From ae6e4c6e56b10efe42ea588f14f6eca5a24af35b Mon Sep 17 00:00:00 2001 From: dkeruza-neo Date: Mon, 15 Sep 2025 15:40:52 -0400 Subject: [PATCH] Super release --- .github/workflows/appimage-build.yml | 21 +- .github/workflows/flatpak-build.yml | 16 +- .github/workflows/linux-build.yml | 21 +- .github/workflows/main.yml | 123 +- .gitignore | 1 + CMakeLists.txt | 37 +- Dockerfile | 27 +- Makefile | 12 +- README.md | 11 +- docs/Controls-Guide.pdf | Bin 0 -> 104274 bytes docs/changelog | 48 +- docs/guide.md | 18 +- docs/lindbergh.conf | 228 - scripts/appimage/build-deps.sh | 56 +- scripts/appimage/install-packages.sh | 8 +- scripts/appimage/make-appimage.sh | 20 +- scripts/appimage/pack-libs.sh | 6 + scripts/appimage/patches/openssl-0.9.7.patch | 13 - .../flatpak/com.github.lindberghloader.yml | 244 +- src/lindbergh/{baseboard.c => baseBoard.c} | 14 +- src/lindbergh/{baseboard.h => baseBoard.h} | 6 +- src/lindbergh/blitStretching.c | 158 + src/lindbergh/blitStretching.h | 16 + src/lindbergh/{card_reader.c => cardReader.c} | 48 +- src/lindbergh/{card_reader.h => cardReader.h} | 1 + src/lindbergh/config.c | 1894 +- src/lindbergh/config.h | 71 +- src/lindbergh/configIni.c | 198 + src/lindbergh/configIni.h | 6 + src/lindbergh/config_file.c | 205 - src/lindbergh/config_file.h | 45 - src/lindbergh/controlIniGen.c | 397 + src/lindbergh/controlIniGen.h | 8 + src/lindbergh/customCursor.c | 171 + src/lindbergh/customCursor.h | 13 + src/lindbergh/customcursor.c | 229 - src/lindbergh/customcursor.h | 7 - src/lindbergh/{driveboard.c => driveBoard.c} | 2 +- src/lindbergh/{driveboard.h => driveBoard.h} | 0 src/lindbergh/eeprom.c | 8 +- .../{eeprom_settings.c => eepromSettings.c} | 26 +- .../{eeprom_settings.h => eepromSettings.h} | 0 src/lindbergh/{evdevinput.c => evdevInput.c} | 502 +- src/lindbergh/{evdevinput.h => evdevInput.h} | 7 +- src/lindbergh/flowControl.c | 268 + src/lindbergh/flowControl.h | 15 + src/lindbergh/{fps_limiter.c => fpsLimiter.c} | 29 +- src/lindbergh/{fps_limiter.h => fpsLimiter.h} | 8 +- src/lindbergh/gameControllerMappings.c | 2583 ++ src/lindbergh/gameControllerMappings.h | 1 + src/lindbergh/gameData.c | 96 + src/lindbergh/gameData.h | 31 + src/lindbergh/glutHooks.c | 369 + src/lindbergh/gluthooks.c | 504 - src/lindbergh/glxHooks.c | 171 + src/lindbergh/glxhooks.c | 418 - src/lindbergh/{gpuvendor.c => gpuVendor.c} | 11 +- src/lindbergh/{gpuvendor.h => gpuVendor.h} | 0 src/lindbergh/hook.c | 665 +- src/lindbergh/hook.h | 24 + src/lindbergh/iniParser.c | 228 + src/lindbergh/iniParser.h | 29 + src/lindbergh/input.c | 977 - src/lindbergh/input.h | 4 - src/lindbergh/jvs.c | 8 +- src/lindbergh/lindbergh.c | 331 +- .../{motionboard.c => motionBoard.c} | 2 +- .../{motionboard.h => motionBoard.h} | 0 src/lindbergh/patch.c | 6191 ++-- src/lindbergh/patch.h | 14 +- src/lindbergh/patchNetwork.c | 217 + src/lindbergh/patchNetwork.h | 10 + src/lindbergh/{pcidata.h => pciData.h} | 0 src/lindbergh/resolution.c | 4030 +-- .../resources/LiberationMono-Regular.h | 29061 ++++++++++++++++ src/lindbergh/{rideboard.c => rideBoard.c} | 13 +- src/lindbergh/{rideboard.h => rideBoard.h} | 0 src/lindbergh/sdlCalls.c | 316 + src/lindbergh/sdlCalls.h | 7 + src/lindbergh/sdlInput.c | 2055 ++ src/lindbergh/sdlInput.h | 223 + src/lindbergh/sdlcalls.c | 217 - src/lindbergh/sdlcalls.h | 2 - .../{securityboard.c => securityBoard.c} | 84 +- .../{securityboard.h => securityBoard.h} | 0 src/lindbergh/shaderCache.c | 858 + src/lindbergh/shaderCache.h | 12 + .../{shader_patches.c => shaderPatches.c} | 1048 +- .../{shader_patches.h => shaderPatches.h} | 35 +- src/lindbergh/shaderWork/2spicy.c | 480 + src/lindbergh/shaderWork/2spicy.h | 5 + .../{shader_work/abc.h => shaderWork/abc.c} | 0 src/lindbergh/shaderWork/abc.h | 7 + src/lindbergh/shaderWork/axa.c | 446 + src/lindbergh/shaderWork/axa.h | 8 + src/lindbergh/shaderWork/common.h | 41 + .../gsevo.h => shaderWork/gsevo.c} | 0 src/lindbergh/shaderWork/gsevo.h | 14 + .../harley.h => shaderWork/harley.c} | 0 src/lindbergh/shaderWork/harley.h | 4 + .../{shader_work/hod4.h => shaderWork/hod4.c} | 144 +- src/lindbergh/shaderWork/hod4.h | 7 + .../hodex.h => shaderWork/hodex.c} | 0 src/lindbergh/shaderWork/hodex.h | 4 + .../hummer.h => shaderWork/hummer.c} | 0 src/lindbergh/shaderWork/hummer.h | 12 + .../{shader_work/id.h => shaderWork/id.c} | 0 src/lindbergh/shaderWork/id.h | 10 + .../{shader_work/lgj.h => shaderWork/lgj.c} | 0 src/lindbergh/shaderWork/lgj.h | 11 + .../{shader_work/mj4.h => shaderWork/mj4.c} | 0 src/lindbergh/shaderWork/mj4.h | 6 + .../{shader_work/or2.h => shaderWork/or2.c} | 0 src/lindbergh/shaderWork/or2.h | 10 + .../primeval.h => shaderWork/primeval.c} | 0 src/lindbergh/shaderWork/primeval.h | 10 + .../rambo.h => shaderWork/rambo.c} | 0 src/lindbergh/shaderWork/rambo.h | 6 + .../rtuned.h => shaderWork/rtuned.c} | 0 src/lindbergh/shaderWork/rtuned.h | 6 + .../{shader_work/srtv.h => shaderWork/srtv.c} | 0 src/lindbergh/shaderWork/srtv.h | 14 + .../{shader_work/vf5.h => shaderWork/vf5.c} | 7 - src/lindbergh/shaderWork/vf5.h | 16 + .../{shader_work/vt3.h => shaderWork/vt3.c} | 0 src/lindbergh/shaderWork/vt3.h | 8 + src/lindbergh/shader_work/2spicy.h | 434 - src/lindbergh/shader_work/common.h | 42 - src/lindbergh/shader_work/hod4sp.h | 162 - src/lindbergh/stb_image.h | 6433 ---- src/lindbergh/touchScreen.c | 179 + src/lindbergh/touchScreen.h | 11 + src/lindbergh/touchscreen.c | 85 - src/lindbergh/touchscreen.h | 6 - src/lindbergh/version.h | 1 + src/lindbergh/x11Hooks.c | 152 + src/lindbergh/x11hooks.c | 257 - 137 files changed, 46210 insertions(+), 18935 deletions(-) create mode 100644 docs/Controls-Guide.pdf delete mode 100644 docs/lindbergh.conf create mode 100755 scripts/appimage/pack-libs.sh delete mode 100644 scripts/appimage/patches/openssl-0.9.7.patch rename src/lindbergh/{baseboard.c => baseBoard.c} (93%) rename src/lindbergh/{baseboard.h => baseBoard.h} (54%) create mode 100644 src/lindbergh/blitStretching.c create mode 100644 src/lindbergh/blitStretching.h rename src/lindbergh/{card_reader.c => cardReader.c} (84%) rename src/lindbergh/{card_reader.h => cardReader.h} (96%) create mode 100644 src/lindbergh/configIni.c create mode 100644 src/lindbergh/configIni.h delete mode 100644 src/lindbergh/config_file.c delete mode 100644 src/lindbergh/config_file.h create mode 100644 src/lindbergh/controlIniGen.c create mode 100644 src/lindbergh/controlIniGen.h create mode 100644 src/lindbergh/customCursor.c create mode 100644 src/lindbergh/customCursor.h delete mode 100644 src/lindbergh/customcursor.c delete mode 100644 src/lindbergh/customcursor.h rename src/lindbergh/{driveboard.c => driveBoard.c} (99%) rename src/lindbergh/{driveboard.h => driveBoard.h} (100%) rename src/lindbergh/{eeprom_settings.c => eepromSettings.c} (95%) rename src/lindbergh/{eeprom_settings.h => eepromSettings.h} (100%) rename src/lindbergh/{evdevinput.c => evdevInput.c} (74%) rename src/lindbergh/{evdevinput.h => evdevInput.h} (87%) create mode 100644 src/lindbergh/flowControl.c create mode 100644 src/lindbergh/flowControl.h rename src/lindbergh/{fps_limiter.c => fpsLimiter.c} (70%) rename src/lindbergh/{fps_limiter.h => fpsLimiter.h} (76%) create mode 100644 src/lindbergh/gameControllerMappings.c create mode 100644 src/lindbergh/gameControllerMappings.h create mode 100644 src/lindbergh/gameData.c create mode 100644 src/lindbergh/gameData.h create mode 100644 src/lindbergh/glutHooks.c delete mode 100644 src/lindbergh/gluthooks.c create mode 100644 src/lindbergh/glxHooks.c delete mode 100644 src/lindbergh/glxhooks.c rename src/lindbergh/{gpuvendor.c => gpuVendor.c} (88%) rename src/lindbergh/{gpuvendor.h => gpuVendor.h} (100%) create mode 100644 src/lindbergh/hook.h create mode 100644 src/lindbergh/iniParser.c create mode 100644 src/lindbergh/iniParser.h delete mode 100644 src/lindbergh/input.c delete mode 100644 src/lindbergh/input.h rename src/lindbergh/{motionboard.c => motionBoard.c} (86%) rename src/lindbergh/{motionboard.h => motionBoard.h} (100%) create mode 100644 src/lindbergh/patchNetwork.c create mode 100644 src/lindbergh/patchNetwork.h rename src/lindbergh/{pcidata.h => pciData.h} (100%) create mode 100644 src/lindbergh/resources/LiberationMono-Regular.h rename src/lindbergh/{rideboard.c => rideBoard.c} (98%) rename src/lindbergh/{rideboard.h => rideBoard.h} (100%) create mode 100644 src/lindbergh/sdlCalls.c create mode 100644 src/lindbergh/sdlCalls.h create mode 100644 src/lindbergh/sdlInput.c create mode 100644 src/lindbergh/sdlInput.h delete mode 100644 src/lindbergh/sdlcalls.c delete mode 100644 src/lindbergh/sdlcalls.h rename src/lindbergh/{securityboard.c => securityBoard.c} (57%) rename src/lindbergh/{securityboard.h => securityBoard.h} (100%) create mode 100644 src/lindbergh/shaderCache.c create mode 100644 src/lindbergh/shaderCache.h rename src/lindbergh/{shader_patches.c => shaderPatches.c} (53%) rename src/lindbergh/{shader_patches.h => shaderPatches.h} (61%) create mode 100644 src/lindbergh/shaderWork/2spicy.c create mode 100644 src/lindbergh/shaderWork/2spicy.h rename src/lindbergh/{shader_work/abc.h => shaderWork/abc.c} (100%) create mode 100644 src/lindbergh/shaderWork/abc.h create mode 100644 src/lindbergh/shaderWork/axa.c create mode 100644 src/lindbergh/shaderWork/axa.h create mode 100644 src/lindbergh/shaderWork/common.h rename src/lindbergh/{shader_work/gsevo.h => shaderWork/gsevo.c} (100%) create mode 100644 src/lindbergh/shaderWork/gsevo.h rename src/lindbergh/{shader_work/harley.h => shaderWork/harley.c} (100%) create mode 100644 src/lindbergh/shaderWork/harley.h rename src/lindbergh/{shader_work/hod4.h => shaderWork/hod4.c} (63%) create mode 100644 src/lindbergh/shaderWork/hod4.h rename src/lindbergh/{shader_work/hodex.h => shaderWork/hodex.c} (100%) create mode 100644 src/lindbergh/shaderWork/hodex.h rename src/lindbergh/{shader_work/hummer.h => shaderWork/hummer.c} (100%) create mode 100644 src/lindbergh/shaderWork/hummer.h rename src/lindbergh/{shader_work/id.h => shaderWork/id.c} (100%) create mode 100644 src/lindbergh/shaderWork/id.h rename src/lindbergh/{shader_work/lgj.h => shaderWork/lgj.c} (100%) create mode 100644 src/lindbergh/shaderWork/lgj.h rename src/lindbergh/{shader_work/mj4.h => shaderWork/mj4.c} (100%) create mode 100644 src/lindbergh/shaderWork/mj4.h rename src/lindbergh/{shader_work/or2.h => shaderWork/or2.c} (100%) create mode 100644 src/lindbergh/shaderWork/or2.h rename src/lindbergh/{shader_work/primeval.h => shaderWork/primeval.c} (100%) create mode 100644 src/lindbergh/shaderWork/primeval.h rename src/lindbergh/{shader_work/rambo.h => shaderWork/rambo.c} (100%) create mode 100644 src/lindbergh/shaderWork/rambo.h rename src/lindbergh/{shader_work/rtuned.h => shaderWork/rtuned.c} (100%) create mode 100644 src/lindbergh/shaderWork/rtuned.h rename src/lindbergh/{shader_work/srtv.h => shaderWork/srtv.c} (100%) create mode 100644 src/lindbergh/shaderWork/srtv.h rename src/lindbergh/{shader_work/vf5.h => shaderWork/vf5.c} (97%) create mode 100644 src/lindbergh/shaderWork/vf5.h rename src/lindbergh/{shader_work/vt3.h => shaderWork/vt3.c} (100%) create mode 100644 src/lindbergh/shaderWork/vt3.h delete mode 100644 src/lindbergh/shader_work/2spicy.h delete mode 100644 src/lindbergh/shader_work/common.h delete mode 100644 src/lindbergh/shader_work/hod4sp.h delete mode 100644 src/lindbergh/stb_image.h create mode 100644 src/lindbergh/touchScreen.c create mode 100644 src/lindbergh/touchScreen.h delete mode 100644 src/lindbergh/touchscreen.c delete mode 100644 src/lindbergh/touchscreen.h create mode 100644 src/lindbergh/x11Hooks.c delete mode 100644 src/lindbergh/x11hooks.c diff --git a/.github/workflows/appimage-build.yml b/.github/workflows/appimage-build.yml index 9c92976..a4b46a5 100644 --- a/.github/workflows/appimage-build.yml +++ b/.github/workflows/appimage-build.yml @@ -2,7 +2,6 @@ name: 🐧 Linux AppImage on: workflow_call: - workflow_dispatch: jobs: linux-appimage: @@ -10,9 +9,14 @@ jobs: runs-on: ubuntu-22.04 timeout-minutes: 30 steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download version.h artifact + uses: actions/download-artifact@v4 with: - fetch-depth: 0 + name: version-file + path: src/lindbergh/ - name: Install Packages run: scripts/appimage/install-packages.sh @@ -20,6 +24,9 @@ jobs: - name: Build Deps run: scripts/appimage/build-deps.sh + - name: Pack Libs + run: scripts/appimage/pack-libs.sh + - name: Compile Build shell: bash run: | @@ -31,3 +38,11 @@ jobs: with: name: "linux-appimage" path: "lindbergh-loader.AppImage" + + - name: Upload SDL3 and FAudio + uses: actions/upload-artifact@v4 + with: + name: SDL3-FAudio + path: | + libs/libs.tar + libs/includes.tar diff --git a/.github/workflows/flatpak-build.yml b/.github/workflows/flatpak-build.yml index e17a7f9..e2d4735 100644 --- a/.github/workflows/flatpak-build.yml +++ b/.github/workflows/flatpak-build.yml @@ -14,10 +14,20 @@ jobs: options: --privileged timeout-minutes: 60 steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download version.h artifact + uses: actions/download-artifact@v4 with: - fetch-depth: 0 - set-safe-directory: ${{ env.GITHUB_WORKSPACE }} + name: version-file + path: src/lindbergh/ + + - name: Download SDL3 libs + uses: actions/download-artifact@v4 + with: + name: SDL3-FAudio + path: libs/ # Work around container ownership issue - name: Set Safe Directory diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index d424499..cfdbd47 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -2,19 +2,26 @@ name: Build and Release Lindbergh on: workflow_call: - workflow_dispatch: - -permissions: - contents: write jobs: build-and-release: runs-on: ubuntu-latest steps: - # Checkout the repository - - name: Checkout repository - uses: actions/checkout@v3 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download version.h artifact + uses: actions/download-artifact@v4 + with: + name: version-file + path: src/lindbergh/ + + - name: Download SDL3 libs + uses: actions/download-artifact@v4 + with: + name: SDL3-FAudio + path: libs/ # Set up Docker Buildx - name: Set up Docker Buildx diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ecdd584..5294f7f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,14 +4,14 @@ on: workflow_dispatch: pull_request: branches: - - master + - main paths-ignore: - '**.md' - '.github/ISSUE_TEMPLATE/*' - '.docs/changelog' push: branches: - - master + - main paths-ignore: - '**.md' - '.github/ISSUE_TEMPLATE/*' @@ -19,49 +19,22 @@ on: - '.github/workflows/*' jobs: - linux-build: - name: 💻 Linux - uses: "./.github/workflows/linux-build.yml" - linux-flatpak: - name: 📦 Linux Flatpak - uses: "./.github/workflows/flatpak-build.yml" - linux-appimage: - name: 📦 Linux AppImage - uses: "./.github/workflows/appimage-build.yml" - - create-release: - name: 📤 Create Release - needs: [linux-build, linux-flatpak, linux-appimage] + prepare-source: + name: ⚙️ Prepare Source runs-on: ubuntu-22.04 - if: github.event_name == 'push' && github.ref == 'refs/heads/master' + outputs: + release_version: ${{ steps.get_version.outputs.RELEASE_VERSION }} + release_tag: ${{ steps.get_version.outputs.RELEASE_TAG }} steps: - # Step 1: Checkout the code to access Git history and tags - name: Checkout code uses: actions/checkout@v4 - with: - # Fetch all history and tags, necessary for git tag command - fetch-depth: 0 - # Step 2: Download artifacts from previous build jobs - - name: Download Artifacts - uses: actions/download-artifact@v4 - with: - path: ./artifacts/ - - # Optional: Display downloaded artifacts for debugging - - name: Display Downloaded Artifacts - run: find ./artifacts/ - - # Step 3: Extract the latest version from changelog.md - - name: Extract Version from Changelog + - name: Extract Version and Update version.h id: get_version run: | - # Define the path to the changelog file (adjust if it's not at the root) CHANGELOG_FILE="./docs/changelog" + VERSION_FILE="src/lindbergh/version.h" - echo "Attempting to extract version from $CHANGELOG_FILE..." - - # Check if the changelog file exists if [[ ! -f "$CHANGELOG_FILE" ]]; then echo "Error: Changelog file '$CHANGELOG_FILE' not found." exit 1 @@ -77,26 +50,76 @@ jobs: echo "Found version: $VERSION" - # Set environment variables for the release step - # RELEASE_TAG often includes a 'v' prefix, RELEASE_VERSION is the plain version - echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV - echo "RELEASE_TAG=v$VERSION" >> $GITHUB_ENV # Add 'v' prefix for the tag - echo "Using tag: v$VERSION" + MAJOR=$(echo $VERSION | cut -d. -f1) + MINOR=$(echo $VERSION | cut -d. -f2) + UPDATE=$(echo $VERSION | cut -d. -f3) + + if [ -z "$UPDATE" ]; then + UPDATE=0 + fi + + if [[ ! -f "$VERSION_FILE" ]]; then + echo "Error: Version file '$VERSION_FILE' not found." + exit 1 + fi + + sed -i "s/\(#define MAJOR_VERSION \).*/\1$MAJOR/" "$VERSION_FILE" + sed -i "s/\(#define MINOR_VERSION \).*/\1$MINOR/" "$VERSION_FILE" + sed -i "s/\(#define UPDATE_VERSION \).*/\1$UPDATE/" "$VERSION_FILE" + + echo "Updated $VERSION_FILE with version $MAJOR.$MINOR.$UPDATE" + + echo "RELEASE_VERSION=$VERSION" >> $GITHUB_OUTPUT + echo "RELEASE_TAG=v$VERSION" >> $GITHUB_OUTPUT + + - name: Upload version.h artifact + uses: actions/upload-artifact@v4 + with: + name: version-file + path: src/lindbergh/version.h + + linux-appimage: + name: 📦 Linux AppImage + needs: prepare-source + uses: "./.github/workflows/appimage-build.yml" + + linux-build: + name: 💻 Linux + needs: [prepare-source, linux-appimage] + uses: "./.github/workflows/linux-build.yml" + + linux-flatpak: + name: 📦 Linux Flatpak + needs: [prepare-source, linux-appimage] + uses: "./.github/workflows/flatpak-build.yml" + + create-release: + name: 📤 Create Release + needs: [linux-build, linux-flatpak, linux-appimage, prepare-source] + runs-on: ubuntu-22.04 + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Download Artifacts + uses: actions/download-artifact@v4 + with: + path: ./artifacts/ + + - name: Display Downloaded Artifacts + run: find ./artifacts/ - # Step 4: Create the release using the calculated tag - name: Create Release uses: "marvinpinto/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" - # Use the environment variable set in the previous step - # automatic_release_tag: ${{ env.NEXT_TAG }} - automatic_release_tag: ${{ env.RELEASE_TAG }} - # Keep prerelease as false unless you want preview releases + automatic_release_tag: ${{ needs.prepare-source.outputs.release_tag }} prerelease: false - # Update the title to use the new tag - # title: "Build ${{ env.NEXT_TAG }}" - title: "Build ${{ env.RELEASE_TAG }}" + title: "Build ${{ needs.prepare-source.outputs.release_tag }}" files: | ./artifacts/linux-flatpak/lindbergh-loader.flatpak ./artifacts/linux-build/build.tar.gz - ./artifacts/linux-appimage/lindbergh-loader.AppImage + ./artifacts/linux-appimage/lindbergh-loader.AppImage \ No newline at end of file diff --git a/.gitignore b/.gitignore index 32682cd..05d8236 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ tmp/ *.bin /*.conf src/lindbergh/*.o +src/lindbergh/shaderWork/*.o src/libxdiff/xdiff/*.o src/libxdiff/*.a src/libkswapapi/*.o diff --git a/CMakeLists.txt b/CMakeLists.txt index 17caed7..e30f256 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,27 +12,28 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build) # Source files for various targets -file(GLOB LIND_OBJS "src/lindbergh/*.c") +file(GLOB LIND_OBJS "src/lindbergh/*.c" "src/lindbergh/shaderWork/*.c") list(FILTER LIND_OBJS EXCLUDE REGEX "src/lindbergh/lindbergh.c") file(GLOB XDIFF_SRCS "src/libxdiff/xdiff/*.c") # Custom compiler and linker flags -set(LINDBERGH_EXE -m32) +set(LINDBERGH_EXE -m32 -DCOMPILING_LINDBERGH_ELF) set(LINDBERGH_C_FLAGS -g -fPIC -m32 -Wall -Werror -Wno-unused-variable -Wno-unused-function -D_GNU_SOURCE) #SET(CMAKE_C_FLAGS_DEBUG -g) SET(CMAKE_C_FLAGS_RELEASE -O3) -set(LINDBERGH_CXX_FLAGS ${LINDBERGH_C_FLAGS} -std=c++11) set(LIBXDIFF_C_FLAGS -DHAVE_CONFIG_H -fPIC -m32) -set(LIBSEGAAPI_CXX_FLAGS -m32 -fPIC -shared) -set(LIBSEGAAPI_LINKER_FLAGS -m32 -lFAudio) -set(SHARED_LINKER_FLAGS -m32 -Wl,-z,defs -rdynamic -static-libstdc++ -static-libgcc -lc -ldl -lGL -lglut -lX11 -lXcursor -lSDL2 -lm -lpthread -shared -lstdc++ -nostdlib -lasound) +set(LIBSEGAAPI_C_FLAGS -m32 -fPIC -shared) +set(LIBSEGAAPI_LINKER_FLAGS -m32 -Wl,-Bstatic -lFAudio -Wl,-Bdynamic -lm) +set(SHARED_LINKER_FLAGS -m32 -Wl,-z,defs -rdynamic -static-libstdc++ -static-libgcc -lc -ldl -lGL -lglut -lX11 -lXcursor -lSDL3 -lSDL3_ttf -lSDL3_image -ludev -lm -lpthread -shared -lstdc++ -nostdlib) # Build executable for lindbergh -add_executable(lindyloader src/lindbergh/lindbergh.c src/lindbergh/evdevinput.c src/lindbergh/evdevinput.h src/lindbergh/log.c src/lindbergh/log.h src/lindbergh/jvs.c src/lindbergh/jvs.h src/lindbergh/config.h src/lindbergh/config.c) +add_executable(lindyloader src/lindbergh/lindbergh.c src/lindbergh/iniParser.c src/lindbergh/sdlInput.c src/lindbergh/controlIniGen.c src/lindbergh/log.c src/lindbergh/jvs.c src/lindbergh/config.c src/lindbergh/evdevInput.c src/lindbergh/gameData.c src/lindbergh/configIni.c) set_target_properties(lindyloader PROPERTIES OUTPUT_NAME "lindbergh") -set_target_properties(lindyloader PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} LINK_FLAGS "-m32 -lm") +# set_target_properties(lindyloader PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} LINK_FLAGS "-m32 -lm -lSDL3") target_compile_options(lindyloader PRIVATE ${LINDBERGH_EXE}) +# target_link_libraries(lindyloader "-m32 -lm -sdl3") +target_link_libraries(lindyloader PRIVATE lindbergh m SDL3) # Build static library libxdiff.a with its own flags add_library(xdiff STATIC ${XDIFF_SRCS}) @@ -43,12 +44,12 @@ target_compile_options(xdiff PRIVATE ${LIBXDIFF_C_FLAGS}) add_library(lindbergh SHARED ${LIND_OBJS}) set_target_properties(lindbergh PROPERTIES PREFIX "") target_link_libraries(lindbergh xdiff ${SHARED_LINKER_FLAGS}) -target_compile_options(lindbergh PRIVATE ${LINDBERGH_EXE}) +target_compile_options(lindbergh PRIVATE ${LINDBERGH_C_FLAGS}) # Build shared library libsegaapi.so add_library(segaapi SHARED src/libsegaapi/libsegaapi.c) -target_link_libraries(segaapi FAudio ${LIBSEGAAPI_LINKER_FLAGS}) -target_compile_options(segaapi PRIVATE ${LIBSEGAAPI_CXX_FLAGS}) +target_link_libraries(segaapi ${LIBSEGAAPI_LINKER_FLAGS}) +target_compile_options(segaapi PRIVATE ${LIBSEGAAPI_C_FLAGS}) # Build shared library libkswapapi.so add_library(kswapapi SHARED src/libkswapapi/libkswapapi.c) @@ -63,12 +64,10 @@ add_custom_command(TARGET posixtime POST_BUILD COMMAND ln -s -f libposixtime.so ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libposixtime.so.2.4) target_compile_options(posixtime PRIVATE ${LINDBERGH_C_FLAGS}) -# Custom clean rule -add_custom_target(cleanall - COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/build - COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/src/lindbergh/*.o - COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/src/libsegaapi/*.o - COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/src/libkswapapi/*.o - COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/src/libxdiff/*.a - COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/src/libxdiff/xdiff/*.o +# Example: List of extra files and directories to remove during 'make clean' +set(MY_EXTRA_CLEAN_STUFF + "${CMAKE_BINARY_DIR}/build/libposixtime.so.1" # A specific log file + "${CMAKE_BINARY_DIR}/build/libposixtime.so.2.4" # A directory with generated reports ) + +set_directory_properties(PROPERTIES ADDITIONAL_CLEAN_FILES "${MY_EXTRA_CLEAN_STUFF}") diff --git a/Dockerfile b/Dockerfile index 50d95fd..296ca3a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,9 +5,27 @@ RUN dpkg --add-architecture i386 \ && apt install -y --no-install-recommends \ build-essential \ gcc-multilib \ + g++-multilib \ + cmake \ + fuse \ freeglut3-dev:i386 \ - libsdl2-dev:i386 \ libfaudio-dev:i386 \ + libvdpau1:i386 \ + libstdc++5:i386 \ + libxmu6:i386 \ + libpcsclite1:i386 \ + libncurses5:i386 \ + unzip \ + libudev-dev:i386 \ + zlib1g:i386 \ + libgpg-error0:i386 \ + libxcursor-dev:i386 \ + libxfixes-dev:i386 \ + libxi-dev:i386 \ + libxrandr-dev:i386 \ + libxss-dev:i386 \ + libxxf86vm-dev:i386 \ + git \ && apt clean \ && rm -rf /var/lib/apt/lists/* @@ -15,5 +33,10 @@ WORKDIR /lindbergh-loader COPY . . +RUN ls + +RUN tar -xf libs/libs.tar -C /usr/lib/i386-linux-gnu +RUN tar -xf libs/includes.tar -C /usr/include + # Explicitly set the output directory -RUN make && mkdir -p /output && cp -r ./build /output +RUN make && mkdir -p /output && cp -r ./build /output \ No newline at end of file diff --git a/Makefile b/Makefile index bdb05b4..9893fdb 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ CC ?= gcc CFLAGS = -g -fPIC -m32 -pthread -Wall -Werror -Wno-misleading-indentation -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unused-function -D_GNU_SOURCE -Wno-char-subscripts CXX ?= g++ LD = $(CXX) -LDFLAGS = -m32 -Wl,-z,defs -rdynamic -static-libgcc -lc -ldl -lGL -lglut -lX11 -lXcursor -lSDL2 -lm -lpthread -shared -nostdlib -lasound -L./src/libxdiff -lxdiff -L/app/lib32 +LDFLAGS = -m32 -Wl,-z,defs -rdynamic -static-libgcc -lc -ldl -lGL -lglut -lX11 -lXcursor -lSDL3 -lSDL3_image -lSDL3_ttf -lm -ludev -lpthread -shared -nostdlib -L./src/libxdiff -lxdiff -L/app/lib32 BUILD = build @@ -12,13 +12,15 @@ XDIFF_SRCS = xdiffi.c xprepare.c xpatchi.c xmerge3.c xemit.c xmissing.c xutils.c XDIFF_OBJS = $(patsubst %.c,src/libxdiff/xdiff/%.o,$(XDIFF_SRCS)) OBJS := $(patsubst %.c,%.o,$(wildcard src/lindbergh/*.c)) +OBJS := $(patsubst %.c,%.o,$(wildcard src/lindbergh/shaderWork/*.c)) $(OBJS) + OBJS := $(filter-out src/lindbergh/lindbergh.o, $(OBJS)) all: lindbergh libxdiff.a lindbergh.so libsegaapi.so libkswapapi.so libposixtime.so -lindbergh: src/lindbergh/lindbergh.c src/lindbergh/log.c src/lindbergh/log.h src/lindbergh/jvs.c src/lindbergh/jvs.h src/lindbergh/config.h src/lindbergh/config.c src/lindbergh/evdevinput.h src/lindbergh/evdevinput.c +lindbergh: src/lindbergh/lindbergh.c src/lindbergh/iniParser.c src/lindbergh/sdlInput.c src/lindbergh/controlIniGen.c src/lindbergh/log.c src/lindbergh/jvs.c src/lindbergh/config.c src/lindbergh/evdevInput.c src/lindbergh/gameData.c src/lindbergh/configIni.c mkdir -p $(BUILD) - $(CC) -m32 src/lindbergh/lindbergh.c src/lindbergh/log.h src/lindbergh/log.c src/lindbergh/jvs.h src/lindbergh/jvs.c src/lindbergh/config.h src/lindbergh/config.c src/lindbergh/evdevinput.c src/lindbergh/evdevinput.h -o $(BUILD)/lindbergh -lm + $(CC) -m32 -DCOMPILING_LINDBERGH_ELF src/lindbergh/lindbergh.c src/lindbergh/iniParser.c src/lindbergh/sdlInput.c src/lindbergh/controlIniGen.c src/lindbergh/log.c src/lindbergh/jvs.c src/lindbergh/config.c src/lindbergh/evdevInput.c src/lindbergh/gameData.c src/lindbergh/configIni.c -o $(BUILD)/lindbergh -lm -lSDL3 -L/app/lib32 libxdiff.a: $(XDIFF_OBJS) mkdir -p $(BUILD) @@ -35,7 +37,7 @@ lindbergh.so: $(OBJS) $(CC) $(CFLAGS) -c $< -o $@ libsegaapi.so: src/libsegaapi/libsegaapi.o - $(CC) -m32 -O0 -g src/libsegaapi/libsegaapi.c -lFAudio -L/app/lib32 -fPIC -shared -o $(BUILD)/libsegaapi.so + $(CC) -m32 -O0 -g src/libsegaapi/libsegaapi.c -Wl,-Bstatic -lFAudio -Wl,-Bdynamic -L/app/lib32 -fPIC -shared -o $(BUILD)/libsegaapi.so libkswapapi.so: src/libkswapapi/libkswapapi.o $(CC) -m32 src/libkswapapi/libkswapapi.o -fPIC -shared -o $(BUILD)/libkswapapi.so @@ -51,12 +53,14 @@ clean: rm -f $(BUILD)/libsegaapi.so rm -f $(BUILD)/lindbergh rm -f src/lindbergh/*.o + rm -f src/lindbergh/shaderWork/*.o rm -f src/libsegaapi/*.o #clean all rule cleanall: rm -rf $(BUILD) rm -f src/lindbergh/*.o + rm -f src/lindbergh/shaderWork/*.o rm -f src/libsegaapi/*.o rm -f src/libkswapapi/*.o rm -f src/libxdiff/*.a diff --git a/README.md b/README.md index dc5d520..4db0e33 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Actions Status](https://github.com/lindbergh-loader/lindbergh-loader/actions/workflows/main.yml/badge.svg)](https://github.com/lindbergh-loader/lindbergh-loader/actions) +[![Actions Status](https://github.com/lindbergh-loader/lindbergh-loader/actions/workflows/ci.yml/badge.svg)](https://github.com/lindbergh-loader/lindbergh-loader/actions) # SEGA Lindbergh Emulator @@ -10,13 +10,16 @@ If you need any help please ask the community in the [arcade community discord]( ## Building & Running -In order to build the loader you will need to install the following dependencies in a Linux environment. We recommend Ubuntu 22.04 LTS as default, but it may work in various configurations like WSL2, Debian, etc. +In order to build the loader you will need to install the following dependencies in a Linux environment. We recommend Ubuntu 22.04 LTS, but it will run in almost any modern distro using the AppImage or the Flatpak.. Please note other dependencies might be required to run games (see the [guide](docs/guide.md)). ```shell sudo dpkg --add-architecture i386 sudo apt update -sudo apt install git build-essential gcc-multilib freeglut3-dev:i386 libsdl2-dev:i386 libfaudio-dev:i386 +sudo apt install build-essential gcc-multilib g++-multilib cmake fuse freeglut3-dev:i386 libvdpau1:i386 libstdc++5:i386 libxmu6:i386 \ + libpcsclite1:i386 libncurses5:i386 unzip libsndio-dev libsndio-dev:i386 pulseaudio-utils:i386 zlib1g:i386 libgpg-error0:i386 \ + libasound2 libasound2-dev libasound2:i386 libasound2-dev:i386 libfreetype6-dev:i386 libdbus-1-dev libpulse-dev libdbus-1-dev:i386 \ + libudev-dev:i386 libxcursor-dev:i386 libxfixes-dev:i386 libxi-dev:i386 libxrandr-dev:i386 libxss-dev:i386 libxxf86vm-dev:i386 git ``` This emulator will need access to the input devices and serial devices on your computer. You should add your user account to the following groups and then _restart your computer_. @@ -30,9 +33,11 @@ Then you should clone the repository, change directory into it and run make. ```shell git clone git@github.com:lindbergh-loader/lindbergh-loader.git cd lindbergh-loader +./scripts/appimage/build-deps.sh make ``` + You should then copy the contents of the build directory to your game directory and run `./lindbergh` for the game, or `./lindbergh -t` for test mode. Please note you might need to set the game executable as "executable" using `chmod +x`. ```shell diff --git a/docs/Controls-Guide.pdf b/docs/Controls-Guide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6c139b0223c32467e6a735e0d9cb27fc418b72fc GIT binary patch literal 104274 zcmaIcQ;aT5)F$lRyKURHZQHi(?x$_LciXmY+qP}noOkk1^8Ir%CzVQSrS5}DDpe~N zse*_YEh8NZ6zSsS`92gQ0Rw@(krfmV550<|vyCYMg{+~qDS?v#>t+* z*3{0~(%z21*}~BIzrmD1K}JwhREfYIU}6fOqobpQqE`Ueo46R80thIStt}1d{|h0o zWn^I_5VyBC|8G|jdt)a8B~!cq>P-QZe0)&Dwl3W4fFRpyv3?~P2&F?4*K~qM9}+X|6uz$(?87iemxw2@c%rV!tZ`3 z=>2^0;~za<9Yi(a=>I&7!ux&PZHAGP(ErAouTAFOMPL4=<=$`CZcV=K`n_hx_WlI- z{@xAB=koc!onMCC_5`Cp(Chy`^-t5kLmx)At|+>{Q^kIPYAR=a9Uouz_ITUVCgbb% z{A_~b|C3hKo6zHTcv?ILR*!D%Klp5gze0C=C&0c9atXM>_wMlBtF9+K=zj$Fe&2gs z&92q#y65ans#t~1g5#@5ODdo)_Dm{t*Ue)m)V?h2rQi1Dd?Aj>8Xy1E_?_5CcU6HA zy^N}yo$%?hV;Ju>9DLE_^wW(nUI&$qIjyy+#)FTd+j#fRo?gwR2Ll)tE|LzUzKg#t zJ}b_OthTLpQ7bi*K96X1fe6k02;z7i)nSXhm4@qwK z)O&fYn=ko*ahV{=C;vZYwE2L_w2H{1#tqn}8pIJjfa!>^k2+ zly3fYN^2nz8#V0#&*k6cgAjzP;IV_ev2|disY%ke&e*O!MqXkCAzi6`rP%4rrOdn) zewm2mmlcY;dx@upoC(Fjj4zXm9)E}zJ5fEwKx7ld@TYr=aEl9ecI z7u)1P;g-G!ZR&D$0h0lwOC&E--Gz`|{*hnlv6vdgZou83wGvvT04 zexiG>rX&(V@WtwAIgZ4`PaNlnaASD)ryiT0Et9Ze$i2-5K;O-sk(|hKW^@`!Fp@Tu z^JRdmF7%u@et;dJ@cXgLCf54H3q8Df=)Qww@VBjNu*E@+WLvk_fTJ`q&!@y2?IRD~ zI$fdE?@7jUNU2mUx}l~zys9~;#TqC{wAm2LBH39{>S;d6eK%{ZE4k72&TmEO2@CaO zbLjb=>45}WL@ONn`{-e$WpPaX5tEgw*%P%ZbPif^*#KvVN}m`ghCZy4t%LBRP(px zyY-sUV6%52+yJ%0smMBN7$ek5-Mj8N0ll=>l}Kz2#65sagK+~`UCp4;0HuTWdV#Ep z#`expnI^;4=^Hy99V`N?z->3cO01M{VG(>(pI!qa zfTok(ZXD>owsCzK-PEM2qakl{TU%2>o7^pV_iUS2l3GL@m^F~PA4OaxYVYf#?#Dsr zboI9FEt`GFi^<`9=n}ix0Nxle(B$Ic^WKV+e3po|1*YpQr%|OYNxUayDR9;u?Udtz zAb+qvSOdSP@r5jpRCKl+QKpkefB6#)lmarxy3EOh5))ipwWS6Sn|Z!Lj#(iV2X1-k ztcL*|uy_vkAv})>PcH2ku4Vb_3Q~_$tHSNC3UWWhd9y_%;usoM_z*A_iUjOxdb@v^%5TUtHfN265~D{gyq81bIH1N4CM| z@%yr19JIf&O?+iP5@8PJh8m5;A?)~Rq6T1OizOa_TR+V$Yf(o)XB~=K=5#&xD$RGC~WHW-S=x_L{SRSFI zynb~C9d)aJ={0@?VDY?uFuc{R3JP*lW77>%YXqd*mB;~(WJI>orFMUHK!y1PJHBIX zx2|Lv9b}{)mTiLb=y{gAP*Ty2mpR=`*T?v!z98iMy2Bc&ml_&(f1dU zF?}=IIP^w+M&Fl>b^#SR<;gRvUlpUU^3Tu~O`<&=d?bmxWPH|Uu@GQGPPk>_&IAV~z%@^E^s}zl};M_MgVn#Uak0Vi5hGh-Z>S{of+j-*Rn@ ziZH4T;&X}DItq*D_T#VwUXJXfZt0StO2_NXXS!X}P4p=8#>h0>w5)r&EnN?m3YkG$S<~yZsRXaCqXNx!XykCg>0VvnQ!t*W9rE=%RX^8CM z?3{PJiKG7{G=WKLCa%2*)H6AzI_MUJ+Mdmi40DNpn3lK`B}lYvV_p07_WMrS7444u zYKB_Rw^%A=si9B6{6m8zXgBk9kq8fV8}*!0ckcs$?*ozuI3zFcIRjb(Io=8)1~dD> zg&LIZSr(AZ&on}r%bKOC{R1bNtp}VlM|X9FscaIYZ?J`lc9~M(ZX?A-`H`q8r<+Ns zSXb3ydJ36`KjS>MI*70(bie!T;6*C7!&y)eME!gTFfnk%pB-bO)!<%fYW&$mlC#Sn zDoDoQZK5het>u50-twZU#K>+*fa={_qZ#q`4^so3x9v{_iYPk|H$ zU8d^>m$nsVtW@=GM~~mH5@)p+&4bmXf$UDUR0}34U04iNo11eeVwT;4c1zSLu_6`H zF3_6SA0xL2=OjzebiJ^u$gg)e_IVHChB_{aZ74*~VrL7bDiR~Bq1S-Y|X%^_3eNbBB6TiXWz9xA0S zw5KY=0e6E~ZUyy2Kpl8u7f~js+qfB6s}-l4#=D_!Ik}8#m(FdTjsv~?EAHWeiyuw! zjf~uFZlLM(U)vlHGD8BX=q_^ZfzK$`XYm^5zTG91$S%!$@@G*tmanpRt3wU;v)D6j zU?r;Mc2$W}>9&O)RxlIPg$c@+q>WReVFkOiWv6ECWF75aj6_w5E-lUD2ld^*R|4Nd zH)Q#zG7u6B6|)?G3(vDoA~MAYTOELwRW7SZjJKvgJhE9bXHAW1bzjJzr*q3zw2f${RnubwauPecgc9bINlVUAqj z0=_*gRcxBF?~m}$D9GJxnQQZ0g>%M8%aSHUGx!yosk}H`9c4v^4Af#GA0pP|uMT4M z0YgP=KJ7-BS0!8Wj)2I!qZ_%FvXm=vb!;kCB1yNn%2+N6u2XFo`IIY5(&GfQX|<{8 zuzfyiYVddSTE0OOv=y5L>xFFFII=|4nO4@%A?9jC*dgJq+RyVF+z|x66-7GvmZ1e4 zEZl1x1N>I_kK4V_Guc$oU<+JxUq5$QZc&Z<<#VkVRgqK=*WS1ZfbidPsh=sKAeV;A zf|`#8i<4a~zyHB*6D_V~zYm=|6>39QVL&pB_j`fGFtTjDB++g`e@~)*TRF79D0lWw zWJt%h3R*0aGFFEP71#hKtJ|sjPbuWGrBGpt3Wm;tO{rNjim{}Mn?dyCF`&O^Kpopd z7?X{AG_NCma2>R8=v_1XwU-p;7!}ux;zp-nz}ul!u6|Hj9r!9IF| z3*8d5k$4<2Qelz25=HQ5-zhd`I5kkpE7E-~A@*G1A%67L*CUnGWV42Z^~Huc{8}Iw zdn$p+Dt-aWL;Qv2Sqfj33U0XiOgEv>#bY0G9xK?pw0lH)84*Mu$xH>l5M&C~~KpeNi!J$CsL6%;Buo0!{M4Wy<+)vX+z z4GPwnV~wN9Uec2clpV8q@BEoVu9zK3P7Z5>_lN>B)!13 zkrq)k@vB(GJwaVJ?sDawIYfgXL`JLqSA>C4 zav4s`2Y%MbgWojW-tKR4e{(})1RY3{4hb#)r013^yKDySey`sCB2Vm%@_#-1`TgGN z|GxS8`Mm#3p3>{{#9V=&g`z9Mg=Njs1R3OVzA6X+Cv0PD#lczj^U!?9lj)Ob&h*pD zj4Gl{ljRl3o-^fB3kBZ=gS9%8o%-S_G~f(>#mHXtH^Z%tuWk}xhvD}6 zvUa5r)s0C#N7R~b?e=FkAnoujOe>h!b{g165&^70{Cq4{5K3Jzj>Ja*l@oiGofZA_ zwZ%1W1>8!2X$_WJ5WC5fU=+J7gVM(HWT|SuY3{qilSU+(xxEyf-{hK49Rf?zSBO=t z^hyevMWVp=HZOu>0?j-sw#kkDrQHu9lA6(K?#L}E1!jph7fcG}LTIC5<6dbxx%;Y@ z`S|B?HKhW;D>zhf?Y6_>NRK-?Q1A=&7O+T)5)<&`Da0gCv3`lCxJh61qLa_Ex>w~ix=_}?cgwn?m>~P3K7k( z!Mdjb#Hpqn7zSLIe<;15zjDcBK|wO@nH@46I_M3y++gz0sK zbB*khhbNA*Pc#m)u%}w0wSAge>_N|uKxf0|jZ!=)Wl4%VLF@PF(o1b}-BgR3O;7&m z-Ar#X*@4Hr_ZOWRhENECRgjZ#0ZsF>>9b$YNyPllY=%QYNvH}%gA8m59g3@TO+gc| zMuY+AEu-BjCIiFIsz!OdZzeH^%K8gy^yFR)$Ae=1OjnnJ-l>~xK(ijVIDnNrqd%#X zqR?snp{}r3=R{{UcE4AD>sOX{fdCR*>QWR_s#jtNPK%VL3_uJdk^O-n`rxwHQ9nX2w}^7gf%pMJ}eE5kGu_tK;a1 z3b}=dnu)kCGQiO|BG`25oP#E#e#u6aBy3wUVgYD-Q@x#53{MJLvj_c zyoTQT9ASQjtYdvlWtipT-|wJ>o5%m*2Ng|Q`_GvuJf*Qg5++;EDX57=mxc@;Hl>2EST@T2gu5=VY=Oi?S z@WPV+@9Y-#3pT=^OdPAP-gE4sN|Nyz)-@z&p{;4!A06;0$qs?B&pnH|sU^ zRCL|cI@PuY+Z-1(w-ym`=tw&``#!F^%~WVVFg9xexsf4eq#cY@b&yw&bV@+1R*w`u zLNmn$3Qx(u1?f@tBDkSQ`5m8r1?r!mw}7>5KIgf9+}{`;<{jsbCT6O2ac1od9JLF* zA4Pjb1S|iyGV)!`3~?*DCfTygOUtBEU8IpNPTtL|q69nGhnNueT&ziDzj`w^%Yx6= zExDjOpelgkr|s(C7eWjnonD6cGY$wR6hk_=q#KW2P>!vt%(7CIRXtQew|+8^^I zL0pBiwoS}{+TeI~1?<6(&suT8Mt-ml*J}Qj6-`OvSKc)oIATmR9IobFn26nS}^}?dUqJRXz6WgvYHZi(;R=DfS4dHXm3Vu(?eB3ef+Ctn3w-H5Au3$R! z4!HttT_-nxa7u3DeEMku2)DQoxJ;NQWYaJWeVV`lzs1x4wTg*20c|xynB5B%Sa{-t zmVV>;4n0F#$mD&!$7+5v`gG$qSB}K?0QI>C`zc_8^3=VA2@8uhT8Lb_N|Y zjuP4nD6BT+z{Gi+5OcM5$SMJdD`R`!dWG!n9B}am8Doba*VK8Yp8FJ;hb?| zNLi7!y=O5FVPm*56-5darfrd-HH}3zCuAS&)rf9P0&iU z62GzUa(j2>Mk1Wh3AXR{B2Ns-gO|p@sN*txm?*C^BHS#W`3K+gZ^Y>@CnCmTB1D7o zA#Pw2fNE4r?Y-Mnm0D;=C)7yCprnd~=QSanMVqCwGb4sL(R2-=QPn)*mV{Rw4rHe? zMBL?XXdzFMtjRg%oSa84dF9J@I6EM4L*0YyXg&(N7Y+MFU zs!`+GIlKuEmnQzPe4K`hSU#|N(ZoP6J1h-EZ)pf{J4?#(m^0J&+7xDHxWX@Fx#OyV zyz8tON?k9}{32gmR$S669$`@UK4rsloep7qkN)ozpepvvT5g7WPBT&F0D)F5x?2@p zQAH66He)XJHX$66*QaSKcg%%$0vb^8`nsnSYGuLP38K?X0mKq7)*8%5!YPcLbX`9# zTeF%?x;D)95i681Q>TT+s{X6E*Ma4&jSHCPiB#1ZpoLz5Jy;{(){<_PXo;`2KzgQ= ze?G$W;2t%sWP1PmP{&TLdh6tXFe_6r=7yhRQkf4ZV3PrW-szWU&CVF9=n?OYu3zV4 zb3Q1nAxmRnRDh%TBK4JY>7%LMUag6mL!wD!$}Z_?C)T+gXBIE`=T+Gqg4I1A{O(JY zqrl9mZ`zo?+X1!wD=LesbD8rcf!eCQH~ zj-s7Y#xC!hi!mL{Q(A@|KGuBL+onXEqCdNC*OXW}C?POIUQ4I-%jrF6Kb=1`e^3J5X;B zC)UYP3}JKE3V{=dL)-DxbVd=kYk3bSk|{Z#PWZ*B875mhE3?fX*@VJofEK$1v^)%Y%CStUBhp6L%dFR7Mukg25q(?1>)AK-_gUJ za3ruHM?!Va^2xVmpUc1sLiv(mZ+k4N^`-0CVx<)?m7jee_d^h4)JIBglxuT=janea zvqHv5`k5+wnIV9&gCaU{HRz}bXI>)`Za+c%HJ8xf^!t)|^LRrb?xrVWBaJ_xVxRTn z4Rs%1Ssdc9dyaGNYMn})Oa;pqzRR_MMlXSIV`KL zBjsr3ThYZm`g4DOGv(lMoWIWD4twG7ZZ9^RFYy->TWTduUVf+-(QLr7v3uhD3 zaAi;3WJSYKeyD^GQ!1rdPiFKI%872rAw|(X%W_wbl3}P~1GmiqE^yGD+ich2&$n3uAv+Vik%_m6 zNn|Tk#QF*yuBFvhTFbxO5#KOGqjAWJ?y-9IDfOuaR9GUN&cfXL-+wPixX`ak#dvaMOenlW=g(Snb zmk&xDK!VD&noSUSC$3wDRU5J@OG`KI9rsc{K=)n|}(yggT{>2Bl}8rK4pJUea;?3K|7 ze?v)hiwL<^5pu6Z05N%OvCp|9<~gjdRR&(Fu8~nT822QFJUzb`bq_~(1@AkhNoZBbE--UF4Wj#5{Hv@H>ZHr@JTJvKmK{9nh5_AS* z2U1K}XS8bGXVHyF`M#U;^R1#68jwL%weEHboX3-KlqWKMD~86AMcBHUI}&VS@YXaf z<%7${h;3?D$RlXO$Yi2Mv+B2AJi{OJM^*=ZV9VR4R^8TJMdipStd}F?PM;dFdg+Kr zu!t9Azg}GL(;0Vu+M}u>yc}_@tJ~YE^Z8aMT@EhdJ@$Ar3gWJ8(wQFbm~G9sJ)i9w zGQt@m;s-UiOiyhier&+OPnQ1|+flQLNMzHxH5hZR$XH6$NGk_h+m4Wp^2@+;wu4Ln z>?U0ij62oY8_KY}7cT)SLI}y~wxjue-A} zgX`#6&5vyd?kzQG*)On%8KU(6wg&$P1^gd%!1(`D5C1Pw zz{tqN#_@lV0-wv8YYxE9?<2}7Xy~*wDt(`Uzf&{pkU-Yc|0fDycK;sTKPIm%Bs6L0 zBv9P=ba0!S@#O4mWFkckcdV-46b|?P9^L7ezs3IE_40phf+xCvoPYh^3%@GH^je?6@3 zALjmkP44=>XV$*G|ECY$FH_-j{l4!e-9FA5A{Kl3em>;!w;rnfm}c6QptyhU)ipol z-(<1x;C~Mfb7?_8CP(#uPs1!4XmO-Q^kv|yKACtO`bAQsoGg70u3k5h%_&53r8IJq zHj%BFN|PGBcp_qZ`%{yes?2(m-zA%l9u9#(bMU-BpO4^_8R*<&)ot7+EcN8`I~)7& zq!;`?H|g&P|Cw9u^M~2VE-ToeJLYf>JJL_x-rQ5%P zi|l}@eF-jk?CFdNV;Ek z)z|VQ4v@h$F&w7OzV=eY^cDToA0m{3+wcq{0pBj3&2+CbpxdP9q`y9iDKlmXOW6_J zGxcygOjO-X2BA@wpxC(3XL1jk5;$l~us&yXd2oi!+WiC#&40T4SBRP)*rhn<3*0#r z#q&U(FcOk^7YMD|KcW$l#)?nw3`nXq=<{vk7pY{?cRFY5JNgP^cJ|R?Nfu_w#2ld_ zUF+#=%|=IIr~E743^D>ht}s12DSdi(6ys@z!{T{5@^Vz6Y)OZB%4#+vKGCVYB7hIz zc+CHKRKgA1$p|jQ=r|S$g``q%SI&fWZ_NTkyY(30_tT%JC)!c=>*1+W~n5iO;6V9gvga61O{=kKgH$$BRF2O418QuEvf6M_aMbz^+V)i z|0(#4GiD6Fl_RzUf=1pdXN>vg!Uy~%B?>d|>5-I3O{HCI)hrp{ba0J#qitY=^}pWU zkClJ8Cu{b2Cj->P{sHk~1i{xwR&8uBjKi;M_?_J4nX>6+YcxIt-dDNaT(6n)Z2kS# z|NYUwOOXG)%l$pQ{avm7uaEirc$nMk_xZDZnDYaA`$a*|`#1uF2)=)d+HZgA72Q4E zBo~JMQl!A?mwrr@1Y6z3c4-Db^^Q`OWL^`H&>y6cIXADNZBx+&69^rGUNT(dmBtHd zMN@-u?YP@-`j&89$uX<1N^n(egwRi6oQn=>{&?jR2q!|#duQ-)rc~eb7WLjJhYa-y zEa6R6Is5RlUn4}EJX~baQ}o{dI80BrmPSDvI#Zf{GjGS{o)ND9K4+`SF-GQoL20?V zjH}EzQQ)wqOD8$+EDl=PLXj?1VIbT1FR4#9PUo}aba1NykL0Da+vJ)GOhdi`sjJRh zDpVLiKUEqdn%>{RNBMIYLT~E89(|iCXL+30%JT7zQb0)w_Qp7SDn=FsYmC}Xe1kT% zZ*J)5E8c(5$pi8#!2}8kFrCaGv)J^vR;H{@`ev-0uZHL(RNkjrSg9u-p;W|~e4PU( zOR0MJ&Ouf60-p{SwWb`^zx@iU6klQQ`hd-Bo+;C2N{j_lPY%;lhC-|0sVBO*ZuNe# zd!Oyj6=aAoqC`JnpD4J3{TeH<47W3sL?$n($H#));aQr|LoqdtW#29cHS9(0xC3=w zC8Tv+;)J0Oa85PsJoxJBZ ztyCmRuo`v?rid=Am-~aRShS*ElFJIzV*_${WjLsfXGYcurUEXfB{O-k4KV46Lv|&Bya> z-?&(mpm=6Uc&8@L;)?U!8ZHjrDS%vR7aiu1+`JH|K?b6?ShecoKOS+$kl=w-zWswb zR(+I`cfO>% z(#0JS{D64}`1fnoIJiXv!9@pf)?(tF<9zl{}|e0 zlv|`nj_-tJXhreS&iC7L=_M%be#?ruNnk`X`!XtGTGl(J$f(mq4zDCxZA-;Tv$gw| zi)qPfMCbB0cn=BaXkO4q&+Vjf9$vFa6x_W(*5IrpT_b_HYcYFsrM#&Vfy7x1B>>^R zW;2+S3%IT9O7_o?_ub8{t}m#WW?dh*2!%FK3(Nn3xe}%jHS93%e``i}r^Uceu-0f0 z7m}K;Etsne)0XOaDd^g3RsN!FQhxNS#FHn|6W2@qUqBe)~d)p^p;wh8Xab21bL% zp=Z<@nTKG9@|*_vDBkD0;i4$Z@zDh&*mncg6WQGV+hPP`}Iz66-l3N$h z;3i9>Y#@xj1bmj-J1 zEx}t@hBVu?)eqqGh{BpBtV^!6NZq^~QzAR{R6eV%$CEGSxO|p#V_G=8thXgH5(d{B zRmyUksY|R6x49BqC-m(9;>nViX!;_u&qaNGa5v!Z zC3;Lse=9~;L8Ce;VfbVA*0Bd%bJVxYq>I4K=-WN>W)CT;)U*hhIq zczUugv-Kp+py}mQ!)CiS^c`?Cs_+@{MtsaEjK0G;H#m+X=VE(+Fdi5qux@6}o=WGG z86r@Q9f$R0LkT#2WFr^bcc3HW|9kca#bZM|a2iZdV|&eNE$#U`xW(kZ% zMq7D?mCh#MO>>Wv!@pFAtV&lm&iu7+lB*y+o#%N}JAD%q)?RqpW-fg(PxR^YNf$aA zgj4C*;pxzqb3x!oE6tBcVI29*Niw6RmQ`+u$ItYZtGoIRqb+=Ro3fi zTv|1`#Z+tU;w0KdxIDqnq&8bEW!h^j-@2>lQ!Nn>_BU)8`qtgcX`-Z(d#!9-$4<0( z&L7lU8^PKbpLap$b5I(ezlgbRqj=lWsiZh%d9mA{cx$p6(RF7U*qzUN1B-j#YzHHO zI(gJO+sC*LC1)CCL)Kfw{rx_@u9ncMevN!!%&x4WR8Y(t2IT>@RXo>ymhu{kD%y{x zCA2Y2J>2q{yZ4YGGPrt|djmk&TNN{(mCn3HEPNlWahAnS@6<`VbU5bJ8N;s+N&&bC?-_aX4%(j z9PwmM6mT#d2j{I3Xf!Zol(vZ=OdTG9fCm{m!%>+Ez%gaEc*Ab+v9Wr}iiY7>4nwPA zecN)+=T_2Al5s#`C0w%o0)fcS8c4P?x1F~rFt6U^(8nkvqJmQ9>?>F!wXSKVS4_geZ{n0)OICtB5;Z6L~nYXAf=F!7~Gbu$obUi01!PD@}A7-v3t0XU_@nzZ>3VwTi2tmk zOL)z5xnHx(+mc+PW@A#uUbGAR%LY5YHOH=Y7UZ^*J3pJlbT%bz%N&~Su6tpw=~nW?Fi$jJjz{Rh3`>p z{TPw#rdadc4;SK6f5wPV4QZkiaq+Me+AUZW>N)>WuSC(YzPYJn8FIsqK+Muix;s~d zExyWjmaitvygK{KR@p)(2iofjw*Lvb+BzY*5ixaxH-I98h7O=$RZ0lYB%94#&bltS z-Oql~0ZAmm+y7%O->xvro4dbhgDxTKVRLQ++EWZ^*$b@+I7l=O-U(4sdFxt9W@UY|Ox^KaOAyq?6|7eXP?M$>$Y;pJ_`#nx`%a0e%v6hIVylwAi=!DcJ zhe@vTYF#Vr%|Rd@34ZuD+CVm(GY!M=8~s~fqCpEX=yiI=B%bEEXYkcNyI@GvI&hMW zI(I`Cktn8Fb|oeC4Or`l8Yj}by5xOmcabIcb6Z;J1j9l#<&mpy~f%;9htFQ zL5K5o8vGG9?v@IsTyr^ivJFV*r%U35lLp=r(bm;N^9t`Cbug>{j2eVJ13Eg*rk;8& z``r#KF%U+syrUBe$L|Z4S494mhByLUP;i9u#nU|vk>n&@QSAJbqHxvv2gmeDtS~w> z*Eayxwi(6z^)waa!V^#d>C>~;rHZ#SHH%AKyoI9aBInZgDquH|+r1aC6eVVXlUd4i zcJUV5Y+ECH%WD%%HY52MeKF5+h$Z@w33mbRJvCZ!od3ikA8{6d?3X4R09+=zh<81a z#JS020IXd3gW9U0nNZqQK{mHbGo|Sl5{~BXW6YY&%onc~^jh#IAIN47Z_x=W#Qrt% zN@tL;EbO#A-N3s--~!zY+|)9Ep5^LhFX)k;I#4Skh6G!_Y8*_hfo$fLTUxKhv$mdX zLzx(>JoQGK0wZ8p_b-F`%Fr!oY4Jh}!$1!xdgqLMGxl+8Gxu^X`>{cxS^Tp-=RVjW zd4&{5aNMTMIAyg2HzlV8(lf3hXw##SuNXDM#&#DVBSQwTaWm2P&r=rTFG1c3Mz;cN zHQ3M2C7Gh#!@?qugSn(PpUa66co(5hZXq-x4H^K|AX5buy_1SH=awa)^Sgtv{_!gx z0u;fqwCby=*B1k%d0lVQ*-id6JR98M($!{fwN9h(`z-ny2r?lco9YqE@!amMWrGsk zK<844pUdnzQCpblz2WE?#2en1+4(MtQ$0k0Rf}e ztFG7>=^}Xvp5VXx{J5wk39F@xlQ{1jiUsy_g&+iY+t47rtExX#m#$8-V5?w*H$5guwZI#{2~AOB*D#w~gT ztH3|bqS$~p*AB(nL>D$|Rb6!fbJM2Izuae2Zl-Wso-` zl5_(|Y@MJo52@)yz7rwanxT$IvfAjYf8a>UN>t0@pO#RFfPT?2$1;ou(U?iA(Pq>J zJJJ*%_9V(+J+SdGwJ}gmw9DqTnNOk>l(GowdSloR)--L~rP%5p)4FW$w zhBSttjqx__iru@}+H-TtqABRK5w7`qs6^PWlCtzoTcNr-3+O=HZF%`?QWo2Cp4Ew+ zwFr~$w@J%(i@r>ZI2vW_wDpaS1#10c)yT(c%myuTOBeEV0+goID?#|$Svf%(@OsjA zzEEy%@PH5_3xZ|}%jCygL|PV6fU#FbQpT}sU9)Mh>kuWnmL4 z;>;Z<1VO~ARFtro4(b7E(gdW4Ylt}g=qzeHV+Z7}nK?~2IBHZ3)GC})Y#9D{j({l9 z^kH{enLUuoiW;^Z-ViLS{BudS#tQcj$*cT$uNk=$ILk)IS#YtD!ByxYR6QTU%)DyK z;w~i=ZykNxYYNdE~ik_%Eb~J6CAzxrh_i{Y* zS0xHd%5VodP{p4-%5X-1tVLkkqwa9o@oieD10#LXWPlnw~D6fitW%ouWKI;`KoU~TnnnS5?(v)N@$TBF9b?HjK_o#^ikUW_$~@7Xw_zXCff!;+q;=Su zxJ=el!xlmT8`xNG=zWNzbe884Y76eG$LDX+L}$RxM>AQPDoXV6th+Asr3$5U?2Gg5 zFk|fFZ`}B$_4L5m8wfCVxg(^q(0g5#8;X?PJ$3IwcppDN zT2lY~*G=c(MdxWDKB@N5_EMh8*n5}_c=9Dlw)oeq6*PfLfExZraVS2ML;{D;iwCfi z%!c-&*2|F4H0;S)I@Y5rChzyxKkA=|;5llf)q20e23d{B8fW47lp+Z_s}3z$yP35( zd5x*B|NF({aE6W=@C%Pctw*3d&ZMd)8$|a7+samiTBm`mSXvysu_)O4{L(l1CkW>| z`9I$l0Hi-w-aH15RCH)IGjzXQi6yooq*Dx+_RwT1#@+zQF3J) z#mbEY9+!)fh=h7mDhFb{b61iZK*r~CN;F0?5`v4Vm0ZGrO-bQ6(per0JXRNK&8A}Z z?^z3)6f35mYJP?~B<$~GKa<}H{6GoZ141AVGn9}|l{DC5-u-=H8+~Dd6=o#)LigQKK-1U0V zHd!?YFi97qQr9N}sY(UPLvI?wS~pPWF0pJTF}r^z20)SS;8@J_*mOM8Koe-OgDH&x zYf{oW*eb>5d8swWR*|1$mu1<-kk=&qoH`bt6-z2Faz zHtC~F9V_t~YTe>ng<%6zH}g>Z3vL&A7TIV^RtKzyLpznS2cmak4U6k%&I#S*YH{4R z@DU-&dUC#1q=s2=hstiPs014sy%6K+5FK^@fr3zxYC;)p^2TwlXLtiXyeh$P13fV) zWKv=~IsxCE4)g(8Nq$brdwusNfb4`K?H%yPk$R=jJy$Rwt{DN-jC z=MAq3lC;FcCN%Dp=bnEoTX3uOd#x5v=j=7{+Lq<^mihsw8k9IojCT-A>+E7%1WO93<0rKF_0r2m zQRX4e1tgUhoSD329ZGg6bx?P+XudX$^}o<>&;{OonzYLJCeE2vBa>m#>hY`JM5?kL z36!uZLrr~5L6CFpC8Ua7GjaP-om8KfI=+;o7g2G)9XTpx0dp)Z0Ro>cwa~F^i#wNG z8*J5j?V!f6Qd^Iz;5b78hXs9U2+8eXH6)@ipmOdM%6q%JJt{LqyQ-OLE7pwWb}w*c z10^R1OsdLaCa@YJbAkS#cJ4OSzlPB=b_jnJaWrlm(Giai3vn}i;3@jd zroe7?i_=stnD_4ZSFsC*vE#C>%V0S7s34_@nv`?!;Z=k*`TnH@Oc7ygq05N`yrDf|!Dz;8@&k(j%voS-$^woI9MX(m znJBklM6|U2KaDj%kw4jj*Ggom7ZcfV;oplu;bend?xUJrsk&&D`a8LmW*Uryp~K@30!R7SiJ@j_GZn5aREMP zk30iAPK3R+?BN1X6A!C_o(!}2#V|(+f?(A|d0wlz5*>plTd#6N zCg)3Tr6%IC zv##WqPD8mDD+tm1Z5wOPw^hu`_)&~xQwlBMy zg7c^MV$$E|wx*J6yml8czmC8i#jW(ZeZJ-BN#Qn0M)#5YnWh%Dyv>UPjz5Eq7mHfg^tlhTwi0R#hqoGn<{xO=#z{@fkD9+3FpVXJxkmJ}Gs0XKxQxKV zX#V=E#H~ytIL7H^ZUc%%3-%HcxtPD75C(sck^`J>2?k(OIbM*)qhY;u)k@i_=J3cx zX2`Qwi19RaM(Sn5aw6;LEEOZK+e29BE=maTLDHa==okU^h(>*t3TIXt=B+%8uGswuDE?R@a=HkFm>=7Id{j8b7^CgVGKn zMgwcX1<9Typ>26Faj3n2%@pptLi_@7hOtr)4gRw(8);n6Zs~1kLXP9qhBV;P1Jy+z zJ$MG?F*9GGI>2h|E1mT(V4(4Of|K*KCQ>QPv=;K6*Q$s#CqAr17opg>QiTFUmitWO z+>_|tzO10^_&8Y%y(rDk>I?~a)*%hbF?sLue|7z4{0ee^7Ab$vV^k;>2m6an8I@)S z0at8exHT`9CxbhEwFy-?KU&lzoeI*i$x;f58@K0bnknbNl7oNR517%uh{$QXdqQ|y zo|j6I{}*HD6r@SeE!t_jd)l^b+qP}^n7bnD zDKl&Bl{B>=vRdfDZX6g}UC)Rs=t%Aqy{L=ipQ;u4!`V9v~9r{T6OC&_v}uy4pq56Lr8t&1=v`Gbxz)lW%xYg5K~)1 zYb)Ylc@$9EpdL(&ZaA&!HAH>Fi|D|9Usez*&v-yUsov$SW={*= z$>Uo^BQ#~7A?^og9W3j#1_>6*p2!bic*2ldSuF<^u`fpShZJD2G=1dA{lT&B1QLa7 ze99Jp5CXD9t;M#W>;+LhcR1F2qT4xdwCs4``1znPXRgN~{C- z!|tT2dg0-iQ}CCK%QsOFu5L8x)8PKt2qcQwsK6F`&xoi%7lXy{iUPJPhnAr z>E=+@VIKc=Ag5SwI#hZI@5d)}_n z@Pf0{y<(^eLCH9#yMB!8ec79$h_aG=`M|Vv_4HTbA-*OI!Phpp{S&(Ggh+!*_2Y$g zloU|a0@m|P=II6`a0$>R3CCmEAu*ezmpUV78 z9skl;RmkFhi7=b}D5_gOYfm*)jI)))3254Mq|n|3lwByIUSzK0Pgd|Y7!nlCVggvK zU+w`4z~&hmQRCGy+F?FPu185BYhENvO;NZZnBm6FBNQ6x#5M5ooWXF|t2*gCV> zL~>J>2Md7C&jm~Fe^m4t!ZK2tIyS=YLt|LNl^Q3mn1IKOyDke`{~9J%Bt6)+K)u#L zZ%61w)?U1Yjb-ZtgSR80EPqy5o0q)ndBk6jB&TI8iJIUeqStk+WQ8h09bVPrsX5QB zsTicMAt(g8P`Oq=E6ejtAi3_UvF(`j(l=(NP~MwK)g=~lE|lv}>mG~gdNBDgEDy0i zzr|bq2khRFCU=>(_{jc&7wFlOq$mB-&z~MQUNFK&0e4XZv^Dw)!T~olAn40Rd9}L3 z$K3zY2?PBVKRj3cdr<&dtm#{VJ7DnJ$r{*?%7iEflAdPeM)?S)suMg7;g3T?i-09U z4cKkP#45&@3+$L8rl&?q12MuPnU@yRvIYy}W6)(OojoF8! z3oL53H}c2dhXeHtTmiK4$4}rjoSaJ&M_j%3v(UtJe+w{M zvjwSnJjMTTOSLv(-W%>tul8{?i8538!Nc)MN}t?$ZOcClhvNPYhh76=EioKzfmS{4 z%J#$V`|U!gTXv#|hWZPZLw_A@T9`E36?nsxTUNhqjOFvGIyUivu(M^FFvefy*I7%syvAB8oXO~2+A+}O z{%vGl1DL`3QEBKa{;QN3sS zL~kepF-_$~)4A2>zpVMq8a<^%lFQXXc$t_I7u!G2pW(O!16axxaL+B*fkrKhm!Wc~ z;L5WoX}rYp;l!Ih@jsIkHFpoht?{F?3G-9S?wciq#qg6x32o}uaWPz9VZTjWs|dE> zKn~%Nm?+v7Pp`k4FVEt_r%C$qaUogo!2To_$JT&5d~>wWNw!diFgSdNs9YdMi^0A0 zoH0b>4V>8o*TO#cw|bdQ8A0nPLe+e=Mu5}xBGStRf3;?V0qMh5;%GjY$fXiwBLM4S zLZ#aUbOQ!xc<4yYO`-dFK-V({Dc?vrSxWv+cT}=TsMIY2|J{K}G4qs)!XB-dI z90&10F$#IJL3_}Ou5zmFXyXC4a}qo;3u_UOe0cJ?3TYGHXi~bq({UCR>8m=?yt{Z@ zR&sxCnMB?>NNJq%?n9V+=RruF1bAN8p6;O*!7P#kA>~P6RVlU*WVJ0jgU9KQS>>?^ zAGK>EGgiN(E#Z$w!h9}DTDzr1C>W4`4zx-H*ZK)e#ThGEhg}zyttz>;0meFn54O~% zfPzq@SL3kUGJ~H)MCM%!7|6LDA|sLX@5$L~DHp8UaXjfjlI}CXe0@_=zq8ruR5aZ6 zjCG?{e%i-1$GvAy^THq@9h*-aFThzLfs#Z^llMK&v1YD%Q6955Fm`1xp#EN3v`Hy4 zDVMdWVjwOO4#BMG2FGylo9qsCE~_!D15-xgu?Ne`V>no$LJ?v@3$>|M)_DpNZz*e1 za7F!N8z@1^_%R-#rdJ2&h`-|%Nd`eD9;p*cpRtE!a$Bk9!P^o7y16T$H$aiv&7507 ztz%MapRXbcSq{*n3NIEdl3c zf4pT6x<90myxc>enwSWQwTYrgaO4KT@l`3qMLRZu%L;Nm;f{)7tR}>kv?lq%xvfs8otX=i!XBokBYp%qL|9K#Tk;9?O$d3 zJW5E8u1B_I9udHNQiC1C^Z0`+X{j(xW2HE{Vm{i!lHGX@R{70axS47Ki~@da=)NSO zyC!%RzeL2#P%gL@O1-`EZTo8Xa+`haR_I8ULbfs#zOa1lB1RE@Dp{kvR}vI3p# z9ZV+GiJ{dYRX-*b{mHa5F<1nqf)a|hGZ-~53MNZc<-{sD9NJAKyk6w zV=ZK7i#M{9C$Ei=zriIML#?#v-hbr<6U4o)?Ghu!Ts846kXJy!pM%8Y(LK%Aox>F6 znKGvJN_!Rss&)$-)E@_s7frRM5?15)C4e0Hp`mQ}mB&#ia9U1Ck|E|Op<6jqt7)^b zgGk;Jh}ZT>Lr@T%`|Q&Ra*H`PWHS#mNgItM#HsoI)bw_Y9dS6D6Jq!2tv3{dbDB&K z@=T54wg9CIqulOrqn3?3Ph`Gz&EKGR9)TiLNFc66Wq)n`nf∓U&udUtnUE|Iw2P z3;xGp_TMHm8DRp3e{M3V|0>l980nb*dt-;Dmz5!4{C7`Tkigl|<)6Upf0Lduvi?t4 z6%Pkf0(wC^JA3DUwOovx|La`F(#{&1UW|a{Ux5EIu@Pu9{Hw#D3r(+NYV1s)&B)A7 z$H~db%t^q?%0|cj?~s##nT3^(jq%?_0#^3_JSj-Zken8a3<;KkVxDD@x1Wyoj#*nC30m_i2zn-pm=OrK3`y z2`xeScpsVJE>F+0>aOQ)FLEkRKfG`F-tznW>X{Sg`ySB${)gKhjqrcn=<9WV>|G%6 zYgF<3$nSXX#XWm7mWM9~fbDg&Y@Ei?ipZwni!I?#|G4x18x@sVTc>zja!x;tNjqnEHqzZ%%-lxWNrsEkh5mjb zHIId%yNF@RLhI_Q&l@#wEclyEid%OXv^@!PMa`3{zu%85H7~>*=B#PX-cp5}h+V9ikbst+ zTN0cCxL0?KcbM2~de6kji0#!$Ve%@1bb|1kCmZ4@q&)BV!IxJ#L2Xl6;62aiFK6^a zwG9g;9zA&yM2Qt)^@=z@!Dh5XFqbdS-o&Bka1V@$}HG5L_ zu$2%ik6F(8@^1QwH1BRFIUMmk@iudYhf!-J@l`^Z>M+btT$4^IOPTB_XW7&SQvL(J zHcZt{;E{$t9V%xim7mlG!)&7D{*Y7oLdL<-byhA=Ge5KCx2Ia`Y$5@-BN4m8 zO)})sr$H16T!V(>aUy@f_TdJ;27<{(I#wGCuH3vBYcmb?eKEJ+&2P>Hf+@9Omt7Y` z5+SGA;Vuc$AFa#@o(%l^1jV|$D9Uj3hu9c-%_qZ^#aQ7@;spknxawGk30{fJWt!!- zm(4#K^91))$(dAYlS>ey`W^{X=Q$ zsRT|A6{hj`SCRwakIcX%h(NoiXvhSkF;mPBu&xbcLzOPnZ{W7OCRxSMbN7V{+Q^EG;P@uwRW8M(C` zoj0zjl&cG&AdPASfe;Pm)~jm&>^HHG>!Q4^Yzt)OLq<-g9CHW*pgS@r*zyg! zpn@kjTX0`!j|%pZh>2X3U)e>d9-4Ff?vu<1ZM!CfXc$4vH4*wydRM4S2 zPjWY_IEl3HwB3P8+&7#JiCK-eEE_R8)1}kRLNY*L~`k6yl?TEb3yM&VtT?FAHXFpSYl`9!EV4bk%d9H+a{2RT@j^ zgMd}?-bKJ-x$w735j*4hz9()s<35eGsM>;xo4=1KPxt%!bQoumbInHnep^(lmp=v- z02V>0w(`6gWoJ}%ZaTL7Grw=1*Squjlt&1qk=nQgq`Ejtl~H3Vbo6X&hUOV)WF%<~ zz3)upb^^?PJZTF;qFZ1rST)I&<45M%KcBo%I=06luoN}^vCnAAC6^>F2m-FSlXYMM zh3hHe+z?T?6EH1h`__n7?aYv+>->oT95L>3*c?mJpt=9=+nmLw#rA-?5(L59=uLBD za>m0eQ{<|vwl2%3G~~n-mEw$@JFfam+Z^L!Myrj9Pv@XwQP>55Q64xY&e$YuZYUkn z{@!DUI}`(hC4d6qR_%^=C}g+Mr6hRi=O2tL;2<}bBjeaop~~F~NlJi{JEuv;DH`zf z|I3*8?1j_2-M=%)UI-zaLpPvEc{FN3CeAa}$s&#&Y@tMn?`zpdaB@ZpOpZgYME@I* zm|_#?TUQ&!o^M&J;WU%d2|hOo+lI=9r%BWyn6NpL-Wiqx8k!8+^bLtnXQn|_HR<|6< zg!M|yJ)*$Eh7_;GZ4WJ#BBMD^!>KcNiaUhQGnMQ*2^71`@n)hyeZa@di>6^gUN?X! z;C@gTmzJ3|Gzl;$$!xz64=OG2si}9uw~g)c{4D2vmXKAv_X%|Fh^>xP7%#c$gna^Hi|EK(_0lub=~ zmaIa#rZ(1at&wRl1a2h?nY)_Td@4#YIqMl%t(DY_ zT*-%G)j7$ga?ol^$}Ti_6^<>9?b>~q2-BUw>U^RY&!Y)OAqjIo5$Jtrm7Tgv0e?9| z8UlYMqY4aZ@(eMCW)-zOBl&NDYZR=|9Zj8MM*`kQKvAMwgnM^3P*R$*`^8m0mMY(I ziY=7wrpmK#jx+#9v9pT0!W#b&A~uWBXSS@MHlo13VXc`aT(fv-CN)hkuPWLnfbL28 zk(K34(5NY@MxdVN{s0i^SRdlE%-4;7E8{<%L*cohMXiEZIw|>uO!e1oa0*D=2;Rw7 zY8=D=*HH#H<00F=s^4ACN+v~KtN$FQt5xyVlTuF_%}c@)zgRw6t3rgpdMNanT|*lk zWIOMPE#*W^^~Tp_MY3&-skY;{_EvLTBl+!y*IT3LuPiyu%d2GIep+z1uG4z5)@D3g zWR`IRko%ehAN8nbU#^-XjFE;Hqx-LAkW-V5EYe={2C+C;N1Y2n( zue0H7^?Bp7To^%)^`#djCmq|Ou_AH{MITz@zV<;i&S{d0wzgzTOIjMKuYDd{Zk&R` zDESNy<<;E~;{tWO?Bnu)z}!%6)nJMn2L$QI$Z4G5FWoX3$w&-tNSw!%JWcDy`OPcd z2b)a{#CYB1dz+765j*fN|2%jaVIbI`c2^H#|3WDX7vhQ$*N&ynFoo9lE^jZUS}@Kb zbT*z^zDrraa-CtcuU+e`cyl6yuRG8p%PcwmO^8ZIOG_X|znR>KuSe(7$uhzq8!IZq z0;93Cx=IpAWv`Ogq*`5*&h%hovOPuRh|qMaQkpXz+C?pBwhPK#vPyoe0Qc0-TMPTw z$7-CNBCcGhJW6e^IdQD)xoMLuZ+YT1pIcQ@q3ORnQTbVm{-X-387ZiQNa`nCS*N zkxTE6i1U$uxluT8n2%1D=uH7*B#R)OE#s&Ntux^ zAX*^%lVq@4D@soLCbohTP)!=8Ty-#NoEhKj_*Pz^EPJykug5En+EypFB_%ofn&gnv zBMAS#ctZCW-SaZh{W8IKk(!OZF!OF&GV~Z#fgz4byd%8TyGaI2mjEM5rw6tCKr*i{ z>!dbUQZ6>?Py~RKZ&Od6>R&BbSsNcbG{faW7z{66LM6kmVC#jMFhB}L8M8tL4XcHqI@I|iZ;^s#&s$m zW!%I)<^dThuqNYrTU)qfN`t2y1MzfwuK2nu=W*iWqy{F=rkIN5N7c#cdx~km1~2+A{)Z!U zB69H2_N1q0{_sXpSzS5hdWFMmhEaf2XajsnqwP?YgyzCCP)oia{<0Gt?@%a#_|JZ? z6Zm7Gf;tY`yeHWVJ!0_X=u_zkn@D80_VmCC?Q%rgOccboxk>?&GMhHED88Z_y(7~1#WJhssoe+3;| z)RGrdHa*R_$eEbnU&<(Nxj#5sXArLSBqUEZjH|||GFmTu6=0&@95$f5KO3#wn^hQ8 z5N)Q>nrR*Yn0J5tc3*+zQt!t5tH7!B&64fGIsG#*td4pkd>NaK2p=MzdD;+!)!>bm zo17WOE{N{7>y`<<9b9>gIYLo*Dvqg5m_qSdLck(T#7jEb`p~d(fn4?w$dVZV7RRsO z8YXmLC-#!?iC*vEJ5CW;V~#mVxaZJ};l~q?g+Ug3JHL051eLPjRE&V%iBA8ZFv5-X z14sA=yje;U1`!FYjD1Fw4AzmA#S0^$Kbpx84e9e2idrBh(drFcu%e*qx7b~fW67*1 zTMvtK&nedM?Upa-<~Ox71hQ3P;uaL%_O=eIjdvp?^+OE#18dcOy5=?0xomeujat%> z!!hIVX~^(wr;uuS)RucG)|hmq!BaJhv!Uu1LyWaz^EDX4VG)Hlpfzm=hAgiI;-1+g zlmcm9y%XeOjr`M6Hcz72>7&qMuG4w$*`y}v9<6j93CXVPi@DL9k4>}6Ip<<8=pNJe-wv-dj6G8j6;g_{C z$c@eQ)xh$iEt5=P$D|I+Jr~$z6;ZvnnD4PE8679s{)H$f)h^(wt8x5Y)e%U8K)Qw64`V*V1BGvU5frWcQP~nhw|n-PEZGN z;sm#M4Ykg@7Rz&d$$exCQO?Q&gAcP{>peJ-=#7k_*fS%s>-8r zBSOZok(@{r1v({1MgAnEV4|&S-+75T4q{3m=g-BcFv|6_hX|^(u*j3!Eo9lS5Ag8d z#k zEt;g`JKS0*TVa1h(Gt#qSqTxLY$~RUqvp zBMuv81_B86yT#9=0OcyVWeI@P%ip>M|MWhm5h9uevKO(L-d=`j`y&GGUxE_a=9N*o zrhD2oVpw*qG|JdtPnuiiqQs;~7$x#N3XKo8ZydDWNs)FlYf&>f^Hi*krQNlx6e(k~^@u-VXbyza9)(|-0G1x>{^iOLK0jNv|EzjTff~6Tur_)g^%{OwE7cVuN^?4jk9L!OXebjsI?(7eAq^P;2>4phdKm> zNlHqRUvGLaxvkH-Ur^L`&x*jeS`<$tv=D!zj%$EDPlf136cS7rq*j>*s3x#Q^GBp8 z$6$iG6c{Jn{#+l!0g{rA3B#mIjzwH##2{@I_B-0)enJm+;Nm5O=oZq;bpnX@*To5i zAFzxIanX~ACS8cz!pZJAkSH;~LJx{zXV{v5V+-VaqPdKNwY%>HRbGg!U7#ouy=|v6SHQbgR;gG0*+SVp(J7G3)=NCh%R>` z)TaTu!txYU9DiSuMsQ`N(UXUq2mpc4(;W+ujsl0zlN`Gx7tn0VD3^23<2qElLWd(Y zmY=}RV6X~1k>D~yQ6f4MLJV)DDC5CT0=<6;bc>36a09W}4eCD|#Nk zIyuBk&}Bj0ijI;dYI{UV+pGS|bAh*UGOEkB2XW&UP@38}A>0BV#6kZ{S&#~vKY}f| z*uX30jMY`D{H2>Z6bOn8Ogqio)X}vHwr~dnlJFf?-&ItFlv<5kJ%rb8n~uz}4lzY2 z{rHduyIwZ{+Z|z3A|TVNz}QHF2I(7k^@}kN5l{4&Vv^cu!|x_%J2-LoO`u~St!1n+ z<*xV~gGN5`CITIaDNiH2YCs}Scx^j~j%?nS8TtOo)05^%_- z(=7wvB#>>NZP5NX;i-6NZVYH{y}?b!*L;L5yw~>~gs>JebLa7UA3hK>0-M?I=#7?t z3EgQP6)xv$3!Uglknm`Ohiw|ev0oiv^Ok89OqU;865R=9^@;Q6@q)N&g_Ea2&)BCh z3D4Jlue~+&18SoHEN?vTvQ+Y$S6b{&jV(3gjw6z_x=iZT+hJS6%oLp>PgZ}1X`Ab1 zL!4r<>8!nec;v!eCF+JFpnuhKjb{9jHi zNm^TDpKsu;B7mgDSs%hXGgK`4>Ce`9_lI#u@nKZO=jG*9V$B)-Q623s0PYFi*;t3o z^orcznhk@jt@=~kPEVc85LBOhZ5Rha(3tGB4j7*F=q%OE3)OaoT%qk|F)<%}9BzaN zZK&Z{%4>C>;fygp2kCPiR>G+0v57INWBiv!4m8p36iQtjx!(hYX58th9?kx>TtfZJ zn@-uxN4&)YRFLAPK)p)G=w9OVQ+&swL7BrUE2OtaX-co@tCD07*|tmbX+H%vXme?T zWS^i~p;w$*BLBhY+9cQV3?#X&OifRKiTk>pYzr&$h`SaHY-Wv9scowZ9au#iOh4B8 zqjv`YnRCg@eUzREksZ}^Z}#J%7<<2GR#TA()>YvamRNYcXj^cuLr=+Mj2@7Xb#X3B zD6e;Pnm$|p`_iaOjuZJlEvdEj{VlzJC7L$1z9;Yvan4Kq&_Qfe;d!^wbzLJa)e^dw zoSh*`zBgf8jxVHKXXSDz1PM=?U~6lSOjiaCz({#bx8$Zo?V8l+3pXGXe(5H9oLU1h z%Dv*$TkCpUDp*crLEQYrb&t=}x$N}-_WR7JUbEt(^e+HWmE=m%?@uBC(Z-&z#Lta_ z)S5H6BS)+q1s&Qsx_)RkfyXRmJrKHrR)D_+{vqvlO9sVG455*5Xq}OLfhrDB zG>xfcoy-E~thREqiH-4Y!s-e?jNZ2_{tWVXg;^nyX7Cq-3n=+aw{uoel2BCKcTL)8 zyR;IIk3JgD_PGh#=Ig15O30o8$ci!gxyBHArTXyIF(-SYeVlrRMrLc2!F?&)FH=t7m&+xb4zdf)(mQxT65o2g@|`=XLYE~|imOy}8j6z|oaLRl8G zUo-=T7@99^&@X*5TCdbI06au59LLsBfO zugcN9_oM4pr@E}MSkp@qGtDiSI;MC7Ssx+zAe2Yp*z?608hhqgT z$}%oB{>&M>M|bpAn>Vc4AFEBaW9)w+_#^TNG^-i2F?7F2z^L5wq~xINs!(|#Nvubt zMS38h6%zHb-_}{6%7xp;X|_qe1AhTiD29CnLLKcRs#NBS@(%_np~BnFsR{^ErMtiCx+ zk!oYD=Pc^D(nsP{y_77!!9Uy(rDW*HV*y*1w1EjNwP}$bjMp>bF5TgFDO8qJi7nkF znRaM)#qF73%?MB%69i3ZOryz?t*EdZ3>MACPM#@Lo zQhrr3Z0n9TFlG5cUoU4%pKx@(^f#2U`Kp31=CYpunIhok#IkBlQ06lDRoRY7g*?(! zFC!_~8n+->NUUe7gckT$rDk%wDN>oN$k9?HaI!-Oe4`FJE6xg|+K=zdJuLg^Plp%Z ze7%<}Q%V8)aX7xe6b>89YS$j9+le5+$gUV_zf)ZYlZq$%+s+41N&i7yJs%F#U@D2c_9mq6Yr8md}x}E%)CY6ih7eQ-H|Hf)C?~}@EzEp zZ6@N+r0i{bQigQ&R&B~&G!qX#yf!=0_;?M-TF_eAf7-t{^JloYp$9~{khm*8qSbuZudN@AQts*iJ82^4XE++hx3@4K*QPi@~OmnlY7^WZ`OZFDw|2V8B*M@GA@BSL;1YtJmj8kx&)(m+J zr=Q8@k~Ao#?&gV`X9Gs)-2TNqmdYL}s69by zHl#Ruqgsv(Q7-SIG{$;sH?jEB zbgk6GRqUzs80c^lMYvv;2XlU+5pe>$)C=zb)BQb|m20{Ynjk*yS#5S0j_-2MYItB& zAP1MrHrGl#?+7ukUZA&VsnYFrok!EMfXAnKHA-Y*Q+k{*9i4wuB0;O08X1M%4llYRXCsl z&_{%X*oXDhR9i}p4;%yu<{L&QaQ|=i+?1m$t+LiL2=efcO|b{-eA}0(fV2=lNTMAx zd&mPxVTreCeS9MsL}`BTs81e$9e>cL>^?TML}t^K9mHed4xtI^plzt02P+S1Ks9#G ziyc%a z?$58ssw`NK)6lt5g6=(=*ZQ97lOd zgbju}fau2kd}UsGZdy9_VTRsQ4LyeIKn*Rd=#v+t_X%!=e}2dB$0~s;ud|`f79jsz zIo-tdY%EWuo%t01g2I0$KaO1mCJ|2l4}=_>78Cre`tO;j=G6{#Df3j?AIhVUyxz0v)-3sgB<6^;n$L9D!H_j*XOvz#zn_ikYr3Z(hNJWnaW}x5RM@Q zrW=inlQS;bOqsCUs+k0IhGdao0Dob+aBynPW`eQxlBygVNF2E7J0Qhuq!y-1I+HY( zQc!?ACNsyU#cPd{#aM_2gm&B7+-CZ+EL4;KfYCyDy#^{h@=KVKc?G=0F$0WfF}^U( zMT=yBETPI-<93{9^jnr>zx{N-QnSED)oO8s{h?VIpB7{>(<6yy43q>;L#BQcVTxIE z;n;9f;v;nwFFc^>sxbTE5y@Qm19m$5HN4wF;CdgV87g37S3R6Acb0*NAihH~AZ=c? zjKGo#$)d#byoQ~%37b!6p|G7WvX+mxxoY-}7FCtr!PcgczS}N9h9dhhWPZ$17EjhH zDFG?Y*1bx|*!qReA>Fv5My7^pMI>Z9{Hb*bga^pcwxKIhS0vFIudC?5h%o&;DCc05>fqfF)(9V+#8M^xUWeb+`k$5+MDGrUp;@(LnB`nj z%!$iB+c*H-APM9W9vleTM#APBaC!Lq5Er?+WQL@MF_643Ov*>bAKQ9e)J6b$AbWqt z=)zSNN(ZO#J*}|LmwQPQh6Oc^41hpGN~A0E4aI=+cZ^b%O12-qyy2M)q^fwg5BlyO zQQjpxt>M4c?ILII4~0%H8B%)m8n|3d)H{PVO8VHo-pYiARj2iJn?)qDQqY_YtGKpO zW%TH;(zth9VQTtjT2^hXT1z_1MS^%b4BF`qT}K5OMHSP$)!(A;-Y*2K;5D)dh^OSz zL~*VTDXaylVhSoDt0%g7RZ(`~*j~m#^awen}-~ z^p>~=@wq3bygWk3Qt?0M=yt@ON1Y3aNZya3hzPBxV0qpc*Q&Yi4ti%Z?~5CD1)BZk zFfhY6U?Eg_^N8q06#rP9Q&c>N5n&a?QOs;lHj-qFA+~ML(Y)(R6@?_foQ8qcEW9mL zgi2t%k|D;X4Md9{sCrH={jj|AU&-u;O|rbeBwzt_->5u(P!};?2fLAX^t9tui4)GGVo@Nz_h#m2BXAZaV1ct(7y=GR1U`0?AqwEI2 zAbsJ(wEkSSZ*`VR)24n6{2oT+?RqYx`I4*`f^^WZUilTa?^wY)3i!a6{u?y8BVKs0 z(DQTfW7`*ty2(6@ZltC0{nXED((AO^K=gy~YS6&`zp#q`pG&DSv$6c& z?48a<>}E6ScaJaU6?adGf9e!QJ6bUc0>o!?h` z3m1Uep3jR7KcmEv8{hAn7C*nQZ$Ezg?H+GW4?^o)K7(oD9OsGXIT2FB{iDg{d&^^f z9)yOT;3beG6)_S&9L9`7tE#Bi*G9?YgD8VUWVwV;^yjhcp4&d^Ar@c5gS!ypAWYH3 zSo_mQGR$T^iTJam1>Zr9W~3l&^0!jb2z_VXr$GwsAu%*B)RC?rG2w(iWlW`^(}Ku` zEBX7>I#7Eu2N=2zJo9Pz^7Ng6ay?UT!cS-4guoLL!$K2xoY4Ee{iM60iHJBGjV$!N zyP*;m1`S|C-GwOm6Lb;K(6@w`OK!_u5-fOC%^UJcWv1A_!l)jpX`bRw%dZqt?H5{I z7=|?lcS_K&jcVqGS3(5bjvMVKdvKOW>~)#=Uz$ro^+w6|FySsI^gN^~9CaTF;A3@) zgR*D>;A3}$;P(qr43HAFSVL_aNf!n(wbm&tR}PKRL?%VGusAdH^@>XAhn(XC+1nio zqYpOtc1Rm*<%4KREsHbfmO;~)nS@7riasUR!fH>jCiQs042I_SMZ zPwV4c$O5v|-Dyw+8j9*_uGF1Keps++$gdduQ+yf379`TM1G371X2^~7eT|sbc-Eec z!WA)D3@X!O8gbpS@?^yj!pyO{4VNmUXt!y}sj{XRSDY^S-xq7NV13}GGfAh7y6L#9 zROf_$;6UDr#!6NqM;z6VU|0VMH+Zz_$na`;5;p_Hse{1Hfu-SC*O;xO$UJ7)w*Um1bZ)`+% zwQTFTT?O!Dq?<-fqDLUHP}0Z?S;QO+V#ujl*Q_NqQSU-3@>aQ@i+c-WsqZ-$#DRb@ zhYc6C$?1c(J#zzNIzcvmD+%RYbtj@XfQxG@H^+f^`AZFB?d*K_!z<>Y`p=9V*T8+Ju=tk+%*}A-;6hP{Q$U?#RZGGFb%asQrW523BVnav3P}fMk zs^}s3V~q@6KPcG(bsZP1|}(o)m^#=Kz~K zL}?YQjH2MWLMvkbcdyz^H`fy}oGiduVROmvq&5D*f{+lp%%Gg%h3>q0Kb* zxL!l6IXPnGNRHb0GRM>u=Ad1HC_nX8Plqo~`#c?_@;i ziE>NuD!s}eBDFc6JcT5PL8_kVT1?HN4yZI?H`UozXyCYbL!U*Yax7m^i`x|?+i>c< zl{lG5r=CGAZ3-JWh*%`IH0oNdgOuBCi zC5pPRRyjU4&CMyHwB8Ob)CkW?T+7{@#!G8Hf9L48PMuTyAnyt$WFFQ?(LMXWHC|rF z-jXoIYy(yly#pYSHzbh*bA*$_N7T@ZdW*%|M@b+%6nl-N78dv0m0{z}n&oPwL`gBP zH=AuZx>WObsOGwYe6OXPnPIpaphV?d?2s!fS{rSU3l+ZXGG~%CMjFb8O4-mf?QtLW+~MD{1vZEgbY!Uv%aQyH zlP!F`x%~Ee8O@)b9o5y&M%l*)he#e`M*py+UF4!fL>!}=qJjq8Hg2m)cIiUostY=6 zHgT#7^2knPs0!+2s66X{-I0k%3Wf9(%SjG*&LYIPned-ipCR>pr8E)21K2=dWQyOa zI9@%XR!{|tba2Ox24gH#oB#b1yVzP??3hF8Z8ow&n{rjwSEkPpMvR&0Zymc<$Z=f; z8vMX`zN#2SHQ=3Zc@HQ@LCo}MoKNp8P3-eO~V^Y`DrBkew=sxzbN6D}*xa+r0Bb6q68 zgf_oIBnHXn8mwp32+Tm_G}Hb!b>VRRc;z9_I~?HM#HriS^ii8kI#XED?OxGoKw|M? zUhkpDQ1tuAjptpT_NxX*ho@?0W;v|KF^{9D@ZUJ;1I%s@#x4272nc!rX`;|Lv}RNV z{u??s9JHy--_=|%@axt=RK?5pTILrTiEd*zR3p5jh$#BjCQJ3UzJFgV!J~KP3Z*=n z!6Vz%4@cs5YN35ZsBVCFwFxY{Irg$=(op*z2V+eQbdMH z`WNn3{{*AqvZ^)2?y{>bP3U44joa>9?8GB{ae9UB6nAs~REI&CKq-6t6yl{2H#&v; zgIG3hmC>(=WwrbnrkM=U3RKAWkshDZsZLt0S+g5kOLF-FbPGwd?H zudtEqL9Kg;Gh1+!_Zt3Km87hvB1&)|OZvBnKtH=>_)>%i=v?3eW*sN9I12wZ!A8Cs znjdOL-am)$rYFI$T-i(>n@#BBP1B7w^Dn& zerJeNahFeI5%8me*GSOIF+L3e6`P>}?6_e{d)PGVHh+su_SxvSWV32WcEYKJZW$cq ztOQpg+ECf?XppX0Nng7~)<8#BIbLnbwY(B}Hc%dV8n{85K+W^ik`w~uPl2&X*_Iut z)WDY{j5J|(=V_j*VNT4i@M$@<)*6-j+(7#`te&g!^Lx8R39C5oXOf5=m{D^mmBLf$g{m!W907FEP*0j6%Q4Rr<~&C-jbWlTPy6DnC#7Ou^k zQo{zN-b@_Z^xS_wx+scu1%LffGkyXO_t;Rc1@uKKZ=|Aq`M5RvB&RpB5~<=1XfitUHF$q*95v9K|_trAFd{e681%TuwX+Wb)GaI|g+`r2(1YWJ-&f@Z`|1mx6n+5iMv)jz}C}wW)L=d)aTH7 zS6dgQhoKj6^RAkBhZ{7u%=ofOw}0VKxzaZnawC1c)UC<-T19^q1ieUfVYr0Ku3#;R z_UYqPb!>^@-SpxGD-6vTP{G{8iZ~ga^9Ol06-%E6N{DGrGlplVUvZqgiGAtAXBxh% z=urGunI~x}YO;Mq(XWR@nEAYWp`rU!KjaNzi-e_Wuzi@mo?_vbl{<2^-S6I5j$X54 zy7oknnIzI+x74?RRx8 z?*!!Z8FtE17X~}6tG^~%QmPzu7EB5^a&l5Hk(ie0n$&je6Clk^ytLPAwU5@1#;s-6 zmeW@-d4R9@iJ4iX^ipY^khyzv0q6A_&Gb~`C>d%b-RxE}8U5f=ei>0Wlwu;s2!|F4 z`te~4C@JqenH@_e)jVDMlFEHU$zi)L$wk8V2GduT!8WhIthg_%<0_XljgqXiKYP(6 z6bntiPJdPwmTbU zY&B%`tn>4X<&ZYdCnp{u`$5x)RMP1*odRo~8&T2oebFK7KrV>?cG6~PB>8#oaaAG5 zTp|oz-}jKuk?Lon*TD_x;Wlb_6+fa84!L#PlVY&eJj8NztI&?WGjxcl8C_`k`z)08 zM+F$7@=VbHDE9@5*6getYz>X;a`Y*B z^eGKgv57m`ORCr#*c-uam4tvGKnu#SQZxymHVyWh1RDrerl$=2!VZE}*1^7UfMB&~ zuy33oPQ)Fsd*qF7Lk&c%oDk)79AH)uCpRn52&~QxsA#hT!6wnbUC3o_cCacxRfAi0 zAZC?Q%->4ixDiBQ60o{ub_#X~`}|&U_y0=20SSOvfJ(jpK?d+wsQe}bp!o4PApqk1 z|3wO?m?gn%AmBfstN$GdFo{4wz<>DNe?tYlD$@=qwuGY!87A;b$KOQ6`VS(4f${%I zpa=l}{=q=Nf3y(DKlJ>MCSnJ(JqN&$fl60d=xspQFbpY!;N}H_14z~7Oz zvHk`$gu#lN8(F}MT%`cCDuP&H?*am}q-X+yQw5p;A(gAL!XWUIE`Fh+_+Lc8NUR{0 z2qQe+FGQpORQ#D0RwOFFRRsS+ z0Uk|$SMqOw`BzRje-MGd9N+(yj)9j$ed7dz^iHY&tvlREM2R!`olTAi);i%-`f9hm2ZTkQM~)FM%3!m`Nd-BIG#a{x|-?NCp7;zs4>Y$pRq% z*Wd*snE+5!|98wBiTKD9{-h}+BVaoYdVe8G!}$rp0!gRY(D$6G1Www&Ng(5H#D-5ED@Q zcPdCghM)c)3=7^WY!q`8+SvaMHEc(1BXfad2<-m`nm@ZpX zRjhDy{D}&3WQ3ppD;Z=@0z)etZXkFk0MNoUjuhEAj40dNG8GYZ(#l- z86=y4pZ{NA2v@B#2(B9710G&LaM1uq2#CU2Lw2Yf$C=D;qpt7%42)!XoX0`@Ke5S* zG$iFbZYY3211HQ75VNuG%xD2F`}-pkc~Qh!#HofFp!AuKYt03L-LqCKPU&fe=qVkXrjm8(hc1=R4DX5+jl$fQ$LBHX~wn z+ZnD9`1}KjAz1gd;QCYs!LnyV0Fro*^X9(}qv6H@ z@B{-c@BwEZi6O4z=>2BMKX8cT0=bSe!Cwve2Nfg_$aS1`{TA_lkU{c*T>lmwxc;O{ zBNkOl`_$GNg!O$6Qn;E^9ZJ|GE*`#4blO+ZNA zh5O%(9@sbUTYUNfYcP_LasL~x|4awT%-|RNFF=BK01yz|iy{l?SV_YN&fI?r8OW1x zU?0DK8iD_r5R%ElFF3Ym+;B^PJ8odtLYP}bFn~P3fnW1iN{Fr<%`9X=2;P1;YVKpb z$IsS^VCu*HV3y<1hcE{)3mmq;L?q{ErMB&MEsNAU_}}Ofmx1oWZ(MtM@mS8AVgco_7BW*G@Jk;KcXA34#GkHQwRUe zT)`|yaR?Y8BKnF9f@59B&jLSU4Vl7mHu@JQ#){-s!SE%#zscsmLp&>zGX%qZ+u!IM zY3ti6;LmzTa))5}6@R7li*OKb6-hYA8;1Vz!TL8|juZ~#<-7Ahnt_0S-%<6KwE}p| z0V9?SVV(z!SiwW)I9$IAQ%qoUk6X|C4f%-3t7I zze*McSupGOKnsR9{gZNz4Ydg6uzq*jU<6ypqCM7G|6(}^hL9;7r{3Qk?RVWE`^W!z z#qgUc%7T!c~*hmWaK->pk=>v`s_d(!Z2LxYD z0#=#eqZAN)IR`jG+<;gW03n{ugV^Dg0PK1Vr-^tb41zzZ1)i3{O&)}JLI;9BBLk+~ z@a}*RQ+g15z70&q5G=tbyucBHCKrMi`1}PJZ6hv0jOIb`;UsLBfoS4r&;T4GI*f?U zz*dA^Lsv0O`+=LE!JFxjpCzKtIiAzvBpjF~l4W^z*z2fDr<0 zN5gdB7$K6QQSBdKhPWQ_coM05-#oF_(f9@c9s<-yAr)}s2tJOyIBMx34>iL$ z`YBEzGT~Hhjez{V>kbw`>JE@+c9bRn2EHL0Vg|kpIvNDEq zBz;}_uiS940DJ#)0lt>|@7y4?05EE6bQj>}$jKk^2Jav;Z!mlNnKvyUN75K-qVq#4 z2;?B70$~Ca4s7cW_*qUS4mPe|q=NA8aH$}?#CNH{QG(nu?1$f5K6(p*q?)vt-El0i zvxAwye`5g=L%xdw?pwYy1P3cJL*HBmY@Gt3CfJ)1K=ApB3h*)p;Kd4de-;WW69+4x z98M5~gNuplH>e;91rfl$bM%`~VEXx4C=ezPLLm+?^jcYherM$u)Up7u1#A$^g}@1L z_Rp~W#?}!~-~sQubl?UIWKcqF0lNTy)1{mN{0J_(ZwYKOWO@QPLtgV5c>_FOdCV;37zrTdy_AMrRCwp!B{}T6+EwF+)nAm<3HkcZj`<^gwe%gVs^_76S~Q(Mq4#=yqK&cx0Ifjyf-lJ&PV2f#%j z1|Z*?hFcUe_FzB!tao`U2RkIs^dIfAa5J&|wOx2r_%48>BZMvH+OZ zgc^cmteoxap@w&0s*+LA05k(=6YyccUzm7chGK01WOZuONs1z??I*T>mX8U*lD(nQc1F1L|8$+FdRCH}RV=G$_z&4y|Nl}mi z@atc=WQBQJZdep!;s)Nh@}EjQ8WetG6Cuy8wmgCdbas^7rtA z7)5P)j2q<@t!#H;;s%_3h}07V;$h_w*%E1A7B=D-%GTK-q*H2r<0?mdp)o z??_u3Tm4we{q_suoY8IgYl#319F;hH8(M+BJ$?DcBmnaxrQCoTIU3ml(ZJXUcprTv`0R(JdZR)K03j-fNFd1x(F6DDpC3~6yibDp?IMq zA{w$g><>{Fw=>F8rp{e_$6Rp**IOSJ8 z?u#buzL`6{6ktu~Jv!pAe9vp04x?$ClaOvCZY)2M-Tou@2^Z_S2UcEtx)tYF6E^G0 zc?@yR$3?!KiysnH&gZGz+k7~7y)&j~!^4W+y>i|?nQTWlz*%kK{+m-`-r1}z3h_xn zVWQq|wBHKa;Lp?y_Swr-mv3x1PchvVIm2gR8_lR+vn82n5K5L7F6^(0AthdTk|wu+ zAS|ps>kJoRBKbv(+FZO5=hJs)Y)(;MtaHV*!H`Nmp%I4SVsjsjR&t_Nh`kzG!yBQG z+7^7C8SRb%hnQfGpU{jOeciBJtFQub1m zmy8mBOsi%}qJ4zV+{^QkZyB?M>WB)?u0Nk`!<_=TknxA;3Na`5v_aP>cmi8cI>~N~ z(2<42_4=&Z5Hh{fDZZFFq(hX&2K5S4{Q;1`V(9*^64GOYwub zi3a5+7DG!IQhuCH%Wq3{485FMcPi&~=jJX__CDM+pSnouW#9RPq$9VoIn>h2twU%? zlWvHQh0V8pVq{&{-uSiSd+$x0jo^1rM7>0H*LLcAnV5M>9mbYUxY(ClwFO#IQcn4R z>-<0-msTHQmB(u@<>x*JLz-?)&;`aP%Uxqo!7@@(eDSnPnO$;`>vhUgBN@7DLMesD zR8EU;eDTgaI!JOM{S-JrH76}(q8M(< zM<^zrs^g=|)|Y_z2PGR=nHjgAzx?E_nym!U<;76LuPC;crfDC&zm9c)b%-YDU*#is z(j)7v#6;Z#+674&b1`B26LUF)don~?4(RJP!?<-L^K2H6dXjH0Jzt*UUy37h>e_4@ zV?0;#q&0HHLH#A|6z+MOd1B4?570Nfiu8g$-w!Z*8117Ex&H9%wA0n(+c?U2R-R{- zm~p~v&UfSs2`WC^1-Vn;dw#tx`bBu->yq(?*l^hhHa|x1D&yeW_*O`%YmSuTxy%N` zXe%ma5r4+0a!mFd9bo~PC3D6Xog8en-aRPl`CR99Beh?Y>|K0x<3_#koR3k;DQ;Py!4RyZl!z#Ggl?0kdM&`MwNRO6HR)41tfy4d^?>VlMf-QQ}`?)_jY|PVr!QSCVDo7OL47C2HnrB zF7SUU8}kX>7?qe9lYJWEs6rW%?~CDxJ92wwI`=|{?%CT12k({#6NT6CR(Gs~N^#?! zS5lH2RUWz$GCvHv5urdlenxy7O-c7sV_o2iO_EzC9p$A)$-osJB>~Y0^}rRSq;i=E z&W9^9O1e~yP2$cKbj)YQRm8UKmEzBghtVZmZakwz5xCNjQNok>jbS)aljVm2{UoOTbQCTO^t zCYV;ZE%Y4k)ipEBI6Vu`b}oasuQj{|5$#tIJ**1?^Q}`p<1yT3<iJI3v zxU})Hjs(X}f5B)<+M69;rTfZ@pf19PCx+4@gc(l^QeEIf*`^c{d(IpGdNFmZO=)Y@ zg=X%=MEI!!FQ;`Pa$M@3d@Rv99*QtL-wPkhF?+M!1e^nKyc`399z7)LQO|mz8Goc3%lMmF}m>{_)Sc@d5Sa%TmquJD%KH{?O#XCshtk z3dJ_o*qb=7mL#~=@kXimPEHPj%Om65ReJj_-qpTOw)V{Zq#!QqJ!V_H$zJYfhKZ4e zlh)U{JUdm2!sAMbS+qz3st2rRqViRW0^&-I=008X>MIiA!CSrhL_iYksw~RJB-Z{h zd8H~hrr>wGlq zrL@CqiUPG8$y%OQ@T^c{is|>2$&+@7yJ|Kp8cA=ZmGK@hc@N&L@5}NH8ZcR6qdR{n zmXft@&(`t4RX_9gy#e96mSxSeE?R5cB;A=BF^;4<1{H(*XFfZLKWwvRT3c-^TXQeX z!cwikJ=-4Rh)%hiJ?z|~kPut=sQ-n}bwxq49gfAocNE)=-Lyg-1)QaeQhqud6&A^x zGChf2=CqRgDPCDVWYp{xG}4$~d-u;8Y^t!yw8iEV2?Y-*6TY$3ygMY+YwA6qY%>?d z5S(SgSC*=rr}oG=in=W5(MzX`29C-~Nxbyroy~N{HKCM_H{)qp$$FKJ-)RS(VRH*A*=yxVcH4 zS_-(=Jf}foGA~e7Ap+P-npDAJDm-F^W)ibYFU>aYK1iKRAM|!GF{bPmZMNT+o0=?8 zm_iXo^|)+yPJus%;BebshPUhCX46dl6Ubex%sCW}jmIoI+ij0U;?0(?KL0SO$k%0@ zIF1t9{y2KI`GHQeL3Gl25!ZxM?$NeFP?U?VcoPABlaJdN&}ZVu=0R%?nzT|f{9equ zcLj;I_))f(E*O6lj|zr$E2^-jf?vQsBz1pD0?tc$_tgN6Daz9y!8eis;n zKHPodM9;tdRt_Uk^}Nq~*7m>^Vap9jr1jjJ{5a!lWfdc?ugUFh_tRgnYx~^PR^Kiq zZbjCcCF&G^Zkeyfc?gT0b z&0XEouq^8{o^sl(nl{WNQRl2!8k(uUdv6UlqYTsV=5#Yk0ux1Dzo%i%Ucb~boSB>4J;Z$l#)yC^O(D` zGCTNhqBEyIYG$pfeV+Br0Ct~gRM+Ua8HHyGoGK`yoMM)~T96}`dqoY0`H7(NNV86u zim}*9k0F$UPp@Y&58QM;!F6Z#;wXa$s?7WL4P$pdb8hd)e%`HLCU&&?Y~Q-l5bo() zi%U~O=W<>gdqX}o#fzrhph~01KLkCYTCKWug!t>$?bp^sUubE=Uiv*V!x-{9UBqni zh?(E>QNgvx7-<;L;xuV55(%<)8q$%%a5Tny5CT1sa3Kc#Hx&IhZ*W+@wpgZWWpGz2 z?95MTvCPq$S$~86aYb*W>-qYtO=v(5<=h-!ab*=E-& z<8z8e*GSW51j&dV<~q3-%6b1456ZR3+=QUlHfKI+pO`gAnd@{I^d={{F)|}tb*Xq= z*OsrCaqG&$02!nDz|z@DjSrpgouBG zQppj)`?oe1uy~f!$*Xy{5596tQ8w)uCZJ-y*8jZeVfa|aVQgery1UaJi`h5((3x&a z{3d%T5&df-&D(@IK7{9}g1KrgTr#DrEE?0-v#}Yf4h}}$|L|cSlV=9w)ho@u#d%xl`GRld6w4(~=9QSm?R_*k# zQCYHSn*w(04nL=;6%=#-z{WInY}&+y>NV)4ltRy;S#i7SV?9NS(%gF?FQ#8m?A?6L z?cv!}2%_{5>@ArSI_*IzF41e=USlp$!8|<1c<8LM^maf`mArJ5lXJwYn*8gQmB+8IG_}gsuMY5IR?K%hI7G(s zuB`BIsNc zy`{I2`i_pRx{QV7!W;jJjN)gvob;FRxfuhyY8f}x zOR{WIUKrnw%xWBYnWq8GkbZMnEp)7v-P4y%&fZ>*Z7#2CvgD4%o6_=fo*f9;a6$^| zA!*IbYX9mTknJ#NYwwK?E^gW9QreEYW-@WXGOr3d!n9(Fo4FF9y#s>+?Y*jtg-U!_;mL)XGM0ec%&MnYG(;r+ymXEMq~Il}>6=5II@M0l38 ze5(#arc~bL#XJ>Da~22P3i;s%48Fb>tuJfeZKQ-yURZ|b1bIT|IGyd=?g{8om1nlh%zOz?BeS2HRH)}y2=40jRf2m}=%dk669R$|PRkd3wik9X3?1*7X%nxi z`Epo|E9wj=rWQ3nFU@w*icPICe)ak$gT&+9l$KI=)`9(qg8VA*@+O-sjX03b=~SYIIHfPS}zss z;rNuMwMT{A?cAi%I4N0S%P>tN)&8Tzp8Bd~S5mWW?Q=!}G4kO_W*(0|%og6{qaec} zQhuLz?(}{Ifs8ob>UoChDq60+*CQjv_iv~dR!t?BS?zZRK-eByR8Br)cv<_|s5<8r zfr20p5Ak%y#_2G;#**uyg>jRCMP&Sj!IO_nEEv=awNh=OjfjixtPQ9&Ma|ps=D9(4 zS9Pu^FyP&|m?`aZH`c@2c?q-l?O1--1cqo>kPxP{&$fMyTfXsw<#nC-`1t)w?N@@R zz6B+3(e&NSy^S1 z?DB2)HOkQmdUp!DCnkF|oQ6g(t1>mHvdU72j}$4srg=T(@R<~XGENxXao)7&0ewKw z(pl#U)=`y}NAk?0G0J>Nj5{ zkvnh;^N28PO(dXnId{(c;%DAwcuW~yQ}u5Y|wJ4mtR8EEQv$s>62ciIi1kv zIbM4dD_TFJjR-x+Zsps#U7Su&)|*wg$x_81cyPan%OHfwY?TIk{LE1QeBnj>05_at4%z4vE;Yp&p%zb zw|~Ar4KLQ=dL|ymaz*tjmks1iusL2Od(Ayrg3H3gTc`|0re>3ZoOBH?2gQq~5ZhyUN`)F7@T* zKBu~lX8NZZxb_}rMjv8K5CmO+Adr}4!m(&>_POt4TFcJdoC~ci zJ1(!LrsJocMN^Buc9zhA2)(wi_8i1tIk8K3P&Q9-Go7xZzTh**c#gh()rpd5l$cvu zH`0GBlHcbA-ga4WRTHI;`Owx9&H^V$)Unw-Y zicorT*k5OBtxGVc;A&H7wrirDd*`$3%~Ve`xd8Fv@Y_4N&GUGO)K>C#B`rk^GX87j6f^*|@EsX>-qIJ7)A*%azBq@fNMB^lv&!$n{gf zb_r9AQR#ta>7MNA@#ZmnyY5M;=F?lKzy6Jz{)?@Uy1zhwFD=w#PUar`~Ja z)PJ0lLvzp7zL2)+%794=qg3&r=O+4)f)Y(6w`}(fRXnI|X~sbOXN(Yf{p<1!)v<2` zgo$v7V=vD5F&M0`zs}AXHt-2|B}^RVcf;lwnOC%>);_89saZysNT%bt{MA_pG=PZ@x)wkLk)r<}F`@4!{e@?B|+CF!l?`$CNfedNR)u3j2j7Xbj z9ci-f=+E7WVXS`ccY=BGq2)?%Q=UC3Sf+w1Y?p5#of;#MT_-9c`;jb1it)sDC*KvX ztASmQ@4lbV3>sjGzBtiHUcj&Z!6Yvgc;oYZ>qa=DoGJ znu8vwUnIAAJ|bT-it$Eax#wc$f&5bUYV71{0aNvLQ|PUN>z8f_qo?Q7y<=loki#$j zG;f>C#C=ILI`oBEchz>+R54CgT7#~C^ktsrr#xO@jf6yhc5-OOBjv8BK3RxCu+UV< zlwh0J+Q%xff>}ZH_3g|hC83#hk>GhOQQl<{CXBoErq~td(=Xe52#LlW6xBA0JWhYz zQQV?tSlC^R_oT;Mkjvwsdj8JG^@9OFO-(%cwjse!HCT7gQxQs>=rq)-KH>2yUuUYM zrH}N!C*CI#`8Lb4{q+(~!8gIdVpfkuIERf}gce1on4VDN@G{T!m-v-gEGh4UQrk~m z>+m@@=RG6)dZFLhpcUk7wloS_w=1Dynow(D$WN|&+4_FAL~T#y9<6J(+Ccz+Px|`D z#f=P)Mz=vO4~di_YppZhmnf?)cGCn+I!0d^H$5X4lW88V*%6r*s*s_I*OY2E63_gW zM`D%VU5IP8z@Rz0@(Gl7W$+;G`j^y@#PRc03aPyH811@j&rwe++|jEXdXg&LLo=Cv z!+vikX2M#kEpf)7@g-rmK1HVRNgeSw zr$aJFokQK9clJFMU$!o54v+ovMXg(acTUV)vaL+(WZlC%disXvSFCl6_v^dw1qc z)#v=6@`^cXt&zyLvx~;7JHy)L96lSKwG%APzRu%0ODyV@bexV#&aQV{U1uE}iiV0z z+ue(L)EEW9tZokutiqM1xT`m{NA>aOYp%?8w3O-nG~&v+}m4yq26u;Jrkjw_{&7<`?HQg!C}wGEL# zDi|k&%gYegorXL6Bu~$3hq8rRwo{C5v#UwEERC_>+0=8n+&?;*60$G$UQe+B{Yj;~ z&WukH0Y!+$q>bt)j9ZVDZ`qMCS*=A)jS@$)Up)IwMyTQHLgdWTQ{3))-8gxLi28iXvmRjXwm$sR;%jyYEGLDd2;e<$dKZr>{?C?e4IxIdtCfk zC&o?cZ(X3hkZ0_R-AjK{KaHS|?)}}x?qG5CQd_smIeW)Zrqc`f7gQ^Kg^JQ{R~Sz} z;ES%C{kRM*6z^r{lVMM&#} z&6lAwAw4xbEvI#a7L#*YzAoR@}?o+mK*w2K`NWPSHRek<*@au|?+F&4YxtwqHj@bk&)kC+9np#Rb-(C-RgB zKa0IXp3Ff1II@YpTGE)+Ux{t4V2R&ksh4?lxt@&gu2Ac#Df-b|R3|>x56OJ0egbDT zvG^K2>n^GAy%>IHN`lu>_Cow#0+SK00H4gE)tuiJivWk(!N{wm6&s~(fy8GEtVMbT z9x?ju?_boO+EsbF$Kyj?E|_|DjzFpHQjim#@n;^jd%+3*B1EU$Fvw5?pVdsF?`?X@P=#w_;07z|7}HzMgl5q^R2uDJE2$y+TZubfbIu6Jp*;{5`I6ogBAw8Bs2 zy3bWx;8>MV3p6e@VBMorATk(BtCjY3JiXPzwnrCq3b>s5Ln&#o?AtnE$8SxIY;%=t zb=|bRjFkkGkgG#V4XOujD z;mKr5CREYPvlqxb$)zXUc8N?{vKC`ZiM!&J7lS)IPHAp`OVWXzAwBF zd12@#QXXrd=H>@5L6_+5QPeAlx>+~$VQG0QnMill$qeH__i=q&68+xUn_19y#xC>D zIrP1gP|?#33LiXhhi6dw0(lx-*ABn5C~eAaSUgc#TurO;nBZPB>`B?ke!a%cy4<$xyI z7WKXWjS}U94k^Ok0emIAbn%9M=bNiNiUH+#0(cQMabKOobiS_Uu{u?vSZu70_Zzy! zKl5q5y2K5Mb;Q0LDs&R|=fNTN{g6wv4Z_Z^X>CK5oNnk0K+XhxivJM3Q6)gM<>r=ey_4qok+b(I37G0bps zV&b4BPpaap*O7pRW6-BFsejzyiPnRmA2gwpdvNb-Epwt**k;8`EJ0t(%AE*U%O0Ie zIUb{vr{9^PxFua$ba;u{L%rPv^4T8<>1p#@N=dMBBRS+GA9h}-I)O&6g8{1mILf;E zp2CHk5)DsngYCr&q{U)d+~>Z=@{9 z-}jAzU5&WsN1uQjkJ6h(4D5_xSNwP1R2**E!^Hw@U<11nmMq5#bV6E8)k;!Y3`lPV z_BXx_^crdpY-$4htO8`w8d-cx+*39(fdUeD2GI!vdkY%@RR{{UK&CV-v61fEZNQHz z4%R@DD6DD=zNsm*I;;Rgiyf#w;bdjiffZ(HaR5aJoNVkmux%T)IN{Y7u=GWCE)E?a z=MJ_578t0A;?jZbI;6$Q&8Y+1LPd)mzUvSN7jPf2X@wRSkn_sP2G#)q+Yo4RL4d1a z)qq;;TtFkRIwgP#H|!g5DJKgH@D13|NQ(mk0lp!q0l%>VnddONz&D^W3b>aI_y)Td z0;KeEz}W@T4YfGn8xgPoC1$WI;T*y@>H78yQ2(RF4ODuw!&qennAhR}1ML7w_8=`b zc##{tdn~|j5TIUKiwz9xJ5U@9hy}OoB&S{V3Rpu$2y=t5TI~Oi<=V= z3IymnAT{8AZlGR5iw(%jX9obo4s0pI0aVVga{}~$+ArX809>%IKp7G62iTPw;1l@5 z0s8~X_h$zZ?SWb_EmjDd4uC%~b>M!af;=$1TSr-te@lC0V+X1Me`G!CJZ=b1W+Cuh zs;@~9gD2k&$=G35aN9Bnv<6)NYc5*#dSHXvS>AA!&pPkaY%b9t1OWxVf%Vx>^n+h!(n1^4($ak4HZ83{hQ+IoKSV;z-*GH|EQvR;zmeu*Ycz^IZTOt(hU^;}5I*Gk7$ih${A=Q6(mtfi8@JKn0u4ul9x7l-{`v z5%O7&iiM#!YyEy^$>l=Ev=g#DE%&+dvr@;u^pgKp;QC7M84g@k7bs$Ay^{daWXh zz9<^mJh%Eh#)eJzI(4_OSgznRw7GU%SFoW{R4IHSDvinIZ-g2Xl0!&jPC;e0Vpg1l zJawU_(EEJ4!|eq=ON|LcpI^|+ryO$TUxgYqNk6C0IlMc$+5-GrcCXr=h_$+Fgl*s* zdVv}*aU-hxjhn16p~#%D_tMVBL8b7jp;hFi6sS;rd8WH{v2;&Y*n`kpgd+ZFyBGsT zkFS;SD{k1B8jTMtjksaH7~@(?f7fp^Of;g1m0Cmk^nf%iQT5}A9<+4R(0A-j zw4zs~V{J};(oevT7onTp+FlVnbnIBxumE*huwl9!hWB?nIhZw55;VnManvnc)(WiO zR_%L*FEYUSIJk+eKwaWxW3H{+#c)sUB9@e|Cl7+upHpdLl=!noMS{uRExU<{y6Wli zx||wMisQ4&6JZJsT=occl{;k@0rKj=#*mUOI0=Pn2S1UIEn0X#jb)+73-)rrD#B-b zqkraBcXQD7Taf38VjA_*GRh-`bdPLGLnib>O5x=y@3lzWOaw%e85DFw5FK z_mEr3Gr+kSak76r@#I$tT~+@KMe-TROQ!Ui!PyeL2A>Ej7KOxLp4}e4hifK=YD!ok zc;S={N{d9<0LEH^fn4vIxdy32(zY{{d5NhQpM*PgPB`ws+dxI~R5ccfdQOF4%Dr zR>_X-r1mIp4RVQISu@w;ceG$6UJ0uq}1#W#YPmAfgu41>%7+gT~r8afP+_x;Yy-<-gNSSF(^OXB8 zh*+!a;!9GlMs$mWlzLn-GYjJ4AsL%KjAb)A>4`fh1#0<1)~;C$h;A)St$mVkbL!fv zEhMng*79AvPY@rpnKvjfH}xM)L&;9a4t@EYAj=oYvACa3tb~;?Bqq1Lfpl$f=27g6 zw!_S)6y&0kv^`nm;;mlztp4#y%VSAfvupxlW0+7k=0{ahV_%@<3ALQ zTaxO2PAYJ&8x*uM9aB$zk7m+Yt>dQf;$iR!=pR zXMW|9Tad4%XcfvG4%qFhfrAcJzsS`U~Cw<;pqo?+u8Gy zQb|f(fx2&Rv-OC02J5%8j&+SVzL ziubrY>_VvVcD6}e<|zqHfTS4P-PLX%p6PZT5@8kLy14=tvxAosUJ36XvTIH}h&U&) zjICKKF>%RJt)M)}sX1xo{pN%KfiWXA&?vzm0hMxncP^xQ_K<(q^~tmnd6)`0)dA~7 zJjyll7|~s*Y{}}U65@301;)`ylMO!hDB&3$umSJ21a^gO>Us}lF%#%CPT0qk2(s*| z^N9%^thK$YbM&uGAt%X`Xx8#&_|WZ)?{{3Q8Kl}csIX>2)l^t~(OO!D+1C9)KGF47 zo}@uY9`lJ6K|?)iU7MRcchL&?-xy;GT7I&-+_JZrocc7TEtk8VB`8h_A|oL`UwDCZ z>D3mt8}ndb&)7X}6vNQ__d*7RB-;t?36_dU%L}9n!guy?hm-XQmt9Yirt~BM9`wo9e~)!jyA++HC{QOG`EMaku9+KH+tn zE^%&O$_9ZpKYr&!Ye=_jkX=F!_Yk=O|HNDkdy_!D09wo{%Pw7mk6Wqj zI}NJv_!+!jQJ-mvPTkHlxde`RPWNtmt!J#)qzs;cbq)KC`;E$5oGO-mxs2XknaXar z=(On3N&AvjCR}7m;e2V$edmI0l)thaC+`_ThAKbTYGI(0sZ$kjyJFXeyn>*;L}B0_}(>{|*eLm@}#J zN%m26%>f-!5#0eDL3EGAp%rv-{(0&-UwFJ)?xk$$DDAzVyQg!u^-GQK^7NxAqYISD z;DlAaM+qs*MPl1vF!fcx@WvLbJLIA!r#+&uO)ftpuF+t6#%)mfGDr`6{UQ&J%RW_h zfP3Ts{#MvPK)B9(zIT~#)81a?3s}H>UvneQQ!V(@Aj&Lx->bwnUhiSIlTiAMBER6a z*(IBx_iHU0pRYFEi*%3BR6_5K#2ncnaK&l>ZN8Ff5vUQUXf2S(*#@@6p^z2m|sn-lC4kDmSqR5uICUT89?TA?>VD1kYT`2nTVGk(1A3bc5CvdqVrmzO+!ZWVK6 z$7MFmC2BllS8BQ8)x&gY?A*?oL@ddCl>k$m@xkPWjjASU9;$IF`_k(s-fAA+Wtp!7 zZ1{9TX_JA)GOB*Zk~YUP1F@HMSK6>cV-(^7#4)oIIX4W<-2M4*vc=ql;q>&)`t zaGP5DXZ{EL4^;{A@x(s|?1)R(>?H$`HEBO>FG)0_Y3k$Ib&t0u z2KQ5f(Ue>W#&xdz8VF`8*6E8CUr=~!`U=IeyoOdZZgExzmJk{&-QJ)+$M~F&F?%L75J#EKy+d?1JW8UEIvhjX?))tJQ`P`H<|X^4BW}vzjW-S!V_S^mxXIy z+qP=8hcy*7?yd!m*N0df?%sHssqcTlR))9Pcx*U-_PAd?u;}KwTeMl&Zq*+6rVXMfBhOv4$VuqJnwvj>xT3*ml)rD*`wJ-&RTdYPr|gzzCG|vOO(iW@UX>!%gZJG zv%5<=l4;Xt?LP>_8Lfh{SvC_fhj@D> z7IMtDv$r!LYzho>U~2I>h({y1V9Ekh6QIFlwgtqY7rHvBFuVNM_{^ewQ+ssjaQy-K z6W3O>UjXEf=t}6&IKn^kt|)@|c|PY{705lt6g@L<)<6pFeW7;Xj#C#m+RKYmG*c|9 z#Zl7WiepD|G=(@S?>Wv)yLIKOZ3VaSji+DIHmZV-v`%d4WmE z5>`NLLbH+AIS;1u96l@L!lUj;^dtYt*K*=J(uT0@%uoJ!61qNlns1CTB$P|yBL@z+ zkEhj`o#Qwzn4&72Rb!t@GhOR~w(~?;s$s*0Uv|PlfQDr5?w(T{r1Y zTH<~n;J9z>!)CM+N@m|LY_1;SIhH@m+_OQ2#({0$b$t5PHc>BR)`F}^*Wg9(ysF54 z%pfBqru`{ztTFGKW#A^X5iF}g7r)pYY7F!iTjrI#gY+z6TKRpP9^5fc%nfmxH+47u zYXCyzFpY8law$hvc?)J^hi+o4rfe3`o^#*9ue7$KtrFFZb28UQ&hBn_x@zigt1- z=G(kEn|29?W0~_r-IC1wkx;XW#R0H)s!oF)pizciHp@Jzk(Xx?CsnIbBxK=~Zd#@? z=|q!Mt|{(V7C${pBUtNh^!}pOHmFgSYvF{Z?J;_T6B}3lwaF2>dcq|C(UG89Udhps zZ8)SwtKd2{{oVREeayfdG6($wK_>~~di(#$w|UV#vIi6V6Ac%X353`4ZME@c4l zn?!JFD#?g~VGLEZIJ$Z`Ny)|wK6V}3%yFV1^{|oOK@j#^zaKOabprngne6ykftoH@ z2IO}$t5gb&=TE)hO1R#B*c@Now&}NT;qXijSXkJvVnb0j0jI;6y|+>Oj?Xciq;3j< zHZbM3x%gJ{uKh{mp1~&cHVxA{<5{p-0XuGPPY)2b1Kx4`4ZAN!YpOE&+(220DS0%z@^!v){fi?{;{5%w~q;NMWcwwe|xQ zf7Se2#8snBz6rkhF5d# zbM_&M^lx7o8YPI^-idg)ml2~$!M>S*(1-A+ z0Q+X16gnVo!e%HGG9>xpfx#Mi<8t>U0!TOKM*{hI`E=qf+YH%H{LEfFr+u{!2_R9R z9*ejmbDmSn>?H|2gIh&QK+Yw4#>+g1AdnOwo5aY?6hagK5+$VS$Epz~JWZcnmz+ZB zCFpQL=B*G$O*!`ZlFT+&))mz=W? ztI(^^ZK47>9nx>f#G>!b5c}5?up}BVVY5J<4ZuNGbYHs2elK!TfHRG~x*r0y4rhRJ z3|oLKN+?0l1+T-1mnvHz=_VFGAO5{7h$7vkkEJp&CW)s}sM^edVgFRury}+zOEq&U ziTRkCu$e`_PSES-VR@*HF)v;AJj<&TB@5MbDE7?nkFSspvECkROUcIKBMrIgzzhE_ zz;^UT$mk@(ZrmuEQ2QYf6N{XT;H%CEk##5k{V@x4`{Nl{z5}4VhK^n4v$=maoVr52k08qfVO+!T#4C=qfo-9~C`S zQeSs>au#ztG*WJExhSXEkma@r+&TNTmS%oltXbZCG@YaK*6Wws4NWHPA)Btn-?h0%A3S~xysv({Wci7GPhX}>{LjzPsr@`oCK!=*Eb(UQG&uVJ<#ah8<(+feZPo9{= zFIfT)q~QLrV31f5;3(h`U*U7c0!z5bf8451mGWD_hj6%9;?ZByuC1|O3v2u6|H$pG zDO^ln=Tta4t*Eu7u(M-GI4QPNeNs8+X|$=cF>h+G>@q%Iay_1bXvxcOXykC+-wQ=c zQQ5F%rA4}c`;D>HrN_(9ir$*Sh5O8Or%gFv)kW%Q<`{WIOvlG5^xkr>4nc^M zib@tF;qW}H-O`b+EEt~0B|ZJa^v0Lpzbkl9%LfGca0n#7VhuAudh^#YdfrFaa)hnT zg8kG2r$I0j!&`Y|z8|jh$9Jhd{Q_&H<(hg3hST9Q9bm)A#{o?f06cap&*Z=3hGR^e z(e_VpSeX#JaH!owx!V+Fh-LAA^4sxP9prpP@0b7HZbMZ(wiqgt(#_eeL2k;{-hTW^ zk}o|k^(e+B{k1Y2XeC=@jq!HvmD?TB~ZSACn*1!hwx|%gePK z&8R*}b_uOIQ0O_CQlDPq>9Vb0%us8*fOs7GJcHEg zFN5kK=vshFR|%luAjDl!5m2kFY;NxOQRto0tT(U!{E}H=om*&{i~Po^*5s-R**!zg zuzlJ|c|42V3LciwcjYkBVZIR>L5K2_B<=XbFqSdt<72*Zuj6HNL00jIdEu7%r~!%t zN<O(zGv@f9Y0`vrHJv~bq_0(2=7M&E*| zzaOOoJS9h!+^g?8k*_h-YSea4PsaMvOzrJ;56xZN?P7oOG5ZY`*1b*Pv91yO-k^WS z!2IyE_T%fzQ6QZQBFcJIURG5tLq)FPkLq%3`^;Vw_WC9c6CUl6gdJ6-7#tk;fYlz{ zNGo=fEoBIiC{>;3mM8`(4t5zIJwwwDACK+e_%Uhe6wP=mS#QYo(JF%oj7ZH~G3CYZ z=J><-_`^92g8M_QK&uGZ$i-dokUNXOXYR<9B~}k1SwXuj(ExwviX6QxszH`I+5%8C6*PcJUkAzQXbg0@MxFI)D4*({D>oR#7@n>JBEREZn$quU}dMbyJpJN z2D{P)dmQuIyPmoxrPqiBKR785t3yiRDNmQtN}SNqmPlqOGnK#3wNYp|BgAblcdF&d zt3}4ORy#s|U_%(Jz!W@|3RcU9Yu5PQV#@_IzZ>nV~h#gcq zI&Ie zT71_9v&Dw{Th4Is5D9qKMa5eqc~s@I*zbyCe6Y?bwD{>`GsO1 zo3^jT8ELb?BcIpGxykZt{06ng^rzARSyJkNs3^rT+K{S3{tS%K4%56 z+7g9ZvIgb5JKO#&VDjbCQV?($m2Y0RrM<4Q?BlBzfv_+^0m8D@lHc$y!V`R(6HmED zZQHnk4T^nF%5&os+sXpx$(BK61>_D7%C=c<30YyjFU=o}Gp;hoSoxO1V&_a-%9d{V ziA32OfQn9iA$)6=poy@vyr}#Iv`_~Ye3qy>*~<%VbA64Q5GC_!?NvB&!jLhGky@G5 zaKL?%rWtdO;diNnF*)|K0`g<*%kQ500z#zbLMi%kR7fAVaK5|M@n=(zP;@uv-k?0WkCBTGc&NW_E+1(FFKe#VE^8LPf^T1LZ3gFaf1M4XcJR_R@A;AG;ySTk1!EuhoClgG zXRP0|Z9rMh`L=uG)YZtTQ)M5{8&6kTJ4*K)4)pIHWC!fa;jh=d8>mwYn3s?WLi5{Z zb2=#r3-80;tqn-m%(~*trq2(hj1KmhVM?(qCVQi7{EvK^M@RKHH*!Jm6t4j2s&aC1y*AaRwcq1us51P zil3NHPQg}ude>iVSpF6|h@8ebX-3I-nT@NR#D~Rfd_NK~MA9$S&Lox#$?f4Ngr)^v z(_bhtBweG@o#<%Hd5hnmM(o1Qa~R$QfA{FN(VD26*3ItgQk+<*h@lgU2tzo8@=RmC zix5YrY-AEPw2Am2{Pu$-QlT%9>Iz4;}c&JlT@=^o5)rrNEDX1Glj=tVX_Gej6dzyTOr~O z2D*6#g_%sNXAYJbEOYDGaXMrS#fSO%==5wOl+ZFw`o}+*X0znO=@2(1i2{ zly)wSS_Eg&$XAlTD_cbFh3Kj+0yPY~nHIA$M{2FP(s;PJogJ^LYVyF)Bm0l$PFMMs zH8tw*9c^sVz(|#rHXZ$>eao{@SX?JuzO6$;VXVPk^aE|@DlI6kK73qt5d=(BxeeLQ z<3tI}kGHtG$ea9BmtoWp93>pB*wywYnGbgr8bwu|gmWVHYgv)J`zUIIa(n$XE0L#* zg)00!sn)(3;T6|DlatCqFLeSX683s+C~dq}9ugg>@M=DPU5ga<&{>(yJ(lW?|p; z6Psl;12Y?{07DYuS1NzkPCMIbEs2c7+8&FoV=LEe;kuY{rllN6xBWw=@z`dudnQFw z9g#gL+{xDc$#d8nhwK9Yhalxn)hEB-+^^^#HB8Vanq_8yE9?fipJ-SsMn;inADz}8 znt3yh`ioC#mD8Z*d3VwGP_LUz*Vi7g4!GzaPRQKjzw^5UgxgI7v9R;j=ck8@JiIqWge0V;tBrrSB-$bEEt0#jF7neFukDCxOsB6>4m^;n-8=|f z!4t-hOJbn2(`fLWEEk03b8X>6##0XMTJYVdprQ99652=-2!4#V6WUzQu7ytVI<@yG zTXxokI3jy^x3i70>^aQushQ&!`;Ehgn5gHNEJl7ua49w0;fqFa7PT4h3AC;Qwi+>c z3TcrAg!_I;FfiI3=I-+?t{GOgspDvY(9u**UpybB0Vv*3QDZ&g#e3AiBf0Hz&2Aq} zZBlC+CDe@{7LT6-?v_h;7xSlDd#~EJsYgacC!_ha{PfuKe;jMSuJY|INhUWE4x$kI8s>i zl*8B~Y8n>H^qoQ=>vH1i1NCIV7o{%JTboA@)#P>Sx(uv}ix}B(Q=YJ}Slr0sO7J9L zaIdhIl7mB1N>$JlEud?_Gd`~AsE<5SY&4_at)R`%@^#s4S2)u;mlUjVw%5KD*L%F) zdS8v@eujJ{2+f0b>pTxT;ecpAsMqFots$F~^L&(UBP?(V^BCK8!=aCHQMWo}t{94o zQnkJdcWFAZs&`iv^dFm(+psaedP=E&IU0^rE@#)JE}$=}g2s$XV1QpRmzdEit{79U ztG3s3mbSCAa(1?|vy*1mS^Egb$_i!a&C>TmyWx#y6oc~vOc{k!KZETGAg7qPn9}58 zkXf#~uGT;evS7oE^~fXeDFoqr-QC75ZCrw(4yQujGbwFyar!&?R>C~2!k{c6Jag#K zzr{~*wZff)(|Dt2ZIDJn(m(@|*Qiu01yJn=kJAuaVeP{~10=Z-2?rgxgrBLNo^-X> zEQ6256ZTB)gu|`a)8jIf*ADV@Jf|;>kp>^U!0N=tCBMKy8bKa?K6jD-*nQ&=Wmseg{Io>@WbZ&nE21K?gf^n0qGq@~< z=k+Z^@*?O;$rK{jG6ch7`6FiwZkS z7&l9pFp~R#qbTJXC*J^}zE@3J)|*fOk7`;~VwUryC(LT8o7oM0dsPlb1b4%d!Phti z{m$c?5#ig9pN6q0@pkS;X;bJp1`_o~s7IpaY4GMaOiWoEu8Qqcl|N5{<_$0!EgNJ! zW*JNF_4}Inr9>`G&aehp{V~oKd>j_h-Yr&mHTta6q>}pCFN355pb^Dj6S-@WbbUPr zTY5i4D`ix-(ylie=xe+LG;&OT_{izj0*li0+8dq(yPXJb^>A zqCrW`DlXpKL?yl_DsDG4bVdG(UG}>bd}g7f-q~@ba$*O8{iC#Nrpdrm>XEO5K3)}N zQfCgq1OWY+^XJIIJ)Q#&(x0jO-T9@_eAXDU$ONoGwmhSc@gJ0oTUISc$Jucm>}^%! z0rA^1(vCQEc{n(EnBVpEi+LzIcuSU&qd?=QsHA(-__fG5qX`rFoo4W+ZO{Y=YViiDj*%f%l3;xU^gL62MLHqF;G%9lqTf6rlrF|^ zHgp|($bKw+1cLDeI7b&a!$iHgdj+nhga1zLx1G>+M>-W2&7@s$^p8Vie|FPr{oQgB zs*ol1LuKSfW3l`gT_k2GTa5mm9PK>quJa%Z7IHRLjA*L?Yu;pU-y|6M`O%iSkz0U; zR6u}~CBvJBz8k3(pD--JtK;4aD2PzW9%f4Ho}9F`lL`}~o2Y}W5r(&@brCK{M3t z-FQvsDwo?(`S-qEq91GueN4CH7QKcKA!>eQx1 zj;mR_Xrp97=SpgoC6_i-Oa6~E_xKVgk2`wc z{7==Ik;j^ow~1@&K86D~TJRfKsteQZkeieQJi&_e^pYly-f1m9(=!J-%pEqUR`?gc z+3l9`bTZRPmF}gYBvBrlM&8pC6z$)53ldk0$tr7RK}YzI!COSOAIu$cOx_F>6(hXz zSw+@WzP}K+dzZEk?cRsnj0xBplr~HA)o0ADg_Ic7Svi%~Tm3>St6HjOQd#Z?3)9WE zFfjo7es16;p^deIkOK5p!8|dTBblNkbU*zZ>G7bfMQNzq!Mn+Ey(Wt7x(fDADCx*9 z&*|te@OW88K|&&GZRuip?!UP?CY5u*nn~TUz{Q^dhlBL`rBakL+u$LhlacOiurO_V z-?f?b`;1&c7A%mhR5SFd_fosXxeCQ4^^MKVE5OLZ~=uHi0R9nM%HqA&8C5>}oSkn=;u3L_!?=@Xn zIf30V!nJ|}?PCDBCBXzYfwP51;CzBSAzUo=ut$iN*U#s0l@e|m8Wznl#~9rTxU??7 zw+M%|Y7zY9g|i_FqYqeJ!@IM=f<`7y4ef1n+f)@F8YPdEUxGVrn|ubf53Yc1A&T1C zgkc56*}a<6r*w{Sm^^5~8u-vwWC3F^N%aC7rwri8!Fml3ES+Bx*3bK!8@pe*tJ{n* z0hCzewLt1*O&WXi+V3(epLk8SB$|t{+&pP!Xr9noG3YR6PjO&q>Rkl>Tj@!X5B2(P9K+O;=^Ur3xzeOe=#lR?dxHu3LU%h^UHhJKMn|2n z6##I08?U1sxl2PgRa=J3WzB0@6hj5+=n54GRu;UQ#mxX?m|QBTz!CyJb>-Q>6<+UD+}vzFz!ozHe`>D zBT2;oGXu-C5_jkYGXnq)5pqJyobrs2oQ%?eC@o87UC!PN;ioea_19?iH86~>`t-vs zTUnuCyP|HfPWrJ75LfGn!}s6DmbbE>fx4krZF2hLn7bYZ^3D)2u>0A(m-m780yCC> zLaxeun1)~Ex-moS-vsjMD*}_h+sU`TF^D9cC{pXogFdOZw>iM)4!Ro`dDOKh2-o6_ z4Nt{~eo+UktFst{sU@rHx97K6I=^5ND&v+s*rukU$ny09^}9u4&CN9?3@* zbg4a|p>2vqzqQ*=jahZ?+G)P@1YEjjC*)-1y}C%il@OJ&T6Q-7bzz4!)5=A!&oIr+ zR{N@xC1Tc-KuCzg?+Et6EC0JRs=m{}{mJ48|D@Ba5EhjkO{^MO?8lESPJr}nj}|qP z`A19z5`>+{VXfZ&a(w+-Sii(W5kKr8Dt*asY>ob0Sh54rLXmttc+8 za8)MTpPkueZoYwbuL`LT5J8;|T$(V8M41c5nEqME zGu0zv`i&r1hoe`=XNMml6EMGjH^fVB{stf_XCQ|(0$p9(31hH2_?Mx*-aMW?q$v53 zRhb!Svb|VFOg4EK?_GYFd2>C6-j%lc7d{1F*7CQPGlj@gZ&S$DGAK0g#+x{EQR~Y> z_9O2!DLjuY-zyjT50R|7r+Sc9JxZB9+Y^y(unmshj9W#RWo8iV_f#BEY%vHtQ{Ncp zzO47wPBXPoF2ma=0LBV<9ksZ)_7R|5++jj59chUkq_57Xy+1dOnU&zzX;HObyk$b| z&8)0z_S)naKJPztEa6gJyVI^C`ZEjO-yXCK_OTN4Jt2lZLJp1wY;cB+o_N1*@KfZj z|Jv50oE{)L`4j047tV0$R1ur15b1}W`x%-_Oc0((^#}52fmh~YlbOO_Op|Y;f>Nkg zz9{>~jMTsQ5>j$2lzbjE3a4!PT5}Z2!JA-0k`}c&0|A0{c$uR$6ng7tzZ~rSTRRRSq(Sh`& zlcnCfLH+LvQ!bD~{ci(PE|B;G`BG4*$3MOlWDoxrU-~yT;op4e-)x`%5(M#Xu>NVt ze>M!Hul{G8$$uKJ|3?G=1Bd_=M&P^^e+(o8#KZGH{X_x74#>6(J3f}h=cKeqEn7{IQkx;2Lht+ z0Yspp|3(1+ErjdcVZP&2cFuQv`d%LUJ85P5TNo%yhK(Jx&wnWDdy&kb&<_v?Q$h9(WNF`j1Hn|b_ogs|+$S?Aih~&xcK8>kvi^-M2Q`Hm zR37s?PUU3z7fk(!xPtoPZ&@Hl`kvACH;eGS9M*S%`q+uwgdE9eQ-GEnbs0-mCcD&5Z9zm=zQ{$IS9hW&bg-??r+F>E6o(k!(k)#N$25Ck?T!91rxoU`)Mm^#H;SSMZLEpKa1-@J+-+#?b)eOIt)wH=L{%DJ?T6) zD%3HSN0`HjO>{QDsC)Nf_Giw5cxzqIJ*}X{b!2(-phNf)P;{#}pV7CRarN=R7H`1k zb?Zs}%cL=>h7Wvt`}}qUa7$Rq`22}|u;uZU&{7AN=zbDGm^Mn9rS_G3E-d5d^#tSv z`0=XN0s!P!UQfc-h@;^Jdp3Mg&4@?h`a8zNd0%06zQ&8$2;xNPwO|xN>}C=aey%Q6 z_gfeVr<4w|gcufthmtM{Vut)?ya@kmRE2C1br%}03H{HRoNgZ!LmYJ12<9dJ(Q*~} z(Q+2QC_h;pryTfHCfcthf>{b>ky!H2g9^oB=8mAV$}mlVeu_j#;xbf-9`uQFsM3dT zj!4q!iP;At4gmO%#Yp8rYB50`Fg!iX(4e&vhDn7aJq{BW(On@T={Wh>k{Uv5ocBg= zx!c}Nq7_EP84N3U4ep1YQ#C6c1vPCUT@6s=B))o0MAdYI~+8(j{I&6Vo)X znwvFIplk0dwT-)peIP{O?bgy9&0t?L)u|2D3|ONzG30Uq;LWb&Q>9Wg2RSChhs@l* zy0H)FX_dyG`+VyY!vEiIKmW&h4gPNm_y2K){_kSkzqbg5|B7+{2{Zlo`^diqMg0ro zGP8mlI_OsNf5Et*t28Jn`#%Z!X{wtix-jrfK$%aKp7}$hKU98CBzUxK01bZN&ZAhu+Gl-I(PpTvkzmRCK5>iv*inO*LOPrWr(RB{%a`E>hD`i*~; z1^@BrS?B2m((UnO?~wPr*!}3R_~_`!q<9Dl4s7fLLNhWgEw#!L)sXLkjK%MtJ%Qmu zl0wxh8M_BRNkw->`E7Lju0&~F2)L^y@3cPo9nHEFNOPBz$nGgV`yC=JhY8rXeS?x@2CCp;KEg2@ZTXi`sT;XG(Wg zX4#_;KK~wYILJ&qB2@2MSFfnd<;>G zF`f?UPe3R49v1Fx&A!sOi~y@4Y~&VncKUB7m#96xKM=5Awmv(ixy=RfTwnmV0hQBd zLRg{30H0kqm3WM6{Daf5J0C&UcD{y933N_7~4##iZYL`Z9e&g)x|8NytvaslyhTD#|jckWTJ>D@k&IdnAi1AY_2Y$|wCN zpHnfr#64KqS^(n|Uk}iVuja6TN`^CZjg%fciFN-c2P-F}6x|?`2gjaB_3x+Y``q(= z#7$2ffh<|~j=PrxTjd3Md#0S^mO!TA4`Gq%FeF`bz887 z@oD{RvwC@bWvPOQ3Y^g=zkbEjZCHn-^SR$jSX$K7Sw>CpwWtCJ2_sV3k2jtJ1Iqxc ztfK;)7AuOMP*&acH9uu2jE{10{$?l6DDrj~-?&_Q;6Wj1j`>jW;JN%(X5=+s{SCjCWKHb$GD8=k{g!o45V)Qkk* z<%ZcbhwRztYJQYPrfUhWPQ=}Qml~lR?IRh@PY51i^1q|HNfR$V5aL@;4o1C6_H!Fm zomgsgTsvoSH?H|@&8rliIc)i~--c1i`rFMPqZU?lVe!Ply|AO`BrDiyHfyb9tRzWR zCZ7U(H90(g`)y7BLV%ZCt${dcX&6WuO-JZ0@%`-=uqcXMYF2>lC`{=!MppTAZl?$@ zRsNRvNhiV7lHsC(GMkeFponI zjQAgTXhPAiIPv;TSL6VV@jr|4vOq@u+lJsSAa7_N>Il&Uo<9z>F+zt<{(64J-1r3R6HkL>a{VCliW}Nal$_% zA#lPVYy)(v6pgEIB|J%@d-d~t%Xo7wfFU;$eVqMCw+rO%!9SVDxK)U<&xIkL)CN_~ zjbqn`NqzS((*M+_&%I@5h%i@UGbPyb-vy;f^vI6j!Xy%jiy!>qFHH*AzjVO|(MJxh z5nQXWdiS#VL)gcpC8QkAB~iCMf!+rD4-t98Bk}rt8J8Yhuco8yI^9f@5{{_f`%D+* z$D{A593F5|jYMXLLPKcmurvi|nfp|5=2YsskDie7>xIL^fVi3=9g3)?(8T!z$^}&;7OE?^x-kYMh@w!p{S$>7?E*Nr4 zF^NKQm+dN6Ay2D>*JNm)X-dKB(f^kGn66$HZx~m{5;XgwCZA@&r>c|4BEfq7S8?{QHt&uvCnd zTjMT%)7SF2`{5T}8WS}i`N!o-c;yZ*&u??)K-^D)K zQ$}1?E9lVJBv|ZVx{0OBpGd@_mDDOR$Nn7V%u`4zp;efpO1?_I%Cgsb6nTvLZ5>qG zNNYt$D4B1RY2;^=zRN#C5ieV6Q07rev`k{fV#%=xQO|JNcG7gGceia_X#2s(yZ;SjQ`SUOxMh-#E4 zPw_+ZA*H(wzTH2SnuMKC@nTVwGQ*;AdRou`b^9_SF~ze!#o@Xw7+$)N#-``4s^H@X ziA&DyZ$*Qc>r^X0M`)UY-DxN;V6{lsyTthiXlx4-EtC9~C(>HBWiQ||g2U&M>Jc?1 zFN;&ni=xK*FvUg;TATT^)8tC&Y;&*+N*mIm&+QAU*U^G{hIP4sFIQAXe|Bq~eid$g zvW2wnt^+dDR>!NaeN@c+Gbz@9Z{(<1YN$DtNN=QsGm=;zCwtG{|C84Uj!s;Q%fE?U zgy~!9z8%)~uK*fT>Ws@0?7lm_kTNA0#=a#f#v|Le<^nya{)31OYcF`?Ba4Zk%MD{M zCe4*U5mmT&eOH0UO%&!m6#JFfmUQt?Wqs}x>ZI#&q`S@i_X#y=^wAfxgtAqUBW-qJ zyH=sSU|w;rn5r(YA`2}{sHz*JI=fgWdXd$iR`JSX>)flDQ|3LOdTvFX68;Fq@e_Qn zB0yO#E37oRBDB~-(mB5^j3vEkk}&E~8t*Y5_e-c@i?}q&JMG5$&2Jh_Zub6o%hPuY z$*{p{^0MhFoZ>zAT^Rx1A1_lBxBv)OYg(L6r!X9Re%irqf zPu8$*E(+soyJ-b>xVihMuQ{Z57u|`z$*7x0Y0lnZHqZKEv$TdjY9g%iEAyD`{Z4#b z9`i)JHZ$WDq?0J7R$`Mc$29A^E-?=tMp)FcQZoG6lF3}Hh-prmlNhEiBk2ez#|Ucb z9v$q>Zm&ZN$3~X0*rlhPie3%qhhrscE7Y%Mw{%sP*OSmlu2768hbIRe3)_8*s-%1b z_)%+C&7Z~`E%F7ps{WcYOQmUSB@i-Fw1Cj`lXNYndMQO}PZ1)!q>~0Y$=0)++-qTW zLR~rM>wr2c32FH$rCG|knUzxWdlZJ2O7^i#zyP~zxfBC^1(or931<))sq!6p!qYHo zRjPJze;l?dMr*r-OOzf}M!q@fnWu~LSgrk9vI-ln2(3hk#q6+V1(9$GNnL*JXj(p! znB5aKyrP9>rg3lf*pLoelbv)ysfLM`t-eJ{Um)`&6P7VGU^aT8$0UB zo*qs*E!X~wk+qIu_|IYd8L8ncygmxoc=jY0!(vQ%Ii2kji-oXjHjC!zvN=zrajjPN} zFe#ekJ6BS6Vx3m30e}lHpxSgSdYmYwsgMHp1i4&dnq)?QOr4)nOxI9j$;VaUtAJIi z5&6C>0+Ql!%3|Y6g?!WGMYaVxa$0xh->zB4)I_Bt95G!tjF+e++IM zS6vQwGP|fEOlJCQ&O4st%OIOleRzt zM`k0(K*MPG*l}**Nll1&T&nP@&}tTTM?_*~ZPuzdeIBqVrI4o(wvgSI)m-_A_6X)k zK1al?EO)Mm-bBZPENP$o8dpC~C^h>?37Wnd!HLod!imiZa@H7#6R$p#H$yNpZ5*a5 zUaC2rW*}SI(kI0(o04vYN#oa7wLQAESK`^_IC$|x!_{q~%x0oYGa|Fe!JE-414C+i zy5>a$7bm8Tg+Wk!Lzvulqeh%qSE%%(CtJI&*@rM{49&qUheYeSobEVa+*MQ~Dq zlIul(niCsOTE&V+6#x8|^d^>tvDg_J8{4Yp*wH4AF!anGZ8apxP@cwLC{U4x@xV7)}kMWJ)}OAI6?v zSFceR?0Ss0QLJxItd$)oaW)?c}4Q>h=*=+5QXc;k!5jM)AvyVzYKSt zTkm3#U24)aCFQgHb`ic`F&6@36^Zfy>lym<3oJrhC&U$UiuT~B%t_kT_6fU-BT83ChU`KLCP)Fv) z(r1xY$K)+ri-R=_r(k@?7fDI{ey{`=G7fHh&|1F5;Iiu@iKOg>c)U}`>Mk51FuV_7g`OWT#)I9*GViJNxWg8w@jZBSvGJqhVfA&@A;<7+e+>yEPf?p(O}ue zWB&8#B*DUlZEwIfXepp4^=GMHOIc*<*;W?>0 zgZkO(*E-EJAQ)dJK-aZ_mHO_I{KK2|rjNoyNx(Yk^I`Y8%!BgeGG3&aQ-TXe3<=9( zstK>76vK$oO;DU!>LhFVBPctNV8^@II=My2W*i zel1X&^IP2o%;^^MQlE%()lW5hFwhB2af_~8uyn8*52AVQT`CCjfF`u%QTmmdK$I<@}DfL8}@1rG_*#(KM@YS z&_bhgHU{la>@cWqs8{SwxMgmn)+l);$L%(!@PAs4cmd5<8o@l1{oTqGAfG*zw3oR= zdoNVnBj)j0nZJv*h2Du(Hl*y@u&F-CxL;jUd%eJW2T05IIq8ML{>%K@btMHjr9F8Mad z?BNt6T@!{Hl)C$BljWKdGv|c1I=;TOZq##I?qsfPf+*zQJ$sd$xsc(Q;4g(7(+~V# z5mFwZp;G!X`$l>41h=tXMJ7HW2hn7*sY)0Q4SLFFpQiqb4l2GI6La}0WZ$6gw2wg7 z4n>yts3Bu4-dP?o;cgOddZ*VxQ-ZO@PE?kx)g^m4RqZ>0G<}7>-IhuCt(UHYtxt@H zwqthxyF&LfxH#mN!!{5d>lI@7`zSAic-U20of8@9NbP{;Q>`UwPQzWCsSmRb{!yRm zmZQ90+ryNYr_rrM`9rbkFFjRz1h4jJUu-L&AcpQ#1kIl0G@uK`xCf;;M|#4>Yl0zd zf4U+qYJ!0T;xJ#=UFg@L32LCOl~YT0_mcCeRE7}7Y`&~hwtE)f%n_Jdki!4L`-I)g znc@M7h;H6dTsluOMQK{N_FM5`G_^(&eGZ_-@k3K7?|${vi8$)Mmx4b(lPCb#i=QXE z=R+O$n3SaNAh4cW)i0^q)KVC&QNGIDK`nkQt2DbL-afIMSm3#pOHEoEw`8m9)PHGJV?*9dW5Y3U!MW}14pLMws{29M zGr|uMQ_jh5O2m9;io_2T+_BXv_xXuRF1iI@jZOv>5AFVFUprJ{OQs%}1>C>T!{!R) z4O-XZyf$Ep#{aEg-#YXGJMRr)7h76ogW8_tQC7+?A~lrBkjz_DC#(u+lBiz|zdcxl zUEvdKMrrbj8#660INm9=WTKD8HL_zVH7C$jSNLWB2fVtKJ$>HGW@fg+(k6n4Lz`_bUKxHHd)V~P zE?X5l>la@hA<{`)^kTf>7`~C}ek*&$)M0;gnTe|SQRDrwLLZ?CPd3J*GR_kT5b1&X z`93Rs#pVjEKB~fi=Mg4-dc8Mg2aog5{!l}uKku(J;IZrS4v*_kPpp=~`wNoC_92uD zv`1nca+K|JAUHmg8+ygjlO1Bq(DuUjbjC+i9a4dQohzaRQExv;Ait;i6-%qk>nEE7 zk4uJDac}FZFUZll8;7AH=9jA8*0kT>=I#zVR+Dk9vetedqU*m_eMReWK=;igJuWIfM{lHh={^qe#_?BHu z?vBUkuQ%TTW#k9c-;EAIy}3;TGFZ_+0bN|&Y@C#~izyINbC-~byx_B81=L+e|Affi z-ls>`kzU$PrlxzT9~I?8xz}tb^B~6{q0^%Qacnqq4<2!=ka`^8!&^yAI9{;~$ z_WzF7|JjBh^oI>Wz|KtHLR#rBd)p20h>nTC;pftG`Tnf_mtYi1T& zb`ExCCiefdA^?s8(8&M*_Ww@2W@TljWdTG}+3{(Z7@29==-B|QWkz}cNtuBjP%=9U z2Oy^WM}7Z6zy`#3>G2i*99jBb=(F!Wg@3pCH`p0);h!nA|FiA?&nyXm05l^T8!bB^ zZv75_2DlTL>6rmG0cKiydL|BrKO)U+EPzPZ``v!OvkU-6^S|!#-v!VBVgEnJ&$Odg zzxLpN3OMr&ZC=r#PPLGt0MSoV7!dI`T>_`)ln4;*O%7}I6sxt!0fxe3+P5)wS>|yZ zBi%Tg{Dq4YK9>?4rkf{hx8h_3`Bn3$cL{HF3KMC(9gMozo*atyOKQkEuv5wxm1 z<_RpVfLZvE^Z=#+NsjCHSeT55dA^ep{h4*j#6u)$XnAM}rPW5^8|^2xgH5Nx)x+Gu zOxHVey|zAa^bvyocWJXl!`fA^ zL#xDHS)`5SDq`u{0>C5^q=6a>@fx#K&<8%IJINn4M%n(~E8XFoPghcy?8nkM?Dtk; zq7g(PF!1H^XVmyQa&{V83H_V;5xTIjmNn4c9-FrQj`V;ykyW@r*HZ7Wl}|hurgq_shHU>Z?n`9eiX&7B%z1 zCrsa0HyYry7S7UCNo@$_k8QGS3mm-ZkJ_;?*N6PpI7isW6faYcF#hou_(J{Xdz00J z09E2fxz5Wa-=s;`aXjN3=0^PGV`l4B^v9k~2w53Io)!5coiZ`E&-`CYiXnN!xy|gHkCS0mZ>XqX3}cS z18b=p!dEZ?u7N`MMG;gL@V8bxeMJjoffoMCg~p6eao@H}q#`1yJcONac6EI{0#9U_ zX%K!|4Zpl`?>$*v z^>KpRfSLM<9S(?4EN(=Q#~eadbDhBJLl1nu0zpXc>)8Z?lz}`9gX)x|(2Y!xdrjIn z1#3pmrlO)078wXL&ZAU{z?5Us_@*I;r4gQ(lW>4K6T+IUUx#w?jYF8wF+^NDDD|5g zf?Q)>0ih$>lE3K0?VyB6ieUFk;Bw!K*5r3JVp9yW7^G9!1LIS)2}#CU`DjQ0V3d|( z7+ibAc*ZO{1$&2o_j6!|DViHfTcD1Z$s~uv2W^mDo8*4XvVK~vZ(%k-s#_{6K1uX4 zPas%6xJcP2^c!wJ^`pJX!naAq_dnwKA_H*6A6vXyKj^nYT8m<@`8Ia7>Y+mhrrY2l zoMH7o(QJ9rT;~)dO21-cx@}7IXGR9!@W_2JVWJ3!=uWl+py$7!YjWfR#P2>ea5F0W zKy`JvLnnTi*i(N8G>ci^ zCQ)snXkr?zrhXG(fFF3VcwJ>Xp`U!S^>;7;ZSVcL3g3J%2mN8+=d()H*@y3yw>G8n zw==-bC2^L~PQWDE9U30K*di1+u+UuRIb$)M1RkcI<8pZULY_Jv+2;KNK)f@nwWDEN zZhenz8$zBuX<|06>wO4xJ7R9E0zXhLIbL{viJj+2zxWZcdriwVqIq&pG%tq2!#YF? zWcdO6>0A$w5^=R2>`uZ8y&MD?@Br&v52$&QU30KPJhY7@5uJxqPQu&kT?L{S{75c< zWRTh>DLAq*!;UBI&7SK!?gnbL@!4!9R-r(+Z>M6+hvC}mZema1TIWpM1dWrmDyI?&CqT^*=ml6xH#(os z@X%TP(K3;DY${02jZf-K|4=9K6myA_-M5c`@leD-5OdAeZgFjZKwk{aa96#=m_?&n zlxT?RwAqG2-Sa@=Ama2ZB)u3U{aXk*MoKhBfv@T~zdAYAB6@^hy?qY1Qnr`;OWmW_ zO_f{051kWv%^6`wotwZd+uoN@1d+yE)C%mT;M_EKtO~sDdiaWZn`V^N9i%3in7kc{ zOZ=V4FKkP|y!y@L2*kz8133*{PAnuN^SO;x*O0vBFz(a~1lzUn7ns67xM z!@sTt==6hzN;=5MLq7TAX5>8qA4jZ;vlQf0mG}#Z$w9fS+{hQK2O;td+XI$Kr7~aS zD4-)bR@pybI_91x?qwrD850xh#GC1UP3dWE3_azj5{u}ZR+n%0my7!Oi_qrrLl`jB zf{b`UMsud$L0_m#0er7S0qk^TRx?eVL}*<~j1aa4EUrC4csA6t3&Th-&K3eRu2CMk z5AqjSafDTQf?N#W>yKdsV_N`(9<>~76;}{jHJ2|A`YHeN_$iw3sE!0QC4upmR5;-> z@Z3*?^|-xJ1STM(cwd;QjpeDsCaB=}uL*MsFDkZhZ5=0q1Gis8xVk)vQ>0MRq%f1d z^m3jb;7p&x%`I^XVX;l={X(`dpkXv<+~5sZ0j1dbESkj&{6Z!7nhQclf21C3t58C= z`H(~3K4MC(XzJw06BTk#oF|?lSdD7YlCg=)AR1Ls8Q6km!&54qs$d?l$mmN_?JRp# z+O)kAGH@I%wc(np5e?miEubT|k7!IPh?C6CAWh`27UFZ>^Yc0TL&}BbegD0!2l!g> zvJJ<9P8hGCb)LbeGagvCdq$Vo55nu)Rv*0;sQa4Ku2U{@=}2--U`5^pGlSQZHO2xC zg_^}P1do&EL@#69jFOoOqIpG3l@K4um9OpnWpG#!B{}Me1&76EA!eqB39nNr90kMF z3SwB7%<2V87j|QuY#ELM5}9U$pVGSsc#%#iPR$-+NG$05TQnH0^vlkYMZd(qhE-FE z9!4Ry7{v1y>tf_NWK|G~9=fbdlW%n^Q69mAa1>5Wt!9|MX6+Fc$PxF)^XN`u=gmNP z33LfvaAUbMQcWYGp+zy8X-USKYDp?l)4s&_7NDtVxdrwXSo1H1=;}`%hEa3A5QNEe zjOI=Qdup;pZg^6Qt^yybv_^=OV5#T-NE9t;!kLm;`MEW_NUd`-;exUc19yzxL&5yD zS3{gjKDxI8FWeChF56iRKQ~DY`^kfyv-?wv@MSIW1F;0Jd@P&zrJIBf z*&vztt6;2b!p<~_t4yp|Y^!`M zSuA(rjw0~`bNphPz5~q5<&`YkO*l*ro0^+%ftdOup;W-qKFLE7vV2q-GEZ&n34y;z zXO}j?n$To5C2h8+99M3A_i}4w?>N)~ii%)cn%Pws3fr z$Pv3Si!JSmGsw~46@3IH#>pQt_TkpZ$Y zIsl4`SmhZ-jvKUX($+>2Q>aIZosD6spWsoY3PB5R0!2`^=3sHm{8OH`f3O8G?$5Lf zz>>s>YoNFvlybyApil=A93uzO-w7{Jz~xjUDQuCrK=MHPCw4uIbMO;pK0p-mU@a8S z0SU*T-&=g&SGy*LZq;X8HtI!)6>{)j@!LtNnv(8#n&@$b;L-N~WuPHBOcwR?#!BhM zRYSJ;d!pn~0P6WG)T^kJyI+f(&=WU-LOYdBXq{o3X(i=Z|C9<)-@sLTs`Vc~^E25F7sP%V=Z3YU;_HQ*xwVT!?}be5ja2*?#! zys!wQI8LoK3oQBP&R(y*0cBgNMDdqPNH2lzonQky@)T?+(hu(Yf}EX-K=ac491v%T zP#bNamwEU;AFV+lk;9$2x66}U0)a=ETBUWsI1~&g`niuU7oqz*GDxz#Knbjp#zJ0KD8e<8}4N)T# ze3=(%2zWo5xR8WuJD2@(I!B%ni=}UmB+*>n#W9d)CLYzdPCum=)j})Bk)|TTCXDEF zB#{M57J?i#57Gr{S@_oplE)FGYA^a0Mo$Zwao^SNg5w;*@U8oKshy zt!KdXZV%35Y0?*OIfVfA%$rnQjEktZBL=bKzVDz(k zKK+l`GQ-d$uEw`2NV{~S>sHzC|VHth#fMN16E-mKFWTvRZNL@LCT)x zh6H$+2`I-O3Rw&qDnnI=d}?G+XNXfK$RwU{Ii4>=>xA+j&lWr@!Qgw11VtW{S8AO<*8>J@<@{xg63G-M8 zvK+Hu0U%Vq*5gv)_6>m>gL`ZGD3&NZ%y85#GL7r)Zx%?w3ylwFpP<)C`zvpMn+sW7 zi${)=FJP@s8|q8(SmV#0*{tF)>yx!_Fk0YfY$+R2R#BbSbwA)*#I5Z$a6g(Hd5%X` zeMH(((-}U#3=rjYHM?2S^k}+0DC@fHQa2E7A(<8J2>$jl?ko;%fKJbm&?qwKUaB+% z{yudU_sg(+@#nsHWIYw*IfUolJshe~DV3F_)`Li+)E1UZH|Ir4@57kBQ(#> zjk6!-gRw31Prz8qBcRHQC_G9xv1 zaVeI%%bjO)!Qo*+^IePqiD%SZf>u{!0rKK;X8c6!sc&ZN&uQT@m4Yz}iNMWeL?j^< z=$B?JHkG{@_ls$G?&?EL^?=%ufW>vv{*OEnr*lX78yvV~AbdT}DXaBXOyMJ-4U0ex z>XMezn>L9Inuc8*8MtG*m=K?2!-It*kSJnQN4 z8L^6{Gh{n%SfRs9!&9HQk_2{mJ8L*ObZZt>6Oa8?ck?>dl7_|~k6w}lRxL|aHih)i zkK52}*MYx&y(9Qq9T5S%{fb|O_Z_U$iXUS@Oqx+?&)dv%? z)1n(om2QungW$nriGxcxkfCfW{WT>@4~s#+Jp27f-X_Bn?KKtm`PL(8%YXpOw36jH z6SW$p&Zu)ZWd$#*4P2p<#7bKA%UPOw$KG-dT-hgn#~c2Z{w#ena?CM@-AeToO&QON zt-&l?cXpoAOX+Ahgj8&IU50*{!S&Q*fh0!a)<6(6u1c%Q__hfoRv%Z*MzZwG zieszbmphd0n@(lz3_hon?-oj3`!cp@OLTEH7jL!R0I=p!Ha{<_AJ(groPH5{70mMX zk?N$nx@wh4>($L-n!xjDXXcb%yFIO`76Qm+i!AgL)+u&NzXMdezk|5_1A(m1Z$Jayo(h$ZP6;Up^{O7*f5dV9L< zV)#8PfwExxn&X9c@IaF2*+yZt?`TPyrGn$sB{QojVZM342*=){fdeiP^Q*OP^HGCF z-ssBZ8X)?dZ1Fv#AyDDXBh9kCqpp+GuD&yQ0heS~(z)aq+1}-I`gpgzWocE5W0})h z185jHa56|ozPNaatt%y>D0SZ3t7dGna`axAj1tz7GmW~N`%5|v&Ets6GIdMaMCxoE zBAxW;@I*^G=O&jV#Co5)9-7#om#%mUss8C_-ZU39#xpHZ;u zTC+OY3a1KY*o&jxoj3OkJ)-&qt|OwY^6kB6jXp^6BMI=#kgS8!vj$#5y3#AcS|YZN zJXvdMI9ChLenP725T*@+3&m`gpJkRexpK3#L0H{|7v~%9B9Yt# zqv+8tg8})#cB+(?N~+^>+?&N)*WtVEcl8$IP2uAI7By5DfO?=D34anKjfCxeh?J8K z{Vfuw%f+KB*TfI8j~Ip`*8E4pJX*Zwi*(3dLrKAj`{l8E=1jzOsZRWZzi= z^(1Wv=ZAv1wPyY0?NV-8V$#J*I#@>sfta|+>IRR08@%LR*G{l0Deb(8bc3mbQ|&DD zkK#sl1!Tjh&_)yuR>S;b%Tm# z92C%sl%u^-@MWo{7rt(ffzT&CGcVER5?jx!2DNa6Mj0FxAt_D0yi8R|KxQGM3fzlQ zYW|8HiJ4@M``n^6WjM^%%%p+FN$sRM{iEj6ag?^D8UNs5MLjZUhs8BC_3|n$lv~<0 zd)4FIC`!ab{T2PnNNMXXBrMzf8d`mHTUvU1RPd-|e7MxPdWPQnsY_(}*RMu8jV4bo zZyiN>+qmIbB`uJ$fR~8pkGG9o3s0KIu+~f8ojKirxp^F+(;IMVXku(tzXRQ+Vl+S1 z7@SGqcO~o`YWij?36_x$7h5A(W%l@W_I{N7m@jVhxWNC)Py$8~g#q4t_ZM#bLsV6!5EZ5XWY^h0QR z@#-=1V}^lU6S<=@=n9{Opk1qsCR!w>+{1bEIO9@b5iJ7KK|GsGs!~!u6EAUpPwqkP z{mk}}p+fI<9w(B@*rs{fFQQn+S@M8kbYD^kA?8XV*c6H|-2jdWZ2Q1RW)q8N?BG7= zM=_jTcqU8~X~~OGd(S-FYknAe!%0U_hOz6y;v(IF8~TkZ)i9wZb}OHKPPuHkV$ta0 zcT96v+jbrzUM@=&ePdDmA4e(yZ6&MoE2_q0QuFGTPGXEfiv5bvSH~PGp09+?-??TL zl5tcQ7?+PURdt(Od}t`hxTq8hv2)gceY-PqKs-|_Zr+9f{PTtQc)I`7J$na)CWo{8 z(>DKkGHRQi$7*LWlork$V>_~ zV;_+H7L(J5Xyn=AcU3jEBOpC$CiB~H8s`rbazx`&v%b{ir`)`992&V&(6$JqrJKq% z`kKZWMX!*gLoQh?Gbr2QjwpXt;LgDc3e`dxh>_Sjx;q@4#yP40(>ZPUQxlsrA^@~lIbDcJGGTt zpsa5H)#6dT*0=ym$HT87T3y$xrGj7f>ytErCn0Bqtn~IFK{s zivshmS}1FDRr(b-5kNYAbXiK?(Cn!Tu5HdhUE~W>JMqE9CQJ`s0wEsBF_tFgYkYvi-_~CK+mGe3!nFaHvYMb zcpUW>_{ZtrX&8s@Ikt!Y*c|(YW*C1_tLG~(`d*@ME#M8X^$gw3`g4|X2pvfb$eBP` zLypUp;(0l?LlqxB&uB**IavLU>XyqeX20TK|JR;6Mho8MFL4gqHeQ{bL8``WE5D0& zXM;Xl9{$tNb5h-`-1W_KUAZSMAMU{G71;y2U~RGG9MhC$mVwa>kuV9Y%T@Hlimnc@ z-CpVrmLKWV;nL1L-|ljmYmD5y4WnOVV))}myl@VGd~?ZrG)vVOKjD|ILM=?FZCGWq zN@x0Tz)HAIG-(&jKB)Va_VFI*Nq2tI(=o@DO@Wm*>2+-s8TXLFD9-<~OeydYf(a4$Wqo)P82tdPHyU=6D5dq7Es#rRy^IXjkW7%c#XVTHV5S9jo?o24(-d6z>NOOh2b_^+D%as9t{&-Y=Q z;Od`qjNY&OeYs)urY!Uhx&mPLUdZ>@?;i&R0#o=Sk^Z^!o_2E_%ckVhRnY10n$3fp zc0V~!2Q6dXFpu|7uC4l;}GQOvHrr7=M?>@Lt9{x#XWYGXr|SKT2SHZ#Dqc0$_Xq03l3(qBYs+ z0pz<_`mD$&Lsgf8}NlNu>tDJ#tO)h<2@}ifSbee&NBIp8_{HZZ_Yn}BkyVc z0Tp2fT=);D2!O8hKPVyq^aul>!YoYh+#O+6d{zd4J?r15u0QdE{?60|0GIsP{-YhY z9GT1iDe%lSv^~8onLmpkNys-l1g)i3-2@jX$5CP~u+C+3*;>&%A`T{mRCoUHtfZoj zml>RIgzyEY@ASaf7S{uB#j-VMEF`W4hBrp?T8NEl(%adxkT{~Vzu(en-j6S8(3nX0 zkxawd-X%Dx1W)!M@}%wjDx|MmEv;q1b`{cs{Sllz1Uy*IsL3-v0ilHaOK4kxOw;> z(?~QCngWzD8{07C8Y~eN(HU7a0feD_EAgO4CiQ6-UeQMq|#ySsCQirGb}~ z3tLRL54prpl1hxp*yc6Q(o3tNIdu?5W~s2Hm!cDC$`%5K*Q({#MuKEC+=_w)5HpRRvrSNpqX z(Er)G_8S5P=%7m0%2s9u)`ms^_vCNB)1Uh4ZyL})9+UsHt}!yvzdxP-w(Bx-u>862 zo^V^rY0W$Cuif3A)RZL#fTE&?e=}0od(c_fHRw&cuL1JWGm<#y){yuKMS}-=ZPcQ0 zv{VtxS&Y+C9_ywgn@5@QIA$il^xWU6LRbe zRNOZwoPmE}N{C{_ftpj=(E;rRZnqgsoi;}EXb1U#H77QD{jnA%pC0R*k1J^YWewQD z%=NJ+F~-KZnkk%fv;%BILmW)@)4s2MUDLPi+MM8sogqzvlx4{Kw2M4qSR-R*k)?_S z@r@^v;Q?bP4{4vqs`?J!Gl#m4Z>@GQ?pzK+pG5WfK6eVR`*MM{wk0&4`F--&53CQ1 zg5H0CgYAibE3T0Nj3ENxV|LXim#L>iCq$oX7m?&Ic+G}*_ zNf7;dn7il!QxF4h(6)7{9xGKm(Om?|}ua5Q#%h6umWukAO$tL|m6zmJf~Ea@5VIktgN4iLeybc%wPrO^l9B`S<1^OwW1vbdqY7QeCwnPi=G-vpRF+IAgMTs3b z(Agqsl77(zxSJ|)j|~ys5`m?#D<|5`OswrJEKLIEK`1E>r<{=&HP*g_YU)0rQ32_7 zvy+NJ|G?%KFoRlSS4)uf5#FGxmHzRMfub(p zZFFsIwQNB9zD!7QHdf;UJLrjV2D3I+XOk)P>C0?(5Qj0%6JG3qU*ar&yZ0~+;iKW$ zKQHm~goxa$UieMFfMs&fH^Xaobrx%>j1i27oC~vf*niz4Zx}z#g6V8-j-j8j&%wV; zPvd_?zS3$GN4e3#n%9ZXYa$L`TnnJPkNKf33!^+tfw{ z>(G+H6;^L^;ffHf*Xlb((xy&D(u(Mn!sV-u|H&VIj)%V44sEhQ+^%>Jf!YhHo7P6= zDy&b|4T8wk?9#Vi#R?Bu^+DDUxI#J9gbHn3i85vPg-H$SxXj?Q;ZWL-7^?(1o4xc+!HcpeE)8}T;S_ZTf@LaOmUJA>7hEx#rN&lXvyE7CTbvC>%s1V z&Y#A=ku-u^?(f4a=bq7}!#(8FV43NnQ`oao!mpdP$`4B0VZIpI&M{e_7W+x5F?HeK zyV1B=sxLp4S-L(6R;Jt1jp)w3RUfGzu+*rlb+kHIR>XiZ6__xv{TQ<6A(`&hBI{vl zRL@*iL-rmN&F3yfOf*uCjpeCs9sGGk$}^tkz-=wL;TqR-MH;d%jW`ThZK$4u+nnk; zMoP|swJo*FEj>7@rb23a$~mUJ<8d><;NOOX9wrj+jCiQNLlx^cpsI8d=JD#rkfp$_ zyC~0d)XAuwSSnL39#trJ`!OLf)XGA{$6jma>ErsDeABmAG>{XQD?s zi^}sCookwcMC4yBWyhQK1zJ|t+6qi-w>lsXR?$~4t}|Bg>pm%3_BahD7n-r2lT{w6 zmu)f5I$8}^VC}Mq@|MbfH)EU>2L}w( z6KmWVJaT#)a|0i@v^$}Y%y&2k?Q-B^gQ)uG6@UQH}Pb zXK|aI3$&o~Y2IM8R7O@-DuLKD_1Ou+w{YoKc{znc6DmZ|6}rS7O#J>F3bM;f2g|+T zB76x~22DGfZn5cLWwBR;4*79~t+P@kLLA#neFRIabd0IKxx9AwPwn=u63GU8*h%<< z;p@U8o`XwhXmj(_B5>8YU(nDv55}p9shMLcSBoR@*A_oI@|<>laXl738^$#`x_CBK zHo2K=Uqyc3c@5v(PRyh`Te!Uj)~4AW{a%rA(`kUiv+a1gR>IP@ty4!deXd!gPq-#Z zZ+>I*G7@h#Ei8{!G1j6P>Fm;U9@s5sJ13)iJ=t<`2ZML1S>GBZ zF7?7K@k&t2)t}n~dyc!))uJ}(_{xg6p_%tmiKp$;gP4MQX`q9s&KF$tmv1Y%92-B& zFfFuHE0ZMjuUu1VV%JFKZ+yG==@rowThhOPV{V>Nx=X$gjhdHI)gtC2TPu$S#^WxJ z+`g8ZN4!dtGBnqa)VCH6Ma#>7HD8+1v#oEza?|F_>x?^dR*BbK2FG%m6CHC}&}x7c z(Jp`_)mE;r4PPY#HGQ+~{MKmP>8s=cZh@OM-VG8%oK&;?fEc&q=g7rf(IQkXofg~c zKlL*S{PUN+>=wt`mX^Ve@|y82JZo#Nx=}^Vskgz=UngUs?PJAz?Kz1Tb88tEJm3{3 z0#rMC?dY1aPAs08`D<1LvJ7F@^20K+wr4&;4M|w}1NyOz6-7efu<7Y=B~O|`XJmLmC;B{Ut&Nx@Hh{iE(O1A4f6H?AHl zYpiXp;cI!$8?=w3%L=32p2eUP5{cNgrAyIv9S^TQKY?5etnIq9^RXtRPN!np#hF|| zUHZV7VNa3M;y6qQBI~2J;h9h8zZ7{y3d%(uIlo%j#?OK+6Vk;9sCv>8^jh}D z*hAy)3TF;d2NrQBXIag6Ehc8Ly%-PU>R$8}MTFunGy8MS z<6+*;)XqD}>dHUy7}YzsaFRaPV`N>+(qtRK7 zj#k!Go7dFYbY|U~KenP-KbV9?*N`mHC=1{yCxJEpb*quCjcc!BrlQ_Vv~DV6GsjW- zBh)Uf^mD;jtZ)3Wl3(vZ5rru>wWxY(-u&PPH>g@jFHG)d5bgGWbSk^Z9@os~t8<90~a+U*d2Jtdyq}xVDw$s3jR18@xlMR8$ z%ajJUou9YkYhL}BE1H8P$ClqtnhQKK3hbQOz=mtb0#~+f3AZ|K^utC|LRG?EsjTY! zwHVd_OIJm~3L)uOKR#1M9WPy(Zx$6$pn1mQggwNcgLvlt%&3gurJi*zGMu8{Q?x0OW7xRw)U&Z2h>;a}PjS5@jR z%HfR=7Oy;&uMI9UgTU}pR;}|e<=L3exg@#K!=w6#O+l1P&-aK@g zeP$nsyRCdM88Bu=F%{!kJYcFx|UwnCtJsmZ9UHV zGSP6xA__R=z)qoBe$rhv-?KEiO@?3v?00C7}h8at5yfVRSh4dF^AF7E4=R3g@+BVB^w?a-XDq>0&YkE~#u1;{Dl=2&`YY-s!G9 zdty6;umenf?X95dTKCFg)Q2(VA^G;Qs%NRV%TaH+f*#oc>EYN*_di{`USm_CGG%=f zZ8QS*`AA-m**+}JznOF~fR2|z(UqKo38hv;IrQ1Y^M3EL&q7>}lPA~o)%4a(b_Yz9F?x$_ zN0x)X+b5WhbzC>-5V$|)e^Xj>zF7ZB$K84W+yz0g^fj{Qoa{O=7I3okc-%8^E z^7kLox1gZ43%=$%2%Ht4hU1;>3;?m>GXQ24{--wnTjTk&HV(jt|3$0*$n@WB1E{_4 zt^bd?wtwHo|EKEsZy5MHEBjscWn#i-<@gP*1}MMufTQoCIDq;M5OROxzF7bg@*l!A zfW-X|S()XxRQ=AKW_br_|AE~8L)QKSt_^^rYXY<}z`4J~Yy-|R0W$w1xBm&(2B^}S z%C^7y*oMO#u1&FLBfW`TAeC>+eK4CT6xjYjWDL<5qt3 zFnwp-B9W^(gdZd|AqmRmh~b{{s(FBQ>dNXb?wxUEVE5W>ggoYuqtG zub+@(C9BVy8|h@3|ky7Tk6TtWX4h2mnUyzp?s% zKal>f67TPU{6A(V|L!gSG1~t$v;LnFF9QP$1LNOIyi9<}>3{A{CmQY+X|pJNcV1q- zw&_h5L}qDyAxO)%n0#BRYjkAQ)2-Xwsn;lt(%W@1Ti?yhpbe42&3*<_G86nzhCl&% zX6R&&n^=OH-!0JqFIb*y?MRuE`6Qj zZpHnQ1oR^i#{e-<=Ul^WddF@iP`1hWNwc1=wTtyjjs}n`?l&7=blk6tElimKmuDX! zPGGqx4a%Wq;^{V?FV6L@Hi#0O`)zr~g5tox6I~pGD;cqSbKT-)g=2>?nX~JL$@Ur^ z&*YE=-5r0F;|q>Mb9wPRb7#FuI39B16lHV>{F2<|)z@`e4Z?@;HX^EAdpVZ5^(eiJAhS8)Dv_Gf zvPz((K{4Ec5udDlB2QbS;2qRKCr-F$RiuPapv*x;=(mHuy#?D$((_j&WHoEUGS#2x7Br=#Y8v4Fo(@Q-XJ*_(41zS&tdH3Z=|~ z)L91_GZOti?l4bScFZOvw>6*}A^QA9q4l0G4;=~D07X+Gk|=4T7E<-AKJ*fST)1#H zW(YqpqK_BxM`&>nFMr_;5#o=Pga}Qc!omC?J5aGc+-V!QNL1B?bY!~&I6XcqVjctL z5;T_tj6KIhANNppgVjHSM8@|9y2b}RbUw2QQu${?cU9q$>OpPUV9V&!GGuAs4~P+Z z5QEuU2yg9YO66d?Vz>9YTidO=EsVIkrvK8%@@8BQo7@MxJ`=eH;}PI13tsnWGJlXH z(fT&ezrM7_0#R$?m-|qXjdDm(K2U+2i2=H6|-FGDg719b`?q zPa28OH@0)o*7|UGk zqOh{HII)J=tw~BGMju6Elj13gLKrEaH~gd|)IZ9&a8pPzByCHmgDu-yH;0?x!@K8} ziGYwus0S^k&O~8kOhuUphXf0|LTjjy?0(GL#i5VlKB<{dPXC2fy3-6Bx{G>>xIJwHgB7@6!JJYLs6b+*2R(A6lm2$k#sf-q zBpVJ*$rp!)sU$!vu?JBXP3inzpG-pc2jCpl z*cUjKM(lOk2u+d@^#a#ARpgjlv2P5ub*ZgZP%CM5 zUZS?~R-aSH>s>`=VvmjU@T7>&D(aeDj4Y+X@X8~?4BVY1fX_O5%R)4!=E$d?icW?i zstfuQ$dl&n#!f?b)9gQ-jj3*ay}bRrmhLiL%cT=^wSci2N_>tf%i^dN$G z(@D6Yr-4d?B`Lwx}dx zc3t^Y2+H`Hbh;73)OsN(I3#_<#A8tjAp0pd)r`y#hIX2au${sB%Qp~W?XK-2bvl1> zZ|;Y0m4Dn3dQK71o83(QF0QDNPjN&dON>i++cSK<#Ujgs(>+NqbK2=j-CzvV_`OJ> za^B3yE<>j>VeqqWpZ4LEE01yQU~KGX{oKmc?W-kjnpg2{smkP1=m?g%q|C;9XsFhL zj_+v0Po-af)Wu30I3M3czxHf3q%vwc3S@PfHL$}5PgLLY@(8W>;DDG_XSnge&O|uD z+HtX<3>$Km>qPZEgRzi^36TY!jKv^Xu0pp>>8S6D+y9Dr3?%Yd4XXVS&r@i>@^prU z(ag7XE5fC`n{k`iLb&Y=+9!mu%D@)}e08RCEgSL>W@{6+HmJgWHGbf?x(YAa;oLx_ zqKWm3Q;H6b$L;zcPw1t-u)p8BQew*!=3+^>l~4xFA9Pe9I1>H2C*6tDpeG)4?*Q)2NNGzL#NEGp~3eLy{ZtGpKJG@)r-NA60z5jyS>=-S1tefd54Dz#(Z`Ryz1Mrg2ZR)NA^ZJWBW zK&9@Kytc7OM#YwSYs)*-862};>E}|9JA0xn<>h6K-PUj_C@GrGyGoIbyI_IPrK84$ z6k>UlHEap)K`WU#lFA{CdSTOQ@@*^8|18g zr$c?cx2FG36EY4Qv*UYeYLe)xu)s09x+9vu-&+>0Q+TOKd$L2IdA-zfL}5yrf=Oa> zLiWV!Yfqm~q_tQ~tA6H^0BAnwHQ}U0(C@yBQN46LR5dsQz1rfM~_v z7nU4V7<6Po*sxzz4c3OQc26AUFhfcCUYD6^7nfje8`ANYoW(fo2&o+8!w51@q$nJnunD-s7z~@Yr zSGwqUTdwum0Q!~s-#pUwl=e*t-M>3jyX{8AWxHCZqPr&>j5Nka2X4CF-u}2D(;^|G z?n&EpQD^yA`Xj?TM}7k@s7PoK^O<8f+u1RsjdlZhC-gr|`)T*Ru zI%}TFY|VM6Q=ENYHkUQ6UK;8y&Akwz-xd7s5Y-S_U&(F{od`|cJ+yT|%O z*oA}nD_$wO)=w{7@$G#+I?~#4ISqu>cQyQupK!Ho@-*LXKO?p9?E;4*hBZ3rE3;$M z_2#Oc4vK*gkU455R&}W>U{Yx|-zq~x}4YLPZ)ms zPMQB34z|xO7leNe0usRy)1Pq-;tvJ(Em`a#DdQv)A`L&eWBPHTL2*C|=D^5U&^|j_ zAh;3I$|3_%PBVycl=-)W6FBO05ks_}EGH%78WWhzzOaFPirfRwPX8h57pV0gJuRHv z(RfvC1$bIU8@>zP9{)_|GCOMOn1!asF@NtqmhxfHkVQLfN0P23jrEoJx@lAPMz=WD z1Q~?dCn`2rREBXO8zUl_j7;U-AF6CG>HB)+Ow~=lzs@hbH*LmYsD|l9< z>r&Z!ruKW1x<8@q;}FXuz3%IXjN)@u%L8+Ri8(om5{&d4NfypP#J1f%Vx3=7sqa!}_n?FtXrd`A9pN zC$OIzCdkjtT@l_x5(7RxXYlIpJ2hk?q<{-)*q8KWqkgnkLXK8zs5Kusu* zfgcgVd*v~XB1p762?17uq~i$+nEvGRLLCq{ERTU12`*vb*Vh(^5XSRLXa;Q`MbkiO zD3=%BhNOkbPOdyL&+%w~#k>T(yYlJabxDEbQ7$hyKrvZ?2n3!+Bpok!$>cDaCP|pF zaIV~t^W-(cdz`T^R5wwZ#76K^vs zcnXoWNPsaB#WDV*(ql+<4Hi=Akm62@2CwnjoJ^i)%SOtBPdTXm!Mzx~EwXzpXkJQqWLo(3 zt>-j|866K=%wY2$U@NeV9S8%8eqb0Af#TF#>?Y*)XrfB!{!ZGx`m4k^5v1j zH&ql9W9ua_lL{=SNM0Bb3==LIq3Kv$E+i|)^qyoeyQE1Pvp1TA$r!5xUf;$sf%O?_ zGcVkylE)}o;5tSy79U@jWHI@Habe}bB`i!|SRh?S>wqZ&tCyy*^%9;)#%0eCxLrar z%ob>l!rKfJCE6B-#K)2qV|x`EE^}dZFpwE5kHzOT1~|9TbnE~&2-|&3ra+X9$`8)0 zn4E!Y8nb7>H~ /* Standard input/output definitions */ -#include /* String function definitions */ -#include /* UNIX standard function definitions */ -#include /* File control definitions */ -#include /* Standard library functions like malloc, free, exit, and atoi */ +#include #include -#include "baseboard.h" - #include "config.h" #include "jvs.h" #include "passthrough.h" @@ -133,7 +127,7 @@ int baseboardSelect(int nfds, fd_set *restrict readfds, fd_set *restrict writefd return selectReply; } -int baseboardIoctl(int fd, unsigned int request, void *data) +int baseboardIoctl(int fd, unsigned long request, void *data) { switch (request) { @@ -162,7 +156,7 @@ int baseboardIoctl(int fd, unsigned int request, void *data) case BASEBOARD_SEEK_SHM: { - sharedMemoryIndex = (unsigned int)data; + sharedMemoryIndex = (size_t)data; return 0; } break; @@ -302,7 +296,7 @@ int baseboardIoctl(int fd, unsigned int request, void *data) break; default: - printf("Error: Unknown baseboard ioctl %X\n", request); + printf("Error: Unknown baseboard ioctl %lX\n", request); } return 0; diff --git a/src/lindbergh/baseboard.h b/src/lindbergh/baseBoard.h similarity index 54% rename from src/lindbergh/baseboard.h rename to src/lindbergh/baseBoard.h index d9d19b4..8260438 100644 --- a/src/lindbergh/baseboard.h +++ b/src/lindbergh/baseBoard.h @@ -1,9 +1,11 @@ #include +#include int initBaseboard(); ssize_t baseboardRead(int fd, void *buf, size_t count); ssize_t baseboardWrite(int fd, const void *buf, size_t count); -int baseboardIoctl(int fd, unsigned int request, void *data); -int baseboardSelect(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, struct timeval *restrict timeout); +int baseboardIoctl(int fd, unsigned long request, void *data); +int baseboardSelect(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, + struct timeval *restrict timeout); diff --git a/src/lindbergh/blitStretching.c b/src/lindbergh/blitStretching.c new file mode 100644 index 0000000..9dc2c3b --- /dev/null +++ b/src/lindbergh/blitStretching.c @@ -0,0 +1,158 @@ +#include +#define GL_GLEXT_PROTOTYPES +#ifndef __i386__ +#define __i386__ +#endif +#undef __x86_64__ +#include +#include +#include + +#include "blitStretching.h" +#include "config.h" +#include "log.h" +#include "resolution.h" + +extern uint32_t gId; +extern int gGrp; +extern int gWidth; +extern int gHeight; +extern SDL_Window *sdlWindow; + +int blitWidth = 0; +int blitHeight = 0; + +int fboInitialized = false; +GLuint fboId = 0; +GLuint fboTextureId = 0; + +int drawableW = 1; +int drawableH = 1; + +Dest dest; + +void initBlitting() +{ + blitSetWidthandHeightSize(); + blitInitializeFbo(); + dest.gameScale = 1.0f; +} + +void blitSetWidthandHeightSize() +{ + if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP || gGrp == GROUP_ID5) + { + if (isTestMode()) + { + blitWidth = 1360; + blitHeight = 768; + } + else + { + blitWidth = gWidth; + blitHeight = gHeight; + } + } + else if (gId == GHOST_SQUAD_EVOLUTION || gGrp == GROUP_VT3_TEST) + { + blitWidth = 640; + blitHeight = 480; + } + else if (gId == QUIZ_AXA || gId == QUIZ_AXA_LIVE || gId == MJ4_REVG || gId == MJ4_EVO) + { + blitWidth = 1024; + blitHeight = 768; + } + else + { + blitWidth = gWidth; + blitHeight = gHeight; + } +} + +int blitInitializeFbo() +{ + glGenFramebuffers(1, &fboId); + if (fboId == 0) + { + log_error("Failed to generate FBO.\n"); + return 0; + } + glBindFramebuffer(GL_FRAMEBUFFER, fboId); + + glGenTextures(1, &fboTextureId); + if (fboTextureId == 0) + { + log_error("Failed to generate FBO texture.\n"); + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glDeleteFramebuffers(1, &fboId); + fboId = 0; + return 0; + } + glBindTexture(GL_TEXTURE_2D, fboTextureId); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, blitWidth, blitHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glBindTexture(GL_TEXTURE_2D, 0); + + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fboTextureId, 0); + + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); + if (status != GL_FRAMEBUFFER_COMPLETE) + { + log_error("FBO is not complete! Status: 0x%x\n", status); + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glDeleteTextures(1, &fboTextureId); + glDeleteFramebuffers(1, &fboId); + fboTextureId = 0; + fboId = 0; + return 0; + } + glBindFramebuffer(GL_FRAMEBUFFER, 0); + fboInitialized = true; + return 1; +} + +void blitStretch() +{ + if (!fboInitialized) + return; + + if (fboInitialized && fboId > 0 && fboTextureId > 0 && sdlWindow) + { + SDL_GetWindowSizeInPixels(sdlWindow, &drawableW, &drawableH); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fboId); + glBlitFramebuffer(0, 0, blitWidth, blitHeight, 0, 0, blitWidth, blitHeight, GL_COLOR_BUFFER_BIT, GL_NEAREST); + + float gameAspect = (float)blitWidth / (float)blitHeight; + float windowAspect = (float)drawableW / (float)drawableH; + + dest.W = drawableW; + dest.H = drawableH; + + if (windowAspect > gameAspect) + { + dest.W = (GLsizei)(drawableH * gameAspect); + dest.X = (drawableW - dest.W) / 2; + } + else if (windowAspect < gameAspect) + { + dest.H = (GLsizei)(drawableW / gameAspect); + dest.Y = (drawableH - dest.H) / 2; + } + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, fboId); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + glReadBuffer(GL_COLOR_ATTACHMENT0); + + glBlitFramebuffer(0, 0, blitWidth, blitHeight, dest.X, dest.Y, dest.X + dest.W, dest.Y + dest.H, GL_COLOR_BUFFER_BIT, GL_LINEAR); + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + } +} \ No newline at end of file diff --git a/src/lindbergh/blitStretching.h b/src/lindbergh/blitStretching.h new file mode 100644 index 0000000..e1bd65c --- /dev/null +++ b/src/lindbergh/blitStretching.h @@ -0,0 +1,16 @@ +#pragma once +#include + +typedef struct +{ + int W; + int H; + int X; + int Y; + float gameScale; +} Dest; + +void initBlitting(); +void blitSetWidthandHeightSize(); +int blitInitializeFbo(); +void blitStretch(); diff --git a/src/lindbergh/card_reader.c b/src/lindbergh/cardReader.c similarity index 84% rename from src/lindbergh/card_reader.c rename to src/lindbergh/cardReader.c index 625a66c..91088cb 100644 --- a/src/lindbergh/card_reader.c +++ b/src/lindbergh/cardReader.c @@ -1,16 +1,19 @@ -#include -#include #include +#include #include -#include +#include #include +#include "cardReader.h" #include "config.h" -#include "card_reader.h" +#include "flowControl.h" +#include "log.h" #define BLOCKSIZE 8 extern uint32_t gId; +extern int gGrp; +bool cardReaderInitialized = false; uint8_t cardHeader[] = {0x08, 0x00, 0x00, 0x00, 0x81, 0x00, 0x59, 0xda, 0x00, 0x00, 0x54, 0x4d, 0x50, 0x06, 0x03, 0x23, 0x10, 0x41, 0x62, 0xad, 0x00, 0x2b, 0x0b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x71, 0x52, 0x70, 0x00, 0x00, @@ -41,29 +44,17 @@ int initCardReader() { EmulatorConfig *config = getConfig(); - switch (gId) + if (gGrp != GROUP_VT3 && gGrp != GROUP_VT3_TEST && gId != R_TUNED) { - case R_TUNED: - case VIRTUA_TENNIS_3: - case VIRTUA_TENNIS_3_TEST: - case VIRTUA_TENNIS_3_REVA: - case VIRTUA_TENNIS_3_REVA_TEST: - case VIRTUA_TENNIS_3_REVB: - case VIRTUA_TENNIS_3_REVB_TEST: - case VIRTUA_TENNIS_3_REVC: - case VIRTUA_TENNIS_3_REVC_TEST: - // Code for supported games - break; - default: - printf("Warning: This Game does not support Card Reader, I will disable the card reader for you.\n"); - config->emulateCardreader = 0; + log_warn("Warning: This Game does not support Card Reader, I will disable the card reader for you.\n"); + config->emulateHW210CardReader = 0; return 0; } - if (getConfig()->emulateCardreader && getConfig()->emulateDriveboard && gId != R_TUNED) + if (config->emulateHW210CardReader && config->emulateDriveboard && gId != R_TUNED) { - printf("Warning: This Game does not support Card Reader and Driver Board emulation enabled at the same time.\n"); - printf("Please disable Drive Board emulations in the config file.\n"); + log_warn("Warning: This Game does not support Card Reader and Driver Board emulation enabled at the same time.\n"); + log_warn("Please disable Drive Board emulations in the config file.\n"); return -1; } @@ -71,6 +62,7 @@ int initCardReader() initReadCmd(1); initWriteCmd(0); initWriteCmd(1); + cardReaderInitialized = true; return 0; } @@ -174,7 +166,7 @@ void buildOutputBuffer(int fdIdx, uint8_t cmd) break; default: { - printf("Command not supported.\n"); + log_error("Command not supported.\n"); } } readCmd[fdIdx].cmdLen = packetLen + 5; @@ -183,10 +175,13 @@ void buildOutputBuffer(int fdIdx, uint8_t cmd) size_t cardReaderWrite(int fd, const void *buf, size_t count) { + if (!cardReaderInitialized) + return -1; + int fdIdx = carReaderGetFdIdx(fd); if (writeCmd[fdIdx].cmdCompleted) { - printf("Something went wrong, a write command was issued after the command was completed.\n"); + log_error("Something went wrong, a write command was issued after the command was completed.\n"); } if (writeCmd[fdIdx].recBytes == 4) @@ -208,6 +203,9 @@ size_t cardReaderWrite(int fd, const void *buf, size_t count) size_t cardReaderRead(int fd, void *buf, size_t count) { + if (!cardReaderInitialized) + return -1; + int fdIdx = carReaderGetFdIdx(fd); if (!writeCmd[fdIdx].cmdCompleted || readCmd[fdIdx].cmdCompleted) return -1; @@ -242,6 +240,6 @@ void cardReaderSetFd(int serial, int fd, char *fName) fseek(crdFile, 0x7c7, SEEK_CUR); fwrite(&z, 1, 1, crdFile); fclose(crdFile); - printf("Cardfile %s created.\n", fName); + log_info("Cardfile %s created.\n", fName); } } diff --git a/src/lindbergh/card_reader.h b/src/lindbergh/cardReader.h similarity index 96% rename from src/lindbergh/card_reader.h rename to src/lindbergh/cardReader.h index fb0d1ea..6c0d480 100644 --- a/src/lindbergh/card_reader.h +++ b/src/lindbergh/cardReader.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/lindbergh/config.c b/src/lindbergh/config.c index 55347e1..918aae6 100644 --- a/src/lindbergh/config.c +++ b/src/lindbergh/config.c @@ -5,8 +5,10 @@ #include #include "config.h" -#include "gpuvendor.h" +#include "gameData.h" +#include "gpuVendor.h" #include "log.h" +#include "iniParser.h" EmulatorConfig config = {0}; @@ -14,1015 +16,43 @@ extern uint32_t elf_crc; FILE *configFile = NULL; -#define CONFIG_PATH "lindbergh.conf" +#define CONFIG_PATH "lindbergh.ini" #define MAX_LINE_LENGTH 1024 -const char* LindbergColourStrings [] = { - "Lindbergh Yellow", - "Lindbergh Red", - "Lindbergh Blue", - "Lindbergh Silver", - "Lindbergh RedEX" -}; +const char *LindbergColourStrings[] = {"Lindbergh Yellow", "Lindbergh Red", "Lindbergh Blue", "Lindbergh Silver", "Lindbergh RedEX"}; -const char* GameRegionStrings [] = { - "Japan", - "US", - "Export" -}; +const char *GameRegionStrings[] = {"Japan", "US", "Export"}; -const char* GpuTypeStrings [] = { - "Auto Detection", - "NVIDIA", - "AMD", - "ATI", - "INTEL", - "Unknown", - "ERROR_GPU" -}; - -/** - * Function to calculate CRC32 checksum in memory. - */ -uint32_t get_crc32(const char *s, ssize_t n) -{ - uint32_t crc = 0xFFFFFFFF; - - for (size_t i = 0; i < n; i++) - { - char ch = s[i]; - for (size_t j = 0; j < 8; j++) - { - uint32_t b = (ch ^ crc) & 1; - crc >>= 1; - if (b) - crc = crc ^ 0xEDB88320; - ch >>= 1; - } - } - return ~crc; -} - -static char *getNextToken(char *buffer, char *seperator, char **saveptr) -{ - char *token = strtok_r(buffer, seperator, saveptr); - if (token == NULL) - return NULL; - - for (int i = 0; i < (int)strlen(token); i++) - { - if ((token[i] == '\n') || (token[i] == '\r')) - { - token[i] = 0; - } - } - return token; -} +const char *GpuTypeStrings[] = {"Auto Detection", "NVIDIA", "AMD", "ATI", "INTEL", "Unknown", "ERROR_GPU"}; static int detectGame(uint32_t elf_crc) { + const GameData *gameData = getGameData(elf_crc); - switch (elf_crc) + if (gameData) { - case AFTER_BURNER_CLIMAX: - { - config.gameTitle = "After Burner Climax"; - config.gameDVP = "DVP-0009"; - config.gameID = "SBLR"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "640x480"; - config.gameStatus = WORKING; - config.jvsIOType = SEGA_TYPE_1; - config.gameType = ABC; - config.width = 640; - config.height = 480; + config.gameTitle = (char *)gameData->gameTitle; + config.gameShortTitle = (char *)gameData->gameShortTitle; + config.gameDVP = (char *)gameData->gameDVP; + config.gameID = (char *)gameData->gameID; + config.gameReleaseYear = (char *)gameData->gameReleaseYear; + config.gameNativeResolutions = (char *)gameData->gameNativeResolutions; + config.gameStatus = gameData->gameStatus; + config.jvsIOType = gameData->jvsIOType; + config.gameType = gameData->gameType; + config.width = gameData->width; + config.height = gameData->height; + config.gameGroup = gameData->gameGroup; + config.emulateRideboard = gameData->emulateRideboard; + config.emulateDriveboard = gameData->emulateDriveboard; + config.emulateMotionboard = gameData->emulateMotionboard; + config.emulateHW210CardReader = gameData->emulateHW210CardReader; + config.emulateTouchscreen = gameData->emulateTouchscreen; + config.gameLindberghColour = gameData->gameLindberghColour; return 0; } - break; - - case AFTER_BURNER_CLIMAX_REVA: - { - config.gameTitle = "After Burner Climax Rev A"; - config.gameDVP = "DVP-0009A"; - config.gameID = "SBLR"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "640x480"; - config.gameStatus = WORKING; - config.jvsIOType = SEGA_TYPE_1; - config.gameType = ABC; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case AFTER_BURNER_CLIMAX_REVB: - { - config.gameTitle = "After Burner Climax Rev B"; - config.gameDVP = "DVP-0009B"; - config.gameID = "SBLR"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "640x480"; - config.gameStatus = WORKING; - config.jvsIOType = SEGA_TYPE_1; - config.gameType = ABC; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case AFTER_BURNER_CLIMAX_SDX: - { - config.gameTitle = "After Burner Climax SDX"; - config.gameDVP = "DVP-0018-SDX"; - config.gameID = "SBMN"; - config.gameReleaseYear = "2006 ?"; - config.gameNativeResolutions = "640x480"; - config.gameStatus = WORKING; - config.jvsIOType = SEGA_TYPE_1; - config.gameType = ABC; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case AFTER_BURNER_CLIMAX_SDX_REVA: - { - config.gameTitle = "After Burner Climax SDX Rev A"; - config.gameDVP = "DVP-0018A-SDX"; - config.gameID = "SBMN"; - config.gameReleaseYear = "2006 ?"; - config.gameNativeResolutions = "640x480"; - config.gameStatus = WORKING; - config.jvsIOType = SEGA_TYPE_1; - config.gameType = ABC; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case AFTER_BURNER_CLIMAX_SE: - { - config.gameTitle = "After Burner Climax SE"; - config.gameDVP = "DVP-0031"; - config.gameID = "SBLR"; - config.gameReleaseYear = "2006 ?"; - config.gameNativeResolutions = ""; - config.gameStatus = WORKING; - config.jvsIOType = SEGA_TYPE_1; - config.gameType = ABC; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case AFTER_BURNER_CLIMAX_SE_REVA: - { - config.gameTitle = "After Burner Climax SE Rev A"; - config.gameDVP = "DVP-0031A"; - config.gameID = "SBLR"; - config.gameReleaseYear = "2006 ?"; - config.gameNativeResolutions = ""; - config.gameStatus = WORKING; - config.jvsIOType = SEGA_TYPE_1; - config.gameType = ABC; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case GHOST_SQUAD_EVOLUTION: - { - config.gameTitle = "Ghost Squad Evolution"; - config.gameStatus = WORKING; - config.gameDVP = "DVP-0029A"; - config.gameID = "SBNJ"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "640x480"; - config.gameLindberghColour = RED; - config.gameType = SHOOTING; - config.jvsIOType = SEGA_TYPE_1; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case HARLEY_DAVIDSON: - { - config.gameTitle = "Harley-Davidson: King of the Road"; - config.gameDVP = "DVP-5007"; - config.gameID = "SBRG"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = "1360x768"; - config.gameLindberghColour = RED; - config.gameType = HARLEY; - config.gameStatus = WORKING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case HUMMER: - { - config.gameTitle = "Hummer"; - config.gameID = "SBQN"; - config.gameDVP = "DVP-0057B"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "1280x768"; - config.gameType = DRIVING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case HUMMER_EXTREME: - { - config.gameTitle = "Hummer Extreme"; - config.gameID = "SBST"; - config.gameDVP = "DVP-0079"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = ""; - config.gameType = DRIVING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case HUMMER_EXTREME_MDX: - { - config.gameTitle = "Hummer Extreme MDX"; - config.gameID = "SBST"; - config.gameDVP = "DVP-0083"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = "1280x768"; - config.gameType = DRIVING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case HUMMER_SDLX: - { - config.gameTitle = "Hummer SDLX"; - config.gameID = "SBST"; - config.gameDVP = "DVP-0057"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = ""; - config.gameType = DRIVING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_EXP_REVB: - { - config.gameTitle = "Initial D Arcade Stage 4 Export Rev B"; - config.gameID = "SBNK"; - config.gameDVP = "DVP-0030B"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_EXP_REVC: - { - config.gameTitle = "Initial D Arcade Stage 4 Export Rev C"; - config.gameID = "SBNK"; - config.gameDVP = "DVP-0030C"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_EXP_REVD: - { - config.gameTitle = "Initial D Arcade Stage 4 Export Rev D"; - config.gameID = "SBNK"; - config.gameDVP = "DVP-0030D"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_REVA: - { - config.gameTitle = "Initial D Arcade Stage 4 Rev A"; - config.gameID = "SBML"; - config.gameDVP = "DVP-0019A"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_REVB: - { - config.gameTitle = "Initial D Arcade Stage 4 Rev B"; - config.gameID = "SBML"; - config.gameDVP = "DVP-0019B"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_REVC: - { - config.gameTitle = "Initial D Arcade Stage 4 Rev C"; - config.gameID = "SBML"; - config.gameDVP = "DVP-0019C"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_REVD: - { - config.gameTitle = "Initial D Arcade Stage 4 Rev D"; - config.gameID = "SBML"; - config.gameDVP = "DVP-0019D"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_4_REVG: - { - config.gameTitle = "Initial D Arcade Stage 4 Rev G"; - config.gameID = "SBML"; - config.gameDVP = "DVP-0019G"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_5_EXP: - { - config.gameTitle = "Initial D5 EXP"; - config.gameStatus = WORKING; - config.gameDVP = "DVP-0075"; - config.gameID = "SBRY"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = "1360x768"; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_5_EXP_20: - { - config.gameTitle = "Initial D5 EXP 2.0"; - config.gameStatus = WORKING; - config.gameDVP = "DVP-0084"; - config.gameID = "SBTS"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = "1360x768"; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_5_EXP_20A: - { - config.gameTitle = "Initial D5 5 EXP 2.0"; - config.gameDVP = "DVP-0084A"; - config.gameID = "SBQN"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_5_JAP_REVA: - { - config.gameTitle = "Initial D Arcade Stage 5 Rev A"; - config.gameDVP = "DVP-0070A"; - config.gameID = "SBQZ"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case INITIALD_5_JAP_REVF: - { - config.gameTitle = "Initial D Arcade Stage 5 Rev F"; - config.gameDVP = "DVP-0070F"; - config.gameID = "SBQZ"; - config.gameReleaseYear = "2009"; - config.gameNativeResolutions = "1360x768"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case LETS_GO_JUNGLE: - { - config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice!"; - config.gameDVP = "DVP-0011"; - config.gameID = "SBLU"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "1360x768"; - config.gameType = SHOOTING; - config.gameStatus = WORKING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case LETS_GO_JUNGLE_REVA: - { - config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice! Rev A"; - config.gameDVP = "DVP-0011A"; - config.gameID = "SBLU"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "1360x768"; - config.gameType = SHOOTING; - config.gameStatus = WORKING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case LETS_GO_JUNGLE_SPECIAL: - { - config.gameTitle = "Let's Go Jungle! Special!"; - config.emulateRideboard = 1; - config.gameID = "SBNR"; - config.gameDVP = "DVP-0036"; - config.gameReleaseYear = "2007"; - config.gameNativeResolutions = "1024x768"; - config.gameType = SHOOTING; - config.gameStatus = WORKING; - config.width = 1024; - config.height = 768; - return 0; - } - break; - - case MJ4_EVO: - { - config.gameTitle = "SEGA Network Taisen Mahjong MJ4 Evolution"; - config.gameDVP = "DVP-0081"; - config.gameID = "SBTA"; - config.gameStatus = WORKING; - config.gameType = MAHJONG; - return 0; - } - break; - - case MJ4_REVG: - { - config.gameTitle = "SEGA Network Taisen Mahjong MJ4"; - config.gameDVP = "DVP-0049G"; - config.gameID = "SBPN"; - config.gameStatus = WORKING; - config.gameType = MAHJONG; - return 0; - } - break; - - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_TEST: - { - config.gameTitle = "Outrun 2 SP SDX"; - config.gameDVP = "DVP-0015"; - config.gameID = "SBMB"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "800x480"; - config.emulateDriveboard = 1; - config.emulateMotionboard = 1; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 800; - config.height = 480; - return 0; - } - break; - - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - { - config.gameTitle = "Outrun 2 SP SDX Rev A"; - config.gameDVP = "DVP-0015A"; - config.gameID = "SBMB"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "800x480"; - config.emulateDriveboard = 1; - config.emulateMotionboard = 1; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 800; - config.height = 480; - return 0; - } - break; - - case PRIMEVAL_HUNT: - { - config.gameTitle = "Primeval Hunt"; - config.gameDVP = "DVP-0048A"; - config.gameID = "SBPP"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "640x480"; - config.gameLindberghColour = RED; - config.gameStatus = WORKING; - config.gameType = SHOOTING; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case RAMBO: - { - config.gameTitle = "Rambo"; - config.gameDVP = "DVP-0069"; - config.gameID = "SBQL"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "640x480, 1280x768"; - config.gameLindberghColour = REDEX; - config.gameType = SHOOTING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case R_TUNED: - { - config.gameTitle = "R-Tuned: Ultimate Street Racing"; - config.gameDVP = "DVP-0060"; - config.gameID = "SBQW"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "640x480"; - config.emulateDriveboard = 1; - config.emulateCardreader = 1; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case SEGABOOT_2_4: - { - config.gameTitle = "Segaboot 2.4"; - config.gameStatus = WORKING; - return 0; - } - break; - - case SEGABOOT_2_4_SYM: - { - config.gameTitle = "Segaboot 2.4 with symbols"; - config.gameStatus = WORKING; - return 0; - } - break; - - case SEGA_RACE_TV: - { - config.gameTitle = "SEGA Race TV"; - config.emulateDriveboard = 1; - config.gameDVP = "DVP-0044"; - config.gameID = "SBPF"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "640x480"; - config.gameStatus = WORKING; - config.gameType = DRIVING; - config.width = 640; - config.height = 480; - return 0; - } - break; - - case THE_HOUSE_OF_THE_DEAD_4_REVA: - case THE_HOUSE_OF_THE_DEAD_4_REVA_TEST: - { - config.gameTitle = "The House of the Dead 4 Rev A"; - config.gameID = "SBLC"; - config.gameDVP = "DVP-0003A"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "640x480, 1280x768"; - config.gameType = SHOOTING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case THE_HOUSE_OF_THE_DEAD_4_REVB: - case THE_HOUSE_OF_THE_DEAD_4_REVB_TEST: - { - config.gameTitle = "The House of the Dead 4 Rev B"; - config.gameID = "SBLC"; - config.gameDVP = "DVP-0003B"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "640x480, 1280x768"; - config.gameType = SHOOTING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case THE_HOUSE_OF_THE_DEAD_4_REVC: - case THE_HOUSE_OF_THE_DEAD_4_REVC_TEST: - { - config.gameTitle = "The House of the Dead 4 Rev C"; - config.gameID = "SBLC"; - config.gameDVP = "DVP-0003C"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "640x480, 1280x768"; - config.gameType = SHOOTING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_TEST: - { - config.gameTitle = "The House of the Dead 4 Special"; - config.emulateRideboard = 1; - config.gameID = "SBLS"; - config.gameDVP = "DVP-0010"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "1024x768"; - config.gameStatus = WORKING; - config.gameType = SHOOTING; - config.width = 1024; - config.height = 768; - return 0; - } - break; - - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB_TEST: - { - config.gameTitle = "The House of the Dead 4 Special Rev B"; - config.emulateRideboard = 1; - config.gameID = "SBLS"; - config.gameDVP = "DVP-0010B"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "1024x768"; - config.gameStatus = WORKING; - config.gameType = SHOOTING; - config.width = 1024; - config.height = 768; - return 0; - } - break; - - case THE_HOUSE_OF_THE_DEAD_EX: - case THE_HOUSE_OF_THE_DEAD_EX_TEST: - { - config.gameTitle = "Ai Sareruyori Ai Shitai: The House of the Dead EX"; - config.gameStatus = WORKING; - config.gameType = SHOOTING; - config.gameID = "SBRC"; - config.gameDVP = "DVP-0063"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "640x480, 1280x768"; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case TOO_SPICY: - case TOO_SPICY_TEST: - { - config.gameTitle = "Too Spicy"; - config.gameDVP = "DVP-0027A"; - config.gameID = "SBMV"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "640x480, 1280x768"; - config.gameLindberghColour = RED; - config.gameStatus = WORKING; - config.gameType = SHOOTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5: - { - config.gameTitle = "Virtua Fighter 5"; - config.gameDVP = "DVP-0008"; - config.gameID = "SBLM"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_EXPORT: - { - config.gameTitle = "Virtua Fighter 5 Export"; - config.gameDVP = "DVP-0043"; - config.gameID = "SBLM"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - { - config.gameTitle = "Virtua Fighter 5 Final Showdown REV A"; - config.gameDVP = "DVP-5019A"; - config.gameID = "SBUV"; - config.gameReleaseYear = "2010"; - config.gameNativeResolutions = "1280x768"; - config.gameType = FIGHTING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - { - config.gameTitle = "Virtua Fighter 5 Final Showdown REV B"; - config.gameDVP = "DVP-5020"; - config.gameID = "SBXX"; - config.gameReleaseYear = "2010"; - config.gameNativeResolutions = "1280x768"; - config.gameType = FIGHTING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: - { - config.gameTitle = "Virtua Fighter 5 Final Showdown REV B ver 6.0000"; - config.gameDVP = "DVP-5020"; - config.gameID = "SBXX"; - config.gameReleaseYear = "2010"; - config.gameNativeResolutions = "1280x768"; - config.gameType = FIGHTING; - config.gameStatus = WORKING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_R: - { - config.gameTitle = "Virtua Fighter 5 R"; - config.gameDVP = "DVP-XXXX"; - config.gameID = "SBQU"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_R_REVD: - { - config.gameTitle = "Virtua Fighter 5 R Rev D"; - config.gameDVP = "DVP-XXXX"; - config.gameID = "SBQU"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_R_REVG: - { - config.gameTitle = "Virtua Fighter 5 R Rev G"; - config.gameDVP = "DVP-XXXX"; - config.gameID = "SBQU"; - config.gameReleaseYear = "2008"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_REVA: - { - config.gameTitle = "Virtua Fighter 5 Rev A"; - config.gameDVP = "DVP-0008A"; - config.gameID = "SBLM"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_REVB: - { - config.gameTitle = "Virtua Fighter 5 Rev B"; - config.gameDVP = "DVP-0008B"; - config.gameID = "SBLM"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_FIGHTER_5_REVE: - { - config.gameTitle = "Virtua Fighter 5 Rev E (Public Version C)"; - config.gameDVP = "DVP-0008E"; - config.gameID = "SBLM"; - config.gameReleaseYear = "2005"; - config.gameNativeResolutions = "1280x768"; - config.gameStatus = WORKING; - config.gameType = FIGHTING; - config.width = 1280; - config.height = 768; - return 0; - } - break; - - case VIRTUA_TENNIS_3: - case VIRTUA_TENNIS_3_TEST: - { - config.gameTitle = "Virtua Tennis 3"; - config.gameDVP = "DVP-0005"; - config.gameID = "SBKX"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "640x480, 1360x768"; - config.emulateCardreader = 1; - config.gameStatus = WORKING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case VIRTUA_TENNIS_3_REVA: - case VIRTUA_TENNIS_3_REVA_TEST: - { - config.gameTitle = "Virtua Tennis 3 Rev A"; - config.gameDVP = "DVP-0005A"; - config.gameID = "SBKX"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "640x480, 1360x768"; - config.emulateCardreader = 1; - config.gameType = FIGHTING; - config.gameStatus = WORKING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case VIRTUA_TENNIS_3_REVB: - case VIRTUA_TENNIS_3_REVB_TEST: - { - config.gameTitle = "Virtua Tennis 3 Rev B"; - config.gameDVP = "DVP-0005B"; - config.gameID = "SBKX"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "640x480, 1360x768"; - config.emulateCardreader = 1; - config.gameType = FIGHTING; - config.gameStatus = WORKING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - - case VIRTUA_TENNIS_3_REVC: - case VIRTUA_TENNIS_3_REVC_TEST: - { - config.gameTitle = "Virtua Tennis 3 Rev C"; - config.gameDVP = "DVP-0005C"; - config.gameID = "SBKX"; - config.gameReleaseYear = "2006"; - config.gameNativeResolutions = "640x480, 1360x768"; - config.emulateCardreader = 1; - config.gameType = FIGHTING; - config.gameStatus = WORKING; - config.width = 1360; - config.height = 768; - return 0; - } - break; - default: - { - config.crc32 = UNKNOWN; - } - break; - } + config.crc32 = UNKNOWN; return 1; } @@ -1031,12 +61,12 @@ char *getGameName() return config.gameTitle; } -char *getDVPName() +char *getDvpName() { return config.gameDVP; } -char *getGameID() +char *getGameId() { return config.gameID; } @@ -1061,7 +91,6 @@ const char *getLindberghColourString(Colour lindberghColour) return LindbergColourStrings[lindberghColour]; } - const char *getGameRegionString(GameRegion region) { return GameRegionStrings[region]; @@ -1072,554 +101,409 @@ const char *getGpuTypeString(GpuType gpuType) return GpuTypeStrings[gpuType]; } -void toLowerCase(char *str) { - while (*str) { // Iterate through the string until the null terminator - *str = tolower((unsigned char)*str); // Convert each character to lowercase - str++; // Move to the next character +void toLowerCase(char *str) +{ + while (*str) + { + *str = tolower((unsigned char)*str); + str++; } } -int getNextIntOrAuto(char *saveptr, int defaultValue) { - char nextToken[256]; - strcpy(nextToken, getNextToken(NULL, " ", &saveptr)); - toLowerCase(nextToken); +void setDefaultValues(EmulatorConfig *cfg) +{ + cfg->emulateRideboard = 0; + cfg->emulateDriveboard = 0; + cfg->emulateMotionboard = 0; + cfg->emulateHW210CardReader = 0; + cfg->emulateTouchscreen = 0; + strcpy(cfg->cardFile1, "Card_01.crd"); + strcpy(cfg->cardFile2, "Card_02.crd"); + cfg->emulateJVS = 1; + cfg->fullscreen = 0; + cfg->lindberghColour = YELLOW; + strcpy(cfg->eepromPath, "eeprom.bin"); + strcpy(cfg->sramPath, "sram.bin"); + strcpy(cfg->libCgPath, ""); + strcpy(cfg->jvsPath, "/dev/ttyUSB0"); + strcpy(cfg->serial1Path, "/dev/ttyS0"); + strcpy(cfg->serial2Path, "/dev/ttyS1"); + cfg->width = 640; + cfg->height = 480; + cfg->boostRenderRes = 1; + cfg->region = EX; + cfg->freeplay = -1; + cfg->showDebugMessages = 0; + cfg->hummerFlickerFix = 0; + cfg->keepAspectRatio = 1; + cfg->outrunLensGlareEnabled = 1; + cfg->ramboGunsSwitch = 0; + cfg->id5ChineseLanguage = 0; + cfg->idSteeringPercentageReduction = 0.0f; + cfg->lgjRenderWithMesa = 1; + cfg->gameTitle = "Unknown game"; + cfg->gameID = "XXXX"; + cfg->gameDVP = "DVP-XXXX"; + cfg->gameType = SHOOTING; + cfg->gameLindberghColour = YELLOW; + cfg->gameReleaseYear = ""; + cfg->gameNativeResolutions = ""; + cfg->jvsIOType = SEGA_TYPE_3; + cfg->GPUVendor = AUTO_DETECT_GPU; + cfg->fpsLimiter = 1; + cfg->fpsTarget = 60.0f; + cfg->phScreenMode = 2; + cfg->phTestScreenSingle = 1; + cfg->disableBuiltinFont = 0; + cfg->disableBuiltinLogos = 0; + cfg->hideCursor = 1; + cfg->customCursorEnabled = 0; + strcpy(cfg->customCursor, ""); + cfg->customCursorWidth = 32; + cfg->customCursorHeight = 32; + strcpy(cfg->touchCursor, ""); + cfg->touchCursorWidth = 32; + cfg->touchCursorHeight = 32; + cfg->mj4EnabledAtT = 0; + cfg->enableNetworkPatches = 1; + strcpy(cfg->idIpSeat1, ""); + strcpy(cfg->idIpSeat2, ""); + strcpy(cfg->nicName, ""); + strcpy(cfg->or2IP, ""); + strcpy(cfg->or2Netmask, ""); + strcpy(cfg->IpCab1, ""); + strcpy(cfg->IpCab2, ""); + strcpy(cfg->IpCab3, ""); + strcpy(cfg->IpCab4, ""); + strcpy(cfg->tooSpicyIpCab1, ""); + strcpy(cfg->tooSpicyIpCab2, ""); + strcpy(cfg->srtvIP, ""); + cfg->cpuFreqGhz = 0.0f; + memset(&cfg->arcadeInputs, 0, sizeof(cfg->arcadeInputs)); + cfg->crc32 = 0; + cfg->gameGroup = -1; + cfg->skipOutrunCabinetCheck = 0; + cfg->borderEnabled = 0; + cfg->whiteBorderPercentage = 0.02f; + cfg->blackBorderPercentage = 0.0f; + cfg->inputMode = 1; +} - if (strcmp(nextToken, "auto") == 0) +static const char *getValue(const IniConfig *ini, const char *sectionName, const char *key) +{ + IniSection *section = iniGetSection(ini, sectionName); + if (!section) + { + return NULL; + } + for (int i = 0; i < section->numPairs; i++) + { + if (strcmp(section->pairs[i].key, key) == 0) + { + return section->pairs[i].value; + } + } + return NULL; +} + +static char *cleanValue(const char *rawValue, char *buffer, size_t bufferSize) +{ + if (!rawValue || bufferSize == 0) + return NULL; + + strncpy(buffer, rawValue, bufferSize - 1); + buffer[bufferSize - 1] = '\0'; + + char *start = buffer; + char *end = buffer + strlen(buffer) - 1; + + while (isspace((unsigned char)*start)) + start++; + while (end > start && isspace((unsigned char)*end)) + end--; + *(end + 1) = '\0'; + + if (*start == '"' && *end == '"') + { + start++; + *end = '\0'; + } + return start; +} + +static int getInt(const IniConfig *ini, const char *section, const char *key, int defaultValue) +{ + const char *rawValue = getValue(ini, section, key); + if (!rawValue) return defaultValue; - return atoi(nextToken); + char cleanBuffer[256]; + char *valueStr = cleanValue(rawValue, cleanBuffer, sizeof(cleanBuffer)); + if (!valueStr) + return defaultValue; + + char tempStr[256]; + strncpy(tempStr, valueStr, sizeof(tempStr) - 1); + tempStr[sizeof(tempStr) - 1] = '\0'; + toLowerCase(tempStr); + + if (strcmp(tempStr, "auto") == 0) + { + return defaultValue; + } + if (strcmp(tempStr, "true") == 0) + { + return 1; + } + if (strcmp(tempStr, "false") == 0) + { + return 0; + } + if (strcmp(tempStr, "none") == 0) + { + return -1; + } + return atoi(valueStr); } -int readConfig(FILE *configFile, EmulatorConfig *config) +static float getFloat(const IniConfig *ini, const char *section, const char *key, float defaultValue) { - char buffer[MAX_LINE_LENGTH]; - char *saveptr = NULL; + const char *rawValue = getValue(ini, section, key); + if (!rawValue) + return defaultValue; + char cleanBuffer[256]; + char *valueStr = cleanValue(rawValue, cleanBuffer, sizeof(cleanBuffer)); + return valueStr ? atof(valueStr) : defaultValue; +} - while (fgets(buffer, MAX_LINE_LENGTH, configFile)) +static void getString(const IniConfig *ini, const char *section, const char *key, char *dest, int dest_size) +{ + const char *rawValue = getValue(ini, section, key); + if (rawValue) { - - /* Check for comments */ - if (buffer[0] == '#' || buffer[0] == 0 || buffer[0] == ' ' || buffer[0] == '\r' || buffer[0] == '\n') - continue; - - char *command = getNextToken(buffer, " ", &saveptr); - - if (strcmp(command, "WIDTH") == 0) { - int defaultValue = config->width; - config->width = getNextIntOrAuto(saveptr, defaultValue); - } - - else if (strcmp(command, "HEIGHT") == 0) { - int defaultValue = config->height; - config->height = getNextIntOrAuto(saveptr, defaultValue); - } - - else if (strcmp(command, "BOOST_RENDER_RES") == 0) - config->boostRenderRes = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "EEPROM_PATH") == 0) - strcpy(config->eepromPath, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "SRAM_PATH") == 0) - strcpy(config->sramPath, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "LIBCG_PATH") == 0) - strcpy(config->libCgPath, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "EMULATE_RIDEBOARD") == 0) { - int defaultValue = config->emulateRideboard; - config->emulateRideboard = getNextIntOrAuto(saveptr, defaultValue); - } - - else if (strcmp(command, "EMULATE_DRIVEBOARD") == 0) { - int defaultValue = config->emulateDriveboard; - config->emulateDriveboard = getNextIntOrAuto(saveptr, defaultValue); - } - - else if (strcmp(command, "EMULATE_MOTIONBOARD") == 0) { - int defaultValue = config->emulateMotionboard; - config->emulateMotionboard = getNextIntOrAuto(saveptr, defaultValue); - } - - else if (strcmp(command, "EMULATE_CARDREADER") == 0) + char cleanBuffer[MAX_PATH_LENGTH]; + char *valueStr = cleanValue(rawValue, cleanBuffer, sizeof(cleanBuffer)); + if (valueStr) { - int defaultValue = config->emulateCardreader; - config->emulateCardreader = getNextIntOrAuto(saveptr, defaultValue); + strncpy(dest, valueStr, dest_size - 1); + dest[dest_size - 1] = '\0'; } + } +} - else if (strcmp(command, "EMULATE_TOUCHSCREEN") == 0) - config->emulateTouchscreen = atoi(getNextToken(NULL, " ", &saveptr)); +void applyIniConfig(EmulatorConfig *config, const IniConfig *ini) +{ + // [Display] + config->width = getInt(ini, "Display", "WIDTH", config->width); + config->height = getInt(ini, "Display", "HEIGHT", config->height); + config->boostRenderRes = getInt(ini, "Display", "BOOST_RENDER_RES", config->boostRenderRes); + config->fullscreen = getInt(ini, "Display", "FULLSCREEN", config->fullscreen); + config->borderEnabled = getInt(ini, "Display", "BORDER_ENABLED", config->borderEnabled); + config->whiteBorderPercentage = getInt(ini, "Display", "WHITE_BORDER_PERCENTAGE", config->whiteBorderPercentage * 100) / 100.0f; + config->blackBorderPercentage = getInt(ini, "Display", "BLACK_BORDER_PERCENTAGE", config->blackBorderPercentage * 100) / 100.0f; + config->keepAspectRatio = getInt(ini, "Display", "KEEP_ASPECT_RATIO", config->keepAspectRatio); + config->hideCursor = getInt(ini, "Display", "HIDE_CURSOR", config->hideCursor); - else if (strcmp(command, "CARDFILE_01") == 0) - strcpy(config->cardFile1, getNextToken(NULL, " ", &saveptr)); + // [Input] + config->inputMode = getInt(ini, "Input", "INPUT_MODE", config->inputMode); - else if (strcmp(command, "CARDFILE_02") == 0) - strcpy(config->cardFile2, getNextToken(NULL, " ", &saveptr)); + // [Emulation] + const char *regionRaw = getValue(ini, "Emulation", "REGION"); + if (regionRaw) + { + char cleanBuffer[16]; + char *regionStr = cleanValue(regionRaw, cleanBuffer, sizeof(cleanBuffer)); + if (strcmp(regionStr, "JP") == 0) + config->region = JP; + else if (strcmp(regionStr, "US") == 0) + config->region = US; + else if (strcmp(regionStr, "EX") == 0) + config->region = EX; + } + config->freeplay = getInt(ini, "Emulation", "FREEPLAY", config->freeplay); + config->emulateJVS = getInt(ini, "Emulation", "EMULATE_JVS", config->emulateJVS); + config->emulateRideboard = getInt(ini, "Emulation", "EMULATE_RIDEBOARD", config->emulateRideboard); + config->emulateDriveboard = getInt(ini, "Emulation", "EMULATE_DRIVEBOARD", config->emulateDriveboard); + config->emulateMotionboard = getInt(ini, "Emulation", "EMULATE_MOTIONBOARD", config->emulateMotionboard); + config->emulateHW210CardReader = getInt(ini, "Emulation", "EMULATE_HW210_CARDREADER", config->emulateHW210CardReader); + config->emulateTouchscreen = getInt(ini, "Emulation", "EMULATE_TOUCHSCREEN", config->emulateTouchscreen); - else if (strcmp(command, "FULLSCREEN") == 0) - config->fullscreen = atoi(getNextToken(NULL, " ", &saveptr)); + // [Cards] + getString(ini, "Cards", "CARDFILE_01", config->cardFile1, MAX_PATH_LENGTH); + getString(ini, "Cards", "CARDFILE_02", config->cardFile2, MAX_PATH_LENGTH); - else if (strcmp(command, "NO_SDL") == 0) - config->noSDL = atoi(getNextToken(NULL, " ", &saveptr)); + // [Paths] + getString(ini, "Paths", "JVS_PATH", config->jvsPath, MAX_PATH_LENGTH); + getString(ini, "Paths", "SERIAL_1_PATH", config->serial1Path, MAX_PATH_LENGTH); + getString(ini, "Paths", "SERIAL_2_PATH", config->serial2Path, MAX_PATH_LENGTH); + getString(ini, "Paths", "SRAM_PATH", config->sramPath, MAX_PATH_LENGTH); + getString(ini, "Paths", "EEPROM_PATH", config->eepromPath, MAX_PATH_LENGTH); + getString(ini, "Paths", "LIBCG_PATH", config->libCgPath, MAX_PATH_LENGTH); - else if (strcmp(command, "EMULATE_JVS") == 0) - config->emulateJVS = atoi(getNextToken(NULL, " ", &saveptr)); + // [Graphics] + config->configGPUVendor = config->GPUVendor = getInt(ini, "Graphics", "GPU_VENDOR", config->GPUVendor); + config->hummerFlickerFix = getInt(ini, "Graphics", "HUMMER_FLICKER_FIX", config->hummerFlickerFix); + config->outrunLensGlareEnabled = getInt(ini, "Graphics", "OUTRUN_LENS_GLARE_ENABLED", config->outrunLensGlareEnabled); + config->fpsLimiter = getInt(ini, "Graphics", "FPS_LIMITER_ENABLED", config->fpsLimiter); + config->fpsTarget = getFloat(ini, "Graphics", "FPS_TARGET", config->fpsTarget); + config->lgjRenderWithMesa = getInt(ini, "Graphics", "LGJ_RENDER_WITH_MESA", config->lgjRenderWithMesa); + config->disableBuiltinFont = getInt(ini, "Graphics", "DISABLE_BUILTIN_FONT", config->disableBuiltinFont); + config->disableBuiltinLogos = getInt(ini, "Graphics", "DISABLE_BUILTIN_LOGOS", config->disableBuiltinLogos); - else if (strcmp(command, "JVS_PATH") == 0) - strcpy(config->jvsPath, getNextToken(NULL, " ", &saveptr)); + // [Cursor] + config->customCursorEnabled = getInt(ini, "Cursor", "CUSTOM_CURSOR_ENABLED", config->customCursorEnabled); + getString(ini, "Cursor", "CUSTOM_CURSOR", config->customCursor, MAX_PATH_LENGTH); + config->customCursorWidth = getInt(ini, "Cursor", "CUSTOM_CURSOR_WIDTH", config->customCursorWidth); + config->customCursorHeight = getInt(ini, "Cursor", "CUSTOM_CURSOR_HEIGHT", config->customCursorHeight); + getString(ini, "Cursor", "TOUCH_CURSOR", config->touchCursor, MAX_PATH_LENGTH); + config->touchCursorWidth = getInt(ini, "Cursor", "TOUCH_CURSOR_WIDTH", config->touchCursorWidth); + config->touchCursorHeight = getInt(ini, "Cursor", "TOUCH_CURSOR_HEIGHT", config->touchCursorHeight); - else if (strcmp(command, "SERIAL_1_PATH") == 0) - strcpy(config->serial1Path, getNextToken(NULL, " ", &saveptr)); + // [GameSpecific] + config->phScreenMode = getInt(ini, "GameSpecific", "PRIMEVAL_HUNT_SCREEN_MODE", config->phScreenMode); + config->phTestScreenSingle = getInt(ini, "GameSpecific", "PRIMEVAL_HUNT_TEST_SCREEN_SINGLE", config->phTestScreenSingle); + config->skipOutrunCabinetCheck = getInt(ini, "GameSpecific", "SKIP_OUTRUN_CABINET_CHECK", config->skipOutrunCabinetCheck); + config->mj4EnabledAtT = getInt(ini, "GameSpecific", "MJ4_ENABLED_ALL_THE_TIME", config->mj4EnabledAtT); + config->cpuFreqGhz = getFloat(ini, "GameSpecific", "CPU_FREQ_GHZ", config->cpuFreqGhz); + config->ramboGunsSwitch = getInt(ini, "GameSpecific", "RAMBO_GUNS_SWITCH", config->ramboGunsSwitch); + config->id5ChineseLanguage = getInt(ini, "GameSpecific", "ID5_CHINESE_LANGUAGE", config->id5ChineseLanguage); + config->idSteeringPercentageReduction = getFloat(ini, "GameSpecific", "ID_STEERING_REDUCTION_PERCENTAGE", config->idSteeringPercentageReduction); - else if (strcmp(command, "SERIAL_2_PATH") == 0) - strcpy(config->serial2Path, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "FREEPLAY") == 0) - config->freeplay = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "LINDBERGH_COLOUR") == 0) - { - char colour[256]; - strcpy(colour, getNextToken(NULL, " ", &saveptr)); - - // Convert colour to uppercase just to avoid case-sensitivity issues - for (char *p = colour; *p; ++p) *p = toupper(*p); - - if (strcmp(colour, "RED") == 0) - config->lindberghColour = RED; - else if (strcmp(colour, "YELLOW") == 0) - config->lindberghColour = YELLOW; - else if (strcmp(colour, "BLUE") == 0) - config->lindberghColour = BLUE; - else if (strcmp(colour, "SILVER") == 0) - config->lindberghColour = SILVER; - else if (strcmp(colour, "REDEX") == 0) - config->lindberghColour = REDEX; - else - { - // Print a warning and keep the default colour - log_warn("Unknown Lindbergh colour '%s'. Keeping default value.\n", colour); - } - } - - else if (strcmp(command, "REGION") == 0) - { - char region[256]; - strcpy(region, getNextToken(NULL, " ", &saveptr)); - if (strcmp(region, "JP") == 0) - config->region = JP; - else if (strcmp(region, "US") == 0) - config->region = US; - else if (strcmp(region, "EX") == 0) - config->region = EX; - else - { - // Print a warning and keep the default region - log_warn("Unknown Region '%s'. Keeping default value.\n", region); - } - } - - else if (strcmp(command, "DEBUG_MSGS") == 0) - config->showDebugMessages = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "HUMMER_FLICKER_FIX") == 0) - config->hummerFlickerFix = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "KEEP_ASPECT_RATIO") == 0) - config->keepAspectRatio = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "GPU_VENDOR") == 0) - config->configGPUVendor = config->GPUVendor = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "OUTRUN_LENS_GLARE_ENABLED") == 0) - config->outrunLensGlareEnabled = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "FPS_LIMITER_ENABLED") == 0) - config->fpsLimiter = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "FPS_TARGET") == 0) - config->fpsTarget = atof(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "LGJ_RENDER_WITH_MESA") == 0) - config->lgjRenderWithMesa = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PRIMEVAL_HUNT_MODE") == 0) - config->phMode = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "DISABLE_BUILTIN_FONT") == 0) - config->disableBuiltinFont = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "DISABLE_BUILTIN_LOGOS") == 0) - config->disableBuiltinLogos = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "HIDE_CURSOR") == 0) - config->hideCursor = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "CUSTOM_CURSOR") == 0) - strcpy(config->customCursor, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "CUSTOM_CURSOR_WIDTH") == 0) - config->customCursorWidth = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "CUSTOM_CURSOR_HEIGHT") == 0) - config->customCursorHeight = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PH_TOUCH_CURSOR") == 0) - strcpy(config->phTouchCursor, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PH_TOUCH_CURSOR_WIDTH") == 0) - config->phTouchCursorWidth = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PH_TOUCH_CURSOR_HEIGHT") == 0) - config->phTouchCursorHeight = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "MJ4_ENABLED_ALL_THE_TIME") == 0) - config->mj4EnabledAtT = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "OR2_IP") == 0) - strcpy(config->or2IP, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "OR2_NETMASK") == 0) - strcpy(config->or2Netmask, getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "CPU_FREQ_GHZ") == 0) - config->cpuFreqGhz = atof(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "TEST_KEY") == 0) - config->keymap.test = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_START_KEY") == 0) - config->keymap.player1.start = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_SERVICE_KEY") == 0) - config->keymap.player1.service = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_COIN_KEY") == 0) - config->keymap.player1.coin = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_UP_KEY") == 0) - config->keymap.player1.up = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_DOWN_KEY") == 0) - config->keymap.player1.down = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_LEFT_KEY") == 0) - config->keymap.player1.left = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_RIGHT_KEY") == 0) - config->keymap.player1.right = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_1_KEY") == 0) - config->keymap.player1.button1 = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_2_KEY") == 0) - config->keymap.player1.button2 = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_3_KEY") == 0) - config->keymap.player1.button3 = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_4_KEY") == 0) - config->keymap.player1.button4 = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_5_KEY") == 0) - config->keymap.player1.button5 = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_6_KEY") == 0) - config->keymap.player1.button6 = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_7_KEY") == 0) - config->keymap.player1.button7 = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "PLAYER_1_BUTTON_8_KEY") == 0) - config->keymap.player1.button8 = atoi(getNextToken(NULL, " ", &saveptr)); - - // Evdev TEST button - else if (strcmp(command, "TEST_BUTTON") == 0) - strncpy(config->arcadeInputs.test, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - - // Player 1 controls - else if (strcmp(command, "PLAYER_1_BUTTON_START") == 0) - strncpy(config->arcadeInputs.player1_button_start, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_SERVICE") == 0) - strncpy(config->arcadeInputs.player1_button_service, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_UP") == 0) - strncpy(config->arcadeInputs.player1_button_up, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_DOWN") == 0) - strncpy(config->arcadeInputs.player1_button_down, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_LEFT") == 0) - strncpy(config->arcadeInputs.player1_button_left, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_RIGHT") == 0) - strncpy(config->arcadeInputs.player1_button_right, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_1") == 0) - strncpy(config->arcadeInputs.player1_button_1, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_2") == 0) - strncpy(config->arcadeInputs.player1_button_2, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_3") == 0) - strncpy(config->arcadeInputs.player1_button_3, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_4") == 0) - strncpy(config->arcadeInputs.player1_button_4, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_5") == 0) - strncpy(config->arcadeInputs.player1_button_5, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_6") == 0) - strncpy(config->arcadeInputs.player1_button_6, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_7") == 0) - strncpy(config->arcadeInputs.player1_button_7, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_8") == 0) - strncpy(config->arcadeInputs.player1_button_8, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_9") == 0) - strncpy(config->arcadeInputs.player1_button_9, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_BUTTON_10") == 0) - strncpy(config->arcadeInputs.player1_button_10, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_1_COIN") == 0) - strncpy(config->arcadeInputs.player1_coin, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - - // Player 2 controls - else if (strcmp(command, "PLAYER_2_BUTTON_START") == 0) - strncpy(config->arcadeInputs.player2_button_start, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_SERVICE") == 0) - strncpy(config->arcadeInputs.player2_button_service, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_UP") == 0) - strncpy(config->arcadeInputs.player2_button_up, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_DOWN") == 0) - strncpy(config->arcadeInputs.player2_button_down, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_LEFT") == 0) - strncpy(config->arcadeInputs.player2_button_left, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_RIGHT") == 0) - strncpy(config->arcadeInputs.player2_button_right, getNextToken(NULL, " ", &saveptr), - INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_1") == 0) - strncpy(config->arcadeInputs.player2_button_1, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_2") == 0) - strncpy(config->arcadeInputs.player2_button_2, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_3") == 0) - strncpy(config->arcadeInputs.player2_button_3, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_4") == 0) - strncpy(config->arcadeInputs.player2_button_4, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_5") == 0) - strncpy(config->arcadeInputs.player2_button_5, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_6") == 0) - strncpy(config->arcadeInputs.player2_button_6, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_7") == 0) - strncpy(config->arcadeInputs.player2_button_7, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_8") == 0) - strncpy(config->arcadeInputs.player2_button_8, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_9") == 0) - strncpy(config->arcadeInputs.player2_button_9, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_BUTTON_10") == 0) - strncpy(config->arcadeInputs.player2_button_10, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "PLAYER_2_COIN") == 0) - strncpy(config->arcadeInputs.player2_coin, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - - // Analogue inputs - else if (strcmp(command, "ANALOGUE_1") == 0) - strncpy(config->arcadeInputs.analogue_1, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "ANALOGUE_2") == 0) - strncpy(config->arcadeInputs.analogue_2, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "ANALOGUE_3") == 0) - strncpy(config->arcadeInputs.analogue_3, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "ANALOGUE_4") == 0) - strncpy(config->arcadeInputs.analogue_4, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "ANALOGUE_5") == 0) - strncpy(config->arcadeInputs.analogue_5, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "ANALOGUE_6") == 0) - strncpy(config->arcadeInputs.analogue_6, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "ANALOGUE_7") == 0) - strncpy(config->arcadeInputs.analogue_7, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - else if (strcmp(command, "ANALOGUE_8") == 0) - strncpy(config->arcadeInputs.analogue_8, getNextToken(NULL, " ", &saveptr), INPUT_STRING_LENGTH - 1); - - // Analogue deadzone - else if (strcmp(command, "ANALOGUE_DEADZONE_1") == 0) { - config->arcadeInputs.analogue_deadzone_start[0] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[0] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[0] = atoi(getNextToken(NULL, " ", &saveptr)); - } else if (strcmp(command, "ANALOGUE_DEADZONE_2") == 0) { - config->arcadeInputs.analogue_deadzone_start[1] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[1] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[1] = atoi(getNextToken(NULL, " ", &saveptr)); - } else if (strcmp(command, "ANALOGUE_DEADZONE_3") == 0) { - config->arcadeInputs.analogue_deadzone_start[2] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[2] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[2] = atoi(getNextToken(NULL, " ", &saveptr)); - } else if (strcmp(command, "ANALOGUE_DEADZONE_4") == 0) { - config->arcadeInputs.analogue_deadzone_start[3] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[3] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[3] = atoi(getNextToken(NULL, " ", &saveptr)); - } else if (strcmp(command, "ANALOGUE_DEADZONE_5") == 0) { - config->arcadeInputs.analogue_deadzone_start[4] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[4] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[4] = atoi(getNextToken(NULL, " ", &saveptr)); - } else if (strcmp(command, "ANALOGUE_DEADZONE_6") == 0) { - config->arcadeInputs.analogue_deadzone_start[5] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[5] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[5] = atoi(getNextToken(NULL, " ", &saveptr)); - } else if (strcmp(command, "ANALOGUE_DEADZONE_7") == 0) { - config->arcadeInputs.analogue_deadzone_start[6] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[6] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[6] = atoi(getNextToken(NULL, " ", &saveptr)); - } else if (strcmp(command, "ANALOGUE_DEADZONE_8") == 0) { - config->arcadeInputs.analogue_deadzone_start[7] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_middle[7] = atoi(getNextToken(NULL, " ", &saveptr)); - config->arcadeInputs.analogue_deadzone_end[7] = atoi(getNextToken(NULL, " ", &saveptr)); - } - - else if (strcmp(command, "SKIP_OUTRUN_CABINET_CHECK") == 0) - config->skipOutrunCabinetCheck = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "BORDER_ENABLED") == 0) - config->borderEnabled = atoi(getNextToken(NULL, " ", &saveptr)); - - else if (strcmp(command, "WHITE_BORDER_PERCENTAGE") == 0) - config->whiteBorderPercentage = (float) atoi(getNextToken(NULL, " ", &saveptr)) / 100.0; - - else if (strcmp(command, "BLACK_BORDER_PERCENTAGE") == 0) - config->blackBorderPercentage = (float) atoi(getNextToken(NULL, " ", &saveptr)) / 100.0; - - else if (strcmp(command, "INPUT_MODE") == 0) - config->inputMode = atoi(getNextToken(NULL, " ", &saveptr)); - - else - printf("Error: Unknown settings command %s\n", command); + config->showDebugMessages = getInt(ini, "System", "DEBUG_MSGS", config->showDebugMessages); + const char *colourRaw = getValue(ini, "System", "LINDBERGH_COLOUR"); + if (colourRaw) + { + char cleanBuffer[32]; + char *colourStr = cleanValue(colourRaw, cleanBuffer, sizeof(cleanBuffer)); + for (char *p = colourStr; *p; ++p) + *p = toupper(*p); + if (strcmp(colourStr, "RED") == 0) + config->lindberghColour = RED; + else if (strcmp(colourStr, "YELLOW") == 0) + config->lindberghColour = YELLOW; + else if (strcmp(colourStr, "BLUE") == 0) + config->lindberghColour = BLUE; + else if (strcmp(colourStr, "SILVER") == 0) + config->lindberghColour = SILVER; + else if (strcmp(colourStr, "REDEX") == 0) + config->lindberghColour = REDEX; } - return 0; + // [Network] + config->enableNetworkPatches = getInt(ini, "Network", "ENABLE_NETWORK_PATCHES", config->enableNetworkPatches); + getString(ini, "Network", "ID_IP_SEAT_1", config->idIpSeat1, 16); + getString(ini, "Network", "ID_IP_SEAT_2", config->idIpSeat2, 16); + getString(ini, "Network", "NIC_NAME", config->nicName, 20); + getString(ini, "Network", "OR2_IPADDRESS", config->or2IP, 16); + getString(ini, "Network", "OR2_NETMASK", config->or2Netmask, 16); + getString(ini, "Network", "IP_CAB1", config->IpCab1, 16); + getString(ini, "Network", "IP_CAB2", config->IpCab2, 16); + getString(ini, "Network", "IP_CAB3", config->IpCab3, 16); + getString(ini, "Network", "IP_CAB4", config->IpCab4, 16); + getString(ini, "Network", "2SPICY_IP_CAB1", config->tooSpicyIpCab1, 16); + getString(ini, "Network", "2SPICY_IP_CAB2", config->tooSpicyIpCab2, 16); + getString(ini, "Network", "SRTV_IPADDRESS", config->srtvIP, 16); + + // [EVDEV] + getString(ini, "EVDEV", "TEST_BUTTON", config->arcadeInputs.test, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_COIN", config->arcadeInputs.player1_coin, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_START", config->arcadeInputs.player1_button_start, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_SERVICE", config->arcadeInputs.player1_button_service, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_UP", config->arcadeInputs.player1_button_up, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_DOWN", config->arcadeInputs.player1_button_down, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_LEFT", config->arcadeInputs.player1_button_left, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_RIGHT", config->arcadeInputs.player1_button_right, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_1", config->arcadeInputs.player1_button_1, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_2", config->arcadeInputs.player1_button_2, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_3", config->arcadeInputs.player1_button_3, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_4", config->arcadeInputs.player1_button_4, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_5", config->arcadeInputs.player1_button_5, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_6", config->arcadeInputs.player1_button_6, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_7", config->arcadeInputs.player1_button_7, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_1_BUTTON_8", config->arcadeInputs.player1_button_8, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_COIN", config->arcadeInputs.player2_coin, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_START", config->arcadeInputs.player2_button_start, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_SERVICE", config->arcadeInputs.player2_button_service, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_UP", config->arcadeInputs.player2_button_up, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_DOWN", config->arcadeInputs.player2_button_down, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_LEFT", config->arcadeInputs.player2_button_left, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_RIGHT", config->arcadeInputs.player2_button_right, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_1", config->arcadeInputs.player2_button_1, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_2", config->arcadeInputs.player2_button_2, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_3", config->arcadeInputs.player2_button_3, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_4", config->arcadeInputs.player2_button_4, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_5", config->arcadeInputs.player2_button_5, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_6", config->arcadeInputs.player2_button_6, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_7", config->arcadeInputs.player2_button_7, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "PLAYER_2_BUTTON_8", config->arcadeInputs.player2_button_8, INPUT_STRING_LENGTH); + + getString(ini, "EVDEV", "ANALOGUE_1", config->arcadeInputs.analogue_1, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "ANALOGUE_2", config->arcadeInputs.analogue_2, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "ANALOGUE_3", config->arcadeInputs.analogue_3, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "ANALOGUE_4", config->arcadeInputs.analogue_4, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "ANALOGUE_5", config->arcadeInputs.analogue_5, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "ANALOGUE_6", config->arcadeInputs.analogue_6, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "ANALOGUE_7", config->arcadeInputs.analogue_7, INPUT_STRING_LENGTH); + getString(ini, "EVDEV", "ANALOGUE_8", config->arcadeInputs.analogue_8, INPUT_STRING_LENGTH); + + for (int i = 0; i < 8; i++) + { + char key[32]; + sprintf(key, "ANALOGUE_DEADZONE_%d", i + 1); + const char *rawDz = getValue(ini, "EVDEV", key); + if (rawDz) + { + char cleanBuffer[64]; + char *dzStr = cleanValue(rawDz, cleanBuffer, sizeof(cleanBuffer)); + if (dzStr) + { + sscanf(dzStr, "%d %d %d", &config->arcadeInputs.analogue_deadzone_start[i], + &config->arcadeInputs.analogue_deadzone_middle[i], &config->arcadeInputs.analogue_deadzone_end[i]); + } + } + } } -KeyMapping getDefaultKeymap() +int initConfig(const char *configFilePath) { - KeyMapping defaultKeyMapping; - defaultKeyMapping.test = 28; - defaultKeyMapping.player1.start = 10; - defaultKeyMapping.player1.service = 39; - defaultKeyMapping.player1.coin = 14; - defaultKeyMapping.player1.up = 111; - defaultKeyMapping.player1.down = 116; - defaultKeyMapping.player1.left = 113; - defaultKeyMapping.player1.right = 114; - defaultKeyMapping.player1.button1 = 24; - defaultKeyMapping.player1.button2 = 25; - defaultKeyMapping.player1.button3 = 26; - defaultKeyMapping.player1.button4 = 27; // R - defaultKeyMapping.player1.button5 = 40; // D - defaultKeyMapping.player1.button6 = 41; - defaultKeyMapping.player1.button7 = 42; - defaultKeyMapping.player1.button8 = 43; - defaultKeyMapping.player2.start = 60; - defaultKeyMapping.player2.service = 61; - defaultKeyMapping.player2.coin = 15; - defaultKeyMapping.player2.up = 54; - defaultKeyMapping.player2.down = 53; - defaultKeyMapping.player2.left = 55; - defaultKeyMapping.player2.right = 56; - defaultKeyMapping.player2.button1 = 52; - defaultKeyMapping.player2.button2 = 57; - defaultKeyMapping.player2.button3 = 58; - defaultKeyMapping.player2.button4 = 59; // , - defaultKeyMapping.player2.button5 = 37; // CTRL - return defaultKeyMapping; -} + setDefaultValues(&config); -int initConfig(const char* configFilePath) -{ - config.emulateRideboard = 0; - config.emulateDriveboard = 0; - config.emulateMotionboard = 0; - config.emulateCardreader = 0; - config.emulateTouchscreen = 0; - strcpy(config.cardFile1, "Card_01.crd"); - strcpy(config.cardFile2, "Card_02.crd"); - config.emulateJVS = 1; - config.fullscreen = 0; - config.lindberghColour = YELLOW; - strcpy(config.eepromPath, "eeprom.bin"); - strcpy(config.sramPath, "sram.bin"); - strcpy(config.libCgPath, ""); - strcpy(config.jvsPath, "/dev/ttyUSB0"); - strcpy(config.serial1Path, "/dev/ttyS0"); - strcpy(config.serial2Path, "/dev/ttyS1"); - config.width = 640; - config.height = 480; - config.boostRenderRes = 1; - config.region = EX; - config.freeplay = -1; - config.showDebugMessages = 0; - config.hummerFlickerFix = 0; - config.keepAspectRatio = 0; - config.outrunLensGlareEnabled = 1; - config.lgjRenderWithMesa = 1; - config.gameTitle = "Unknown game"; - config.gameID = "XXXX"; - config.gameDVP = "DVP-XXXX"; - config.gameType = SHOOTING; - config.gameLindberghColour = YELLOW; - config.gameReleaseYear = ""; - config.gameNativeResolutions = ""; - config.keymap = getDefaultKeymap(); - config.jvsIOType = SEGA_TYPE_3; - config.GPUVendor = AUTO_DETECT_GPU; - config.fpsLimiter = 0; - config.fpsTarget = 60.0f; - config.noSDL = 0; - config.phMode = 2; - config.disableBuiltinFont = 0; - config.disableBuiltinLogos = 0; - config.hideCursor = 1; - strcpy(config.customCursor, ""); - config.customCursorWidth = 32; - config.customCursorHeight = 32; - strcpy(config.phTouchCursor, ""); - config.phTouchCursorWidth = 32; - config.phTouchCursorHeight = 32; - config.mj4EnabledAtT = 0; - - strcpy(config.or2IP, ""); - strcpy(config.or2Netmask, ""); - config.cpuFreqGhz = 0.0f; - memset(&config.arcadeInputs.analogue_deadzone_start, 0, sizeof(config.arcadeInputs.analogue_deadzone_start)); - memset(&config.arcadeInputs.analogue_deadzone_middle, 0, sizeof(config.arcadeInputs.analogue_deadzone_middle)); - memset(&config.arcadeInputs.analogue_deadzone_end, 0, sizeof(config.arcadeInputs.analogue_deadzone_end)); config.crc32 = elf_crc; - config.skipOutrunCabinetCheck = 0; - config.borderEnabled = 0; - config.whiteBorderPercentage = 0.02; - config.blackBorderPercentage = 0.0; if (detectGame(config.crc32) != 0) { log_warn("Unsure what game with CRC 0x%X is. Please submit this new game to the GitHub repository: " - "https://github.com/lindbergh-loader/lindbergh-loader/issues/" - "new?title=Please+add+new+game+0x%X&body=I+tried+to+launch+the+following+game:\n", - config.crc32, config.crc32); + "https://github.com/lindbergh-loader/lindbergh-loader/issues/" + "new?title=Please+add+new+game+0x%X&body=I+tried+to+launch+the+following+game:\n", + config.crc32, config.crc32); } - config.inputMode = 0; // Default to all inputs + config.inputMode = 0; char filePath[PATH_MAX]; - strncpy(filePath, CONFIG_PATH, PATH_MAX); if (configFilePath != NULL && configFilePath[0] != '\0') { - strncpy(filePath, configFilePath, PATH_MAX); + strncpy(filePath, configFilePath, PATH_MAX - 1); } - - configFile = fopen(filePath, "r"); - - if (configFile == NULL) + else { - log_warn("Cannot open %s, using default values.\n", filePath); + strncpy(filePath, CONFIG_PATH, PATH_MAX - 1); + } + filePath[PATH_MAX - 1] = '\0'; + + IniConfig *ini = iniLoad(filePath); + + if (ini == NULL) + { + log_warn("Cannot open or parse %s, using default values.", filePath); return 1; } - readConfig(configFile, &config); + applyIniConfig(&config, ini); - fclose(configFile); + if (config.customCursorEnabled && (strcmp(config.customCursor, "") != 0 || strcmp(config.touchCursor, "") != 0)) + config.hideCursor = 0; + + iniFree(ini); return 0; } diff --git a/src/lindbergh/config.h b/src/lindbergh/config.h index 75d85c6..4f1fc7d 100644 --- a/src/lindbergh/config.h +++ b/src/lindbergh/config.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include @@ -18,7 +19,7 @@ #define HUMMER 0x4e6d5c64 // DVP-0057B #define HUMMER_SDLX 0xf3778f44 // DVP-0057 #define HUMMER_EXTREME 0x7129c32b // DVP-0079 -#define HUMMER_EXTREME_MDX 0xfeaf8484 // DVP-0084 +#define HUMMER_EXTREME_MDX 0xfeaf8484 // DVP-0083 #define INITIALD_4_REVA 0x361d1cbe // DVP-0019A #define INITIALD_4_REVB 0x606914be // DVP-0019B #define INITIALD_4_REVC 0x50f1c269 // DVP-0019C @@ -28,6 +29,7 @@ #define INITIALD_4_EXP_REVC 0x65ea22e3 // DVP-0030C #define INITIALD_4_EXP_REVD 0x62cc73a9 // DVP-0030D #define INITIALD_5_JAP_REVA 0xb3183112 // DVP-0070A +#define INITIALD_5_JAP_REVC 0xda04e5e0 // DVP-0070C #define INITIALD_5_JAP_REVF 0xfc3dc85d // DVP-0070F #define INITIALD_5_EXP 0x701b88cf // DVP-0075 #define INITIALD_5_EXP_20 0x77c6b58b // DVP-0084 @@ -43,8 +45,10 @@ #define OUTRUN_2_SP_SDX_REVA_TEST2 0x4ee20716 // DVP-0015A #define OUTRUN_2_SP_SDX_TEST 0xf1c89eae // DVP-0015 #define PRIMEVAL_HUNT 0x6868215c // DVP-0048A +#define QUIZ_AXA 0x434dee4 // DVP-0025H +#define QUIZ_AXA_LIVE 0x7103fafc // DVP-0087D #define RAMBO 0x48f49dd // DVP-0069 -#define RAMBO_CHINA 0x0025 // DVP-???? +#define RAMBO_CHINA 0xad864fec // DVP-0078 #define R_TUNED 0xa68d053d // DVP-0060 #define SEGABOOT 0x0027 // DVP-???? #define SEGABOOT_2_4 0x38d56318 // DVP-???? @@ -112,12 +116,31 @@ typedef enum { SHOOTING, DRIVING, - HARLEY, - FIGHTING, + DIGITAL, ABC, MAHJONG } GameType; +typedef enum +{ + GROUP_ABC, + GROUP_HOD4, + GROUP_HOD4_TEST, + GROUP_HOD4_SP, + GROUP_HOD4_SP_TEST, + GROUP_HUMMER, + GROUP_ID4_EXP, + GROUP_ID4_JAP, + GROUP_ID5, + GROUP_LGJ, + GROUP_OUTRUN, + GROUP_OUTRUN_TEST, + GROUP_RAMBO, + GROUP_VF5, + GROUP_VT3, + GROUP_VT3_TEST +} GameGroup; + typedef enum { AUTO_DETECT_GPU, @@ -224,7 +247,7 @@ typedef struct int emulateRideboard; int emulateDriveboard; int emulateMotionboard; - int emulateCardreader; + int emulateHW210CardReader; int emulateTouchscreen; char cardFile1[MAX_PATH_LENGTH]; char cardFile2[MAX_PATH_LENGTH]; @@ -242,6 +265,7 @@ typedef struct Colour lindberghColour; GameStatus gameStatus; GameType gameType; + GameGroup gameGroup; KeyMapping keymap; uint32_t crc32; GameRegion region; @@ -249,6 +273,7 @@ typedef struct int showDebugMessages; char *gameID; char *gameTitle; + char *gameShortTitle; char *gameDVP; Colour gameLindberghColour; char *gameReleaseYear; @@ -263,40 +288,54 @@ typedef struct int fpsLimiter; float fpsTarget; int lgjRenderWithMesa; - int noSDL; - int phMode; + int ramboGunsSwitch; + int id5ChineseLanguage; + float idSteeringPercentageReduction; + int phScreenMode; + int phTestScreenSingle; int disableBuiltinFont; int disableBuiltinLogos; int hideCursor; + int customCursorEnabled; char customCursor[MAX_PATH_LENGTH]; int customCursorWidth; int customCursorHeight; - char phTouchCursor[MAX_PATH_LENGTH]; - int phTouchCursorWidth; - int phTouchCursorHeight; + char touchCursor[MAX_PATH_LENGTH]; + int touchCursorWidth; + int touchCursorHeight; int mj4EnabledAtT; + int enableNetworkPatches; + char idIpSeat1[16]; + char idIpSeat2[16]; + char nicName[20]; char or2IP[16]; char or2Netmask[16]; + char IpCab1[16]; + char IpCab2[16]; + char IpCab3[16]; + char IpCab4[16]; + char tooSpicyIpCab1[16]; + char tooSpicyIpCab2[16]; + char srtvIP[16]; float cpuFreqGhz; ArcadeInputs arcadeInputs; - int inputMode; // 0 = both, 1 = SDL/X11 only, 2 = EVDEV only + int inputMode; // 0 = both, 1 = SDL, 2 = EVDEV only int skipOutrunCabinetCheck; float whiteBorderPercentage; float blackBorderPercentage; int borderEnabled; } EmulatorConfig; -uint32_t get_crc32(const char *s, ssize_t n); -KeyMapping getDefaultKeymap(); int initConfig(const char* configFilePath); +void setDefaultValues(EmulatorConfig *cfg); EmulatorConfig *getConfig(); char *getGameName(); -char *getDVPName(); -char *getGameID(); +char *getDvpName(); +char *getGameId(); int getGameLindberghColour(); char *getGameReleaseYear(); char *getGameNativeResolutions(); const char *getLindberghColourString(Colour lindberghColour); const char *getGameRegionString(GameRegion region); const char *getGpuTypeString(GpuType gpuType); - +extern SDL_Keycode getSDLKeycode(const char *input); \ No newline at end of file diff --git a/src/lindbergh/configIni.c b/src/lindbergh/configIni.c new file mode 100644 index 0000000..636f3ca --- /dev/null +++ b/src/lindbergh/configIni.c @@ -0,0 +1,198 @@ +#include "configIni.h" +#include "config.h" +#include "log.h" +#include + +void createDefaultIni(const char *filePath) +{ + FILE *file = fopen(filePath, "w"); + if (!file) + { + log_error("Could not create default INI file at %s", filePath); + return; + } + + EmulatorConfig defaults; + setDefaultValues(&defaults); + + fprintf(file, "# SEGA Lindbergh Emulator Configuration File\n"); + fprintf(file, "# By the Lindbergh Development Team 2024-2025\n\n"); + + // [Display] + fprintf(file, "[Display]\n"); + fprintf(file, "# Set the width resolution here\nWIDTH = AUTO\n\n"); + fprintf(file, "# Set the height resolution here\nHEIGHT = AUTO\n\n"); + fprintf(file, "# Boost render resolution in HOD4/2Spicy/Harley/Rambo/HOD-EX/ID4/ID5 and LGJ\n"); + fprintf(file, "BOOST_RENDER_RES = %s\n\n", defaults.boostRenderRes ? "true" : "false"); + fprintf(file, "# Set to true for full screen\nFULLSCREEN = %s\n\n", defaults.fullscreen ? "true" : "false"); + fprintf(file, "# Set to true if you\'d like to add a border for optical light gun tracking\n"); + fprintf(file, "BORDER_ENABLED = %s\n\n", defaults.borderEnabled ? "true" : "false"); + fprintf(file, "# Set the thickness of the white border as a percentage of the width of the screen\n"); + fprintf(file, "WHITE_BORDER_PERCENTAGE = %.0f\n\n", defaults.whiteBorderPercentage * 100); + fprintf(file, "# Set the thickness of the black border which sits around the\n"); + fprintf(file, "# white border as a percentage of the width of the screen\n"); + fprintf(file, "BLACK_BORDER_PERCENTAGE = %.0f\n\n", defaults.blackBorderPercentage * 100); + fprintf(file, "# Set to keep the aspect ratio in games like Sega Race TV Primeval Hunt and LGJ-SP\n"); + fprintf(file, "KEEP_ASPECT_RATIO = %s\n\n", defaults.keepAspectRatio ? "true" : "false"); + fprintf(file, "# Set to true to enable the mouse pointer/Cursor\nHIDE_CURSOR = %s\n\n", defaults.hideCursor ? "true" : "false"); + + // [Input] + fprintf(file, "[Input]\n"); + fprintf(file, "# Sets the Input Mode (1: SDL, 2: EVDEV\n"); + fprintf(file, "INPUT_MODE = %d\n\n", defaults.inputMode); + + // [Emulation] + fprintf(file, "[Emulation]\n"); + fprintf(file, "# Set the Region (JP/US/EX)\nREGION = EX\n\n"); + fprintf(file, "# Set to true for Free Play, none to leave as default\nFREEPLAY = none\n\n"); + fprintf(file, "# Set to true to emulate JVS and use the keyboard/mouse for controls.\n"); + fprintf(file, "# If this is set to false, the loader will route the traffic to the serial device\n"); + fprintf(file, "# defined in JVS_PATH if it has been defined.\nEMULATE_JVS = %s\n\n", defaults.emulateJVS ? "true" : "false"); + fprintf(file, "# Set to true to emulate the rideboard used in the SPECIAL games\n"); + fprintf(file, "# If this is set to false, then the emulator will route the traffic to one of the serial ports\n"); + fprintf(file, "EMULATE_RIDEBOARD = AUTO\n\n"); + fprintf(file, "# Set to true to emulate the driveboard used in driving games\n"); + fprintf(file, "# If this is set to false, then the emulator will route the traffic to one of the serial ports\n"); + fprintf(file, "EMULATE_DRIVEBOARD = AUTO\n\n"); + fprintf(file, "# Set to true to emulate the motion board from Outrun 2 SP SDX\n"); + fprintf(file, "# If this is set to false, then the emulator will route the traffic to one of the serial ports\n"); + fprintf(file, "EMULATE_MOTIONBOARD = AUTO\n\n"); + fprintf(file, "# Set to true to enable card reader emulation in Virtua Tennis 3 or R-Tuned\nEMULATE_HW210_CARDREADER = AUTO\n\n"); + fprintf(file, "# Set to true to enable touchscreen emulation with the mouse\nEMULATE_TOUCHSCREEN = AUTO\n\n"); + + // [Cards] + fprintf(file, "[Cards]\n"); + fprintf(file, "# Card File for reader 1 in VT3 or R-Tuned\nCARDFILE_01 = \"%s\"\n\n", defaults.cardFile1); + fprintf(file, "# Card File for reader 2 in VT3 or R-Tuned\nCARDFILE_02 = \"%s\"\n\n", defaults.cardFile2); + + // [Paths] + fprintf(file, "[Paths]\n"); + fprintf(file, "# Define the path to pass the JVS packets to if JVS is not being emulated\nJVS_PATH = \"%s\"\n\n", defaults.jvsPath); + fprintf(file, "# Define the path to pass the first serial port to\nSERIAL_1_PATH = \"%s\"\n\n", defaults.serial1Path); + fprintf(file, "# Define the path to pass the second serial port to\nSERIAL_2_PATH = \"%s\"\n\n", defaults.serial2Path); + fprintf(file, "# Define the path to the sram.bin file\nSRAM_PATH = \"%s\"\n\n", defaults.sramPath); + fprintf(file, "# Define the path to the eeprom.bin file\nEEPROM_PATH = \"%s\"\n\n", defaults.eepromPath); + fprintf(file, "# If set, libCG.so needed for 2Spicy, Harley, Rambo and HOD-Ex shader recompilation\n"); + fprintf(file, "# will be loaded from the specified location. (include the name of file in the location "); + fprintf(file, "For Example: /my/file/location/myLibCg.so)\nLIBCG_PATH = \"%s\"\n\n", defaults.libCgPath); + + // [Graphics] + fprintf(file, "[Graphics]\n"); + fprintf(file, "# Set the GPU vendor (0 = Autodetect / 1 = NVidia / 2 = AMD / 3 = ATI / 4 = Intel)\n"); + fprintf(file, "GPU_VENDOR = %d\n\n", defaults.GPUVendor); + fprintf(file, "# Set to true if you experience flickering in hummer\n"); + fprintf(file, "HUMMER_FLICKER_FIX = %s\n\n", defaults.hummerFlickerFix ? "true" : "false"); + fprintf(file, "# Set to false if you don't want to limit the FPS\n"); + fprintf(file, "FPS_LIMITER_ENABLED = %s\n\n", defaults.fpsLimiter ? "true" : "false"); + fprintf(file, "# Set the target FPS (will only work if FPS_LIMITER_ENABLED = 1)\nFPS_TARGET = %.1f\n\n", defaults.fpsTarget); + fprintf(file, "# Set to true if you want to render LGJ using the mesa patches\n"); + fprintf(file, "LGJ_RENDER_WITH_MESA = %s\n\n", defaults.lgjRenderWithMesa ? "true" : "false"); + fprintf(file, "# Disable to use the original fonts instead of the built in font\n"); + fprintf(file, "DISABLE_BUILTIN_FONT = %s\n\n", defaults.disableBuiltinFont ? "true" : "false"); + fprintf(file, "# Disable to use the original logos instead of the built in logos\n"); + fprintf(file, "DISABLE_BUILTIN_LOGOS = %s\n\n", defaults.disableBuiltinLogos ? "true" : "false"); + + // [Cursor] + fprintf(file, "[Cursor]\n"); + fprintf(file, "# If true, a custom mouse cursor will be used loaded from a png file set in CUSTOM_CURSOR\n"); + fprintf(file, "# Ovewrites HIDE_CURSOR\n"); + fprintf(file, "CUSTOM_CURSOR_ENABLED = %s\n\n", defaults.customCursorEnabled ? "true" : "false"); + fprintf(file, "# Set the custom mouse pointer from a PNG file (Usefull for shooting games)\n"); + fprintf(file, "CUSTOM_CURSOR = \"%s\"\n\n", defaults.customCursor); + fprintf(file, "# Set the width of the custom cursor\nCUSTOM_CURSOR_WIDTH = %d\n\n", defaults.customCursorWidth); + fprintf(file, "# Set the height of the custom cursor\nCUSTOM_CURSOR_HEIGHT = %d\n\n", defaults.customCursorHeight); + fprintf(file, "# Set a custom cursor for the touch screen in Primeval Hunt\n"); + fprintf(file, "TOUCH_CURSOR = \"%s\"\n\n", defaults.touchCursor); + fprintf(file, "# Set the width of the custom cursor\nTOUCH_CURSOR_WIDTH = %d\n\n", defaults.touchCursorWidth); + fprintf(file, "# Set the height of the custom cursor\nTOUCH_CURSOR_HEIGHT = %d\n\n", defaults.touchCursorHeight); + + // [GameSpecific] + fprintf(file, "[GameSpecific]\n"); + fprintf(file, "# Set Primeval Hunt\n# Mode 0: Default (side by side)\n# Mode 1: No Touch screen\n# Mode 2: Side By Side\n"); + fprintf(file, "# Mode 3: 3ds mode 1 (Touch screen to the right)\n# Mode 4: 3ds mode 2 (Touch screen to the bottom)\n"); + fprintf(file, "PRIMEVAL_HUNT_SCREEN_MODE = %d\n\n", defaults.phScreenMode); + fprintf(file, "# Set Primeval Hunt Test mode screen to single screen\n"); + fprintf(file, "PRIMEVAL_HUNT_TEST_SCREEN_SINGLE = %s\n\n", defaults.phTestScreenSingle ? "true" : "false"); + fprintf(file, "# Set to true to bypass cabinet checks including drive board and tower in Outrun 2 SP SDX\n"); + fprintf(file, "SKIP_OUTRUN_CABINET_CHECK = %s\n\n", defaults.skipOutrunCabinetCheck ? "true" : "false"); + fprintf(file, "# Set to false if you want to disable the Glare effect in OutRun\n"); + fprintf(file, "OUTRUN_LENS_GLARE_ENABLED = %s\n\n", defaults.outrunLensGlareEnabled ? "true" : "false"); + fprintf(file, "# Hacky way to make MJ4 and AxA work at prohibited times\nMJ4_ENABLED_ALL_THE_TIME = %s\n\n", + defaults.mj4EnabledAtT ? "true" : "false"); + fprintf(file, "# House of the dead 4 speed fix, set the frequency of your CPU in Ghz\nCPU_FREQ_GHZ = %.1f\n\n", defaults.cpuFreqGhz); + fprintf(file, "# Set to true if you want to chnge the way the guns are show in Rambo\n"); + fprintf(file, "RAMBO_GUNS_SWITCH = false\n\n"); + fprintf(file, "# Set to true to set the language in Chinese for ID5 DVP-0084 and DVP-0084A\n"); + fprintf(file, "ID5_CHINESE_LANGUAGE = %s\n\n", defaults.id5ChineseLanguage ? "true" : "false"); + fprintf(file, "# Set the percentage of the steering wheel travel reduction\n"); + fprintf(file, "ID_STEERING_REDUCTION_PERCENTAGE = %.1f\n\n", defaults.idSteeringPercentageReduction); + + // [System] + fprintf(file, "[System]\n"); + fprintf(file, "# Set to true to see debug messages in the console\n"); + fprintf(file, "DEBUG_MSGS = %s\n\n", defaults.showDebugMessages ? "true" : "false"); + fprintf(file, "# Set the colour of the lindbergh (YELLOW, RED, BLUE, SILVER, REDEX)\nLINDBERGH_COLOUR = YELLOW\n\n"); + + // [Network] + fprintf(file, "[Network]\n"); + fprintf(file, "# If true, the loader will apply the following network patches depending on the game\n"); + fprintf(file, "ENABLE_NETWORK_PATCHES = %s\n\n", defaults.enableNetworkPatches ? "true" : "false"); + fprintf(file, "# Sets the name of the Network Interface Card\nNIC_NAME = \"enp0s1\"\n\n"); + fprintf(file, "# ID4 and ID5 network configuration per seat\nID_IP_SEAT_1 = \"192.168.1.2\"\nID_IP_SEAT_2 = \"192.168.1.3\"\n\n"); + fprintf(file, "# Sets the IP address and Netmask for Outrun link (you have to put your NIC ip)\n"); + fprintf(file, "OR2_IPADDRESS = \"192.168.1.2\"\nOR2_NETMASK = \"255.255.255.0\"\n\n"); + fprintf(file, "# Harley / Hummer and R-Tuned IP address for each Cabinet\n"); + fprintf(file, "IP_CAB1 = \"192.168.1.2\"\nIP_CAB2 = \"192.168.1.3\"\nIP_CAB3 = \"192.168.1.4\"\nIP_CAB4 = \"192.168.1.5\"\n\n"); + fprintf(file, "# Sets the IP address of each cabinet for network play in 2Spicy\n"); + fprintf(file, "2SPICY_IP_CAB1 = \"192.168.1.2\"\n2SPICY_IP_CAB2 = \"192.168.1.3\"\n\n"); + fprintf(file, "# Sets the IP address for SRTV\nSRTV_IPADDRESS = \"192.168.1.2\"\n\n"); + + // [EVDEV] + fprintf(file, "[EVDEV]\n"); + fprintf(file, "# EVDEV MODE (Input Mode 2)\n# To find the value pairs for these run ./lindbergh --list-controllers\n\n"); + fprintf(file, "#TEST_BUTTON = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_T\"\n\n"); + fprintf(file, "#PLAYER_1_COIN = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_5\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_START = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_1\n"); + fprintf(file, "#PLAYER_1_BUTTON_SERVICE = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_S\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_UP = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_DOWN = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_LEFT = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_RIGHT = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_1 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_2 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_W\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_3 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_E\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_4 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_R\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_5 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_6 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_U\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_7 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_I\"\n"); + fprintf(file, "#PLAYER_1_BUTTON_8 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_O\"\n\n"); + fprintf(file, "#PLAYER_1_COIN = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_6\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_START = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_1\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_SERVICE = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_S\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_UP = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_DOWN = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_LEFT = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_RIGHT = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_1 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_2 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_W\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_3 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_E\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_4 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_R\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_5 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_6 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_U\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_7 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_I\"\n"); + fprintf(file, "#PLAYER_2_BUTTON_8 = \"AT_TRANSLATED_SET_2_KEYBOARD_KEY_O\"\n\n"); + fprintf(file, "#ANALOGUE_1 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_X\"\n"); + fprintf(file, "#ANALOGUE_2 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Y\"\n"); + fprintf(file, "#ANALOGUE_3 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Z\"\n"); + fprintf(file, "#ANALOGUE_4 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_RZ\"\n"); + fprintf(file, "#ANALOGUE_5 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_X2\"\n"); + fprintf(file, "#ANALOGUE_6 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Y2\"\n"); + fprintf(file, "#ANALOGUE_7 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Z2\"\n"); + fprintf(file, "#ANALOGUE_8 = \"SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_RZ2\"\n\n"); + + for (int x = 1; x < 9; x++) + fprintf(file, "#ANALOGUE_DEADZONE_%d = 0 0 0\n", x); + + fprintf(file, "\n"); + fclose(file); +} diff --git a/src/lindbergh/configIni.h b/src/lindbergh/configIni.h new file mode 100644 index 0000000..f9910cf --- /dev/null +++ b/src/lindbergh/configIni.h @@ -0,0 +1,6 @@ +#ifndef CONFIG_INI_H +#define CONFIG_INI_H + +void createDefaultIni(const char *filePath); + +#endif // CONFIG_INI_H diff --git a/src/lindbergh/config_file.c b/src/lindbergh/config_file.c deleted file mode 100644 index 6063d65..0000000 --- a/src/lindbergh/config_file.c +++ /dev/null @@ -1,205 +0,0 @@ -#include -#include -#include - -#define CONFIG_TEMP_FILE_NAME ".lindbergh.conf.tmp" - -#include "config_file.h" - -char *getConfigErrorString(ConfigStatus status) -{ - switch (status) - { - case CONFIG_STATUS_COMMAND_NOT_FOUND: - return "The key you looked for could not be found"; - case CONFIG_STATUS_FAILURE: - return "There was a generic failure"; - case CONFIG_STATUS_SUCCESS: - return "The operation was successful"; - case CONFIG_STATUS_NOT_ENOUGH_ARGUMENTS: - return "The config file did not have enough arguments to complete your request"; - case CONFIG_STATUS_CANNOT_OPEN_FILE: - return "The config file could not be opened"; - default: - return "This config status enum doesn't have an error string associated."; - } -} - -static char *getNextToken(char *buffer, char *seperator, char **saveptr) -{ - char *token = strtok_r(buffer, seperator, saveptr); - if (token == NULL) - return NULL; - - for (int i = 0; i < (int)strlen(token); i++) - { - if ((token[i] == '\n') || (token[i] == '\r')) - { - token[i] = 0; - } - } - return token; -} - -ConfigStatus processConfig(Config *config, char *path) -{ - config->path = path; - config->file = fopen(config->path, "r"); - config->configPairIndex = 0; - - if (config->file == NULL) - { - return CONFIG_STATUS_CANNOT_OPEN_FILE; - } - - char buffer[CONFIG_MAX_LINE_LENGTH]; - char *saveptr = NULL; - - while (fgets(buffer, CONFIG_MAX_LINE_LENGTH, config->file)) - { - // Ignore any lines that start with a comment - if (buffer[0] == '#' || buffer[0] == 0 || buffer[0] == ' ' || buffer[0] == '\r' || buffer[0] == '\n') - continue; - - ConfigPair *configPair = &config->configPairs[config->configPairIndex]; - - strcpy(configPair->command, getNextToken(buffer, " ", &saveptr)); - - configPair->argumentIndex = 0; - char *argument = getNextToken(NULL, " ", &saveptr); - while (argument != NULL && argument[0] != 0) - { - strcpy(configPair->argument[configPair->argumentIndex++], argument); - argument = getNextToken(NULL, " ", &saveptr); - } - - config->configPairIndex++; - } - - fclose(config->file); - - return CONFIG_STATUS_SUCCESS; -} - -ConfigStatus getConfigArgumentString(Config *config, char *key, int n, char *value) -{ - for (int i = 0; i < config->configPairIndex; i++) - { - if (strcmp(config->configPairs[i].command, key) == 0) - { - if (n >= config->configPairs[i].argumentIndex) - return CONFIG_STATUS_NOT_ENOUGH_ARGUMENTS; - - strcpy(value, config->configPairs[i].argument[n]); - - return CONFIG_STATUS_SUCCESS; - } - } - - return CONFIG_STATUS_COMMAND_NOT_FOUND; -} - -ConfigStatus getConfigArgumentInt(Config *config, char *key, int n, int *value) -{ - for (int i = 0; i < config->configPairIndex; i++) - { - if (strcmp(config->configPairs[i].command, key) == 0) - { - if (n >= config->configPairs[i].argumentIndex) - return CONFIG_STATUS_NOT_ENOUGH_ARGUMENTS; - - *value = atoi(config->configPairs[i].argument[i]); - - return CONFIG_STATUS_SUCCESS; - } - } - - return CONFIG_STATUS_COMMAND_NOT_FOUND; -} - -ConfigStatus getConfigString(Config *config, char *key, char *value) -{ - return getConfigArgumentString(config, key, 0, value); -} - -ConfigStatus getConfigInt(Config *config, char *key, int *value) -{ - return getConfigArgumentInt(config, key, 0, value); -} - -ConfigStatus writeConfigString(Config *config, char *key, char *value) -{ - config->file = fopen(config->path, "r"); - - if (config->file == NULL) - { - return CONFIG_STATUS_FAILURE; - } - - FILE *tempFile = fopen(CONFIG_TEMP_FILE_NAME, "w"); - if (tempFile == NULL) - { - return CONFIG_STATUS_FAILURE; - } - - char buffer[CONFIG_MAX_LINE_LENGTH]; - char *saveptr = NULL; - char inspectionBuffer[CONFIG_MAX_LINE_LENGTH]; - - char writeBuffer[CONFIG_MAX_LINE_LENGTH]; - strcpy(writeBuffer, key); - strcat(writeBuffer, " "); - strcat(writeBuffer, value); - strcat(writeBuffer, "\n"); - - int lineWasReplaced = 0; - - while (fgets(buffer, CONFIG_MAX_LINE_LENGTH, config->file)) - { - strcpy(inspectionBuffer, buffer); - char *token = getNextToken(inspectionBuffer, " ", &saveptr); - - if (strcmp(token, key) == 0) - { - lineWasReplaced = 1; - - // If there is no value just delete the line - if (strcmp(value, "") == 0) - continue; - - fputs(writeBuffer, tempFile); - continue; - } - - fputs(buffer, tempFile); - } - - // If the file doesn't end with a new line, write one. - if (buffer[strlen(buffer) - 1] != '\n') - fputs("\n", tempFile); - - // If no line was replaced add it in at the end - if (!lineWasReplaced) - fputs(writeBuffer, tempFile); - - fclose(config->file); - fclose(tempFile); - - // Now re-write the old file with the new temp file name - remove(config->path); - rename(CONFIG_TEMP_FILE_NAME, config->path); - - return processConfig(config, config->path); -} - -ConfigStatus writeConfigInt(Config *config, char *key, int value) -{ - char stringValue[CONFIG_MAX_LINE_LENGTH]; - sprintf(stringValue, "%d", value); - return writeConfigString(config, key, stringValue); -} - -ConfigStatus deleteConfig(Config *config, char *key) -{ - return writeConfigString(config, key, ""); -} \ No newline at end of file diff --git a/src/lindbergh/config_file.h b/src/lindbergh/config_file.h deleted file mode 100644 index e50ef32..0000000 --- a/src/lindbergh/config_file.h +++ /dev/null @@ -1,45 +0,0 @@ -#include - -#define CONFIG_MAX_LINE_LENGTH 2048 -#define MAX_ARGUMENT_AMOUNT 4 -#define MAX_CONFIG_LINES 100 - -typedef enum -{ - CONFIG_STATUS_SUCCESS, - CONFIG_STATUS_FAILURE, - CONFIG_STATUS_COMMAND_NOT_FOUND, - CONFIG_STATUS_NOT_ENOUGH_ARGUMENTS, - CONFIG_STATUS_CANNOT_OPEN_FILE -} ConfigStatus; - -typedef struct { - char command[CONFIG_MAX_LINE_LENGTH]; - char argument[MAX_ARGUMENT_AMOUNT][CONFIG_MAX_LINE_LENGTH]; - int argumentIndex; -} ConfigPair; - -typedef struct -{ - FILE *file; - char* path; - int configPairIndex; - ConfigPair configPairs[MAX_CONFIG_LINES]; -} Config; - -char* getConfigErrorString(ConfigStatus status); - - -ConfigStatus processConfig(Config *config, char *path); - -ConfigStatus getConfigString(Config *config, char* key, char* value); -ConfigStatus getConfigArgumentString(Config *config, char* key, int n, char* value); -ConfigStatus getConfigInt(Config *config, char* key, int* value); -ConfigStatus getConfigArgumentInt(Config *config, char* key, int n, int* value); - -ConfigStatus writeConfigString(Config *config, char* key, char* value); -ConfigStatus writeConfigInt(Config *config, char* key, int value); - -ConfigStatus deleteConfig(Config *config, char* key); - - diff --git a/src/lindbergh/controlIniGen.c b/src/lindbergh/controlIniGen.c new file mode 100644 index 0000000..a691b7f --- /dev/null +++ b/src/lindbergh/controlIniGen.c @@ -0,0 +1,397 @@ +#include +#include +#include + +#include "controlIniGen.h" +#include "iniParser.h" +#include "sdlInput.h" + +const ControlBinding gDefaultCommonBindings[] = { + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_T, AXIS_MODE_DIGITAL, 0, false, SYSTEM, LA_Test}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_5, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Coin}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_6, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Coin}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_1, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Start}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_2, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Start}, + {INPUT_TYPE_JOY_BUTTON, 0, 11, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Start}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_START, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Start}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_S, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Service}, + {INPUT_TYPE_JOY_BUTTON, 0, 10, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Service}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_BACK, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Service}, +}; + +const size_t gDefaultCommonBindingsSize = sizeof(gDefaultCommonBindings) / sizeof(gDefaultCommonBindings[0]); + +const ControlBinding gDefaultDigitalBindings[] = { + // Keyboard + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_UP, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_DOWN, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_Q, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button1}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_W, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button2}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_E, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button3}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F7, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Card1Insert}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F8, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Card2Insert}, + + // Controller + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_UP, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_DOWN, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_SOUTH, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button1}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_EAST, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button2}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_WEST, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button3}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFTY, AXIS_MODE_DIGITAL, -1, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFTY, AXIS_MODE_DIGITAL, 1, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFTX, AXIS_MODE_DIGITAL, 1, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFTX, AXIS_MODE_DIGITAL, -1, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_GUIDE, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Card1Insert}, + {INPUT_TYPE_GAMEPAD_BUTTON, 1, SDL_GAMEPAD_BUTTON_GUIDE, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Card2Insert}, + + // Joystick + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_UP, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_DOWN, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_LEFT, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_RIGHT, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_JOY_BUTTON, 0, 0, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button1}, + {INPUT_TYPE_JOY_BUTTON, 0, 1, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button2}, + {INPUT_TYPE_JOY_BUTTON, 0, 2, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Button3}, + {INPUT_TYPE_JOY_AXIS, 0, 1, AXIS_MODE_DIGITAL, -1, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_JOY_AXIS, 0, 1, AXIS_MODE_DIGITAL, 1, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_JOY_AXIS, 0, 0, AXIS_MODE_DIGITAL, -1, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_JOY_AXIS, 0, 0, AXIS_MODE_DIGITAL, 1, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_JOY_BUTTON, 0, 11, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Card1Insert}, + {INPUT_TYPE_JOY_BUTTON, 1, 11, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Card2Insert}, +}; + +const size_t gDefaultDigitalBindingsSize = sizeof(gDefaultDigitalBindings) / sizeof(gDefaultDigitalBindings[0]); + +const ControlBinding gDefaultDrivingBindings[] = { + // Keyboard + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Steer_Left}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Steer_Right}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_UP, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Gas_Digital}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_DOWN, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Brake_Digital}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_V, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ViewChange}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_Q, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Boost}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_W, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_BoostRight}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_A, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_GearUp}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_Z, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_GearDown}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_M, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_MusicChange}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_I, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_K, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_J, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_L, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F7, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_CardInsert}, + + // Controller + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFTX, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_Steer}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_RIGHT_TRIGGER, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_Gas}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFT_TRIGGER, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_Brake}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_SOUTH, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Boost}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_EAST, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_BoostRight}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_NORTH, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ViewChange}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_WEST, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_MusicChange}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_GearUp}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_LEFT_SHOULDER, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_GearDown}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_UP, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_DOWN, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_DPAD_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_GUIDE, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_CardInsert}, + + // Joystick + {INPUT_TYPE_JOY_AXIS, 0, 0, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_Steer}, + {INPUT_TYPE_JOY_AXIS, 0, 5, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_Gas}, + {INPUT_TYPE_JOY_AXIS, 0, 2, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_Brake}, + {INPUT_TYPE_JOY_BUTTON, 0, 0, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Boost}, + {INPUT_TYPE_JOY_BUTTON, 0, 1, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_BoostRight}, + {INPUT_TYPE_JOY_BUTTON, 0, 2, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ViewChange}, + {INPUT_TYPE_JOY_BUTTON, 0, 5, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_GearUp}, + {INPUT_TYPE_JOY_BUTTON, 0, 4, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_GearDown}, + {INPUT_TYPE_JOY_BUTTON, 0, 3, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_MusicChange}, + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_UP, false, PLAYER_1, LA_Up}, + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_DOWN, false, PLAYER_1, LA_Down}, + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_LEFT, false, PLAYER_1, LA_Left}, + {INPUT_TYPE_JOY_HAT, 0, 0, AXIS_MODE_DIGITAL, SDL_HAT_RIGHT, false, PLAYER_1, LA_Right}, + {INPUT_TYPE_JOY_BUTTON, 0, 12, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_CardInsert}, +}; + +const size_t gDefaultDrivingBindingsSize = sizeof(gDefaultDrivingBindings) / sizeof(gDefaultDrivingBindings[0]); + +const ControlBinding gDefaultAbcBindings[] = { + // Keyboard + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ABC_Left}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ABC_Right}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_UP, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ABC_Up}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_DOWN, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ABC_Down}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_A, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Throttle_Accelerate}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_Z, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Throttle_Slowdown}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_Q, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_GunTrigger}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_W, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_MissileTrigger}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_E, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ClimaxSwitch}, + + // Controller + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFTX, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_ABC_X}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFTY, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_ABC_Y}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_RIGHTY, AXIS_MODE_FULL, 0, true, PLAYER_1, LA_Throttle}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_RIGHT_TRIGGER, AXIS_MODE_POSITIVE_HALF, 0, false, PLAYER_1, LA_Throttle}, + {INPUT_TYPE_GAMEPAD_AXIS, 0, SDL_GAMEPAD_AXIS_LEFT_TRIGGER, AXIS_MODE_NEGATIVE_HALF, 0, false, PLAYER_1, LA_Throttle}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_SOUTH, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_GunTrigger}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_EAST, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_MissileTrigger}, + {INPUT_TYPE_GAMEPAD_BUTTON, 0, SDL_GAMEPAD_BUTTON_NORTH, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ClimaxSwitch}, + + // Joystick + {INPUT_TYPE_JOY_AXIS, 0, 0, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_ABC_X}, + {INPUT_TYPE_JOY_AXIS, 0, 1, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_ABC_Y}, + {INPUT_TYPE_JOY_AXIS, 0, 4, AXIS_MODE_FULL, 0, true, PLAYER_1, LA_Throttle}, + {INPUT_TYPE_JOY_AXIS, 0, 5, AXIS_MODE_POSITIVE_HALF, 0, false, PLAYER_1, LA_Throttle}, + {INPUT_TYPE_JOY_AXIS, 0, 4, AXIS_MODE_NEGATIVE_HALF, 0, false, PLAYER_1, LA_Throttle}, + {INPUT_TYPE_JOY_BUTTON, 0, 0, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_GunTrigger}, + {INPUT_TYPE_JOY_BUTTON, 0, 1, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_MissileTrigger}, + {INPUT_TYPE_JOY_BUTTON, 0, 4, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ClimaxSwitch}, + +}; + +const size_t gDefaultAbcBindingsSize = sizeof(gDefaultAbcBindings) / sizeof(gDefaultAbcBindings[0]); + +const ControlBinding gDefaultShootingBindings[] = { + // Mouse / Gun + {INPUT_TYPE_MOUSE_AXIS, 0, 0, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_GunX}, + {INPUT_TYPE_MOUSE_AXIS, 0, 1, AXIS_MODE_FULL, 0, false, PLAYER_1, LA_GunY}, + {INPUT_TYPE_MOUSE_BUTTON, 0, SDL_BUTTON_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Trigger}, + {INPUT_TYPE_MOUSE_BUTTON, 0, SDL_BUTTON_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Reload}, + {INPUT_TYPE_MOUSE_BUTTON, 0, SDL_BUTTON_MIDDLE, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_GunButton}, + + // {INPUT_TYPE_MOUSE_AXIS, 0, 0, AXIS_MODE_FULL, 0, false, PLAYER_2, LA_GunX}, + // {INPUT_TYPE_MOUSE_AXIS, 0, 1, AXIS_MODE_FULL, 0, false, PLAYER_2, LA_GunY}, + // {INPUT_TYPE_MOUSE_BUTTON, 0, SDL_BUTTON_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Trigger}, + // {INPUT_TYPE_MOUSE_BUTTON, 0, SDL_BUTTON_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Reload}, + // {INPUT_TYPE_MOUSE_BUTTON, 0, SDL_BUTTON_MIDDLE, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_GunButton}, + + // Keyboard + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_Q, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Trigger}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_W, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_Reload}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_E, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_GunButton}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_R, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_ActionButton}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_LEFT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_PedalLeft}, + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_RIGHT, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_PedalRight}, +}; + +const size_t gDefaultShootingBindingsSize = sizeof(gDefaultShootingBindings) / sizeof(gDefaultShootingBindings[0]); + +const ControlBinding gDefaultMahjongBindings[] = { + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_Y, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_A}, // A + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_U, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_B}, // B + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_I, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_C}, // C + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_O, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_D}, // D + + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_G, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_E}, // E + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_H, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_F}, // F + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_J, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_G}, // G + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_K, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_H}, // H + + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_L, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_I}, // I + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_V, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_J}, // J + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_B, AXIS_MODE_DIGITAL, 0, false, PLAYER_1, LA_K}, // K + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_N, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_L}, // L + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_M, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_M}, // M + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_COMMA, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_N}, // N + + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F1, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Chi}, // CHI + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F2, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Pon}, // PON + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F3, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Kan}, // KAN + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F4, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Reach}, // REACH + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F5, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Agari}, // AGARI + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F6, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_Cancel}, // CANCEL + {INPUT_TYPE_KEY, 0, SDL_SCANCODE_F7, AXIS_MODE_DIGITAL, 0, false, PLAYER_2, LA_CardInsert}, // Cards In +}; + +const size_t gDefaultMahjongBindingsSize = sizeof(gDefaultMahjongBindings) / sizeof(gDefaultMahjongBindings[0]); + +char *toUpperCase(const char *str) +{ + char *result = (char *)malloc(strlen(str) + 1); + + if (result == NULL) + return NULL; + + int i = 0; + while (str[i] != '\0') + { + result[i] = toupper((unsigned char)str[i]); + i++; + } + result[i] = '\0'; + + return result; +} + +/** + * @brief Helper function to convert a ControlBinding struct back into an INI string. + * This is the reverse of parseSdlSource, used for generating a default controls.ini. + * @param binding Pointer to the ControlBinding to convert. + * @param buffer Character buffer to write the string into. + * @param buffer_size The size of the character buffer. + */ +static void getBindingString(const ControlBinding *binding, char *buffer, size_t buffer_size) +{ + char temp_buffer[128] = {0}; + switch (binding->type) + { + case INPUT_TYPE_KEY: + snprintf(temp_buffer, sizeof(temp_buffer), "KEY_%s", SDL_GetScancodeName(binding->sdlId)); + break; + case INPUT_TYPE_MOUSE_BUTTON: + if (binding->sdlId == SDL_BUTTON_LEFT) + strcpy(temp_buffer, "MOUSE_LEFT_BUTTON"); + else if (binding->sdlId == SDL_BUTTON_RIGHT) + strcpy(temp_buffer, "MOUSE_RIGHT_BUTTON"); + else if (binding->sdlId == SDL_BUTTON_MIDDLE) + strcpy(temp_buffer, "MOUSE_MIDDLE_BUTTON"); + else + snprintf(temp_buffer, sizeof(temp_buffer), "MOUSE_BUTTON_%d", binding->sdlId); + break; + case INPUT_TYPE_MOUSE_AXIS: + snprintf(temp_buffer, sizeof(temp_buffer), "MOUSE_AXIS_%c", binding->sdlId == 0 ? 'X' : 'Y'); + break; + case INPUT_TYPE_JOY_BUTTON: + snprintf(temp_buffer, sizeof(temp_buffer), "JOY%d_BUTTON_%d", binding->deviceIndex, binding->sdlId); + break; + case INPUT_TYPE_JOY_HAT: + if (binding->axisThreshold == SDL_HAT_UP) + snprintf(temp_buffer, sizeof(temp_buffer), "JOY%d_HAT%d_UP", binding->deviceIndex, binding->sdlId); + else if (binding->axisThreshold == SDL_HAT_DOWN) + snprintf(temp_buffer, sizeof(temp_buffer), "JOY%d_HAT%d_DOWN", binding->deviceIndex, binding->sdlId); + else if (binding->axisThreshold == SDL_HAT_LEFT) + snprintf(temp_buffer, sizeof(temp_buffer), "JOY%d_HAT%d_LEFT", binding->deviceIndex, binding->sdlId); + else if (binding->axisThreshold == SDL_HAT_RIGHT) + snprintf(temp_buffer, sizeof(temp_buffer), "JOY%d_HAT%d_RIGHT", binding->deviceIndex, binding->sdlId); + break; + case INPUT_TYPE_GAMEPAD_BUTTON: + snprintf(temp_buffer, sizeof(temp_buffer), "GC%d_BUTTON_%s", binding->deviceIndex, + toUpperCase(SDL_GetGamepadStringForButton(binding->sdlId))); + break; + case INPUT_TYPE_JOY_AXIS: + case INPUT_TYPE_GAMEPAD_AXIS: + { + char prefix[64]; + if (binding->type == INPUT_TYPE_JOY_AXIS) + snprintf(prefix, sizeof(prefix), "JOY%d_AXIS_%d", binding->deviceIndex, binding->sdlId); + else + snprintf(prefix, sizeof(prefix), "GC%d_AXIS_%s", binding->deviceIndex, + toUpperCase(SDL_GetGamepadStringForAxis(binding->sdlId))); + + switch (binding->axisMode) + { + case AXIS_MODE_DIGITAL: + if (binding->axisThreshold > 0) + snprintf(temp_buffer, sizeof(temp_buffer), "%s_POSITIVE", prefix); + else + snprintf(temp_buffer, sizeof(temp_buffer), "%s_NEGATIVE", prefix); + break; + case AXIS_MODE_POSITIVE_HALF: + snprintf(temp_buffer, sizeof(temp_buffer), "%s_POSITIVE_HALF", prefix); + break; + case AXIS_MODE_NEGATIVE_HALF: + snprintf(temp_buffer, sizeof(temp_buffer), "%s_NEGATIVE_HALF", prefix); + break; + case AXIS_MODE_FULL: + default: + strcpy(temp_buffer, prefix); + break; + } + break; + } + default: + break; + } + + if (binding->isInverted) + { + strncat(temp_buffer, "_INVERTED", sizeof(temp_buffer) - strlen(temp_buffer) - 1); + } + strncpy(buffer, temp_buffer, buffer_size); +} + +/** + * @brief Helper to add a set of default bindings to an in-memory INI config. + */ +static void addBindingsToIni(IniConfig *cfg, const char *section_name, const ControlBinding *bindings, size_t count) +{ + for (size_t i = 0; i < count; i++) + { + const ControlBinding *b = &bindings[i]; + char action_str[128]; + char binding_str[128]; + getLogicalActionString(b, action_str, sizeof(action_str), section_name); + getBindingString(b, binding_str, sizeof(binding_str)); + + IniSection *sec = iniGetSection(cfg, section_name); + IniKeyValuePair *pair = NULL; + if (sec) + { + for (int j = 0; j < sec->numPairs; j++) + { + if (strcmp(sec->pairs[j].key, action_str) == 0) + { + pair = &sec->pairs[j]; + break; + } + } + } + + if (pair) + { // Key already exists, append to it + char new_value[1024]; + snprintf(new_value, sizeof(new_value), "%s, %s", pair->value, binding_str); + iniSetValue(cfg, section_name, action_str, new_value); + } + else + { // New key, just set it + iniSetValue(cfg, section_name, action_str, binding_str); + } + } +} + +/** + * @brief Generates a default controls.ini file based on the hardcoded default binding arrays. + */ +void createDefaultControlsIni(const char *fileName) +{ + printf("Generating default controls.ini from built-in bindings...\n"); + + IniConfig *ini = calloc(1, sizeof(IniConfig)); + if (!ini) + { + perror("Failed to allocate memory for INI config"); + return; + } + + iniSetValue(ini, "Config", "Steer_DeadZone", "8000"); + iniSetValue(ini, "Config", "Gas_DeadZone", "500"); + iniSetValue(ini, "Config", "Brake_DeadZone", "500"); + iniSetValue(ini, "Config", "ABC_X_DeadZone", "8000"); + iniSetValue(ini, "Config", "ABC_Y_DeadZone", "8000"); + iniSetValue(ini, "Config", "Throttle_DeadZone", "8000"); + iniSetValue(ini, "Config", "ShakeIncreaseRate", "10.0"); + iniSetValue(ini, "Config", "ShakeDecayRate", "0.95"); + + addBindingsToIni(ini, "Common", gDefaultCommonBindings, gDefaultCommonBindingsSize); + addBindingsToIni(ini, "Digital", gDefaultDigitalBindings, gDefaultDigitalBindingsSize); + addBindingsToIni(ini, "Driving", gDefaultDrivingBindings, gDefaultDrivingBindingsSize); + addBindingsToIni(ini, "ABC", gDefaultAbcBindings, gDefaultAbcBindingsSize); + addBindingsToIni(ini, "Shooting", gDefaultShootingBindings, gDefaultShootingBindingsSize); + addBindingsToIni(ini, "Mahjong", gDefaultMahjongBindings, gDefaultMahjongBindingsSize); + + if (iniSave(ini, fileName) == 0) + { + printf("Default %s has been created successfully.\n", fileName); + } + else + { + fprintf(stderr, "ERROR: Failed to create %s.\n", fileName); + } + + iniFree(ini); +} diff --git a/src/lindbergh/controlIniGen.h b/src/lindbergh/controlIniGen.h new file mode 100644 index 0000000..d563b63 --- /dev/null +++ b/src/lindbergh/controlIniGen.h @@ -0,0 +1,8 @@ +#pragma once + +/** + * @brief Generates a default controls.ini file based on the hardcoded default binding arrays. + * This ensures the generated INI is always in sync with the application's default behavior. + * @param fileName The name of the file to create (e.g., "controls.ini"). + */ +void createDefaultControlsIni(const char *fileName); \ No newline at end of file diff --git a/src/lindbergh/customCursor.c b/src/lindbergh/customCursor.c new file mode 100644 index 0000000..bcc5fde --- /dev/null +++ b/src/lindbergh/customCursor.c @@ -0,0 +1,171 @@ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE + +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "customCursor.h" + +extern uint32_t gId; + +SDL_Cursor *customCursor = NULL; +SDL_Cursor *touchCursor = NULL; + +uint32_t hod4PrevValue; +bool hod4InTutorial = false; +void (*CPlayer_MainOri)(int); + +int loadNewCursor(const char *cursorFileName, SDL_Cursor **cursor, int customWidth, int customHeight, int hotX, int hotY) +{ + SDL_Surface *originalSurface = IMG_Load(cursorFileName); + if (!originalSurface) + { + fprintf(stderr, "Failed to load image %s: %s\n", cursorFileName, SDL_GetError()); + return 0; + } + + SDL_Surface *scaledSurface = SDL_ScaleSurface(originalSurface, customWidth, customHeight, SDL_SCALEMODE_NEAREST); + + SDL_DestroySurface(originalSurface); + + if (!scaledSurface) + { + fprintf(stderr, "SDL_ScaleSurface Error: %s\n", SDL_GetError()); + return 0; + } + + *cursor = SDL_CreateColorCursor(scaledSurface, hotX, hotY); + if (!*cursor) + { + fprintf(stderr, "SDL_CreateColorCursor Error: %s\n", SDL_GetError()); + } + + SDL_DestroySurface(scaledSurface); + + return 1; +} + +void loadCursors() +{ + if (getConfig()->customCursorEnabled && strcmp(getConfig()->customCursor, "") != 0) + { + if (!loadNewCursor(getConfig()->customCursor, (void *)&customCursor, getConfig()->customCursorWidth, + getConfig()->customCursorHeight, getConfig()->customCursorWidth / 2, getConfig()->customCursorHeight / 2)) + { + fprintf(stderr, "Custom cursor could not be loaded!\n"); + exit(1); + } + } + + if (getConfig()->customCursorEnabled && strcmp(getConfig()->touchCursor, "") != 0) + { + if (!loadNewCursor(getConfig()->touchCursor, (void *)&touchCursor, getConfig()->touchCursorWidth, getConfig()->touchCursorHeight, 15, + 15)) + + { + fprintf(stderr, "Custom Touch cursor could not be loaded!\n"); + exit(1); + } + } +} + +void setCursor(void *cursor) +{ + if (SDL_GetCursor() != NULL) + SDL_SetCursor(cursor); +} + +void hideCursor() +{ + SDL_HideCursor(); +} + +void showCursor() +{ + SDL_ShowCursor(); +} + +void showPhCursor() +{ + SDL_ShowCursor(); +} + +int XDefineCursor(Display *display, Window w, Cursor cursor) +{ + int (*_xDefineCursor)(Display *, Window, Cursor) = dlsym(RTLD_NEXT, "XDefineCursor"); + if (gId == QUIZ_AXA || gId == QUIZ_AXA_LIVE) + return 0; + + return _xDefineCursor(display, w, cursor); +} + +// Functions to Show and Hide the cursor in HOD4 while not necessary +void CPlayer_Main(int param1) +{ + + uint32_t value = *(unsigned int *)(uintptr_t)(param1 + 0x38); + if (!getConfig()->hideCursor) + { + + switch (value) + { + case 0: + { + if (hod4PrevValue != 3 || hod4InTutorial) + { + hideCursor(); + } + hod4PrevValue = 0; + } + break; + case 3: + { + if (!hod4InTutorial) + { + showCursor(); + hod4PrevValue = 3; + } + } + break; + case 4: + { + hod4InTutorial = false; + } + case 2: + case 5: + case 11: + { + hideCursor(); + } + } + } + CPlayer_MainOri(param1); +} + +// Functions to Show and Hide the cursor in HOD4 while not necessary +int hod4VsPrintf(char *str, const char *format, va_list arg) +{ + int (*_vsprintf)(char *str, const char *format, va_list arg) = dlsym(RTLD_NEXT, "vsprintf"); + + int res = _vsprintf(str, format, arg); + + if (strcmp(str, "free : tutorial\n") == 0) + { + hod4InTutorial = false; + } + + if (strcmp(str, "entry : tutorial\n") == 0) + { + hod4InTutorial = true; + } + + return res; +} \ No newline at end of file diff --git a/src/lindbergh/customCursor.h b/src/lindbergh/customCursor.h new file mode 100644 index 0000000..ca0e00e --- /dev/null +++ b/src/lindbergh/customCursor.h @@ -0,0 +1,13 @@ +#pragma once + +#include +#include + +int loadNewCursor(const char *cursorFileName, SDL_Cursor **cursor, int customWidth, int customHeight, int hotX, int hotY); +void loadCursors(); +void setCursor(void *cursor); +void hideCursor(); +void showCursor(); +void showPhCursor(); +void CPlayer_Main(int param1); +int hod4VsPrintf(char *str, const char *format, va_list arg); diff --git a/src/lindbergh/customcursor.c b/src/lindbergh/customcursor.c deleted file mode 100644 index 0d9fb3f..0000000 --- a/src/lindbergh/customcursor.c +++ /dev/null @@ -1,229 +0,0 @@ -#include -#include -#include -#include -#include -#define STB_IMAGE_IMPLEMENTATION -#include "stb_image.h" -#define STBI_ONLY_PNG -#define STBI_SUPPORT_ZLIB -#define STBI_NO_SIMD - - -#include -#include -#include - -#include "config.h" - -extern Display *x11Display; -extern Window window; - -void *customCursor; -void *phTouchCursor; -void *blankCursor; - -SDL_Surface *createSurfaceFromStb(unsigned char *data, int width, int height, int channels) -{ - Uint32 rmask, gmask, bmask, amask; - if (channels == 4) - { - rmask = 0x000000FF; - gmask = 0x0000FF00; - bmask = 0x00FF0000; - amask = 0xFF000000; - } - else if (channels == 3) - { - rmask = 0x000000FF; - gmask = 0x0000FF00; - bmask = 0x00FF0000; - amask = 0; - } - else - { - fprintf(stderr, "Unsupported image format with %d channels.\n", channels); - return NULL; - } - - return SDL_CreateRGBSurfaceFrom(data, width, height, channels * 8, width * channels, rmask, gmask, bmask, amask); -} - -int loadNewCursor(const char *cursorFileName, void **cursor, int customWidth, int customHeight) -{ - int width, height, channels; - unsigned char *imageData = stbi_load(cursorFileName, &width, &height, &channels, 0); - if (!imageData) - { - fprintf(stderr, "Failed to load image: %s\n", cursorFileName); - return 0; - } - - SDL_Surface *originalSurface = createSurfaceFromStb(imageData, width, height, channels); - if (!originalSurface) - { - stbi_image_free(imageData); - return 0; - } - - SDL_Surface *resizedSurface = - SDL_CreateRGBSurface(0, customWidth, customHeight, originalSurface->format->BitsPerPixel, originalSurface->format->Rmask, - originalSurface->format->Gmask, originalSurface->format->Bmask, originalSurface->format->Amask); - if (!resizedSurface) - { - fprintf(stderr, "SDL_CreateRGBSurface Error: %s\n", SDL_GetError()); - SDL_FreeSurface(originalSurface); - stbi_image_free(imageData); - return 0; - } - - SDL_Rect srcRect = {0, 0, originalSurface->w, originalSurface->h}; - SDL_Rect destRect = {0, 0, customWidth, customHeight}; - if (SDL_BlitScaled(originalSurface, &srcRect, resizedSurface, &destRect) != 0) - { - fprintf(stderr, "SDL_BlitScaled Error: %s\n", SDL_GetError()); - SDL_FreeSurface(resizedSurface); - SDL_FreeSurface(originalSurface); - stbi_image_free(imageData); - return 0; - } - - if (getConfig()->noSDL == 0) - { - *cursor = SDL_CreateColorCursor(resizedSurface, customWidth / 2, customHeight / 2); - if (!*cursor) - { - fprintf(stderr, "SDL_CreateColorCursor Error: %s\n", SDL_GetError()); - SDL_FreeSurface(resizedSurface); - SDL_FreeSurface(originalSurface); - stbi_image_free(imageData); - return 0; - } - - SDL_FreeSurface(resizedSurface); - SDL_FreeSurface(originalSurface); - } - else - { - XcursorImage *xcursor = XcursorImageCreate(resizedSurface->w, resizedSurface->h); - if (!xcursor) - return None; - - xcursor->xhot = customWidth / 2; - xcursor->yhot = customHeight / 2; - xcursor->width = resizedSurface->w; - xcursor->height = resizedSurface->h; - - // Convert SDL surface to Xcursor format (32-bit ARGB) - for (int y = 0; y < resizedSurface->h; ++y) - { - for (int x = 0; x < resizedSurface->w; ++x) - { - Uint32 pixel = ((Uint32 *)resizedSurface->pixels)[y * resizedSurface->w + x]; - Uint8 r, g, b, a; - SDL_GetRGBA(pixel, resizedSurface->format, &r, &g, &b, &a); - xcursor->pixels[y * resizedSurface->w + x] = (a << 24) | (r << 16) | (g << 8) | b; - } - } - - *cursor = (void*)XcursorImageLoadCursor(x11Display, xcursor); - XcursorImageDestroy(xcursor); - - } - return 1; -} - -void loadCursors() -{ - if (strcmp(getConfig()->customCursor, "") != 0) - { - if (!loadNewCursor(getConfig()->customCursor, (void *)&customCursor, getConfig()->customCursorWidth, - getConfig()->customCursorHeight)) - { - fprintf(stderr, "Custom cursor could not be loaded!\n"); - exit(1); - } - } - - if (strcmp(getConfig()->phTouchCursor, "") != 0) - { - if (!loadNewCursor(getConfig()->phTouchCursor, (void *)&phTouchCursor, getConfig()->phTouchCursorWidth, - getConfig()->phTouchCursorHeight)) - - { - fprintf(stderr, "Custom cursor could not be loaded!\n"); - exit(1); - } - } - - if(getConfig()->noSDL) - { - XColor dummyColor; - Pixmap blankPixmap; - blankPixmap = XCreatePixmap(x11Display, window, 1, 1, 1); - if (!blankPixmap) - { - fprintf(stderr, "Failed to create blank pixmap\n"); - } - - blankCursor = (void*)XCreatePixmapCursor(x11Display, blankPixmap, blankPixmap, &dummyColor, &dummyColor, 0, 0); - if (!blankCursor) - { - fprintf(stderr, "Failed to create blank cursor\n"); - XFreePixmap(x11Display, blankPixmap); - } - } -} - -void setCursor(void *cursor) -{ - if (getConfig()->noSDL == 0) - { - if (SDL_GetCursor() != NULL) - SDL_SetCursor(cursor); - } - else - { - XDefineCursor(x11Display, window, (Cursor)cursor); - XFlush(x11Display); - } -} - -void hideCursor() -{ - if (getConfig()->noSDL == 0) - { - SDL_ShowCursor(SDL_DISABLE); - } - else - { - XDefineCursor(x11Display, window, (Cursor)blankCursor); - XFlush(x11Display); - } -} - -void showCursor() -{ - if (getConfig()->noSDL == 0) - { - SDL_ShowCursor(SDL_ENABLE); - } - else - { - XDefineCursor(x11Display, window, (Cursor)customCursor); - XFlush(x11Display); - } -} - -void showPhCursor() -{ - if (getConfig()->noSDL == 0) - { - SDL_ShowCursor(SDL_ENABLE); - } - else - { - XDefineCursor(x11Display, window, (Cursor)phTouchCursor); - XFlush(x11Display); - } -} \ No newline at end of file diff --git a/src/lindbergh/customcursor.h b/src/lindbergh/customcursor.h deleted file mode 100644 index 82e7934..0000000 --- a/src/lindbergh/customcursor.h +++ /dev/null @@ -1,7 +0,0 @@ - -int loadNewCursor(const char *cursorFileName, void **cursor, int customWidth, int customHeight); -void loadCursors(); -void setCursor(void *cursor); -void hideCursor(); -void showCursor(); -void showPhCursor(); diff --git a/src/lindbergh/driveboard.c b/src/lindbergh/driveBoard.c similarity index 99% rename from src/lindbergh/driveboard.c rename to src/lindbergh/driveBoard.c index 64d0f4d..b5b5e3e 100644 --- a/src/lindbergh/driveboard.c +++ b/src/lindbergh/driveBoard.c @@ -1,6 +1,6 @@ #include "string.h" -#include "driveboard.h" +#include "driveBoard.h" #include "jvs.h" #define DRIVEBOARD_READY 0x00 diff --git a/src/lindbergh/driveboard.h b/src/lindbergh/driveBoard.h similarity index 100% rename from src/lindbergh/driveboard.h rename to src/lindbergh/driveBoard.h diff --git a/src/lindbergh/eeprom.c b/src/lindbergh/eeprom.c index 02d1ef2..a8e7fab 100644 --- a/src/lindbergh/eeprom.c +++ b/src/lindbergh/eeprom.c @@ -1,11 +1,7 @@ -#include -#include -#include #include #include "config.h" -#include "eeprom.h" -#include "eeprom_settings.h" +#include "eepromSettings.h" #define I2C_SMBUS_BLOCK_MAX 32 #define I2C_GET_FUNCTIONS 0x705 @@ -96,7 +92,7 @@ int initEeprom() break; case OUTRUN_2_SP_SDX: case OUTRUN_2_SP_SDX_REVA: - if (strcmp(getConfig()->or2IP, "") != 0) + if (getConfig()->enableNetworkPatches && strcmp(getConfig()->or2IP, "") != 0 && strcmp(getConfig()->or2Netmask, "") != 0) { if (setIP(eeprom, getConfig()->or2IP, getConfig()->or2Netmask) != 0) { diff --git a/src/lindbergh/eeprom_settings.c b/src/lindbergh/eepromSettings.c similarity index 95% rename from src/lindbergh/eeprom_settings.c rename to src/lindbergh/eepromSettings.c index 8cb2642..8f546fb 100644 --- a/src/lindbergh/eeprom_settings.c +++ b/src/lindbergh/eepromSettings.c @@ -1,17 +1,15 @@ #include -#include -#include #include -#include "eeprom_settings.h" +#include "eepromSettings.h" -uint32_t crc32_table[255]; +uint32_t crc32Table[255]; typedef struct { uint16_t offset; uint16_t size; -} eepromOffsets; +} EepromOffsets; typedef enum { @@ -21,9 +19,9 @@ typedef enum ETH1, CREDIT, BACKUP -} eepromSection; +} EepromSection; -eepromOffsets eepromOffsetTable[] = { +EepromOffsets eepromOffsetTable[] = { {0x0000, 0x0020}, // amSysDataRecord_Static {0x00A0, 0x0010}, // amSysDataRecord_NetworkType {0x00B0, 0x0020}, // amSysDataRecord_Eth0 @@ -33,7 +31,7 @@ eepromOffsets eepromOffsetTable[] = { unsigned char eepromBuffer[512]; -void build_crc32_table() +void buildCrc32Table() { for (uint32_t i = 0; i < 256; i++) { @@ -47,23 +45,23 @@ void build_crc32_table() crc = crc ^ 0xEDB88320; ch >>= 1; } - crc32_table[i] = crc; + crc32Table[i] = crc; } } -uint32_t gen_crc(int section, size_t n) +uint32_t genCrc(int section, size_t n) { unsigned char *buff = &eepromBuffer[eepromOffsetTable[section].offset + 4]; unsigned long crc = 0xfffffffful; size_t i; for (i = 0; i < n; i++) - crc = crc32_table[*buff++ ^ (crc & 0xff)] ^ (crc >> 8); + crc = crc32Table[*buff++ ^ (crc & 0xff)] ^ (crc >> 8); return (crc); } void addCRCtoBuffer(int section) { - uint32_t crc = gen_crc(section, eepromOffsetTable[section].size - 4); + uint32_t crc = genCrc(section, eepromOffsetTable[section].size - 4); memcpy(&eepromBuffer[eepromOffsetTable[section].offset], &crc, sizeof(uint32_t)); } @@ -80,7 +78,7 @@ int checkCRCinBuffer(int section) { uint32_t crc; memcpy(&crc, &eepromBuffer[eepromOffsetTable[section].offset], 4); - if (crc != gen_crc(section, eepromOffsetTable[section].size - 4)) + if (crc != genCrc(section, eepromOffsetTable[section].size - 4)) return 1; return 0; } @@ -244,7 +242,7 @@ int setIP(FILE *eeprom, char *ipAddress, char *netMask) int eepromSettingsInit( FILE *eeprom) { - build_crc32_table(); + buildCrc32Table(); eeprom = fopen("eeprom.bin", "r+b"); if (eeprom == NULL) diff --git a/src/lindbergh/eeprom_settings.h b/src/lindbergh/eepromSettings.h similarity index 100% rename from src/lindbergh/eeprom_settings.h rename to src/lindbergh/eepromSettings.h diff --git a/src/lindbergh/evdevinput.c b/src/lindbergh/evdevInput.c similarity index 74% rename from src/lindbergh/evdevinput.c rename to src/lindbergh/evdevInput.c index 4dfa26d..bb72dd7 100644 --- a/src/lindbergh/evdevinput.c +++ b/src/lindbergh/evdevInput.c @@ -1,19 +1,26 @@ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#ifndef __i386__ +#define __i386__ +#endif +#undef __x86_64__ #include #include +#include #include #include -#include -#include -#include -#include #include #include -#include "evdevinput.h" +#include "evdevInput.h" #include "config.h" #include "jvs.h" #include "log.h" +extern uint32_t gId; +extern int gGrp; + int jvsBits = 10; #define BITS_PER_LONG (sizeof(long) * 8) @@ -23,6 +30,9 @@ int jvsBits = 10; #define test_bit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) #define NAME_ELEMENT(element) [element] = #element +int (*mySelect)(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, + struct timeval *restrict timeout) = NULL; + ArcadeInput arcadeInputs[] = {{"TEST_BUTTON", 0, BUTTON_TEST, 1}, {"PLAYER_1_BUTTON_START", 1, BUTTON_START, 1}, @@ -79,9 +89,8 @@ static const char *const events[EV_MAX + 1] = { }; static const int maxval[EV_MAX + 1] = { - [0 ... EV_MAX] = -1, [EV_SYN] = SYN_MAX, [EV_KEY] = KEY_MAX, [EV_REL] = REL_MAX, - [EV_ABS] = ABS_MAX, [EV_MSC] = MSC_MAX, [EV_SW] = SW_MAX, [EV_LED] = LED_MAX, - [EV_SND] = SND_MAX, [EV_REP] = REP_MAX, [EV_FF] = FF_MAX, [EV_FF_STATUS] = FF_STATUS_MAX, + [0 ... EV_MAX] = -1, [EV_SYN] = SYN_MAX, [EV_KEY] = KEY_MAX, [EV_REL] = REL_MAX, [EV_ABS] = ABS_MAX, [EV_MSC] = MSC_MAX, + [EV_SW] = SW_MAX, [EV_LED] = LED_MAX, [EV_SND] = SND_MAX, [EV_REP] = REP_MAX, [EV_FF] = FF_MAX, [EV_FF_STATUS] = FF_STATUS_MAX, }; static const char *const absolutes[ABS_MAX + 1] = { @@ -774,6 +783,7 @@ static const char *const *const names[EV_MAX + 1] = { [0 ... EV_MAX] = NULL, [EV_KEY] = keys, [EV_ABS] = absolutes, + // [EV_REL] = relatives, }; typedef struct @@ -808,7 +818,7 @@ static int isEventDevice(const struct dirent *dir) return strncmp("event", dir->d_name, 5) == 0; } -ControllerStatus stopControllers(Controllers *controllers) +ControllerStatus stopEvdevControllers(Controllers *controllers) { controllers->threadsRunning = 0; for (int i = 0; i < controllers->threadIndex; i++) @@ -825,15 +835,15 @@ void normaliseName(char *string) for (size_t j = 0; j < strlen(string); j++) { string[j] = toupper(string[j]); - if (string[j] == ' ' || string[j] == '/' || string[j] == '(' || string[j] == ',' || string[j] == '=' || - string[j] == '-' || string[j] == ')') + if (string[j] == ' ' || string[j] == '/' || string[j] == '(' || string[j] == ',' || string[j] == '=' || string[j] == '-' || + string[j] == ')') { string[j] = '_'; } } } -static ControllerStatus listControllers(Controllers *controllers) +ControllerStatus loadEvdevControllers(Controllers *controllers) { struct dirent **namelist; controllers->count = scandir("/dev/input", &namelist, isEventDevice, alphasort); @@ -851,8 +861,7 @@ static ControllerStatus listControllers(Controllers *controllers) for (int i = 0; i < controllers->count; i++) { - snprintf(controllers->controller[i].path, sizeof(controllers->controller[i].path), "%s/%s", "/dev/input", - namelist[i]->d_name); + snprintf(controllers->controller[i].path, sizeof(controllers->controller[i].path), "%s/%s", "/dev/input", namelist[i]->d_name); free(namelist[i]); controllers->controller[i].enabled = 0; @@ -889,8 +898,7 @@ static ControllerStatus listControllers(Controllers *controllers) } // Get the controllers physical location - ioctl(controller, EVIOCGPHYS(sizeof(controllers->controller[i].physicalLocation)), - controllers->controller[i].physicalLocation); + ioctl(controller, EVIOCGPHYS(sizeof(controllers->controller[i].physicalLocation)), controllers->controller[i].physicalLocation); for (size_t j = 0; j < strlen(controllers->controller[i].physicalLocation); j++) { if (controllers->controller[i].physicalLocation[j] == '/') @@ -912,14 +920,14 @@ static ControllerStatus listControllers(Controllers *controllers) { if (test_bit(code, bit[EV_KEY])) { - if(controllers->controller[i].inputCount >= MAX_INPUTS) { // the number of input is limited - fprintf(stderr, "warning, maximum number of inputs reached !\n"); - break; + if (controllers->controller[i].inputCount >= MAX_INPUTS) + { // the number of input is limited + fprintf(stderr, "warning, maximum number of inputs reached !\n"); + break; } controllers->controller[i].enabled = 1; - ControllerInput *controllerInput = - &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; + ControllerInput *controllerInput = &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; controllerInput->evType = EV_KEY; controllerInput->evCode = code; controllerInput->specialFunction = NO_SPECIAL_FUNCTION; @@ -944,8 +952,7 @@ static ControllerStatus listControllers(Controllers *controllers) if (test_bit(code, bit[EV_ABS])) { controllers->controller[i].enabled = 1; - ControllerInput *controllerInput = - &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; + ControllerInput *controllerInput = &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; controllerInput->evType = EV_ABS; controllerInput->evCode = code; controllerInput->specialFunction = NO_SPECIAL_FUNCTION; @@ -962,8 +969,7 @@ static ControllerStatus listControllers(Controllers *controllers) // hum ok, truncated value } - ControllerInput *minControllerInput = - &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; + ControllerInput *minControllerInput = &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; minControllerInput->evType = EV_ABS; minControllerInput->evCode = code; minControllerInput->specialFunction = ANALOGUE_TO_DIGITAL_MIN; @@ -979,8 +985,7 @@ static ControllerStatus listControllers(Controllers *controllers) // hum ok, truncated value } - ControllerInput *maxControllerInput = - &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; + ControllerInput *maxControllerInput = &controllers->controller[i].inputs[controllers->controller[i].inputCount++]; maxControllerInput->evType = EV_ABS; maxControllerInput->evCode = code; maxControllerInput->specialFunction = ANALOGUE_TO_DIGITAL_MAX; @@ -1012,7 +1017,6 @@ static ControllerStatus listControllers(Controllers *controllers) ioctl(controller, EVIOCGABS(code), &absoluteFeatures); controllers->controller[i].absMin[code] = absoluteFeatures.minimum; controllers->controller[i].absMax[code] = absoluteFeatures.maximum; - } } } @@ -1028,8 +1032,7 @@ static ControllerStatus listControllers(Controllers *controllers) for (int j = 0; j < controllers->count - 1 - i; j++) { Controller tmp; - if (strcmp(controllers->controller[j].physicalLocation, controllers->controller[j + 1].physicalLocation) > - 0) + if (strcmp(controllers->controller[j].physicalLocation, controllers->controller[j + 1].physicalLocation) > 0) { tmp = controllers->controller[j]; controllers->controller[j] = controllers->controller[j + 1]; @@ -1041,6 +1044,7 @@ static ControllerStatus listControllers(Controllers *controllers) return CONTROLLER_STATUS_SUCCESS; } +#ifndef COMPILING_LINDBERGH_ELF void *controllerThread(void *_args) { ThreadArguments *args = (ThreadArguments *)_args; @@ -1064,7 +1068,8 @@ void *controllerThread(void *_args) args->controllers->threadsRunning = 1; - for (int i = 0; i < 8; ++i) { + for (int i = 0; i < 8; ++i) + { analogue_deadzones[i].start_max = args->analogue_deadzone_start[i] / 100.0; analogue_deadzones[i].middle_min = 0.5 - (args->analogue_deadzone_middle[i] / 100.0); analogue_deadzones[i].middle_max = 0.5 + (args->analogue_deadzone_middle[i] / 100.0); @@ -1079,7 +1084,7 @@ void *controllerThread(void *_args) tv.tv_sec = 0; tv.tv_usec = 2 * 1000; - if (select(fd + 1, &file_descriptor, NULL, NULL, &tv) < 1) + if (mySelect(fd + 1, &file_descriptor, NULL, NULL, &tv) < 1) continue; if (read(fd, &event, sizeof(event)) == sizeof(event)) @@ -1087,100 +1092,148 @@ void *controllerThread(void *_args) switch (event.type) { - case EV_KEY: - { - if (!args->controller->keyTriggers[event.code].enabled) - continue; - - if (args->controller->keyTriggers[event.code].isAnalogue) + case EV_KEY: { - setAnalogue(args->controller->keyTriggers[event.code].channel, - event.value == 0 ? 0 : 1 * (pow(2, jvsBits) - 1)); - continue; - } + if (!args->controller->keyTriggers[event.code].enabled) + continue; - if(args->controller->keyTriggers[event.code].isCoin == 1) { - if(event.value == 1) - incrementCoin(args->controller->keyTriggers[event.code].player, 1); - } else - setSwitch(args->controller->keyTriggers[event.code].player, - args->controller->keyTriggers[event.code].channel, event.value == 0 ? 0 : 1); - - } - break; - - case EV_ABS: - { - double scaled = - ((double)event.value - (double)args->controller->absMin[event.code]) / - ((double)args->controller->absMax[event.code] - (double)args->controller->absMin[event.code]); - - if(args->controller->absTriggers[event.code].isNeg == 1) { - scaled = 1.0 - scaled; - } - - if (args->controller->absTriggers[event.code].enabled) - { - int channel = args->controller->absTriggers[event.code].channel; - - if (args->controller->absTriggers[event.code].isAnalogue) { - // Deadzone handling - if (scaled < analogue_deadzones[channel].start_max) - scaled = 0.0; - if (scaled > analogue_deadzones[channel].middle_min && scaled < analogue_deadzones[channel].middle_max) - scaled = 0.5; - if (scaled > analogue_deadzones[channel].end_min) - scaled = 1.0; - setAnalogue(channel, scaled * (pow(2, jvsBits) - 1)); - } else { - setSwitch(args->controller->absTriggers[event.code].player, - args->controller->absTriggers[event.code].channel, scaled < 0.8 ? 0 : 1); - } - } - - if(event.value <= ((args->controller->absMin[event.code] + args->controller->absMax[event.code]) / 2)) { - if (args->controller->absTriggers[event.code].minEnabled) + if (args->controller->keyTriggers[event.code].isAnalogue) { - int channel = args->controller->absTriggers[event.code].minChannel; - - if (args->controller->absTriggers[event.code].isAnalogue) { - setAnalogue(channel, scaled < 0.2 ? 0.0 : pow(2, jvsBits) * 1.0); - } else { - setSwitch(args->controller->absTriggers[event.code].minPlayer, - args->controller->absTriggers[event.code].minChannel, scaled < 0.2 ? 1 : 0); - } + setAnalogue(args->controller->keyTriggers[event.code].channel, event.value == 0 ? 0 : 1 * (pow(2, jvsBits) - 1)); + continue; } - } - if(event.value >= ((args->controller->absMin[event.code] + args->controller->absMax[event.code]) / 2)) { - if (args->controller->absTriggers[event.code].maxEnabled) + if (args->controller->keyTriggers[event.code].isCoin == 1) { - int channel = args->controller->absTriggers[event.code].maxChannel; - - if (args->controller->absTriggers[event.code].isAnalogue) { - setAnalogue(channel, scaled > 0.8 ? pow(2, jvsBits) : 0.0); - } else { - setSwitch(args->controller->absTriggers[event.code].maxPlayer, - args->controller->absTriggers[event.code].maxChannel, scaled > 0.8 ? 1 : 0); - } + if (event.value == 1) + incrementCoin(args->controller->keyTriggers[event.code].player, 1); } - } - if (args->controller->absTriggers[event.code].shakeEnabled) - { - int channel = args->controller->absTriggers[event.code].shakeChannel; - if( (scaled > args->controller->absTriggers[event.code].shakePreviousScaled && scaled - args->controller->absTriggers[event.code].shakePreviousScaled > 0.1) || - (scaled < args->controller->absTriggers[event.code].shakePreviousScaled && -scaled + args->controller->absTriggers[event.code].shakePreviousScaled > 0.1)) { - setAnalogue(channel, 0); - } else { - setAnalogue(channel, pow(2, jvsBits) / 2); - } - args->controller->absTriggers[event.code].shakePreviousScaled = scaled; - } - } - break; + else + setSwitch(args->controller->keyTriggers[event.code].player, args->controller->keyTriggers[event.code].channel, + event.value == 0 ? 0 : 1); - default: + } break; + + case EV_ABS: + { + double scaled = ((double)event.value - (double)args->controller->absMin[event.code]) / + ((double)args->controller->absMax[event.code] - (double)args->controller->absMin[event.code]); + + if (args->controller->absTriggers[event.code].isNeg == 1) + { + scaled = 1.0 - scaled; + } + + if (args->controller->absTriggers[event.code].enabled) + { + int channel = args->controller->absTriggers[event.code].channel; + + if (args->controller->absTriggers[event.code].isAnalogue) + { + // Deadzone handling + if (scaled < analogue_deadzones[channel].start_max) + scaled = 0.0; + if (scaled > analogue_deadzones[channel].middle_min && scaled < analogue_deadzones[channel].middle_max) + scaled = 0.5; + if (scaled > analogue_deadzones[channel].end_min) + scaled = 1.0; + + // uint32_t gId = getConfig()->crc32; + + if (channel == ANALOGUE_1 || channel == ANALOGUE_2) + { + args->controller->lastAnalogueValue[channel] = scaled; + + double x_pos = (channel == ANALOGUE_1) ? scaled : args->controller->lastAnalogueValue[ANALOGUE_1]; + double y_pos = (channel == ANALOGUE_2) ? scaled : args->controller->lastAnalogueValue[ANALOGUE_2]; + + if (x_pos <= 0.01 || x_pos >= 0.99 || y_pos <= 0.01 || y_pos >= 0.99) + { + // log_info("Off-screen detected - X: %f, Y: %f", x_pos, y_pos); + switch (gId) + { + case GHOST_SQUAD_EVOLUTION: + // log_info("GSE: Triggering reload via BUTTON_2"); + setSwitch(1, BUTTON_2, 1); + break; + } + } + else + { + setSwitch(1, BUTTON_2, 0); + } + } + + if(channel == ANALOGUE_1 && (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP || gGrp == GROUP_ID5)) + scaled = (scaled - 0.5f) * 0.35f + 0.5f; + + setAnalogue(channel, scaled * (pow(2, jvsBits) - 1)); + } + else + { + setSwitch(args->controller->absTriggers[event.code].player, args->controller->absTriggers[event.code].channel, + scaled < 0.8 ? 0 : 1); + } + } + + if (event.value <= ((args->controller->absMin[event.code] + args->controller->absMax[event.code]) / 2)) + { + if (args->controller->absTriggers[event.code].minEnabled) + { + int channel = args->controller->absTriggers[event.code].minChannel; + + if (args->controller->absTriggers[event.code].isAnalogue) + { + setAnalogue(channel, scaled < 0.2 ? 0.0 : pow(2, jvsBits) * 1.0); + } + else + { + setSwitch(args->controller->absTriggers[event.code].minPlayer, + args->controller->absTriggers[event.code].minChannel, scaled < 0.2 ? 1 : 0); + } + } + } + + if (event.value >= ((args->controller->absMin[event.code] + args->controller->absMax[event.code]) / 2)) + { + if (args->controller->absTriggers[event.code].maxEnabled) + { + int channel = args->controller->absTriggers[event.code].maxChannel; + + if (args->controller->absTriggers[event.code].isAnalogue) + { + setAnalogue(channel, scaled > 0.8 ? pow(2, jvsBits) : 0.0); + } + else + { + setSwitch(args->controller->absTriggers[event.code].maxPlayer, + args->controller->absTriggers[event.code].maxChannel, scaled > 0.8 ? 1 : 0); + } + } + } + + if (args->controller->absTriggers[event.code].shakeEnabled) + { + int channel = args->controller->absTriggers[event.code].shakeChannel; + if ((scaled > args->controller->absTriggers[event.code].shakePreviousScaled && + scaled - args->controller->absTriggers[event.code].shakePreviousScaled > 0.1) || + (scaled < args->controller->absTriggers[event.code].shakePreviousScaled && + -scaled + args->controller->absTriggers[event.code].shakePreviousScaled > 0.1)) + { + setAnalogue(channel, 0); + } + else + { + setAnalogue(channel, pow(2, jvsBits) / 2); + } + args->controller->absTriggers[event.code].shakePreviousScaled = scaled; + } + } + break; + + default: + break; } } } @@ -1313,11 +1366,6 @@ ControllerStatus getArcadeInputByName(char *name, ArcadeInput *input) ControllerStatus startControllerThreads(Controllers *controllers) { - // Don't start EVDEV threads if SDL/X11-only mode is enabled - if (getConfig()->inputMode == 1) { - return CONTROLLER_STATUS_SUCCESS; - } - for (int i = 0; i < controllers->count; i++) { if (!controllers->controller[i].enabled) @@ -1330,7 +1378,7 @@ ControllerStatus startControllerThreads(Controllers *controllers) controllers->controller[i].absTriggers[j].maxEnabled = 0; controllers->controller[i].absTriggers[j].shakeEnabled = 0; controllers->controller[i].absTriggers[j].isNeg = 0; - controllers->controller[i].absTriggers[j].isAnalogue = 1; + controllers->controller[i].absTriggers[j].isAnalogue = 1; } for (int j = 0; j < KEY_MAX; j++) @@ -1345,17 +1393,20 @@ ControllerStatus startControllerThreads(Controllers *controllers) char *mapping = getMapping(controllers->controller[i].inputs[j].inputName); int negabs = 0; - if (mapping == NULL) { - // give a 2nd chance with a techninal mapping - mapping = getMapping(controllers->controller[i].inputs[j].inputTechName); - if (mapping == NULL) { - // give a 3rd change with negativ technical mapping - mapping = getMapping(controllers->controller[i].inputs[j].inputTechNegName); - negabs = 1; - if (mapping == NULL) { - continue; + if (mapping == NULL) + { + // give a 2nd chance with a techninal mapping + mapping = getMapping(controllers->controller[i].inputs[j].inputTechName); + if (mapping == NULL) + { + // give a 3rd change with negativ technical mapping + mapping = getMapping(controllers->controller[i].inputs[j].inputTechNegName); + negabs = 1; + if (mapping == NULL) + { + continue; + } } - } } ArcadeInput input = {0}; @@ -1368,102 +1419,92 @@ ControllerStatus startControllerThreads(Controllers *controllers) switch (controllers->controller[i].inputs[j].evType) { - case EV_ABS: - { - switch (controllers->controller[i].inputs[j].specialFunction) + case EV_ABS: { - case NO_SPECIAL_FUNCTION: - { - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].enabled = 1; - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].channel = - input.channel; - strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].name, - input.name, SIZE); - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].player = - input.player; - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isNeg = negabs; - if (strstr(input.name, "ANALOGUE") == NULL) - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 0; + switch (controllers->controller[i].inputs[j].specialFunction) + { + case NO_SPECIAL_FUNCTION: + { + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].enabled = 1; + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].channel = input.channel; + strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].name, input.name, + SIZE); + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].player = input.player; + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isNeg = negabs; + if (strstr(input.name, "ANALOGUE") == NULL) + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 0; + } + break; + + case ANALOGUE_TO_DIGITAL_MAX: + { + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxEnabled = 1; + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxChannel = input.channel; + strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxName, input.name, + SIZE); + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxPlayer = input.player; + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isNeg = negabs; + if (strstr(input.name, "ANALOGUE") == NULL) + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 0; + } + break; + + case ANALOGUE_TO_DIGITAL_MIN: + { + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minEnabled = 1; + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minChannel = input.channel; + strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minName, input.name, + SIZE); + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minPlayer = input.player; + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isNeg = negabs; + if (strstr(input.name, "ANALOGUE") == NULL) + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 0; + } + break; + + case ANALOGUE_SHAKE: + { + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakeEnabled = 1; + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakeChannel = + input.channel; + strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakeName, + input.name, SIZE); + controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakePlayer = input.player; + } + break; + + default: + break; + } } break; - case ANALOGUE_TO_DIGITAL_MAX: + case EV_KEY: { - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxEnabled = 1; - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxChannel = - input.channel; - strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxName, - input.name, SIZE); - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].maxPlayer = - input.player; - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isNeg = negabs; - if (strstr(input.name, "ANALOGUE") == NULL) - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 0; - } - break; + controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].enabled = 1; + controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].channel = input.channel; + strncpy(controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].name, input.name, SIZE); + controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].player = input.player; - case ANALOGUE_TO_DIGITAL_MIN: - { - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minEnabled = 1; - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minChannel = - input.channel; - strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minName, - input.name, SIZE); - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].minPlayer = - input.player; - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isNeg = negabs; - if (strstr(input.name, "ANALOGUE") == NULL) - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 0; - } - break; + if (strstr(input.name, "ANALOGUE") != NULL) + controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 1; - case ANALOGUE_SHAKE: - { - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakeEnabled = 1; - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakeChannel = - input.channel; - strncpy(controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakeName, - input.name, SIZE); - controllers->controller[i].absTriggers[controllers->controller[i].inputs[j].evCode].shakePlayer = - input.player; + if (strcmp(input.name, "PLAYER_1_COIN") == 0) + { + controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].isCoin = 1; + } + + if (strcmp(input.name, "PLAYER_2_COIN") == 0) + { + controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].isCoin = 1; + } } break; default: - break; - } - } - break; - - case EV_KEY: - { - controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].enabled = 1; - controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].channel = - input.channel; - strncpy(controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].name, - input.name, SIZE); - controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].player = - input.player; - - if (strstr(input.name, "ANALOGUE") != NULL) - controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].isAnalogue = 1; - - if (strcmp(input.name, "PLAYER_1_COIN") == 0) { - controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].isCoin = 1; + printf("Warining: Unknown mapping type\n"); } - - if (strcmp(input.name, "PLAYER_2_COIN") == 0) - { - controllers->controller[i].keyTriggers[controllers->controller[i].inputs[j].evCode].isCoin = 1; - } - } - break; - - default: - { - printf("Warining: Unknown mapping type\n"); - } } } @@ -1485,8 +1526,10 @@ ControllerStatus startControllerThreads(Controllers *controllers) ThreadArguments *args = malloc(sizeof(ThreadArguments)); args->controller = &controllers->controller[i]; args->controllers = controllers; - memcpy(args->analogue_deadzone_start, config->arcadeInputs.analogue_deadzone_start, sizeof(config->arcadeInputs.analogue_deadzone_start)); - memcpy(args->analogue_deadzone_middle, config->arcadeInputs.analogue_deadzone_middle, sizeof(config->arcadeInputs.analogue_deadzone_middle)); + memcpy(args->analogue_deadzone_start, config->arcadeInputs.analogue_deadzone_start, + sizeof(config->arcadeInputs.analogue_deadzone_start)); + memcpy(args->analogue_deadzone_middle, config->arcadeInputs.analogue_deadzone_middle, + sizeof(config->arcadeInputs.analogue_deadzone_middle)); memcpy(args->analogue_deadzone_end, config->arcadeInputs.analogue_deadzone_end, sizeof(config->arcadeInputs.analogue_deadzone_end)); pthread_create(&controllers->thread[controllers->threadIndex++], NULL, controllerThread, args); controllers->controller[i].inUse = 1; @@ -1495,21 +1538,30 @@ ControllerStatus startControllerThreads(Controllers *controllers) return CONTROLLER_STATUS_SUCCESS; } -ControllerStatus initControllers(Controllers *controllers) +#endif +ControllerStatus initEvdevControllers(Controllers *controllers) { + // Don't start EVDEV if SDL mode is enabled + if (getConfig()->inputMode == 1) + { + return CONTROLLER_STATUS_SUCCESS; + } + mySelect = dlsym(RTLD_NEXT, "select"); + + if (loadEvdevControllers(controllers) != CONTROLLER_STATUS_SUCCESS) + { + return CONTROLLER_STATUS_ERROR; + } + jvsBits = getJVSIO()->capabilities.analogueInBits; controllers->threadIndex = 0; - if (listControllers(controllers) != CONTROLLER_STATUS_SUCCESS) - { - return CONTROLLER_STATUS_ERROR; - } - +#ifndef COMPILING_LINDBERGH_ELF if (startControllerThreads(controllers) != CONTROLLER_STATUS_SUCCESS) { return CONTROLLER_STATUS_ERROR; } - +#endif return CONTROLLER_STATUS_SUCCESS; } diff --git a/src/lindbergh/evdevinput.h b/src/lindbergh/evdevInput.h similarity index 87% rename from src/lindbergh/evdevinput.h rename to src/lindbergh/evdevInput.h index bd80be6..66414bc 100644 --- a/src/lindbergh/evdevinput.h +++ b/src/lindbergh/evdevInput.h @@ -82,6 +82,7 @@ typedef struct int enabled; int inUse; + double lastAnalogueValue[8]; } Controller; @@ -95,6 +96,6 @@ typedef struct int threadsRunning; } Controllers; -ControllerStatus initControllers(Controllers *controllers); -ControllerStatus stopControllers(Controllers *controllers); - +ControllerStatus initEvdevControllers(Controllers *controllers); +ControllerStatus stopEvdevControllers(Controllers *controllers); +ControllerStatus loadEvdevControllers(Controllers *controllers); diff --git a/src/lindbergh/flowControl.c b/src/lindbergh/flowControl.c new file mode 100644 index 0000000..37f6952 --- /dev/null +++ b/src/lindbergh/flowControl.c @@ -0,0 +1,268 @@ +#include +#include +#include +#include +#include +#include +#include + +#include "flowControl.h" +#include "log.h" + +void setVariable(size_t address, size_t value) +{ + int pagesize = sysconf(_SC_PAGE_SIZE); + + size_t *variable = (size_t *)address; + + void *toModify = (void *)(address - (address % pagesize)); + + int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); + if (prot != 0) + { + log_error("Error: Cannot unprotect memory region to change variable (%d)\n", prot); + return; + } + *variable = value; +} + +void patchMemoryFromString(size_t address, char *value) +{ + size_t size = strlen((void *)value); + if (size % 2 != 0) + { + log_error("Patch sting len should be even.\n"); + exit(EXIT_FAILURE); + } + + char buf[size / 2]; + char tmpchr[3]; + char *p = value; + for (int i = 0; i < size; i++) + { + memcpy(tmpchr, p, 2); + tmpchr[2] = '\0'; + buf[i] = (int)strtol(tmpchr, NULL, 16); + p += 2; + } + + int pagesize = sysconf(_SC_PAGE_SIZE); + + void *toModify = (void *)(address - (address % pagesize)); + + int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); + if (prot != 0) + { + log_error("Error: Cannot unprotect memory region to change variable (%d)\n", prot); + return; + } + + memcpy((void *)address, buf, size / 2); +} + +void detourFunction(size_t address, void *function) +{ + int pagesize = sysconf(_SC_PAGE_SIZE); + + void *toModify = (void *)(address - (address % pagesize)); + + int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); + if (prot != 0) + { + log_error("Error: Cannot detour memory region to change variable (%d)\n", prot); + return; + } + + uint32_t jumpAddress = (function - (void *)address) - 5; + + // Build the assembly to make the function jump + char cave[5] = {0xE9, 0x00, 0x00, 0x00, 0x00}; + cave[4] = (jumpAddress >> (8 * 3)) & 0xFF; + cave[3] = (jumpAddress >> (8 * 2)) & 0xFF; + cave[2] = (jumpAddress >> (8 * 1)) & 0xFF; + cave[1] = (jumpAddress) & 0xFF; + + memcpy((void *)address, cave, 5); +} + +void replaceCallAtAddress(size_t address, void *function) +{ + uint32_t offset = function - (void *)(address)-5; + + int pagesize = sysconf(_SC_PAGE_SIZE); + + void *toModify = (void *)(address - (address % pagesize)); + + int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); + if (prot != 0) + { + log_error("Error: Cannot detour memory region to change variable (%d)\n", prot); + return; + } + + uint32_t callAddress = (function - (void *)address) - 5; + + char cave[5] = {0xE8, 0x00, 0x00, 0x00, 0x00}; + cave[4] = (callAddress >> (8 * 3)) & 0xFF; + cave[3] = (callAddress >> (8 * 2)) & 0xFF; + cave[2] = (callAddress >> (8 * 1)) & 0xFF; + cave[1] = (callAddress) & 0xFF; + + memcpy((void *)address, cave, 5); +} + +int stubRetZero() +{ + return 0; +} + +void stubReturn() +{ + return; +} + +int stubRetOne() +{ + return 1; +} + +int stubRetMinusOne() +{ + return -1; +} + +char stubRetZeroChar() +{ + return 0x00; +} + +static size_t pageAlignDown(size_t addr) +{ + size_t pagesize = sysconf(_SC_PAGESIZE); + return addr & ~(pagesize - 1); +} + +int patchMemory(void *address, const void *data, size_t size) +{ + size_t page_start = pageAlignDown((size_t)address); + size_t page_size = size + ((size_t)address - page_start); + + if (mprotect((void *)page_start, page_size, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) + { + log_error("Error in mprotect."); + return -1; + } + memcpy(address, data, size); + return 0; +} + +void *trampolineHook(void *target, void *replacement, size_t saveSize) +{ + void *trampoline = mmap(NULL, saveSize + 5, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + if (trampoline == MAP_FAILED) + { + perror("mmap"); + return NULL; + } + + uintptr_t src = (uintptr_t)target; + uintptr_t dst = (uintptr_t)replacement; + + // Save original bytes + memcpy(trampoline, target, saveSize); + + // Append jmp back after saved bytes + ((uint8_t *)trampoline)[saveSize] = 0xE9; + uintptr_t jump_from = (uintptr_t)trampoline + saveSize; + uintptr_t jump_to = src + saveSize; + *(uint32_t *)((uint8_t *)trampoline + saveSize + 1) = (uint32_t)(jump_to - (jump_from + 5)); + + // Patch original + uint8_t jmp[5] = {0xE9}; + *(uint32_t *)&jmp[1] = (uint32_t)(dst - src - 5); + if (patchMemory(target, jmp, sizeof(jmp)) != 0) + { + log_error("Error patching original function at %p\n", target); + } + + return trampoline; +} + +uintptr_t getBaseAddress() +{ + FILE *fp = fopen("/proc/self/maps", "r"); + if (!fp) + return 0; + + uint32_t base = 0; + fscanf(fp, "%x-", &base); + fclose(fp); + return base; +} + +void *findStaticFnAddr(const char *functionName) +{ + int fd = open("/proc/self/exe", O_RDONLY); + if (fd < 0) + return NULL; + + struct stat st; + if (fstat(fd, &st) < 0) + { + close(fd); + return NULL; + } + + uint8_t *data = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0); + close(fd); + if (data == MAP_FAILED) + return NULL; + + Elf32_Ehdr *ehdr = (Elf32_Ehdr *)data; + Elf32_Shdr *shdrs = (Elf32_Shdr *)(data + ehdr->e_shoff); + const char *shstrtab = (const char *)(data + shdrs[ehdr->e_shstrndx].sh_offset); + + Elf32_Shdr *symtabHdr = NULL, *strtabHdr = NULL; + + // Locate .symtab and .strtab + for (int i = 0; i < ehdr->e_shnum; i++) + { + const char *secname = shstrtab + shdrs[i].sh_name; + if (strcmp(secname, ".symtab") == 0) + { + symtabHdr = &shdrs[i]; + } + else if (strcmp(secname, ".strtab") == 0) + { + strtabHdr = &shdrs[i]; + } + } + + if (!symtabHdr || !strtabHdr) + { + munmap(data, st.st_size); + return NULL; + } + + // Check if the binary is PIE (ET_DYN) + int isPie = (ehdr->e_type == ET_DYN); + uintptr_t base = isPie ? getBaseAddress() : 0; + + Elf32_Sym *symtab = (Elf32_Sym *)(data + symtabHdr->sh_offset); + const char *strtab = (const char *)(data + strtabHdr->sh_offset); + int numSyms = symtabHdr->sh_size / sizeof(Elf32_Sym); + + for (int i = 0; i < numSyms; i++) + { + const char *sym_name = strtab + symtab[i].st_name; + if (strcmp(sym_name, functionName) == 0) + { + uintptr_t addr = symtab[i].st_value; + munmap(data, st.st_size); + return (void *)(base + addr); + } + } + + munmap(data, st.st_size); + return NULL; +} diff --git a/src/lindbergh/flowControl.h b/src/lindbergh/flowControl.h new file mode 100644 index 0000000..bff39b5 --- /dev/null +++ b/src/lindbergh/flowControl.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +void setVariable(size_t address, size_t value); +void patchMemoryFromString(size_t address, char *value); +void detourFunction(size_t address, void *function); +void replaceCallAtAddress(size_t address, void *function); +void stubReturn(); +int stubRetZero(); +int stubRetOne(); +int stubRetMinusOne(); +char stubRetZeroChar(); +void *trampolineHook(void *target, void *replacement, size_t saveSize); +void *findStaticFnAddr(const char *functionName); \ No newline at end of file diff --git a/src/lindbergh/fps_limiter.c b/src/lindbergh/fpsLimiter.c similarity index 70% rename from src/lindbergh/fps_limiter.c rename to src/lindbergh/fpsLimiter.c index ceb9e43..95def85 100644 --- a/src/lindbergh/fps_limiter.c +++ b/src/lindbergh/fpsLimiter.c @@ -1,14 +1,24 @@ -#include #include +#include #include -#include "fps_limiter.h" +#include "config.h" +#include "fpsLimiter.h" -fps_limit fpsLimit; +FpsLimit fpsLimit; double lastTime = 0.0; int frameCount = 0; double fps = 0.0; +void initFpsLimiter() +{ + if (getConfig()->fpsLimiter == 1) + { + fpsLimit.targetFrameTime = 1000000 / getConfig()->fpsTarget; + fpsLimit.frameEnd = clockNow(); + } +} + double getTimeInMilliseconds() { struct timeval time; @@ -37,14 +47,21 @@ double calculateFps() return fps; } -long Clock_now() +long clockNow() { struct timeval time_now; gettimeofday(&time_now, NULL); return time_now.tv_sec * 1000000L + time_now.tv_usec; } -void FpsLimiter(fps_limit *stats) +void frameTiming() +{ + fpsLimit.frameStart = clockNow(); + fpsLimiter(&fpsLimit); + fpsLimit.frameEnd = clockNow(); +} + +void fpsLimiter(FpsLimit *stats) { stats->sleepTime = stats->targetFrameTime - (stats->frameStart - stats->frameEnd); @@ -54,7 +71,7 @@ void FpsLimiter(fps_limit *stats) usleep(adjustedSleep); - stats->frameOverhead = (Clock_now() - stats->frameStart) - adjustedSleep; + stats->frameOverhead = (clockNow() - stats->frameStart) - adjustedSleep; if (stats->frameOverhead > stats->targetFrameTime / 2) { diff --git a/src/lindbergh/fps_limiter.h b/src/lindbergh/fpsLimiter.h similarity index 76% rename from src/lindbergh/fps_limiter.h rename to src/lindbergh/fpsLimiter.h index e85ddf4..fa11a2d 100644 --- a/src/lindbergh/fps_limiter.h +++ b/src/lindbergh/fpsLimiter.h @@ -7,8 +7,10 @@ typedef struct long frameEnd; // End time of the frame long sleepTime; // Sleep time to maintain the frame rate long frameOverhead; // Overhead time in the frame -} fps_limit; +} FpsLimit; -long Clock_now(); -void FpsLimiter(fps_limit *stats); +void initFpsLimiter(); +long clockNow(); +void fpsLimiter(FpsLimit *stats); double calculateFps(); +void frameTiming(); diff --git a/src/lindbergh/gameControllerMappings.c b/src/lindbergh/gameControllerMappings.c new file mode 100644 index 0000000..a2480c5 --- /dev/null +++ b/src/lindbergh/gameControllerMappings.c @@ -0,0 +1,2583 @@ +#include + +void loadSDLControllerMappings() +{ + SDL_AddGamepadMapping("03000000c82d00001930000011010000,8BitDo " + "64,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:" + "b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11"); + SDL_AddGamepadMapping("05000000c82d00001930000001000000,8BitDo " + "64,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:" + "b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11"); + SDL_AddGamepadMapping( + "03000000c82d00000031000011010000,8BitDo " + "Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00000631000000010000,8BitDo Adapter " + "2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000951000000010000,8BitDo " + "Dogbone,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11"); + SDL_AddGamepadMapping( + "03000000021000000090000011010000,8BitDo FC30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000090000011010000,8BitDo FC30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00001038000000010000,8BitDo FC30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00006a28000000010000,8BitDo " + "GameCube,a:b0,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,paddle1:b9," + "paddle2:b8,rightshoulder:b10,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b1,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00001251000011010000,8BitDo Lite " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00001251000000010000,8BitDo Lite " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00001151000011010000,8BitDo Lite " + "SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00001151000000010000,8BitDo Lite " + "SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping("03000000c82d00000151000000010000,8BitDo " + "M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b6," + "righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00000650000011010000,8BitDo " + "M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1," + "rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("05000000c82d00005106000000010000,8BitDo " + "M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0," + "lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000c82d00000a20000000020000,8BitDo M30 " + "Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9," + "lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00002090000011010000,8BitDo " + "Micro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00002090000000010000,8BitDo " + "Micro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000451000000010000,8BitDo " + "N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11"); + SDL_AddGamepadMapping( + "03000000c82d00001590000011010000,8BitDo N30 Pro " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00006528000000010000,8BitDo N30 Pro " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping("03000000c82d00006928000011010000,8BitDo " + "N64,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11"); + SDL_AddGamepadMapping("05000000c82d00006928000000010000,8BitDo " + "N64,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11"); + SDL_AddGamepadMapping("05000000c82d00002590000001000000,8BitDo " + "NEOGEO,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6," + "leftstick:b13,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000008000000210000011010000,8BitDo " + "NES30,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6," + "rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000c82d00000310000011010000,8BitDo " + "NES30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b6," + "rightshoulder:b9,righttrigger:b8,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("05000000c82d00008010000000010000,8BitDo " + "NES30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b6," + "rightshoulder:b9,righttrigger:b8,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000022000000090000011010000,8BitDo NES30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000190000011010000,8BitDo NES30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000203800000900000000010000,8BitDo NES30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00002038000000010000,8BitDo NES30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping("03000000c82d00000751000000010000,8BitDo " + "P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a8," + "leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("05000000c82d00000851000000010000,8BitDo " + "P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a8," + "leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00000660000011010000,8BitDo Pro " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00001030000011010000,8BitDo Pro " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00000660000000010000,8BitDo Pro " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000020000000000000,8BitDo Pro 2 for " + "Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "06000000c82d00000020000006010000,8BitDo Pro 2 for " + "Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000131000011010000,8BitDo " + "Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000231000011010000,8BitDo " + "Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000331000011010000,8BitDo " + "Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000431000011010000,8BitDo " + "Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping("03000000c82d00002867000000010000,8BitDo " + "S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0," + "lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00000060000011010000,8BitDo SF30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00000060000000010000,8BitDo SF30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00000061000000010000,8BitDo SF30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "030000003512000012ab000010010000,8BitDo " + "SFC30,a:b2,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b0"); + SDL_AddGamepadMapping("030000003512000021ab000010010000,8BitDo " + "SFC30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:" + "a1,rightshoulder:b7,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d000021ab000010010000,8BitDo " + "SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000102800000900000000010000,8BitDo " + "SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00003028000000010000,8BitDo " + "SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping("05000000c82d00000351000000010000,8BitDo " + "SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1," + "rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000160000000000000,8BitDo SN30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000160000011010000,8BitDo SN30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000161000000000000,8BitDo SN30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00001290000011010000,8BitDo SN30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00000161000000010000,8BitDo SN30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00006228000000010000,8BitDo SN30 " + "Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000260000011010000,8BitDo SN30 Pro " + "Plus,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00000261000000010000,8BitDo SN30 Pro " + "Plus,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000202800000900000000010000,8BitDo " + "SNES30,a:b1,b:b0,back:b10,dpdown:b122,dpleft:b119,dpright:b120,dpup:b117,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "05000000c82d00001230000000010000,8BitDo " + "Ultimate,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00000a31000014010000,8BitDo Ultimate " + "2C,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00001d30000011010000,8BitDo Ultimate " + "2C,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,paddle1:b5,paddle2:b2,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000c82d00001b30000001000000,8BitDo Ultimate " + "2C,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,paddle1:b5,paddle2:b2,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00001530000011010000,8BitDo Ultimate " + "C,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00001630000011010000,8BitDo Ultimate " + "C,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00001730000011010000,8BitDo Ultimate " + "C,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000c82d00001130000011010000,8BitDo Ultimate " + "Wired,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6," + "leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b26,paddle1:b24,paddle2:b25,rightshoulder:b7," + "rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00000631000010010000,8BitDo Ultimate " + "Wireless,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000631000014010000,8BitDo Ultimate " + "Wireless,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00000760000011010000,8BitDo Ultimate " + "Wireless,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c82d00001230000011010000,8BitDo Ultimate " + "Wireless,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,paddle1:b2,paddle2:b5,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000c82d00001330000011010000,8BitDo Ultimate " + "Wireless,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6," + "leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b26,paddle1:b23,paddle2:b19,rightshoulder:b7," + "rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00000121000011010000,8BitDo Xbox One SN30 " + "Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000c82d00000121000000010000,8BitDo Xbox One SN30 " + "Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000a00500003232000001000000,8BitDo " + "Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000a00500003232000008010000,8BitDo " + "Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c82d00001890000011010000,8BitDo Zero " + "2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping("05000000c82d00003032000000010000,8BitDo Zero " + "2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1," + "rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping( + "03000000c01100000355000011010000,Acrux " + "Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00008801000011010000,Afterglow Deluxe Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00003901000000430000,Afterglow Prismatic " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00003901000013020000,Afterglow Prismatic Controller " + "048-007-NA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00001302000000010000,Afterglow Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00003901000020060000,Afterglow Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000100000008200000011010000,Akishop Customs " + "PS360,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4," + "lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000007c1800000006000010010000,Alienware Dual Compatible Game PlayStation " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "05000000491900000204000021000000,Amazon Fire " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b17,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b12,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000491900001904000011010000,Amazon Luna " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000710100001904000000010000,Amazon Luna " + "Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b7,lefttrigger:a5," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "0300000008100000e501000001010000,Anbernic " + "Handheld,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a4,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000020500000913000010010000,Anbernic RG " + "P01,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000373500000710000010010000,Anbernic RG " + "P01,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000373500004610000001000000,Anbernic RG " + "P01,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000190e00000110000010010000,Aquaplus Piece,a:b1,b:b0,back:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b2"); + SDL_AddGamepadMapping("03000000790000003018000011010000,Arcade Fightstick " + "F300,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000a30c00002700000011010000,Astro City " + "Mini,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("03000000a30c00002800000011010000,Astro City " + "Mini,a:b2,b:b1,back:b8,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "05000000050b00000045000031000000,ASUS " + "Gamepad,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,leftstick:b7,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000050b00000045000040000000,ASUS " + "Gamepad,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,leftstick:b7,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000050b00000579000011010000,ASUS ROG Kunai " + "3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:" + "b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b36,paddle1:b52,paddle2:b53,rightshoulder:b7,rightstick:b14," + "righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("05000000050b00000679000000010000,ASUS ROG Kunai " + "3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:" + "b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b21,paddle1:b22,paddle2:b23,rightshoulder:b7,rightstick:b14," + "righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000503200000110000000000000,Atari VCS Classic " + "Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3"); + SDL_AddGamepadMapping("03000000503200000110000011010000,Atari VCS Classic " + "Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3"); + SDL_AddGamepadMapping("05000000503200000110000000000000,Atari VCS Classic " + "Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3"); + SDL_AddGamepadMapping("05000000503200000110000044010000,Atari VCS Classic " + "Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3"); + SDL_AddGamepadMapping("05000000503200000110000046010000,Atari VCS Classic " + "Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3"); + SDL_AddGamepadMapping( + "03000000503200000210000000000000,Atari VCS Modern " + "Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a4,rightx:a2,righty:a3,start:b8,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000503200000210000011010000,Atari VCS Modern " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping( + "05000000503200000210000000000000,Atari VCS Modern " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping( + "05000000503200000210000045010000,Atari VCS Modern " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping( + "05000000503200000210000046010000,Atari VCS Modern " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping( + "05000000503200000210000047010000,Atari VCS Modern " + "Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:+" + "a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:-a4,rightx:a2,righty:a3,start:b8,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000008a3500000201000011010000,Backbone " + "One,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000008a3500000202000011010000,Backbone " + "One,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000008a3500000302000011010000,Backbone " + "One,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000008a3500000402000011010000,Backbone " + "One,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000c62400001b89000011010000,BDA MOGA XP5X " + "Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000d62000002a79000011010000,BDA PS4 " + "Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000c21100000791000011010000,Be1 GC101 Controller " + "1.03,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000c31100000791000011010000,Be1 GC101 Controller " + "1.03,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000005e0400008e02000003030000,Be1 GC101 Xbox " + "360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000bc2000004d50000011010000,Beitong A1T2 " + "BFM,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000bc2000000055000001000000,Betop AX1 " + "BFM,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000bc2000006412000011010000,Betop " + "Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b30,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("030000006b1400000209000011010000,Bigben,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1," + "leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11," + "righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000120c0000300e000011010000,Brook Audio Fighting Board " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000120c0000310e000011010000,Brook Audio Fighting Board " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000120c0000200e000011010000,Brook Mars PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000120c0000210e000011010000,Brook Mars PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000120c0000f70e000011010000,Brook Universal Fighting " + "Board,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000d81d00000b00000010010000,Buffalo " + "BSGP1601,a:b5,b:b3,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b8,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,misc1:b14,rightshoulder:b9,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b13,x:b4,y:b2"); + SDL_AddGamepadMapping( + "03000000e82000006058000001010000,Cideko " + "AK08b,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("03000000af1e00002400000010010000,Clockwork Pi " + "DevTerm,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("030000000b0400003365000000010000,Competition Pro,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3"); + SDL_AddGamepadMapping("03000000260900008888000000010000,Cyber Gadget GameCube " + "Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a4,leftx:a0,lefty:a1," + "rightshoulder:b6,righttrigger:a5,rightx:a2,righty:a3~,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000a306000022f6000011010000,Cyborg V3 " + "Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000002010000,Data Frog " + "S80,a:b1,b:b0,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000791d00000103000010010000,Dual Box Wii Classic " + "Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:" + "a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000006f0e00003001000001010000,EA Sports PS3 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000c11100000191000011010000,EasySMX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0." + "1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11," + "righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000242f00009100000000010000,EasySMX " + "ESM-9101,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006e0500000320000010010000,Elecom " + "U3613M,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1"); + SDL_AddGamepadMapping("030000006e0500000720000010010000,Elecom " + "W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping("030000007d0400000640000010010000,Eliminator " + "AfterShock,a:b1,b:b2,back:b9,dpdown:+a3,dpleft:-a5,dpright:+a5,dpup:-a3,leftshoulder:b4,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a4,righty:a2,start:b8,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000430b00000300000000010000,EMS Production PS2 " + "Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000006f0e00008401000011010000,Faceoff Deluxe Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00008101000011010000,Faceoff Deluxe Pro Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00008001000011010000,Faceoff Pro Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000852100000201000010010000,FF " + "GP1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "05000000b40400001224000001010000,Flydigi APEX " + "4,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b4,leftstick:b10,lefttrigger:a5,leftx:" + "a0,lefty:a1,misc1:b20,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000b40400001124000011010000,Flydigi Vader " + "2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12," + "lefttrigger:a5,leftx:a0,lefty:a1,misc1:b14,paddle1:b2,paddle2:b5,paddle3:b16,paddle4:b17,rightshoulder:" + "b7,rightstick:b13,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000b40400001224000011010000,Flydigi Vader " + "2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12," + "lefttrigger:a5,leftx:a0,lefty:a1,misc1:b2,paddle1:b16,paddle2:b17,paddle3:b14,paddle4:b15,rightshoulder:" + "b7,rightstick:b13,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("05000000151900004000000001000000,Flydigi Vader " + "2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:" + "b12,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b14,paddle1:b2,paddle2:b5,paddle3:b16,paddle4:b17," + "rightshoulder:b7,rightstick:b13,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("030000007e0500003703000000000000,GameCube " + "Adapter,a:b0,b:b1,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,lefttrigger:a2,leftx:a0,lefty:a1," + "rightshoulder:b6,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping( + "19000000030000000300000002030000,GameForce " + "Controller,a:b1,b:b0,back:b8,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b14,lefttrigger:b6," + "leftx:a1,lefty:a0,rightshoulder:b5,rightstick:b15,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000ac0500005b05000010010000,GameSir " + "G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000bc2000000055000011010000,GameSir " + "G3w,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000558500001b06000010010000,GameSir G4 " + "Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000ac0500002d0200001b010000,GameSir " + "G4s,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b33,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000ac0500007a05000011010000,GameSir " + "G5,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b16,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000373500009710000001020000,GameSir Kaleid " + "Flux,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000ac0500001a06000011010000,GameSir T3 " + "2.02,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000bc2000005656000011010000,GameSir " + "T4w,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000373500009410000010010000,GameSir Tegenaria " + "Lite,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "0500000047532047616d657061640000,GameStop " + "Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00000104000000010000,Gamestop Logic3 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000008f0e00000800000010010000,Gasia PlayStation " + "Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000451300000010000010010000,Genius Maxfire Grandias " + "12,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000f0250000c283000010010000,Gioteck VX2 PS3 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("190000004b4800000010000000010000,GO-Advance " + "Controller,a:b1,b:b0,back:b10,dpdown:b7,dpleft:b8,dpright:b9,dpup:b6,leftshoulder:b4,lefttrigger:b12," + "leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b13,start:b15,x:b2,y:b3"); + SDL_AddGamepadMapping("190000004b4800000010000001010000,GO-Advance " + "Controller,a:b1,b:b0,back:b12,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftshoulder:b4,leftstick:b13," + "lefttrigger:b14,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b16,righttrigger:b15,start:b17,x:b2,y:b3"); + SDL_AddGamepadMapping( + "190000004b4800000011000000010000,GO-Super " + "Gamepad,a:b0,b:b1,back:b12,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b16,leftshoulder:b4,leftstick:b14,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b15,righttrigger:b7,rightx:a2,righty:a3,start:b13,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000f0250000c183000010010000,Goodbetterbest " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000d11800000094000011010000,Google Stadia " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000d11800000094000000010000,Google Stadia " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "0300000079000000d418000000010000,GPD Win 2 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000001010000,GPD Win Max 2 6800U " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000007d0400000540000000010000,Gravis Eliminator " + "Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6," + "rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000280400000140000000010000,Gravis GamePad " + "Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6," + "rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000008f0e00000610000000010000,GreenAsia Electronics " + "Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000008f0e00001200000010010000,GreenAsia " + "Joystick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0," + "lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "0500000047532067616d657061640000,GS " + "gamepad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000f0250000c383000010010000,GT " + "VX2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("030000008a2e0000dd10000011010000,Hand Held Legend GC " + "Ultimate,a:b0,b:b2,back:b17,dpdown:b5,dpleft:b6,dpright:b7,dpup:b4,guide:b18,leftshoulder:b10,leftstick:" + "b8,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b19,misc2:b24,paddle1:b13,paddle2:b12,rightshoulder:b11," + "rightstick:b9,righttrigger:a4,rightx:a2,righty:a5,start:b16,x:b1,y:b3"); + SDL_AddGamepadMapping("030000008a2e0000df10000011010000,Hand Held Legend " + "ProGCC,a:b1,b:b0,back:b17,dpdown:b5,dpleft:b6,dpright:b7,dpup:b4,guide:b18,leftshoulder:b10,leftstick:b8," + "lefttrigger:a3,leftx:a0,lefty:a1,misc1:b19,paddle1:b13,paddle2:b12,rightshoulder:b11,rightstick:b9," + "righttrigger:a4,rightx:a2,righty:a5,start:b16,x:b3,y:b2"); + SDL_AddGamepadMapping( + "06000000adde0000efbe000002010000,Hidromancer " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000d81400000862000011010000,HitBox PS3 PC Analog " + "Mode,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b9,leftshoulder:b4,lefttrigger:" + "b6,rightshoulder:b5,righttrigger:b7,start:b12,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000c9110000f055000011010000,HJC " + "Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00006d00000020010000,Hori EDGE " + "301,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:+a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:+a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00008400000011010000,Hori Fighting " + "Commander,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00005f00000011010000,Hori Fighting Commander 4 " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1," + "rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00005e00000011010000,Hori Fighting Commander 4 " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1," + "rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00005001000009040000,Hori Fighting Commander Octa Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00008500000010010000,Hori Fighting Commander " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00008600000002010000,Hori Fighting Commander Xbox " + "360,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("030000000d0f00003701000013010000,Hori Fighting Stick " + "Mini,a:b1,b:b0,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4," + "lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping("030000000d0f00008800000011010000,Hori Fighting Stick mini 4 " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:" + "b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("030000000d0f00008700000011010000,Hori Fighting Stick mini 4 " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:" + "b10,lefttrigger:a3,rightshoulder:b5,rightstick:b11,righttrigger:a4,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping("030000000d0f00001000000011010000,Hori Fightstick " + "3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:" + "b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000ad1b000003f5000033050000,Hori Fightstick " + "VX,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b8,guide:b10,leftshoulder:b4," + "lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00004d00000011010000,Hori Gem Pad " + "3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000ad1b000001f5000033050000,Hori Pad EX Turbo " + "2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000000d0f00003801000011010000,Hori PC Engine Mini " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9"); + SDL_AddGamepadMapping("030000000d0f00009200000011010000,Hori Pokken Tournament DX " + "Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6," + "rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00001100000011010000,Hori Real Arcade Pro " + "3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("030000000d0f00002200000011010000,Hori Real Arcade Pro " + "3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:" + "b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00006a00000011010000,Hori Real Arcade Pro " + "4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00006b00000011010000,Hori Real Arcade Pro " + "4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("030000000d0f00001600000000010000,Hori Real Arcade Pro " + "EXSE,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4," + "lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f0000aa00000011010000,Hori Real Arcade Pro for Nintendo " + "Switch,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000000d0f00008501000017010000,Hori Split Pad " + "Fit,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00008501000015010000,Hori Switch Split Pad " + "Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00006e00000011010000,Horipad 4 " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00006600000011010000,Horipad 4 " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f0000ee00000011010000,Horipad Mini " + "4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f0000c100000011010000,Horipad Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00006700000001010000,Horipad " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000000d0f0000ab01000011010000,Horipad " + "Steam,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6," + "leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc2:b2,paddle1:b19,paddle2:b18,paddle3:b15,paddle4:b5," + "rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("050000000d0f00009601000091000000,Horipad " + "Steam,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6," + "leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc2:b2,paddle1:b19,paddle2:b18,paddle3:b15,paddle4:b5," + "rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000000d0f0000f600000001000000,Horipad Switch Pro " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000341a000005f7000010010000,HuiJia GameCube Controller " + "Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1," + "rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("05000000242e00000b20000001000000,Hyperkin Admiral N64 " + "Controller,+rightx:b11,+righty:b13,-rightx:b8,-righty:b12,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2," + "dpup:h0.1,leftshoulder:b4,lefttrigger:b14,leftx:a0,lefty:a1,rightshoulder:b5,start:b9"); + SDL_AddGamepadMapping("03000000242e0000ff0b000011010000,Hyperkin N64 " + "Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightx:a2,righty:a3,start:b9"); + SDL_AddGamepadMapping("03000000242e00006a38000010010000,Hyperkin Trooper " + "2,a:b0,b:b1,back:b4,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b3,start:b5"); + SDL_AddGamepadMapping( + "03000000242e00008816000001010000,Hyperkin " + "X91,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000f00300008d03000011010000,HyperX " + "Clutch,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000830500006020000010010000,iBuffalo Super Famicom " + "Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping("030000008f0e00001330000001010000,iCode Retro " + "Adapter,b:b3,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b9,lefttrigger:" + "b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b1,start:b7,x:b2,y:b0"); + SDL_AddGamepadMapping( + "050000006964726f69643a636f6e0000,idroidcon " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000b50700001503000010010000,Impact,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1," + "leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11," + "righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000d80400008200000003000000,IMS PCU0,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b5,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000120c00000500000010010000,InterAct " + "AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000ef0500000300000000010000,InterAct " + "AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1"); + SDL_AddGamepadMapping("03000000fd0500000030000000010000,InterAct " + "GoPad,a:b3,b:b4,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000fd0500002a26000000010000,InterAct HammerHead " + "FX,a:b3,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b2,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b5,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b1"); + SDL_AddGamepadMapping( + "0500000049190000020400001b010000,Ipega PG " + "9069,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b161,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000632500007505000011010000,Ipega PG " + "9099,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "0500000049190000030400001b010000,Ipega " + "PG9099,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000491900000204000000000000,Ipega " + "PG9118,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000300f00001101000010010000,Jess Tech Colour Rumble " + "Pad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:" + "a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000300f00001001000010010000,Jess Tech Dual Analog " + "Rumble,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0," + "lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000300f00000b01000010010000,Jess Tech GGE909 PC " + "Recoil,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("03000000ba2200002010000001010000,Jess Technology " + "Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("030000007e0500000620000001000000,Joy-Con " + "(L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10," + "rightshoulder:b5,start:b8,x:b2,y:b3"); + SDL_AddGamepadMapping("050000007e0500000620000001000000,Joy-Con " + "(L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10," + "rightshoulder:b5,start:b8,x:b2,y:b3"); + SDL_AddGamepadMapping("030000007e0500000720000001000000,Joy-Con " + "(R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11," + "rightshoulder:b5,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("050000007e0500000720000001000000,Joy-Con " + "(R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11," + "rightshoulder:b5,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000bd12000003c0000010010000,Joypad Alpha " + "Shock,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000242f00002d00000011010000,JYS " + "Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000242f00008a00000011010000,JYS " + "Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00000103000000020000,Logic3 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006d040000d1ca000000000000,Logitech " + "Chillstream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006d040000d1ca000011010000,Logitech " + "Chillstream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006d04000019c2000010010000,Logitech Cordless RumblePad " + "2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006d04000016c2000010010000,Logitech Dual " + "Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006d04000016c2000011010000,Logitech Dual " + "Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006d0400001dc2000014400000,Logitech " + "F310,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006d0400001ec2000019200000,Logitech " + "F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006d0400001ec2000020200000,Logitech " + "F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006d04000019c2000011010000,Logitech " + "F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006d0400001fc2000005030000,Logitech " + "F710,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006d04000018c2000010010000,Logitech RumblePad " + "2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006d04000011c2000010010000,Logitech WingMan Cordless " + "RumblePad,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b6,lefttrigger:b9,leftx:a0,lefty:" + "a1,rightshoulder:b7,righttrigger:b10,rightx:a3,righty:a4,start:b8,x:b3,y:b4"); + SDL_AddGamepadMapping("030000006d0400000ac2000010010000,Logitech WingMan " + "RumblePad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:" + "b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,rightx:a3,righty:a4,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000380700006652000025010000,Mad Catz " + "CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000380700008532000010010000,Mad Catz " + "Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "lefttrigger:b5,rightshoulder:b6,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700005032000011010000,Mad Catz Fightpad Pro " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700005082000011010000,Mad Catz Fightpad Pro " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000ad1b00002ef0000090040000,Mad Catz Fightpad " + "SFxT,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4," + "lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000380700008031000011010000,Mad Catz FightStick Alpha " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700008081000011010000,Mad Catz FightStick Alpha " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700008034000011010000,Mad Catz Fightstick " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1," + "rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700008084000011010000,Mad Catz Fightstick " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1," + "rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700008433000011010000,Mad Catz Fightstick TE S " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700008483000011010000,Mad Catz Fightstick TE S " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700001888000010010000,Mad Catz " + "Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700003888000010010000,Mad Catz " + "Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:a0,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000380700001647000010040000,Mad Catz Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000380700003847000090040000,Mad Catz Xbox 360 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000ad1b000016f0000090040000,Mad Catz Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000120c00000500000000010000,Manta DualShock " + "2,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("030000008f0e00001330000010010000,Mayflash Controller " + "Adapter,a:b1,b:b2,back:b8,dpdown:h0.8,dpleft:h0.2,dpright:h0.1,dpup:h0.4,leftshoulder:b6,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b7,rightx:a3~,righty:a2,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000790000004318000010010000,Mayflash GameCube " + "Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1," + "rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000790000004418000010010000,Mayflash GameCube " + "Controller,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1," + "rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000242f00007300000011010000,Mayflash Magic " + "NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3"); + SDL_AddGamepadMapping( + "0300000079000000d218000011010000,Mayflash Magic " + "NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000d620000010a7000011010000,Mayflash Magic " + "NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000242f0000f700000001010000,Mayflash Magic S " + "Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000008f0e00001030000010010000,Mayflash Saturn " + "Adapter,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:b7," + "rightshoulder:b6,righttrigger:b2,start:b9,x:b3,y:b4"); + SDL_AddGamepadMapping( + "0300000025090000e803000001010000,Mayflash Wii Classic " + "Adapter,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a4,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:a5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000790000000318000011010000,Mayflash Wii " + "DolphinBar,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000790000000018000011010000,Mayflash Wii U Pro " + "Adapter,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000b50700001203000010010000,Mega World Logic 3 " + "Controller,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0," + "lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000b50700004f00000000010000,Mega World Logic 3 " + "Controller,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0," + "lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000780000000600000010010000,Microntek " + "Joystick,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("030000005e0400002800000000010000,Microsoft Dual " + "Strike,a:b3,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8," + "rightshoulder:b7,rightx:a0,righty:a1~,start:b5,x:b1,y:b0"); + SDL_AddGamepadMapping("030000005e0400000300000000010000,Microsoft " + "SideWinder,a:b0,b:b1,back:b9,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5," + "righttrigger:b2,start:b8,x:b3,y:b4"); + SDL_AddGamepadMapping("030000005e0400000700000000010000,Microsoft " + "SideWinder,a:b0,b:b1,back:b8,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5," + "righttrigger:b2,start:b9,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000005e0400000e00000000010000,Microsoft SideWinder Freestyle " + "Pro,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,rightshoulder:b7,start:b8,x:b3,y:b4"); + SDL_AddGamepadMapping("030000005e0400002700000000010000,Microsoft SideWinder Plug and " + "Play,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,righttrigger:b5,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008502000000010000,Microsoft " + "Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:" + "a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000005e0400008902000021010000,Microsoft " + "Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:" + "a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000005e0400008e02000001000000,Microsoft Xbox " + "360,a:b0,b:b1,back:b6,dpdown:h0.1,dpleft:h0.2,dpright:h0.8,dpup:h0.4,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000004010000,Microsoft Xbox " + "360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000056210000,Microsoft Xbox " + "360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000062230000,Microsoft Xbox " + "360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000d102000001010000,Microsoft Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000d102000003020000,Microsoft Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000dd02000003020000,Microsoft Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000ea02000008040000,Microsoft Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000ea0200000f050000,Microsoft Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000120b000009050000,Microsoft Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000e302000003020000,Microsoft Xbox One " + "Elite,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000005e040000000b000007040000,Microsoft Xbox One Elite " + "2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9," + "lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b12,paddle2:b14,paddle3:b13,paddle4:b15,rightshoulder:b5," + "rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000005e040000000b000008040000,Microsoft Xbox One Elite " + "2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9," + "lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b12,paddle2:b14,paddle3:b13,paddle4:b15,rightshoulder:b5," + "rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000005e040000050b000003090000,Microsoft Xbox One Elite " + "2,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("050000005e0400008e02000030110000,Microsoft Xbox One Elite " + "2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9," + "lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b13,paddle3:b12,paddle4:b14,rightshoulder:b5," + "rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b00000b050000,Microsoft Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000016050000,Microsoft Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000017050000,Microsoft Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000120b000001050000,Microsoft Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000030000000300000002000000,Miroof,a:b1,b:b0,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000790000001c18000010010000,Mobapad Chitu " + "HD,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000004d4f435554452d3035335800,Mocute " + "053X,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000e80400006e0400001b010000,Mocute 053X " + "M59,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000004d4f435554452d3035305800,Mocute " + "054X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000d6200000e589000001000000,Moga " + "2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping("05000000d6200000ad0d000001000000,Moga " + "Pro,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000d62000007162000001000000,Moga Pro " + "2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c62400002b89000011010000,MOGA XP5A " + "Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000c62400002a89000000010000,MOGA XP5A " + "Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b22,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000c62400001a89000000010000,MOGA XP5X " + "Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000250900006688000000010000,MP8866 Super Dual " + "Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000005e0400008e02000010020000,MSI GC20 " + "V2,a:b0,b:b1,back:b6,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000f70600000100000000010000,N64 " + "Adaptoid,+rightx:b2,+righty:b1,-rightx:b4,-righty:b5,a:b0,b:b3,dpdown:b11,dpleft:b12,dpright:b13,dpup:" + "b10,leftshoulder:b6,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b7,start:b8"); + SDL_AddGamepadMapping( + "030000006b1400000906000014010000,Nacon Asymmetric Wireless PS4 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006b140000010c000010010000,Nacon GC " + "400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000853200000706000012010000,Nacon " + "GC-100,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000853200000503000000010000,Nacon MG-X " + "Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "0300000085320000170d000011010000,Nacon Revolution 5 " + "Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "0300000085320000190d000011010000,Nacon Revolution 5 " + "Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000000d0f00000900000010010000,Natec Genesis " + "P44,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("030000004f1f00000800000011010000,NeoGeo " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("0300000092120000474e000000010000,NeoGeo X Arcade " + "Stick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping("03000000790000004518000010010000,Nexilux GameCube Controller " + "Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1," + "rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("030000001008000001e5000010010000,NEXT SNES " + "Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5," + "righttrigger:b6,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("060000007e0500003713000000000000,Nintendo " + "3DS,a:b0,b:b1,back:b8,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b4,leftx:a0,lefty:a1," + "rightshoulder:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping("030000007e0500003703000000016800,Nintendo GameCube " + "Controller,a:b0,b:b2,dpdown:b6,dpleft:b4,dpright:b5,dpup:b7,lefttrigger:a4,leftx:a0,lefty:a1~," + "rightshoulder:b9,righttrigger:a5,rightx:a2,righty:a3~,start:b8,x:b1,y:b3"); + SDL_AddGamepadMapping("03000000790000004618000010010000,Nintendo GameCube Controller " + "Adapter,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:b4,leftx:a0,lefty:a1," + "rightshoulder:b7,righttrigger:b5,rightx:a5~,righty:a2~,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("030000007e0500006920000011010000,Nintendo Switch 2 Pro " + "Controller,a:b0,b:b1,back:b14,dpdown:b8,dpleft:b10,dpright:b9,dpup:b11,guide:b16,leftshoulder:b12," + "leftstick:b15,lefttrigger:b13,leftx:a0,lefty:a1~,misc1:b17,misc2:b20,paddle1:b18,paddle2:b19," + "rightshoulder:b4,rightstick:b7,righttrigger:b5,rightx:a2,righty:a3~,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000004e696e74656e646f20537700,Nintendo Switch Combined " + "Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7," + "leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2"); + SDL_AddGamepadMapping( + "060000007e0500000620000000000000,Nintendo Switch Combined " + "Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7," + "leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2"); + SDL_AddGamepadMapping( + "060000007e0500000820000000000000,Nintendo Switch Combined " + "Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7," + "leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000004c69632050726f20436f6e00,Nintendo Switch " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000007e0500000620000001800000,Nintendo Switch Left " + "Joy-Con,a:b16,b:b15,back:b4,leftshoulder:b6,leftstick:b12,leftx:a1,lefty:a0~,rightshoulder:b8,start:b9,x:b14,y:b17"); + SDL_AddGamepadMapping( + "030000007e0500000920000000026803,Nintendo Switch Pro " + "Controller,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4," + "leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b3,y:b2"); + SDL_AddGamepadMapping( + "030000007e0500000920000011810000,Nintendo Switch Pro " + "Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:" + "b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000007e0500000920000001000000,Nintendo Switch Pro " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000007e0500000920000001800000,Nintendo Switch Pro " + "Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:" + "b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2"); + SDL_AddGamepadMapping("050000007e0500000720000001800000,Nintendo Switch Right " + "Joy-Con,a:b1,b:b2,back:b9,leftshoulder:b4,leftstick:b10,leftx:a1~,lefty:a0,rightshoulder:b6,start:b8,x:b0,y:b3"); + SDL_AddGamepadMapping( + "05000000010000000100000003000000,Nintendo Wii " + "Remote,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("0500be607e0500000603000000060000,Nintendo Wii Remote " + "2,a:b0,b:b1,back:b4,dpdown:b8,dpleft:b6,dpright:b7,dpup:b5,guide:b2,start:b3,x:b9,y:b10"); + SDL_AddGamepadMapping( + "050000007e0500003003000001000000,Nintendo Wii U Pro " + "Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000005a1d00000218000003000000,Nokia GC " + "5000,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000000d0500000308000010010000,Nostromo n45 Dual " + "Analog,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5," + "leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3"); + SDL_AddGamepadMapping("030000007e0500007320000011010000,NSO GameCube " + "Controller,a:b1,b:b3,dpdown:b8,dpleft:b10,dpright:b9,dpup:b11,guide:b16,leftshoulder:b13,lefttrigger:b12," + "leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b4,rightx:a2,righty:a3~,start:b6,x:b0,y:b2"); + SDL_AddGamepadMapping( + "030000007e0500001920000011810000,NSO N64 " + "Controller,+rightx:b2,+righty:b3,-rightx:b4,-righty:b10,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12," + "leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,misc1:b5,rightshoulder:b7,righttrigger:b9,start:b11"); + SDL_AddGamepadMapping( + "050000007e0500001920000001000000,NSO N64 " + "Controller,+rightx:b8,+righty:b7,-rightx:b3,-righty:b2,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12," + "leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,righttrigger:b10,start:b9"); + SDL_AddGamepadMapping( + "050000007e0500001920000001800000,NSO N64 " + "Controller,+rightx:b2,+righty:b3,-rightx:b4,-righty:b10,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12," + "leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,misc1:b5,rightshoulder:b7,righttrigger:b9,start:b11"); + SDL_AddGamepadMapping( + "030000007e0500001e20000011810000,NSO Sega Genesis " + "Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,misc1:b3,rightshoulder:b2,righttrigger:b4,start:b5"); + SDL_AddGamepadMapping("030000007e0500001720000011810000,NSO SNES " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:" + "b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping("050000007e0500001720000001000000,NSO SNES " + "Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:" + "b7,rightshoulder:b6,righttrigger:b8,start:b10,x:b3,y:b2"); + SDL_AddGamepadMapping("050000007e0500001720000001800000,NSO SNES " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:" + "b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000550900001072000011010000,NVIDIA " + "Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b8,lefttrigger:a5,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000550900001472000011010000,NVIDIA " + "Controller,a:b0,b:b1,back:b14,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b4,leftstick:b7,lefttrigger:" + "a3,leftx:a0,lefty:a1,misc1:b8,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000550900001472000001000000,NVIDIA " + "Controller,a:b0,b:b1,back:b14,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b4,leftstick:b7,lefttrigger:" + "a3,leftx:a0,lefty:a1,misc1:b8,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000004b120000014d000000010000,NYKO Airflo " + "EX,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000451300000830000010010000,NYKO " + "CORE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("19000000010000000100000001010000,ODROID Go " + "2,a:b1,b:b0,dpdown:b7,dpleft:b8,dpright:b9,dpup:b6,guide:b10,leftshoulder:b4,leftstick:b12,lefttrigger:" + "b11,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b13,righttrigger:b14,start:b15,x:b2,y:b3"); + SDL_AddGamepadMapping("19000000010000000200000011000000,ODROID Go " + "2,a:b1,b:b0,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b12,leftshoulder:b4,leftstick:b14,lefttrigger:" + "b13,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b15,righttrigger:b16,start:b17,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000362800000100000002010000,OUYA " + "Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2"); + SDL_AddGamepadMapping( + "05000000362800000100000003010000,OUYA " + "Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2"); + SDL_AddGamepadMapping( + "05000000362800000100000004010000,OUYA " + "Controller,a:b0,b:b3,back:b14,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftshoulder:b4,leftstick:b6,lefttrigger:b12,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b13,rightx:a3,righty:a4,start:b16,x:b1,y:b2"); + SDL_AddGamepadMapping( + "03000000830500005020000010010000,Padix Rockfire PlayStation " + "Bridge,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000ff1100003133000010010000,PC " + "Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000006f0e0000b802000001010000,PDP Afterglow Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000b802000013020000,PDP Afterglow Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00006401000001010000,PDP Battlefield " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000d702000006640000,PDP Black Camo Wired Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:b13,dpleft:b14,dpright:b13,dpup:b14,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00003101000000010000,PDP EA Sports " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00008501000011010000,PDP Fightpad Pro Gamecube " + "Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000c802000012010000,PDP Kingdom Hearts " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00002801000011010000,PDP PS3 Rock Candy " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("030000006f0e00000901000011010000,PDP PS3 Versus " + "Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00002f01000011010000,PDP Wired PS3 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000ad1b000004f9000000010000,PDP Xbox 360 Versus " + "Fighting,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4," + "lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000f102000000000000,PDP Xbox " + "Atomic,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000a802000023020000,PDP Xbox One " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000a702000023020000,PDP Xbox One Raven " + "Black,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000d802000006640000,PDP Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e0000ef02000007640000,PDP Xbox Series Kinetic Wired " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000c62400000053000000010000,PowerA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1," + "guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10," + "righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c62400003a54000001010000,PowerA " + "1428124-01,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000540000001010000,PowerA Advantage Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d620000011a7000011010000,PowerA Core " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000dd62000015a7000011010000,PowerA Fusion Nintendo Switch Arcade " + "Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000d620000012a7000011010000,PowerA Fusion Nintendo Switch Fight " + "Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000140000001010000,PowerA Fusion Pro 2 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000dd62000016a7000000000000,PowerA Fusion Pro Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000c62400001a53000000010000,PowerA Mini Pro " + "Ex,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d620000013a7000011010000,PowerA Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000006dca000011010000,PowerA Pro " + "Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000d620000014a7000011010000,PowerA Spectra Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000c62400001a58000001010000,PowerA Xbox " + "One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000220000001010000,PowerA Xbox One " + "Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000228000001010000,PowerA Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c62400001a54000001010000,PowerA Xbox One Mini " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000240000001010000,PowerA Xbox One Spectra " + "Infinity,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000520000050010000,PowerA Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000b20000001010000,PowerA Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000d62000000f20000001010000,PowerA Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b7,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006d040000d2ca000011010000,Precision " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000250900000017000010010000,PS/SS/N64 " + "Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b5,lefttrigger:b9,leftx:a0," + "lefty:a1,rightshoulder:b7,rightx:a2~,righty:a3,start:b8"); + SDL_AddGamepadMapping("03000000ff1100004133000010010000,PS2 " + "Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7," + "righttrigger:b5,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000341a00003608000011010000,PS3 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004c0500006802000010010000,PS3 " + "Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12"); + SDL_AddGamepadMapping( + "030000004c0500006802000010810000,PS3 " + "Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "030000004c0500006802000011010000,PS3 " + "Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12"); + SDL_AddGamepadMapping( + "030000004c0500006802000011810000,PS3 " + "Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "030000005f1400003102000010010000,PS3 " + "Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000006f0e00001402000011010000,PS3 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000008f0e00000300000010010000,PS3 " + "Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "050000004c0500006802000000000000,PS3 " + "Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12"); + SDL_AddGamepadMapping( + "050000004c0500006802000000010000,PS3 " + "Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:a12," + "leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:a13,rightx:a2,righty:a3,start:b3,x:b15,y:b12"); + SDL_AddGamepadMapping( + "050000004c0500006802000000800000,PS3 " + "Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000004c0500006802000000810000,PS3 " + "Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "05000000504c415953544154494f4e00,PS3 " + "Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12"); + SDL_AddGamepadMapping( + "060000004c0500006802000000010000,PS3 " + "Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12"); + SDL_AddGamepadMapping( + "030000004c050000a00b000011010000,PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004c050000a00b000011810000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "030000004c050000c405000000810000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "030000004c050000c405000011010000,PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004c050000c405000011810000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "030000004c050000cc09000000010000,PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004c050000cc09000011010000,PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004c050000cc09000011810000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000c01100000140000011010000,PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "050000004c050000c405000000010000,PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "050000004c050000c405000000810000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000004c050000c405000001800000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000004c050000cc09000000010000,PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "050000004c050000cc09000000810000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000004c050000cc09000001800000,PS4 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping("0300004b4c0500005f0e000011010000,PS5 Access " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b14,rightshoulder:b5,rightstick:b11,righttrigger:a4," + "rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping("030000004c050000e60c000011010000,PS5 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b14,rightshoulder:b5,rightstick:b11,righttrigger:a4," + "rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004c050000e60c000011810000,PS5 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping("030000004c050000f20d000011010000,PS5 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b14,rightshoulder:b5,rightstick:b11,righttrigger:a4," + "rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004c050000f20d000011810000,PS5 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000004c050000e60c000000010000,PS5 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "050000004c050000e60c000000810000,PS5 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "050000004c050000f20d000000010000,PS5 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "050000004c050000f20d000000810000,PS5 " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping("03000000300f00001211000011010000,Qanba Arcade " + "Joystick,a:b2,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5," + "lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b9,x:b1,y:b3"); + SDL_AddGamepadMapping( + "03000000222c00000225000011010000,Qanba Dragon Arcade Joystick " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000222c00000025000011010000,Qanba Dragon Arcade Joystick " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000222c00001220000011010000,Qanba Drone 2 Arcade Joystick " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000222c00001020000011010000,Qanba Drone 2 Arcade Joystick " + "PS5,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000222c00000020000011010000,Qanba Drone Arcade PS4 " + "Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "leftstick:b10,lefttrigger:a3,rightshoulder:b5,righttrigger:a4,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000300f00001210000010010000,Qanba Joystick " + "Plus,a:b0,b:b1,back:b8,leftshoulder:b5,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b6,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000222c00000223000011010000,Qanba Obsidian Arcade Joystick " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000222c00000023000011010000,Qanba Obsidian Arcade Joystick " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping("030000009b2800000300000001010000,Raphnet " + "4nes4snes,a:b0,b:b4,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5"); + SDL_AddGamepadMapping( + "030000009b2800004200000001010000,Raphnet Dual NES Adapter,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3"); + SDL_AddGamepadMapping("0300132d9b2800006500000000000000,Raphnet GameCube " + "Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1," + "rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8"); + SDL_AddGamepadMapping("0300132d9b2800006500000001010000,Raphnet GameCube " + "Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1," + "rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8"); + SDL_AddGamepadMapping("030000009b2800003200000001010000,Raphnet GC and N64 " + "Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1," + "rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8"); + SDL_AddGamepadMapping("030000009b2800006000000001010000,Raphnet GC and N64 " + "Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1," + "rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8"); + SDL_AddGamepadMapping("030000009b2800003c00000001010000,Raphnet N64 " + "Adapter,+rightx:b9,+righty:b7,-rightx:b8,-righty:b6,a:b0,b:b1,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10," + "leftshoulder:b4,lefttrigger:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b3"); + SDL_AddGamepadMapping("030000009b2800006100000001010000,Raphnet N64 " + "Adapter,+rightx:b9,+righty:b7,-rightx:b8,-righty:b6,a:b0,b:b1,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10," + "leftshoulder:b4,lefttrigger:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b3"); + SDL_AddGamepadMapping("030000009b2800006300000001010000,Raphnet N64 " + "Adapter,+rightx:b9,+righty:b7,-rightx:b8,-righty:b6,a:b0,b:b1,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10," + "leftshoulder:b4,lefttrigger:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b3"); + SDL_AddGamepadMapping("030000009b2800006400000001010000,Raphnet N64 " + "Adapter,+rightx:b9,+righty:b7,-rightx:b8,-righty:b6,a:b0,b:b1,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10," + "leftshoulder:b4,lefttrigger:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b3"); + SDL_AddGamepadMapping( + "030000009b2800008000000020020000,Raphnet Wii Classic " + "Adapter,a:b1,b:b4,back:b2,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b5"); + SDL_AddGamepadMapping( + "030000009b2800008000000001010000,Raphnet Wii Classic Adapter " + "V3,a:b1,b:b4,back:b2,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b5"); + SDL_AddGamepadMapping( + "03000000f8270000bf0b000011010000,Razer " + "Kishi,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000008916000001fd000024010000,Razer Onza Classic " + "Edition,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000204000011010000,Razer Panthera " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000104000011010000,Razer Panthera " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000810000011010000,Razer Panthera PS4 Evo Arcade " + "Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000010000011010000,Razer " + "Raiju,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000507000000010000,Razer Raiju " + "Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000321500000a10000001000000,Razer Raiju Tournament " + "Edition,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000011000011010000,Razer Raion PS4 " + "Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000008916000000fe000024010000,Razer " + "Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c6240000045d000024010000,Razer " + "Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c6240000045d000025010000,Razer " + "Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000009000011010000,Razer " + "Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000003215000000090000163a0000,Razer " + "Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "0300000032150000030a000001010000,Razer " + "Wildcat,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000321500000b10000011010000,Razer Wolverine PS5 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "0300000032150000140a000001010000,Razer Wolverine Ultimate " + "Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000000d0f0000c100000010010000,Retro Bit " + "Legacy16,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b12,leftshoulder:b4," + "lefttrigger:b6,misc1:b13,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("030000000d0f0000c100000072056800,Retro Bit " + "Legacy16,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b5,leftshoulder:b9," + "lefttrigger:+a4,misc1:b11,rightshoulder:b10,righttrigger:+a5,start:b6,x:b3,y:b2"); + SDL_AddGamepadMapping("03000000790000001100000010010000,Retro " + "Controller,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7," + "rightshoulder:b4,righttrigger:b5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "0300000003040000c197000011010000,Retrode " + "Adapter,a:b0,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b1,y:b5"); + SDL_AddGamepadMapping( + "190000004b4800000111000000010000,RetroGame " + "Joypad,a:b1,b:b0,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("0300000081170000990a000001010000,Retronic Adapter,a:b0,leftx:a0,lefty:a1"); + SDL_AddGamepadMapping("0300000000f000000300000000010000,RetroPad,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1," + "rightshoulder:b7,start:b3,x:b0,y:b4"); + SDL_AddGamepadMapping("00000000526574726f53746f6e653200,RetroStone 2 " + "Controller,a:b1,b:b0,back:b10,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,leftshoulder:b6,lefttrigger:b8," + "rightshoulder:b7,righttrigger:b9,start:b11,x:b4,y:b3"); + SDL_AddGamepadMapping("03000000341200000400000000010000,RetroUSB N64 " + "RetroPort,+rightx:b8,+righty:b10,-rightx:b9,-righty:b11,a:b7,b:b6,dpdown:b2,dpleft:b1,dpright:b0,dpup:b3," + "leftshoulder:b13,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b12,start:b4"); + SDL_AddGamepadMapping( + "030000006b140000010d000011010000,Revolution Pro " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006b140000130d000011010000,Revolution Pro Controller " + "3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00001f01000000010000,Rock " + "Candy,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00008701000011010000,Rock Candy Nintendo Switch " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00001e01000011010000,Rock Candy PS3 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000c6240000fefa000000010000,Rock Candy Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000006f0e00004601000001010000,Rock Candy Xbox One " + "Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00001311000011010000,Saffun " + "Controller,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b0"); + SDL_AddGamepadMapping( + "03000000a306000023f6000011010000,Saitek Cyborg PlayStation " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000a30600001005000000010000,Saitek " + "P150,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b7,lefttrigger:b6,rightshoulder:" + "b2,righttrigger:b5,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000a30600000701000000010000,Saitek " + "P220,a:b2,b:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:" + "b4,righttrigger:b5,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000a30600000cff000010010000,Saitek P2500 Force " + "Rumble,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000a30600000d5f000010010000,Saitek " + "P2600,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1," + "rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000a30600000c04000011010000,Saitek " + "P2900,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b6,leftstick:b10,lefttrigger:b4," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b12,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000a306000018f5000010010000,Saitek P3200 " + "Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000300f00001201000010010000,Saitek " + "P380,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:" + "a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1"); + SDL_AddGamepadMapping("03000000a30600000901000000010000,Saitek " + "P880,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,x:b0,y:b1"); + SDL_AddGamepadMapping( + "03000000a30600000b04000000010000,Saitek P990 Dual " + "Analog,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000a306000020f6000011010000,Saitek PS2700 " + "Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("05000000e804000000a000001b010000,Samsung " + "EIGP20,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftx:" + "a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000d81d00000e00000010010000,Savior,a:b0,b:b1,back:b8,leftshoulder:b6,leftstick:b10,lefttrigger:b7," + "leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b11,righttrigger:b3,start:b9,x:b4,y:b5"); + SDL_AddGamepadMapping( + "03000000952e00004b43000011010000,Scuf " + "Envision,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a3," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000952e00004d43000011010000,Scuf " + "Envision,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a3," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000952e00004e43000011010000,Scuf " + "Envision,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a3," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000a30c00002500000011010000,Sega Genesis Mini 3B " + "Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9"); + SDL_AddGamepadMapping("03000000790000001100000011010000,Sega " + "Saturn,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7," + "rightshoulder:b5,righttrigger:b4,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000790000002201000011010000,Sega " + "Saturn,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5," + "rightshoulder:b6,righttrigger:b7,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000b40400000a01000000010000,Sega " + "Saturn,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:" + "b5,righttrigger:b2,start:b8,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000632500002305000010010000,ShanWan " + "Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000632500002605000010010000,Shanwan " + "Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000632500007505000010010000,Shanwan " + "Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000bc2000000055000010010000,Shanwan " + "Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000f025000021c1000010010000,Shanwan Gioteck PS3 " + "Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("03000000341a00000908000010010000,SL6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1," + "leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11," + "righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000004b2900000430000011000000,Snakebyte Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000004c050000cc09000001000000,Sony DualShock " + "4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000666600006706000000010000,Sony PlayStation " + "Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0"); + SDL_AddGamepadMapping("030000004c050000da0c000011010000,Sony PlayStation " + "Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7," + "righttrigger:b5,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000d9040000160f000000010000,Sony PlayStation Controller " + "Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("03000000ff000000cb01000010010000,Sony PlayStation " + "Portable,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:" + "a1,rightshoulder:b5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000004c0500003713000011010000,Sony PlayStation " + "Vita,a:b1,b:b2,back:b8,dpdown:b13,dpleft:b15,dpright:b14,dpup:b12,leftshoulder:b4,leftx:a0,lefty:a1," + "rightshoulder:b5,rightx:a3,righty:a4,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000250900000500000000010000,Sony PS2 pad with SmartJoy " + "Adapter,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000005e0400008e02000073050000,Speedlink " + "Torid,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000020200000,SpeedLink Xeox Pro " + "Analog,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000de2800000112000001000000,Steam " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000de2800000112000011010000,Steam " + "Controller,a:b2,b:b3,back:b10,dpdown:+a5,dpleft:-a4,dpright:+a4,dpup:-a5,guide:b12,leftshoulder:b6," + "leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,paddle1:b15,paddle2:b16,rightshoulder:b7,rightstick:b14," + "righttrigger:a6,rightx:a2,righty:a3,start:b11,x:b4,y:b5"); + SDL_AddGamepadMapping( + "03000000de2800000211000001000000,Steam " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000de2800000211000011010000,Steam " + "Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8," + "leftx:a0,lefty:a1,paddle1:b16,paddle2:b15,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b5"); + SDL_AddGamepadMapping( + "03000000de2800004211000001000000,Steam " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000de2800004211000011010000,Steam " + "Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a7," + "leftx:a0,lefty:a1,paddle1:b16,paddle2:b15,rightshoulder:b7,righttrigger:a6,rightx:a2,righty:a3,start:b11,x:b4,y:b5"); + SDL_AddGamepadMapping("03000000de280000fc11000001000000,Steam " + "Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000de2800000212000001000000,Steam " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000de2800000511000001000000,Steam " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000de2800000611000001000000,Steam " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000de2800000512000010010000,Steam " + "Deck,a:b3,b:b4,back:b11,dpdown:b17,dpleft:b18,dpright:b19,dpup:b16,guide:b13,leftshoulder:b7,leftstick:b14,lefttrigger:a9,leftx:" + "a0,lefty:a1,rightshoulder:b8,rightstick:b15,righttrigger:a8,rightx:a2,righty:a3,start:b12,x:b5,y:b6"); + SDL_AddGamepadMapping("03000000de2800000512000011010000,Steam " + "Deck,a:b3,b:b4,back:b11,dpdown:b17,dpleft:b18,dpright:b19,dpup:b16,guide:b13,leftshoulder:b7,leftstick:" + "b14,lefttrigger:a9,leftx:a0,lefty:a1,misc1:b2,paddle1:b21,paddle2:b20,paddle3:b23,paddle4:b22," + "rightshoulder:b8,rightstick:b15,righttrigger:a8,rightx:a2,righty:a3,start:b12,x:b5,y:b6"); + SDL_AddGamepadMapping( + "03000000de280000ff11000001000000,Steam Virtual " + "Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("050000004e696d6275732b0000000000,SteelSeries Nimbus " + "Plus,a:b0,b:b1,back:b10,guide:b11,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1," + "rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b12,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000381000003014000075010000,SteelSeries Stratus " + "Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000381000003114000075010000,SteelSeries Stratus " + "Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "0500000011010000311400001b010000,SteelSeries Stratus " + "Duo,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b32,leftshoulder:b6,leftstick:b13,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "05000000110100001914000009010000,SteelSeries Stratus " + "XL,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1," + "rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000ad1b000038f0000090040000,Street Fighter IV Fightstick " + "TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:" + "a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("030000003b07000004a1000000010000,Suncom SFX " + "Plus,a:b0,b:b2,back:b7,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4," + "rightshoulder:b9,righttrigger:b5,start:b8,x:b1,y:b3"); + SDL_AddGamepadMapping( + "030000001f08000001e4000010010000,Super Famicom " + "Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000666600000488000000010000,Super Joy Box 5 " + "Pro,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1," + "rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0"); + SDL_AddGamepadMapping( + "0300000000f00000f100000000010000,Super " + "RetroPort,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4"); + SDL_AddGamepadMapping( + "030000008f0e00000d31000010010000,SZMY Power 3 " + "Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000457500000401000011010000,SZMY Power DS4 Wired " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000457500002211000010010000,SZMY Power " + "Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000008f0e00001431000010010000,SZMY Power " + "PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000e40a00000307000011010000,Taito Egret II Mini Control " + "Panel,a:b4,b:b2,back:b6,guide:b9,leftx:a0,lefty:a1,rightshoulder:b0,righttrigger:b1,start:b7,x:b8,y:b3"); + SDL_AddGamepadMapping("03000000e40a00000207000011010000,Taito Egret II Mini " + "Controller,a:b4,b:b2,back:b6,guide:b9,leftx:a0,lefty:a1,rightshoulder:b0,righttrigger:b1,start:b7,x:b8,y:b3"); + SDL_AddGamepadMapping( + "03000000ba2200000701000001010000,Technology Innovation PS2 " + "Adapter,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "03000000790000001c18000011010000,TGZ " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:" + "b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000591c00002400000010010000,THEC64 " + "Joystick,a:b0,b:b1,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping("03000000591c00002600000010010000,THEGamepad,a:b2,b:b1,back:b6,leftshoulder:b4,leftx:a0,lefty:a1," + "rightshoulder:b5,start:b7,x:b3,y:b0"); + SDL_AddGamepadMapping( + "030000004f04000015b3000001010000,Thrustmaster Dual Analog " + "3.2,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:" + "a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000015b3000010010000,Thrustmaster Dual Analog " + "4,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1," + "rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000020b3000010010000,Thrustmaster Dual " + "Trigger,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0," + "lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000023b3000000010000,Thrustmaster Dual Trigger PlayStation " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004f0400000ed0000011010000,Thrustmaster eSwap Pro " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("03000000b50700000399000000010000,Thrustmaster Firestorm Digital " + "2,a:b2,b:b4,back:b11,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8," + "rightstick:b0,righttrigger:b9,start:b1,x:b3,y:b5"); + SDL_AddGamepadMapping("030000004f04000003b3000010010000,Thrustmaster Firestorm Dual Analog " + "2,a:b0,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b8," + "leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b9,rightx:a2,righty:a3,x:b1,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000000b3000010010000,Thrustmaster Firestorm Dual " + "Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5," + "leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000004b3000010010000,Thrustmaster Firestorm Dual " + "Power,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0," + "lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000026b3000002040000,Thrustmaster GP " + "XID,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c6240000025b000002020000,Thrustmaster " + "GPX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000008d0000000010000,Thrustmaster Run N Drive PlayStation " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000009d0000000010000,Thrustmaster Run N Drive PlayStation " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000007d0000000010000,Thrustmaster T " + "Mini,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "030000004f04000012b3000010010000,Thrustmaster Vibrating " + "Gamepad,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0," + "lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3"); + SDL_AddGamepadMapping( + "03000000571d00002000000010010000,Tomee SNES " + "Adapter,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000bd12000015d0000010010000,Tomee SNES " + "Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000d814000007cd000011010000,Toodles 2008 Chimp PC " + "PS3,a:b0,b:b1,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping("030000005e0400008e02000070050000,Torid,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1," + "guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10," + "righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000c01100000591000011010000,Torid,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:" + "b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000680a00000300000003000000,TRBot Virtual " + "Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:" + "a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14"); + SDL_AddGamepadMapping( + "03000000780300000300000003000000,TRBot Virtual " + "Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:" + "a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14"); + SDL_AddGamepadMapping( + "03000000e00d00000300000003000000,TRBot Virtual " + "Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:" + "a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14"); + SDL_AddGamepadMapping( + "03000000f00600000300000003000000,TRBot Virtual " + "Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:" + "a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14"); + SDL_AddGamepadMapping( + "030000005f140000c501000010010000,Trust " + "Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "06000000f51000000870000003010000,Turtle Beach " + "Recon,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000100800000100000010010000,Twin PS2 " + "Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000151900005678000010010000,Uniplay " + "U6,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000100800000300000010010000,USB " + "Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping( + "03000000790000000600000007010000,USB " + "gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0"); + SDL_AddGamepadMapping("03000000790000001100000000010000,USB Gamepad,a:b2,b:b1,back:b8,dpdown:a0,dpleft:a1,dpright:a2,dpup:a4,start:b9"); + SDL_AddGamepadMapping( + "03000000790000001a18000011010000,Venom PS4 Arcade " + "Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000790000001b18000011010000,Venom PS4 Arcade " + "Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping("030000006f0e00000302000011010000,Victrix Pro Fightstick " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4," + "lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping("030000006f0e00000702000011010000,Victrix Pro Fightstick " + "PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:" + "b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,touchpad:b13,x:b0,y:b3"); + SDL_AddGamepadMapping( + "05000000ac0500003232000001000000,VR Box " + "Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000434f4d4d414e440000000000,VX Gaming Command " + "Series,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a5,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "0000000058626f782033363020576900,Xbox 360 " + "Controller,a:b0,b:b1,back:b14,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,guide:b7,leftshoulder:b4,leftstick:b8,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400001907000000010000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000010010000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000014010000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400009102000007010000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000a102000000010000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000a102000007010000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000a102000030060000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00001503000000020000,Xbox 360 " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400008e02000000010000,Xbox 360 " + "EasySMX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000a102000014010000,Xbox 360 " + "Receiver,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "0000000058626f782047616d65706100,Xbox " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e0400000202000000010000,Xbox " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000005e0400008e02000072050000,Xbox " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000006f0e00001304000000010000,Xbox " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000ffff0000ffff000000010000,Xbox " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0," + "lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000005e0400000a0b000005040000,Xbox One " + "Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0," + "lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2"); + SDL_AddGamepadMapping( + "030000005e040000d102000002010000,Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000ea02000000000000,Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000ea02000001030000,Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000005e040000e002000003090000,Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000005e040000fd02000003090000,Xbox One " + "Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000fd02000030110000,Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000dd02000003020000,Xbox One " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000005e040000e302000002090000,Xbox One " + "Elite,a:b0,b:b1,back:b136,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0," + "lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000220b000013050000,Xbox One Elite 2 " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000050b000002090000,Xbox One Elite Series " + "2,a:b0,b:b1,back:b136,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:" + "a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "030000005e040000ea02000011050000,Xbox One S " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000ea02000015050000,Xbox One S " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000ea02000017050000,Xbox One S " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000ea0200000b050000,Xbox One S " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000ea0200000d050000,Xbox One S " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000ea02000016050000,Xbox One S " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000001050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000005050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000007050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000009050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b00000d050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b00000f050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000011050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000014050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000120b000015050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "030000005e040000130b000005050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000001050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000005050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000007050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000009050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000011050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000013050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000015050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000130b000017050000,Xbox Series " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "060000005e040000120b000007050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000120b00000b050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000120b00000d050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "060000005e040000120b00000f050000,Xbox Series " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000005e040000130b000022050000,Xbox Series X " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "060000005e040000120b000011050000,Xbox Series X " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "050000005e040000200b000013050000,Xbox Wireless " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000200b000017050000,Xbox Wireless " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000200b000023050000,Xbox Wireless " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "050000005e040000220b000017050000,Xbox Wireless " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping( + "03000000450c00002043000010010000,XEOX SL6556 " + "BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:" + "a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3"); + SDL_AddGamepadMapping( + "05000000172700004431000029010000,XiaoMi " + "Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:" + "a7,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4"); + SDL_AddGamepadMapping("03000000c0160000e105000001010000,XinMo Dual " + "Arcade,a:b4,b:b3,back:b6,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b9,leftshoulder:b2,leftx:a0," + "lefty:a1,rightshoulder:b5,start:b7,x:b1,y:b0"); + SDL_AddGamepadMapping( + "030000005e0400008e02000020010000,XInput " + "Adapter,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "xinput,XInput " + "Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2," + "leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3"); + SDL_AddGamepadMapping( + "03000000120c0000100e000011010000,Zeroplus " + "P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000120c0000101e000011010000,Zeroplus " + "P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:" + "a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); + SDL_AddGamepadMapping( + "03000000120c0000182e000011010000,Zeroplus PS4 " + "Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:" + "a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3"); +} \ No newline at end of file diff --git a/src/lindbergh/gameControllerMappings.h b/src/lindbergh/gameControllerMappings.h new file mode 100644 index 0000000..0260bc7 --- /dev/null +++ b/src/lindbergh/gameControllerMappings.h @@ -0,0 +1 @@ +void loadSDLControllerMappings(); \ No newline at end of file diff --git a/src/lindbergh/gameData.c b/src/lindbergh/gameData.c new file mode 100644 index 0000000..278cf50 --- /dev/null +++ b/src/lindbergh/gameData.c @@ -0,0 +1,96 @@ +#include "gameData.h" +#include "config.h" + +static const GameData gameData[] = { + {AFTER_BURNER_CLIMAX, "After Burner Climax", "abc", "DVP-0009", "SBLR", "2006", "640x480", WORKING, SEGA_TYPE_1, ABC, 640, 480, GROUP_ABC, 0, 0, 0, 0, 0, 0, YELLOW}, + {AFTER_BURNER_CLIMAX_REVA, "After Burner Climax Rev A", "abc-rev-a", "DVP-0009A", "SBLR", "2006", "640x480", WORKING, SEGA_TYPE_1, ABC, 640, 480, GROUP_ABC, 0, 0, 0, 0, 0, 0, YELLOW}, + {AFTER_BURNER_CLIMAX_REVB, "After Burner Climax Rev B", "abc-rev-b", "DVP-0009B", "SBLR", "2006", "640x480", WORKING, SEGA_TYPE_1, ABC, 640, 480, GROUP_ABC, 0, 0, 0, 0, 0, 0, YELLOW}, + {AFTER_BURNER_CLIMAX_SDX, "After Burner Climax SDX", "abc-sdx", "DVP-0018", "SBMN", "2006 ?", "640x480", WORKING, SEGA_TYPE_1, ABC, 640, 480, GROUP_ABC, 0, 0, 0, 0, 0, 0, YELLOW}, + {AFTER_BURNER_CLIMAX_SDX_REVA, "After Burner Climax SDX Rev A", "abc-sdx-rev-a", "DVP-0018A", "SBMN", "2006 ?", "640x480", WORKING, SEGA_TYPE_1, ABC, 640, 480, GROUP_ABC, 0, 0, 0, 0, 0, 0, YELLOW}, + {AFTER_BURNER_CLIMAX_SE, "After Burner Climax SE", "abc-se", "DVP-0031", "SBLR", "2006 ?", "", WORKING, SEGA_TYPE_1, ABC, 640, 480, GROUP_ABC, 0, 0, 0, 0, 0, 0, YELLOW}, + {AFTER_BURNER_CLIMAX_SE_REVA, "After Burner Climax SE Rev A", "abc-se-rev-a", "DVP-0031A", "SBLR", "2006 ?", "", WORKING, SEGA_TYPE_1, ABC, 640, 480, GROUP_ABC, 0, 0, 0, 0, 0, 0, YELLOW}, + {GHOST_SQUAD_EVOLUTION, "Ghost Squad Evolution", "gsevo", "DVP-0029A", "SBNJ", "2007", "640x480", WORKING, SEGA_TYPE_1, SHOOTING, 640, 480, -1, 0, 0, 0, 0, 0, 0, RED}, + {HARLEY_DAVIDSON, "Harley-Davidson: King of the Road", "harley", "DVP-5007", "SBRG", "2009", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, -1, 0, 0, 0, 0, 0, 0, RED}, + {HUMMER, "Hummer", "hummer", "DVP-0057B", "SBQN", "2008", "1280x768", WORKING, SEGA_TYPE_3, DRIVING, 1280, 768, GROUP_HUMMER, 0, 0, 0, 0, 0, 0, YELLOW}, + {HUMMER_EXTREME, "Hummer Extreme", "hummer-ext", "DVP-0079", "SBST", "2009", "", WORKING, SEGA_TYPE_3, DRIVING, 1280, 768, GROUP_HUMMER, 0, 0, 0, 0, 0, 0, YELLOW}, + {HUMMER_EXTREME_MDX, "Hummer Extreme MDX", "hummer-ext-mdx", "DVP-0083", "SBST", "2009", "1280x768", WORKING, SEGA_TYPE_3, DRIVING, 1280, 768, GROUP_HUMMER, 0, 0, 0, 0, 0, 0, YELLOW}, + {HUMMER_SDLX, "Hummer SDLX", "hummer-sdlx", "DVP-0057", "SBST", "2008", "", WORKING, SEGA_TYPE_3, DRIVING, 1280, 768, GROUP_HUMMER, 0, 0, 0, 0, 0, 0, YELLOW}, + {INITIALD_4_EXP_REVB, "Initial D Arcade Stage 4 Export Rev B", "id4-exp-rev-b", "DVP-0030B", "SBNK", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_EXP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_4_EXP_REVC, "Initial D Arcade Stage 4 Export Rev C", "id4-exp-rev-c", "DVP-0030C", "SBNK", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_EXP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_4_EXP_REVD, "Initial D Arcade Stage 4 Export Rev D", "id4-exp-rev-d", "DVP-0030D", "SBNK", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_EXP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_4_REVA, "Initial D Arcade Stage 4 Rev A", "id4-rev-a", "DVP-0019A", "SBML", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_JAP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_4_REVB, "Initial D Arcade Stage 4 Rev B", "id4-rev-b", "DVP-0019B", "SBML", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_JAP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_4_REVC, "Initial D Arcade Stage 4 Rev C", "id4-rev-c", "DVP-0019C", "SBML", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_JAP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_4_REVD, "Initial D Arcade Stage 4 Rev D", "id4-rev-d", "DVP-0019D", "SBML", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_JAP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_4_REVG, "Initial D Arcade Stage 4 Rev G", "id4-rev-g", "DVP-0019G", "SBML", "2007", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID4_JAP, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_5_EXP, "Initial D5 EXP", "id5-exp", "DVP-0075", "SBRY", "2009", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID5, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_5_EXP_20, "Initial D5 EXP 2.0", "id5-exp-20", "DVP-0084", "SBTS", "2009", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID5, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_5_EXP_20A, "Initial D5 5 EXP 2.0", "id5-exp-20a", "DVP-0084A", "SBTS", "2009", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID5, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_5_JAP_REVA, "Initial D Arcade Stage 5 Rev A", "id5-jap-rev-a", "DVP-0070A", "SBQZ", "2009", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID5, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_5_JAP_REVC, "Initial D Arcade Stage 5 Rev C", "id5-jap-rev-c", "DVP-0070C", "SBQZ", "2009", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID5, 0, 0, 0, 0, 1, 0, YELLOW}, + {INITIALD_5_JAP_REVF, "Initial D Arcade Stage 5 Rev F", "id5-jap-rev-f", "DVP-0070F", "SBQZ", "2009", "1360x768", WORKING, SEGA_TYPE_3, DRIVING, 1360, 768, GROUP_ID5, 0, 0, 0, 0, 1, 0, YELLOW}, + {LETS_GO_JUNGLE, "Let's Go Jungle! Lost on the Island of Spice!", "lgj", "DVP-0011", "SBLU", "2006", "1360x768", WORKING, SEGA_TYPE_3, SHOOTING, 1360, 768, GROUP_LGJ, 0, 0, 0, 0, 0, 0, YELLOW}, + {LETS_GO_JUNGLE_REVA, "Let's Go Jungle! Lost on the Island of Spice! Rev A", "lgj-rev-a", "DVP-0011A", "SBLU", "2006", "1360x768", WORKING, SEGA_TYPE_3, SHOOTING, 1360, 768, GROUP_LGJ, 0, 0, 0, 0, 0, 0, YELLOW}, + {LETS_GO_JUNGLE_SPECIAL, "Let's Go Jungle! Special!", "lgj-sp", "DVP-0036", "SBNR", "2007", "1024x768", WORKING, SEGA_TYPE_3, SHOOTING, 1024, 768, GROUP_LGJ, 1, 0, 0, 0, 0, 0, YELLOW}, + {MJ4_EVO, "SEGA Network Taisen Mahjong MJ4 Evolution", "mj4-evo", "DVP-0081", "SBTA", "2008", "1024x768", WORKING, SEGA_TYPE_3, MAHJONG, 1024, 768, -1, 0, 0, 0, 0, 0, 1, YELLOW}, + {MJ4_REVG, "SEGA Network Taisen Mahjong MJ4", "mj4-rev-g", "DVP-0049G", "SBPN", "2007", "1024x768", WORKING, SEGA_TYPE_3, MAHJONG, 1024, 768, -1, 0, 0, 0, 0, 0, 1, YELLOW}, + {OUTRUN_2_SP_SDX, "Outrun 2 SP SDX", "outrun2", "DVP-0015", "SBMB", "2006", "800x480", WORKING, SEGA_TYPE_3, DRIVING, 800, 480, GROUP_OUTRUN, 0, 1, 1, 0, 0, 0, YELLOW}, + {OUTRUN_2_SP_SDX_TEST, "Outrun 2 SP SDX", "outrun2", "DVP-0015", "SBMB", "2006", "800x480", WORKING, SEGA_TYPE_3, DRIVING, 800, 480, GROUP_OUTRUN_TEST, 0, 1, 1, 0, 0, 0, YELLOW}, + {OUTRUN_2_SP_SDX_REVA, "Outrun 2 SP SDX Rev A", "outrun2-rev-a", "DVP-0015A", "SBMB", "2006", "800x480", WORKING, SEGA_TYPE_3, DRIVING, 800, 480, GROUP_OUTRUN, 0, 1, 1, 0, 0, 0, YELLOW}, + {OUTRUN_2_SP_SDX_REVA_TEST, "Outrun 2 SP SDX Rev A", "outrun2-rev-a", "DVP-0015A", "SBMB", "2006", "800x480", WORKING, SEGA_TYPE_3, DRIVING, 800, 480, GROUP_OUTRUN_TEST, 0, 1, 1, 0, 0, 0, YELLOW}, + {OUTRUN_2_SP_SDX_REVA_TEST2, "Outrun 2 SP SDX Rev A", "outrun2-rev-a", "DVP-0015A", "SBMB", "2006", "800x480", WORKING, SEGA_TYPE_3, DRIVING, 800, 480, GROUP_OUTRUN_TEST, 0, 1, 1, 0, 0, 0, YELLOW}, + {PRIMEVAL_HUNT, "Primeval Hunt", "ph", "DVP-0048A", "SBPP", "2008", "640x480", WORKING, SEGA_TYPE_3, SHOOTING, 640, 480, -1, 0, 0, 0, 0, 0, 0, RED}, + {QUIZ_AXA, "Network Taisen Quiz Answer x Answer (SBMS 1.30)", "axa", "DVP-0025H", "SBMS", "", "1024x768", WORKING, SEGA_TYPE_3, MAHJONG, 1024, 768, -1, 0, 0, 0, 0, 0, 1, YELLOW}, + {QUIZ_AXA_LIVE, "Network Taisen Quiz Answer x Answer Live! (SBUR 3.530)", "axalive", "DVP-0087D", "SBUR", "", "1024x768", WORKING, SEGA_TYPE_3, MAHJONG, 1024, 768, -1, 0, 0, 0, 0, 0, 1, YELLOW}, + {RAMBO, "Rambo", "rambo", "DVP-0069", "SBQL", "2008", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_RAMBO, 0, 0, 0, 0, 0, 0, REDEX}, + {RAMBO_CHINA, "Rambo", "rambo-cn", "DVP-0078", "SBSS", "2008", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_RAMBO, 0, 0, 0, 0, 0, 0, REDEX}, + {R_TUNED, "R-Tuned: Ultimate Street Racing", "r-tuned", "DVP-0060", "SBQW", "2008", "640x480", WORKING, SEGA_TYPE_3, DRIVING, 640, 480, -1, 0, 1, 0, 1, 0, 0, YELLOW}, + {SEGABOOT_2_4, "Segaboot 2.4", "segaboot-24", "", "", "", "", WORKING, SEGA_TYPE_3, DIGITAL, 0, 0, -1, 0, 0, 0, 0, 0, 0, YELLOW}, + {SEGABOOT_2_4_SYM, "Segaboot 2.4 with symbols", "segaboot-24-sym", "", "", "", "", WORKING, SEGA_TYPE_3, DIGITAL, 0, 0, -1, 0, 0, 0, 0, 0, 0, YELLOW}, + {SEGA_RACE_TV, "SEGA Race TV", "srtv", "DVP-0044", "SBPF", "2008", "640x480", WORKING, SEGA_TYPE_3, DRIVING, 640, 480, -1, 0, 1, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_REVA, "The House of the Dead 4 Rev A", "hod4-rev-a", "DVP-0003A", "SBLC", "2005", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_HOD4, 0, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_REVA_TEST, "The House of the Dead 4 Rev A", "hod4-rev-a", "DVP-0003A", "SBLC", "2005", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_HOD4_TEST, 0, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_REVB, "The House of the Dead 4 Rev B", "hod4-rev-b", "DVP-0003B", "SBLC", "2005", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_HOD4, 0, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_REVB_TEST, "The House of the Dead 4 Rev B", "hod4-rev-b", "DVP-0003B", "SBLC", "2005", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_HOD4_TEST, 0, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_REVC, "The House of the Dead 4 Rev C", "hod4-rev-c", "DVP-0003C", "SBLC", "2005", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_HOD4, 0, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_REVC_TEST, "The House of the Dead 4 Rev C", "hod4-rev-c", "DVP-0003C", "SBLC", "2005", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, GROUP_HOD4_TEST, 0, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_SPECIAL, "The House of the Dead 4 Special", "hod4-sp", "DVP-0010", "SBLS", "2006", "1024x768", WORKING, SEGA_TYPE_3, SHOOTING, 1024, 768, GROUP_HOD4_SP, 1, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_SPECIAL_TEST, "The House of the Dead 4 Special", "hod4-sp", "DVP-0010", "SBLS", "2006", "1024x768", WORKING, SEGA_TYPE_3, SHOOTING, 1024, 768, GROUP_HOD4_SP_TEST, 1, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB, "The House of the Dead 4 Special Rev B", "hod4-sp-rev-b", "DVP-0010B", "SBLS", "2006", "1024x768", WORKING, SEGA_TYPE_3, SHOOTING, 1024, 768, GROUP_HOD4_SP, 1, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB_TEST, "The House of the Dead 4 Special Rev B", "hod4-sp-rev-b", "DVP-0010B", "SBLS", "2006", "1024x768", WORKING, SEGA_TYPE_3, SHOOTING, 1024, 768, GROUP_HOD4_SP_TEST, 1, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_EX, "Ai Sareruyori Ai Shitai: The House of the Dead EX", "hod-ex", "DVP-0063", "SBRC", "2008", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1360, 768, -1, 0, 0, 0, 0, 0, 0, YELLOW}, + {THE_HOUSE_OF_THE_DEAD_EX_TEST, "Ai Sareruyori Ai Shitai: The House of the Dead EX", "hod-ex", "DVP-0063", "SBRC", "2008", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1360, 768, -1, 0, 0, 0, 0, 0, 0, YELLOW}, + {TOO_SPICY, "Too Spicy", "2spicy", "DVP-0027A", "SBMV", "2007", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, -1, 0, 0, 0, 0, 0, 0, RED}, + {TOO_SPICY_TEST, "Too Spicy", "2spicy", "DVP-0027A", "SBMV", "2007", "640x480, 1280x768", WORKING, SEGA_TYPE_3, SHOOTING, 1280, 768, -1, 0, 0, 0, 0, 0, 0, RED}, + {VIRTUA_FIGHTER_5, "Virtua Fighter 5", "vf5", "DVP-0008", "SBLM", "2005", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_EXPORT, "Virtua Fighter 5 Export", "vf5-exp", "DVP-0043", "SBLM", "2005", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA, "Virtua Fighter 5 Final Showdown REV A", "vf5-fs-rev-a", "DVP-5019A", "SBUV", "2010", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB, "Virtua Fighter 5 Final Showdown REV B", "vf5-fs-rev-b", "DVP-5020", "SBXX", "2010", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000, "Virtua Fighter 5 Final Showdown REV B ver 6.0000", "vf5-fs-rev-b-6000", "DVP-5020", "SBXX", "2010", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_R, "Virtua Fighter 5 R", "vf5-r", "DVP-XXXX", "SBQU", "2008", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_R_REVD, "Virtua Fighter 5 R Rev D", "vf5-r-rev-d", "DVP-XXXX", "SBQU", "2008", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_R_REVG, "Virtua Fighter 5 R Rev G", "vf5-r-rev-g", "DVP-XXXX", "SBQU", "2008", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_REVA, "Virtua Fighter 5 Rev A", "vf5-rev-a", "DVP-0008A", "SBLM", "2005", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_REVB, "Virtua Fighter 5 Rev B", "vf5-rev-b", "DVP-0008B", "SBLM", "2005", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_FIGHTER_5_REVE, "Virtua Fighter 5 Rev E (Public Version C)", "vf5-rev-e", "DVP-0008E", "SBLM", "2005", "1280x768", WORKING, SEGA_TYPE_3, DIGITAL, 1280, 768, GROUP_VF5, 0, 0, 0, 0, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3, "Virtua Tennis 3", "vt3", "DVP-0005", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3, 0, 0, 0, 1, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3_TEST, "Virtua Tennis 3", "vt3", "DVP-0005", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3_TEST, 0, 0, 0, 1, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3_REVA, "Virtua Tennis 3 Rev A", "vt3-rev-a", "DVP-0005A", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3, 0, 0, 0, 1, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3_REVA_TEST, "Virtua Tennis 3 Rev A", "vt3-rev-a", "DVP-0005A", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3_TEST, 0, 0, 0, 1, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3_REVB, "Virtua Tennis 3 Rev B", "vt3-rev-b", "DVP-0005B", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3, 0, 0, 0, 1, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3_REVB_TEST, "Virtua Tennis 3 Rev B", "vt3-rev-b", "DVP-0005B", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3_TEST, 0, 0, 0, 1, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3_REVC, "Virtua Tennis 3 Rev C", "vt3-rev-c", "DVP-0005C", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3, 0, 0, 0, 1, 0, 0, YELLOW}, + {VIRTUA_TENNIS_3_REVC_TEST, "Virtua Tennis 3 Rev C", "vt3-rev-c", "DVP-0005C", "SBKX", "2006", "640x480, 1360x768", WORKING, SEGA_TYPE_3, DIGITAL, 1360, 768, GROUP_VT3_TEST, 0, 0, 0, 1, 0, 0, YELLOW}, +}; + +const GameData *getGameData(uint32_t elf_crc) +{ + for (size_t i = 0; i < sizeof(gameData) / sizeof(gameData[0]); ++i) + { + if (gameData[i].crc32 == elf_crc) + { + return &gameData[i]; + } + } + return NULL; +} diff --git a/src/lindbergh/gameData.h b/src/lindbergh/gameData.h new file mode 100644 index 0000000..15fc146 --- /dev/null +++ b/src/lindbergh/gameData.h @@ -0,0 +1,31 @@ +#ifndef GAME_DATA_H +#define GAME_DATA_H + +#include "config.h" + +typedef struct GameData { + uint32_t crc32; + const char *gameTitle; + const char *gameShortTitle; + const char *gameDVP; + const char *gameID; + const char *gameReleaseYear; + const char *gameNativeResolutions; + GameStatus gameStatus; + JVSIOType jvsIOType; + GameType gameType; + int width; + int height; + GameGroup gameGroup; + int emulateRideboard; + int emulateDriveboard; + int emulateMotionboard; + int emulateHW210CardReader; + int emulateIDCardReader; + int emulateTouchscreen; + Colour gameLindberghColour; +} GameData; + +const GameData *getGameData(uint32_t elf_crc); + +#endif // GAME_DATA_H diff --git a/src/lindbergh/glutHooks.c b/src/lindbergh/glutHooks.c new file mode 100644 index 0000000..3194873 --- /dev/null +++ b/src/lindbergh/glutHooks.c @@ -0,0 +1,369 @@ +#define GL_GLEXT_PROTOTYPES +#ifndef __i386__ +#define __i386__ +#endif +#undef __x86_64__ +#include +#include +#include +#include + +#include + +#include "blitStretching.h" +#include "border.h" +#include "config.h" +#include "fpsLimiter.h" +#include "resolution.h" +#include "sdlCalls.h" +#include "touchScreen.h" + +extern uint32_t gId; +extern int gGrp; +extern int gWidth; +extern int gHeight; +extern SDL_Window *sdlWindow; +extern Display *x11Display; +extern char sdlGameTitle[]; +extern char current_text[256]; +extern double local_fps; +bool winHidden = true; + +void *displayFunc = NULL; +void *reshapeFunc = NULL; +void *visibilityFunc = NULL; +void *idleFunc = NULL; + +extern int drawableW; +extern int drawableH; +extern SDL_Renderer *fontRenderer; +extern TTF_Font *font; +int penX = 0; +int penY = 0; + +void FGAPIENTRY glutInit(int *argcp, char **argv) +{ + void FGAPIENTRY (*_glutInit)(int *argcp, char **argv) = dlsym(RTLD_NEXT, "glutInit"); + startSDL(argcp, argv); +} + +void FGAPIENTRY glutMainLoop(void) +{ + + bool quit = false; + while (!quit) + { + pollEvents(); + int w, h; + SDL_GetWindowSize(sdlWindow, &w, &h); + if (displayFunc != NULL) + (((void *(*)(void))displayFunc)()); + if (reshapeFunc != NULL) + (((void *(*)(int, int))reshapeFunc)(w, h)); + if (visibilityFunc != NULL) + (((void *(*)(int))visibilityFunc)(1)); + if (idleFunc != NULL) + (((void *(*)(void))idleFunc)()); + } + SDL_DestroyWindow(sdlWindow); + SDL_Quit(); +} + +void FGAPIENTRY glutMainLoopEvent(void) +{ + return; +} + +void FGAPIENTRY glutSwapBuffers(void) +{ + EmulatorConfig *config = getConfig(); + + switch (gGrp) + { + case GROUP_OUTRUN: + case GROUP_OUTRUN_TEST: + { + pollEvents(); + } + } + + blitStretch(); + + if (config->borderEnabled) + drawGameBorder(drawableW, drawableH, config->whiteBorderPercentage, config->blackBorderPercentage); + + SDL_GL_SwapWindow(sdlWindow); + + if (config->fpsLimiter) + frameTiming(); + + char windowTitle[512]; + sprintf(windowTitle, "%s - FPS: %.2f", sdlGameTitle, calculateFps()); + SDL_SetWindowTitle(sdlWindow, windowTitle); +} + +int FGAPIENTRY glutGet(GLenum type) +{ + if (type == 0x66) + return gWidth; + if (type == 0x67) + return gHeight; + + return 0; +} + +void FGAPIENTRY glutInitWindowSize(int width, int height) +{ + return; +} + +void FGAPIENTRY glutInitWindowPosition(int x, int y) +{ + return; +} + +int FGAPIENTRY glutExtensionSupported(const char *extension) +{ + return SDL_GL_ExtensionSupported(extension); +} + +void FGAPIENTRY glutSetCursor(int glutCursor) +{ + if (strcmp(getConfig()->customCursor, "") == 0 && strcmp(getConfig()->touchCursor, "") == 0) + { + SDL_Cursor *cursor = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT); + SDL_SetCursor(cursor); + } +} + +void FGAPIENTRY glutDisplayFunc(void (*callback)(void)) +{ + displayFunc = callback; +} + +void FGAPIENTRY glutReshapeFunc(void (*callback)(int, int)) +{ + return; + // reshapeFunc = callback; +} + +void FGAPIENTRY glutVisibilityFunc(void (*callback)(int)) +{ + visibilityFunc = callback; +} + +void FGAPIENTRY glutIdleFunc(void (*callback)(void)) +{ + idleFunc = callback; +} + +void FGAPIENTRY glutInitDisplayMode(unsigned int mode) +{ + return; +} + +void FGAPIENTRY glutGameModeString(const char *string) +{ + return; +} + +int FGAPIENTRY glutEnterGameMode(void) +{ + return 0; +} + +int FGAPIENTRY glutCreateWindow(const char *title) +{ + return 1; +} + +void FGAPIENTRY glutJoystickFunc(void (*callback)(unsigned int, int, int, int), int pollInterval) +{ + return; +} + +void FGAPIENTRY glutPostRedisplay(void) +{ + return; +} + +void FGAPIENTRY glutKeyboardFunc(void (*callback)(unsigned char, int, int)) +{ + return; +} + +void FGAPIENTRY glutKeyboardUpFunc(void (*callback)(unsigned char, int, int)) +{ + return; +} + +void FGAPIENTRY glutMouseFunc(void (*callback)(int, int, int, int)) +{ + return; +} + +void FGAPIENTRY glutMotionFunc(void (*callback)(int, int)) +{ + return; +} + +void FGAPIENTRY glutSpecialFunc(void (*callback)(int, int, int)) +{ + return; +} + +void FGAPIENTRY glutSpecialUpFunc(void (*callback)(int, int, int)) +{ + return; +} + +void FGAPIENTRY glutPassiveMotionFunc(void (*callback)(int, int)) +{ + return; +} + +void FGAPIENTRY glutEntryFunc(void (*callback)(int)) +{ + return; +} + +void FGAPIENTRY glutLeaveGameMode() +{ + return; +} + +void FGAPIENTRY glutSolidTeapot(double size) +{ + return; +} + +void FGAPIENTRY glutWireTeapot(double size) +{ + return; +} + +void FGAPIENTRY glutSolidSphere(double radius, GLint slices, GLint stacks) +{ + return; +} + +void FGAPIENTRY glutWireSphere(double radius, GLint slices, GLint stacks) +{ + return; +} + +void FGAPIENTRY glutWireCone(double base, double height, GLint slices, GLint stacks) +{ + return; +} + +void FGAPIENTRY glutSolidCone(double base, double height, GLint slices, GLint stacks) +{ + return; +} + +void FGAPIENTRY glutWireCube(double dSize) +{ + return; +} + +void FGAPIENTRY glutSolidCube(double dSize) +{ + return; +} + +int FGAPIENTRY glutBitmapWidth(void *fontID, int character) +{ + int width = 0; + if (fontID == GLUT_BITMAP_9_BY_15) + width = 9; + return width; +} + +void convertSurfaceTo1Bit(SDL_Surface *surface, uint8_t *outBitmap, int pitch) +{ + SDL_LockSurface(surface); + for (int y = 0; y < surface->h; ++y) + { + uint8_t byte = 0; + int bit = 0; + int sdlY = surface->h - 1 - y; + + Uint8 *row = (Uint8 *)surface->pixels + sdlY * surface->pitch; + + for (int x = 0; x < surface->w; ++x) + { + if (row[x]) + byte |= (1 << (7 - bit)); + + bit++; + if (bit == 8 || x == surface->w - 1) + { + outBitmap[y * pitch + x / 8] = byte; + byte = 0; + bit = 0; + } + } + } + SDL_UnlockSurface(surface); +} + +void glutBitmapCharacter(void *fontID, int character) +{ + GLint glColor[4]; + glGetIntegerv(GL_CURRENT_COLOR, glColor); + + SDL_Color sdlColor; + sdlColor.r = (Uint8)(glColor[0] * 255); + sdlColor.g = (Uint8)(glColor[1] * 255); + sdlColor.b = (Uint8)(glColor[2] * 255); + sdlColor.a = (Uint8)(glColor[3] * 255); + + GLint glPos[4]; + glGetIntegerv(GL_CURRENT_RASTER_POSITION, glPos); + + if (penX != glPos[0]) + penX = glPos[0]; + + penY = glPos[1]; + + SDL_Surface *glyph = TTF_RenderGlyph_Solid(font, character, sdlColor); + if (!glyph) + { + printf("Failed to render glyph: %s\n", SDL_GetError()); + return; + } + + int pitch = (glyph->w + 7) / 8; + uint8_t *bitmap = malloc(pitch * glyph->h); + convertSurfaceTo1Bit(glyph, bitmap, pitch); + + GLint swbytes, lsbfirst, rowlen, skiprows, skippix, align; + + glGetIntegerv(GL_UNPACK_SWAP_BYTES, &swbytes); + glGetIntegerv(GL_UNPACK_LSB_FIRST, &lsbfirst); + glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowlen); + glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skiprows); + glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skippix); + glGetIntegerv(GL_UNPACK_ALIGNMENT, &align); + + glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE); + glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE); + glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); + glPixelStorei(GL_UNPACK_SKIP_ROWS, 0); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0); + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + + glBitmap(glyph->w, glyph->h, 0, 0, (float)(glyph->w), 0.0, bitmap); + glGetIntegerv(GL_CURRENT_RASTER_POSITION, glPos); + + glPixelStorei(GL_UNPACK_SWAP_BYTES, swbytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, lsbfirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, rowlen); + glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippix); + glPixelStorei(GL_UNPACK_ALIGNMENT, align); + + free(bitmap); + SDL_DestroySurface(glyph); +} \ No newline at end of file diff --git a/src/lindbergh/gluthooks.c b/src/lindbergh/gluthooks.c deleted file mode 100644 index 88dd6cd..0000000 --- a/src/lindbergh/gluthooks.c +++ /dev/null @@ -1,504 +0,0 @@ -#ifndef __i386__ -#define __i386__ -#endif -#undef __x86_64__ -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "fps_limiter.h" -#include "sdlcalls.h" -#include "border.h" -#include "resolution.h" - -extern uint32_t gId; -extern SDL_Window *SDLwindow; -extern char SDLgameTitle[]; -extern fps_limit fpsLimit; -bool GLUTGame = false; - -void *displayFunc = NULL; -void *reshapeFunc = NULL; -void *visibilityFunc = NULL; -void *idleFunc = NULL; - -void FGAPIENTRY glutInit(int *argcp, char **argv) -{ - void FGAPIENTRY (*_glutInit)(int *argcp, char **argv) = dlsym(RTLD_NEXT, "glutInit"); - - if (*argcp > 1 && gId == SEGA_RACE_TV) - { - if (isTestMode()) - { - EmulatorConfig *config = getConfig(); - config->noSDL = 0; - printf("Forced to use SDL to make Test mode render fine.\n"); - } - } - - if (getConfig()->noSDL) - { - _glutInit(argcp, argv); - return; - } - - GLUTGame = true; - initSDL(argcp, argv); -} - -void FGAPIENTRY glutMainLoop(void) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutMainLoop)(void) = dlsym(RTLD_NEXT, "glutMainLoop"); - _glutMainLoop(); - return; - } - - bool quit = false; - while (!quit) - { - pollEvents(); - int w, h; - SDL_GetWindowSize(SDLwindow, &w, &h); - if (displayFunc != NULL) - (((void *(*)(void))displayFunc)()); - if (reshapeFunc != NULL) - (((void *(*)(int, int))reshapeFunc)(w, h)); - if (visibilityFunc != NULL) - (((void *(*)(int))visibilityFunc)(1)); - if (idleFunc != NULL) - (((void *(*)(void))idleFunc)()); - } - SDL_DestroyWindow(SDLwindow); - SDL_Quit(); -} - -void FGAPIENTRY glutMainLoopEvent(void) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutMainLoopEvent)(void) = dlsym(RTLD_NEXT, "glutMainLoopEvent"); - _glutMainLoopEvent(); - } - return; -} - -void FGAPIENTRY glutSwapBuffers(void) -{ - EmulatorConfig *config = getConfig(); - - if (config->borderEnabled) - drawGameBorder(config->width, config->height, config->whiteBorderPercentage, config->blackBorderPercentage); - - if (config->noSDL) - { - void FGAPIENTRY (*_glutSwapBuffers)(void) = dlsym(RTLD_NEXT, "glutSwapBuffers"); - _glutSwapBuffers(); - return; - } - - switch (gId) - { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - case OUTRUN_2_SP_SDX_TEST: - pollEvents(); - } - - SDL_GL_SwapWindow(SDLwindow); - - if (config->fpsLimiter) - { - fpsLimit.frameStart = Clock_now(); - FpsLimiter(&fpsLimit); - fpsLimit.frameEnd = Clock_now(); - } - char windowTitle[512]; - sprintf(windowTitle, "%s - FPS: %.2f", SDLgameTitle, calculateFps()); - SDL_SetWindowTitle(SDLwindow, windowTitle); -} - -int FGAPIENTRY glutGet(GLenum type) -{ - if (getConfig()->noSDL) - { - int FGAPIENTRY (*_glutGet)(GLenum type) = dlsym(RTLD_NEXT, "glutGet"); - return _glutGet(type); - } - if (type == 0x66) - return getConfig()->width; - if (type == 0x67) - return getConfig()->height; - - return 0; -} - -void FGAPIENTRY glutInitWindowSize(int width, int height) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutInitWindowSize)(int width, int height) = dlsym(RTLD_NEXT, "glutInitWindowSize"); - _glutInitWindowSize(width, height); - return; - } - SDL_SetWindowSize(SDLwindow, getConfig()->width, getConfig()->height); -} - -void FGAPIENTRY glutInitWindowPosition(int x, int y) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutInitWindowPosition)(int width, int height) = dlsym(RTLD_NEXT, "glutInitWindowPosition"); - _glutInitWindowPosition(x, y); - return; - } - SDL_SetWindowPosition(SDLwindow, x, y); -} - -int FGAPIENTRY glutExtensionSupported(const char *extension) -{ - if (getConfig()->noSDL) - { - int FGAPIENTRY (*_glutExtensionSupported)(const char *extension) = dlsym(RTLD_NEXT, "glutExtensionSupported"); - return _glutExtensionSupported(extension); - } - return SDL_GL_ExtensionSupported(extension); -} - -void FGAPIENTRY glutSetCursor(int glutCursor) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutSetCursor)(int glutCursor) = dlsym(RTLD_NEXT, "glutSetCursor"); - if(strcmp(getConfig()->customCursor, "") == 0) - _glutSetCursor(glutCursor); - return; - } - if (strcmp(getConfig()->customCursor, "") == 0) - { - SDL_Cursor *cursor = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW); - SDL_SetCursor(cursor); - } -} - -void FGAPIENTRY glutDisplayFunc(void (*callback)(void)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutDisplayFunc)(void (*callback)(void)) = dlsym(RTLD_NEXT, "glutDisplayFunc"); - _glutDisplayFunc(callback); - return; - } - displayFunc = callback; -} - -void FGAPIENTRY glutReshapeFunc(void (*callback)(int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutReshapeFunc)(void (*callback)(int, int)) = dlsym(RTLD_NEXT, "glutReshapeFunc"); - _glutReshapeFunc(callback); - return; - } - reshapeFunc = callback; -} - -void FGAPIENTRY glutVisibilityFunc(void (*callback)(int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutVisibilityFunc)(void (*callback)(int)) = dlsym(RTLD_NEXT, "glutVisibilityFunc"); - _glutVisibilityFunc(callback); - return; - } - visibilityFunc = callback; -} - -void FGAPIENTRY glutIdleFunc(void (*callback)(void)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutIdleFunc)(void (*callback)(void)) = dlsym(RTLD_NEXT, "glutIdleFunc"); - _glutIdleFunc(callback); - return; - } - idleFunc = callback; -} - -void FGAPIENTRY glutInitDisplayMode(unsigned int mode) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutInitDisplayMode)(unsigned int mode) = dlsym(RTLD_NEXT, "glutInitDisplayMode"); - _glutInitDisplayMode(mode); - return; - } - return; -} - -void FGAPIENTRY glutGameModeString(const char *string) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutGameModeString)(const char *string) = dlsym(RTLD_NEXT, "glutGameModeString"); - _glutGameModeString(string); - return; - } - return; -} - -int FGAPIENTRY glutEnterGameMode(void) -{ - if (getConfig()->noSDL) - { - int FGAPIENTRY (*_glutEnterGameMode)(void) = dlsym(RTLD_NEXT, "glutEnterGameMode"); - char gameTitle[256] = {0}; - strcat(gameTitle, getGameName()); - glutCreateWindow(gameTitle); - return 1; - } - return 0; -} - -int FGAPIENTRY glutCreateWindow(const char *title) -{ - if (getConfig()->noSDL) - { - int FGAPIENTRY (*_glutCreateWindow)(const char *title) = dlsym(RTLD_NEXT, "glutCreateWindow"); - return _glutCreateWindow(title); - } - return 1; -} - -void FGAPIENTRY glutJoystickFunc(void (*callback)(unsigned int, int, int, int), int pollInterval) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutJoystickFunc)(void (*callback)(unsigned int, int, int, int), int pollInterval) = - dlsym(RTLD_NEXT, "glutJoystickFunc"); - _glutJoystickFunc(callback, pollInterval); - return; - } - return; -} - -void FGAPIENTRY glutPostRedisplay(void) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutPostRedisplay)(void) = dlsym(RTLD_NEXT, "glutPostRedisplay"); - _glutPostRedisplay(); - return; - } - return; -} - -void FGAPIENTRY glutKeyboardFunc(void (*callback)(unsigned char, int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutKeyboardFunc)(void (*callback)(unsigned char, int, int)) = - dlsym(RTLD_NEXT, "glutKeyboardFunc"); - _glutKeyboardFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutKeyboardUpFunc(void (*callback)(unsigned char, int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutKeyboardUpFunc)(void (*callback)(unsigned char, int, int)) = - dlsym(RTLD_NEXT, "glutKeyboardUpFunc"); - _glutKeyboardUpFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutMouseFunc(void (*callback)(int, int, int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutMouseFunc)(void (*callback)(int, int, int, int)) = dlsym(RTLD_NEXT, "glutMouseFunc"); - _glutMouseFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutMotionFunc(void (*callback)(int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutMotionFunc)(void (*callback)(int, int)) = dlsym(RTLD_NEXT, "glutMotionFunc"); - _glutMotionFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutSpecialFunc(void (*callback)(int, int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutSpecialFunc)(void (*callback)(int, int, int)) = dlsym(RTLD_NEXT, "glutSpecialFunc"); - _glutSpecialFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutSpecialUpFunc(void (*callback)(int, int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutSpecialUpFunc)(void (*callback)(int, int, int)) = dlsym(RTLD_NEXT, "glutSpecialUpFunc"); - _glutSpecialUpFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutPassiveMotionFunc(void (*callback)(int, int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutPassiveMotionFunc)(void (*callback)(int, int)) = - dlsym(RTLD_NEXT, "glutPassiveMotionFunc"); - _glutPassiveMotionFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutEntryFunc(void (*callback)(int)) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutEntryFunc)(void (*callback)(int)) = dlsym(RTLD_NEXT, "glutEntryFunc"); - _glutEntryFunc(callback); - return; - } - return; -} - -void FGAPIENTRY glutLeaveGameMode() -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutLeaveGameMode)() = dlsym(RTLD_NEXT, "glutLeaveGameMode"); - _glutLeaveGameMode(); - return; - } - return; -} - -void FGAPIENTRY glutSolidTeapot(double size) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutSolidTeapot)(double size) = dlsym(RTLD_NEXT, "glutSolidTeapot"); - _glutSolidTeapot(size); - return; - } - return; -} - -void FGAPIENTRY glutWireTeapot(double size) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutWireTeapot)(double size) = dlsym(RTLD_NEXT, "glutWireTeapot"); - _glutWireTeapot(size); - return; - } - return; -} - -void FGAPIENTRY glutSolidSphere(double radius, GLint slices, GLint stacks) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutSolidSphere)(double radius, GLint slices, GLint stacks) = - dlsym(RTLD_NEXT, "glutSolidSphere"); - _glutSolidSphere(radius, slices, stacks); - return; - } - return; -} - -void FGAPIENTRY glutWireSphere(double radius, GLint slices, GLint stacks) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutWireSphere)(double radius, GLint slices, GLint stacks) = - dlsym(RTLD_NEXT, "glutWireSphere"); - _glutWireSphere(radius, slices, stacks); - return; - } - return; -} - -void FGAPIENTRY glutWireCone(double base, double height, GLint slices, GLint stacks) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutWireCone)(double base, double height, GLint slices, GLint stacks) = - dlsym(RTLD_NEXT, "glutWireCone"); - _glutWireCone(base, height, slices, stacks); - return; - } - return; -} - -void FGAPIENTRY glutSolidCone(double base, double height, GLint slices, GLint stacks) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutSolidCone)(double base, double height, GLint slices, GLint stacks) = - dlsym(RTLD_NEXT, "glutSolidCone"); - _glutSolidCone(base, height, slices, stacks); - return; - } - return; -} - -void FGAPIENTRY glutWireCube(double dSize) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutWireCube)(double dSize) = dlsym(RTLD_NEXT, "glutWireCube"); - _glutWireCube(dSize); - return; - } - return; -} - -void FGAPIENTRY glutSolidCube(double dSize) -{ - if (getConfig()->noSDL) - { - void FGAPIENTRY (*_glutSolidCube)(double dSize) = dlsym(RTLD_NEXT, "glutSolidCube"); - _glutSolidCube(dSize); - return; - } - return; -} diff --git a/src/lindbergh/glxHooks.c b/src/lindbergh/glxHooks.c new file mode 100644 index 0000000..416f6fe --- /dev/null +++ b/src/lindbergh/glxHooks.c @@ -0,0 +1,171 @@ +#ifndef __i386__ +#define __i386__ +#endif +#undef __x86_64__ +#define GL_GLEXT_PROTOTYPES + +#include +#include +#include +#include +#include + +#include "blitStretching.h" +#include "border.h" +#include "config.h" +#include "flowControl.h" +#include "fpsLimiter.h" +#include "sdlCalls.h" +#include "touchScreen.h" + +bool sdlGame = false; +extern uint32_t gId; +extern int gGrp; +extern SDL_Window *sdlWindow; +extern SDL_GLContext sdlContext; +extern Display *x11Display; +extern char sdlGameTitle[]; +double local_fps = 0.0; + +bool createContextCalled = false; +int ctxCnt = 0; + +void glXSwapBuffers(Display *dpy, GLXDrawable drawable) +{ + void (*_glXSwapBuffers)(Display *dpy, GLXDrawable drawable) = dlsym(RTLD_NEXT, "glXSwapBuffers"); + + EmulatorConfig *config = getConfig(); + + if (config->borderEnabled) + drawGameBorder(config->width, config->height, config->whiteBorderPercentage, config->blackBorderPercentage); + + blitStretch(); + + pollEvents(); + + SDL_GL_SwapWindow(sdlWindow); + + if (config->fpsLimiter) + frameTiming(); + + char windowTitle[512]; + local_fps = calculateFps(); + sprintf(windowTitle, "%s - FPS: %.2f", sdlGameTitle, local_fps); + SDL_SetWindowTitle(sdlWindow, windowTitle); +} + +GLXContext glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct) +{ + GLXContext (*_glXCreateContext)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct) = + dlsym(RTLD_NEXT, "glXCreateContext"); + + GLXContext ctx; + if (ctxCnt == 0) + ctx = (GLXContext)sdlContext; + else + ctx = _glXCreateContext(dpy, vis, shareList, direct); + + ctxCnt++; + return ctx; +} + +GLXFBConfig *glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list, int *nelements) +{ + GLXFBConfig *(*_glXChooseFBConfig)(Display *dpy, int screen, const int *attrib_list, int *nelements) = + dlsym(RTLD_NEXT, "glXChooseFBConfig"); + + char *__GLX_VENDOR_LIBRARY_NAME = getenv("__GLX_VENDOR_LIBRARY_NAME"); + char *__NV_PRIME_RENDER_OFFLOAD = getenv("__NV_PRIME_RENDER_OFFLOAD"); + if (__GLX_VENDOR_LIBRARY_NAME == NULL) + __GLX_VENDOR_LIBRARY_NAME = " "; + if (__NV_PRIME_RENDER_OFFLOAD == NULL) + __NV_PRIME_RENDER_OFFLOAD = " "; + + if (gGrp == GROUP_HOD4 || gGrp == GROUP_HOD4_SP || gId == THE_HOUSE_OF_THE_DEAD_EX || gId == TOO_SPICY || gId == QUIZ_AXA || gId == QUIZ_AXA_LIVE) + { + if (strcmp(__GLX_VENDOR_LIBRARY_NAME, "nvidia") == 0 && strcmp(__NV_PRIME_RENDER_OFFLOAD, "1") == 0) + { + for (int i = 0; attrib_list[i] != None; i += 2) + { + if (attrib_list[i] == GLX_DOUBLEBUFFER || attrib_list[i] == GLX_DRAWABLE_TYPE) + { + int *ptr = (int *)&attrib_list[i + 1]; + patchMemoryFromString((size_t)ptr, "01"); + } + } + } + } + return _glXChooseFBConfig(dpy, screen, attrib_list, nelements); +} + +GLXPbuffer glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list) +{ + int pbufferAttribs[] = { + GLX_PBUFFER_WIDTH, width, GLX_PBUFFER_HEIGHT, height, GLX_PRESERVED_CONTENTS, true, GLX_LARGEST_PBUFFER, true, None}; + return glXCreatePbuffer(dpy, config, pbufferAttribs); +} + +void glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf) +{ + glXDestroyPbuffer(dpy, pbuf); +} + +GLXFBConfigSGIX *glXChooseFBConfigSGIX(Display *dpy, int screen, int *attrib_list, int *nelements) +{ + int gId = getConfig()->crc32; + char *__GLX_VENDOR_LIBRARY_NAME = getenv("__GLX_VENDOR_LIBRARY_NAME"); + char *__NV_PRIME_RENDER_OFFLOAD = getenv("__NV_PRIME_RENDER_OFFLOAD"); + if (__GLX_VENDOR_LIBRARY_NAME == NULL) + __GLX_VENDOR_LIBRARY_NAME = " "; + if (__NV_PRIME_RENDER_OFFLOAD == NULL) + __NV_PRIME_RENDER_OFFLOAD = " "; + + if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP) + { + if (strcmp(__GLX_VENDOR_LIBRARY_NAME, "nvidia") == 0 && strcmp(__NV_PRIME_RENDER_OFFLOAD, "1") == 0) + { + for (int i = 0; attrib_list[i] != None; i += 2) + { + if (attrib_list[i] == GLX_DOUBLEBUFFER) + { + int *ptr = (int *)&attrib_list[i + 1]; + patchMemoryFromString((size_t)ptr, "01"); + } + } + } + } + return glXChooseFBConfig(dpy, screen, attrib_list, nelements); +} + +int glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value) +{ + return glXGetFBConfigAttrib(dpy, config, attribute, value); +} + +GLXContext glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct) +{ + return glXCreateNewContext(dpy, config, render_type, share_list, direct); +} + +Display *glXGetCurrentDisplay(void) +{ + return x11Display; +} + +int glXGetVideoSyncSGI(uint *count) +{ + static unsigned int frameCount = 0; + *count = (frameCount++) / 2; + return 0; +} + +int glXGetRefreshRateSGI(unsigned int *rate) +{ + *rate = 60; + return 0; +} + +int glXSwapIntervalSGI(int interval) +{ + return 0; +} diff --git a/src/lindbergh/glxhooks.c b/src/lindbergh/glxhooks.c deleted file mode 100644 index c78ba3f..0000000 --- a/src/lindbergh/glxhooks.c +++ /dev/null @@ -1,418 +0,0 @@ -#define GL_GLEXT_PROTOTYPES -#ifndef __i386__ -#define __i386__ -#include -#include -#include -#include -#include -#include -#include -#include -#endif -#undef __x86_64__ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "fps_limiter.h" -#include "sdlcalls.h" -#include "patch.h" -#include "config.h" -#include "border.h" - -bool sdlGame = false; -extern uint32_t gId; -extern SDL_Window *SDLwindow; -extern SDL_GLContext SDLcontext; -extern char SDLgameTitle[]; -extern fps_limit fpsLimit; -extern Window window; - -void glXSwapBuffers(Display *dpy, GLXDrawable drawable) -{ - void (*_glXSwapBuffers)(Display *dpy, GLXDrawable drawable) = dlsym(RTLD_NEXT, "glXSwapBuffers"); - - EmulatorConfig *config = getConfig(); - - if (config->borderEnabled) - drawGameBorder(config->width, config->height, config->whiteBorderPercentage, config->blackBorderPercentage); - - if (getConfig()->noSDL) - { - switch (gId) - { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - case OUTRUN_2_SP_SDX_TEST: - { - XEvent event; - while (XPending(dpy)) - { - XNextEvent(dpy, &event); - } - } - } - } - else - { - pollEvents(); - } - - if (getConfig()->noSDL) - { - _glXSwapBuffers(dpy, drawable); - } - else - { - SDL_GL_SwapWindow(SDLwindow); - } - - if (getConfig()->fpsLimiter) - { - fpsLimit.frameStart = Clock_now(); - FpsLimiter(&fpsLimit); - fpsLimit.frameEnd = Clock_now(); - } - - if (getConfig()->noSDL) - { - XStoreName(dpy, window, ""); - return; - } - char windowTitle[512]; - sprintf(windowTitle, "%s - FPS: %.2f", SDLgameTitle, calculateFps()); - SDL_SetWindowTitle(SDLwindow, windowTitle); -} - -int glxSDLmyCreateWindow(int *param1) -{ - initSDL(0, 0); - char *buf = malloc(512); - memset(buf, '\0', 512); - // param1[0x17] = (intptr_t)(void *)buf; // window; - sdlGame = true; - return 1; -} - -static int nVidiaAttribs[] = {GLX_RGBA, - GLX_DOUBLEBUFFER, - GLX_RED_SIZE, - 8, - GLX_GREEN_SIZE, - 8, - GLX_BLUE_SIZE, - 8, - GLX_ALPHA_SIZE, - 8, - GLX_DEPTH_SIZE, - 16, - GLX_STENCIL_SIZE, - 8, - None}; - -XVisualInfo *glXChooseVisual(Display *dpy, int screen, int *attribList) -{ - XVisualInfo *(*_glXChooseVisual)(Display *dpy, int screen, int *attribList) = dlsym(RTLD_NEXT, "glXChooseVisual"); - if (sdlGame) - return 0; - - if (getConfig()->GPUVendor == NVIDIA_GPU) - { - return _glXChooseVisual(dpy, screen, nVidiaAttribs); - } - return _glXChooseVisual(dpy, screen, attribList); -} - -void GLAPIENTRY openglDebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, - const GLchar *message, const void *userParam) -{ - if (id == 1099) - return; - // Print the debug message details - printf("OpenGL Debug Message:\n"); - printf("Source: 0x%x\n", source); - printf("Type: 0x%x\n", type); - printf("ID: %u\n", id); - printf("Severity: 0x%x\n", severity); - printf("Message: %s\n", message); - - // You can filter based on severity or other attributes if needed - if (severity == GL_DEBUG_SEVERITY_HIGH) - { - printf("This is a high severity error!\n"); - } -} - -GLXContext glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct) -{ - GLXContext (*_glXCreateContext)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct) = - dlsym(RTLD_NEXT, "glXCreateContext"); - if (sdlGame) - { - return SDLcontext; - } - GLXContext ctx = _glXCreateContext(dpy, vis, shareList, direct); - if (getConfig()->showDebugMessages) - { - // Enable OpenGL debug output - glEnable(GL_DEBUG_OUTPUT); - glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); // Make the callback synchronous - glDebugMessageCallback(openglDebugCallback, NULL); - } - - return ctx; -} - -GLXContext glXGetCurrentContext() -{ - GLXContext (*_glXGetCurrentContext)() = dlsym(RTLD_NEXT, "glXGetCurrentContext"); - if (sdlGame) - return SDLcontext; - return _glXGetCurrentContext(); -} - -GLXPbuffer glXCreatePbuffer(Display *dpy, GLXFBConfig config, const int *attrib_list) -{ - GLXPbuffer (*_glXCreatePbuffer)(Display *dpy, GLXFBConfig config, const int *attrib_list) = - dlsym(RTLD_NEXT, "glXCreatePbuffer"); - if (sdlGame) - return 0; - return _glXCreatePbuffer(dpy, config, attrib_list); -} - -void glXDestroyContext(Display *dpy, GLXContext ctx) -{ - void (*_glXDestroyContext)(Display *dpy, GLXContext ctx) = dlsym(RTLD_NEXT, "glXDestroyContext"); - if (sdlGame) - return; - _glXDestroyContext(dpy, ctx); -} - -void glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf) -{ - void (*_glXDestroyPbuffer)(Display *dpy, GLXPbuffer pbuf) = dlsym(RTLD_NEXT, "glXDestroyPbuffer"); - if (sdlGame) - return; - _glXDestroyPbuffer(dpy, pbuf); -} - -XVisualInfo *glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config) -{ - XVisualInfo *(*_glXGetVisualFromFBConfig)(Display *dpy, GLXFBConfig config) = - dlsym(RTLD_NEXT, "glXGetVisualFromFBConfig"); - if (sdlGame) - return 0; - return _glXGetVisualFromFBConfig(dpy, config); -} - -Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx) -{ - Bool (*_glXMakeCurrent)(Display *dpy, GLXDrawable drawable, GLXContext ctx) = dlsym(RTLD_NEXT, "glXMakeCurrent"); - if (sdlGame) - { - SDL_GL_MakeCurrent(SDLwindow, SDLcontext); - return 1; - } - return _glXMakeCurrent(dpy, drawable, ctx); -} - -Bool glXQueryExtension(Display *dpy, int *errorBase, int *eventBase) -{ - Bool (*_glXQueryExtension)(Display *dpy, int *errorBase, int *eventBase) = dlsym(RTLD_NEXT, "glXQueryExtension"); - if (sdlGame) - return 0; - return _glXQueryExtension(dpy, errorBase, eventBase); -} - -GLXFBConfig *glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list, int *nelements) -{ - GLXFBConfig *(*_glXChooseFBConfig)(Display *dpy, int screen, const int *attrib_list, int *nelements) = - dlsym(RTLD_NEXT, "glXChooseFBConfig"); - - char *__GLX_VENDOR_LIBRARY_NAME = getenv("__GLX_VENDOR_LIBRARY_NAME"); - char *__NV_PRIME_RENDER_OFFLOAD = getenv("__NV_PRIME_RENDER_OFFLOAD"); - if (__GLX_VENDOR_LIBRARY_NAME == NULL) - __GLX_VENDOR_LIBRARY_NAME = " "; - if (__NV_PRIME_RENDER_OFFLOAD == NULL) - __NV_PRIME_RENDER_OFFLOAD = " "; - - switch (gId) - { - case THE_HOUSE_OF_THE_DEAD_4_REVA: - case THE_HOUSE_OF_THE_DEAD_4_REVB: - case THE_HOUSE_OF_THE_DEAD_4_REVC: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - case THE_HOUSE_OF_THE_DEAD_EX: - case TOO_SPICY: - { - if (strcmp(__GLX_VENDOR_LIBRARY_NAME, "nvidia") == 0 && strcmp(__NV_PRIME_RENDER_OFFLOAD, "1") == 0) - { - for (int i = 0; attrib_list[i] != None; i += 2) - { - if (attrib_list[i] == GLX_DOUBLEBUFFER) - { - int *ptr = (int *)&attrib_list[i + 1]; - patchMemory((intptr_t)ptr, "01"); - setVariable((intptr_t)ptr, GLX_DONT_CARE); - } - } - } - } - } - return _glXChooseFBConfig(dpy, screen, attrib_list, nelements); -} - -GLXContext glXCreateNewContext(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct) -{ - GLXContext (*_glXCreateNewContext)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, - Bool direct) = dlsym(RTLD_NEXT, "glXCreateNewContext"); - - GLXContext ctx = _glXCreateNewContext(dpy, config, render_type, share_list, direct); - - if (getConfig()->showDebugMessages) - { - // Enable OpenGL debug output - glEnable(GL_DEBUG_OUTPUT); - glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); - glDebugMessageCallback(openglDebugCallback, NULL); - } - return ctx; -} - -GLXPbuffer glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, - int *attrib_list) -{ - if (sdlGame) - return 0; - int pbufferAttribs[] = {GLX_PBUFFER_WIDTH, - width, - GLX_PBUFFER_HEIGHT, - height, - GLX_PRESERVED_CONTENTS, - true, - GLX_LARGEST_PBUFFER, - true, - None}; - return glXCreatePbuffer(dpy, config, pbufferAttribs); -} - -void glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf) -{ - if (sdlGame) - return; - glXDestroyPbuffer(dpy, pbuf); -} - -GLXFBConfigSGIX *glXChooseFBConfigSGIX(Display *dpy, int screen, int *attrib_list, int *nelements) -{ - if (sdlGame) - return 0; - int gId = getConfig()->crc32; - char *__GLX_VENDOR_LIBRARY_NAME = getenv("__GLX_VENDOR_LIBRARY_NAME"); - char *__NV_PRIME_RENDER_OFFLOAD = getenv("__NV_PRIME_RENDER_OFFLOAD"); - if (__GLX_VENDOR_LIBRARY_NAME == NULL) - __GLX_VENDOR_LIBRARY_NAME = " "; - if (__NV_PRIME_RENDER_OFFLOAD == NULL) - __NV_PRIME_RENDER_OFFLOAD = " "; - - switch (gId) - { - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - { - if (strcmp(__GLX_VENDOR_LIBRARY_NAME, "nvidia") == 0 && strcmp(__NV_PRIME_RENDER_OFFLOAD, "1") == 0) - { - for (int i = 0; attrib_list[i] != None; i += 2) - { - if (attrib_list[i] == GLX_DOUBLEBUFFER) - { - int *ptr = (int *)&attrib_list[i + 1]; - patchMemory((intptr_t)ptr, "01"); - } - } - } - } - } - return glXChooseFBConfig(dpy, screen, attrib_list, nelements); -} - -int glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value) -{ - if (sdlGame) - return 0; - return glXGetFBConfigAttrib(dpy, config, attribute, value); -} - -GLXContext glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, - Bool direct) -{ - if (sdlGame) - return 0; - return glXCreateNewContext(dpy, config, render_type, share_list, direct); -} - -const char *glXGetClientString(Display *dpy, int name) -{ - const char *(*_glXGetClientString)(Display *dpy, int name) = dlsym(RTLD_NEXT, "glXGetClientString"); - if (sdlGame) - return "SDLGame"; - return _glXGetClientString(dpy, name); -} - -Display *glXGetCurrentDisplay(void) -{ - Display *(*_glXGetCurrentDisplay)(void) = dlsym(RTLD_NEXT, "glXGetCurrentDisplay"); - if (sdlGame) - return (Display *)SDLwindow; - return _glXGetCurrentDisplay(); -} - -const char *glXQueryExtensionsString(Display *dpy, int screen) -{ - const char *(*_glXQueryExtensionsString)(Display *dpy, int screen) = dlsym(RTLD_NEXT, "glXQueryExtensionsString"); - if (sdlGame) - return ""; - return _glXQueryExtensionsString(dpy, screen); -} - -const char *glXQueryServerString(Display *dpy, int screen, int name) -{ - const char *(*_glXQueryServerString)(Display *dpy, int screen, int name) = dlsym(RTLD_NEXT, "glXQueryServerString"); - if (sdlGame) - return ""; - return _glXQueryServerString(dpy, screen, name); -} - -int glXGetVideoSyncSGI(uint *count) -{ - static unsigned int frameCount = 0; - *count = (frameCount++) / 2; - return 0; -} - -int glXGetRefreshRateSGI(unsigned int *rate) -{ - *rate = 60; - return 0; -} - -int glXSwapIntervalSGI(int interval) -{ - return 0; -} diff --git a/src/lindbergh/gpuvendor.c b/src/lindbergh/gpuVendor.c similarity index 88% rename from src/lindbergh/gpuvendor.c rename to src/lindbergh/gpuVendor.c index 3101aed..5ecbb3e 100644 --- a/src/lindbergh/gpuvendor.c +++ b/src/lindbergh/gpuVendor.c @@ -3,8 +3,10 @@ #endif #undef __x86_64__ #include -#include +#include #include +#include +#include #include "config.h" @@ -15,7 +17,7 @@ int getGPUVendorID() int vendorId; EmulatorConfig *config = getConfig(); gettingGPUVendor = true; - if (SDL_Init(SDL_INIT_VIDEO) < 0) + if (!SDL_Init(SDL_INIT_VIDEO)) { fprintf(stderr, "SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); exit(1); @@ -23,11 +25,10 @@ int getGPUVendorID() uint32_t windowFlags = SDL_WINDOW_OPENGL | SDL_WINDOW_HIDDEN; - SDL_Window *window = - SDL_CreateWindow("OpenGL", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, windowFlags); + SDL_Window *window = SDL_CreateWindow("OpenGL", 640, 480, windowFlags); if (!window) { - fprintf(stderr, "Window could not be created! SDL_Error: %s\n", SDL_GetError()); + fprintf(stderr, "Here Window could not be created! SDL_Error: %s\n", SDL_GetError()); exit(1); } diff --git a/src/lindbergh/gpuvendor.h b/src/lindbergh/gpuVendor.h similarity index 100% rename from src/lindbergh/gpuvendor.h rename to src/lindbergh/gpuVendor.h diff --git a/src/lindbergh/hook.c b/src/lindbergh/hook.c index 437c2cb..56306ac 100644 --- a/src/lindbergh/hook.c +++ b/src/lindbergh/hook.c @@ -1,78 +1,50 @@ #ifndef _GNU_SOURCE #define _GNU_SOURCE -#include -#include -#include #endif - #ifndef __i386__ #define __i386__ #endif - #undef __x86_64__ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include "baseboard.h" +#include "cardReader.h" +#include "baseBoard.h" #include "config.h" -#include "driveboard.h" +#include "driveBoard.h" #include "eeprom.h" -#include "gpuvendor.h" -#include "input.h" +#include "evdevInput.h" +#include "fpsLimiter.h" +#include "gpuVendor.h" +#include "hook.h" #include "jvs.h" -#include "patch.h" -#include "pcidata.h" -#include "resolution.h" -#include "rideboard.h" -#include "securityboard.h" -#include "shader_patches.h" -#include "fps_limiter.h" -#include "evdevinput.h" -#include "card_reader.h" -#include "touchscreen.h" #include "log.h" -#include "resources/font.h" +#include "patch.h" +#include "pciData.h" +#include "resolution.h" #include "resources/logo.h" +#include "resources/font.h" +#include "rideBoard.h" +#include "sdlCalls.h" +#include "sdlInput.h" +#include "securityBoard.h" +#include "shaderCache.h" +#include "touchScreen.h" #define HOOK_FILE_NAME "/dev/zero" -#define BASEBOARD 0 -#define EEPROM 1 -#define SERIAL0 2 -#define SERIAL1 3 -#define PCI_CARD_000 4 - -#define CPUINFO 0 -#define OSRELEASE 1 -#define PCI_CARD_1F0 2 -#define FILE_RW1 3 -#define FILE_RW2 4 -#define FILE_HARLEY 5 -#define FILE_FONT_ABC 6 -#define FILE_FONT_TGA 7 -#define FILE_LOGO_TGA 8 -#define ROUTE 9 - -int hooks[5] = {-1, -1, -1, -1, -1}; +DeviceType hooks[5] = {-1, -1, -1, -1, -1}; FILE *fileHooks[10] = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; -int fileRead[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; +FileTypes fileRead[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; char envpath[100]; int fontABCidx = 0; @@ -82,14 +54,21 @@ int logoTGAidx = 0; uint32_t elf_crc = 0; uint32_t gId = 0; +int gGrp = -1; + +int gWidth; +int gHeight; extern int hummerExtremeShaderFileIndex; extern bool cachedShaderFilesLoaded; extern char vf5StageNameAbbr[5]; bool phShowCursorInGame = false; -extern fps_limit fpsLimit; +extern FpsLimit fpsLimit; Controllers controllers = {0}; +extern SDLControllers sdlJoysticks; + +char *configFolder = {0}; static int callback(struct dl_phdr_info *info, size_t size, void *data); @@ -114,73 +93,92 @@ static void handleSegfault(int signal, siginfo_t *info, void *ptr) // Get the address of the instruction causing the segfault // uint8_t *code = (uint8_t *)ctx->uc_mcontext.gregs[REG_EIP]; greg_t eip_value = ctx->uc_mcontext.gregs[REG_EIP]; - uint8_t *code = (uint8_t *)(uintptr_t)eip_value; // Use uintptr_t to ensure proper alignment + uint8_t *code = (uint8_t *)(size_t)eip_value; // Use uintptr_t to ensure proper alignment switch (*code) { - case 0xED: // IN + case 0xED: // IN + { + // Get the port number from the EDX register + uint16_t port = ctx->uc_mcontext.gregs[REG_EDX] & 0xFFFF; + + // The first port called is usually random, but everything after that + // is a constant offset, so this is a hack to fix that. + // When run as sudo it works fine!? + + if (basePortAddress == 0xFFFF) + basePortAddress = port; + + // Adjust the port number if necessary + if (port > 0x38) + port = port - basePortAddress; + + // Call the security board input function with the port number and data + securityBoardIn(port, (uint32_t *)&(ctx->uc_mcontext.gregs[REG_EAX])); + + ctx->uc_mcontext.gregs[REG_EIP]++; + return; + } + break; + + case 0xE7: // OUT IMMEDIATE + { + // Increment the instruction pointer by two to skip over this instruction + ctx->uc_mcontext.gregs[REG_EIP] += 2; + return; + } + break; + + case 0xE6: // OUT IMMEDIATE + { + // Increment the instruction pointer by two to skip over this instruction + ctx->uc_mcontext.gregs[REG_EIP] += 2; + return; + } + break; + + case 0xEE: // OUT + { + uint16_t port = ctx->uc_mcontext.gregs[REG_EDX] & 0xFFFF; + uint8_t data = ctx->uc_mcontext.gregs[REG_EAX] & 0xFF; + ctx->uc_mcontext.gregs[REG_EIP]++; + return; + } + break; + + case 0xEF: // OUT + { + uint16_t port = ctx->uc_mcontext.gregs[REG_EDX] & 0xFFFF; + ctx->uc_mcontext.gregs[REG_EIP]++; + return; + } + break; + + default: + // repeat_printf("Skipping SEGFAULT %X\n", *code); + log_warn("Skipping SEGFAULT %X\n", *code); + ctx->uc_mcontext.gregs[REG_EIP]++; + // abort(); + } +} + +uint32_t getCrc32(const char *s, ssize_t n) +{ + uint32_t crc = 0xFFFFFFFF; + + for (size_t i = 0; i < n; i++) { - // Get the port number from the EDX register - uint16_t port = ctx->uc_mcontext.gregs[REG_EDX] & 0xFFFF; - - // The first port called is usually random, but everything after that - // is a constant offset, so this is a hack to fix that. - // When run as sudo it works fine!? - - if (basePortAddress == 0xFFFF) - basePortAddress = port; - - // Adjust the port number if necessary - if (port > 0x38) - port = port - basePortAddress; - - // Call the security board input function with the port number and data - securityBoardIn(port, (uint32_t *)&(ctx->uc_mcontext.gregs[REG_EAX])); - - ctx->uc_mcontext.gregs[REG_EIP]++; - return; - } - break; - - case 0xE7: // OUT IMMEDIATE - { - // Increment the instruction pointer by two to skip over this instruction - ctx->uc_mcontext.gregs[REG_EIP] += 2; - return; - } - break; - - case 0xE6: // OUT IMMEDIATE - { - // Increment the instruction pointer by two to skip over this instruction - ctx->uc_mcontext.gregs[REG_EIP] += 2; - return; - } - break; - - case 0xEE: // OUT - { - uint16_t port = ctx->uc_mcontext.gregs[REG_EDX] & 0xFFFF; - uint8_t data = ctx->uc_mcontext.gregs[REG_EAX] & 0xFF; - ctx->uc_mcontext.gregs[REG_EIP]++; - return; - } - break; - - case 0xEF: // OUT - { - uint16_t port = ctx->uc_mcontext.gregs[REG_EDX] & 0xFFFF; - ctx->uc_mcontext.gregs[REG_EIP]++; - return; - } - break; - - default: - // repeat_printf("Skipping SEGFAULT %X\n", *code); - log_warn("Skipping SEGFAULT %X\n", *code); - ctx->uc_mcontext.gregs[REG_EIP]++; - // abort(); + char ch = s[i]; + for (size_t j = 0; j < 8; j++) + { + uint32_t b = (ch ^ crc) & 1; + crc >>= 1; + if (b) + crc = crc ^ 0xEDB88320; + ch >>= 1; + } } + return ~crc; } /** @@ -276,6 +274,9 @@ bool checkOS_ID() */ void __attribute__((constructor)) hook_init() { + // We force x11 for SDL so the window do not scale in wayland. + setenv("SDL_VIDEODRIVER", "x11", 1); + // Get offsets of the Game's ELF and calculate CRC32. dl_iterate_phdr(callback, NULL); @@ -289,23 +290,25 @@ void __attribute__((constructor)) hook_init() initConfig(envPath); gId = getConfig()->crc32; + gGrp = getConfig()->gameGroup; + gWidth = getConfig()->width; + gHeight = getConfig()->height; if (!checkOS_ID()) { log_warn("Seems like you're not in debian-like system. There might be unexpected issues."); } - if (getConfig()->fpsLimiter == 1) - { - fpsLimit.targetFrameTime = 1000000 / getConfig()->fpsTarget; - fpsLimit.frameEnd = Clock_now(); - } + initFpsLimiter(); getGPUVendor(); if (initPatch() != 0) exit(1); + if (initSDL() != 0) + exit(1); + if (initResolutionPatches() != 0) exit(1); @@ -333,24 +336,25 @@ void __attribute__((constructor)) hook_init() exit(1); } - if (getConfig()->emulateCardreader) + if (getConfig()->emulateHW210CardReader) { if (initCardReader() != 0) exit(1); } - if (initInput() != 0) + envPath = getenv("LINDBERGH_CONTROLS_PATH"); + if (initSdlInput(envPath) != 0) exit(1); - if (initControllers(&controllers) != 0) + if (initEvdevControllers(&controllers) != 0) exit(1); securityBoardSetDipResolution(getConfig()->width, getConfig()->height); printf("\nSEGA Lindbergh Emulator\nBy the Lindbergh Development Team 2025\n\n"); printf(" GAME: %s\n", getGameName()); - printf(" GAME ID: %s\n", getGameID()); - printf(" DVP: %s\n", getDVPName()); + printf(" GAME ID: %s\n", getGameId()); + printf(" DVP: %s\n", getDvpName()); printf(" GPU VENDOR: %s\n", getConfig()->GPUVendorString); for (int i = 0; i < controllers.count; i++) @@ -362,25 +366,29 @@ void __attribute__((constructor)) hook_init() } printf("\n"); - switch (gId) + for (int i = 0; i < MAX_JOYSTICKS; i++) { - case LETS_GO_JUNGLE: - case LETS_GO_JUNGLE_REVA: - case LETS_GO_JUNGLE_SPECIAL: - case AFTER_BURNER_CLIMAX: - case AFTER_BURNER_CLIMAX_REVA: - case AFTER_BURNER_CLIMAX_REVB: - case AFTER_BURNER_CLIMAX_SDX: - case AFTER_BURNER_CLIMAX_SDX_REVA: - case AFTER_BURNER_CLIMAX_SE: - case AFTER_BURNER_CLIMAX_SE_REVA: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - if (getConfig()->GPUVendor == ATI_GPU) + SDL_Joystick *joy = NULL; + if (sdlJoysticks.controllers[i]) + joy = SDL_GetGamepadJoystick(sdlJoysticks.controllers[i]); + else if (sdlJoysticks.joysticks[i]) + joy = sdlJoysticks.joysticks[i]; + + if (joy != NULL) + printf(" SDL CONTROLLER %d: %s\n", i, SDL_GetJoystickName(joy)); + } + printf("\n"); + + switch (gGrp) + { + case GROUP_LGJ: + case GROUP_ABC: + case GROUP_ID5: { - printf("WARNING: Game %s is unsupported in AMD GPU with ATI driver\n", getGameName()); + if (getConfig()->GPUVendor == ATI_GPU) + { + printf("WARNING: Game %s is unsupported in AMD GPU with ATI driver\n", getGameName()); + } } } } @@ -396,33 +404,15 @@ DIR *opendir(const char *dirname) { DIR *(*_opendir)(const char *dirname) = dlsym(RTLD_NEXT, "opendir"); - switch (gId) + if (strcmp(dirname, "/tmp/") == 0 && gGrp == GROUP_ID5) { - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - if (strcmp(dirname, "/tmp/") == 0) - { - return _opendir(dirname + 1); - } + return _opendir(dirname + 1); } // Fix for Outrun high scores - switch (gId) + if (strcmp(dirname, "/home/disk1/rankingdata") == 0 && (gGrp == GROUP_OUTRUN || gGrp == GROUP_OUTRUN_TEST)) { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - { - if (strcmp(dirname, "/home/disk1/rankingdata") == 0) - { - return _opendir("./rankingdata"); - } - } + return _opendir("./rankingdata"); } return _opendir(dirname); } @@ -438,19 +428,9 @@ int remove(const char *path) { int (*_remove)(const char *path) = dlsym(RTLD_NEXT, "remove"); - switch (gId) + if (strcmp(path, "/home/disk1/rankingdata/%s") == 0 && (gGrp == GROUP_OUTRUN || gGrp == GROUP_OUTRUN_TEST)) { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - { - if (strcmp(path, "/home/disk1/rankingdata/%s") == 0) - { - return _remove("./rankingdata/%s"); - } - } + return _remove("./rankingdata/%s"); } return _remove(path); } @@ -466,19 +446,9 @@ int mkdir(const char *path, mode_t mode) { int (*_mkdir)(const char *path, mode_t mode) = dlsym(RTLD_NEXT, "mkdir"); - switch (gId) + if (strcmp(path, "/home/disk1/rankingdata") == 0 && (gGrp == GROUP_OUTRUN || gGrp == GROUP_OUTRUN_TEST)) { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - { - if (strcmp(path, "/home/disk1/rankingdata") == 0) - { - return _mkdir("./rankingdata", mode); - } - } + return _mkdir("./rankingdata", mode); } return _mkdir(path, mode); } @@ -531,19 +501,19 @@ int open(const char *pathname, int flags, ...) if (strcmp(pathname, "/dev/ttyS0") == 0 || strcmp(pathname, "/dev/tts/0") == 0) { - if (getConfig()->emulateDriveboard == 0 && getConfig()->emulateRideboard == 0 && getConfig()->emulateCardreader == 0 && + if (getConfig()->emulateDriveboard == 0 && getConfig()->emulateRideboard == 0 && getConfig()->emulateHW210CardReader == 0 && getConfig()->emulateTouchscreen == 0) return _open(getConfig()->serial1Path, flags, mode); - if (hooks[SERIAL0] != -1 && getConfig()->emulateCardreader && gId != R_TUNED) + if (hooks[SERIAL0] != -1 && getConfig()->emulateHW210CardReader && gId != R_TUNED) { return hooks[SERIAL0]; } hooks[SERIAL0] = _open(HOOK_FILE_NAME, flags, mode); - printf("Warning: SERIAL0 Opened %d\n", hooks[SERIAL0]); + log_warn("SERIAL0 Opened %d\n", hooks[SERIAL0]); - if (getConfig()->emulateCardreader == 1 && gId != R_TUNED) + if (getConfig()->emulateHW210CardReader == 1 && gId != R_TUNED) cardReaderSetFd(0, hooks[SERIAL0], getConfig()->cardFile1); return hooks[SERIAL0]; @@ -551,10 +521,11 @@ int open(const char *pathname, int flags, ...) if (strcmp(pathname, "/dev/ttyS1") == 0 || strcmp(pathname, "/dev/tts/1") == 0) { - if (getConfig()->emulateDriveboard == 0 && getConfig()->emulateMotionboard == 0 && getConfig()->emulateCardreader == 0) + if (getConfig()->emulateDriveboard == 0 && getConfig()->emulateMotionboard == 0 && getConfig()->emulateHW210CardReader == 0 && + getConfig()->emulateTouchscreen == 0) return _open(getConfig()->serial2Path, flags, mode); - if (hooks[SERIAL1] != -1 && getConfig()->emulateCardreader && gId != R_TUNED) + if (hooks[SERIAL1] != -1 && getConfig()->emulateHW210CardReader && gId != R_TUNED) { return hooks[SERIAL1]; } @@ -562,7 +533,7 @@ int open(const char *pathname, int flags, ...) hooks[SERIAL1] = _open(HOOK_FILE_NAME, flags, mode); log_warn("SERIAL1 opened %d\n", hooks[SERIAL1]); - if (getConfig()->emulateCardreader == 1) + if (getConfig()->emulateHW210CardReader == 1) cardReaderSetFd(1, hooks[SERIAL1], getConfig()->cardFile2); return hooks[SERIAL1]; @@ -744,19 +715,9 @@ FILE *fopen(const char *restrict pathname, const char *restrict mode) } // Fix for Outrun high scores - switch (gId) + if ((newPathname = strstr(pathname, "/home/disk1")) != NULL && (gGrp == GROUP_OUTRUN || gGrp == GROUP_OUTRUN_TEST)) { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - { - if ((newPathname = strstr(pathname, "/home/disk1")) != NULL) - { - pathname = newPathname + 12; - } - } + pathname = newPathname + 12; } // This forces LGJ games and ID games to not use the pre-compiled shaders. @@ -797,17 +758,9 @@ FILE *fopen(const char *restrict pathname, const char *restrict mode) } } - switch (gId) + if (strncmp(pathname, "/tmp/", 5) == 0 && gGrp == GROUP_ID5) { - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - if (strncmp(pathname, "/tmp/", 5) == 0) - { - return fopen(pathname + 1, mode); - } + return fopen(pathname + 1, mode); } if (gId == PRIMEVAL_HUNT) @@ -825,9 +778,6 @@ FILE *fopen(const char *restrict pathname, const char *restrict mode) else if (strstr(pathname, "/data/lua/stage/bonus_0") != NULL) phShowCursorInGame = true; } - - // printf("Path= %s\n", pathname); - return _fopen(pathname, mode); } @@ -907,34 +857,33 @@ FILE *fopen64(const char *pathname, const char *mode) } int idx; - switch (gId) + + if (gGrp == GROUP_HUMMER) { - case HUMMER: - case HUMMER_SDLX: - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: if (shaderFileInList(pathname, &idx)) { hummerExtremeShaderFileIndex = idx; } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: - if (getConfig()->GPUVendor != NVIDIA_GPU && getConfig()->GPUVendor != ATI_GPU) - { - char *filename = basename((char *)pathname); - if (strstr(filename, "light_") || strstr(filename, "glow_")) - { - char *start = strchr(filename, '_') + 1; - char *end = strstr(filename, ".txt"); - strncpy(vf5StageNameAbbr, start, end - start); - vf5StageNameAbbr[end - start] = '\0'; - } - } + return _fopen64(pathname, mode); } - // printf("fopen64 %s\n", pathname); + switch (gId) + { + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: + if (getConfig()->GPUVendor != NVIDIA_GPU && getConfig()->GPUVendor != ATI_GPU) + { + char *filename = basename((char *)pathname); + if (strstr(filename, "light_") || strstr(filename, "glow_")) + { + char *start = strchr(filename, '_') + 1; + char *end = strstr(filename, ".txt"); + strncpy(vf5StageNameAbbr, start, end - start); + vf5StageNameAbbr[end - start] = '\0'; + } + } + } return _fopen64(pathname, mode); } @@ -979,8 +928,8 @@ int openat(int dirfd, const char *pathname, int flags, ...) int (*_openat)(int dirfd, const char *pathname, int flags) = dlsym(RTLD_NEXT, "openat"); // printf("openat %s\n", pathname); - if (strcmp(pathname, "/dev/ttyS0") == 0 || strcmp(pathname, "/dev/ttyS1") == 0 || - strcmp(pathname, "/dev/tts/0") == 0 || strcmp(pathname, "/dev/tts/1") == 0) + if (strcmp(pathname, "/dev/ttyS0") == 0 || strcmp(pathname, "/dev/ttyS1") == 0 || strcmp(pathname, "/dev/tts/0") == 0 || + strcmp(pathname, "/dev/tts/1") == 0) { return open(pathname, flags); } @@ -1044,7 +993,6 @@ char *fgets(char *str, int n, FILE *stream) if (getConfig()->lindberghColour == RED || getConfig()->lindberghColour == REDEX) strcpy(contents[3], "model name : Intel(R) Celeron(R) CPU 2.80GHz"); - if (fileRead[CPUINFO] == 4) return NULL; @@ -1065,7 +1013,7 @@ char *fgets(char *str, int n, FILE *stream) ssize_t read(int fd, void *buf, size_t count) { int (*_read)(int fd, void *buf, size_t count) = dlsym(RTLD_NEXT, "read"); - + void *addr = __builtin_return_address(0); if (fd == hooks[BASEBOARD]) { return baseboardRead(fd, buf, count); @@ -1081,7 +1029,7 @@ ssize_t read(int fd, void *buf, size_t count) return driveboardRead(fd, buf, count); } - if ((fd == hooks[SERIAL0] || fd == hooks[SERIAL1]) && getConfig()->emulateCardreader) + if ((fd == hooks[SERIAL0] || fd == hooks[SERIAL1]) && getConfig()->emulateHW210CardReader) { return cardReaderRead(fd, buf, count); } @@ -1202,14 +1150,14 @@ int fseek(FILE *stream, long int offset, int whence) { switch (whence) { - case SEEK_CUR: - break; - case SEEK_SET: - fontABCidx = 0; - break; - case SEEK_END: - fontABCidx = fontABClen; - break; + case SEEK_CUR: + break; + case SEEK_SET: + fontABCidx = 0; + break; + case SEEK_END: + fontABCidx = fontABClen; + break; } return fontABCidx; } @@ -1247,7 +1195,7 @@ void rewind(FILE *stream) ssize_t write(int fd, const void *buf, size_t count) { int (*_write)(int fd, const void *buf, size_t count) = dlsym(RTLD_NEXT, "write"); - + void *addr = __builtin_return_address(0); if (fd == hooks[BASEBOARD]) { return baseboardWrite(fd, buf, count); @@ -1260,16 +1208,16 @@ ssize_t write(int fd, const void *buf, size_t count) if (fd == hooks[SERIAL0] && getConfig()->emulateDriveboard) { - // printf("Write addr: %p\n", addr); return driveboardWrite(fd, buf, count); } - if (fd == hooks[SERIAL1] && getConfig()->emulateDriveboard && gId != R_TUNED) + if (fd == hooks[SERIAL1] && getConfig()->emulateDriveboard) { - return driveboardWrite(fd, buf, count); + if (gGrp != GROUP_OUTRUN && gGrp != GROUP_OUTRUN_TEST && gId != R_TUNED) + return driveboardWrite(fd, buf, count); } - if ((fd == hooks[SERIAL0] || fd == hooks[SERIAL1]) && getConfig()->emulateCardreader) + if ((fd == hooks[SERIAL0] || fd == hooks[SERIAL1]) && getConfig()->emulateHW210CardReader) { return cardReaderWrite(fd, buf, count); } @@ -1284,33 +1232,46 @@ ssize_t write(int fd, const void *buf, size_t count) * devices based on the file descriptor. * @param fd The file descriptor to perform the ioctl on. */ -int ioctl(int fd, unsigned int request, void *data) +int ioctl(int fd, unsigned long int request, ...) { + va_list args; + va_start(args, request); + void *argp = va_arg(args, void *); + va_end(args); + int (*_ioctl)(int fd, int request, void *data) = dlsym(RTLD_NEXT, "ioctl"); if (fd == hooks[EEPROM]) { if (request == 0xC04064A0) - return _ioctl(fd, request, data); - return eepromIoctl(fd, request, data); + return _ioctl(fd, request, argp); + return eepromIoctl(fd, request, argp); } if (fd == hooks[BASEBOARD]) { - return baseboardIoctl(fd, request, data); + return baseboardIoctl(fd, request, argp); } if (fd == hooks[SERIAL0] || fd == hooks[SERIAL1]) { - if (request == 0x541b && gId == R_TUNED && fd == hooks[SERIAL1]) + if (request == 0x541b && (gId == R_TUNED) && fd == hooks[SERIAL1]) { uint8_t d = 1; - memcpy(data, &d, sizeof(uint8_t)); + memcpy(argp, &d, sizeof(uint8_t)); } return 0; } - return _ioctl(fd, request, data); + // Replace "eth0" with your interface name set in the config file. + if ((gGrp == GROUP_ID4_EXP || gId == INITIALD_5_EXP_20 || gId == INITIALD_5_EXP_20A ) && + (request == SIOCGIFFLAGS || request == SIOCGIFADDR) && getConfig()->enableNetworkPatches && strcmp(getConfig()->nicName, "") != 0) + { + struct ifreq *ifr = (struct ifreq *)argp; + strncpy(ifr->ifr_name, getConfig()->nicName, IFNAMSIZ); + } + + return _ioctl(fd, request, argp); } /** @@ -1419,12 +1380,11 @@ int cfsetospeed(struct termios *termios_p, speed_t speed) * @brief Hook for the select function. * * This function intercepts calls to select and redirects them to different - * devices based on the file descriptor. + * devices based on the file descriptor.c7 45 c8 65 74 68 30 * @param nfds The highest file descriptor number plus one. * @param readfds The file descriptors to check for readability. */ -int select(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, - struct timeval *restrict timeout) +int select(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, struct timeval *restrict timeout) { int (*_select)(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict exceptfds, struct timeval *restrict timeout) = dlsym(RTLD_NEXT, "select"); @@ -1439,7 +1399,8 @@ int select(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set return baseboardSelect(nfds, readfds, writefds, exceptfds, timeout); } - if (getConfig()->emulateCardreader == 1 || getConfig()->emulateDriveboard == 1) + if ((getConfig()->emulateHW210CardReader == 1 || getConfig()->emulateDriveboard == 1) && + (gGrp != GROUP_ID5 && gGrp != GROUP_ID4_EXP && gGrp != GROUP_ID4_JAP)) { return 1; } @@ -1488,6 +1449,15 @@ int system(const char *command) if (strstr(command, "check_ip.sh") != NULL) return 0; + if (strcmp(command, "ifconfig eth0 10.0.0.1 netmask 255.255.255.0") == 0) + return 0; + + if (strcmp(command, "ifconfig eth0 10.0.0.2 netmask 255.255.255.0") == 0) + return 0; + + if (strcmp(command, "touch /tmp/segaboot/test") == 0) + command = "touch tmp/segaboot/test"; + return _system(command); } @@ -1504,12 +1474,20 @@ char *strncpy(char *dest, const char *src, size_t n) switch (gId) { - case HARLEY_DAVIDSON: - case RAMBO: - case THE_HOUSE_OF_THE_DEAD_EX: - case TOO_SPICY: - if (getConfig()->GPUVendor != NVIDIA_GPU && (strstr(src, "../fs/compiledshader") != NULL || strstr(src, "../fs/compiled") != NULL)) - return _strncpy(dest, "../fs/compiledmesa", n); + case HARLEY_DAVIDSON: + case RAMBO: + case RAMBO_CHINA: + case THE_HOUSE_OF_THE_DEAD_EX: + case TOO_SPICY: + if (getConfig()->GPUVendor != NVIDIA_GPU && + (strstr(src, "../fs/compiledshader") != NULL || strstr(src, "../fs/compiled") != NULL)) + return _strncpy(dest, "../fs/compiledmesa", n); + break; + case QUIZ_AXA: + case QUIZ_AXA_LIVE: + if (getConfig()->GPUVendor != NVIDIA_GPU && strstr(src, "../../data/compiledshader") != NULL) + return _strncpy(dest, "../../data/compiledmesa", n); + break; } return _strncpy(dest, src, n); } @@ -1547,92 +1525,6 @@ float powf(float base, float exponent) return (float)pow((double)base, (double)exponent); } -/* -int sem_wait(sem_t *sem) -{ - int (*original_sem_wait)(sem_t * sem) = dlsym(RTLD_NEXT, "sem_wait"); - return 0; -} -*/ - -/** - * @brief Gets the machine's IP address. - * - * This function retrieves the machine's IP address and stores it in the - * provided sockaddr_in structure. - * @param addr The sockaddr_in structure to store the IP address in. - */ -int get_machine_ip(struct sockaddr_in *addr) -{ - struct ifaddrs *ifaddr, *ifa; - char ip_buffer[INET_ADDRSTRLEN]; - - if (getifaddrs(&ifaddr) == -1) - { - perror("getifaddrs"); - return -1; - } - - for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) - { - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET) - { - if (inet_ntop(AF_INET, &((struct sockaddr_in *)ifa->ifa_addr)->sin_addr, ip_buffer, sizeof(ip_buffer))) - { - if (strcmp(ifa->ifa_name, "lo") != 0) - { - addr->sin_addr.s_addr = inet_addr(ip_buffer); - freeifaddrs(ifaddr); - return 0; - } - } - } - } - - freeifaddrs(ifaddr); - return -1; -} - -/** - * Hook function used by Harley Davidson to change IPs to localhost - * Currently does nothing. - * @param sockfd - * @param addr - * @param addrlen - * @return - */ -int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) -{ - int (*_connect)(int sockfd, const struct sockaddr *addr, socklen_t addrlen) = dlsym(RTLD_NEXT, "connect"); - - struct sockaddr_in *in_pointer = (struct sockaddr_in *)addr; - - // IP addresses to replace - const char *specific_ips[] = {"192.168.1.1", "192.168.1.5", "192.168.1.9"}; - int num_specific_ips = sizeof(specific_ips) / sizeof(specific_ips[0]); - - if (getConfig()->crc32 == HARLEY_DAVIDSON) - { - char *ip_address = inet_ntoa(in_pointer->sin_addr); - for (int i = 0; i < num_specific_ips; ++i) - { - if (strcmp(ip_address, specific_ips[i]) == 0) - { - // Change the IP to connect to 127.0.0.1 - in_pointer->sin_addr.s_addr = inet_addr("127.0.0.1"); - if (getConfig()->showDebugMessages) - { - char *some_addr = inet_ntoa(in_pointer->sin_addr); - printf("Connecting to %s\n", some_addr); - } - break; - } - } - } - - return _connect(sockfd, addr, addrlen); -} - /** * @brief Callback function for dl_iterate_phdr. * @@ -1644,7 +1536,7 @@ static int callback(struct dl_phdr_info *info, size_t size, void *data) { if ((info->dlpi_phnum >= 3) && (info->dlpi_phdr[2].p_type == PT_LOAD) && (info->dlpi_phdr[2].p_flags == 5)) { - elf_crc = get_crc32((void *)(size_t)(info->dlpi_addr + info->dlpi_phdr[2].p_vaddr + 10), 0x4000); + elf_crc = getCrc32((void *)(size_t)(info->dlpi_addr + info->dlpi_phdr[2].p_vaddr + 10), 0x4000); } return 1; } @@ -1680,18 +1572,7 @@ char *getenv(const char *name) if (strcmp(name, "TEA_DIR") == 0) { - switch (gId) - { - case VIRTUA_TENNIS_3: - case VIRTUA_TENNIS_3_TEST: - case VIRTUA_TENNIS_3_REVA: - case VIRTUA_TENNIS_3_REVA_TEST: - case VIRTUA_TENNIS_3_REVB: - case VIRTUA_TENNIS_3_REVB_TEST: - case VIRTUA_TENNIS_3_REVC: - case VIRTUA_TENNIS_3_REVC_TEST: - case RAMBO: - case TOO_SPICY: + if (gGrp == GROUP_VT3 || gGrp == GROUP_VT3_TEST || gId == RAMBO || gId == RAMBO_CHINA || gId == TOO_SPICY) { if (getcwd(envpath, 100) == NULL) return ""; @@ -1701,14 +1582,12 @@ char *getenv(const char *name) *ptr = '\0'; return envpath; } - break; - default: + else { if (getcwd(envpath, 100) == NULL) return ""; return envpath; } - } } if (strcmp(name, "__GL_SYNC_TO_VBLANK") == 0) @@ -1759,14 +1638,26 @@ char *__strdup(const char *string) */ struct tm *localtime_r(const time_t *timep, struct tm *result) { - struct tm *(*_localtime_r)(const time_t *, struct tm *) = - (struct tm * (*)(const time_t *, struct tm *)) dlsym(RTLD_NEXT, "localtime_r"); + struct tm *(*_gmtime_r)(const time_t *, struct tm *) = (struct tm * (*)(const time_t *, struct tm *)) dlsym(RTLD_NEXT, "gmtime_r"); if ((gId == MJ4_REVG || gId == MJ4_EVO) && getConfig()->mj4EnabledAtT == 1) { time_t target_time = 1735286445; - struct tm *res = _localtime_r(&target_time, result); + struct tm *res = _gmtime_r(&target_time, result); return res; } - return _localtime_r(timep, result); + return _gmtime_r(timep, result); } + +struct tm *gmtime_r(const time_t *timep, struct tm *result) +{ + struct tm *(*_gmtime_r)(const time_t *, struct tm *) = (struct tm * (*)(const time_t *, struct tm *)) dlsym(RTLD_NEXT, "gmtime_r"); + + if ((gId == QUIZ_AXA || gId == QUIZ_AXA_LIVE) && getConfig()->mj4EnabledAtT == 1) + { + time_t target_time = 1735286445; + struct tm *res = _gmtime_r(&target_time, result); + return res; + } + return _gmtime_r(timep, result); +} \ No newline at end of file diff --git a/src/lindbergh/hook.h b/src/lindbergh/hook.h new file mode 100644 index 0000000..6110634 --- /dev/null +++ b/src/lindbergh/hook.h @@ -0,0 +1,24 @@ +#pragma once + +typedef enum +{ + BASEBOARD = 0, + EEPROM = 1, + SERIAL0 = 2, + SERIAL1 = 3, + PCI_CARD_000 = 4 +} DeviceType; + +typedef enum +{ + CPUINFO = 0, + OSRELEASE = 1, + PCI_CARD_1F0 = 2, + FILE_RW1 = 3, + FILE_RW2 = 4, + FILE_HARLEY = 5, + FILE_FONT_ABC = 6, + FILE_FONT_TGA = 7, + FILE_LOGO_TGA = 8, + ROUTE = 9 +} FileTypes; \ No newline at end of file diff --git a/src/lindbergh/iniParser.c b/src/lindbergh/iniParser.c new file mode 100644 index 0000000..f01dbbc --- /dev/null +++ b/src/lindbergh/iniParser.c @@ -0,0 +1,228 @@ +#include +#include +#include +#include +#include + +#include "iniParser.h" +#include "log.h" + +/** + * @brief Trims leading and trailing whitespace from a string in-place. + * @param str The string to trim. + * @return A pointer to the beginning of the trimmed string. + */ +static char *trimString(char *str) +{ + char *end; + while (isspace((unsigned char)*str)) + str++; + if (*str == 0) + return str; + end = str + strlen(str) - 1; + while (end > str && isspace((unsigned char)*end)) + end--; + end[1] = '\0'; + return str; +} + +/** + * @brief Loads and parses an INI file into an IniConfig structure. + * This function reads an INI file, parsing its sections and key-value pairs. + * It allocates memory for the configuration structure, which must be freed + * later by calling iniFree(). + * @param filename The path to the INI file. + * @return A pointer to the newly created IniConfig structure, or NULL on failure. + */ +IniConfig *iniLoad(const char *filename) +{ + FILE *file = fopen(filename, "r"); + if (!file) + { + log_warn("Error opening INI file"); + return NULL; + } + IniConfig *config = calloc(1, sizeof(IniConfig)); + if (!config) + return NULL; + char line[1024]; + IniSection *currentSection = NULL; + while (fgets(line, sizeof(line), file)) + { + char *trimmedLine = trimString(line); + if (trimmedLine[0] == ';' || trimmedLine[0] == '#' || trimmedLine[0] == '\0') + continue; + if (trimmedLine[0] == '[' && trimmedLine[strlen(trimmedLine) - 1] == ']') + { + config->sections = realloc(config->sections, (config->numSections + 1) * sizeof(IniSection)); + currentSection = &config->sections[config->numSections++]; + currentSection->numPairs = 0; + currentSection->pairs = NULL; + char *sectionName = trimmedLine + 1; + sectionName[strlen(sectionName) - 1] = '\0'; + currentSection->name = strdup(sectionName); + } + else if (currentSection && strchr(trimmedLine, '=')) + { + char *key = trimmedLine; + char *value = strchr(trimmedLine, '='); + *value = '\0'; + value++; + key = trimString(key); + value = trimString(value); + currentSection->pairs = realloc(currentSection->pairs, (currentSection->numPairs + 1) * sizeof(IniKeyValuePair)); + IniKeyValuePair *pair = ¤tSection->pairs[currentSection->numPairs++]; + pair->key = strdup(key); + pair->value = strdup(value); + } + } + fclose(file); + return config; +} + +/** + * @brief Retrieves a section from the INI configuration by its name. + * @param config Pointer to the INI configuration structure. + * @param section_name The name of the section to find. + * @return A pointer to the IniSection if found, otherwise NULL. + */ +IniSection *iniGetSection(const IniConfig *config, const char *sectionName) +{ + if (!config) + return NULL; + for (int i = 0; i < config->numSections; i++) + { + if (strcmp(config->sections[i].name, sectionName) == 0) + return &config->sections[i]; + } + return NULL; +} + +/** + * @brief Frees all memory associated with an IniConfig structure. + * This includes all sections, key-value pairs, and their names. + * @param config Pointer to the INI configuration structure to free. + */ +void iniFree(IniConfig *config) +{ + if (!config) + return; + for (int i = 0; i < config->numSections; i++) + { + for (int j = 0; j < config->sections[i].numPairs; j++) + { + free(config->sections[i].pairs[j].key); + free(config->sections[i].pairs[j].value); + } + free(config->sections[i].pairs); + free(config->sections[i].name); + } + free(config->sections); + free(config); +} + +/** + * @brief Sets a key-value pair in a given section. + * If the section does not exist, it is created. + * If the key exists within the section, its value is updated. + * If the key does not exist, it is created. + * @param config Pointer to the INI configuration structure. + * @param section_name The name of the section. + * @param key The key to set. + * @param value The value to associate with the key. + */ +bool iniSetValue(IniConfig *config, const char *sectionName, const char *key, const char *value) +{ + if (!config || !sectionName || !key || !value) + { + return false; + } + + // Find the section, or create it if it doesn't exist. + IniSection *section = iniGetSection(config, sectionName); + if (!section) + { + config->sections = realloc(config->sections, (config->numSections + 1) * sizeof(IniSection)); + section = &config->sections[config->numSections++]; + section->name = strdup(sectionName); + section->pairs = NULL; + section->numPairs = 0; + } + + // Find the key within the section. + for (int i = 0; i < section->numPairs; i++) + { + if (strcmp(section->pairs[i].key, key) == 0) + { + // Key found, update the value. + free(section->pairs[i].value); + section->pairs[i].value = strdup(value); + return true; + } + } + + // Key not found, add a new key-value pair. + section->pairs = realloc(section->pairs, (section->numPairs + 1) * sizeof(IniKeyValuePair)); + IniKeyValuePair *pair = §ion->pairs[section->numPairs++]; + pair->key = strdup(key); + pair->value = strdup(value); + return true; +} + +/** + * @brief Saves the in-memory INI configuration to a file. + * NOTE: This will overwrite the existing file and will lose any comments + * or special formatting from the original. + * @param config Pointer to the INI configuration to save. + * @param filename The path of the file to save to. + * @return 0 on success, -1 on failure (e.g., cannot open file for writing). + */ +int iniSave(const IniConfig *config, const char *filename) +{ + if (!config || !filename) + { + return -1; + } + + FILE *file = fopen(filename, "w"); + if (!file) + { + perror("Error saving INI file"); + return -1; + } + + // Write each section and its key-value pairs + for (int i = 0; i < config->numSections; i++) + { + IniSection *section = &config->sections[i]; + fprintf(file, "[%s]\n", section->name); + for (int j = 0; j < section->numPairs; j++) + { + IniKeyValuePair *pair = §ion->pairs[j]; + fprintf(file, "%s = %s\n", pair->key, pair->value); + } + // Add a blank line between sections for readability + if (i < config->numSections - 1) + { + fprintf(file, "\n"); + } + } + + fclose(file); + return 0; +} + +const char *iniGetValue(const IniConfig *config, const char *sectionName, const char *key) +{ + IniSection *section = iniGetSection(config, sectionName); + if (!section) + return NULL; + + for (int i = 0; i < section->numPairs; i++) + { + if (strcmp(section->pairs[i].key, key) == 0) + return section->pairs[i].value; + } + + return NULL; +} diff --git a/src/lindbergh/iniParser.h b/src/lindbergh/iniParser.h new file mode 100644 index 0000000..d29ba2c --- /dev/null +++ b/src/lindbergh/iniParser.h @@ -0,0 +1,29 @@ +#pragma once + +#include + +typedef struct +{ + char *key; + char *value; +} IniKeyValuePair; + +typedef struct +{ + char *name; + IniKeyValuePair *pairs; + int numPairs; +} IniSection; + +typedef struct +{ + IniSection *sections; + int numSections; +} IniConfig; + +IniConfig *iniLoad(const char *filename); +void iniFree(IniConfig *config); +const char *iniGetValue(const IniConfig *config, const char *section, const char *key); +IniSection *iniGetSection(const IniConfig *config, const char *sectionName); +bool iniSetValue(IniConfig *config, const char *section, const char *key, const char *value); +int iniSave(const IniConfig *config, const char *filename); \ No newline at end of file diff --git a/src/lindbergh/input.c b/src/lindbergh/input.c deleted file mode 100644 index f1ae296..0000000 --- a/src/lindbergh/input.c +++ /dev/null @@ -1,977 +0,0 @@ -#ifndef __i386__ -#define __i386__ -#include "customcursor.h" -#endif -#undef __x86_64__ -#include - -#include "jvs.h" -#include "config.h" -#include "customcursor.h" -#include "patch.h" -#include "touchscreen.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -GameType gameType = SHOOTING; -int jvsAnalogueInBits = 10; -extern int phX, phY, phW, phH; -extern int phX2, phY2, phW2, phH2; -int phIsDragging = 0; - -extern void *customCursor; -extern void *phTouchCursor; -extern bool phShowCursorInGame; - -int initInput() -{ - gameType = getConfig()->gameType; - jvsAnalogueInBits = getJVSIO()->capabilities.analogueInBits; - - /* Center Steering wheel in racing games (need to add a check for when using real analog devices)*/ - if (gameType == DRIVING) - { - setAnalogue(ANALOGUE_1, pow(2, jvsAnalogueInBits) * 0.5); - } - - return 0; -} - -void phTouchScreenCursor(int mX, int mY, int *motX, int *motY) -{ - if (getConfig()->emulateTouchscreen) - { - switch (getConfig()->phMode) - { - case 0: - case 2: - case 3: - if ((mX >= phX2 && mX <= (phX2 + phW2) && mY >= phY2 && mY <= (phY2 + phH2)) && getConfig()->hideCursor == 0) - { - setCursor(phTouchCursor); - showPhCursor(); - } - else if (getConfig()->hideCursor == 1 || phShowCursorInGame == false) - { - hideCursor(); - } - else if (phShowCursorInGame && getConfig()->hideCursor == 0) - { - setCursor(customCursor); - showCursor(); - } - break; - case 4: - if ((mX >= phX2 && mX <= (phX2 + phW2) && mY >= (phY2 + phH) && mY <= (phY2 + (phH2 + phH))) && getConfig()->hideCursor == 0) - { - setCursor(phTouchCursor); - showPhCursor(); - } - else if (getConfig()->hideCursor == 1 || phShowCursorInGame == false) - { - hideCursor(); - } - else if (phShowCursorInGame && getConfig()->hideCursor == 0) - { - setCursor(customCursor); - showCursor(); - } - } - } - if (mX < phX) - *motX = phX; - if (mX > (phW + phX)) - *motX = (phW + phX) - 1; - if (mY > phH + phY) - *motY = (phH + phY) - 1; - if (mY < phY) - *motY = phY; -} - -void phTouchClick(int mX, int mY, int type) -{ - int x, y; - bool insideTouchScreen = false; - switch (getConfig()->phMode) - { - case 0: - case 2: - case 3: - if (mX >= phX2 && mX <= (phX2 + phW2) && mY >= phY2 && mY <= (phY2 + phH2)) - { - x = mX - phW; - y = mY - phY2; - insideTouchScreen = true; - } - break; - case 4: - if (mX >= phX2 && mX <= (phX2 + phW2) && mY >= (phY2 + phH) && mY <= (phY2 + (phH2 + phH))) - { - x = mX - phX2; - y = mY - phH; - insideTouchScreen = true; - } - } - if (insideTouchScreen) - { - if (type == ButtonPress) - phCoordinates(x, y, phW2, phH2, ButtonPress); - else if (type == SDL_MOUSEBUTTONDOWN) - phCoordinates(x, y, phW2, phH2, SDL_MOUSEBUTTONDOWN); - else if (type == ButtonRelease) - phCoordinates(x, y, phW2, phH2, ButtonRelease); - else if (type == SDL_MOUSEBUTTONUP) - phCoordinates(x, y, phW2, phH2, SDL_MOUSEBUTTONUP); - else if (type == MotionNotify) - phCoordinates(x, y, phW2, phH2, MotionNotify); - else if (type == SDL_MOUSEMOTION) - phCoordinates(x, y, phW2, phH2, SDL_MOUSEMOTION); - } - else - { - if (getConfig()->noSDL) - setSwitch(PLAYER_1, BUTTON_1, type == ButtonPress); - else - setSwitch(PLAYER_1, BUTTON_1, type == SDL_MOUSEBUTTONDOWN); - } -} - -/** - * Button mapping used for driving games - */ -int XNextEventDriving(Display *display, XEvent *event_return, int returnValue) -{ - KeyMapping keymap = getConfig()->keymap; - switch (event_return->type) - { - case KeyPress: - case KeyRelease: - { - if (event_return->xkey.keycode == keymap.test) - setSwitch(SYSTEM, BUTTON_TEST, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.service) - setSwitch(PLAYER_1, BUTTON_SERVICE, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.coin) - incrementCoin(PLAYER_1, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.up) - setAnalogue(ANALOGUE_2, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) - 1 : 0); - - else if (event_return->xkey.keycode == keymap.player1.down) - setAnalogue(ANALOGUE_3, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) - 1 : 0); - - else if (event_return->xkey.keycode == keymap.player1.left) - setAnalogue(ANALOGUE_1, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) * 0.2 - : pow(2, jvsAnalogueInBits) * 0.5); - - else if (event_return->xkey.keycode == keymap.player1.right) - setAnalogue(ANALOGUE_1, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) * 0.8 - : pow(2, jvsAnalogueInBits) * 0.5); - - else if (event_return->xkey.keycode == keymap.player1.start) - setSwitch(PLAYER_1, BUTTON_START, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button1) - setSwitch(PLAYER_1, BUTTON_1, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button2) - setSwitch(PLAYER_1, BUTTON_2, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button3) - setSwitch(PLAYER_1, BUTTON_3, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button4) - setSwitch(PLAYER_1, BUTTON_4, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button5) - setSwitch(PLAYER_1, BUTTON_DOWN, event_return->type == KeyPress); // Hummer - SegaTV view change - - else if (event_return->xkey.keycode == keymap.player1.button6) - setSwitch(PLAYER_1, BUTTON_UP, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button7) - setSwitch(PLAYER_1, BUTTON_LEFT, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button8) - setSwitch(PLAYER_1, BUTTON_RIGHT, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.button1) - setSwitch(PLAYER_2, BUTTON_1, event_return->type == KeyPress); // SegaTV boost - - else if (event_return->xkey.keycode == keymap.player2.down) - setSwitch(PLAYER_2, BUTTON_DOWN, event_return->type == KeyPress); // Hummer boost - - else if (event_return->xkey.keycode == keymap.player2.up) - setSwitch(PLAYER_2, BUTTON_UP, event_return->type == KeyPress); - } - break; - - default: - break; - } - - return returnValue; -} - -/** - * Button mapping used for Harley - */ -int XNextEventHarley(Display *display, XEvent *event_return, int returnValue) -{ - KeyMapping keymap = getConfig()->keymap; - switch (event_return->type) - { - case KeyPress: - case KeyRelease: - { - if (event_return->xkey.keycode == keymap.test) - setSwitch(SYSTEM, BUTTON_TEST, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.service) - setSwitch(PLAYER_1, BUTTON_SERVICE, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.coin) - incrementCoin(PLAYER_1, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.up) - setAnalogue(ANALOGUE_1, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) - 1 : 0); - - else if (event_return->xkey.keycode == keymap.player1.down) - setAnalogue(ANALOGUE_4, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) - 1 : 0); - - else if (event_return->xkey.keycode == keymap.player1.left) - setAnalogue(ANALOGUE_2, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) * 0.2 - : pow(2, jvsAnalogueInBits) * 0.5); - - else if (event_return->xkey.keycode == keymap.player1.right) - setAnalogue(ANALOGUE_2, event_return->type == KeyPress ? pow(2, jvsAnalogueInBits) * 0.8 - : pow(2, jvsAnalogueInBits) * 0.5); - - else if (event_return->xkey.keycode == keymap.player1.start) - setSwitch(PLAYER_1, BUTTON_START, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button1) - setSwitch(PLAYER_1, BUTTON_1, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button2) - setSwitch(PLAYER_1, BUTTON_2, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button3) - setSwitch(PLAYER_1, BUTTON_3, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button4) - setSwitch(PLAYER_1, BUTTON_4, event_return->type == KeyPress); - } - break; - - default: - break; - } - - return returnValue; -} - -/** - * Button mapping used for shooting games - */ -int XNextEventShooting(Display *display, XEvent *event_return, int returnValue) -{ - KeyMapping keymap = getConfig()->keymap; - switch (event_return->type) - { - case KeyPress: - case KeyRelease: - { - if (event_return->xkey.keycode == keymap.test) - setSwitch(SYSTEM, BUTTON_TEST, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.service) - setSwitch(PLAYER_1, BUTTON_SERVICE, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.coin) - incrementCoin(PLAYER_1, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.start) - setSwitch(PLAYER_1, BUTTON_START, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button1) - setSwitch(PLAYER_1, BUTTON_1, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button2) - setSwitch(PLAYER_1, BUTTON_2, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button3) - setSwitch(PLAYER_1, BUTTON_3, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.button4) - { - setSwitch(PLAYER_1, BUTTON_4, event_return->type == KeyPress); - - // For The House of the Dead 4's Accelerometer - setAnalogue(ANALOGUE_5, 0); - setAnalogue(ANALOGUE_6, 0); - } - - else if (event_return->xkey.keycode == keymap.player1.button5) - setSwitch(PLAYER_1, BUTTON_5, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.up) - setSwitch(PLAYER_1, BUTTON_UP, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.down) - setSwitch(PLAYER_1, BUTTON_DOWN, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.left) - setSwitch(PLAYER_1, BUTTON_LEFT, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player1.right) - setSwitch(PLAYER_1, BUTTON_RIGHT, event_return->type == KeyPress); - - // Player 2 Controls - - else if (event_return->xkey.keycode == keymap.player2.service) - setSwitch(PLAYER_2, BUTTON_SERVICE, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.coin) - incrementCoin(PLAYER_2, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.start) - setSwitch(PLAYER_2, BUTTON_START, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.button1) - setSwitch(PLAYER_2, BUTTON_1, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.button2) - setSwitch(PLAYER_2, BUTTON_2, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.button3) - setSwitch(PLAYER_2, BUTTON_3, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.button4) - setSwitch(PLAYER_2, BUTTON_4, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.button5) - setSwitch(PLAYER_2, BUTTON_5, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.up) - setSwitch(PLAYER_2, BUTTON_UP, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.down) - setSwitch(PLAYER_2, BUTTON_DOWN, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.left) - setSwitch(PLAYER_2, BUTTON_LEFT, event_return->type == KeyPress); - - else if (event_return->xkey.keycode == keymap.player2.right) - setSwitch(PLAYER_2, BUTTON_RIGHT, event_return->type == KeyPress); - } - break; - - case MotionNotify: - { - if (getConfig()->crc32 == LETS_GO_JUNGLE || getConfig()->crc32 == LETS_GO_JUNGLE_REVA) - { - setAnalogue(ANALOGUE_2, (1.0 - ((double)event_return->xmotion.x / (double)getConfig()->width)) * - pow(2, jvsAnalogueInBits)); - setAnalogue(ANALOGUE_1, (1.0 - ((double)event_return->xmotion.y / (double)getConfig()->height)) * - pow(2, jvsAnalogueInBits)); - } - else if (getConfig()->crc32 == PRIMEVAL_HUNT) - { - int mX = event_return->xmotion.x; - int mY = event_return->xmotion.y; - - if (phIsDragging) - phTouchClick(mX, mY, event_return->type); - - int motX = mX, motY = mY; - phTouchScreenCursor(mX, mY, &motX, &motY); - - setAnalogue(ANALOGUE_1, ((double)(motX - phX) / (double)phW) * pow(2, jvsAnalogueInBits)); - setAnalogue(ANALOGUE_2, ((double)(motY - phY) / (double)phH) * pow(2, jvsAnalogueInBits)); - } - else - { - setAnalogue(ANALOGUE_1, - ((double)event_return->xmotion.x / (double)getConfig()->width) * pow(2, jvsAnalogueInBits)); - setAnalogue(ANALOGUE_2, - ((double)event_return->xmotion.y / (double)getConfig()->height) * pow(2, jvsAnalogueInBits)); - } - // For The House of the Dead 4's Accelerometer - static int lastMouseX = 0; - static int lastMouseY = 0; - static const int shakeThresholdPixels = 100; // Adjust as needed - int currentMouseX = event_return->xmotion.x; - int currentMouseY = event_return->xmotion.y; - - // Calculate movement distance - int dx = currentMouseX - lastMouseX; - int dy = currentMouseY - lastMouseY; - - // Update last position - lastMouseX = currentMouseX; - lastMouseY = currentMouseY; - - // Check if mouse movement exceeds shake threshold - if (abs(dx) > shakeThresholdPixels || abs(dy) > shakeThresholdPixels) - { - - setAnalogue(ANALOGUE_5, 0); - setAnalogue(ANALOGUE_6, 0); - } - else - { - - setAnalogue(ANALOGUE_5, pow(2, jvsAnalogueInBits) / 2); - setAnalogue(ANALOGUE_6, pow(2, jvsAnalogueInBits) / 2); - } - } - break; - - case ButtonPress: - case ButtonRelease: - { - if (event_return->xbutton.button == 1) // Trigger - { - if (getConfig()->crc32 == PRIMEVAL_HUNT && getConfig()->emulateTouchscreen) - { - int mX = event_return->xmotion.x; - int mY = event_return->xmotion.y; - phTouchClick(mX, mY, event_return->type); - phIsDragging = (event_return->type == ButtonPress ? 1 : 0); - } - else - { - setSwitch(PLAYER_1, BUTTON_1, event_return->type == ButtonPress); - } - } - else if (event_return->xbutton.button == 3) // Reload - { - if (getConfig()->crc32 == RAMBO || getConfig()->crc32 == TOO_SPICY) - { - setAnalogue(ANALOGUE_1, -1); - setAnalogue(ANALOGUE_2, -1); - } - setSwitch(PLAYER_1, BUTTON_2, event_return->type == ButtonPress); - } - else if (event_return->xbutton.button == 2) // Extra Gun Button - { - setSwitch(PLAYER_1, BUTTON_3, event_return->type == ButtonPress); - } - } - break; - - default: - break; - } - - return returnValue; -} - -int XNextEvent(Display *display, XEvent *event_return) -{ - int (*_XNextEvent)(Display *display, XEvent *event_return) = dlsym(RTLD_NEXT, "XNextEvent"); - int returnValue = _XNextEvent(display, event_return); - - // Return now if we're not emulating JVS or if EVDEV-only mode is enabled - if (!getConfig()->emulateJVS || getConfig()->inputMode == 2) - { - return returnValue; - } - - // Select the appropriate input mapping depending on the game - switch (gameType) - { - case DRIVING: - return XNextEventDriving(display, event_return, returnValue); - break; - - case HARLEY: - return XNextEventHarley(display, event_return, returnValue); - break; - - case SHOOTING: - case FIGHTING: - default: - return XNextEventShooting(display, event_return, returnValue); - break; - } - - return returnValue; -} - -void sdlEventDriving(SDL_Event *event) -{ - switch (event->type) - { - case SDL_KEYDOWN: - case SDL_KEYUP: - { - if (event->key.keysym.sym == SDLK_t) - setSwitch(SYSTEM, BUTTON_TEST, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_s) - setSwitch(PLAYER_1, BUTTON_SERVICE, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_5) - incrementCoin(PLAYER_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_1) - setSwitch(PLAYER_1, BUTTON_START, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_UP) - setAnalogue(ANALOGUE_2, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) - 1 : 0); - else if (event->key.keysym.sym == SDLK_DOWN) - setAnalogue(ANALOGUE_3, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) - 1 : 0); - else if (event->key.keysym.sym == SDLK_LEFT) - setAnalogue(ANALOGUE_1, - event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.2 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_RIGHT) - setAnalogue(ANALOGUE_1, - event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.8 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_q) - setSwitch(PLAYER_1, BUTTON_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_w) - setSwitch(PLAYER_1, BUTTON_2, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_e) - setSwitch(PLAYER_1, BUTTON_3, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_r) - setSwitch(PLAYER_1, BUTTON_4, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_z) - setSwitch(PLAYER_1, BUTTON_DOWN, event->type == SDL_KEYDOWN); // Hummer - SegaTV view change - - else if (event->key.keysym.sym == SDLK_x) - setSwitch(PLAYER_1, BUTTON_UP, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_c) - setSwitch(PLAYER_1, BUTTON_LEFT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_v) - setSwitch(PLAYER_1, BUTTON_RIGHT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_a) - setSwitch(PLAYER_2, BUTTON_1, event->type == SDL_KEYDOWN); // SegaTV boost - - else if (event->key.keysym.sym == SDLK_LCTRL) - setSwitch(PLAYER_2, BUTTON_DOWN, event->type == SDL_KEYDOWN); // Hummer boost - - else if (event->key.keysym.sym == SDLK_SPACE) - setSwitch(PLAYER_2, BUTTON_UP, event->type == SDL_KEYDOWN); - } - break; - default: - break; - } -} - -void sdlEventShooting(SDL_Event *event) -{ - KeyMapping keymap = getConfig()->keymap; - - switch (event->type) - { - case SDL_KEYDOWN: - case SDL_KEYUP: - { - if (event->key.keysym.sym == SDLK_t) - setSwitch(SYSTEM, BUTTON_TEST, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_s) - setSwitch(PLAYER_1, BUTTON_SERVICE, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_5) - incrementCoin(PLAYER_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_1) - setSwitch(PLAYER_1, BUTTON_START, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_q) - setSwitch(PLAYER_1, BUTTON_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_w) - setSwitch(PLAYER_1, BUTTON_2, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_e) - setSwitch(PLAYER_1, BUTTON_3, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_r) - { - setSwitch(PLAYER_1, BUTTON_4, event->type == SDL_KEYDOWN); - - // For The House of the Dead 4's Accelerometer - setAnalogue(ANALOGUE_5, 0); - setAnalogue(ANALOGUE_6, 0); - } - else if (event->key.keysym.sym == SDLK_UP) - setSwitch(PLAYER_1, BUTTON_UP, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_DOWN) - setSwitch(PLAYER_1, BUTTON_DOWN, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_LEFT) - setSwitch(PLAYER_1, BUTTON_LEFT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_RIGHT) - setSwitch(PLAYER_1, BUTTON_RIGHT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_2) - setSwitch(PLAYER_2, BUTTON_START, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_z) - setSwitch(PLAYER_2, BUTTON_1, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_x) - setSwitch(PLAYER_2, BUTTON_2, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_c) - setSwitch(PLAYER_2, BUTTON_3, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_v) - setSwitch(PLAYER_2, BUTTON_4, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_u) - setSwitch(PLAYER_2, BUTTON_UP, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_i) - setSwitch(PLAYER_2, BUTTON_DOWN, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_o) - setSwitch(PLAYER_2, BUTTON_LEFT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_p) - setSwitch(PLAYER_2, BUTTON_RIGHT, event->type == SDL_KEYDOWN); - } - break; - case SDL_MOUSEMOTION: - { - if (getConfig()->crc32 == LETS_GO_JUNGLE || getConfig()->crc32 == LETS_GO_JUNGLE_REVA) - { - setAnalogue(ANALOGUE_2, - (1.0 - ((double)event->motion.x / (double)getConfig()->width)) * pow(2, jvsAnalogueInBits)); - setAnalogue(ANALOGUE_1, - (1.0 - ((double)event->motion.y / (double)getConfig()->height)) * pow(2, jvsAnalogueInBits)); - } - else if (getConfig()->crc32 == PRIMEVAL_HUNT) - { - int mX = event->motion.x; - int mY = event->motion.y; - - if (phIsDragging) - phTouchClick(mX, mY, event->type); - - int motX = mX, motY = mY; - phTouchScreenCursor(mX, mY, &motX, &motY); - - setAnalogue(ANALOGUE_1, ((double)(motX - phX) / (double)phW) * pow(2, jvsAnalogueInBits)); - setAnalogue(ANALOGUE_2, ((double)(motY - phY) / (double)phH) * pow(2, jvsAnalogueInBits)); - } - else - { - - setAnalogue(ANALOGUE_1, ((double)event->motion.x / (double)getConfig()->width) * pow(2, jvsAnalogueInBits)); - setAnalogue(ANALOGUE_2, - ((double)event->motion.y / (double)getConfig()->height) * pow(2, jvsAnalogueInBits)); - } - // For The House of the Dead 4's Accelerometer - static int lastMouseX = 0; - static int lastMouseY = 0; - static const int shakeThresholdPixels = 100; // Adjust as needed - int currentMouseX = event->motion.x; - int currentMouseY = event->motion.y; - - // Calculate movement distance - int dx = currentMouseX - lastMouseX; - int dy = currentMouseY - lastMouseY; - - // Update last position - lastMouseX = currentMouseX; - lastMouseY = currentMouseY; - - // Check if mouse movement exceeds shake threshold - if (abs(dx) > shakeThresholdPixels || abs(dy) > shakeThresholdPixels) - { - - setAnalogue(ANALOGUE_5, 0); - setAnalogue(ANALOGUE_6, 0); - } - else - { - - setAnalogue(ANALOGUE_5, pow(2, jvsAnalogueInBits) / 2); - setAnalogue(ANALOGUE_6, pow(2, jvsAnalogueInBits) / 2); - } - } - break; - case SDL_MOUSEBUTTONDOWN: - case SDL_MOUSEBUTTONUP: - { - if (event->button.button == SDL_BUTTON_LEFT) // Trigger - { - if (getConfig()->crc32 == PRIMEVAL_HUNT && getConfig()->emulateTouchscreen) - { - int mX = event->motion.x; - int mY = event->motion.y; - phTouchClick(mX, mY, event->type); - phIsDragging = (event->type == SDL_MOUSEBUTTONDOWN ? 1 : 0); - } - else - { - setSwitch(PLAYER_1, BUTTON_1, event->type == SDL_MOUSEBUTTONDOWN); - } - } - else if (event->button.button == SDL_BUTTON_RIGHT) // Reload - { - if (getConfig()->crc32 == RAMBO || getConfig()->crc32 == TOO_SPICY) - { - setAnalogue(ANALOGUE_1, -1); - setAnalogue(ANALOGUE_2, -1); - } - setSwitch(PLAYER_1, BUTTON_2, event->type == SDL_MOUSEBUTTONDOWN); - } - else if (event->button.button == SDL_BUTTON_MIDDLE) // Extra Gun Button - { - setSwitch(PLAYER_1, BUTTON_3, event->type == SDL_MOUSEBUTTONDOWN); - } - } - break; - default: - break; - } -} - -void sdlEventABC(SDL_Event *event) -{ - switch (event->type) - { - case SDL_KEYDOWN: - case SDL_KEYUP: - { - if (event->key.keysym.sym == SDLK_t) - setSwitch(SYSTEM, BUTTON_TEST, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_s) - setSwitch(PLAYER_1, BUTTON_SERVICE, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_5) - incrementCoin(PLAYER_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_1) - setSwitch(PLAYER_1, BUTTON_START, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_UP) - setAnalogue(ANALOGUE_2, - event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.2 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_DOWN) - setAnalogue(ANALOGUE_2, - event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.8 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_LEFT) - setAnalogue(ANALOGUE_1, - event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.2 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_RIGHT) - setAnalogue(ANALOGUE_1, - event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.8 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_q) - setSwitch(PLAYER_1, BUTTON_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_w) - setSwitch(PLAYER_1, BUTTON_2, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_e) - setSwitch(PLAYER_1, BUTTON_3, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_f) - setAnalogue(ANALOGUE_3, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.2 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_r) - setAnalogue(ANALOGUE_3, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.8 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_z) - setSwitch(PLAYER_1, BUTTON_DOWN, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_x) - setSwitch(PLAYER_1, BUTTON_UP, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_c) - setSwitch(PLAYER_1, BUTTON_LEFT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_v) - setSwitch(PLAYER_1, BUTTON_RIGHT, event->type == SDL_KEYDOWN); - } - break; - default: - break; - } -} - -void sdlEventHarley(SDL_Event *event) -{ - switch (event->type) - { - case SDL_KEYDOWN: - case SDL_KEYUP: - { - if (event->key.keysym.sym == SDLK_t) - setSwitch(SYSTEM, BUTTON_TEST, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_s) - setSwitch(PLAYER_1, BUTTON_SERVICE, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_5) - incrementCoin(PLAYER_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_1) - setSwitch(PLAYER_1, BUTTON_START, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_UP) - setAnalogue(ANALOGUE_1, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) - 1 : 0); - else if (event->key.keysym.sym == SDLK_DOWN) - setAnalogue(ANALOGUE_4, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) - 1 : 0); - else if (event->key.keysym.sym == SDLK_LEFT) - setAnalogue(ANALOGUE_2, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.2 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_RIGHT) - setAnalogue(ANALOGUE_2, event->type == SDL_KEYDOWN ? pow(2, jvsAnalogueInBits) * 0.8 : pow(2, jvsAnalogueInBits) * 0.5); - else if (event->key.keysym.sym == SDLK_q) - setSwitch(PLAYER_1, BUTTON_1, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_w) - setSwitch(PLAYER_1, BUTTON_2, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_e) - setSwitch(PLAYER_1, BUTTON_3, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_r) - setSwitch(PLAYER_1, BUTTON_4, event->type == SDL_KEYDOWN); - else if (event->key.keysym.sym == SDLK_z) - setSwitch(PLAYER_1, BUTTON_DOWN, event->type == SDL_KEYDOWN); // Hummer - SegaTV view change - - else if (event->key.keysym.sym == SDLK_x) - setSwitch(PLAYER_1, BUTTON_UP, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_c) - setSwitch(PLAYER_1, BUTTON_LEFT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_v) - setSwitch(PLAYER_1, BUTTON_RIGHT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_a) - setSwitch(PLAYER_2, BUTTON_1, event->type == SDL_KEYDOWN); // SegaTV boost - - else if (event->key.keysym.sym == SDLK_LCTRL) - setSwitch(PLAYER_2, BUTTON_DOWN, event->type == SDL_KEYDOWN); // Hummer boost - - else if (event->key.keysym.sym == SDLK_SPACE) - setSwitch(PLAYER_2, BUTTON_UP, event->type == SDL_KEYDOWN); - } - break; - default: - break; - } -} - -void sdlEventMahjong(SDL_Event *event) -{ - switch (event->type) - { - case SDL_KEYDOWN: - case SDL_KEYUP: - { - if (event->key.keysym.sym == SDLK_t) - setSwitch(SYSTEM, BUTTON_TEST, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_s) - setSwitch(PLAYER_1, BUTTON_SERVICE, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_5) - incrementCoin(PLAYER_1, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_1) - setSwitch(PLAYER_1, BUTTON_START, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_a) - setSwitch(PLAYER_1, BUTTON_RIGHT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_b) - setSwitch(PLAYER_1, BUTTON_LEFT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_c) - setSwitch(PLAYER_1, BUTTON_UP, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_d) - setSwitch(PLAYER_1, BUTTON_DOWN, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_e) - setSwitch(PLAYER_1, BUTTON_1, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_f) - setSwitch(PLAYER_1, BUTTON_2, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_g) - setSwitch(PLAYER_1, BUTTON_3, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_h) - setSwitch(PLAYER_1, BUTTON_4, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_i) - setSwitch(PLAYER_1, BUTTON_5, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_j) - setSwitch(PLAYER_1, BUTTON_6, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_k) - setSwitch(PLAYER_1, BUTTON_7, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_l) - setSwitch(PLAYER_2, BUTTON_RIGHT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_m) - setSwitch(PLAYER_2, BUTTON_LEFT, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_n) - setSwitch(PLAYER_2, BUTTON_UP, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_o) - setSwitch(PLAYER_2, BUTTON_DOWN, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_p) - setSwitch(PLAYER_2, BUTTON_1, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_q) - setSwitch(PLAYER_2, BUTTON_2, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_r) - setSwitch(PLAYER_2, BUTTON_3, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_u) - setSwitch(PLAYER_2, BUTTON_4, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_v) - setSwitch(PLAYER_2, BUTTON_5, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_w) - setSwitch(PLAYER_2, BUTTON_6, event->type == SDL_KEYDOWN); - - else if (event->key.keysym.sym == SDLK_x) - setSwitch(PLAYER_2, BUTTON_7, event->type == SDL_KEYDOWN); - } - break; - default: - break; - } -} - -void handleSdlEvents(SDL_Event *event) -{ - // Return now if we're not emulating JVS or if EVDEV-only mode is enabled - if (!getConfig()->emulateJVS || getConfig()->inputMode == 2) - { - return; - } - - // Select the appropriate input mapping depending on the game - switch (gameType) - { - case DRIVING: - sdlEventDriving(event); - break; - case SHOOTING: - case FIGHTING: - sdlEventShooting(event); - break; - case ABC: - sdlEventABC(event); - break; - case HARLEY: - sdlEventHarley(event); - break; - case MAHJONG: - sdlEventMahjong(event); - break; - default: - // return XNextEventShooting(display, event_return, returnValue); - break; - } -} \ No newline at end of file diff --git a/src/lindbergh/input.h b/src/lindbergh/input.h deleted file mode 100644 index 426caa3..0000000 --- a/src/lindbergh/input.h +++ /dev/null @@ -1,4 +0,0 @@ -#include - -int initInput(); -void handleSdlEvents(SDL_Event *event); diff --git a/src/lindbergh/jvs.c b/src/lindbergh/jvs.c index 0f9b88e..24c6a36 100644 --- a/src/lindbergh/jvs.c +++ b/src/lindbergh/jvs.c @@ -1,11 +1,9 @@ -#include "jvs.h" - -#include "config.h" - -#include #include #include /* POSIX threads API to create and manage threads in the program */ +#include "jvs.h" +#include "config.h" + /* The in and out packets used to read and write to and from*/ JVSPacket inputPacket, outputPacket; diff --git a/src/lindbergh/lindbergh.c b/src/lindbergh/lindbergh.c index 2e2dfc1..8c84f9d 100644 --- a/src/lindbergh/lindbergh.c +++ b/src/lindbergh/lindbergh.c @@ -3,30 +3,39 @@ #include #include #include +#include #include #include #include -#include -#include "config.h" -#include "evdevinput.h" -#include "version.h" +#include "configIni.h" +#include "evdevInput.h" #include "log.h" +#include "version.h" +#include "controlIniGen.h" +#include "sdlInput.h" #define LD_LIBRARY_PATH "LD_LIBRARY_PATH" #define LD_PRELOAD "LD_PRELOAD" #define PRELOAD_FILE_NAME "lindbergh.so" -#define TEAM "bobbydilley, retrofan, dkeruza-neo, doozer, francesco, rolel, caviar-x" +#define PRELOAD_OPENAL "libopenal.so.0" +#define TEAM "bobbydilley, retrofan, dkeruza-neo, francesco" +#define COLLABORATORS "doozer, rolel, caviar-X" +#define SPECIAL_THANKS "Francesco" #define LINDBERGH_CONFIG_PATH "LINDBERGH_CONFIG_PATH" +#define LINDBERGH_CONTROLS_PATH "LINDBERGH_CONTROLS_PATH" +#define LINDBERGH_CONTROLS_DB_PATH "LINDBERGH_CONTROLS_DB_PATH" #define LINDBERGH_LOADER_CURRENT_DIR "LINDBERGH_LOADER_CURRENT_DIR" +#define MAX_PATH_LENGTH 1024 uint32_t elf_crc = 0; // List of all lindbergh executables known, not including the test executables -char *games[] = {"a.elf", "abc", "apacheM.elf", "chopperM.elf", "drive.elf", "dsr", - "gsevo", "hod4M.elf", "hodexRI.elf", "hummer_Master.elf", "id4.elf", "id5.elf", - "Jennifer", "lgj_final", "lgjsp_app", "main.exe", "mj4", "ramboM.elf", - "vf5", "vsg", "vt3", "vt3_Lindbergh", "END"}; +char *games[] = {"a.elf", "abc", "apacheM.elf", "chopperM.elf", "drive.elf", + "dsr", "gsevo", "hod4M.elf", "hodexRI.elf", "hummer_Master.elf", + "id4.elf", "id5.elf", "Jennifer", "lgj_final", "lgjsp_app", + "main.exe", "mj4", "q2satl_lind", "ramboM.elf", "vf5", + "vsg", "vt3", "vt3_Lindbergh", "END"}; /** * An array containin clean games elf's CRC32 @@ -71,6 +80,7 @@ uint32_t cleanElfCRC32[] = { 0x2D2A18C1, // DVP-0019C | id4.elf 0x9BFD0D98, // DVP-0019D | id4.elf 0x9CF9BBCC, // DVP-0019G | id4.elf + 0xDCAD8ABA, // DVP-0025H | q2satl_lind 0xFA0F6AB0, // DVP-0027A | apacheM.elf 0x5A7F315E, // DVP-0027A | apachetestM.elf 0x9D414D18, // DVP-0029A | vsg @@ -91,13 +101,16 @@ uint32_t cleanElfCRC32[] = { 0x3A5EEC69, // DVP-0063 | hodextestR.elf 0x81E02850, // DVP-0069 | ramboM.elf 0xE4F202BB, // DVP-0070A | id5.elf + 0x400C09CD, // DVP-0070C | id5.elf 0x2E6732A3, // DVP-0070F | id5.elf 0xF99A3CDB, // DVP-0075 | id5.elf + 0xDCC1f8E7, // DVP-0078 | ramboM.elf 0x05647A8E, // DVP-0079 | hummer_Master.elf 0x0AD7CF0F, // DVP-0081 | mj4 0x4442EA15, // DVP-0083 | hummer_Master.elf 0x8DF6BBF9, // DVP-0084 | id5.elf 0x2AF8004E, // DVP-0084A | id5.elf + 0xCB663DD0, // DVP-0087D | q2satl_lind 0xB95528F4, // DVP-5004 | vf5 0x012E4898, // DVP-5004D | vf5 0x74465F9F, // DVP-5004G | vf5 @@ -196,7 +209,6 @@ void isCleanElf(char *command) return; crc = crc ^ 0xFFFFFFFF; - if (!lookupCrcTable(crc)) { printf("\033[1;31m"); @@ -232,7 +244,7 @@ void testModePath(char *program) strcat(program, " -t"); } -char *findPreloadLibrary(const char *originalDir, const char *gameDir) +char *findPreloadLibrary(const char *originalDir, char *preloadFileName) { static char result[MAX_PATH_LENGTH]; char appImageLib[MAX_PATH_LENGTH]; @@ -240,17 +252,17 @@ char *findPreloadLibrary(const char *originalDir, const char *gameDir) const char *folderCandidates[] = {"/app/lib32", appImageLib, originalDir, "/usr/lib/i386-linux-gnu", "/usr/lib/i686-linux-gnu", "/usr/lib32", "/usr/lib", NULL}; - if (fileExists(PRELOAD_FILE_NAME)) - return PRELOAD_FILE_NAME; - for (int i = 0; i < sizeof(folderCandidates) / sizeof(folderCandidates[0]); i++) { - snprintf(result, MAX_PATH_LENGTH, "%s/%s", folderCandidates[i], PRELOAD_FILE_NAME); + snprintf(result, MAX_PATH_LENGTH, "%s/%s", folderCandidates[i], preloadFileName); if (fileExists(result)) return result; } - return NULL; + if (fileExists(preloadFileName)) + return preloadFileName; + + return ""; } int pathsDiffer(const char *p1, const char *p2) @@ -270,9 +282,20 @@ bool hasSpaces(const char *path) } void setEnvironmentVariables(const char *ldLibPath, const char *originalDir, const char *gameDir, int zink, int nvidia, - const char *confFilePath) + const char *confFilePath, const char *contFilePath, const char *contDbFilePath, char *libOpenal) { - setenv("LD_PRELOAD", ldLibPath, 1); + + if (libOpenal != NULL) + { + char ldpreloadEnv[MAX_PATH_LENGTH]; + snprintf(ldpreloadEnv, sizeof(ldpreloadEnv), "%s %s", ldLibPath, libOpenal); + setenv("LD_PRELOAD", ldpreloadEnv, 1); + } + else + { + setenv("LD_PRELOAD", ldLibPath, 1); + } + if (hasSpaces(ldLibPath)) { log_error("The path \'%s\' where lindbergh.so is located cannot contain spaces.", ldLibPath); @@ -317,11 +340,53 @@ void setEnvironmentVariables(const char *ldLibPath, const char *originalDir, con if (hasSpaces(confFilePath)) { log_error("The path \'%s\' for the config file cannot contain spaces.", confFilePath); - exit(EXIT_FAILURE); + log_error("The loader will use the default configuration."); + confFilePath = ""; } + else if(!fileExists(confFilePath)) + { + log_error("The file \'%s\' does not exist, will be using default config.", confFilePath); + confFilePath = ""; + } + setenv(LINDBERGH_CONFIG_PATH, confFilePath, 1); } + if (strlen(contFilePath) > 0) + { + if (hasSpaces(contFilePath)) + { + log_error("The path \'%s\' for the controls file cannot contain spaces.", contFilePath); + log_error("Controls will use the default controls config."); + contFilePath = ""; + } + else if (!fileExists(contFilePath)) + { + log_error("The file \'%s\' does not exist, will try to load controls.ini from the game folder or", contFilePath); + log_error("will be using the default controls config."); + contFilePath = ""; + } + + setenv(LINDBERGH_CONTROLS_PATH, contFilePath, 1); + } + + if (strlen(contDbFilePath) > 0) + { + if (hasSpaces(contDbFilePath)) + { + log_error("The path \'%s\' for the gamecontrollerdb.txt file cannot contain spaces.", contDbFilePath); + log_error("Additional game controller mappings will not be added."); + contDbFilePath = ""; + } + else if (!fileExists(contDbFilePath)) + { + log_error("The file \'%s\' does not exist, additional mapping db will be omitted.", contDbFilePath); + contDbFilePath = ""; + } + + setenv(LINDBERGH_CONTROLS_DB_PATH, contDbFilePath, 1); + } + if (zink && nvidia) { log_error("Cannot pass both, zink and nvidia options at the same time."); @@ -348,33 +413,59 @@ void setEnvironmentVariables(const char *ldLibPath, const char *originalDir, con } } -void printUsage(char *argv[]) +void printUsage(char *programName) { - printf("%s [GAME_PATH] [OPTIONS]\n", argv[0]); + printf("%s [GAME_PATH] [OPTIONS]\n", basename(programName)); printf("Options:\n"); - printf(" --test | -t Runs the test mode\n"); - printf(" --segaboot | -s Runs segaboot\n"); - printf(" --zink | -z Runs with Zink\n"); - printf(" --nvidia | -n Runs with nVidia GPU when is as a secondary GPU in a laptop\n"); - printf(" --gdb Runs with GDB\n"); - printf(" --list-controllers Lists available controllers and inputs\n"); - printf(" --version Displays the version of the loader and team's names\n"); - printf(" --help Displays this usage text\n"); - printf(" --config | -c Specifies configuration path\n"); - printf(" --gamepath | -g Specifies game path without ELF name\n"); + printf(" --test | -t Runs the test mode\n"); + printf(" --segaboot | -s Runs segaboot\n"); + printf(" --zink | -z Runs with Zink\n"); + printf(" --nvidia | -n Runs with nVidia GPU when is as a secondary GPU in a laptop\n"); + printf(" --gdb Runs with GDB\n"); + printf(" --list-controllers | -l Lists available controllers and inputs for EVDEV.\n"); + printf(" --list-guids | -lg Lists available SDL controllers GUIDs.\n"); + printf(" --version | -v Displays the version of the loader and team's names\n"); + printf(" --help | -h Displays this usage text\n"); + printf(" --config | -c Specifies configuration ini file path\n"); + printf(" --controls | -o Specifies controls ini file path\n"); + printf(" --controlsdb | -d Specifies gamecontrollerdb.txt file path\n"); + printf(" --gamepath | -g Specifies game path without ELF name\n"); + printf(" --create | -C Creates a default config or controls file. Use '--create --help' for more info.\n"); +} + +void printCreateUsage(char *programName) +{ + printf("Usage for the --create option:\n"); + printf(" %s --create [output_path] [output_filename]\n\n", basename(programName)); + printf("Arguments:\n"); + printf(" sub-option The type of file to create. Can be one of:\n"); + printf(" config (for lindbergh.ini)\n"); + printf(" controls (for controls.ini)\n"); + printf(" output_path (Optional) The directory where the file will be created.\n"); + printf(" If not provided, the file is created in the current directory.\n"); + printf(" output_filename (Optional) The name of the file to be created. Must end with .ini.\n"); + printf(" If not provided, the default name will be used (lindbergh.ini or controls.ini).\n\n"); + printf("Examples:\n"); + printf(" %s --create config\n", basename(programName)); + printf(" %s --create controls ./my_game_config\n", basename(programName)); + printf(" %s --create config ./my_game_config myconfig.ini\n", basename(programName)); + printf(" %s --create --help\n", basename(programName)); } void printVersion() { - printf("Lindbergh Loader v%d.%d\n", MAJOR_VERSION, MINOR_VERSION); - printf("Created by: %s\n", TEAM); + printf("Lindbergh Loader v%d.%d.%d\n", MAJOR_VERSION, MINOR_VERSION, UPDATE_VERSION); + printf("Lead Programming/Reversing: %s\n", TEAM); + printf("Collaborators: %s\n", COLLABORATORS); + printf("Special Thanks to: %s\n", SPECIAL_THANKS); } -int listControllers() +int listEvDevControllers() { Controllers controllers; - ControllerStatus status = initControllers(&controllers); + ControllerStatus status = loadEvdevControllers(&controllers); + if (status != CONTROLLER_STATUS_SUCCESS) { log_error("Failed to list controllers\n"); @@ -395,28 +486,137 @@ int listControllers() } } - stopControllers(&controllers); + stopEvdevControllers(&controllers); return EXIT_SUCCESS; } int main(int argc, char *argv[]) { - if (argc > 1 && strcmp(argv[1], "--version") == 0) + if (argc > 1 && (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-v") == 0)) { printVersion(); return EXIT_SUCCESS; } - if (argc > 1 && strcmp(argv[1], "--help") == 0) + if (argc > 1 && (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0)) { - printUsage(argv); + printUsage(argv[0]); return EXIT_SUCCESS; } - if (argc > 1 && strcmp(argv[1], "--list-controllers") == 0) + if (argc > 1 && (strcmp(argv[1], "--list-controllers") == 0 || strcmp(argv[1], "-l") == 0)) { - return listControllers(); + return listEvDevControllers(); + } + + if (argc > 1 && (strcmp(argv[1], "--list-guids") == 0 || strcmp(argv[1], "-lg") == 0)) + { + return listSdlControllers(); + } + + if (argc > 1 && (strcmp(argv[1], "--create") == 0 || strcmp(argv[1], "-C") == 0)) + { + if (argc < 3) + { + log_error("Missing arguments for --create. See usage below.\n"); + printCreateUsage(argv[0]); + return EXIT_FAILURE; + } + + if (strcmp(argv[2], "--help") == 0) + { + printCreateUsage(argv[0]); + return EXIT_SUCCESS; + } + + char *subOption = argv[2]; + char *path = "."; + char *filename = NULL; + char *argCopyForDirname = NULL; + char *argCopyForBasename = NULL; + + + if (strcmp(subOption, "config") != 0 && strcmp(subOption, "controls") != 0) + { + log_error("Invalid sub-option for --create: '%s'. Must be 'config' or 'controls'.\n", subOption); + printCreateUsage(argv[0]); + return EXIT_FAILURE; + } + + if (argc > 3) + { + if (argc > 4) + { + path = argv[3]; + filename = argv[4]; + } + else + { + char *arg = argv[3]; + const char *dot = strrchr(arg, '.'); + if (dot && strcmp(dot, ".ini") == 0) + { + argCopyForDirname = strdup(arg); + argCopyForBasename = strdup(arg); + path = dirname(argCopyForDirname); + filename = basename(argCopyForBasename); + } + // if arg is a path + else + { + path = arg; + } + } + } + + if (filename) + { + const char *dot = strrchr(filename, '.'); + if (!dot || strcmp(dot, ".ini") != 0) + { + log_error("Invalid filename: '%s'. Must have .ini extension.\n", filename); + if(argCopyForDirname) free(argCopyForDirname); + if(argCopyForBasename) free(argCopyForBasename); + return EXIT_FAILURE; + } + } + + if (!dirExists(path)) + { + log_error("Output directory does not exist: %s\n", path); + if(argCopyForDirname) free(argCopyForDirname); + if(argCopyForBasename) free(argCopyForBasename); + return EXIT_FAILURE; + } + + char finalPath[MAX_PATH_LENGTH]; + + if (strcmp(subOption, "config") == 0) + { + if (!filename) + { + filename = "lindbergh.ini"; + } + snprintf(finalPath, sizeof(finalPath), "%s/%s", path, filename); + createDefaultIni(finalPath); + log_info("Successfully created configuration file at %s\n", finalPath); + } + else if (strcmp(subOption, "controls") == 0) + { + if (!filename) + { + filename = "controls.ini"; + } + snprintf(finalPath, sizeof(finalPath), "%s/%s", path, filename); + createDefaultControlsIni(finalPath); + log_info("Successfully created controls file at %s\n", finalPath); + } + + if(argCopyForDirname) free(argCopyForDirname); + if(argCopyForBasename) free(argCopyForBasename); + + return EXIT_SUCCESS; } char passedGamePath[MAX_PATH_LENGTH] = ""; @@ -424,6 +624,8 @@ int main(int argc, char *argv[]) char forcedGameDir[MAX_PATH_LENGTH] = ""; char gameELF[MAX_PATH_LENGTH] = ""; char extConfigPath[MAX_PATH_LENGTH] = ""; + char extControlsPath[MAX_PATH_LENGTH] = ""; + char extControlsDbPath[MAX_PATH_LENGTH] = ""; char originalDir[MAX_PATH_LENGTH] = ""; bool gdb = false; bool testMode = false; @@ -474,6 +676,28 @@ int main(int argc, char *argv[]) continue; } + if (strcmp(argv[i], "-o") == 0 || strcmp(argv[i], "--controls") == 0) + { + if (i + 1 >= argc) + { + break; + } + strncpy(extControlsPath, argv[i + 1], MAX_PATH_LENGTH); + i += 1; + continue; + } + + if (strcmp(argv[i], "-d") == 0 || strcmp(argv[i], "--controlsdb") == 0) + { + if (i + 1 >= argc) + { + break; + } + strncpy(extControlsDbPath, argv[i + 1], MAX_PATH_LENGTH); + i += 1; + continue; + } + if ((strcmp(argv[i], "-g") == 0 || strcmp(argv[i], "--gamepath") == 0) && i + 1 < argc) { strncpy(passedGamePath, argv[i + 1], MAX_PATH_LENGTH); @@ -584,7 +808,7 @@ int main(int argc, char *argv[]) if (gameELF[0] == '\0') { log_error("No game ELF found in current directory.\n"); - printUsage(argv); + printUsage(argv[0]); return EXIT_FAILURE; } } @@ -595,19 +819,29 @@ int main(int argc, char *argv[]) } char *targetedGameDir = strlen(forcedGameDir) ? forcedGameDir : passedGamePath; - char *lib_path = findPreloadLibrary(originalDir, targetedGameDir); - if (!lib_path) + char *libPath = strdup(findPreloadLibrary(originalDir, PRELOAD_FILE_NAME)); + if (strcmp(libPath, "") == 0) { log_error("Error: %s not found in known locations.\n", PRELOAD_FILE_NAME); return 1; } - setEnvironmentVariables(lib_path, originalDir, targetedGameDir, zink, nvidia, extConfigPath); + char *libOpenal = NULL; + if (strstr(gameELF, "q2satl_lind") != NULL) + { + libOpenal = strdup(findPreloadLibrary(originalDir, PRELOAD_OPENAL)); + if (strcmp(libOpenal, "") == 0) + { + printf("You might not get sound because libopenal.so.0 was not found.\n"); + } + } + + setEnvironmentVariables(libPath, originalDir, targetedGameDir, zink, nvidia, extConfigPath, extControlsPath, extControlsDbPath, + libOpenal); if (segaboot) { strcpy(gameELF, "segaboot -t"); - // testMode = true; } // Final command @@ -626,7 +860,10 @@ int main(int argc, char *argv[]) if (gdb) { char temp[128]; - strcpy(temp, "gdb "); + if (testMode) + strcpy(temp, "gdb --args "); + else + strcpy(temp, "gdb "); strcat(temp, command); strcpy(command, temp); } diff --git a/src/lindbergh/motionboard.c b/src/lindbergh/motionBoard.c similarity index 86% rename from src/lindbergh/motionboard.c rename to src/lindbergh/motionBoard.c index 7b410cc..668f74a 100644 --- a/src/lindbergh/motionboard.c +++ b/src/lindbergh/motionBoard.c @@ -1,4 +1,4 @@ -#include "motionboard.h" +#include "motionBoard.h" ssize_t motionboardRead(int fd, void *buf, size_t count) { return 0; diff --git a/src/lindbergh/motionboard.h b/src/lindbergh/motionBoard.h similarity index 100% rename from src/lindbergh/motionboard.h rename to src/lindbergh/motionBoard.h diff --git a/src/lindbergh/patch.c b/src/lindbergh/patch.c index 8f62856..d22379e 100644 --- a/src/lindbergh/patch.c +++ b/src/lindbergh/patch.c @@ -1,167 +1,36 @@ #ifndef _GNU_SOURCE #define _GNU_SOURCE -#endif -#include -#define GL_GLEXT_PROTOTYPES -#include "patch.h" - -#include - -#include -#include +#include #include -#include -#include -#include #include -#include +#endif +#define GL_GLEXT_PROTOTYPES + +#include +#include +#include +#include #include "config.h" #include "resolution.h" -#include "securityboard.h" -#include "shader_patches.h" -#include "glxhooks.h" +#include "securityBoard.h" +#include "shaderCache.h" +#include "shaderPatches.h" #include "log.h" -#include "customcursor.h" +#include "customCursor.h" +#include "flowControl.h" +#include "patchNetwork.h" extern uint32_t gId; char elfID[4]; void *amDipswContextAddr; -extern void *glVertex3fPatchRetAddrABC[4]; -extern void *glVertex3fNoPatchRetAddrABC[4]; -void *hod4CursorHideShowCAVEAddress; + +extern void (*CPlayer_MainOri)(int); extern void *customCursor; -extern void *phTouchCursor; +extern void *touchCursor; extern void *blankCursor; -void setVariable(size_t address, size_t value) -{ - int pagesize = sysconf(_SC_PAGE_SIZE); - - size_t *variable = (size_t *)address; - - void *toModify = (void *)(address - (address % pagesize)); - - int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); - if (prot != 0) - { - printf("Error: Cannot unprotect memory region to change variable (%d)\n", prot); - return; - } - *variable = value; -} - -void patchMemory(size_t address, char *value) -{ - size_t size = strlen((void *)value); - if (size % 2 != 0) - { - printf("Patch value should be even.\n"); - exit(1); - } - - char buf[size / 2]; - char tmpchr[3]; - char *p = value; - for (int i = 0; i < size; i++) - { - memcpy(tmpchr, p, 2); - tmpchr[2] = '\0'; - buf[i] = (int)strtol(tmpchr, NULL, 16); - p += 2; - } - - int pagesize = sysconf(_SC_PAGE_SIZE); - - void *toModify = (void *)(address - (address % pagesize)); - - int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); - if (prot != 0) - { - printf("Error: Cannot unprotect memory region to change variable (%d)\n", prot); - return; - } - - memcpy((void *)address, buf, size / 2); -} - -void detourFunction(size_t address, void *function) -{ - int pagesize = sysconf(_SC_PAGE_SIZE); - - void *toModify = (void *)(address - (address % pagesize)); - - int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); - if (prot != 0) - { - printf("Error: Cannot detour memory region to change variable (%d)\n", prot); - return; - } - - uint32_t jumpAddress = (function - (void *)address) - 5; - - // Build the assembly to make the function jump - char cave[5] = {0xE9, 0x00, 0x00, 0x00, 0x00}; - cave[4] = (jumpAddress >> (8 * 3)) & 0xFF; - cave[3] = (jumpAddress >> (8 * 2)) & 0xFF; - cave[2] = (jumpAddress >> (8 * 1)) & 0xFF; - cave[1] = (jumpAddress) & 0xFF; - - memcpy((void *)address, cave, 5); -} - -void replaceCallAtAddress(size_t address, void *function) -{ - uint32_t offset = function - (void *)(address)-5; - - int pagesize = sysconf(_SC_PAGE_SIZE); - - void *toModify = (void *)(address - (address % pagesize)); - - int prot = mprotect(toModify, pagesize, PROT_EXEC | PROT_WRITE); - if (prot != 0) - { - printf("Error: Cannot detour memory region to change variable (%d)\n", prot); - return; - } - - uint32_t callAddress = (function - (void *)address) - 5; - - char cave[5] = {0xE8, 0x00, 0x00, 0x00, 0x00}; - cave[4] = (callAddress >> (8 * 3)) & 0xFF; - cave[3] = (callAddress >> (8 * 2)) & 0xFF; - cave[2] = (callAddress >> (8 * 1)) & 0xFF; - cave[1] = (callAddress) & 0xFF; - - memcpy((void *)address, cave, 5); -} - -int stubRetZero() -{ - return 0; -} - -void stubReturn() -{ - return; -} - -int stubRetOne() -{ - return 1; -} - -int stubRetMinusOne() -{ - return -1; -} - -char stubRetZeroChar() -{ - return 0x00; -} - int amDongleInit() { return 0; @@ -182,33 +51,34 @@ int amDongleUserInfoEx(int a, int b, char *_arcadeContext) char *gameID; switch (gId) { - case RAMBO: - memcpy(_arcadeContext, "SBQL", 4); - break; - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: - memcpy(_arcadeContext, "SBST", 4); - break; - case GHOST_SQUAD_EVOLUTION: - memcpy(_arcadeContext, getConfig()->gameID, 4); - break; - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - memcpy(_arcadeContext, elfID, 4); - break; - default: - break; + case RAMBO: + memcpy(_arcadeContext, "SBQL", 4); + break; + case HUMMER_EXTREME: + case HUMMER_EXTREME_MDX: + memcpy(_arcadeContext, "SBST", 4); + break; + case GHOST_SQUAD_EVOLUTION: + memcpy(_arcadeContext, getConfig()->gameID, 4); + break; + case INITIALD_4_REVA: + case INITIALD_4_REVB: + case INITIALD_4_REVC: + case INITIALD_4_REVD: + case INITIALD_4_REVG: + case INITIALD_4_EXP_REVB: + case INITIALD_4_EXP_REVC: + case INITIALD_4_EXP_REVD: + case INITIALD_5_JAP_REVA: + case INITIALD_5_JAP_REVC: + case INITIALD_5_JAP_REVF: + case INITIALD_5_EXP: + case INITIALD_5_EXP_20: + case INITIALD_5_EXP_20A: + memcpy(_arcadeContext, elfID, 4); + break; + default: + break; } return 0; } @@ -245,15 +115,6 @@ int amDongleSetIv() return 0; } -void print_binary(unsigned int number) -{ - if (number >> 1) - { - print_binary(number >> 1); - } - putc((number & 1) ? '1' : '0', stdout); -} - int amDipswGetData(uint8_t *dip) { uint8_t result; @@ -351,75 +212,6 @@ int patchedPuts(char *s) return ret; } -__attribute__((naked)) void hod4CursorHideShowFixCAVE(int param1) -{ - __asm__ volatile("push %%edi\n\tpush %%esi\n\tpush %%ebx\n\tsub $0x18, %%esp\n\tjmp *%0\n\t" ::"m"(hod4CursorHideShowCAVEAddress)); -} - -uint32_t hod4PrevValue; -bool hod4InTutorial = false; - -void hod4CursorHideShow(int param1) -{ - - uint32_t value = *(unsigned int *)(uintptr_t)(param1 + 0x38); - if (!getConfig()->hideCursor) - { - - switch (value) - { - case 0: - { - if (hod4PrevValue != 3 || hod4InTutorial) - { - hideCursor(); - } - hod4PrevValue = 0; - } - break; - case 3: - { - if (!hod4InTutorial) - { - showCursor(); - hod4PrevValue = 3; - } - } - break; - case 4: - { - hod4InTutorial = false; - } - case 2: - case 5: - case 11: - { - hideCursor(); - } - } - } - hod4CursorHideShowFixCAVE(param1); -} - -int hod4VsPrintf(char *str, const char *format, va_list arg) -{ - int (*_vsprintf)(char *str, const char *format, va_list arg) = dlsym(RTLD_NEXT, "vsprintf"); - - int res = _vsprintf(str, format, arg); - - if (strcmp(str, "free : tutorial\n") == 0) - { - hod4InTutorial = false; - } - - if (strcmp(str, "entry : tutorial\n") == 0) - { - hod4InTutorial = true; - } - - return res; -} - int initPatch() { EmulatorConfig *config = getConfig(); @@ -427,2817 +219,3092 @@ int initPatch() switch (gId) { - case AFTER_BURNER_CLIMAX: // DVP-0009 - { - // Security - detourFunction(0x081e2c78, amDongleInit); - detourFunction(0x081e2fc6, amDongleIsAvailable); - detourFunction(0x081e2ef2, amDongleUpdate); - patchMemory(0x08064cfe, "9090909090"); // check_security_error Call set_error - patchMemory(0x08064d04, "00"); - // Fixes - detourFunction(0x081e2bae, amDipswGetData); - detourFunction(0x081e2c26, amDipswSetLed); - - amDipswContextAddr = (void *)0x0a0ca0a8; - detourFunction(0x081e2a9c, amDipswInit); - detourFunction(0x081e2b38, amDipswExit); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804e1e4, gl_ProgramStringARB); - } - } - break; - case AFTER_BURNER_CLIMAX_REVA: // DVP-0009A - { - // Security - detourFunction(0x081e33c0, amDongleInit); - detourFunction(0x081e370e, amDongleIsAvailable); - detourFunction(0x081e363a, amDongleUpdate); - patchMemory(0x08064cf6, "9090909090"); - patchMemory(0x08064cfc, "00"); - // Fixes - detourFunction(0x081e32f6, amDipswGetData); - detourFunction(0x081e336e, amDipswSetLed); - - amDipswContextAddr = (void *)0x0a0ca168; - detourFunction(0x081e31e4, amDipswInit); - detourFunction(0x081e3280, amDipswExit); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804e1e4, gl_ProgramStringARB); - } - } - break; - case AFTER_BURNER_CLIMAX_REVB: // DVP-0009B - { - // Security - detourFunction(0x081e3424, amDongleInit); - detourFunction(0x081e3772, amDongleIsAvailable); - detourFunction(0x081e369e, amDongleUpdate); - patchMemory(0x08064cfe, "9090909090"); - patchMemory(0x08064d04, "00"); - // Fixes - detourFunction(0x081e335a, amDipswGetData); - detourFunction(0x081e33d2, amDipswSetLed); - - amDipswContextAddr = (void *)0x0a0ca168; - detourFunction(0x081e3248, amDipswInit); - detourFunction(0x081e32e4, amDipswExit); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804e1ec, gl_ProgramStringARB); - } - } - break; - case AFTER_BURNER_CLIMAX_SDX: // DVP-0018 - { - // Security - detourFunction(0x081e4980, amDongleInit); - detourFunction(0x081e4cce, amDongleIsAvailable); - detourFunction(0x081e4bfa, amDongleUpdate); - detourFunction(0x08064d76, stubRetZero); - // Fixes - detourFunction(0x081e48b6, amDipswGetData); - detourFunction(0x081e492e, amDipswSetLed); - - amDipswContextAddr = (void *)0x0a0ccc28; - detourFunction(0x081e47a4, amDipswInit); - detourFunction(0x081e4840, amDipswExit); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804e244, gl_ProgramStringARB); - } - } - break; - case AFTER_BURNER_CLIMAX_SDX_REVA: // DVP-0018A - { - // Security - detourFunction(0x081e4968, amDongleInit); - detourFunction(0x081e4cb6, amDongleIsAvailable); - detourFunction(0x081e4be2, amDongleUpdate); - patchMemory(0x08064dc4, "9090909090"); - patchMemory(0x08064dca, "00"); - // Fixes - detourFunction(0x081e489e, amDipswGetData); - detourFunction(0x081e4916, amDipswSetLed); - - amDipswContextAddr = (void *)0x0a0ccc28; - detourFunction(0x081e478c, amDipswInit); - detourFunction(0x081e4828, amDipswExit); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804e24c, gl_ProgramStringARB); - } - } - break; - case AFTER_BURNER_CLIMAX_SE: // DVP-0031 - { - // Security - detourFunction(0x081e3470, amDongleInit); - detourFunction(0x081e37be, amDongleIsAvailable); - detourFunction(0x081e36ea, amDongleUpdate); - patchMemory(0x08064cf6, "9090909090"); - patchMemory(0x08064cfc, "00"); - // Fixes - detourFunction(0x081e33a6, amDipswGetData); - detourFunction(0x081e341e, amDipswSetLed); - - amDipswContextAddr = (void *)0x0a0ca168; - detourFunction(0x081e3294, amDipswInit); - detourFunction(0x081e3330, amDipswExit); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804e1e4, gl_ProgramStringARB); - } - } - break; - case AFTER_BURNER_CLIMAX_SE_REVA: // DVP-0031A - { - // Security - detourFunction(0x081e3458, amDongleInit); - detourFunction(0x081e37a6, amDongleIsAvailable); - detourFunction(0x081e36d2, amDongleUpdate); - patchMemory(0x08064cfe, "9090909090"); - patchMemory(0x08064d04, "00"); - // Fixes - detourFunction(0x081e338e, amDipswGetData); - detourFunction(0x081e3406, amDipswSetLed); - - amDipswContextAddr = (void *)0x0a0ca168; - detourFunction(0x081e327c, amDipswInit); - detourFunction(0x081e3318, amDipswExit); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804e1ec, gl_ProgramStringARB); - } - } - break; - case GHOST_SQUAD_EVOLUTION: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x080984fe, _putConsole); - } - // Security - detourFunction(0x08183046, amDongleInit); - detourFunction(0x08181a91, amDongleIsAvailable); - detourFunction(0x081824f5, amDongleUpdate); - detourFunction(0x080e7ee8, stubRetOne); // stub check_dongle_validate - patchMemory(0x080e7db2, "01"); - // Fixes - amDipswContextAddr = (void *)0x0aeafc28; // Address of amDipswContext - detourFunction(0x08181824, amDipswInit); - detourFunction(0x081818a8, amDipswExit); - detourFunction(0x0818191d, amDipswGetData); - detourFunction(0x08181994, stubRetZero); - patchMemory(0x080f37dd, "75"); // patch to prevent memory assignment error - // Stop the extra inputs by removing io_glut_init - detourFunction(0x080e7f94, stubRetZero); - - cacheModedShaderFiles(); - if (GPUVendor != NVIDIA_GPU) - { - gsEvoElfShaderPatcher(); - detourFunction(0x0804c334, gl_ProgramStringARB); - } - } - break; - case HARLEY_DAVIDSON: - { - // Security - detourFunction(0x08395ede, amDongleInit); - detourFunction(0x083949b6, amDongleIsDevelop); - detourFunction(0x0818ba08, stubRetZero); - detourFunction(0x0818b9ce, stubRetZero); - - // Fixes - amDipswContextAddr = (void *)0x0abe35a8; - detourFunction(0x0839472c, amDipswInit); - detourFunction(0x083947b0, amDipswExit); - detourFunction(0x08394825, amDipswGetData); - detourFunction(0x08395da5, amDongleUserInfoEx); - - if (GPUVendor != NVIDIA_GPU) - { - loadLibCg(); - cacheModedShaderFiles(); - cacheNnstdshader(); - patchMemory(0x082646b3, "01"); // Compile using CGC - replaceCallAtAddress(0x082d48ac, compileWithCGC); - replaceCallAtAddress(0x082d4b3b, compileWithCGC); - } - // Turns off the opponent marker at higher resolutions because it is out of place. - if (getConfig()->width > 1360) - detourFunction(0x080f19a6, stubRetZero); - } - break; - case HUMMER: - { - if (config->showDebugMessages == 1) - { - setVariable(0x0a6e9fac, 2); // amBackupDebugLevel - setVariable(0x0a6e9fc0, 2); // amCreditDebugLevel - setVariable(0x0a6ea218, 2); // amDipswDebugLevel - setVariable(0x0a6ea21c, 2); // amDongleDebugLevel - setVariable(0x0a6ea220, 2); // amEepromDebugLevel - setVariable(0x0a6ea224, 2); // amHwmonitorDebugLevel - setVariable(0x0a6ea228, 2); // amJvsDebugLevel - setVariable(0x0a6ea22c, 2); // amLibDebugLevel - setVariable(0x0a6ea230, 2); // amMiscDebugLevel - setVariable(0x0a6ea234, 2); // amOsinfoDebugLevel - setVariable(0x0a6ea238, 2); // amSysDataDebugLevel - setVariable(0x0a6ea240, 2); // bcLibDebugLevel - } - - // Security - detourFunction(0x083dcbf6, amDongleInit); - detourFunction(0x083db641, amDongleIsAvailable); - detourFunction(0x083dc0a5, amDongleUpdate); - detourFunction(0x083db65e, amDongleIsDevelop); - detourFunction(0x083dcabd, amDongleUserInfoEx); - detourFunction(0x080f4e04, stubRetMinusOne); // checkError - detourFunction(0x083dc5aa, amDongleDecryptEx); // Return 0 - detourFunction(0x083dbddd, amDongleSetIv); // Retrun 0 - - // Security Board - amDipswContextAddr = (void *)0x0a6f2c88; - detourFunction(0x083db3d4, amDipswInit); - detourFunction(0x083db458, amDipswExit); - detourFunction(0x083db4cd, amDipswGetData); - detourFunction(0x083db544, amDipswSetLed); - - // Networking - detourFunction(0x083e339d, stubRetZero); // amOsinfoModifyNetworkAdr - detourFunction(0x083e3a2f, stubRetZero); // amOsinfoModifyNetworkProperty - - // While we can't get into the test menu, immidiately return from the - // call to clSteerErrorDisp::run that complains about the calibration - // values. - patchMemory(0x082e8f48, "C3"); - // Fixes Black screen after finishing the race - patchMemory(0x08078b4c, "C3"); - - detourFunction(0x082b5e4a, stubReturn); // adx_err_callback - detourFunction(0x082d199c, stubReturn); // clSerialLindbergh::send - detourFunction(0x082d1ab4, stubReturn); // clSerialLindbergh::receive - - // Shader patching - cacheModedShaderFiles(); - detourFunction(0x0804f480, gl_XGetProcAddressARB); - } - break; - case HUMMER_EXTREME: - { - if (config->showDebugMessages == 1) - { - setVariable(0x0a79a834, 2); // amAdtecDebugLevel - setVariable(0x0a79a838, 2); // amAtaDebugLevel - setVariable(0x0a79a83c, 2); // amBackupDebugLevel - setVariable(0x0a79a840, 2); // amCreditDebugLevel - setVariable(0x0a79aa98, 2); // amDipswDebugLevel - setVariable(0x0a79aa9c, 2); // amDongleDebugLevel - setVariable(0x0a79aaa0, 2); // amEepromDebugLevel - setVariable(0x0a79aaa4, 2); // amHwmonitorDebugLevel - setVariable(0x0a79aaa8, 2); // amJvsDebugLevel - setVariable(0x0a79aaac, 2); // amLibDebugLevel - setVariable(0x0a79aab0, 2); // amMiscDebugLevel - setVariable(0x0a79aab4, 2); // amOsinfoDebugLevel - setVariable(0x0a79a830, 2); // amsLibDebugLevel - setVariable(0x0a79aab8, 2); // amSysDataDebugLevel - setVariable(0x0a79aac0, 2); // bcLibDebugLevel - } - - // Security - detourFunction(0x0831c0d1, amDongleInit); - detourFunction(0x0831a95d, amDongleIsAvailable); - detourFunction(0x0831b47e, amDongleUpdate); - detourFunction(0x0831a97a, amDongleIsDevelop); - detourFunction(0x0831bf97, amDongleUserInfoEx); - detourFunction(0x0831668c, stubRetZero); // amsInit - detourFunction(0x08170654, stubRetMinusOne); // checkError - detourFunction(0x0831b982, amDongleDecryptEx); // Return 0 - detourFunction(0x0831b08b, amDongleSetIv); // Retrun 0 - patchMemory(0x082b4d51, "00"); - patchMemory(0x082b5163, "00"); - patchMemory(0x082b5306, "00"); - patchMemory(0x082b570f, "00"); - patchMemory(0x082b57c8, "909090909090"); - - // Security Board - amDipswContextAddr = (void *)0x0a7aefe8; - detourFunction(0x0831a6f0, amDipswInit); - detourFunction(0x0831a774, amDipswExit); - detourFunction(0x0831a7e9, amDipswGetData); - detourFunction(0x0831a85f, amDipswSetLed); - - // Networking - detourFunction(0x08323886, stubRetZero); // amOsinfoModifyNetworkAdr - detourFunction(0x0832386b, stubRetZero); // amOsinfoModifyNetworkProperty - - // While we can't get into the test menu, immidiately return from the - // call to clSteerErrorDisp::run that complains about the calibration - // values. - patchMemory(0x080e8b40, "C3"); - // Fixes Black screen after finishing the race - patchMemory(0x0811d0c0, "C3"); - - // Shader patching - cacheModedShaderFiles(); - detourFunction(0x0807a9dc, gl_XGetProcAddressARB); - } - break; - case HUMMER_EXTREME_MDX: - { - if (config->showDebugMessages == 1) - { - setVariable(0x0a7ae7b4, 2); // amAdtecDebugLevel - setVariable(0x0a7ae7b8, 2); // amAtaDebugLevel - setVariable(0x0a7ae7bc, 2); // amBackupDebugLevel - setVariable(0x0a7ae7c0, 2); // amCreditDebugLevel - setVariable(0x0a7aea18, 2); // amDipswDebugLevel - setVariable(0x0a7aea1c, 2); // amDongleDebugLevel - setVariable(0x0a7aea20, 2); // amEepromDebugLevel - setVariable(0x0a7aea24, 2); // amHwmonitorDebugLevel - setVariable(0x0a7aea28, 2); // amJvsDebugLevel - setVariable(0x0a7aea2c, 2); // amLibDebugLevel - setVariable(0x0a7aea30, 2); // amMiscDebugLevel - setVariable(0x0a7aea34, 2); // amOsinfoDebugLevel - setVariable(0x0a7ae7b0, 2); // amsLibDebugLevel - setVariable(0x0a7aea38, 2); // amSysDataDebugLevel - setVariable(0x0a7aea40, 2); // bcLibDebugLevel - } - - // Security - detourFunction(0x0832b411, amDongleInit); - detourFunction(0x08329c9d, amDongleIsAvailable); - detourFunction(0x0832a7be, amDongleUpdate); - detourFunction(0x08329cba, amDongleIsDevelop); - detourFunction(0x0832b2d7, amDongleUserInfoEx); - detourFunction(0x083259cc, stubRetZero); // amsInit - detourFunction(0x0817a0b6, stubRetMinusOne); // checkError - detourFunction(0x0832acc2, amDongleDecryptEx); // Return 0 - detourFunction(0x0832a3cb, amDongleSetIv); // Retrun 0 - patchMemory(0x082c2465, "00"); - patchMemory(0x082c2877, "00"); - patchMemory(0x082c2a16, "00"); - patchMemory(0x082c2e1f, "00"); - patchMemory(0x082c2ed8, "909090909090"); - - patchMemory(0x080de537, "909090909090"); - - // Security Board - amDipswContextAddr = (void *)0x0a7c2f68; - detourFunction(0x08329a30, amDipswInit); - detourFunction(0x08329ab4, amDipswExit); - detourFunction(0x08329b29, amDipswGetData); - detourFunction(0x08329b9f, amDipswSetLed); - - // Networking - detourFunction(0x08332bc6, stubRetZero); // amOsinfoModifyNetworkAdr - detourFunction(0x08332bab, stubRetZero); // amOsinfoModifyNetworkProperty - - // While we can't get into the test menu, immidiately return from the - // call to clSteerErrorDisp::run that complains about the calibration - // values. - patchMemory(0x080ebe20, "C3"); - // Fixes Black screen after finishing the race - patchMemory(0x081260f0, "C3"); - - // Shader patching - cacheModedShaderFiles(); - detourFunction(0x0807a9dc, gl_XGetProcAddressARB); - } - break; - case HUMMER_SDLX: - { - if (config->showDebugMessages == 1) - { - setVariable(0x0a6eac0c, 2); // amBackupDebugLevel - setVariable(0x0a6eac20, 2); // amCreditDebugLevel - setVariable(0x0a6eae78, 2); // amDipswDebugLevel - setVariable(0x0a6eae7c, 2); // amDongleDebugLevel - setVariable(0x0a6eae80, 2); // amEepromDebugLevel - setVariable(0x0a6eae84, 2); // amHwmonitorDebugLevel - setVariable(0x0a6eae88, 2); // amJvsDebugLevel - setVariable(0x0a6eae8c, 2); // amLibDebugLevel - setVariable(0x0a6eae90, 2); // amMiscDebugLevel - setVariable(0x0a6eae94, 2); // amOsinfoDebugLevel - setVariable(0x0a6eae98, 2); // amSysDataDebugLevel - setVariable(0x0a6eaea0, 2); // bcLibDebugLevel - } - - // Security - detourFunction(0x083dd7d2, amDongleInit); - detourFunction(0x083dc21d, amDongleIsAvailable); - detourFunction(0x083dcc81, amDongleUpdate); - detourFunction(0x083dc23a, amDongleIsDevelop); - detourFunction(0x083dd699, amDongleUserInfoEx); - detourFunction(0x080f4ea8, stubRetMinusOne); // checkError - detourFunction(0x083dd186, amDongleDecryptEx); // Return 0 - detourFunction(0x083dc9b9, amDongleSetIv); // Retrun 0 - - // Security Board - amDipswContextAddr = (void *)0x0a6f38e8; - detourFunction(0x083dbfb0, amDipswInit); - detourFunction(0x083dc034, amDipswExit); - detourFunction(0x083dc0a9, amDipswGetData); - detourFunction(0x083dc120, amDipswSetLed); - - // Networking - detourFunction(0x083e3f79, stubRetZero); // amOsinfoModifyNetworkAdr - detourFunction(0x083e460b, stubRetZero); // amOsinfoModifyNetworkProperty - - // While we can't get into the test menu, immidiately return from the - // call to clSteerErrorDisp::run that complains about the calibration - // values. - patchMemory(0x082e99ec, "C3"); - // Fixes Black screen after finishing the race - patchMemory(0x08078b84, "C3"); - - detourFunction(0x082b650a, stubReturn); // adx_err_callback - detourFunction(0x082d2414, stubReturn); // clSerialLindbergh::send - detourFunction(0x082d252c, stubReturn); // clSerialLindbergh::receive - - // Shader patching - cacheModedShaderFiles(); - detourFunction(0x0804f480, gl_XGetProcAddressARB); - } - break; - case INITIALD_4_EXP_REVB: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08d93b70, 2); // amBackupDebugLevel - setVariable(0x08d93b80, 2); // amCreditDebugLevel - setVariable(0x08d93dd8, 2); // amDipswDebugLevel - setVariable(0x08d93ddc, 2); // amDongleDebugLevel - setVariable(0x08d93de0, 2); // amEepromDebugLevel - setVariable(0x08d93de4, 2); // amHwmonitorDebugLevel - setVariable(0x08d93de8, 2); // amJvsDebugLevel - setVariable(0x08d93dec, 2); // amLibDebugLevel - setVariable(0x08d93df0, 2); // amMiscDebugLevel - setVariable(0x08d93df8, 2); // amSysDataDebugLevel - setVariable(0x08d93e00, 2); // bcLibDebugLevel - setVariable(0x08d93df4, 2); // amOsinfoDebugLevel - setVariable(0x08d93e04, 0x0FFFFFFF); // s_logMask - detourFunction(0x0854a778, _putConsoleSeparate); // Debug Messages (crashes game) - } - // Security - detourFunction(0x0870ee36, amDongleInit); - detourFunction(0x0870d881, amDongleIsAvailable); - detourFunction(0x0870e2e5, amDongleUpdate); - detourFunction(0x0870ecfd, amDongleUserInfoEx); - memcpy(elfID, (void *)0x087c0a61, 4); // Gets gameID from the ELF - - // Fixes - amDipswContextAddr = (void *)0x08dc2d08; - detourFunction(0x0870d614, amDipswInit); - detourFunction(0x0870d698, amDipswExit); - detourFunction(0x0870d70d, amDipswGetData); - detourFunction(0x0870d784, stubRetZero); // amDipswSetLed - detourFunction(0x0822fdde, stubRetOne); // isEthLinkUp - // patchMemory(0x082ddfcd, "e954010000"); // tickWaitDHCP - patchMemory(0x082df619, "eb60"); // tickInitAddress - detourFunction(0x0821a1fa, stubRetOne); // Skip Kickback initialization - setVariable(0x0857f0e9, 0x000126e9); // Avoid Full Screen set from Game - patchMemory(0x087bc56c, "ab"); // Skips initialization - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08078860, gl_MultiTexCoord2fARB); - detourFunction(0x080788d0, gl_Color4ub); - detourFunction(0x08078b00, gl_Vertex3f); - detourFunction(0x08079200, gl_TexCoord2f); - detourFunction(0x080792a0, cg_GLIsProfileSupported); - patchMemory(0x08549c10, "9090"); - patchMemory(0x0856e843, "31C090"); // cgCreateProgram args argument to 0; - cacheModedShaderFiles(); - detourFunction(0x08079730, gl_XGetProcAddressARB); - detourFunction(0x080794d0, gl_ProgramParameters4fvNV); - } - detourFunction(0x08264e7a, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_4_EXP_REVC: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08d93b70, 2); // amBackupDebugLevel - setVariable(0x08d93b80, 2); // amCreditDebugLevel - setVariable(0x08d93dd8, 2); // amDipswDebugLevel - setVariable(0x08d93ddc, 2); // amDongleDebugLevel - setVariable(0x08d93de0, 2); // amEepromDebugLevel - setVariable(0x08d93de4, 2); // amHwmonitorDebugLevel - setVariable(0x08d93de8, 2); // amJvsDebugLevel - setVariable(0x08d93dec, 2); // amLibDebugLevel - setVariable(0x08d93df0, 2); // amMiscDebugLevel - setVariable(0x08d93df8, 2); // amSysDataDebugLevel - setVariable(0x08d93e00, 2); // bcLibDebugLevel - setVariable(0x08d93df4, 2); // amOsinfoDebugLevel - setVariable(0x08d93e04, 0x0FFFFFFF); // s_logMask - detourFunction(0x0854a4f8, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x0870ebb6, amDongleInit); - detourFunction(0x0870d601, amDongleIsAvailable); - detourFunction(0x0870e065, amDongleUpdate); - detourFunction(0x0870ea7d, amDongleUserInfoEx); - memcpy(elfID, (void *)0x08337197, 4); // Gets gameID from the ELF - - // Fixes - amDipswContextAddr = (void *)0x08dc2d08; - detourFunction(0x0870d394, amDipswInit); - detourFunction(0x0870d418, amDipswExit); - detourFunction(0x0870d48d, amDipswGetData); - detourFunction(0x0870d504, stubRetZero); // amDipswSetLed - detourFunction(0x0822feae, stubRetOne); // isEthLinkUp - // patchMemory(0x082dde0d, "e954010000"); // tickWaitDHCP - patchMemory(0x082df459, "eb60"); // tickInitAddress - detourFunction(0x0821a2aa, stubRetOne); // Skip Kickback initialization - setVariable(0x0857ee69, 0x000126e9); // Avoid Full Screen set from Game - patchMemory(0x087bc2ec, "eb"); // Skips initialization - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08078860, gl_MultiTexCoord2fARB); - detourFunction(0x080788d0, gl_Color4ub); - detourFunction(0x08078b00, gl_Vertex3f); - detourFunction(0x08079200, gl_TexCoord2f); - detourFunction(0x080792a0, cg_GLIsProfileSupported); - patchMemory(0x0854b4a0, "9090"); - patchMemory(0x085700d3, "31C090"); // cgCreateProgram args argument to 0; - cacheModedShaderFiles(); - detourFunction(0x08079730, gl_XGetProcAddressARB); - detourFunction(0x080794d0, gl_ProgramParameters4fvNV); - } - detourFunction(0x08264f62, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_4_EXP_REVD: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08d972d0, 2); // amBackupDebugLevel - setVariable(0x08d972e0, 2); // amCreditDebugLevel - setVariable(0x08d97538, 2); // amDipswDebugLevel - setVariable(0x08d9753c, 2); // amDongleDebugLevel - setVariable(0x08d97540, 2); // amEepromDebugLevel - setVariable(0x08d97544, 2); // amHwmonitorDebugLevel - setVariable(0x08d97548, 2); // amJvsDebugLevel - setVariable(0x08d9754c, 2); // amLibDebugLevel - setVariable(0x08d97550, 2); // amMiscDebugLevel - setVariable(0x08d97554, 2); // amSysDataDebugLevel - setVariable(0x08d97558, 2); // bcLibDebugLevel - setVariable(0x08d97560, 2); // amOsinfoDebugLevel - setVariable(0x08d97564, 0x0FFFFFFF); // s_logMask - detourFunction(0x0854c008, _putConsoleSeparate); // Debug Messages (crashes game) - } - // Security - detourFunction(0x087106e6, amDongleInit); - detourFunction(0x0870f131, amDongleIsAvailable); - detourFunction(0x0870fb95, amDongleUpdate); - detourFunction(0x087105ad, amDongleUserInfoEx); - memcpy(elfID, (void *)0x08338ce7, 4); // Gets gameID from the ELF - - // Fixes - amDipswContextAddr = (void *)0x08dc6928; - detourFunction(0x0870eec4, amDipswInit); - detourFunction(0x0870ef48, amDipswExit); - detourFunction(0x0870efbd, amDipswGetData); - detourFunction(0x0870f034, stubRetZero); // amDipswSetLed - detourFunction(0x08230fde, stubRetOne); // isEthLinkUp - patchMemory(0x082df87d, "e954010000"); // tickWaitDHCP - patchMemory(0x082e0ec9, "eb60"); // tickInitAddress - detourFunction(0x0821b3ea, stubRetOne); // Skip Kickback initialization - setVariable(0x08580979, 0x000126e9); // Avoid Full Screen set from Game - patchMemory(0x087beb6c, "5b"); // Skips initialization - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x080788ec, gl_MultiTexCoord2fARB); - detourFunction(0x0807895c, gl_Color4ub); - detourFunction(0x08078b8c, gl_Vertex3f); - detourFunction(0x0807928c, gl_TexCoord2f); - detourFunction(0x0807932c, cg_GLIsProfileSupported); - patchMemory(0x0854b4a0, "9090"); - patchMemory(0x085700d3, "31C090"); // cgCreateProgram args argument to 0; - cacheModedShaderFiles(); - detourFunction(0x080797dc, gl_XGetProcAddressARB); - detourFunction(0x0807955c, gl_ProgramParameters4fvNV); - } - detourFunction(0x08266098, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_4_REVA: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08d71470, 2); // amBackupDebugLevel - setVariable(0x08d71480, 2); // amCreditDebugLevel - setVariable(0x08d716d8, 2); // amDipswDebugLevel - setVariable(0x08d716dc, 2); // amDongleDebugLevel - setVariable(0x08d716e0, 2); // amEepromDebugLevel - setVariable(0x08d716e4, 2); // amHwmonitorDebugLevel - setVariable(0x08d716e8, 2); // amJvsDebugLevel - setVariable(0x08d716ec, 2); // amLibDebugLevel - setVariable(0x08d716f0, 2); // amMiscDebugLevel - setVariable(0x08d716f8, 2); // amSysDataDebugLevel - setVariable(0x08d71700, 2); // bcLibDebugLevel - setVariable(0x08d716f4, 2); // amOsinfoDebugLevel - setVariable(0x08d71704, 0x0FFFFFFF); // s_logMask - detourFunction(0x08524c88, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x086e20fa, amDongleInit); - detourFunction(0x086e0b45, amDongleIsAvailable); - detourFunction(0x086e15a9, amDongleUpdate); - detourFunction(0x086e1fc1, amDongleUserInfoEx); - memcpy(elfID, (void *)0x8318835, 4); // Gets gameID from the ELF - // Fixes - amDipswContextAddr = (void *)0x08da0628; // Address of amDipswContext - detourFunction(0x086e08d8, amDipswInit); - detourFunction(0x086e095c, amDipswExit); - detourFunction(0x086e09d1, amDipswGetData); - detourFunction(0x086e0a48, amDipswSetLed); // amDipswSetLED - - detourFunction(0x0821e52c, stubRetOne); // isEthLinkUp - patchMemory(0x082cb222, "c0270900"); // tickInitStoreNetwork - patchMemory(0x082cb4e9, "e950010000"); // tickWaitDHCP - patchMemory(0x082ccc68, "eb"); // Skip Kickback initialization - patchMemory(0x08799acc, "62"); // Skips initialization - patchMemory(0x08799adc, "df"); // Skips initialization - setVariable(0x085593c9, 0x000126e9); // Avoid Full Screen set from Game - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08078980, gl_MultiTexCoord2fARB); - detourFunction(0x080789f0, gl_Color4ub); - detourFunction(0x08078c10, gl_Vertex3f); - detourFunction(0x08079330, gl_TexCoord2f); - detourFunction(0x080793d0, cg_GLIsProfileSupported); - patchMemory(0x085241ea, "9090"); - cacheModedShaderFiles(); - detourFunction(0x08079870, gl_XGetProcAddressARB); - detourFunction(0x08079600, gl_ProgramParameters4fvNV); - } - patchMemory(0x08548cb3, "31C090"); // cgCreateProgram args argument to 0; - detourFunction(0x0825637a, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_4_REVB: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08d71750, 2); // amBackupDebugLevel - setVariable(0x08d71760, 2); // amCreditDebugLevel - setVariable(0x08d719b8, 2); // amDipswDebugLevel - setVariable(0x08d719bc, 2); // amDongleDebugLevel - setVariable(0x08d719c0, 2); // amEepromDebugLevel - setVariable(0x08d719c4, 2); // amHwmonitorDebugLevel - setVariable(0x08d719c8, 2); // amJvsDebugLevel - setVariable(0x08d719cc, 2); // amLibDebugLevel - setVariable(0x08d719d0, 2); // amMiscDebugLevel - setVariable(0x08d719d8, 2); // amSysDataDebugLevel - setVariable(0x08d719e0, 2); // bcLibDebugLevel - setVariable(0x08d719d4, 2); // amOsinfoDebugLevel - setVariable(0x08d719e4, 0x0FFFFFFF); // s_logMask - detourFunction(0x08524ec8, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x086e2336, amDongleInit); - detourFunction(0x086e0d81, amDongleIsAvailable); - detourFunction(0x086e17e5, amDongleUpdate); - detourFunction(0x086e21fd, amDongleUserInfoEx); - memcpy(elfID, (void *)0x08318a45, 4); // Gets gameID from the ELF - // Fixes - amDipswContextAddr = (void *)0x08da0908; // Address of amDipswContext - detourFunction(0x086e0b14, amDipswInit); - detourFunction(0x086e0b98, amDipswExit); - detourFunction(0x086e0c0d, amDipswGetData); - detourFunction(0x086e0c84, amDipswSetLed); // amDipswSetLED - - detourFunction(0x0821e6dc, stubRetOne); // isEthLinkUp - patchMemory(0x082cb412, "c0270900"); // tickInitStoreNetwork - patchMemory(0x082cb6d9, "e950010000"); // tickWaitDHCP - patchMemory(0x082cce58, "EB"); // Skip Kickback initialization - patchMemory(0x08799d8c, "52"); // Skips initialization - patchMemory(0x08799d9c, "cf"); // Skips initialization - setVariable(0x08559609, 0x000126e9); // Avoid Full Screen set from Game - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x080789a4, gl_MultiTexCoord2fARB); - detourFunction(0x08078a14, gl_Color4ub); - detourFunction(0x08078c34, gl_Vertex3f); - detourFunction(0x08079354, gl_TexCoord2f); - detourFunction(0x080793f4, cg_GLIsProfileSupported); - patchMemory(0x0852442a, "9090"); - cacheModedShaderFiles(); - detourFunction(0x08079894, gl_XGetProcAddressARB); - detourFunction(0x08079624, gl_ProgramParameters4fvNV); - } - patchMemory(0x08548ef3, "31C090"); // cgCreateProgram args argument to 0; - detourFunction(0x0825653a, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_4_REVC: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08d7c8f0, 2); // amBackupDebugLevel - setVariable(0x08d7c900, 2); // amCreditDebugLevel - setVariable(0x08d7cb58, 2); // amDipswDebugLevel - setVariable(0x08d7cb5c, 2); // amDongleDebugLevel - setVariable(0x08d7cb60, 2); // amEepromDebugLevel - setVariable(0x08d7cb64, 2); // amHwmonitorDebugLevel - setVariable(0x08d7cb68, 2); // amJvsDebugLevel - setVariable(0x08d7cb6c, 2); // amLibDebugLevel - setVariable(0x08d7cb70, 2); // amMiscDebugLevel - setVariable(0x08d7cb78, 2); // amSysDataDebugLevel - setVariable(0x08d7cb80, 2); // bcLibDebugLevel - setVariable(0x08d7cb74, 2); // amOsinfoDebugLevel - setVariable(0x08d7cb84, 0x0FFFFFFF); // s_logMask - detourFunction(0x0852d738, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x086eabd6, amDongleInit); - detourFunction(0x086e9621, amDongleIsAvailable); - detourFunction(0x086ea085, amDongleUpdate); - detourFunction(0x086eaa9d, amDongleUserInfoEx); - memcpy(elfID, (void *)0x08795338, 4); // Gets gameID from the ELF - // Fixes - amDipswContextAddr = (void *)0x08dabaa8; // Address of amDipswContext - detourFunction(0x086e93b4, amDipswInit); - detourFunction(0x086e9438, amDipswExit); - detourFunction(0x086e94ad, amDipswGetData); - detourFunction(0x086e9524, amDipswSetLed); // amDipswSetLED - - detourFunction(0x0821f0dc, stubRetOne); // isEthLinkUp - patchMemory(0x082cfe42, "c0270900"); // tickInitStoreNetwork - patchMemory(0x082d0109, "e950010000"); // tickWaitDHCP - patchMemory(0x082d1888, "EB"); // Skip Kickback initialization - patchMemory(0x087a2eec, "82"); // Skips initialization - patchMemory(0x087a2efc, "ff"); // Skips initialization - setVariable(0x08561e79, 0x000126e9); // Avoid Full Screen set from Game - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x080789a4, gl_MultiTexCoord2fARB); - detourFunction(0x08078a14, gl_Color4ub); - detourFunction(0x08078c34, gl_Vertex3f); - detourFunction(0x08079354, gl_TexCoord2f); - detourFunction(0x080793f4, cg_GLIsProfileSupported); - patchMemory(0x0852cc9a, "9090"); - cacheModedShaderFiles(); - detourFunction(0x08079894, gl_XGetProcAddressARB); - detourFunction(0x08079624, gl_ProgramParameters4fvNV); - } - patchMemory(0x08551763, "31C090"); // cgCreateProgram args argument to 0; - detourFunction(0x08256ff4, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_4_REVD: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08d798b0, 2); // amBackupDebugLevel - setVariable(0x08d798c0, 2); // amCreditDebugLevel - setVariable(0x08d79b18, 2); // amDipswDebugLevel - setVariable(0x08d79b1c, 2); // amDongleDebugLevel - setVariable(0x08d79b20, 2); // amEepromDebugLevel - setVariable(0x08d79b24, 2); // amHwmonitorDebugLevel - setVariable(0x08d79b28, 2); // amJvsDebugLevel - setVariable(0x08d79b2c, 2); // amLibDebugLevel - setVariable(0x08d79b30, 2); // amMiscDebugLevel - setVariable(0x08d79b38, 2); // amSysDataDebugLevel - setVariable(0x08d79b40, 2); // bcLibDebugLevel - setVariable(0x08d79b34, 2); // amOsinfoDebugLevel - setVariable(0x08d79b44, 0x0FFFFFFF); // s_logMask - detourFunction(0x0852add8, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x086e8276, amDongleInit); - detourFunction(0x086e6cc1, amDongleIsAvailable); - detourFunction(0x086e7725, amDongleUpdate); - detourFunction(0x086e813d, amDongleUserInfoEx); - memcpy(elfID, (void *)0x087929d8, 4); // Gets gameID from the ELF - // Fixes - amDipswContextAddr = (void *)0x08da8a68; // Address of amDipswContext - detourFunction(0x086e6a54, amDipswInit); - detourFunction(0x086e6ad8, amDipswExit); - detourFunction(0x086e6b4d, amDipswGetData); - detourFunction(0x086e6bc4, amDipswSetLed); // amDipswSetLED - - detourFunction(0x0821f5cc, stubRetOne); // isEthLinkUp - patchMemory(0x082cd3b2, "c0270900"); // tickInitStoreNetwork - patchMemory(0x082cd679, "e950010000"); // tickWaitDHCP - patchMemory(0x082cedf8, "EB"); // Skip Kickback initialization - patchMemory(0x087a024c, "f2"); // Skips initialization - patchMemory(0x087a025c, "6f"); // Skips initialization - setVariable(0x0855f519, 0x000126e9); // Avoid Full Screen set from Game - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x080789a4, gl_MultiTexCoord2fARB); - detourFunction(0x08078a14, gl_Color4ub); - detourFunction(0x08078c34, gl_Vertex3f); - detourFunction(0x08079354, gl_TexCoord2f); - detourFunction(0x080793f4, cg_GLIsProfileSupported); - patchMemory(0x0852a33a, "9090"); - cacheModedShaderFiles(); - detourFunction(0x08079894, gl_XGetProcAddressARB); - detourFunction(0x08079624, gl_ProgramParameters4fvNV); - } - patchMemory(0x0854ee03, "31C090"); // cgCreateProgram args argument to 0; - detourFunction(0x08257470, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_4_REVG: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08dde130, 2); // amBackupDebugLevel - setVariable(0x08dde140, 2); // amCreditDebugLevel - setVariable(0x08dde398, 2); // amDipswDebugLevel - setVariable(0x08dde39c, 2); // amDongleDebugLevel - setVariable(0x08dde3a0, 2); // amEepromDebugLevel - setVariable(0x08dde3a4, 2); // amHwmonitorDebugLevel - setVariable(0x08dde3a8, 2); // amJvsDebugLevel - setVariable(0x08dde3ac, 2); // amLibDebugLevel - setVariable(0x08dde3b0, 2); // amMiscDebugLevel - setVariable(0x08dde3b8, 2); // amSysDataDebugLevel - setVariable(0x08dde3c0, 2); // bcLibDebugLevel - setVariable(0x08dde3b4, 2); // amOsinfoDebugLevel - setVariable(0x08dde3c4, 0x0FFFFFFF); // s_logMask - detourFunction(0x08564ea8, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x0872c8d6, amDongleInit); - detourFunction(0x0872b321, amDongleIsAvailable); - detourFunction(0x0872bd85, amDongleUpdate); - detourFunction(0x0872c79d, amDongleUserInfoEx); - memcpy(elfID, (void *)0x087da56c, 4); // Gets gameID from the ELF - // Fixes - amDipswContextAddr = (void *)0x08e0d7a8; // Address of amDipswContext - detourFunction(0x0872b0b4, amDipswInit); - detourFunction(0x0872b138, amDipswExit); - detourFunction(0x0872b1ad, amDipswGetData); - detourFunction(0x0872b224, amDipswSetLed); // amDipswSetLED - - detourFunction(0x0823813a, stubRetOne); // isEthLinkUp - patchMemory(0x082f4396, "c0270900"); // tickInitStoreNetwork - patchMemory(0x082f4efb, "e94d010000"); // tickWaitDHCP - patchMemory(0x082f6d5b, "EB"); // Skip Kickback initialization - patchMemory(0x087e9eac, "c2"); // Skips initialization - patchMemory(0x087e9ebc, "3f36"); // Skips initialization - setVariable(0x08599819, 0x000126e9); // Avoid Full Screen set from Game - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0807a298, gl_MultiTexCoord2fARB); - detourFunction(0x0807a308, gl_Color4ub); - detourFunction(0x0807a538, gl_Vertex3f); - detourFunction(0x0807ac48, gl_TexCoord2f); - detourFunction(0x0807ace8, cg_GLIsProfileSupported); - patchMemory(0x08564340, "9090"); - cacheModedShaderFiles(); - detourFunction(0x0807b1b8, gl_XGetProcAddressARB); - detourFunction(0x0807af28, gl_ProgramParameters4fvNV); - } - patchMemory(0x08588f73, "31C090"); // cgCreateProgram args argument to 0; - detourFunction(0x08271cec, stubRetOne); // isExistNewerSource (forces shader recompilation) - } - break; - case INITIALD_5_EXP: - { - if (config->showDebugMessages == 1) - { - setVariable(0x093a93f0, 2); // amBackupDebugLevel - setVariable(0x093a9400, 2); // amCreditDebugLevel - setVariable(0x093a9658, 2); // amDipswDebugLevel - setVariable(0x093a965c, 2); // amDongleDebugLevel - setVariable(0x093a9660, 2); // amEepromDebugLevel - setVariable(0x093a9664, 2); // amHwmonitorDebugLevel - setVariable(0x093a9668, 2); // amJvsDebugLevel - setVariable(0x093a966c, 2); // amLibDebugLevel - setVariable(0x093a9670, 2); // amMiscDebugLevel - setVariable(0x093a9678, 2); // amSysDataDebugLevel - setVariable(0x093a9680, 2); // bcLibDebugLevel - setVariable(0x093a9674, 2); // amOsinfoDebugLevel - setVariable(0x093a9684, 0x0FFFFFFF); // s_logMask - detourFunction(0x08745e28, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x08911dca, amDongleInit); - detourFunction(0x08910815, amDongleIsAvailable); - detourFunction(0x08911279, amDongleUpdate); - detourFunction(0x08911c91, amDongleUserInfoEx); - memcpy(elfID, (void *)0x084e2407, 4); // Get gameID from the ELF - // Fixes - amDipswContextAddr = (void *)0x093d94c8; - detourFunction(0x089105a8, amDipswInit); - detourFunction(0x0891062c, amDipswExit); - detourFunction(0x089106a1, amDipswGetData); - detourFunction(0x08910718, amDipswSetLed); // amDipswSetLed - detourFunction(0x08322248, stubRetOne); // isEthLinkUp - detourFunction(0x083084a2, stubRetOne); // Skip Kickback initialization - patchMemory(0x084429d9, "eb60"); // tickInitAddress - patchMemory(0x0843fb34, "C0270900"); // tickInitStoreNetwork - detourFunction(0x084deddc, stubRetZero); // doesNeedRollerCleaning - detourFunction(0x084dedf8, stubRetZero); // doesNeedStockerCleaning - patchMemory(0x0843f5ad, "c7c300030000"); // Moves Initializing text - patchMemory(0x089e314c, "47f3"); // Skips initialization - patchMemory(0x08789a49, "e92601000090"); // Prevents Full Screen set from the game - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0807a3f0, gl_MultiTexCoord2fARB); - detourFunction(0x0807a470, gl_Color4ub); - detourFunction(0x0807a6b0, gl_Vertex3f); - detourFunction(0x0807ae10, gl_TexCoord2f); - detourFunction(0x0807aed0, cg_GLIsProfileSupported); - patchMemory(0x087450ef, "9090"); - cacheModedShaderFiles(); - } - - detourFunction(0x08389544, stubRetOne); // isExistNewerSource - detourFunction(0x0807b370, gl_XGetProcAddressARB); - patchMemory(0x08744f2e, "00"); // Fix cutscenes - } - break; - case INITIALD_5_EXP_20: - { - if (config->showDebugMessages == 1) - { - setVariable(0x093f6fa0, 2); // amBackupDebugLevel - setVariable(0x093f6fc0, 2); // amCreditDebugLevel - setVariable(0x093f7218, 2); // amDipswDebugLevel - setVariable(0x093f721c, 2); // amDongleDebugLevel - setVariable(0x093f7220, 2); // amEepromDebugLevel - setVariable(0x093f7224, 2); // amHwmonitorDebugLevel - setVariable(0x093f7228, 2); // amJvsDebugLevel - setVariable(0x093f722c, 2); // amLibDebugLevel - setVariable(0x093f7230, 2); // amMiscDebugLevel - setVariable(0x093f7238, 2); // amSysDataDebugLevel - setVariable(0x093f7240, 2); // bcLibDebugLevel - setVariable(0x093f7234, 2); // amOsinfoDebugLevel - setVariable(0x093f7244, 0x0FFFFFFF); // s_logMask - detourFunction(0x08762978, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x0893dd25, amDongleInit); - detourFunction(0x0893c5b1, amDongleIsAvailable); - detourFunction(0x0893d0d2, amDongleUpdate); - detourFunction(0x0893dbeb, amDongleUserInfoEx); - memcpy(elfID, (void *)0x084fdec2, 4); // Get gameID from the ELF - patchMemory(0x084fde9c, "00"); // Patch KEYCHECK - // Fixes - amDipswContextAddr = (void *)0x09427128; - detourFunction(0x0893c344, amDipswInit); - detourFunction(0x0893c3c8, amDipswExit); - detourFunction(0x0893c43d, amDipswGetData); - detourFunction(0x0893c4b3, amDipswSetLed); // amDipswSetLed - detourFunction(0x0832fca6, stubRetOne); // isEthLinkUp - patchMemory(0x08456348, "e991000000"); // tickWaitDHCP - patchMemory(0x0845843b, "eb60"); // tickInitAddress - patchMemory(0x08455584, "C0270900"); // tickInitStoreNetwork - detourFunction(0x08943eb6, stubRetZero); // amOsinfoExecDhcpNic - detourFunction(0x085135e0, stubRetZero); // isUseServerBox - patchMemory(0x084592be, "30B5E3"); // seqInitWheel - detourFunction(0x084fa3ae, stubRetZero); // doesNeedRollerCleaning - detourFunction(0x084fa3ca, stubRetZero); // doesNeedStockerCleaning - patchMemory(0x08455001, "c7c300030000"); // Moves Initializing text - patchMemory(0x08513a10, "00"); // Network init just once - patchMemory(0x08a0f78c, "95"); // Skips initialization - patchMemory(0x087a6599, "e92601000090"); // Prevents Full Screen set from the game - - // amsInit - detourFunction(0x089382e0, stubRetZero); // Eliminates amsInit Function - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0807a6c0, gl_MultiTexCoord2fARB); - detourFunction(0x0807a740, gl_Color4ub); - detourFunction(0x0807a990, gl_Vertex3f); - detourFunction(0x0807b130, gl_TexCoord2f); - detourFunction(0x0807b1f0, cg_GLIsProfileSupported); - patchMemory(0x08761c3f, "9090"); - cacheModedShaderFiles(); - } - - detourFunction(0x08397224, stubRetOne); // isExistNewerSource - detourFunction(0x0807b6c0, gl_XGetProcAddressARB); - patchMemory(0x08761a7e, "00"); // Fix cutscenes - } - break; - case INITIALD_5_EXP_20A: - { - if (config->showDebugMessages == 1) - { - setVariable(0x093f6fa0, 2); // amBackupDebugLevel - setVariable(0x093f6fc0, 2); // amCreditDebugLevel - setVariable(0x093f7218, 2); // amDipswDebugLevel - setVariable(0x093f721c, 2); // amDongleDebugLevel - setVariable(0x093f7220, 2); // amEepromDebugLevel - setVariable(0x093f7224, 2); // amHwmonitorDebugLevel - setVariable(0x093f7228, 2); // amJvsDebugLevel - setVariable(0x093f722c, 2); // amLibDebugLevel - setVariable(0x093f7230, 2); // amMiscDebugLevel - setVariable(0x093f7238, 2); // amSysDataDebugLevel - setVariable(0x093f7240, 2); // bcLibDebugLevel - setVariable(0x093f7234, 2); // amOsinfoDebugLevel - setVariable(0x093f7244, 0x0FFFFFFF); // s_logMask - detourFunction(0x08762bc8, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x0893df75, amDongleInit); - detourFunction(0x0893c801, amDongleIsAvailable); - detourFunction(0x0893d322, amDongleUpdate); - detourFunction(0x0893de3b, amDongleUserInfoEx); - memcpy(elfID, (void *)0x084fe0f2, 4); // Get gameID from the ELF - patchMemory(0x084fe0cc, "00"); // Patch KEYCHECK - // Fixes - amDipswContextAddr = (void *)0x09427128; - detourFunction(0x0893c594, amDipswInit); - detourFunction(0x0893c618, amDipswExit); - detourFunction(0x0893c68d, amDipswGetData); - detourFunction(0x0893c703, amDipswSetLed); // amDipswSetLed - detourFunction(0x0832fe46, stubRetOne); // isEthLinkUp - patchMemory(0x084566d8, "e991000000"); // tickWaitDHCP - patchMemory(0x084587cb, "eb60"); // tickInitAddress - patchMemory(0x08455914, "C0270900"); // tickInitStoreNetwork - detourFunction(0x08944106, stubRetZero); // amOsinfoExecDhcpNic - detourFunction(0x08513810, stubRetZero); // isUseServerBox - patchMemory(0x0845964e, "40b3e3"); // seqInitWheel - detourFunction(0x084fa5de, stubRetZero); // doesNeedRollerCleaning - detourFunction(0x084fa5fa, stubRetZero); // doesNeedStockerCleaning - patchMemory(0x08455391, "c7c300030000"); // Moves Initializing text - patchMemory(0x08513c40, "00"); // Network init just once - patchMemory(0x08a0f9cc, "25"); // Skips initialization - patchMemory(0x087a67e9, "e92601000090"); // Prevents Full Screen set from the game - - // amsInit - detourFunction(0x08938530, stubRetZero); // Eliminates amsInit Function - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0807a6c0, gl_MultiTexCoord2fARB); - detourFunction(0x0807a740, gl_Color4ub); - detourFunction(0x0807a990, gl_Vertex3f); - detourFunction(0x0807b130, gl_TexCoord2f); - detourFunction(0x0807b1f0, cg_GLIsProfileSupported); - patchMemory(0x08761e8f, "9090"); - cacheModedShaderFiles(); - } - - detourFunction(0x083973a4, stubRetOne); // isExistNewerSource - detourFunction(0x0807b6c0, gl_XGetProcAddressARB); - patchMemory(0x08761cce, "00"); // Fix cutscenes - } - break; - case INITIALD_5_JAP_REVA: // ID5 - DVP-0070A - { - if (config->showDebugMessages == 1) - { - setVariable(0x093a92d0, 2); // amBackupDebugLevel - setVariable(0x093a92e0, 2); // amCreditDebugLevel - setVariable(0x093a9538, 2); // amDipswDebugLevel - setVariable(0x093a953c, 2); // amDongleDebugLevel - setVariable(0x093a9540, 2); // amEepromDebugLevel - setVariable(0x093a9544, 2); // amHwmonitorDebugLevel - setVariable(0x093a9548, 2); // amJvsDebugLevel - setVariable(0x093a954c, 2); // amLibDebugLevel - setVariable(0x093a9550, 2); // amMiscDebugLevel - setVariable(0x093a9558, 2); // amSysDataDebugLevel - setVariable(0x093a9560, 2); // bcLibDebugLevel - setVariable(0x093a9554, 2); // amOsinfoDebugLevel - setVariable(0x093a9564, 0x0FFFFFFF); // s_logMask - detourFunction(0x08745238, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x089111da, amDongleInit); - detourFunction(0x0890fc25, amDongleIsAvailable); - detourFunction(0x08910689, amDongleUpdate); - detourFunction(0x089110a1, amDongleUserInfoEx); - memcpy(elfID, (void *)0x084e1707, 4); // Get gameID from the ELF - amDipswContextAddr = (void *)0x093d93a8; - detourFunction(0x0890f9b8, amDipswInit); - detourFunction(0x0890fa3c, amDipswExit); - detourFunction(0x0890fab1, amDipswGetData); - detourFunction(0x0890fb28, amDipswSetLed); // amDipswSetLed - detourFunction(0x08321968, stubRetOne); // isEthLinkUp - patchMemory(0x0843f068, "c0270900"); // tickInitStoreNetwork - // patchMemory(0x0843fed0, "e98d000000"); // tickWaitDHCP - detourFunction(0x08307b62, stubRetOne); // Skip Kickback initialization - detourFunction(0x084de0dc, stubRetZero); // doesNeedRollerCleaning - detourFunction(0x084de0f8, stubRetZero); // doesNeedStockerCleaning - patchMemory(0x089e308c, "BA"); // Skips initialization - patchMemory(0x08788e59, "e92601000090"); // Prevents Full Screen set from the game - - patchMemory(0x08441f99, "eb60"); // tickInitAddress - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0807a3f0, gl_MultiTexCoord2fARB); - detourFunction(0x0807a470, gl_Color4ub); - detourFunction(0x0807a6b0, gl_Vertex3f); - detourFunction(0x0807ae10, gl_TexCoord2f); - detourFunction(0x0807aed0, cg_GLIsProfileSupported); - patchMemory(0x087444ff, "9090"); - cacheModedShaderFiles(); - } - - detourFunction(0x08388cb4, stubRetOne); // isExistNewerSource - detourFunction(0x0807b370, gl_XGetProcAddressARB); - patchMemory(0x0874433e, "00"); // Fix cutscenes - } - break; - case INITIALD_5_JAP_REVF: // ID5 - DVP-0070F - { - if (config->showDebugMessages == 1) - { - setVariable(0x093e52d4, 2); // amBackupDebugLevel - setVariable(0x093e52e0, 2); // amCreditDebugLevel - setVariable(0x093e5538, 2); // amDipswDebugLevel - setVariable(0x093e553c, 2); // amDongleDebugLevel - setVariable(0x093e5540, 2); // amEepromDebugLevel - setVariable(0x093e5544, 2); // amHwmonitorDebugLevel - setVariable(0x093e5548, 2); // amJvsDebugLevel - setVariable(0x093e554c, 2); // amLibDebugLevel - setVariable(0x093e5550, 2); // amMiscDebugLevel - setVariable(0x093e5558, 2); // amSysDataDebugLevel - setVariable(0x093e5560, 2); // bcLibDebugLevel - setVariable(0x093e5554, 2); // amOsinfoDebugLevel - setVariable(0x093e5564, 0x0FFFFFFF); // s_logMask - detourFunction(0x0875f0a8, _putConsoleSeparate); // Debug Messages - } - // Security - detourFunction(0x08937b71, amDongleInit); - detourFunction(0x089363fd, amDongleIsAvailable); - detourFunction(0x08936f1e, amDongleUpdate); - detourFunction(0x08937a37, amDongleUserInfoEx); - memcpy(elfID, (void *)0x084fa2e2, 4); // Get gameID from the ELF - patchMemory(0x084fa2bc, "00"); // Patch KEYCHECK - // Fixes - amDipswContextAddr = (void *)0x09415388; - detourFunction(0x08936190, amDipswInit); - detourFunction(0x08936214, amDipswExit); - detourFunction(0x08936289, amDipswGetData); - detourFunction(0x089362ff, amDipswSetLed); // amDipswSetLed - detourFunction(0x08330368, stubRetOne); // isEthLinkUp - patchMemory(0x084519ee, "C0270900"); // tickInitStoreNetwork - // patchMemory(0x08452848, "e991000000"); // tickWaitDHCP - detourFunction(0x08316392, stubRetOne); // Skip Kickback initialization - detourFunction(0x084f67ce, stubRetZero); // doesNeedRollerCleaning - detourFunction(0x084f67ea, stubRetZero); // doesNeedStockerCleaning - - patchMemory(0x08451501, "c7c300030000"); // Moves Initializing text - patchMemory(0x0850ffd0, "00"); // Network init just once - patchMemory(0x08a098ac, "95"); // Skips initialization - patchMemory(0x087a2cc9, "e92601000090"); // Prevents Full Screen set from the game - - patchMemory(0x0845493b, "eb60"); // tickInitAddress - detourFunction(0x0893dd02, stubRetZero); // amOsinfoExecDhcpNic - detourFunction(0x0850fba0, stubRetZero); // isUseServerBox - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0807a42c, gl_MultiTexCoord2fARB); - detourFunction(0x0807a4ac, gl_Color4ub); - detourFunction(0x0807a6ec, gl_Vertex3f); - detourFunction(0x0807ae4c, gl_TexCoord2f); - detourFunction(0x0807af0c, cg_GLIsProfileSupported); - patchMemory(0x0875e36f, "9090"); - cacheModedShaderFiles(); - } - - detourFunction(0x08397aa4, stubRetOne); // isExistNewerSource - detourFunction(0x0807b3bc, gl_XGetProcAddressARB); - patchMemory(0x0875e1ae, "00"); // Fix cutscenes - } - break; - case LETS_GO_JUNGLE: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08c083a4, 2); // amBackupDebugLevel - setVariable(0x08c083c0, 2); // amCreditDebugLevel - setVariable(0x08c08618, 2); // amDipswDebugLevel - setVariable(0x08c0861c, 2); // amDongleDebugLevel - setVariable(0x08c08620, 2); // amEepromDebugLevel - setVariable(0x08c08624, 2); // amHwmonitorDebugLevel - setVariable(0x08c08628, 2); // amJvsDebugLevel - setVariable(0x08c0862c, 2); // amLibDebugLevel - setVariable(0x08c08630, 2); // amMiscDebugLevel - setVariable(0x08c08638, 2); // amSysDataDebugLevel - setVariable(0x08c08640, 2); // bcLibDebugLevel - setVariable(0x08c08634, 2); // amOsinfoDebugLevel - setVariable(0x08c08644, 0x0FFFFFFF); // s_logMask - detourFunction(0x08074a8c, _putConsole); // Debug Messages - } - // Security - detourFunction(0x084e50d8, amDongleInit); - detourFunction(0x084e5459, amDongleIsAvailable); - detourFunction(0x084e537d, amDongleUpdate); - patchMemory(0x0807b76a, "9090"); // Patch initializeArcadeBackup - // Fixes - amDipswContextAddr = (void *)0x08c3bba8; // Address of amDipswContext - detourFunction(0x084e4efc, amDipswInit); - detourFunction(0x084e4f98, amDipswExit); - detourFunction(0x084e500e, amDipswGetData); - detourFunction(0x084e5086, amDipswSetLed); - patchMemory(0x0840d858, "9090"); // No full screen - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU || getConfig()->lgjRenderWithMesa) - { - detourFunction(0x080716e4, gl_MultiTexCoord2fARB); - detourFunction(0x08071754, gl_Color4ub); - detourFunction(0x08071984, gl_Vertex3f); - detourFunction(0x08071fc4, gl_TexCoord2f); - detourFunction(0x08072054, cg_GLIsProfileSupported); - detourFunction(0x08071da4, gl_ProgramStringARB); - cacheModedShaderFiles(); - } - detourFunction(0x08072214, gl_ProgramParameters4fvNV); - // patchMemory(0x083ef88e, "909090909090"); - detourFunction(0x08072454, gl_XGetProcAddressARB); - } - break; - case LETS_GO_JUNGLE_REVA: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08c10604, 2); // amBackupDebugLevel - setVariable(0x08c10620, 2); // amCreditDebugLevel - setVariable(0x08c10878, 2); // amDipswDebugLevel - setVariable(0x08c1087c, 2); // amDongleDebugLevel - setVariable(0x08c10880, 2); // amEepromDebugLevel - setVariable(0x08c10884, 2); // amHwmonitorDebugLevel - setVariable(0x08c10888, 2); // amJvsDebugLevel - setVariable(0x08c1088c, 2); // amLibDebugLevel - setVariable(0x08c10890, 2); // amMiscDebugLevel - setVariable(0x08c10898, 2); // amSysDataDebugLevel - setVariable(0x08c108a0, 2); // bcLibDebugLevel - setVariable(0x08c10894, 2); // amOsinfoDebugLevel - setVariable(0x08c108a4, 0x0FFFFFFF); // s_logMask - detourFunction(0x08074a8c, _putConsole); // Debug Messages - } - // Security - detourFunction(0x084e9fbc, amDongleInit); - detourFunction(0x084ea378, amDongleIsAvailable); - detourFunction(0x084ea29c, amDongleUpdate); - patchMemory(0x0807b86a, "9090"); // Patch initializeArcadeBackup - // Fixes - amDipswContextAddr = (void *)0x08c43e08; // Address of amDipswContext - detourFunction(0x084e9de0, amDipswInit); - detourFunction(0x084e9e7c, amDipswExit); - detourFunction(0x084e9ef2, amDipswGetData); - detourFunction(0x084e9f6a, amDipswSetLed); - patchMemory(0x084125f0, "9090"); // No full screen - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU || getConfig()->lgjRenderWithMesa) - { - detourFunction(0x08071790, gl_MultiTexCoord2fARB); - detourFunction(0x08071800, gl_Color4ub); - detourFunction(0x08071a30, gl_Vertex3f); - detourFunction(0x08072080, gl_TexCoord2f); - detourFunction(0x08072110, cg_GLIsProfileSupported); - detourFunction(0x08071e50, gl_ProgramStringARB); - cacheModedShaderFiles(); - } - detourFunction(0x080722e0, gl_ProgramParameters4fvNV); - // patchMemory(0x083f4626, "909090909090"); - detourFunction(0x08072520, gl_XGetProcAddressARB); - } - break; - case LETS_GO_JUNGLE_SPECIAL: - { - if (config->showDebugMessages == 1) - { - setVariable(0x08c453e4, 2); // amBackupDebugLevel - setVariable(0x08c45400, 2); // amCreditDebugLevel - setVariable(0x08c45658, 2); // amDipswDebugLevel - setVariable(0x08c4565c, 2); // amDongleDebugLevel - setVariable(0x08c45660, 2); // amEepromDebugLevel - setVariable(0x08c45664, 2); // amHwmonitorDebugLevel - setVariable(0x08c45668, 2); // amJvsDebugLevel - setVariable(0x08c4566c, 2); // amLibDebugLevel - setVariable(0x08c45670, 2); // amMiscDebugLevel - setVariable(0x08c45678, 2); // amSysDataDebugLevel - setVariable(0x08c45680, 2); // bcLibDebugLevel - setVariable(0x08c45674, 2); // amOsinfoDebugLevel - setVariable(0x08c45684, 0x0FFFFFFF); // s_logMask - detourFunction(0x08075012, _putConsole); // Debug Messages - } - // Security - detourFunction(0x08510320, amDongleInit); - detourFunction(0x085106dc, amDongleIsAvailable); - detourFunction(0x08510600, amDongleUpdate); - patchMemory(0x0807e609, "909090909090"); - // Fixes - amDipswContextAddr = (void *)0x08c78be8; // Address of amDipswContext - detourFunction(0x08510144, amDipswInit); - detourFunction(0x085101e0, amDipswExit); - detourFunction(0x08510256, amDipswGetData); - detourFunction(0x085102ce, amDipswSetLed); - patchMemory(0x08438954, "9090"); // No full screen - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU || getConfig()->lgjRenderWithMesa) - { - detourFunction(0x080718e0, gl_MultiTexCoord2fARB); - detourFunction(0x08071950, gl_Color4ub); - detourFunction(0x08071b80, gl_Vertex3f); - detourFunction(0x08072210, gl_TexCoord2f); - detourFunction(0x080722a0, cg_GLIsProfileSupported); - detourFunction(0x08071fd0, gl_ProgramStringARB); - cacheModedShaderFiles(); - } - detourFunction(0x08072480, gl_ProgramParameters4fvNV); - patchMemory(0x0841a98a, "909090909090"); - detourFunction(0x080726c0, gl_XGetProcAddressARB); - } - break; - case MJ4_EVO: - { - detourFunction(0x08840b61, amDongleInit); - detourFunction(0x0883f3ed, amDongleIsAvailable); - detourFunction(0x0883f40a, amDongleIsDevelop); - detourFunction(0x0883ff0e, amDongleUpdate); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x0af8ff3c; // Address of amDipswContext - detourFunction(0x0883f180, amDipswInit); - detourFunction(0x0883f204, amDipswExit); - detourFunction(0x0883f279, amDipswGetData); - detourFunction(0x0883f2ef, amDipswSetLed); - - patchMemory(0x080ea0d1, "909090909090"); - detourFunction(0x080e327c, stubRetZero); // skip checks - detourFunction(0x080ee4fa, stubRetZero); - patchMemory(0x080ea0bf, "75"); - patchMemory(0x08c035b8, "00"); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08051314, gl_ProgramStringARB); - } - } - break; - case MJ4_REVG: - { - setVariable(0x0acf85d4, 2); - setVariable(0x0acf85d0, 2); - setVariable(0x0acf85cc, 2); - setVariable(0x0acf85c8, 2); - setVariable(0x0acf85c0, 2); - setVariable(0x0acf85bc, 2); - - // Security - detourFunction(0x08710c0a, amDongleInit); - detourFunction(0x0870f6c5, amDongleIsAvailable); - detourFunction(0x0870f6e2, amDongleIsDevelop); - detourFunction(0x087100bb, amDongleUpdate); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x0ad224fc; // Address of amDipswContext - detourFunction(0x0870f458, amDipswInit); - detourFunction(0x0870f4dc, amDipswExit); - detourFunction(0x0870f551, amDipswGetData); - detourFunction(0x0870f5c7, amDipswSetLed); - - // detourFunction(0x080e286a, stubRetZero); // skip checks - // detourFunction(0x080ed7f8, stubRetZero); - // patchMemory(0x080e954b, "75"); - // patchMemory(0x08a4cb90, "00"); - // patchMemory(0x080e955d, "909090909090"); // test skip countdown - - // setVariable(0x08534a33, 30); - // setVariable(0x08534a42, 2); - - patchMemory(0x080e2891, "eb"); - patchMemory(0x080ea049, "05"); - patchMemory(0x08a4cb90, "00"); - - patchMemory(0x0872bc4d, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder - patchMemory(0x0872bc64, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder - patchMemory(0x0872bc7d, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder - patchMemory(0x0872bccd, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x0872bcdd, "2e2f666f6f3100"); // Patch /home/disk2 folder - patchMemory(0x0872bcee, "2e2f666f6f3200"); // Patch /home/disk2 folder - patchMemory(0x0872f3de, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder - patchMemory(0x08732fd3, "2e2f00"); // Patch /home/disk2 folder - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08050ebc, gl_ProgramStringARB); - } - } - break; - case OUTRUN_2_SP_SDX: - { - if (config->showDebugMessages == 1) - { - // Debug Messages - setVariable(0x0893a2cc, 2); // amBackupDebugLevel - setVariable(0x0893a2e0, 2); // amCreditDebugLevel - setVariable(0x0893a538, 2); // amDipswDebugLevel - setVariable(0x0893a53c, 2); // amDongleDebugLevel - setVariable(0x0893a540, 2); // amEepromDebugLevel - setVariable(0x0893a544, 2); // amHwmonitorDebugLevel - setVariable(0x0893a548, 2); // amJvsDebugLevel - setVariable(0x0893a54c, 2); // amLibDebugLevel - setVariable(0x0893a550, 2); // amMiscDebugLevel - setVariable(0x0893a554, 2); // amOsinfoDebugLevel - setVariable(0x0893a558, 2); // amSysDataDebugLevel - setVariable(0x0893a560, 2); // bcLibDebugLevel - } - // Security - detourFunction(0x08190f0c, amDongleInit); - detourFunction(0x0819128d, amDongleIsAvailable); - detourFunction(0x081911b1, amDongleUpdate); - detourFunction(0x081912ad, amDongleIsDevelop); - // Fixes - amDipswContextAddr = (void *)0x0896a108; - detourFunction(0x08190d30, amDipswInit); - detourFunction(0x08190dcc, amDipswExit); - detourFunction(0x08190e42, amDipswGetData); - detourFunction(0x08190eba, amDipswSetLed); - - // Taken from original patched OUTRUN 2 SP SDX by Android and improved a little - patchMemory(0x08105383, "e91f000000"); - patchMemory(0x081095ff, "9090"); - patchMemory(0x08109603, "9090"); - patchMemory(0x08109609, "77"); - - // Shader Patches - detourFunction(0x0804ca98, gl_ProgramStringARB); - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804cf38, glGenProgramsARB); // Replaces glGenProgramsNV - detourFunction(0x0804c548, gl_BindProgramNV); // Replaces glBindProgramNV - detourFunction(0x0804c788, gl_LoadProgramNV); // Replaces glLoadProgramNV - detourFunction(0x0804c4e8, gl_DeleteProgramsNV); // Replaces glDeleteProgramsNV - detourFunction(0x0804c938, glProgramEnvParameter4fvARB); // Replaces glProgramParameter4fvNV - detourFunction(0x0804ce18, glProgramEnvParameters4fvEXT); // Replaces glProgramParameters4fvNV - detourFunction(0x0804cec8, glProgramEnvParameter4fARB); // Replaces glProgramParameter4fNV - detourFunction(0x0804cb98, glIsProgramARB); // Replaces glIsProgramNV - detourFunction(0x0804c568, gl_EndOcclusionQueryNV); // Replaces glEndOcclusionQueryNV - detourFunction(0x0804d498, glGetQueryObjectuivARB); // Replaces glGetOcclusionQueryuivNV - detourFunction(0x0804d648, glGenQueriesARB); // Replaces glGenOcclusionQueriesNV - detourFunction(0x0804d0a8, gl_BeginOcclusionQueryNV); // Replaces glBeginOcclusionQueryNV - } - detourFunction(0x0804d148, or2snprintf); // Fixes a bug in snprintf libc 2.39?? - } - break; - case OUTRUN_2_SP_SDX_REVA: - { - if (config->showDebugMessages == 1) - { - // Debug Messages - setVariable(0x0893a24c, 2); // amBackupDebugLevel - setVariable(0x0893a260, 2); // amCreditDebugLevel - setVariable(0x0893a4b8, 2); // amDipswDebugLevel - setVariable(0x0893a4bc, 2); // amDongleDebugLevel - setVariable(0x0893a4c0, 2); // amEepromDebugLevel - setVariable(0x0893a4c4, 2); // amHwmonitorDebugLevel - setVariable(0x0893a4c8, 2); // amJvsDebugLevel - setVariable(0x0893a4cc, 2); // amLibDebugLevel - setVariable(0x0893a4d0, 2); // amMiscDebugLevel - setVariable(0x0893a4d4, 2); // amOsinfoDebugLevel - setVariable(0x0893a4d8, 2); // amSysDataDebugLevel - setVariable(0x0893a4e0, 2); // bcLibDebugLevel - } - // Output/logs - detourFunction(0x0804c9a8, patchedPuts); - detourFunction(0x0804cfe8, patchedPrintf); - // Security - detourFunction(0x08190e80, amDongleInit); - detourFunction(0x08191201, amDongleIsAvailable); - detourFunction(0x08191125, amDongleUpdate); - detourFunction(0x08191221, amDongleIsDevelop); - // Fixes - amDipswContextAddr = (void *)0x0896A088; - detourFunction(0x08190ca4, amDipswInit); - detourFunction(0x08190D40, amDipswExit); - detourFunction(0x08190db6, amDipswGetData); - detourFunction(0x08190e2e, amDipswSetLed); - - // Taken from original patched OUTRUN 2 SP SDX by Android and improved a little - patchMemory(0x08105317, "e91f000000"); - patchMemory(0x08109593, "9090"); - patchMemory(0x08109597, "9090"); - patchMemory(0x0810959D, "77"); - - // Shader Patches - detourFunction(0x0804ca98, gl_ProgramStringARB); - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804cf38, glGenProgramsARB); // Replaces glGenProgramsNV - detourFunction(0x0804c548, gl_BindProgramNV); // Replaces glBindProgramNV - detourFunction(0x0804c788, gl_LoadProgramNV); // Replaces glLoadProgramNV - detourFunction(0x0804c4e8, gl_DeleteProgramsNV); // Replaces glDeleteProgramsNV - detourFunction(0x0804c938, glProgramEnvParameter4fvARB); // Replaces glProgramParameter4fvNV - detourFunction(0x0804ce18, glProgramEnvParameters4fvEXT); // Replaces glProgramParameters4fvNV - detourFunction(0x0804cec8, glProgramEnvParameter4fARB); // Replaces glProgramParameter4fNV - detourFunction(0x0804cb98, glIsProgramARB); // Replaces glIsProgramNV - detourFunction(0x0804c568, gl_EndOcclusionQueryNV); // Replaces glEndOcclusionQueryNV - detourFunction(0x0804d498, glGetQueryObjectuivARB); // Replaces glGetOcclusionQueryuivNV - detourFunction(0x0804d648, glGenQueriesARB); // Replaces glGenOcclusionQueriesNV - detourFunction(0x0804d0a8, gl_BeginOcclusionQueryNV); // Replaces glBeginOcclusionQueryNV - } - detourFunction(0x0804d148, or2snprintf); // Fixes a bug in snprintf libc 2.39?? - - // Only apply these patches if skipOutrunCabinetCheck is enabled - if (config->skipOutrunCabinetCheck) - { - // Bypass checks for tower and Force Feedback - detourFunction(0x08103eaa, stubRetOne); - detourFunction(0x08105d88, stubRetOne); - } - } - break; - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - { - // Security - detourFunction(0x08066220, amDongleInit); - detourFunction(0x080665a1, amDongleIsAvailable); - detourFunction(0x080664c5, amDongleUpdate); - detourFunction(0x080665c1, amDongleIsDevelop); - - // Fixes - amDipswContextAddr = (void *)0x080980e8; // Address of amDipswContext - detourFunction(0x08066044, amDipswInit); - detourFunction(0x080660e0, amDipswExit); - detourFunction(0x08066156, amDipswGetData); - detourFunction(0x080661ce, amDipswSetLed); // Stub amDipswSetLed - detourFunction(0x08066044, amDipswInit); - - // Patch to allow selection of all cabinet types - patchMemory(0x08054ac4, "9090909090"); - } - break; - case OUTRUN_2_SP_SDX_TEST: - { - // Security - detourFunction(0x08066204, amDongleInit); - detourFunction(0x08066585, amDongleIsAvailable); - detourFunction(0x080664a9, amDongleUpdate); - detourFunction(0x080665a5, amDongleIsDevelop); - - // Fixes - amDipswContextAddr = (void *)0x080980e8; // Address of amDipswContext - detourFunction(0x08066028, amDipswInit); - detourFunction(0x080660c4, amDipswExit); - detourFunction(0x0806613a, amDipswGetData); - detourFunction(0x080661b2, amDipswSetLed); // Stub amDipswSetLed - detourFunction(0x08066028, amDipswInit); - - // Patch to allow selection of all cabinet types - patchMemory(0x08054a88, "9090909090"); - } - break; - case PRIMEVAL_HUNT: - { - // Security - detourFunction(0x08141770, amDongleInit); - detourFunction(0x08140229, amDongleIsAvailable); - detourFunction(0x08140c1f, amDongleUpdate); - patchMemory(0x08055264, "EB"); - // Fixes - amDipswContextAddr = (void *)0x0a96d488; // Address of amDipswContext - detourFunction(0x0813ffbc, amDipswInit); - detourFunction(0x08140040, amDipswExit); - detourFunction(0x081400b5, amDipswGetData); - detourFunction(0x0814012c, stubRetZero); - patchMemory(0x08052cb2, "9090909090"); - cacheModedShaderFiles(); - } - break; - case RAMBO: - { - // Security - detourFunction(0x082c4746, amDongleInit); - detourFunction(0x082c3201, amDongleIsAvailable); - detourFunction(0x082c3bf7, amDongleUpdate); - detourFunction(0x082c460d, amDongleUserInfoEx); - detourFunction(0x082c321e, amDongleIsDevelop); - detourFunction(0x080e4262, stubRetZero); - detourFunction(0x080e3e94, stubRetZero); - patchMemory(0x080e3f1d, "EB"); - patchMemory(0x080e3f79, "01"); - patchMemory(0x080e3e2e, "EB"); - // Fixes - amDipswContextAddr = (void *)0x082c2f94; - detourFunction(0x082c2f94, amDipswInit); - detourFunction(0x082c3018, amDipswExit); - detourFunction(0x082c308d, amDipswGetData); - detourFunction(0x082c3103, amDipswSetLed); - cacheModedShaderFiles(); - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - loadLibCg(); - cacheNnstdshader(); - patchMemory(0x080b3d71, "01"); // Compile using CGC - replaceCallAtAddress(0x082015bf, compileWithCGC); - replaceCallAtAddress(0x082012c1, compileWithCGC); - } - } - break; - case R_TUNED: - { - // Security - detourFunction(0x08366846, amDongleInit); - detourFunction(0x08365301, amDongleIsAvailable); - detourFunction(0x08365cf7, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x08578be8; - detourFunction(0x08365094, amDipswInit); - detourFunction(0x08365118, amDipswExit); - detourFunction(0x08365203, amDipswSetLed); - detourFunction(0x0836518d, amDipswGetData); - patchMemory(0x8388C90, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder - patchMemory(0x8388CA7, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder - patchMemory(0x8388CC0, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder - patchMemory(0x8388D10, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x8388D20, "2e2f666f6f3100"); // Patch /home/disk2 folder - patchMemory(0x8388D31, "2e2f666f6f3200"); // Patch /home/disk2 folder - patchMemory(0x83C979E, "2e2f00"); // Patch /home/disk2 folder - patchMemory(0x838C498, "2e2f524f4d5f4c414e472f656e00"); // Patch /home/disk0 folder - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x080507e8, gl_ProgramStringARB); - } - // Disable Force Feedback check? - patchMemory(0x0817f8d9, "891c2490909090"); - patchMemory(0x0817f8e5, "ebc5"); - } - break; - case SEGABOOT_2_4_SYM: - { - if (config->showDebugMessages == 1) - { - setVariable(0x0808da48, 2); // amAdtecDebugLevel - setVariable(0x0808cf8c, 2); // amAtaDebugLevel - setVariable(0x0808cf90, 2); // amBackupDebugLevel - setVariable(0x0808cf94, 2); // amChunkDataDebugLevel - setVariable(0x0808cfa0, 2); // amCreditDebugLevel - setVariable(0x0808d1f8, 2); // amDipswDebugLevel - setVariable(0x0808d1fc, 2); // amDiskDebugLevel - setVariable(0x0808d200, 2); // amDongleDebugLevel - setVariable(0x0808d204, 2); // amEepromDebugLevel - setVariable(0x0808d208, 2); // amHmDebugLevel - setVariable(0x0808d210, 2); // amJvsDebugLevel - setVariable(0x0808d214, 2); // amLibDebugLevel - setVariable(0x0808d218, 2); // amMiscDebugLevel - setVariable(0x0808d21c, 2); // amSysDataDebugLevel - setVariable(0x0808d220, 2); // bcLibDebugLevel - setVariable(0x0808cf58, 2); // g_DebugLevel - setVariable(0x0808d224, 0x0FFFFFFF); // logmask - } - - detourFunction(0x0805e8b0, amDongleInit); - detourFunction(0x0805ebc3, amDongleIsAvailable); - detourFunction(0x0805eb2a, amDongleUpdate); - detourFunction(0x0805c30b, amDipswGetData); - } - break; - case SEGA_RACE_TV: - { - // Security - detourFunction(0x084d5b40, amDongleInit); - detourFunction(0x084d45f9, amDongleIsAvailable); - detourFunction(0x084d4fef, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x08df9cec; - detourFunction(0x084d438c, amDipswInit); - detourFunction(0x084d4410, amDipswExit); - detourFunction(0x084d44fc, amDipswSetLed); - detourFunction(0x084d4485, amDipswGetData); - patchMemory(0x0804edb2, "9090909090"); //__intel_new_proc_init_P - detourFunction(0x08178e6c, stubRetOne); // _ZN7am_ctrl18SetNetworkAddrEth0Ejj. - - detourFunction(0x0804e594, gl_XGetProcAddressARB); - srtvElfShaderPatcher(); - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - patchMemory(0x082d3ce9, "9090"); // Force GL_NVX_conditional_render - } - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVA: - { - if (config->showDebugMessages == 1) - { - // Debug Messages - setVariable(0x0a737c60, 2); // amBackupDebugLevel - setVariable(0x0a737c64, 2); // amChunkDataDebugLevel - setVariable(0x0a737c80, 2); // amCreditDebugLevel - setVariable(0x0a737ed8, 2); // amDipswDebugLevel - setVariable(0x0a737edc, 2); // amDiskDebugLevel - setVariable(0x0a737ee0, 2); // amDongleDebugLevel - setVariable(0x0a737ee4, 2); // amEepromDebugLevel - setVariable(0x0a737ee8, 2); // amHmDebugLevel - setVariable(0x0a737ef0, 2); // amJvsDebugLevel - setVariable(0x0a737f14, 2); // amLibDebugLevel - setVariable(0x0a737f18, 2); // amMiscDebugLevel - setVariable(0x0a737f1c, 2); // amSysDataDebugLevel - setVariable(0x0a737f20, 2); // bcLibDebugLevel - setVariable(0x0a737f24, 0x0FFFFFFF); // s_logMask - } - // Security - detourFunction(0x08320178, amDongleInit); - detourFunction(0x08320459, amDongleIsAvailable); - detourFunction(0x083203c0, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x0a7686cc; // Address of amDipswContext - detourFunction(0x0831dccc, amDipswInit); - detourFunction(0x0831dd61, amDipswExit); - detourFunction(0x0831ddd7, amDipswGetData); - detourFunction(0x0831de4f, amDipswSetLed); - - // Patch comparison check - patchMemory(0x081b502a, "c7420400000001"); - - // Patch fullscreen - detourFunction(0x08376405, stubRetZero); - - // CPU patch to support AMD processors - patchMemory(0x0804d034, "9090909090"); //__intel_new_proc_init_P - - // Shader Fixes - cacheModedShaderFiles(); - - // test GLX - // detourFunction(0x0804c8b4, gl_XGetProcAddressARB); // glXGetProcAddressARB - // detourFunction(0x0804ce44, glXToSDLSwapBuffers); // glXSwapBuffers - // detourFunction(0x0828ac7c, glxSDLmyCreateWindow); // CreateWindow - - // detourFunction(0x08195fd8, stubReturn); // CMouseMgr::Update - // patchMemory(0x0828a92a, "9090909090"); // IzPadServerExecute - // patchMemory(0x0828a936, "9090909090"); // IzMouseServerExecute - // patchMemory(0x0828a942, "9090909090"); // IzKeybdServerExecute - - if (!getConfig()->hideCursor) - { - hod4CursorHideShowCAVEAddress = (void *)0x08161c98 + 6; - detourFunction(0x08161c98, hod4CursorHideShow); - detourFunction(0x0804be14, hod4VsPrintf); - } - - if (getConfig()->cpuFreqGhz != 0.0f) - { - uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); - setVariable(0x0828ea13, cpuFreq); - } - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVA_TEST: - { - detourFunction(0x080677a0, amDongleInit); - detourFunction(0x08067a81, amDongleIsAvailable); - detourFunction(0x080679e8, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x080a7a48; // Address of amDipswContext - detourFunction(0x08067548, amDipswInit); - detourFunction(0x080675dd, amDipswExit); - detourFunction(0x08067653, amDipswGetData); - detourFunction(0x080676cb, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x0804e46c, "9090909090"); //__intel_new_proc_init_P - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVB: - { - if (config->showDebugMessages == 1) - { - // Debug Messages - setVariable(0x0a715c40, 2); // amBackupDebugLevel - setVariable(0x0a715c44, 2); // amChunkDataDebugLevel - setVariable(0x0a715c60, 2); // amCreditDebugLevel - setVariable(0x0a715eb8, 2); // amDipswDebugLevel - setVariable(0x0a715ebc, 2); // amDiskDebugLevel - setVariable(0x0a715ec0, 2); // amDongleDebugLevel - setVariable(0x0a715ec4, 2); // amEepromDebugLevel - setVariable(0x0a715ec8, 2); // amHmDebugLevel - setVariable(0x0a715ed0, 2); // amJvsDebugLevel - setVariable(0x0a715ed4, 2); // amLibDebugLevel - setVariable(0x0a715ed8, 2); // amMiscDebugLevel - setVariable(0x0a715edc, 2); // amSysDataDebugLevel - setVariable(0x0a715ee0, 2); // bcLibDebugLevel - setVariable(0x0a715ee4, 0x0FFFFFFF); // s_logMask - } - // Security - detourFunction(0x0831ad24, amDongleInit); - detourFunction(0x0831b037, amDongleIsAvailable); - detourFunction(0x0831af9e, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x0a74688c; // Address of amDipswContext - detourFunction(0x08318674, amDipswInit); - detourFunction(0x08318709, amDipswExit); - detourFunction(0x0831877f, amDipswGetData); - detourFunction(0x083187f7, amDipswSetLed); - - // Patch comparison check - patchMemory(0x081b58be, "c7420400000001"); - - // Patch fullscreen - detourFunction(0x083723a9, stubRetZero); - - // CPU patch to support AMD processors - patchMemory(0x0804d054, "9090909090"); //__intel_new_proc_init_P - - // Shader Fixes - cacheModedShaderFiles(); - - // test GLX - // detourFunction(0x0804c8e4, gl_XGetProcAddressARB); // glXGetProcAddressARB - // detourFunction(0x0804ce64, glXToSDLSwapBuffers); // glXSwapBuffers - // detourFunction(0x08285604, glxSDLmyCreateWindow); - - // detourFunction(0x081968b8, stubReturn); // CMouseMgr::Update - // patchMemory(0x082852b2, "9090909090"); // IzPadServerExecute - // patchMemory(0x082852be, "9090909090"); // IzMouseServerExecute - // patchMemory(0x082852ca, "9090909090"); // IzKeybdServerExecute - - if (!getConfig()->hideCursor) - { - hod4CursorHideShowCAVEAddress = (void *)0x08162494 + 6; - detourFunction(0x08162494, hod4CursorHideShow); - detourFunction(0x0804be04, hod4VsPrintf); - } - - if (getConfig()->cpuFreqGhz != 0.0f) - { - uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); - setVariable(0x08289353, cpuFreq); - } - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVB_TEST: - { - detourFunction(0x0806228c, amDongleInit); - detourFunction(0x0806259f, amDongleIsAvailable); - detourFunction(0x08062506, amDongleUpdate); - // // Fixes - amDipswContextAddr = (void *)0x080980e8; // Address of amDipswContext - detourFunction(0x08062034, amDipswInit); - detourFunction(0x080620c9, amDipswExit); - detourFunction(0x0806213f, amDipswGetData); - detourFunction(0x080621b7, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x08049f4d, "9090909090"); //__intel_new_proc_init_P - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVC: - { - // Security - detourFunction(0x0831ad04, amDongleInit); - detourFunction(0x0831b017, amDongleIsAvailable); - detourFunction(0x0831af7e, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x0a74688c; // Address of amDipswContext - detourFunction(0x08318654, amDipswInit); - detourFunction(0x083186e9, amDipswExit); - detourFunction(0x0831875f, amDipswGetData); - detourFunction(0x083187d7, amDipswSetLed); - - // Patch comparison check - patchMemory(0x081b58be, "c7420400000001"); - - // Patch fullscreen - detourFunction(0x08372391, stubRetZero); - - // CPU patch to support AMD processors - patchMemory(0x0804d054, "9090909090"); //__intel_new_proc_init_P - - // Shader Fixes - cacheModedShaderFiles(); - - // test GLX - // detourFunction(0x0804c8e4, gl_XGetProcAddressARB); // glXGetProcAddressARB - // detourFunction(0x0804ce64, glXToSDLSwapBuffers); // glXSwapBuffers - // detourFunction(0x08285604, glxSDLmyCreateWindow); - - // detourFunction(0x081968b8, stubReturn); // CMouseMgr::Update - // patchMemory(0x082852b2, "9090909090"); // IzPadServerExecute - // patchMemory(0x082852be, "9090909090"); // IzMouseServerExecute - // patchMemory(0x082852ca, "9090909090"); // IzKeybdServerExecute - - if (!getConfig()->hideCursor) - { - hod4CursorHideShowCAVEAddress = (void *)0x08162494 + 6; - detourFunction(0x08162494, hod4CursorHideShow); - detourFunction(0x0804be04, hod4VsPrintf); - } - - if (getConfig()->cpuFreqGhz != 0.0f) - { - uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); - setVariable(0x08289353, cpuFreq); - } - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVC_TEST: - { - detourFunction(0x0806226c, amDongleInit); - detourFunction(0x0806257f, amDongleIsAvailable); - detourFunction(0x080624e6, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x080980c8; // Address of amDipswContext - detourFunction(0x08062014, amDipswInit); - detourFunction(0x080620a9, amDipswExit); - detourFunction(0x0806211f, amDipswGetData); - detourFunction(0x08062197, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x08049f4d, "9090909090"); //__intel_new_proc_init_P - } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - { - detourFunction(0x082faafc, amDongleInit); - detourFunction(0x082fae0f, amDongleIsAvailable); - detourFunction(0x082fad76, amDongleUpdate); - patchMemory(0x08194db9, "9090"); - patchMemory(0x08194dc1, "01"); - // Fixes - amDipswContextAddr = (void *)0x0a6c32ec; // Address of amDipswContext - detourFunction(0x082f844c, amDipswInit); - detourFunction(0x082f84e1, amDipswExit); - detourFunction(0x082f8557, amDipswGetData); - detourFunction(0x082f85cf, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x0804d1d4, "9090909090"); //__intel_new_proc_init_P - - // Shader Fixes - cacheModedShaderFiles(); - if (getConfig()->cpuFreqGhz != 0.0f) - { - uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); - setVariable(0x0826829b, cpuFreq); - } - } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - { - detourFunction(0x08363438, amDongleInit); - detourFunction(0x0836374b, amDongleIsAvailable); - detourFunction(0x083636b2, amDongleUpdate); - patchMemory(0x081f9491, "9090"); - patchMemory(0x081f9499, "01"); - // Fixes - amDipswContextAddr = (void *)0x0a6f3f0c; // Address of amDipswContext - detourFunction(0x08360d88, amDipswInit); - detourFunction(0x08360e1d, amDipswExit); - detourFunction(0x08360e93, amDipswGetData); - detourFunction(0x08360f0b, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x0804d6c4, "9090909090"); //__intel_new_proc_init_P - - // Shader Fixes - cacheModedShaderFiles(); - if (getConfig()->cpuFreqGhz != 0.0f) - { - uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); - setVariable(0x082d019d, cpuFreq); - } - } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB_TEST: - { - detourFunction(0x0806e914, amDongleInit); - detourFunction(0x0806ec27, amDongleIsAvailable); - detourFunction(0x0806eb8e, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x080adfe8; // Address of amDipswContext - detourFunction(0x0806e6bc, amDipswInit); - detourFunction(0x0806e751, amDipswExit); - detourFunction(0x0806e7c7, amDipswGetData); - detourFunction(0x0806e83f, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x08054820, "9090909090"); //__intel_new_proc_init_P - } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_TEST: - { - detourFunction(0x0806e9ec, amDongleInit); - detourFunction(0x0806ecff, amDongleIsAvailable); - detourFunction(0x0806ec66, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x080b2e88; // Address of amDipswContext - detourFunction(0x0806e794, amDipswInit); - detourFunction(0x0806e829, amDipswExit); - detourFunction(0x0806e89f, amDipswGetData); - detourFunction(0x0806e917, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x08054bf0, "9090909090"); //__intel_new_proc_init_P - } - break; - case THE_HOUSE_OF_THE_DEAD_EX: - { - detourFunction(0x084ba886, amDongleInit); - detourFunction(0x084b9341, amDongleIsAvailable); - detourFunction(0x084b9d37, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x0aa79c0c; - detourFunction(0x084b6970, amDipswInit); - detourFunction(0x084b69f4, amDipswExit); - detourFunction(0x084b6a69, amDipswGetData); - detourFunction(0x084b6adf, amDipswSetLed); - detourFunction(0x084ba23b, stubRetOne); // amDongleDecryptEx - patchMemory(0x081896c2, "01"); - - // CPU patch to support AMD processors - patchMemory(0x0804e4a7, "9090909090"); //__intel_new_proc_init_P - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - loadLibCg(); - cacheModedShaderFiles(); - cacheNnstdshader(); - replaceCallAtAddress(0x08370aa7, compileWithCGC); - replaceCallAtAddress(0x08370bb6, compileWithCGC); - } - - // test GLX - // detourFunction(0x0804dcc4, gl_XGetProcAddressARB); // glXGetProcAddressARB - // detourFunction(0x0804e304, glXToSDLSwapBuffers); // glXSwapBuffers - // detourFunction(0x0835220a, glxSDLmyCreateWindow); // CreateWindow - } - break; - case THE_HOUSE_OF_THE_DEAD_EX_TEST: - { - detourFunction(0x08078996, amDongleInit); - detourFunction(0x08077451, amDongleIsAvailable); - detourFunction(0x08077e47, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x080c5f88; // Address of amDipswContext - detourFunction(0x080771e4, amDipswInit); - detourFunction(0x08077268, amDipswExit); - detourFunction(0x080772dd, amDipswGetData); - detourFunction(0x08077353, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x0804a042, "9090909090"); //__intel_new_proc_init_P - } - break; - case TOO_SPICY: - { - // Security - detourFunction(0x0831cf02, amDongleInit); - detourFunction(0x0831b94d, amDongleIsAvailable); - detourFunction(0x0831c3b1, amDongleUpdate); - patchMemory(0x081f7f8f, "9090"); - patchMemory(0x081f7fa7, "9090909090909090"); - patchMemory(0x081f7fb0, "01"); - patchMemory(0x081f7fb4, "909090"); - patchMemory(0x08210f27, "9090"); - patchMemory(0x08210f3c, "9090909090909090"); - patchMemory(0x08210f45, "01"); - patchMemory(0x08210f49, "909090"); - patchMemory(0x082ef5d0, "9090909090"); - // Fixes - amDipswContextAddr = (void *)0x0c8ed0cc; - detourFunction(0x08318f84, amDipswInit); - detourFunction(0x08319008, amDipswExit); - detourFunction(0x0831907d, amDipswGetData); - detourFunction(0x083190f4, amDipswSetLed); - detourFunction(0x081f7dba, stubRetOne); // CheckApplicationValid - - // CPU patch to support AMD processors - patchMemory(0x08202a51, "9090909090"); //__intel_new_proc_init_P - - // unlock characters - detourFunction(0x081cbcd2, stubRetOne); - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - loadLibCg(); - cacheModedShaderFiles(); - cacheNnstdshader(); - patchMemory(0x081ef9d8, "01"); // Force the game to recompile the shaders using cgc - replaceCallAtAddress(0x08259fe5, compileWithCGC); - replaceCallAtAddress(0x0825a089, compileWithCGC); - } - } - break; - case TOO_SPICY_TEST: - { - // Security - detourFunction(0x0806a286, amDongleInit); - detourFunction(0x08068cd1, amDongleIsAvailable); - detourFunction(0x08069735, amDongleUpdate); - patchMemory(0x08056989, "9090"); - patchMemory(0x080569a7, "01"); - patchMemory(0x080569ab, "909090"); - // Fixes - amDipswContextAddr = (void *)0x080a9988; // Address of amDipswContext - detourFunction(0x08068a64, amDipswInit); - detourFunction(0x08068ae8, amDipswExit); - detourFunction(0x08068b5d, amDipswGetData); - detourFunction(0x08068bd4, amDipswSetLed); - - // CPU patch to support AMD processors - patchMemory(0x080564c8, "9090909090"); //__intel_new_proc_init_P - } - break; - case VIRTUA_FIGHTER_5: - { - // Security - detourFunction(0x084580e8, amDongleInit); - detourFunction(0x08458362, amDongleUpdate); - detourFunction(0x08458436, amDongleIsAvailable); - detourFunction(0x08458456, amDongleIsDevelop); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x0b3fcd08; // Address of amDipswContext - detourFunction(0x08457f0c, amDipswInit); - detourFunction(0x08457fa8, amDipswExit); - detourFunction(0x0845801e, amDipswGetData); - detourFunction(0x08458096, amDipswSetLed); - detourFunction(0x08085dea, stubRetZero); // Stub returns 0 - detourFunction(0x08097624, stubRetZero); // Stub returns 0 - detourFunction(0x082f3892, stubRetZero); // Stub returns 0 - detourFunction(0x082f5dac, stubRetZero); // Stub returns 0 - patchMemory(0x080a378f, "b800000000"); - - patchMemory(0x847ED73, "2e2f72616d2f746573743100"); // Patch /home/disk2 folder - patchMemory(0x847ED89, "2e2f72616d2f746573743200"); // Patch /home/disk2 folder - patchMemory(0x847EE44, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x847EE54, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder - patchMemory(0x85180C9, "2e2f00"); // Patch /home/disk2 folder - patchMemory(0x847C2B0, "2e2f00"); // Patch /home/disk1 folder - - detourFunction(0x080862d0, stubRetZero); - patchMemory(0x080a368b, "02"); - patchMemory(0x080a36de, "9090909090"); - patchMemory(0x080a35ed, "ffffffff"); - patchMemory(0x080a3620, "ffffffff"); - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08051b9c, gl_ProgramStringARB); - } - } - break; - case VIRTUA_FIGHTER_5_EXPORT: - { - // Security - detourFunction(0x084fca4c, amDongleInit); - detourFunction(0x084fcd2c, amDongleUpdate); - detourFunction(0x084fce08, amDongleIsAvailable); - detourFunction(0x084fce28, amDongleIsDevelop); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x0bd8df28; // Address of amDipswContext - detourFunction(0x084fc870, amDipswInit); - detourFunction(0x084fc90c, amDipswExit); - detourFunction(0x084fc982, amDipswGetData); - detourFunction(0x084fc9fa, amDipswSetLed); - detourFunction(0x08094d28, stubRetZero); - patchMemory(0x080a29a5, "EB"); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0805160c, gl_ProgramStringARB); - } - } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - { - // Security - detourFunction(0x0888f4ba, amDongleInit); - detourFunction(0x0888df75, amDongleIsAvailable); - detourFunction(0x0888e96b, amDongleUpdate); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x093a4848; // Address of amDipswContext - detourFunction(0x0888dd08, amDipswInit); - detourFunction(0x0888dd8c, amDipswExit); - detourFunction(0x0888de01, amDipswGetData); - detourFunction(0x0888de77, amDipswSetLed); // Stub amDipswSetLed - - patchMemory(0x080e2bad, "EB"); - patchMemory(0x081082cd, "EB"); - patchMemory(0x08122598, "05"); - detourFunction(0x08122c56, stubReturn); - patchMemory(0x88AB02A, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder - patchMemory(0x88AB041, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder - patchMemory(0x88AB05A, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder - patchMemory(0x88AB08D, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x88AB0C1, "2e2f666f6f3100"); // Patch /home/disk2 folder - patchMemory(0x88AB0D2, "2e2f666f6f3200"); // Patch /home/disk2 folder - patchMemory(0x89C8F24, "2e2f00"); // Patch /home/disk2 folder - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052aa4, gl_ProgramStringARB); - } - if (GPUVendor != NVIDIA_GPU || GPUVendor == ATI_GPU) - { - hookVf5FSExposure(0x08148279, 0x0814844a, 0x08148b42, 0x08148d52); - } - } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - { - // Security - detourFunction(0x088af07d, amDongleInit); - detourFunction(0x088ad909, amDongleIsAvailable); - detourFunction(0x088ae42a, amDongleUpdate); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x091c6f28; // Address of amDipswContext - detourFunction(0x088ad69c, amDipswInit); - detourFunction(0x088ad720, amDipswExit); - detourFunction(0x088ad795, amDipswGetData); - detourFunction(0x088ad80b, amDipswSetLed); // Stub amDipswSetLed - - patchMemory(0x080e4c9b, "EB"); - patchMemory(0x08108444, "EB"); - patchMemory(0x081229c0, "05"); - detourFunction(0x08123240, stubReturn); - patchMemory(0x88CAC4A, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder - patchMemory(0x88CAC61, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder - patchMemory(0x88CAC7A, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder - patchMemory(0x88CACAD, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x88CACBD, "2e2f666f6f3100"); // Patch /home/disk2 folder - patchMemory(0x88CACCE, "2e2f666f6f3200"); // Patch /home/disk2 folder - patchMemory(0x89DE5AA, "2e2f00"); // Patch /home/disk2 folder - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052840, gl_ProgramStringARB); - } - if (GPUVendor != NVIDIA_GPU || GPUVendor == ATI_GPU) - { - hookVf5FSExposure(0x08148a47, 0x08148c18, 0x08149310, 0x08149520); - } - } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: - { - // Security - detourFunction(0x088b1866, amDongleInit); - detourFunction(0x088b0321, amDongleIsAvailable); - detourFunction(0x088b0d17, amDongleUpdate); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x093ce7c8; // Address of amDipswContext - detourFunction(0x088b00b4, amDipswInit); - detourFunction(0x088b0138, amDipswExit); - detourFunction(0x088b01ad, amDipswGetData); - detourFunction(0x088b0223, amDipswSetLed); // Stub amDipswSetLed - - patchMemory(0x080e4ff5, "EB"); - patchMemory(0x081084d5, "EB"); - patchMemory(0x081229f4, "05"); - detourFunction(0x0812326e, stubReturn); - patchMemory(0x88CD42A, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder - patchMemory(0x88CD441, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder - patchMemory(0x88CD45A, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder - patchMemory(0x88CD48D, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x88CD49D, "2e2f666f6f3100"); // Patch /home/disk2 folder - patchMemory(0x88CD4AE, "2e2f666f6f3200"); // Patch /home/disk2 folder - patchMemory(0x89ED9C4, "2e2f00"); // Patch /home/disk2 folder - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052b20, gl_ProgramStringARB); - } - if (GPUVendor != NVIDIA_GPU || GPUVendor == ATI_GPU) - { - hookVf5FSExposure(0x081489f7, 0x08148bc8, 0x081492c0, 0x081494d0); - } - } - break; - case VIRTUA_FIGHTER_5_R: - { - // Security - detourFunction(0x08740e1a, amDongleInit); - detourFunction(0x0873f8d5, amDongleIsAvailable); - detourFunction(0x0873f8f2, amDongleIsDevelop); - detourFunction(0x087402cb, amDongleUpdate); - // detourFunction(0x08740ce1, amDongleUserInfoEx); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x09109ac8; // Address of amDipswContext - detourFunction(0x0873f668, amDipswInit); - detourFunction(0x0873f6ec, amDipswExit); - detourFunction(0x0873f761, amDipswGetData); - detourFunction(0x0873f7d7, amDipswSetLed); - detourFunction(0x080c6f88, stubRetZero); - detourFunction(0x080e6924, stubRetZero); - detourFunction(0x084d4190, stubRetZero); - detourFunction(0x084d5604, stubRetZero); - patchMemory(0x080ff2c7, "b800000000"); - - detourFunction(0x080c6700, stubRetZero); - patchMemory(0x080fef09, "02"); - patchMemory(0x080fef53, "909090909090"); - patchMemory(0x0810030c, "ffffffff"); - patchMemory(0x08100313, "ffffffff"); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052a68, gl_ProgramStringARB); - } - } - break; - case VIRTUA_FIGHTER_5_R_REVD: - { - // Security - detourFunction(0x0880024e, amDongleInit); - detourFunction(0x087fed09, amDongleIsAvailable); - detourFunction(0x087fed26, amDongleIsDevelop); - detourFunction(0x087ff6ff, amDongleUpdate); - // detourFunction(0x08740ce1, amDongleUserInfoEx); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x092870a8; // Address of amDipswContext - detourFunction(0x087fea9c, amDipswInit); - detourFunction(0x087feb20, amDipswExit); - detourFunction(0x087feb95, amDipswGetData); - detourFunction(0x087fec0b, amDipswSetLed); - detourFunction(0x080dc6ee, stubRetZero); - detourFunction(0x080feee8, stubRetZero); - detourFunction(0x0853f942, stubRetZero); - detourFunction(0x08540996, stubRetZero); - patchMemory(0x081181d8, "b800000000"); - - detourFunction(0x080dbdc4, stubRetZero); - patchMemory(0x08117e56, "02"); - patchMemory(0x08117ea0, "909090909090"); - patchMemory(0x08119204, "ffffffff"); - patchMemory(0x0811920b, "ffffffff"); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052a84, gl_ProgramStringARB); - } - } - break; - case VIRTUA_FIGHTER_5_R_REVG: - { - // Security - detourFunction(0x0885ab46, amDongleInit); - detourFunction(0x08859601, amDongleIsAvailable); - detourFunction(0x0885961e, amDongleIsDevelop); - detourFunction(0x08859ff7, amDongleUpdate); - // detourFunction(0x08740ce1, amDongleUserInfoEx); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x09351b08; // Address of amDipswContext - detourFunction(0x08859394, amDipswInit); - detourFunction(0x08859418, amDipswExit); - detourFunction(0x0885948d, amDipswGetData); - detourFunction(0x08859503, amDipswSetLed); - detourFunction(0x080dc9d6, stubRetZero); - detourFunction(0x080fe46c, stubRetZero); - detourFunction(0x0856a01c, stubRetZero); - detourFunction(0x0856aab0, stubRetZero); - patchMemory(0x08118358, "b800000000"); - - detourFunction(0x080dc0ac, stubRetZero); - patchMemory(0x08117fd6, "02"); - patchMemory(0x08118020, "909090909090"); - patchMemory(0x08119384, "ffffffff"); - patchMemory(0x0811938b, "ffffffff"); - - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052a70, gl_ProgramStringARB); - } - } - break; - case VIRTUA_FIGHTER_5_REVA: - { - // Security - detourFunction(0x084620a8, amDongleInit); - detourFunction(0x0846234d, amDongleUpdate); - detourFunction(0x08462429, amDongleIsAvailable); - detourFunction(0x08462449, amDongleIsDevelop); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x0b40b1a8; // Address of amDipswContext - detourFunction(0x08461ecc, amDipswInit); - detourFunction(0x08461f68, amDipswExit); - detourFunction(0x08461fde, amDipswGetData); - detourFunction(0x08462056, amDipswSetLed); - detourFunction(0x080884e2, stubRetZero); // Stub returns 0 - detourFunction(0x0809a1a0, stubRetZero); // Stub returns 0 - detourFunction(0x082fa9fc, stubRetZero); // Stub returns 0 - detourFunction(0x082fce2c, stubRetZero); // Stub returns 0 - patchMemory(0x080a6407, "b800000000"); - - // patchMemory(0x, "2e2f72616d2f746573743100"); // Patch /home/disk2 folder - // patchMemory(0x, "2e2f72616d2f746573743200"); // Patch /home/disk2 folder - patchMemory(0x08489b3b, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x08489bf4, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder - patchMemory(0x0852328a, "2e2f00"); // Patch /home/disk2 folder - patchMemory(0x084870d9, "2e2f00"); // Patch /home/disk1 folder - - detourFunction(0x080889c8, stubRetZero); - patchMemory(0x080a6303, "02"); - patchMemory(0x080a6356, "9090909090"); - patchMemory(0x080a6265, "ffffffff"); - patchMemory(0x080a6298, "ffffffff"); - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08051c4c, gl_ProgramStringARB); - } - } - break; - case VIRTUA_FIGHTER_5_REVB: - { - // Security - detourFunction(0x0850fd5c, amDongleInit); - detourFunction(0x08510001, amDongleUpdate); - detourFunction(0x085100dd, amDongleIsAvailable); - detourFunction(0x085100fd, amDongleIsDevelop); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x0bd36c68; // Address of amDipswContext - detourFunction(0x0850fb80, amDipswInit); - detourFunction(0x0850fc1c, amDipswExit); - detourFunction(0x0850fc92, amDipswGetData); - detourFunction(0x0850fd0a, amDipswSetLed); - detourFunction(0x080936d8, stubRetZero); // Stub returns 0 - detourFunction(0x080a800c, stubRetZero); // Stub returns 0 - detourFunction(0x08376746, stubRetZero); // Stub returns 0 - detourFunction(0x08378a38, stubRetZero); // Stub returns 0 - patchMemory(0x080b5733, "b800000000"); - - patchMemory(0x08533c38, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x08538741, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder - patchMemory(0x085e5993, "2e2f00"); // Patch /home/disk2 folder - patchMemory(0x08535239, "2e2f00"); // Patch /home/disk1 folder - - detourFunction(0x08093be0, stubRetZero); - patchMemory(0x080B562F, "02"); - patchMemory(0x080b5682, "9090909090"); - patchMemory(0x080B5591, "ffffffff"); - patchMemory(0x080B55C4, "ffffffff"); - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052088, gl_ProgramStringARB); - } - } - break; - case VIRTUA_FIGHTER_5_REVE: // Also the public REV C version - { - // Security - detourFunction(0x085c6010, amDongleInit); - detourFunction(0x085c62f0, amDongleUpdate); - detourFunction(0x085c63cc, amDongleIsAvailable); - detourFunction(0x085c63ec, amDongleIsDevelop); - - // Fixes and patches to bypss network check - amDipswContextAddr = (void *)0x0d4d2b08; // Address of amDipswContext - detourFunction(0x085c5e34, amDipswInit); - detourFunction(0x085c5ed0, amDipswExit); - detourFunction(0x085c5f46, amDipswGetData); - detourFunction(0x085c5fbe, amDipswSetLed); // Stub amDipswSetLed - detourFunction(0x080b3426, stubRetZero); // Stub returns 0 - detourFunction(0x080cb6d4, stubRetZero); // Stub returns 0 - detourFunction(0x0840889e, stubRetZero); // Stub returns 0 - detourFunction(0x0840ab90, stubRetZero); // Stub returns 0 - patchMemory(0x080e1743, "EB"); - patchMemory(0x080e17af, "b800000000"); // Patch IDK what - - patchMemory(0x085eb718, "2e2f72616d00"); // Patch /home/disk2 folder - patchMemory(0x085f1b41, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder - patchMemory(0x086a196b, "2e2f00"); // Patch /home/disk2 folder - patchMemory(0x085ee110, "2e2f00"); // Patch /home/disk1 folder - - detourFunction(0x080b3938, stubRetZero); // ok - patchMemory(0x080e1663, "02"); - patchMemory(0x080e16b6, "9090909090"); - patchMemory(0x080e15bd, "ffffffff"); - patchMemory(0x080e15f7, "ffffffff"); - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x08052fbc, gl_ProgramStringARB); - } - // - patchMemory(0x080e173c, "B810000000"); - } - break; - case VIRTUA_TENNIS_3: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x080a0240, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0831c07c, amDongleInit); - detourFunction(0x0831c38f, amDongleIsAvailable); - detourFunction(0x0831c2f6, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x08907388; - detourFunction(0x0831be24, amDipswInit); - detourFunction(0x0831beb9, amDipswExit); - detourFunction(0x0831bf2f, amDipswGetData); - detourFunction(0x0831bfa7, stubRetZero); - setVariable(0x0827a7c7, 0x34891beb); // Disable Fullscreen set from the game - - detourFunction(0x08177acc, stubRetOne); // Patch seterror - - // Mesa - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804d458, cg_GLGetLatestProfile); - detourFunction(0x0804dcd8, cg_GLIsProfileSupported); - detourFunction(0x0804d468, gl_Color4ub); - detourFunction(0x0804d628, gl_Vertex3f); - detourFunction(0x0804dc58, gl_TexCoord2f); - patchMemory(0x082744f6, "31FF90"); - cacheModedShaderFiles(); - // Had to intercept some CPP file methods. - replaceCallAtAddress(0x0819ca67, vt3_open); - replaceCallAtAddress(0x0819caa6, vt3_tellg); - replaceCallAtAddress(0x0819caf4, vt3_read); - replaceCallAtAddress(0x0819cb3a, vt3_close); - } - } - break; - case VIRTUA_TENNIS_3_REVA: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x080a026c, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0831c120, amDongleInit); - detourFunction(0x0831c433, amDongleIsAvailable); - detourFunction(0x0831c39a, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x08908308; - detourFunction(0x0831bec8, amDipswInit); - detourFunction(0x0831bf5d, amDipswExit); - detourFunction(0x0831bfd3, amDipswGetData); - detourFunction(0x0831c04b, stubRetZero); - setVariable(0x0827a7f7, 0x34891beb); // Disable Fullscreen set from the game - detourFunction(0x08177afc, stubRetOne); // Patch seterror - - // Mesa - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804d458, cg_GLGetLatestProfile); - detourFunction(0x0804dcd8, cg_GLIsProfileSupported); - detourFunction(0x0804d468, gl_Color4ub); - detourFunction(0x0804d628, gl_Vertex3f); - detourFunction(0x0804dc58, gl_TexCoord2f); - patchMemory(0x08274526, "31FF90"); - cacheModedShaderFiles(); - // Had to intercept some CPP file methods. - replaceCallAtAddress(0x0819ca97, vt3_open); - replaceCallAtAddress(0x0819cad6, vt3_tellg); - replaceCallAtAddress(0x0819cb24, vt3_read); - replaceCallAtAddress(0x0819cb6a, vt3_close); - } - } - break; - case VIRTUA_TENNIS_3_REVA_TEST: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x08054c64, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0815f580, amDongleInit); - detourFunction(0x0815f893, amDongleIsAvailable); - detourFunction(0x0815f7fa, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x085e492c; // Address of amDipswContext - detourFunction(0x0815ced0, amDipswInit); - detourFunction(0x0815cf65, amDipswExit); - detourFunction(0x0815cfdb, amDipswGetData); - detourFunction(0x0815d053, amDipswSetLed); - patchMemory(0x0806fd8f, "EB"); // Avoid Full Screen set from Game - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804ce54, cg_GLIsProfileSupported); - detourFunction(0x0804c724, gl_Color4ub); - detourFunction(0x0804c8b4, gl_Vertex3f); - detourFunction(0x0804cdc4, gl_TexCoord2f); - patchMemory(0x0806a01a, "31FF90"); - cacheModedShaderFiles(); - } - } - break; - case VIRTUA_TENNIS_3_REVB: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x080a0336, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0831c30c, amDongleInit); - detourFunction(0x0831c61f, amDongleIsAvailable); - detourFunction(0x0831c586, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x089085a8; - detourFunction(0x0831c0b4, amDipswInit); - detourFunction(0x0831c149, amDipswExit); - detourFunction(0x0831c1bf, amDipswGetData); - detourFunction(0x0831c237, stubRetZero); - setVariable(0x0827a9e3, 0x34891beb); // Disable Fullscreen set from the game - detourFunction(0x08177bf0, stubRetOne); // Patch seterror - - // Mesa - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804d458, cg_GLGetLatestProfile); - detourFunction(0x0804dcd8, cg_GLIsProfileSupported); - detourFunction(0x0804d468, gl_Color4ub); - detourFunction(0x0804d628, gl_Vertex3f); - detourFunction(0x0804dc58, gl_TexCoord2f); - patchMemory(0x08274712, "31FF90"); - cacheModedShaderFiles(); - // Had to intercept some CPP file methods. - replaceCallAtAddress(0x0819cc83, vt3_open); - replaceCallAtAddress(0x0819ccc2, vt3_tellg); - replaceCallAtAddress(0x0819cd10, vt3_read); - replaceCallAtAddress(0x0819cd56, vt3_close); - } - } - break; - case VIRTUA_TENNIS_3_REVB_TEST: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x08054d14, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0815f224, amDongleInit); - detourFunction(0x0815f537, amDongleIsAvailable); - detourFunction(0x0815f49e, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x085e46cc; // Address of amDipswContext - detourFunction(0x0815cb74, amDipswInit); - detourFunction(0x0815cc09, amDipswExit); - detourFunction(0x0815cc7f, amDipswGetData); - detourFunction(0x0815ccf7, amDipswSetLed); - patchMemory(0x0806fa33, "EB"); // Avoid Full Screen set from Game - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804ce54, cg_GLIsProfileSupported); - detourFunction(0x0804c724, gl_Color4ub); - detourFunction(0x0804c8b4, gl_Vertex3f); - detourFunction(0x0804cdc4, gl_TexCoord2f); - patchMemory(0x0806a0ca, "31FF90"); - cacheModedShaderFiles(); - } - } - break; - case VIRTUA_TENNIS_3_REVC: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x080a0362, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0831c724, amDongleInit); - detourFunction(0x0831ca37, amDongleIsAvailable); - detourFunction(0x0831c99e, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x08902908; - detourFunction(0x0831c4cc, amDipswInit); - detourFunction(0x0831c561, amDipswExit); - detourFunction(0x0831c5d7, amDipswGetData); - detourFunction(0x0831c64f, stubRetZero); - setVariable(0x0827ae1b, 0x34891beb); // Disable Fullscreen set from the game - detourFunction(0x08177c1c, stubRetOne); // Patch seterror - - // Mesa - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804d458, cg_GLGetLatestProfile); - detourFunction(0x0804dcd8, cg_GLIsProfileSupported); - detourFunction(0x0804d468, gl_Color4ub); - detourFunction(0x0804d628, gl_Vertex3f); - detourFunction(0x0804dc58, gl_TexCoord2f); - patchMemory(0x0827473e, "31FF90"); - // patchMemory(0x08173d17, "9090"); - // detourFunction(0x0804da38, gl_ProgramStringARB); - cacheModedShaderFiles(); - // Had to intercept some CPP file methods. - replaceCallAtAddress(0x0819ccaf, vt3_open); - replaceCallAtAddress(0x0819ccee, vt3_tellg); - replaceCallAtAddress(0x0819cd3c, vt3_read); - replaceCallAtAddress(0x0819cd82, vt3_close); - } - // test GLX - // patchMemory(0x0827173b, "909090909090"); - // detourFunction(0x0804e048, gl_XGetProcAddressARB); // glXGetProcAddressARB - // detourFunction(0x0804e608, glXToSDLSwapBuffers); // glXSwapBuffers - // detourFunction(0x0827ae42, glxSDLmyCreateWindow); - } - break; - case VIRTUA_TENNIS_3_REVC_TEST: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x08054d14, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0815f610, amDongleInit); - detourFunction(0x0815f923, amDongleIsAvailable); - detourFunction(0x0815f88a, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x085e492c; // Address of amDipswContext - detourFunction(0x0815cf60, amDipswInit); - detourFunction(0x0815cff5, amDipswExit); - detourFunction(0x0815d06b, amDipswGetData); - detourFunction(0x0815d0e3, amDipswSetLed); - patchMemory(0x0806fe3f, "EB"); // Avoid Full Screen set from Game - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804ce54, cg_GLIsProfileSupported); - detourFunction(0x0804c724, gl_Color4ub); - detourFunction(0x0804c8b4, gl_Vertex3f); - detourFunction(0x0804cdc4, gl_TexCoord2f); - patchMemory(0x0806a0ca, "31FF90"); - cacheModedShaderFiles(); - } - } - break; - case VIRTUA_TENNIS_3_TEST: - { - if (config->showDebugMessages == 1) - { - // Debug - detourFunction(0x08054c64, _putConsole); // Debug Messages - } - // Security - detourFunction(0x0815f060, amDongleInit); - detourFunction(0x0815f373, amDongleIsAvailable); - detourFunction(0x0815f2da, amDongleUpdate); - // Fixes - amDipswContextAddr = (void *)0x085e4a6c; // Address of amDipswContext - detourFunction(0x0815c9b0, amDipswInit); - detourFunction(0x0815ca45, amDipswExit); - detourFunction(0x0815cabb, amDipswGetData); - detourFunction(0x0815cb33, amDipswSetLed); - patchMemory(0x0806f983, "EB"); // Avoid Full Screen set from Game - - // Mesa Patches - if (GPUVendor != NVIDIA_GPU) - { - detourFunction(0x0804ce54, cg_GLIsProfileSupported); - detourFunction(0x0804c724, gl_Color4ub); - detourFunction(0x0804c8b4, gl_Vertex3f); - detourFunction(0x0804cdc4, gl_TexCoord2f); - patchMemory(0x0806a01a, "31FF90"); - cacheModedShaderFiles(); + case AFTER_BURNER_CLIMAX: // DVP-0009 + { + // Security + detourFunction(0x081e2c78, amDongleInit); + detourFunction(0x081e2fc6, amDongleIsAvailable); + detourFunction(0x081e2ef2, amDongleUpdate); + patchMemoryFromString(0x08064cfe, "9090909090"); // check_security_error Call set_error + patchMemoryFromString(0x08064d04, "00"); + // Fixes + detourFunction(0x081e2bae, amDipswGetData); + detourFunction(0x081e2c26, amDipswSetLed); + + amDipswContextAddr = (void *)0x0a0ca0a8; + detourFunction(0x081e2a9c, amDipswInit); + detourFunction(0x081e2b38, amDipswExit); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804e1e4, gl_ProgramStringARB); + } + // Disable Controllers + detourFunction((size_t)findStaticFnAddr("_Z11init_io_usbv"), stubReturn); + detourFunction((size_t)findStaticFnAddr("_Z11ctrl_io_usbv"), stubReturn); } - } - break; - default: break; + case AFTER_BURNER_CLIMAX_REVA: // DVP-0009A + { + // Security + detourFunction(0x081e33c0, amDongleInit); + detourFunction(0x081e370e, amDongleIsAvailable); + detourFunction(0x081e363a, amDongleUpdate); + patchMemoryFromString(0x08064cf6, "9090909090"); + patchMemoryFromString(0x08064cfc, "00"); + // Fixes + detourFunction(0x081e32f6, amDipswGetData); + detourFunction(0x081e336e, amDipswSetLed); + + amDipswContextAddr = (void *)0x0a0ca168; + detourFunction(0x081e31e4, amDipswInit); + detourFunction(0x081e3280, amDipswExit); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804e1e4, gl_ProgramStringARB); + } + // Disable Controllers + detourFunction((size_t)findStaticFnAddr("_Z11init_io_usbv"), stubReturn); + detourFunction((size_t)findStaticFnAddr("_Z11ctrl_io_usbv"), stubReturn); + } + break; + case AFTER_BURNER_CLIMAX_REVB: // DVP-0009B + { + // Security + detourFunction(0x081e3424, amDongleInit); + detourFunction(0x081e3772, amDongleIsAvailable); + detourFunction(0x081e369e, amDongleUpdate); + patchMemoryFromString(0x08064cfe, "9090909090"); + patchMemoryFromString(0x08064d04, "00"); + // Fixes + detourFunction(0x081e335a, amDipswGetData); + detourFunction(0x081e33d2, amDipswSetLed); + + amDipswContextAddr = (void *)0x0a0ca168; + detourFunction(0x081e3248, amDipswInit); + detourFunction(0x081e32e4, amDipswExit); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804e1ec, gl_ProgramStringARB); + } + // Disable Controllers + detourFunction((size_t)findStaticFnAddr("_Z11init_io_usbv"), stubReturn); + detourFunction((size_t)findStaticFnAddr("_Z11ctrl_io_usbv"), stubReturn); + } + break; + case AFTER_BURNER_CLIMAX_SDX: // DVP-0018 + { + // Security + detourFunction(0x081e4980, amDongleInit); + detourFunction(0x081e4cce, amDongleIsAvailable); + detourFunction(0x081e4bfa, amDongleUpdate); + detourFunction(0x08064d76, stubRetZero); + // Fixes + detourFunction(0x081e48b6, amDipswGetData); + detourFunction(0x081e492e, amDipswSetLed); + + amDipswContextAddr = (void *)0x0a0ccc28; + detourFunction(0x081e47a4, amDipswInit); + detourFunction(0x081e4840, amDipswExit); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804e244, gl_ProgramStringARB); + } + // Disable Controllers + detourFunction((size_t)findStaticFnAddr("_Z11init_io_usbv"), stubReturn); + detourFunction((size_t)findStaticFnAddr("_Z11ctrl_io_usbv"), stubReturn); + } + break; + case AFTER_BURNER_CLIMAX_SDX_REVA: // DVP-0018A + { + // Security + detourFunction(0x081e4968, amDongleInit); + detourFunction(0x081e4cb6, amDongleIsAvailable); + detourFunction(0x081e4be2, amDongleUpdate); + patchMemoryFromString(0x08064dc4, "9090909090"); + patchMemoryFromString(0x08064dca, "00"); + // Fixes + detourFunction(0x081e489e, amDipswGetData); + detourFunction(0x081e4916, amDipswSetLed); + + amDipswContextAddr = (void *)0x0a0ccc28; + detourFunction(0x081e478c, amDipswInit); + detourFunction(0x081e4828, amDipswExit); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804e24c, gl_ProgramStringARB); + } + // Disable Controllers + detourFunction((size_t)findStaticFnAddr("_Z11init_io_usbv"), stubReturn); + detourFunction((size_t)findStaticFnAddr("_Z11ctrl_io_usbv"), stubReturn); + } + break; + case AFTER_BURNER_CLIMAX_SE: // DVP-0031 + { + // Security + detourFunction(0x081e3470, amDongleInit); + detourFunction(0x081e37be, amDongleIsAvailable); + detourFunction(0x081e36ea, amDongleUpdate); + patchMemoryFromString(0x08064cf6, "9090909090"); + patchMemoryFromString(0x08064cfc, "00"); + // Fixes + detourFunction(0x081e33a6, amDipswGetData); + detourFunction(0x081e341e, amDipswSetLed); + + amDipswContextAddr = (void *)0x0a0ca168; + detourFunction(0x081e3294, amDipswInit); + detourFunction(0x081e3330, amDipswExit); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804e1e4, gl_ProgramStringARB); + } + // Disable Controllers + detourFunction((size_t)findStaticFnAddr("_Z11init_io_usbv"), stubReturn); + detourFunction((size_t)findStaticFnAddr("_Z11ctrl_io_usbv"), stubReturn); + } + break; + case AFTER_BURNER_CLIMAX_SE_REVA: // DVP-0031A + { + // Security + detourFunction(0x081e3458, amDongleInit); + detourFunction(0x081e37a6, amDongleIsAvailable); + detourFunction(0x081e36d2, amDongleUpdate); + patchMemoryFromString(0x08064cfe, "9090909090"); + patchMemoryFromString(0x08064d04, "00"); + // Fixes + detourFunction(0x081e338e, amDipswGetData); + detourFunction(0x081e3406, amDipswSetLed); + + amDipswContextAddr = (void *)0x0a0ca168; + detourFunction(0x081e327c, amDipswInit); + detourFunction(0x081e3318, amDipswExit); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804e1ec, gl_ProgramStringARB); + } + // Disable Controllers + detourFunction((size_t)findStaticFnAddr("_Z11init_io_usbv"), stubReturn); + detourFunction((size_t)findStaticFnAddr("_Z11ctrl_io_usbv"), stubReturn); + } + break; + case GHOST_SQUAD_EVOLUTION: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x080984fe, _putConsole); + } + // Security + detourFunction(0x08183046, amDongleInit); + detourFunction(0x08181a91, amDongleIsAvailable); + detourFunction(0x081824f5, amDongleUpdate); + detourFunction(0x080e7ee8, stubRetOne); // stub check_dongle_validate + patchMemoryFromString(0x080e7db2, "01"); + // Fixes + amDipswContextAddr = (void *)0x0aeafc28; // Address of amDipswContext + detourFunction(0x08181824, amDipswInit); + detourFunction(0x081818a8, amDipswExit); + detourFunction(0x0818191d, amDipswGetData); + detourFunction(0x08181994, stubRetZero); + patchMemoryFromString(0x080f37dd, "75"); // patch to prevent memory assignment error + // Stop the extra inputs by removing io_glut_init + detourFunction(0x080e7f94, stubRetZero); + + cacheModedShaderFiles(); + if (GPUVendor != NVIDIA_GPU) + { + gsEvoElfShaderPatcher(); + detourFunction(0x0804c334, gl_ProgramStringARB); + } + } + break; + case HARLEY_DAVIDSON: + { + // Security + detourFunction(0x08395ede, amDongleInit); + detourFunction(0x083949b6, amDongleIsDevelop); + detourFunction(0x0818ba08, stubRetZero); + detourFunction(0x0818b9ce, stubRetZero); + + // Fixes + amDipswContextAddr = (void *)0x0abe35a8; + detourFunction(0x0839472c, amDipswInit); + detourFunction(0x083947b0, amDipswExit); + detourFunction(0x08394825, amDipswGetData); + detourFunction(0x08395da5, amDongleUserInfoEx); + + if (GPUVendor != NVIDIA_GPU) + { + loadLibCg(); + cacheModedShaderFiles(); + cacheNnstdshader(); + patchMemoryFromString(0x082646b3, "01"); // Compile using CGC + replaceCallAtAddress(0x082d48ac, compileWithCGC); + replaceCallAtAddress(0x082d4b3b, compileWithCGC); + } + // Turns off the opponent marker at higher resolutions because it is out of place. + if (getConfig()->width > 1360) + detourFunction(0x080f19a6, stubRetZero); + } + break; + case HUMMER: // DVP-0057B + { + if (config->showDebugMessages == 1) + { + setVariable(0x0a6e9fac, 2); // amBackupDebugLevel + setVariable(0x0a6e9fc0, 2); // amCreditDebugLevel + setVariable(0x0a6ea218, 2); // amDipswDebugLevel + setVariable(0x0a6ea21c, 2); // amDongleDebugLevel + setVariable(0x0a6ea220, 2); // amEepromDebugLevel + setVariable(0x0a6ea224, 2); // amHwmonitorDebugLevel + setVariable(0x0a6ea228, 2); // amJvsDebugLevel + setVariable(0x0a6ea22c, 2); // amLibDebugLevel + setVariable(0x0a6ea230, 2); // amMiscDebugLevel + setVariable(0x0a6ea234, 2); // amOsinfoDebugLevel + setVariable(0x0a6ea238, 2); // amSysDataDebugLevel + setVariable(0x0a6ea240, 2); // bcLibDebugLevel + } + + // Security + detourFunction(0x083dcbf6, amDongleInit); + detourFunction(0x083db641, amDongleIsAvailable); + detourFunction(0x083dc0a5, amDongleUpdate); + detourFunction(0x083db65e, amDongleIsDevelop); + detourFunction(0x083dcabd, amDongleUserInfoEx); + detourFunction(0x080f4e04, stubRetMinusOne); // checkError + detourFunction(0x083dc5aa, amDongleDecryptEx); // Return 0 + detourFunction(0x083dbddd, amDongleSetIv); // Retrun 0 + + // Security Board + amDipswContextAddr = (void *)0x0a6f2c88; + detourFunction(0x083db3d4, amDipswInit); + detourFunction(0x083db458, amDipswExit); + detourFunction(0x083db4cd, amDipswGetData); + detourFunction(0x083db544, amDipswSetLed); + + // Networking + detourFunction(0x083e339d, stubRetZero); // amOsinfoModifyNetworkAdr + detourFunction(0x083e3a2f, stubRetZero); // amOsinfoModifyNetworkProperty + + // // While we can't get into the test menu, immidiately return from the + // // call to clSteerErrorDisp::run that complains about the calibration + // // values. + patchMemoryFromString(0x082e8f48, "C3"); + // // Fixes Black screen after finishing the race + patchMemoryFromString(0x08078b4c, "C3"); + + detourFunction(0x082b5e4a, stubReturn); // adx_err_callback + detourFunction(0x082d199c, stubReturn); // clSerialLindbergh::send + detourFunction(0x082d1ab4, stubReturn); // clSerialLindbergh::receive + + // Shader patching + cacheModedShaderFiles(); + detourFunction(0x0804f480, gl_XGetProcAddressARB); + + // Set IPs + hummerSetIPs(0x09b2f638); + + // Forces FFB command output + if (getConfig()->emulateDriveboard) + detourFunction(0x082cd2a2, stubRetZero); + } + break; + case HUMMER_EXTREME: // DVP-0079 + { + if (config->showDebugMessages == 1) + { + setVariable(0x0a79a834, 2); // amAdtecDebugLevel + setVariable(0x0a79a838, 2); // amAtaDebugLevel + setVariable(0x0a79a83c, 2); // amBackupDebugLevel + setVariable(0x0a79a840, 2); // amCreditDebugLevel + setVariable(0x0a79aa98, 2); // amDipswDebugLevel + setVariable(0x0a79aa9c, 2); // amDongleDebugLevel + setVariable(0x0a79aaa0, 2); // amEepromDebugLevel + setVariable(0x0a79aaa4, 2); // amHwmonitorDebugLevel + setVariable(0x0a79aaa8, 2); // amJvsDebugLevel + setVariable(0x0a79aaac, 2); // amLibDebugLevel + setVariable(0x0a79aab0, 2); // amMiscDebugLevel + setVariable(0x0a79aab4, 2); // amOsinfoDebugLevel + setVariable(0x0a79a830, 2); // amsLibDebugLevel + setVariable(0x0a79aab8, 2); // amSysDataDebugLevel + setVariable(0x0a79aac0, 2); // bcLibDebugLevel + } + + // Security + detourFunction(0x0831c0d1, amDongleInit); + detourFunction(0x0831a95d, amDongleIsAvailable); + detourFunction(0x0831b47e, amDongleUpdate); + detourFunction(0x0831a97a, amDongleIsDevelop); + detourFunction(0x0831bf97, amDongleUserInfoEx); + detourFunction(0x0831668c, stubRetZero); // amsInit + detourFunction(0x08170654, stubRetMinusOne); // checkError + detourFunction(0x0831b982, amDongleDecryptEx); // Return 0 + detourFunction(0x0831b08b, amDongleSetIv); // Retrun 0 + patchMemoryFromString(0x082b4d51, "00"); + patchMemoryFromString(0x082b5163, "00"); + patchMemoryFromString(0x082b5306, "00"); + patchMemoryFromString(0x082b570f, "00"); + patchMemoryFromString(0x082b57c8, "909090909090"); + + // Security Board + amDipswContextAddr = (void *)0x0a7aefe8; + detourFunction(0x0831a6f0, amDipswInit); + detourFunction(0x0831a774, amDipswExit); + detourFunction(0x0831a7e9, amDipswGetData); + detourFunction(0x0831a85f, amDipswSetLed); + + // Networking + detourFunction(0x08323886, stubRetZero); // amOsinfoModifyNetworkAdr + detourFunction(0x0832386b, stubRetZero); // amOsinfoModifyNetworkProperty + + // While we can't get into the test menu, immidiately return from the + // call to clSteerErrorDisp::run that complains about the calibration + // values. + patchMemoryFromString(0x080e8b40, "C3"); + // Fixes Black screen after finishing the race + patchMemoryFromString(0x0811d0c0, "C3"); + + // Shader patching + cacheModedShaderFiles(); + detourFunction(0x0807a9dc, gl_XGetProcAddressARB); + + // Set IPs + hummerSetIPs(0x09c2fe90); + } + break; + case HUMMER_EXTREME_MDX: // DVP-0083 + { + if (config->showDebugMessages == 1) + { + setVariable(0x0a7ae7b4, 2); // amAdtecDebugLevel + setVariable(0x0a7ae7b8, 2); // amAtaDebugLevel + setVariable(0x0a7ae7bc, 2); // amBackupDebugLevel + setVariable(0x0a7ae7c0, 2); // amCreditDebugLevel + setVariable(0x0a7aea18, 2); // amDipswDebugLevel + setVariable(0x0a7aea1c, 2); // amDongleDebugLevel + setVariable(0x0a7aea20, 2); // amEepromDebugLevel + setVariable(0x0a7aea24, 2); // amHwmonitorDebugLevel + setVariable(0x0a7aea28, 2); // amJvsDebugLevel + setVariable(0x0a7aea2c, 2); // amLibDebugLevel + setVariable(0x0a7aea30, 2); // amMiscDebugLevel + setVariable(0x0a7aea34, 2); // amOsinfoDebugLevel + setVariable(0x0a7ae7b0, 2); // amsLibDebugLevel + setVariable(0x0a7aea38, 2); // amSysDataDebugLevel + setVariable(0x0a7aea40, 2); // bcLibDebugLevel + } + + // Security + detourFunction(0x0832b411, amDongleInit); + detourFunction(0x08329c9d, amDongleIsAvailable); + detourFunction(0x0832a7be, amDongleUpdate); + detourFunction(0x08329cba, amDongleIsDevelop); + detourFunction(0x0832b2d7, amDongleUserInfoEx); + detourFunction(0x083259cc, stubRetZero); // amsInit + detourFunction(0x0817a0b6, stubRetMinusOne); // checkError + detourFunction(0x0832acc2, amDongleDecryptEx); // Return 0 + detourFunction(0x0832a3cb, amDongleSetIv); // Retrun 0 + patchMemoryFromString(0x082c2465, "00"); + patchMemoryFromString(0x082c2877, "00"); + patchMemoryFromString(0x082c2a16, "00"); + patchMemoryFromString(0x082c2e1f, "00"); + patchMemoryFromString(0x082c2ed8, "909090909090"); + + patchMemoryFromString(0x080de537, "909090909090"); + + // Security Board + amDipswContextAddr = (void *)0x0a7c2f68; + detourFunction(0x08329a30, amDipswInit); + detourFunction(0x08329ab4, amDipswExit); + detourFunction(0x08329b29, amDipswGetData); + detourFunction(0x08329b9f, amDipswSetLed); + + // Networking + detourFunction(0x08332bc6, stubRetZero); // amOsinfoModifyNetworkAdr + detourFunction(0x08332bab, stubRetZero); // amOsinfoModifyNetworkProperty + + // While we can't get into the test menu, immidiately return from the + // call to clSteerErrorDisp::run that complains about the calibration + // values. + patchMemoryFromString(0x080ebe20, "C3"); + // Fixes Black screen after finishing the race + patchMemoryFromString(0x081260f0, "C3"); + + // Shader patching + cacheModedShaderFiles(); + detourFunction(0x0807a9dc, gl_XGetProcAddressARB); + + // Set IPs + hummerSetIPs(0x09c435b0); + } + break; + case HUMMER_SDLX: // DVP-0057 + { + if (config->showDebugMessages == 1) + { + setVariable(0x0a6eac0c, 2); // amBackupDebugLevel + setVariable(0x0a6eac20, 2); // amCreditDebugLevel + setVariable(0x0a6eae78, 2); // amDipswDebugLevel + setVariable(0x0a6eae7c, 2); // amDongleDebugLevel + setVariable(0x0a6eae80, 2); // amEepromDebugLevel + setVariable(0x0a6eae84, 2); // amHwmonitorDebugLevel + setVariable(0x0a6eae88, 2); // amJvsDebugLevel + setVariable(0x0a6eae8c, 2); // amLibDebugLevel + setVariable(0x0a6eae90, 2); // amMiscDebugLevel + setVariable(0x0a6eae94, 2); // amOsinfoDebugLevel + setVariable(0x0a6eae98, 2); // amSysDataDebugLevel + setVariable(0x0a6eaea0, 2); // bcLibDebugLevel + } + + // Security + detourFunction(0x083dd7d2, amDongleInit); + detourFunction(0x083dc21d, amDongleIsAvailable); + detourFunction(0x083dcc81, amDongleUpdate); + detourFunction(0x083dc23a, amDongleIsDevelop); + detourFunction(0x083dd699, amDongleUserInfoEx); + detourFunction(0x080f4ea8, stubRetMinusOne); // checkError + detourFunction(0x083dd186, amDongleDecryptEx); // Return 0 + detourFunction(0x083dc9b9, amDongleSetIv); // Retrun 0 + + // Security Board + amDipswContextAddr = (void *)0x0a6f38e8; + detourFunction(0x083dbfb0, amDipswInit); + detourFunction(0x083dc034, amDipswExit); + detourFunction(0x083dc0a9, amDipswGetData); + detourFunction(0x083dc120, amDipswSetLed); + + // Networking + detourFunction(0x083e3f79, stubRetZero); // amOsinfoModifyNetworkAdr + detourFunction(0x083e460b, stubRetZero); // amOsinfoModifyNetworkProperty + + // While we can't get into the test menu, immidiately return from the + // call to clSteerErrorDisp::run that complains about the calibration + // values. + patchMemoryFromString(0x082e99ec, "C3"); + // Fixes Black screen after finishing the race + patchMemoryFromString(0x08078b84, "C3"); + + detourFunction(0x082b650a, stubReturn); // adx_err_callback + detourFunction(0x082d2414, stubReturn); // clSerialLindbergh::send + detourFunction(0x082d252c, stubReturn); // clSerialLindbergh::receive + + // Shader patching + cacheModedShaderFiles(); + detourFunction(0x0804f480, gl_XGetProcAddressARB); + + // Set IPs + hummerSetIPs(0x09b30258); + } + break; + case INITIALD_4_EXP_REVB: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08d93b70, 2); // amBackupDebugLevel + setVariable(0x08d93b80, 2); // amCreditDebugLevel + setVariable(0x08d93dd8, 2); // amDipswDebugLevel + setVariable(0x08d93ddc, 2); // amDongleDebugLevel + setVariable(0x08d93de0, 2); // amEepromDebugLevel + setVariable(0x08d93de4, 2); // amHwmonitorDebugLevel + setVariable(0x08d93de8, 2); // amJvsDebugLevel + setVariable(0x08d93dec, 2); // amLibDebugLevel + setVariable(0x08d93df0, 2); // amMiscDebugLevel + setVariable(0x08d93df8, 2); // amSysDataDebugLevel + setVariable(0x08d93e00, 2); // bcLibDebugLevel + setVariable(0x08d93df4, 2); // amOsinfoDebugLevel + setVariable(0x08d93e04, 0x0FFFFFFF); // s_logMask + detourFunction(0x0854a778, _putConsoleSeparate); // Debug Messages (crashes game) + } + // Security + detourFunction(0x0870ee36, amDongleInit); + detourFunction(0x0870d881, amDongleIsAvailable); + detourFunction(0x0870e2e5, amDongleUpdate); + detourFunction(0x0870ecfd, amDongleUserInfoEx); + memcpy(elfID, (void *)0x087c0a61, 4); // Gets gameID from the ELF + + // Fixes + amDipswContextAddr = (void *)0x08dc2d08; + detourFunction(0x0870d614, amDipswInit); + detourFunction(0x0870d698, amDipswExit); + detourFunction(0x0870d70d, amDipswGetData); + detourFunction(0x0870d784, stubRetZero); // amDipswSetLed + detourFunction(0x0822fdde, stubRetOne); // isEthLinkUp + // patchMemory(0x082ddfcd, "e954010000"); // tickWaitDHCP + patchMemoryFromString(0x082df619, "eb60"); // tickInitAddress + detourFunction(0x0821a1fa, stubRetOne); // Skip Kickback initialization + setVariable(0x0857f0e9, 0x000126e9); // Avoid Full Screen set from Game + patchMemoryFromString(0x087bc56c, "ab"); // Skips initialization + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08078860, gl_MultiTexCoord2fARB); + detourFunction(0x080788d0, gl_Color4ub); + detourFunction(0x08078b00, gl_Vertex3f); + detourFunction(0x08079200, gl_TexCoord2f); + detourFunction(0x080792a0, cg_GLIsProfileSupported); + patchMemoryFromString(0x08549c10, "9090"); + patchMemoryFromString(0x0856e843, "31C090"); // cgCreateProgram args argument to 0; + cacheModedShaderFiles(); + detourFunction(0x08079730, gl_XGetProcAddressARB); + detourFunction(0x080794d0, gl_ProgramParameters4fvNV); + } + detourFunction(0x08264e7a, stubRetOne); // isExistNewerSource (forces shader recompilation) + + if (getConfig()->enableNetworkPatches && strcmp(getConfig()->idIpSeat1, "") != 0 && strcmp(getConfig()->idIpSeat2, "") != 0) + { + uint32_t ipSeat1, ipSeat2; + if (inet_pton(AF_INET, getConfig()->idIpSeat1, &ipSeat1) != 1 || inet_pton(AF_INET, getConfig()->idIpSeat2, &ipSeat2) != 1) + { + printf("Check the IP addresses for ID games in the config file.\n"); + exit(1); + } + setVariable(0x08235a4d, 0x7f000001); // 127.0.0.1 + setVariable(0x08235a5d, ipSeat1); + setVariable(0x08235a55, ipSeat2); + } + } + break; + case INITIALD_4_EXP_REVC: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08d93b70, 2); // amBackupDebugLevel + setVariable(0x08d93b80, 2); // amCreditDebugLevel + setVariable(0x08d93dd8, 2); // amDipswDebugLevel + setVariable(0x08d93ddc, 2); // amDongleDebugLevel + setVariable(0x08d93de0, 2); // amEepromDebugLevel + setVariable(0x08d93de4, 2); // amHwmonitorDebugLevel + setVariable(0x08d93de8, 2); // amJvsDebugLevel + setVariable(0x08d93dec, 2); // amLibDebugLevel + setVariable(0x08d93df0, 2); // amMiscDebugLevel + setVariable(0x08d93df8, 2); // amSysDataDebugLevel + setVariable(0x08d93e00, 2); // bcLibDebugLevel + setVariable(0x08d93df4, 2); // amOsinfoDebugLevel + setVariable(0x08d93e04, 0x0FFFFFFF); // s_logMask + detourFunction(0x0854a4f8, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x0870ebb6, amDongleInit); + detourFunction(0x0870d601, amDongleIsAvailable); + detourFunction(0x0870e065, amDongleUpdate); + detourFunction(0x0870ea7d, amDongleUserInfoEx); + memcpy(elfID, (void *)0x08337197, 4); // Gets gameID from the ELF + + // Fixes + amDipswContextAddr = (void *)0x08dc2d08; + detourFunction(0x0870d394, amDipswInit); + detourFunction(0x0870d418, amDipswExit); + detourFunction(0x0870d48d, amDipswGetData); + detourFunction(0x0870d504, stubRetZero); // amDipswSetLed + detourFunction(0x0822feae, stubRetOne); // isEthLinkUp + // patchMemory(0x082dde0d, "e954010000"); // tickWaitDHCP + patchMemoryFromString(0x082df459, "eb60"); // tickInitAddress + detourFunction(0x0821a2aa, stubRetOne); // Skip Kickback initialization + setVariable(0x0857ee69, 0x000126e9); // Avoid Full Screen set from Game + patchMemoryFromString(0x087bc2ec, "eb"); // Skips initialization + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08078860, gl_MultiTexCoord2fARB); + detourFunction(0x080788d0, gl_Color4ub); + detourFunction(0x08078b00, gl_Vertex3f); + detourFunction(0x08079200, gl_TexCoord2f); + detourFunction(0x080792a0, cg_GLIsProfileSupported); + patchMemoryFromString(0x0854b4a0, "9090"); + patchMemoryFromString(0x085700d3, "31C090"); // cgCreateProgram args argument to 0; + cacheModedShaderFiles(); + detourFunction(0x08079730, gl_XGetProcAddressARB); + detourFunction(0x080794d0, gl_ProgramParameters4fvNV); + } + detourFunction(0x08264f62, stubRetOne); // isExistNewerSource (forces shader recompilation) + + if (getConfig()->enableNetworkPatches && strcmp(getConfig()->idIpSeat1, "") != 0 && strcmp(getConfig()->idIpSeat2, "") != 0) + { + uint32_t ipSeat1, ipSeat2; + if (inet_pton(AF_INET, getConfig()->idIpSeat1, &ipSeat1) != 1 || inet_pton(AF_INET, getConfig()->idIpSeat2, &ipSeat2) != 1) + { + printf("Check the IP addresses for ID games in the config file.\n"); + exit(1); + } + setVariable(0x08235b1d, 0x7f000001); // 127.0.0.1 + setVariable(0x08235b2d, ipSeat1); + setVariable(0x08235b25, ipSeat2); + } + } + break; + case INITIALD_4_EXP_REVD: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08d972d0, 2); // amBackupDebugLevel + setVariable(0x08d972e0, 2); // amCreditDebugLevel + setVariable(0x08d97538, 2); // amDipswDebugLevel + setVariable(0x08d9753c, 2); // amDongleDebugLevel + setVariable(0x08d97540, 2); // amEepromDebugLevel + setVariable(0x08d97544, 2); // amHwmonitorDebugLevel + setVariable(0x08d97548, 2); // amJvsDebugLevel + setVariable(0x08d9754c, 2); // amLibDebugLevel + setVariable(0x08d97550, 2); // amMiscDebugLevel + setVariable(0x08d97554, 2); // amSysDataDebugLevel + setVariable(0x08d97558, 2); // bcLibDebugLevel + setVariable(0x08d97560, 2); // amOsinfoDebugLevel + setVariable(0x08d97564, 0x0FFFFFFF); // s_logMask + detourFunction(0x0854c008, _putConsoleSeparate); // Debug Messages (crashes game) + } + // Security + detourFunction(0x087106e6, amDongleInit); + detourFunction(0x0870f131, amDongleIsAvailable); + detourFunction(0x0870fb95, amDongleUpdate); + detourFunction(0x087105ad, amDongleUserInfoEx); + memcpy(elfID, (void *)0x08338ce7, 4); // Gets gameID from the ELF + + // Fixes + amDipswContextAddr = (void *)0x08dc6928; + detourFunction(0x0870eec4, amDipswInit); + detourFunction(0x0870ef48, amDipswExit); + detourFunction(0x0870efbd, amDipswGetData); + detourFunction(0x0870f034, stubRetZero); // amDipswSetLed + detourFunction(0x08230fde, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x082df87d, "e954010000"); // tickWaitDHCP + patchMemoryFromString(0x082e0ec9, "eb60"); // tickInitAddress + detourFunction(0x0821b3ea, stubRetOne); // Skip Kickback initialization + setVariable(0x08580979, 0x000126e9); // Avoid Full Screen set from Game + patchMemoryFromString(0x087beb6c, "5b"); // Skips initialization + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x080788ec, gl_MultiTexCoord2fARB); + detourFunction(0x0807895c, gl_Color4ub); + detourFunction(0x08078b8c, gl_Vertex3f); + detourFunction(0x0807928c, gl_TexCoord2f); + detourFunction(0x0807932c, cg_GLIsProfileSupported); + patchMemoryFromString(0x0854b4a0, "9090"); + patchMemoryFromString(0x085700d3, "31C090"); // cgCreateProgram args argument to 0; + cacheModedShaderFiles(); + detourFunction(0x080797dc, gl_XGetProcAddressARB); + detourFunction(0x0807955c, gl_ProgramParameters4fvNV); + } + detourFunction(0x08266098, stubRetOne); // isExistNewerSource (forces shader recompilation) + + if (getConfig()->enableNetworkPatches && strcmp(getConfig()->idIpSeat1, "") != 0 && strcmp(getConfig()->idIpSeat2, "") != 0) + { + uint32_t ipSeat1, ipSeat2; + if (inet_pton(AF_INET, getConfig()->idIpSeat1, &ipSeat1) != 1 || inet_pton(AF_INET, getConfig()->idIpSeat2, &ipSeat2) != 1) + { + printf("Check the IP addresses for ID games in the config file.\n"); + exit(1); + } + setVariable(0x08236c4d, 0x7f000001); // 127.0.0.1 + setVariable(0x08236c5d, ipSeat1); + setVariable(0x08236c55, ipSeat2); + } + } + break; + case INITIALD_4_REVA: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08d71470, 2); // amBackupDebugLevel + setVariable(0x08d71480, 2); // amCreditDebugLevel + setVariable(0x08d716d8, 2); // amDipswDebugLevel + setVariable(0x08d716dc, 2); // amDongleDebugLevel + setVariable(0x08d716e0, 2); // amEepromDebugLevel + setVariable(0x08d716e4, 2); // amHwmonitorDebugLevel + setVariable(0x08d716e8, 2); // amJvsDebugLevel + setVariable(0x08d716ec, 2); // amLibDebugLevel + setVariable(0x08d716f0, 2); // amMiscDebugLevel + setVariable(0x08d716f8, 2); // amSysDataDebugLevel + setVariable(0x08d71700, 2); // bcLibDebugLevel + setVariable(0x08d716f4, 2); // amOsinfoDebugLevel + setVariable(0x08d71704, 0x0FFFFFFF); // s_logMask + detourFunction(0x08524c88, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x086e20fa, amDongleInit); + detourFunction(0x086e0b45, amDongleIsAvailable); + detourFunction(0x086e15a9, amDongleUpdate); + detourFunction(0x086e1fc1, amDongleUserInfoEx); + memcpy(elfID, (void *)0x8318835, 4); // Gets gameID from the ELF + // Fixes + amDipswContextAddr = (void *)0x08da0628; // Address of amDipswContext + detourFunction(0x086e08d8, amDipswInit); + detourFunction(0x086e095c, amDipswExit); + detourFunction(0x086e09d1, amDipswGetData); + detourFunction(0x086e0a48, amDipswSetLed); // amDipswSetLED + + detourFunction(0x0821e52c, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x082cb222, "c0270900"); // tickInitStoreNetwork + patchMemoryFromString(0x082cb4e9, "e950010000"); // tickWaitDHCP + patchMemoryFromString(0x082ccc68, "eb"); // Skip Kickback initialization + patchMemoryFromString(0x08799acc, "62"); // Skips initialization + patchMemoryFromString(0x08799adc, "df"); // Skips initialization + setVariable(0x085593c9, 0x000126e9); // Avoid Full Screen set from Game + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08078980, gl_MultiTexCoord2fARB); + detourFunction(0x080789f0, gl_Color4ub); + detourFunction(0x08078c10, gl_Vertex3f); + detourFunction(0x08079330, gl_TexCoord2f); + detourFunction(0x080793d0, cg_GLIsProfileSupported); + patchMemoryFromString(0x085241ea, "9090"); + cacheModedShaderFiles(); + detourFunction(0x08079870, gl_XGetProcAddressARB); + detourFunction(0x08079600, gl_ProgramParameters4fvNV); + } + patchMemoryFromString(0x08548cb3, "31C090"); // cgCreateProgram args argument to 0; + detourFunction(0x0825637a, stubRetOne); // isExistNewerSource (forces shader recompilation) + } + break; + case INITIALD_4_REVB: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08d71750, 2); // amBackupDebugLevel + setVariable(0x08d71760, 2); // amCreditDebugLevel + setVariable(0x08d719b8, 2); // amDipswDebugLevel + setVariable(0x08d719bc, 2); // amDongleDebugLevel + setVariable(0x08d719c0, 2); // amEepromDebugLevel + setVariable(0x08d719c4, 2); // amHwmonitorDebugLevel + setVariable(0x08d719c8, 2); // amJvsDebugLevel + setVariable(0x08d719cc, 2); // amLibDebugLevel + setVariable(0x08d719d0, 2); // amMiscDebugLevel + setVariable(0x08d719d8, 2); // amSysDataDebugLevel + setVariable(0x08d719e0, 2); // bcLibDebugLevel + setVariable(0x08d719d4, 2); // amOsinfoDebugLevel + setVariable(0x08d719e4, 0x0FFFFFFF); // s_logMask + detourFunction(0x08524ec8, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x086e2336, amDongleInit); + detourFunction(0x086e0d81, amDongleIsAvailable); + detourFunction(0x086e17e5, amDongleUpdate); + detourFunction(0x086e21fd, amDongleUserInfoEx); + memcpy(elfID, (void *)0x08318a45, 4); // Gets gameID from the ELF + // Fixes + amDipswContextAddr = (void *)0x08da0908; // Address of amDipswContext + detourFunction(0x086e0b14, amDipswInit); + detourFunction(0x086e0b98, amDipswExit); + detourFunction(0x086e0c0d, amDipswGetData); + detourFunction(0x086e0c84, amDipswSetLed); // amDipswSetLED + + detourFunction(0x0821e6dc, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x082cb412, "c0270900"); // tickInitStoreNetwork + patchMemoryFromString(0x082cb6d9, "e950010000"); // tickWaitDHCP + patchMemoryFromString(0x082cce58, "EB"); // Skip Kickback initialization + patchMemoryFromString(0x08799d8c, "52"); // Skips initialization + patchMemoryFromString(0x08799d9c, "cf"); // Skips initialization + setVariable(0x08559609, 0x000126e9); // Avoid Full Screen set from Game + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x080789a4, gl_MultiTexCoord2fARB); + detourFunction(0x08078a14, gl_Color4ub); + detourFunction(0x08078c34, gl_Vertex3f); + detourFunction(0x08079354, gl_TexCoord2f); + detourFunction(0x080793f4, cg_GLIsProfileSupported); + patchMemoryFromString(0x0852442a, "9090"); + cacheModedShaderFiles(); + detourFunction(0x08079894, gl_XGetProcAddressARB); + detourFunction(0x08079624, gl_ProgramParameters4fvNV); + } + patchMemoryFromString(0x08548ef3, "31C090"); // cgCreateProgram args argument to 0; + detourFunction(0x0825653a, stubRetOne); // isExistNewerSource (forces shader recompilation) + } + break; + case INITIALD_4_REVC: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08d7c8f0, 2); // amBackupDebugLevel + setVariable(0x08d7c900, 2); // amCreditDebugLevel + setVariable(0x08d7cb58, 2); // amDipswDebugLevel + setVariable(0x08d7cb5c, 2); // amDongleDebugLevel + setVariable(0x08d7cb60, 2); // amEepromDebugLevel + setVariable(0x08d7cb64, 2); // amHwmonitorDebugLevel + setVariable(0x08d7cb68, 2); // amJvsDebugLevel + setVariable(0x08d7cb6c, 2); // amLibDebugLevel + setVariable(0x08d7cb70, 2); // amMiscDebugLevel + setVariable(0x08d7cb78, 2); // amSysDataDebugLevel + setVariable(0x08d7cb80, 2); // bcLibDebugLevel + setVariable(0x08d7cb74, 2); // amOsinfoDebugLevel + setVariable(0x08d7cb84, 0x0FFFFFFF); // s_logMask + detourFunction(0x0852d738, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x086eabd6, amDongleInit); + detourFunction(0x086e9621, amDongleIsAvailable); + detourFunction(0x086ea085, amDongleUpdate); + detourFunction(0x086eaa9d, amDongleUserInfoEx); + memcpy(elfID, (void *)0x08795338, 4); // Gets gameID from the ELF + // Fixes + amDipswContextAddr = (void *)0x08dabaa8; // Address of amDipswContext + detourFunction(0x086e93b4, amDipswInit); + detourFunction(0x086e9438, amDipswExit); + detourFunction(0x086e94ad, amDipswGetData); + detourFunction(0x086e9524, amDipswSetLed); // amDipswSetLED + + detourFunction(0x0821f0dc, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x082cfe42, "c0270900"); // tickInitStoreNetwork + patchMemoryFromString(0x082d0109, "e950010000"); // tickWaitDHCP + patchMemoryFromString(0x082d1888, "EB"); // Skip Kickback initialization + patchMemoryFromString(0x087a2eec, "82"); // Skips initialization + patchMemoryFromString(0x087a2efc, "ff"); // Skips initialization + setVariable(0x08561e79, 0x000126e9); // Avoid Full Screen set from Game + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x080789a4, gl_MultiTexCoord2fARB); + detourFunction(0x08078a14, gl_Color4ub); + detourFunction(0x08078c34, gl_Vertex3f); + detourFunction(0x08079354, gl_TexCoord2f); + detourFunction(0x080793f4, cg_GLIsProfileSupported); + patchMemoryFromString(0x0852cc9a, "9090"); + cacheModedShaderFiles(); + detourFunction(0x08079894, gl_XGetProcAddressARB); + detourFunction(0x08079624, gl_ProgramParameters4fvNV); + } + patchMemoryFromString(0x08551763, "31C090"); // cgCreateProgram args argument to 0; + detourFunction(0x08256ff4, stubRetOne); // isExistNewerSource (forces shader recompilation) + } + break; + case INITIALD_4_REVD: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08d798b0, 2); // amBackupDebugLevel + setVariable(0x08d798c0, 2); // amCreditDebugLevel + setVariable(0x08d79b18, 2); // amDipswDebugLevel + setVariable(0x08d79b1c, 2); // amDongleDebugLevel + setVariable(0x08d79b20, 2); // amEepromDebugLevel + setVariable(0x08d79b24, 2); // amHwmonitorDebugLevel + setVariable(0x08d79b28, 2); // amJvsDebugLevel + setVariable(0x08d79b2c, 2); // amLibDebugLevel + setVariable(0x08d79b30, 2); // amMiscDebugLevel + setVariable(0x08d79b38, 2); // amSysDataDebugLevel + setVariable(0x08d79b40, 2); // bcLibDebugLevel + setVariable(0x08d79b34, 2); // amOsinfoDebugLevel + setVariable(0x08d79b44, 0x0FFFFFFF); // s_logMask + detourFunction(0x0852add8, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x086e8276, amDongleInit); + detourFunction(0x086e6cc1, amDongleIsAvailable); + detourFunction(0x086e7725, amDongleUpdate); + detourFunction(0x086e813d, amDongleUserInfoEx); + memcpy(elfID, (void *)0x087929d8, 4); // Gets gameID from the ELF + // Fixes + amDipswContextAddr = (void *)0x08da8a68; // Address of amDipswContext + detourFunction(0x086e6a54, amDipswInit); + detourFunction(0x086e6ad8, amDipswExit); + detourFunction(0x086e6b4d, amDipswGetData); + detourFunction(0x086e6bc4, amDipswSetLed); // amDipswSetLED + + detourFunction(0x0821f5cc, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x082cd3b2, "c0270900"); // tickInitStoreNetwork + patchMemoryFromString(0x082cd679, "e950010000"); // tickWaitDHCP + patchMemoryFromString(0x082cedf8, "EB"); // Skip Kickback initialization + patchMemoryFromString(0x087a024c, "f2"); // Skips initialization + patchMemoryFromString(0x087a025c, "6f"); // Skips initialization + setVariable(0x0855f519, 0x000126e9); // Avoid Full Screen set from Game + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x080789a4, gl_MultiTexCoord2fARB); + detourFunction(0x08078a14, gl_Color4ub); + detourFunction(0x08078c34, gl_Vertex3f); + detourFunction(0x08079354, gl_TexCoord2f); + detourFunction(0x080793f4, cg_GLIsProfileSupported); + patchMemoryFromString(0x0852a33a, "9090"); + cacheModedShaderFiles(); + detourFunction(0x08079894, gl_XGetProcAddressARB); + detourFunction(0x08079624, gl_ProgramParameters4fvNV); + } + patchMemoryFromString(0x0854ee03, "31C090"); // cgCreateProgram args argument to 0; + detourFunction(0x08257470, stubRetOne); // isExistNewerSource (forces shader recompilation) + } + break; + case INITIALD_4_REVG: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08dde130, 2); // amBackupDebugLevel + setVariable(0x08dde140, 2); // amCreditDebugLevel + setVariable(0x08dde398, 2); // amDipswDebugLevel + setVariable(0x08dde39c, 2); // amDongleDebugLevel + setVariable(0x08dde3a0, 2); // amEepromDebugLevel + setVariable(0x08dde3a4, 2); // amHwmonitorDebugLevel + setVariable(0x08dde3a8, 2); // amJvsDebugLevel + setVariable(0x08dde3ac, 2); // amLibDebugLevel + setVariable(0x08dde3b0, 2); // amMiscDebugLevel + setVariable(0x08dde3b8, 2); // amSysDataDebugLevel + setVariable(0x08dde3c0, 2); // bcLibDebugLevel + setVariable(0x08dde3b4, 2); // amOsinfoDebugLevel + setVariable(0x08dde3c4, 0x0FFFFFFF); // s_logMask + detourFunction(0x08564ea8, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x0872c8d6, amDongleInit); + detourFunction(0x0872b321, amDongleIsAvailable); + detourFunction(0x0872bd85, amDongleUpdate); + detourFunction(0x0872c79d, amDongleUserInfoEx); + memcpy(elfID, (void *)0x087da56c, 4); // Gets gameID from the ELF + // Fixes + amDipswContextAddr = (void *)0x08e0d7a8; // Address of amDipswContext + detourFunction(0x0872b0b4, amDipswInit); + detourFunction(0x0872b138, amDipswExit); + detourFunction(0x0872b1ad, amDipswGetData); + detourFunction(0x0872b224, amDipswSetLed); // amDipswSetLED + + detourFunction(0x0823813a, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x082f4396, "c0270900"); // tickInitStoreNetwork + patchMemoryFromString(0x082f4efb, "e94d010000"); // tickWaitDHCP + patchMemoryFromString(0x082f6d5b, "EB"); // Skip Kickback initialization + patchMemoryFromString(0x087e9eac, "c2"); // Skips initialization + patchMemoryFromString(0x087e9ebc, "3f36"); // Skips initialization + setVariable(0x08599819, 0x000126e9); // Avoid Full Screen set from Game + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0807a298, gl_MultiTexCoord2fARB); + detourFunction(0x0807a308, gl_Color4ub); + detourFunction(0x0807a538, gl_Vertex3f); + detourFunction(0x0807ac48, gl_TexCoord2f); + detourFunction(0x0807ace8, cg_GLIsProfileSupported); + patchMemoryFromString(0x08564340, "9090"); + cacheModedShaderFiles(); + detourFunction(0x0807b1b8, gl_XGetProcAddressARB); + detourFunction(0x0807af28, gl_ProgramParameters4fvNV); + } + patchMemoryFromString(0x08588f73, "31C090"); // cgCreateProgram args argument to 0; + detourFunction(0x08271cec, stubRetOne); // isExistNewerSource (forces shader recompilation) + } + break; + case INITIALD_5_EXP: + { + if (config->showDebugMessages == 1) + { + setVariable(0x093a93f0, 2); // amBackupDebugLevel + setVariable(0x093a9400, 2); // amCreditDebugLevel + setVariable(0x093a9658, 2); // amDipswDebugLevel + setVariable(0x093a965c, 2); // amDongleDebugLevel + setVariable(0x093a9660, 2); // amEepromDebugLevel + setVariable(0x093a9664, 2); // amHwmonitorDebugLevel + setVariable(0x093a9668, 2); // amJvsDebugLevel + setVariable(0x093a966c, 2); // amLibDebugLevel + setVariable(0x093a9670, 2); // amMiscDebugLevel + setVariable(0x093a9678, 2); // amSysDataDebugLevel + setVariable(0x093a9680, 2); // bcLibDebugLevel + setVariable(0x093a9674, 2); // amOsinfoDebugLevel + setVariable(0x093a9684, 0x0FFFFFFF); // s_logMask + detourFunction(0x08745e28, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x08911dca, amDongleInit); + detourFunction(0x08910815, amDongleIsAvailable); + detourFunction(0x08911279, amDongleUpdate); + detourFunction(0x08911c91, amDongleUserInfoEx); + memcpy(elfID, (void *)0x084e2407, 4); // Get gameID from the ELF + // Fixes + amDipswContextAddr = (void *)0x093d94c8; + detourFunction(0x089105a8, amDipswInit); + detourFunction(0x0891062c, amDipswExit); + detourFunction(0x089106a1, amDipswGetData); + detourFunction(0x08910718, amDipswSetLed); // amDipswSetLed + detourFunction(0x08322248, stubRetOne); // isEthLinkUp + detourFunction(0x083084a2, stubRetOne); // Skip Kickback initialization + patchMemoryFromString(0x084429d9, "eb60"); // tickInitAddress + patchMemoryFromString(0x0843fb34, "C0270900"); // tickInitStoreNetwork + detourFunction(0x084deddc, stubRetZero); // doesNeedRollerCleaning + detourFunction(0x084dedf8, stubRetZero); // doesNeedStockerCleaning + patchMemoryFromString(0x0843f5ad, "c7c300030000"); // Moves Initializing text + patchMemoryFromString(0x089e314c, "47f3"); // Skips initialization + patchMemoryFromString(0x08789a49, "e92601000090"); // Prevents Full Screen set from the game + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0807a3f0, gl_MultiTexCoord2fARB); + detourFunction(0x0807a470, gl_Color4ub); + detourFunction(0x0807a6b0, gl_Vertex3f); + detourFunction(0x0807ae10, gl_TexCoord2f); + detourFunction(0x0807aed0, cg_GLIsProfileSupported); + patchMemoryFromString(0x087450ef, "9090"); + cacheModedShaderFiles(); + } + + detourFunction(0x08389544, stubRetOne); // isExistNewerSource + detourFunction(0x0807b370, gl_XGetProcAddressARB); + patchMemoryFromString(0x08744f2e, "00"); // Fix cutscenes + } + break; + case INITIALD_5_EXP_20: + { + if (config->showDebugMessages == 1) + { + setVariable(0x093f6fa0, 2); // amBackupDebugLevel + setVariable(0x093f6fc0, 2); // amCreditDebugLevel + setVariable(0x093f7218, 2); // amDipswDebugLevel + setVariable(0x093f721c, 2); // amDongleDebugLevel + setVariable(0x093f7220, 2); // amEepromDebugLevel + setVariable(0x093f7224, 2); // amHwmonitorDebugLevel + setVariable(0x093f7228, 2); // amJvsDebugLevel + setVariable(0x093f722c, 2); // amLibDebugLevel + setVariable(0x093f7230, 2); // amMiscDebugLevel + setVariable(0x093f7238, 2); // amSysDataDebugLevel + setVariable(0x093f7240, 2); // bcLibDebugLevel + setVariable(0x093f7234, 2); // amOsinfoDebugLevel + setVariable(0x093f7244, 0x0FFFFFFF); // s_logMask + detourFunction(0x08762978, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x0893dd25, amDongleInit); + detourFunction(0x0893c5b1, amDongleIsAvailable); + detourFunction(0x0893d0d2, amDongleUpdate); + detourFunction(0x0893dbeb, amDongleUserInfoEx); + memcpy(elfID, (void *)0x084fdec2, 4); // Get gameID from the ELF + patchMemoryFromString(0x084fde9c, "00"); // Patch KEYCHECK + // Fixes + amDipswContextAddr = (void *)0x09427128; + detourFunction(0x0893c344, amDipswInit); + detourFunction(0x0893c3c8, amDipswExit); + detourFunction(0x0893c43d, amDipswGetData); + detourFunction(0x0893c4b3, amDipswSetLed); // amDipswSetLed + detourFunction(0x0832fca6, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x08456348, "e991000000"); // tickWaitDHCP + patchMemoryFromString(0x0845843b, "eb60"); // tickInitAddress + patchMemoryFromString(0x08455584, "C0270900"); // tickInitStoreNetwork + detourFunction(0x08943eb6, stubRetZero); // amOsinfoExecDhcpNic + detourFunction(0x085135e0, stubRetZero); // isUseServerBox + patchMemoryFromString(0x084592be, "30B5E3"); // seqInitWheel + detourFunction(0x084fa3ae, stubRetZero); // doesNeedRollerCleaning + detourFunction(0x084fa3ca, stubRetZero); // doesNeedStockerCleaning + patchMemoryFromString(0x08455001, "c7c300030000"); // Moves Initializing text + patchMemoryFromString(0x08513a10, "00"); // Network init just once + patchMemoryFromString(0x08a0f78c, "95"); // Skips initialization + patchMemoryFromString(0x087a6599, "e92601000090"); // Prevents Full Screen set from the game * + + // amsInit + detourFunction(0x089382e0, stubRetZero); // Eliminates amsInit Function + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0807a6c0, gl_MultiTexCoord2fARB); + detourFunction(0x0807a740, gl_Color4ub); + detourFunction(0x0807a990, gl_Vertex3f); + detourFunction(0x0807b130, gl_TexCoord2f); + detourFunction(0x0807b1f0, cg_GLIsProfileSupported); + patchMemoryFromString(0x08761c3f, "9090"); + cacheModedShaderFiles(); + } + + detourFunction(0x08397224, stubRetOne); // isExistNewerSource + detourFunction(0x0807b6c0, gl_XGetProcAddressARB); + patchMemoryFromString(0x08761a7e, "00"); // Fix cutscenes + + if (getConfig()->enableNetworkPatches && strcmp(getConfig()->idIpSeat1, "") != 0 && strcmp(getConfig()->idIpSeat2, "") != 0) + { + uint32_t ipSeat1, ipSeat2; + if (inet_pton(AF_INET, getConfig()->idIpSeat1, &ipSeat1) != 1 || inet_pton(AF_INET, getConfig()->idIpSeat2, &ipSeat2) != 1) + { + printf("Check the IP addresses for ID games in the config file.\n"); + exit(1); + } + setVariable(0x0833e2e3, ipSeat1); + setVariable(0x0833e2db, ipSeat2); + } + if (getConfig()->id5ChineseLanguage) + { + securityBoardSetDipSwitch(1, 1); + securityBoardSetDipSwitch(2, 1); + } + } + break; + case INITIALD_5_EXP_20A: + { + if (config->showDebugMessages == 1) + { + setVariable(0x093f6fa0, 2); // amBackupDebugLevel + setVariable(0x093f6fc0, 2); // amCreditDebugLevel + setVariable(0x093f7218, 2); // amDipswDebugLevel + setVariable(0x093f721c, 2); // amDongleDebugLevel + setVariable(0x093f7220, 2); // amEepromDebugLevel + setVariable(0x093f7224, 2); // amHwmonitorDebugLevel + setVariable(0x093f7228, 2); // amJvsDebugLevel + setVariable(0x093f722c, 2); // amLibDebugLevel + setVariable(0x093f7230, 2); // amMiscDebugLevel + setVariable(0x093f7238, 2); // amSysDataDebugLevel + setVariable(0x093f7240, 2); // bcLibDebugLevel + setVariable(0x093f7234, 2); // amOsinfoDebugLevel + setVariable(0x093f7244, 0x0FFFFFFF); // s_logMask + detourFunction(0x08762bc8, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x0893df75, amDongleInit); + detourFunction(0x0893c801, amDongleIsAvailable); + detourFunction(0x0893d322, amDongleUpdate); + detourFunction(0x0893de3b, amDongleUserInfoEx); + memcpy(elfID, (void *)0x084fe0f2, 4); // Get gameID from the ELF + patchMemoryFromString(0x084fe0cc, "00"); // Patch KEYCHECK + // Fixes + amDipswContextAddr = (void *)0x09427128; + detourFunction(0x0893c594, amDipswInit); + detourFunction(0x0893c618, amDipswExit); + detourFunction(0x0893c68d, amDipswGetData); + detourFunction(0x0893c703, amDipswSetLed); // amDipswSetLed + detourFunction(0x0832fe46, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x084566d8, "e991000000"); // tickWaitDHCP + patchMemoryFromString(0x084587cb, "eb60"); // tickInitAddress + patchMemoryFromString(0x08455914, "C0270900"); // tickInitStoreNetwork + detourFunction(0x08944106, stubRetZero); // amOsinfoExecDhcpNic + detourFunction(0x08513810, stubRetZero); // isUseServerBox + patchMemoryFromString(0x0845964e, "40b3e3"); // seqInitWheel + detourFunction(0x084fa5de, stubRetZero); // doesNeedRollerCleaning + detourFunction(0x084fa5fa, stubRetZero); // doesNeedStockerCleaning + patchMemoryFromString(0x08455391, "c7c300030000"); // Moves Initializing text + patchMemoryFromString(0x08513c40, "00"); // Network init just once + patchMemoryFromString(0x08a0f9cc, "25"); // Skips initialization + patchMemoryFromString(0x087a67e9, "e92601000090"); // Prevents Full Screen set from the game + + // amsInit + detourFunction(0x08938530, stubRetZero); // Eliminates amsInit Function + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0807a6c0, gl_MultiTexCoord2fARB); + detourFunction(0x0807a740, gl_Color4ub); + detourFunction(0x0807a990, gl_Vertex3f); + detourFunction(0x0807b130, gl_TexCoord2f); + detourFunction(0x0807b1f0, cg_GLIsProfileSupported); + patchMemoryFromString(0x08761e8f, "9090"); + cacheModedShaderFiles(); + } + + detourFunction(0x083973a4, stubRetOne); // isExistNewerSource + detourFunction(0x0807b6c0, gl_XGetProcAddressARB); + patchMemoryFromString(0x08761cce, "00"); // Fix cutscenes + + if (getConfig()->enableNetworkPatches && strcmp(getConfig()->idIpSeat1, "") != 0 && strcmp(getConfig()->idIpSeat2, "") != 0) + { + uint32_t ipSeat1, ipSeat2; + if (inet_pton(AF_INET, getConfig()->idIpSeat1, &ipSeat1) != 1 || inet_pton(AF_INET, getConfig()->idIpSeat2, &ipSeat2) != 1) + { + printf("Check the IP addresses for ID games in the config file.\n"); + exit(1); + } + setVariable(0x0833e473, ipSeat1); + setVariable(0x0833e46b, ipSeat2); + } + if (getConfig()->id5ChineseLanguage) + { + securityBoardSetDipSwitch(1, 1); + securityBoardSetDipSwitch(2, 1); + } + } + break; + case INITIALD_5_JAP_REVA: // ID5 - DVP-0070A + { + if (config->showDebugMessages == 1) + { + setVariable(0x093a92d0, 2); // amBackupDebugLevel + setVariable(0x093a92e0, 2); // amCreditDebugLevel + setVariable(0x093a9538, 2); // amDipswDebugLevel + setVariable(0x093a953c, 2); // amDongleDebugLevel + setVariable(0x093a9540, 2); // amEepromDebugLevel + setVariable(0x093a9544, 2); // amHwmonitorDebugLevel + setVariable(0x093a9548, 2); // amJvsDebugLevel + setVariable(0x093a954c, 2); // amLibDebugLevel + setVariable(0x093a9550, 2); // amMiscDebugLevel + setVariable(0x093a9558, 2); // amSysDataDebugLevel + setVariable(0x093a9560, 2); // bcLibDebugLevel + setVariable(0x093a9554, 2); // amOsinfoDebugLevel + setVariable(0x093a9564, 0x0FFFFFFF); // s_logMask + detourFunction(0x08745238, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x089111da, amDongleInit); + detourFunction(0x0890fc25, amDongleIsAvailable); + detourFunction(0x08910689, amDongleUpdate); + detourFunction(0x089110a1, amDongleUserInfoEx); + memcpy(elfID, (void *)0x084e1707, 4); // Get gameID from the ELF + amDipswContextAddr = (void *)0x093d93a8; + detourFunction(0x0890f9b8, amDipswInit); + detourFunction(0x0890fa3c, amDipswExit); + detourFunction(0x0890fab1, amDipswGetData); + detourFunction(0x0890fb28, amDipswSetLed); // amDipswSetLed + detourFunction(0x08321968, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x0843f068, "c0270900"); // tickInitStoreNetwork + // patchMemory(0x0843fed0, "e98d000000"); // tickWaitDHCP + detourFunction(0x08307b62, stubRetOne); // Skip Kickback initialization + detourFunction(0x084de0dc, stubRetZero); // doesNeedRollerCleaning + detourFunction(0x084de0f8, stubRetZero); // doesNeedStockerCleaning + patchMemoryFromString(0x089e308c, "BA"); // Skips initialization + patchMemoryFromString(0x08788e59, "e92601000090"); // Prevents Full Screen set from the game + + patchMemoryFromString(0x08441f99, "eb60"); // tickInitAddress + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0807a3f0, gl_MultiTexCoord2fARB); + detourFunction(0x0807a470, gl_Color4ub); + detourFunction(0x0807a6b0, gl_Vertex3f); + detourFunction(0x0807ae10, gl_TexCoord2f); + detourFunction(0x0807aed0, cg_GLIsProfileSupported); + patchMemoryFromString(0x087444ff, "9090"); + cacheModedShaderFiles(); + } + + detourFunction(0x08388cb4, stubRetOne); // isExistNewerSource + detourFunction(0x0807b370, gl_XGetProcAddressARB); + patchMemoryFromString(0x0874433e, "00"); // Fix cutscenes + } + break; + case INITIALD_5_JAP_REVC: // ID5 - DVP-0070C + { + if (config->showDebugMessages == 1) + { + setVariable(0x093a90f0, 2); // amBackupDebugLevel + setVariable(0x093a9100, 2); // amCreditDebugLevel + setVariable(0x093a9358, 2); // amDipswDebugLevel + setVariable(0x093a935c, 2); // amDongleDebugLevel + setVariable(0x093a9360, 2); // amEepromDebugLevel + setVariable(0x093a9364, 2); // amHwmonitorDebugLevel + setVariable(0x093a9368, 2); // amJvsDebugLevel + setVariable(0x093a936c, 2); // amLibDebugLevel + setVariable(0x093a9370, 2); // amMiscDebugLevel + setVariable(0x093a9378, 2); // amSysDataDebugLevel + setVariable(0x093a9380, 2); // bcLibDebugLevel + setVariable(0x093a9374, 2); // amOsinfoDebugLevel + setVariable(0x093a9384, 0x0FFFFFFF); // s_logMask + detourFunction(0x08745c58, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x08911bfa, amDongleInit); + detourFunction(0x08910645, amDongleIsAvailable); + detourFunction(0x089110a9, amDongleUpdate); + detourFunction(0x08911ac1, amDongleUserInfoEx); + memcpy(elfID, (void *)0x084e21e7, 4); // Get gameID from the ELF + amDipswContextAddr = (void *)0x093d91c8; + + detourFunction(0x089103d8, amDipswInit); + detourFunction(0x0891045c, amDipswExit); + detourFunction(0x08936289, amDipswGetData); + detourFunction(0x089104d1, amDipswSetLed); // amDipswSetLed + detourFunction(0x08322268, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x0843fac8, "C0270900"); // tickInitStoreNetwork + // patchMemory(0x0843fed0, "e98d000000"); // tickWaitDHCP + detourFunction(0x08308472, stubRetOne); // Skip Kickback initialization + detourFunction(0x084debbc, stubRetZero); // doesNeedRollerCleaning + detourFunction(0x084debd8, stubRetZero); // doesNeedStockerCleaning + patchMemoryFromString(0x089e3aac, "1af3"); // Skips initialization + patchMemoryFromString(0x08789879, "e92601000090"); // Prevents Full Screen set from the game + patchMemoryFromString(0x084429f9, "eb60"); // tickInitAddress + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0807a3f0, gl_MultiTexCoord2fARB); + detourFunction(0x0807a470, gl_Color4ub); + detourFunction(0x0807a6b0, gl_Vertex3f); + detourFunction(0x0807ae10, gl_TexCoord2f); + detourFunction(0x0807aed0, cg_GLIsProfileSupported); + patchMemoryFromString(0x08744f1f, "9090"); + cacheModedShaderFiles(); + } + + detourFunction(0x08389594, stubRetOne); // isExistNewerSource + detourFunction(0x0807b370, gl_XGetProcAddressARB); + patchMemoryFromString(0x08744d5e, "00"); // Fix cutscenes + } + break; + case INITIALD_5_JAP_REVF: // ID5 - DVP-0070F + { + if (config->showDebugMessages == 1) + { + setVariable(0x093e52d4, 2); // amBackupDebugLevel + setVariable(0x093e52e0, 2); // amCreditDebugLevel + setVariable(0x093e5538, 2); // amDipswDebugLevel + setVariable(0x093e553c, 2); // amDongleDebugLevel + setVariable(0x093e5540, 2); // amEepromDebugLevel + setVariable(0x093e5544, 2); // amHwmonitorDebugLevel + setVariable(0x093e5548, 2); // amJvsDebugLevel + setVariable(0x093e554c, 2); // amLibDebugLevel + setVariable(0x093e5550, 2); // amMiscDebugLevel + setVariable(0x093e5558, 2); // amSysDataDebugLevel + setVariable(0x093e5560, 2); // bcLibDebugLevel + setVariable(0x093e5554, 2); // amOsinfoDebugLevel + setVariable(0x093e5564, 0x0FFFFFFF); // s_logMask + detourFunction(0x0875f0a8, _putConsoleSeparate); // Debug Messages + } + // Security + detourFunction(0x08937b71, amDongleInit); + detourFunction(0x089363fd, amDongleIsAvailable); + detourFunction(0x08936f1e, amDongleUpdate); + detourFunction(0x08937a37, amDongleUserInfoEx); + memcpy(elfID, (void *)0x084fa2e2, 4); // Get gameID from the ELF + patchMemoryFromString(0x084fa2bc, "00"); // Patch KEYCHECK + // Fixes + amDipswContextAddr = (void *)0x09415388; + detourFunction(0x08936190, amDipswInit); + detourFunction(0x08936214, amDipswExit); + detourFunction(0x08936289, amDipswGetData); + detourFunction(0x089362ff, amDipswSetLed); // amDipswSetLed + detourFunction(0x08330368, stubRetOne); // isEthLinkUp + patchMemoryFromString(0x084519ee, "C0270900"); // tickInitStoreNetwork + // patchMemory(0x08452848, "e991000000"); // tickWaitDHCP + detourFunction(0x08316392, stubRetOne); // Skip Kickback initialization + detourFunction(0x084f67ce, stubRetZero); // doesNeedRollerCleaning + detourFunction(0x084f67ea, stubRetZero); // doesNeedStockerCleaning + + patchMemoryFromString(0x08451501, "c7c300030000"); // Moves Initializing text + patchMemoryFromString(0x0850ffd0, "00"); // Network init just once + patchMemoryFromString(0x08a098ac, "95"); // Skips initialization + patchMemoryFromString(0x087a2cc9, "e92601000090"); // Prevents Full Screen set from the game + + patchMemoryFromString(0x0845493b, "eb60"); // tickInitAddress + detourFunction(0x0893dd02, stubRetZero); // amOsinfoExecDhcpNic + detourFunction(0x0850fba0, stubRetZero); // isUseServerBox + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0807a42c, gl_MultiTexCoord2fARB); + detourFunction(0x0807a4ac, gl_Color4ub); + detourFunction(0x0807a6ec, gl_Vertex3f); + detourFunction(0x0807ae4c, gl_TexCoord2f); + detourFunction(0x0807af0c, cg_GLIsProfileSupported); + patchMemoryFromString(0x0875e36f, "9090"); + cacheModedShaderFiles(); + } + + detourFunction(0x08397aa4, stubRetOne); // isExistNewerSource + detourFunction(0x0807b3bc, gl_XGetProcAddressARB); + patchMemoryFromString(0x0875e1ae, "00"); // Fix cutscenes + } + break; + case LETS_GO_JUNGLE: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08c083a4, 2); // amBackupDebugLevel + setVariable(0x08c083c0, 2); // amCreditDebugLevel + setVariable(0x08c08618, 2); // amDipswDebugLevel + setVariable(0x08c0861c, 2); // amDongleDebugLevel + setVariable(0x08c08620, 2); // amEepromDebugLevel + setVariable(0x08c08624, 2); // amHwmonitorDebugLevel + setVariable(0x08c08628, 2); // amJvsDebugLevel + setVariable(0x08c0862c, 2); // amLibDebugLevel + setVariable(0x08c08630, 2); // amMiscDebugLevel + setVariable(0x08c08638, 2); // amSysDataDebugLevel + setVariable(0x08c08640, 2); // bcLibDebugLevel + setVariable(0x08c08634, 2); // amOsinfoDebugLevel + setVariable(0x08c08644, 0x0FFFFFFF); // s_logMask + detourFunction(0x08074a8c, _putConsole); // Debug Messages + } + // Security + detourFunction(0x084e50d8, amDongleInit); + detourFunction(0x084e5459, amDongleIsAvailable); + detourFunction(0x084e537d, amDongleUpdate); + patchMemoryFromString(0x0807b76a, "9090"); // Patch initializeArcadeBackup + // Fixes + amDipswContextAddr = (void *)0x08c3bba8; // Address of amDipswContext + detourFunction(0x084e4efc, amDipswInit); + detourFunction(0x084e4f98, amDipswExit); + detourFunction(0x084e500e, amDipswGetData); + detourFunction(0x084e5086, amDipswSetLed); + patchMemoryFromString(0x0840d858, "9090"); // No full screen + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU || getConfig()->lgjRenderWithMesa) + { + detourFunction(0x080716e4, gl_MultiTexCoord2fARB); + detourFunction(0x08071754, gl_Color4ub); + detourFunction(0x08071984, gl_Vertex3f); + detourFunction(0x08071fc4, gl_TexCoord2f); + detourFunction(0x08072054, cg_GLIsProfileSupported); + detourFunction(0x08071da4, gl_ProgramStringARB); + cacheModedShaderFiles(); + } + detourFunction(0x08072214, gl_ProgramParameters4fvNV); + // patchMemory(0x083ef88e, "909090909090"); + detourFunction(0x08072454, gl_XGetProcAddressARB); + } + break; + case LETS_GO_JUNGLE_REVA: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08c10604, 2); // amBackupDebugLevel + setVariable(0x08c10620, 2); // amCreditDebugLevel + setVariable(0x08c10878, 2); // amDipswDebugLevel + setVariable(0x08c1087c, 2); // amDongleDebugLevel + setVariable(0x08c10880, 2); // amEepromDebugLevel + setVariable(0x08c10884, 2); // amHwmonitorDebugLevel + setVariable(0x08c10888, 2); // amJvsDebugLevel + setVariable(0x08c1088c, 2); // amLibDebugLevel + setVariable(0x08c10890, 2); // amMiscDebugLevel + setVariable(0x08c10898, 2); // amSysDataDebugLevel + setVariable(0x08c108a0, 2); // bcLibDebugLevel + setVariable(0x08c10894, 2); // amOsinfoDebugLevel + setVariable(0x08c108a4, 0x0FFFFFFF); // s_logMask + detourFunction(0x08074a8c, _putConsole); // Debug Messages + } + // Security + detourFunction(0x084e9fbc, amDongleInit); + detourFunction(0x084ea378, amDongleIsAvailable); + detourFunction(0x084ea29c, amDongleUpdate); + patchMemoryFromString(0x0807b86a, "9090"); // Patch initializeArcadeBackup + // Fixes + amDipswContextAddr = (void *)0x08c43e08; // Address of amDipswContext + detourFunction(0x084e9de0, amDipswInit); + detourFunction(0x084e9e7c, amDipswExit); + detourFunction(0x084e9ef2, amDipswGetData); + detourFunction(0x084e9f6a, amDipswSetLed); + patchMemoryFromString(0x084125f0, "9090"); // No full screen + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU || getConfig()->lgjRenderWithMesa) + { + detourFunction(0x08071790, gl_MultiTexCoord2fARB); + detourFunction(0x08071800, gl_Color4ub); + detourFunction(0x08071a30, gl_Vertex3f); + detourFunction(0x08072080, gl_TexCoord2f); + detourFunction(0x08072110, cg_GLIsProfileSupported); + detourFunction(0x08071e50, gl_ProgramStringARB); + cacheModedShaderFiles(); + } + detourFunction(0x080722e0, gl_ProgramParameters4fvNV); + // patchMemory(0x083f4626, "909090909090"); + detourFunction(0x08072520, gl_XGetProcAddressARB); + } + break; + case LETS_GO_JUNGLE_SPECIAL: + { + if (config->showDebugMessages == 1) + { + setVariable(0x08c453e4, 2); // amBackupDebugLevel + setVariable(0x08c45400, 2); // amCreditDebugLevel + setVariable(0x08c45658, 2); // amDipswDebugLevel + setVariable(0x08c4565c, 2); // amDongleDebugLevel + setVariable(0x08c45660, 2); // amEepromDebugLevel + setVariable(0x08c45664, 2); // amHwmonitorDebugLevel + setVariable(0x08c45668, 2); // amJvsDebugLevel + setVariable(0x08c4566c, 2); // amLibDebugLevel + setVariable(0x08c45670, 2); // amMiscDebugLevel + setVariable(0x08c45678, 2); // amSysDataDebugLevel + setVariable(0x08c45680, 2); // bcLibDebugLevel + setVariable(0x08c45674, 2); // amOsinfoDebugLevel + setVariable(0x08c45684, 0x0FFFFFFF); // s_logMask + detourFunction(0x08075012, _putConsole); // Debug Messages + } + // Security + detourFunction(0x08510320, amDongleInit); + detourFunction(0x085106dc, amDongleIsAvailable); + detourFunction(0x08510600, amDongleUpdate); + patchMemoryFromString(0x0807e609, "909090909090"); + // Fixes + amDipswContextAddr = (void *)0x08c78be8; // Address of amDipswContext + detourFunction(0x08510144, amDipswInit); + detourFunction(0x085101e0, amDipswExit); + detourFunction(0x08510256, amDipswGetData); + detourFunction(0x085102ce, amDipswSetLed); + patchMemoryFromString(0x08438954, "9090"); // No full screen + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU || getConfig()->lgjRenderWithMesa) + { + detourFunction(0x080718e0, gl_MultiTexCoord2fARB); + detourFunction(0x08071950, gl_Color4ub); + detourFunction(0x08071b80, gl_Vertex3f); + detourFunction(0x08072210, gl_TexCoord2f); + detourFunction(0x080722a0, cg_GLIsProfileSupported); + detourFunction(0x08071fd0, gl_ProgramStringARB); + cacheModedShaderFiles(); + } + detourFunction(0x08072480, gl_ProgramParameters4fvNV); + patchMemoryFromString(0x0841a98a, "909090909090"); + detourFunction(0x080726c0, gl_XGetProcAddressARB); + } + break; + case MJ4_EVO: + { + detourFunction(0x08840b61, amDongleInit); + detourFunction(0x0883f3ed, amDongleIsAvailable); + detourFunction(0x0883f40a, amDongleIsDevelop); + detourFunction(0x0883ff0e, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x0af8ff3c; // Address of amDipswContext + detourFunction(0x0883f180, amDipswInit); + detourFunction(0x0883f204, amDipswExit); + detourFunction(0x0883f279, amDipswGetData); + detourFunction(0x0883f2ef, amDipswSetLed); + + patchMemoryFromString(0x080ea0d1, "909090909090"); + detourFunction(0x080e327c, stubRetZero); // skip checks + detourFunction(0x080ee4fa, stubRetZero); + patchMemoryFromString(0x080ea0bf, "75"); + patchMemoryFromString(0x08c035b8, "00"); + + patchMemoryFromString(0x080eac38, "01"); + patchMemoryFromString(0x08c5fc80, "ffffffff"); + patchMemoryFromString(0x080e9322, "90909090909090909090"); + patchMemoryFromString(0x080eac82, "90909090909090909090"); + + patchMemoryFromString(0x0885bc2d, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x0885bc44, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x0885bc5d, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x0885bcad, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x0885bcbd, "2e2f666f6f3100"); // Patch /home/disk2 folder + patchMemoryFromString(0x0885bcce, "2e2f666f6f3200"); // Patch /home/disk2 folder + patchMemoryFromString(0x0885f425, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x08862b8f, "2e2f00"); // Patch /home/disk2 folder + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08051314, gl_ProgramStringARB); + } + } + break; + case MJ4_REVG: + { + setVariable(0x0acf85d4, 2); + setVariable(0x0acf85d0, 2); + setVariable(0x0acf85cc, 2); + setVariable(0x0acf85c8, 2); + setVariable(0x0acf85c0, 2); + setVariable(0x0acf85bc, 2); + + // Security + detourFunction(0x08710c0a, amDongleInit); + detourFunction(0x0870f6c5, amDongleIsAvailable); + detourFunction(0x0870f6e2, amDongleIsDevelop); + detourFunction(0x087100bb, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x0ad224fc; // Address of amDipswContext + detourFunction(0x0870f458, amDipswInit); + detourFunction(0x0870f4dc, amDipswExit); + detourFunction(0x0870f551, amDipswGetData); + detourFunction(0x0870f5c7, amDipswSetLed); + + detourFunction(0x080e286a, stubRetZero); // skip checks + detourFunction(0x080ed7f8, stubRetZero); + patchMemoryFromString(0x080e954b, "75"); + patchMemoryFromString(0x08a4cb90, "00"); + patchMemoryFromString(0x080e955d, "909090909090"); // test skip countdown + + patchMemoryFromString(0x0872bc4d, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x0872bc64, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x0872bc7d, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x0872bccd, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x0872bcdd, "2e2f666f6f3100"); // Patch /home/disk2 folder + patchMemoryFromString(0x0872bcee, "2e2f666f6f3200"); // Patch /home/disk2 folder + patchMemoryFromString(0x0872f3de, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x08732fd3, "2e2f00"); // Patch /home/disk2 folder + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08050ebc, gl_ProgramStringARB); + } + } + break; + case OUTRUN_2_SP_SDX: + { + if (config->showDebugMessages == 1) + { + // Debug Messages + setVariable(0x0893a2cc, 2); // amBackupDebugLevel + setVariable(0x0893a2e0, 2); // amCreditDebugLevel + setVariable(0x0893a538, 2); // amDipswDebugLevel + setVariable(0x0893a53c, 2); // amDongleDebugLevel + setVariable(0x0893a540, 2); // amEepromDebugLevel + setVariable(0x0893a544, 2); // amHwmonitorDebugLevel + setVariable(0x0893a548, 2); // amJvsDebugLevel + setVariable(0x0893a54c, 2); // amLibDebugLevel + setVariable(0x0893a550, 2); // amMiscDebugLevel + setVariable(0x0893a554, 2); // amOsinfoDebugLevel + setVariable(0x0893a558, 2); // amSysDataDebugLevel + setVariable(0x0893a560, 2); // bcLibDebugLevel + } + // Security + detourFunction(0x08190f0c, amDongleInit); + detourFunction(0x0819128d, amDongleIsAvailable); + detourFunction(0x081911b1, amDongleUpdate); + detourFunction(0x081912ad, amDongleIsDevelop); + // Fixes + amDipswContextAddr = (void *)0x0896a108; + detourFunction(0x08190d30, amDipswInit); + detourFunction(0x08190dcc, amDipswExit); + detourFunction(0x08190e42, amDipswGetData); + detourFunction(0x08190eba, amDipswSetLed); + + // Taken from original patched OUTRUN 2 SP SDX by Android and improved a little + patchMemoryFromString(0x08105383, "e91f000000"); + patchMemoryFromString(0x081095ff, "9090"); + patchMemoryFromString(0x08109603, "9090"); + patchMemoryFromString(0x08109609, "77"); + + // Shader Patches + detourFunction(0x0804ca98, gl_ProgramStringARB); + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804cf38, glGenProgramsARB); // Replaces glGenProgramsNV + detourFunction(0x0804c548, gl_BindProgramNV); // Replaces glBindProgramNV + detourFunction(0x0804c788, gl_LoadProgramNV); // Replaces glLoadProgramNV + detourFunction(0x0804c4e8, gl_DeleteProgramsNV); // Replaces glDeleteProgramsNV + detourFunction(0x0804c938, glProgramEnvParameter4fvARB); // Replaces glProgramParameter4fvNV + detourFunction(0x0804ce18, glProgramEnvParameters4fvEXT); // Replaces glProgramParameters4fvNV + detourFunction(0x0804cec8, glProgramEnvParameter4fARB); // Replaces glProgramParameter4fNV + detourFunction(0x0804cb98, glIsProgramARB); // Replaces glIsProgramNV + detourFunction(0x0804c568, gl_EndOcclusionQueryNV); // Replaces glEndOcclusionQueryNV + detourFunction(0x0804d498, glGetQueryObjectuivARB); // Replaces glGetOcclusionQueryuivNV + detourFunction(0x0804d648, glGenQueriesARB); // Replaces glGenOcclusionQueriesNV + detourFunction(0x0804d0a8, gl_BeginOcclusionQueryNV); // Replaces glBeginOcclusionQueryNV + } + detourFunction(0x0804d148, or2snprintf); // Fixes a bug in snprintf libc 2.39?? + } + break; + case OUTRUN_2_SP_SDX_REVA: + { + if (config->showDebugMessages == 1) + { + // Debug Messages + setVariable(0x0893a24c, 2); // amBackupDebugLevel + setVariable(0x0893a260, 2); // amCreditDebugLevel + setVariable(0x0893a4b8, 2); // amDipswDebugLevel + setVariable(0x0893a4bc, 2); // amDongleDebugLevel + setVariable(0x0893a4c0, 2); // amEepromDebugLevel + setVariable(0x0893a4c4, 2); // amHwmonitorDebugLevel + setVariable(0x0893a4c8, 2); // amJvsDebugLevel + setVariable(0x0893a4cc, 2); // amLibDebugLevel + setVariable(0x0893a4d0, 2); // amMiscDebugLevel + setVariable(0x0893a4d4, 2); // amOsinfoDebugLevel + setVariable(0x0893a4d8, 2); // amSysDataDebugLevel + setVariable(0x0893a4e0, 2); // bcLibDebugLevel + } + // Output/logs + detourFunction(0x0804c9a8, patchedPuts); + detourFunction(0x0804cfe8, patchedPrintf); + // Security + detourFunction(0x08190e80, amDongleInit); + detourFunction(0x08191201, amDongleIsAvailable); + detourFunction(0x08191125, amDongleUpdate); + detourFunction(0x08191221, amDongleIsDevelop); + // Fixes + amDipswContextAddr = (void *)0x0896A088; + detourFunction(0x08190ca4, amDipswInit); + detourFunction(0x08190D40, amDipswExit); + detourFunction(0x08190db6, amDipswGetData); + detourFunction(0x08190e2e, amDipswSetLed); + + // Taken from original patched OUTRUN 2 SP SDX by Android and improved a little + patchMemoryFromString(0x08105317, "e91f000000"); + patchMemoryFromString(0x08109593, "9090"); + patchMemoryFromString(0x08109597, "9090"); + patchMemoryFromString(0x0810959D, "77"); + + // Shader Patches + detourFunction(0x0804ca98, gl_ProgramStringARB); + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804cf38, glGenProgramsARB); // Replaces glGenProgramsNV + detourFunction(0x0804c548, gl_BindProgramNV); // Replaces glBindProgramNV + detourFunction(0x0804c788, gl_LoadProgramNV); // Replaces glLoadProgramNV + detourFunction(0x0804c4e8, gl_DeleteProgramsNV); // Replaces glDeleteProgramsNV + detourFunction(0x0804c938, glProgramEnvParameter4fvARB); // Replaces glProgramParameter4fvNV + detourFunction(0x0804ce18, glProgramEnvParameters4fvEXT); // Replaces glProgramParameters4fvNV + detourFunction(0x0804cec8, glProgramEnvParameter4fARB); // Replaces glProgramParameter4fNV + detourFunction(0x0804cb98, glIsProgramARB); // Replaces glIsProgramNV + detourFunction(0x0804c568, gl_EndOcclusionQueryNV); // Replaces glEndOcclusionQueryNV + detourFunction(0x0804d498, glGetQueryObjectuivARB); // Replaces glGetOcclusionQueryuivNV + detourFunction(0x0804d648, glGenQueriesARB); // Replaces glGenOcclusionQueriesNV + detourFunction(0x0804d0a8, gl_BeginOcclusionQueryNV); // Replaces glBeginOcclusionQueryNV + } + detourFunction(0x0804d148, or2snprintf); // Fixes a bug in snprintf libc 2.39?? + + // Only apply these patches if skipOutrunCabinetCheck is enabled + if (config->skipOutrunCabinetCheck) + { + // Bypass checks for Actuator and Force Feedback + detourFunction(0x08103eaa, stubRetOne); // Steering wheel + detourFunction(0x08105d88, stubRetOne); // Actuator + } + + // Always enable FFB commands output + if (getConfig()->emulateDriveboard) + { + patchMemoryFromString(0x081e2180, "df43"); // driveboard patches + patchMemoryFromString(0x0810401b, "0c"); + detourFunction(0x08105d88, stubRetOne); // actuator stub + } + } + break; + case OUTRUN_2_SP_SDX_REVA_TEST: + case OUTRUN_2_SP_SDX_REVA_TEST2: + { + // Security + detourFunction(0x08066220, amDongleInit); + detourFunction(0x080665a1, amDongleIsAvailable); + detourFunction(0x080664c5, amDongleUpdate); + detourFunction(0x080665c1, amDongleIsDevelop); + + // Fixes + amDipswContextAddr = (void *)0x080980e8; // Address of amDipswContext + detourFunction(0x08066044, amDipswInit); + detourFunction(0x080660e0, amDipswExit); + detourFunction(0x08066156, amDipswGetData); + detourFunction(0x080661ce, amDipswSetLed); // Stub amDipswSetLed + detourFunction(0x08066044, amDipswInit); + + // Patch to allow selection of all cabinet types + patchMemoryFromString(0x08054ac4, "9090909090"); + + if (gId == OUTRUN_2_SP_SDX_REVA_TEST2) + { + patchMemoryFromString(0x8049D03, "2003"); + patchMemoryFromString(0x8049DFB, "2003"); + patchMemoryFromString(0x8049E21, "2003"); + patchMemoryFromString(0x8049E84, "2003"); + patchMemoryFromString(0x804A43D, "2003"); + patchMemoryFromString(0x804A490, "2003"); + patchMemoryFromString(0x8054948, "893424"); + patchMemoryFromString(0x8055018, "2003"); + patchMemoryFromString(0x80554BF, "2003"); + patchMemoryFromString(0x805559A, "2003"); + patchMemoryFromString(0x8064831, "5589e583ec28"); + patchMemoryFromString(0x806BC94, "2003"); + patchMemoryFromString(0x806BCDA, "2003"); + patchMemoryFromString(0x8071D16, "4d42"); + patchMemoryFromString(0x8071D32, "4d42"); + patchMemoryFromString(0x8071D56, "4d42"); + patchMemoryFromString(0x8071D72, "4d42"); + patchMemoryFromString(0x8072435, "4d42"); + patchMemoryFromString(0x8072E87, "7953"); + patchMemoryFromString(0x8072E92, "7953"); + patchMemoryFromString(0x807D331, "2003"); + patchMemoryFromString(0x807D4A6, "2003"); + patchMemoryFromString(0x807DC49, "2003"); + patchMemoryFromString(0x807F758, "2003"); + } + } + break; + case OUTRUN_2_SP_SDX_TEST: + { + // Security + detourFunction(0x08066204, amDongleInit); + detourFunction(0x08066585, amDongleIsAvailable); + detourFunction(0x080664a9, amDongleUpdate); + detourFunction(0x080665a5, amDongleIsDevelop); + + // Fixes + amDipswContextAddr = (void *)0x080980e8; // Address of amDipswContext + detourFunction(0x08066028, amDipswInit); + detourFunction(0x080660c4, amDipswExit); + detourFunction(0x0806613a, amDipswGetData); + detourFunction(0x080661b2, amDipswSetLed); // Stub amDipswSetLed + detourFunction(0x08066028, amDipswInit); + + // Patch to allow selection of all cabinet types + patchMemoryFromString(0x08054a88, "9090909090"); + } + break; + case PRIMEVAL_HUNT: + { + // Security + detourFunction(0x08141770, amDongleInit); + detourFunction(0x08140229, amDongleIsAvailable); + detourFunction(0x08140c1f, amDongleUpdate); + patchMemoryFromString(0x08055264, "EB"); + // Fixes + amDipswContextAddr = (void *)0x0a96d488; // Address of amDipswContext + detourFunction(0x0813ffbc, amDipswInit); + detourFunction(0x08140040, amDipswExit); + detourFunction(0x081400b5, amDipswGetData); + detourFunction(0x0814012c, stubRetZero); + patchMemoryFromString(0x08052cb2, "9090909090"); + cacheModedShaderFiles(); + } + break; + case QUIZ_AXA: + { + detourFunction(0x084247d8, amDongleInit); + detourFunction(0x08423291, amDongleIsAvailable); + detourFunction(0x084232ae, amDongleIsDevelop); + detourFunction(0x08423c87, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x149041c8; // Address of amDipswContext + detourFunction(0x08423024, amDipswInit); + detourFunction(0x084230a8, amDipswExit); + detourFunction(0x0842311d, amDipswGetData); + detourFunction(0x08423194, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804f196, "9090909090"); //__intel_new_proc_init_P + + // patchMemoryFromString(0x084d012c, "f270"); + patchMemoryFromString(0x08297154, "9609"); + detourFunction(0x082B2866, stubRetZero); + detourFunction(0x08484e4a, stubRetZero); // error log + detourFunction(0x0831f450, stubRetZero); + + // patchMemoryFromString(0x08326098, "9090909090"); + + cacheModedShaderFiles(); + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + loadLibCg(); + cacheNnstdshader(); + patchMemoryFromString(0x082c8ec3, "01"); + replaceCallAtAddress(0x0838bc3d, compileWithCGC); + replaceCallAtAddress(0x0838bce1, compileWithCGC); + } + } + break; + case QUIZ_AXA_LIVE: + { + detourFunction(0x0888a7b2, amDongleInit); + detourFunction(0x0888926d, amDongleIsAvailable); + detourFunction(0x0888928a, amDongleIsDevelop); + detourFunction(0x08889c63, amDongleUpdate); + + // Fixes and patches + amDipswContextAddr = (void *)0x149041c8; // Address of amDipswContext + detourFunction(0x08889000, amDipswInit); + detourFunction(0x08889084, amDipswExit); + detourFunction(0x088890f9, amDipswGetData); + detourFunction(0x0888916f, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804f461, "9090909090"); //__intel_new_proc_init_P + + patchMemoryFromString(0x089735a0, "cfbf"); + patchMemoryFromString(0x086cf979, "75"); + detourFunction(0x0866fb64, stubRetZero); + detourFunction(0x088dafe6, stubRetZero); // error log + + cacheModedShaderFiles(); + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + loadLibCg(); + cacheNnstdshader(); + patchMemoryFromString(0x0869b80f, "01"); + replaceCallAtAddress(0x087c2a0f, compileWithCGC); + replaceCallAtAddress(0x087c2ab1, compileWithCGC); + } + } + break; + case RAMBO: + { + // Security + detourFunction(0x082c4746, amDongleInit); + detourFunction(0x082c3201, amDongleIsAvailable); + detourFunction(0x082c3bf7, amDongleUpdate); + detourFunction(0x082c460d, amDongleUserInfoEx); + detourFunction(0x082c321e, amDongleIsDevelop); + detourFunction(0x080e4262, stubRetZero); + detourFunction(0x080e3e94, stubRetZero); + // patchMemoryFromString(0x080e3f1d, "EB"); + // patchMemoryFromString(0x080e3f79, "01"); + patchMemoryFromString(0x080e3e2e, "EB"); + // Fixes + amDipswContextAddr = (void *)0x082c2f94; + detourFunction(0x082c2f94, amDipswInit); + detourFunction(0x082c3018, amDipswExit); + detourFunction(0x082c308d, amDipswGetData); + detourFunction(0x082c3103, amDipswSetLed); + + securityBoardSetDipSwitch(1, getConfig()->ramboGunsSwitch); + + cacheModedShaderFiles(); + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + loadLibCg(); + cacheNnstdshader(); + patchMemoryFromString(0x080b3d71, "01"); // Compile using CGC + replaceCallAtAddress(0x082015bf, compileWithCGC); + replaceCallAtAddress(0x082012c1, compileWithCGC); + } + } + break; + case RAMBO_CHINA: + { + // Security + detourFunction(0x082c463a, amDongleInit); + detourFunction(0x082c30f5, amDongleIsAvailable); + detourFunction(0x082c3aeb, amDongleUpdate); + detourFunction(0x082c4501, amDongleUserInfoEx); + detourFunction(0x082c3112, amDongleIsDevelop); + detourFunction(0x080e40f6, stubRetZero); + detourFunction(0x080e3d28, stubRetZero); + // patchMemoryFromString(0x080e3f1d, "EB"); + // patchMemoryFromString(0x080e3f79, "01"); + patchMemoryFromString(0x080e3cc2, "EB"); + // Fixes + amDipswContextAddr = (void *)0x0acadfc8; + detourFunction(0x082c2e88, amDipswInit); + detourFunction(0x082c2f0c, amDipswExit); + detourFunction(0x082c2f81, amDipswGetData); + detourFunction(0x082c2ff7, amDipswSetLed); + + securityBoardSetDipSwitch(1, getConfig()->ramboGunsSwitch); + + cacheModedShaderFiles(); + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + loadLibCg(); + cacheNnstdshader(); + patchMemoryFromString(0x080b3cb5, "01"); // Compile using CGC + replaceCallAtAddress(0x082014b3, compileWithCGC); + replaceCallAtAddress(0x082011b5, compileWithCGC); + } + } + break; + case R_TUNED: + { + // Security + detourFunction(0x08366846, amDongleInit); + detourFunction(0x08365301, amDongleIsAvailable); + detourFunction(0x08365cf7, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x08578be8; + detourFunction(0x08365094, amDipswInit); + detourFunction(0x08365118, amDipswExit); + detourFunction(0x08365203, amDipswSetLed); + detourFunction(0x0836518d, amDipswGetData); + patchMemoryFromString(0x8388C90, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x8388CA7, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x8388CC0, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x8388D10, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x8388D20, "2e2f666f6f3100"); // Patch /home/disk2 folder + patchMemoryFromString(0x8388D31, "2e2f666f6f3200"); // Patch /home/disk2 folder + patchMemoryFromString(0x83C979E, "2e2f00"); // Patch /home/disk2 folder + patchMemoryFromString(0x838C498, "2e2f524f4d5f4c414e472f656e00"); // Patch /home/disk0 folder + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x080507e8, gl_ProgramStringARB); + } + // Disable Force Feedback check? + patchMemoryFromString(0x0817f8d9, "891c2490909090"); + patchMemoryFromString(0x0817f8e5, "ebc5"); + + // Network + rtunedGetLinkIdandCabs(); + if (rtunedGetCabs() == 1) + break; + rtunedSetIPs(); + detourFunction(0x08051088, rtunedBind); + } + break; + case SEGABOOT_2_4_SYM: + { + if (config->showDebugMessages == 1) + { + setVariable(0x0808da48, 2); // amAdtecDebugLevel + setVariable(0x0808cf8c, 2); // amAtaDebugLevel + setVariable(0x0808cf90, 2); // amBackupDebugLevel + setVariable(0x0808cf94, 2); // amChunkDataDebugLevel + setVariable(0x0808cfa0, 2); // amCreditDebugLevel + setVariable(0x0808d1f8, 2); // amDipswDebugLevel + setVariable(0x0808d1fc, 2); // amDiskDebugLevel + setVariable(0x0808d200, 2); // amDongleDebugLevel + setVariable(0x0808d204, 2); // amEepromDebugLevel + setVariable(0x0808d208, 2); // amHmDebugLevel + setVariable(0x0808d210, 2); // amJvsDebugLevel + setVariable(0x0808d214, 2); // amLibDebugLevel + setVariable(0x0808d218, 2); // amMiscDebugLevel + setVariable(0x0808d21c, 2); // amSysDataDebugLevel + setVariable(0x0808d220, 2); // bcLibDebugLevel + setVariable(0x0808cf58, 2); // g_DebugLevel + setVariable(0x0808d224, 0x0FFFFFFF); // logmask + } + + detourFunction(0x0805e8b0, amDongleInit); + detourFunction(0x0805ebc3, amDongleIsAvailable); + detourFunction(0x0805eb2a, amDongleUpdate); + detourFunction(0x0805c30b, amDipswGetData); + } + break; + case SEGA_RACE_TV: + { + // Security + detourFunction(0x084d5b40, amDongleInit); + detourFunction(0x084d45f9, amDongleIsAvailable); + detourFunction(0x084d4fef, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x08df9cec; + detourFunction(0x084d438c, amDipswInit); + detourFunction(0x084d4410, amDipswExit); + detourFunction(0x084d44fc, amDipswSetLed); + detourFunction(0x084d4485, amDipswGetData); + patchMemoryFromString(0x0804edb2, "9090909090"); //__intel_new_proc_init_P + detourFunction(0x08178e6c, stubRetOne); // _ZN7am_ctrl18SetNetworkAddrEth0Ejj. + + detourFunction(0x0804e594, gl_XGetProcAddressARB); + srtvElfShaderPatcher(); + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + patchMemoryFromString(0x082d3ce9, "9090"); // Force GL_NVX_conditional_render + } + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVA: + { + if (config->showDebugMessages == 1) + { + // Debug Messages + setVariable(0x0a737c60, 2); // amBackupDebugLevel + setVariable(0x0a737c64, 2); // amChunkDataDebugLevel + setVariable(0x0a737c80, 2); // amCreditDebugLevel + setVariable(0x0a737ed8, 2); // amDipswDebugLevel + setVariable(0x0a737edc, 2); // amDiskDebugLevel + setVariable(0x0a737ee0, 2); // amDongleDebugLevel + setVariable(0x0a737ee4, 2); // amEepromDebugLevel + setVariable(0x0a737ee8, 2); // amHmDebugLevel + setVariable(0x0a737ef0, 2); // amJvsDebugLevel + setVariable(0x0a737f14, 2); // amLibDebugLevel + setVariable(0x0a737f18, 2); // amMiscDebugLevel + setVariable(0x0a737f1c, 2); // amSysDataDebugLevel + setVariable(0x0a737f20, 2); // bcLibDebugLevel + setVariable(0x0a737f24, 0x0FFFFFFF); // s_logMask + } + // Security + detourFunction(0x08320178, amDongleInit); + detourFunction(0x08320459, amDongleIsAvailable); + detourFunction(0x083203c0, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x0a7686cc; // Address of amDipswContext + detourFunction(0x0831dccc, amDipswInit); + detourFunction(0x0831dd61, amDipswExit); + detourFunction(0x0831ddd7, amDipswGetData); + detourFunction(0x0831de4f, amDipswSetLed); + + // Patch comparison check + patchMemoryFromString(0x081b502a, "c7420400000001"); + + // Patch fullscreen + detourFunction(0x08376405, stubRetZero); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804d034, "9090909090"); //__intel_new_proc_init_P + + // Shader Fixes + cacheModedShaderFiles(); + + if (!getConfig()->hideCursor) + { + CPlayer_MainOri = (void (*)(int))trampolineHook((void *)0x08161c98, CPlayer_Main, 6); + detourFunction(0x0804be14, hod4VsPrintf); + } + + if (getConfig()->cpuFreqGhz != 0.0f) + { + uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); + setVariable(0x0828ea13, cpuFreq); + } + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVA_TEST: + { + detourFunction(0x080677a0, amDongleInit); + detourFunction(0x08067a81, amDongleIsAvailable); + detourFunction(0x080679e8, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x080a7a48; // Address of amDipswContext + detourFunction(0x08067548, amDipswInit); + detourFunction(0x080675dd, amDipswExit); + detourFunction(0x08067653, amDipswGetData); + detourFunction(0x080676cb, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804e46c, "9090909090"); //__intel_new_proc_init_P + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVB: + { + if (config->showDebugMessages == 1) + { + // Debug Messages + setVariable(0x0a715c40, 2); // amBackupDebugLevel + setVariable(0x0a715c44, 2); // amChunkDataDebugLevel + setVariable(0x0a715c60, 2); // amCreditDebugLevel + setVariable(0x0a715eb8, 2); // amDipswDebugLevel + setVariable(0x0a715ebc, 2); // amDiskDebugLevel + setVariable(0x0a715ec0, 2); // amDongleDebugLevel + setVariable(0x0a715ec4, 2); // amEepromDebugLevel + setVariable(0x0a715ec8, 2); // amHmDebugLevel + setVariable(0x0a715ed0, 2); // amJvsDebugLevel + setVariable(0x0a715ed4, 2); // amLibDebugLevel + setVariable(0x0a715ed8, 2); // amMiscDebugLevel + setVariable(0x0a715edc, 2); // amSysDataDebugLevel + setVariable(0x0a715ee0, 2); // bcLibDebugLevel + setVariable(0x0a715ee4, 0x0FFFFFFF); // s_logMask + } + // Security + detourFunction(0x0831ad24, amDongleInit); + detourFunction(0x0831b037, amDongleIsAvailable); + detourFunction(0x0831af9e, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x0a74688c; // Address of amDipswContext + detourFunction(0x08318674, amDipswInit); + detourFunction(0x08318709, amDipswExit); + detourFunction(0x0831877f, amDipswGetData); + detourFunction(0x083187f7, amDipswSetLed); + + // Patch comparison check + patchMemoryFromString(0x081b58be, "c7420400000001"); + + // Patch fullscreen + detourFunction(0x083723a9, stubRetZero); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804d054, "9090909090"); //__intel_new_proc_init_P + + // Shader Fixes + cacheModedShaderFiles(); + + if (!getConfig()->hideCursor) + { + CPlayer_MainOri = (void (*)(int))trampolineHook((void *)0x08162494, CPlayer_Main, 6); + detourFunction(0x0804be04, hod4VsPrintf); + } + + if (getConfig()->cpuFreqGhz != 0.0f) + { + uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); + setVariable(0x08289353, cpuFreq); + } + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVB_TEST: + { + detourFunction(0x0806228c, amDongleInit); + detourFunction(0x0806259f, amDongleIsAvailable); + detourFunction(0x08062506, amDongleUpdate); + // // Fixes + amDipswContextAddr = (void *)0x080980e8; // Address of amDipswContext + detourFunction(0x08062034, amDipswInit); + detourFunction(0x080620c9, amDipswExit); + detourFunction(0x0806213f, amDipswGetData); + detourFunction(0x080621b7, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x08049f4d, "9090909090"); //__intel_new_proc_init_P + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVC: + { + // Security + detourFunction(0x0831ad04, amDongleInit); + detourFunction(0x0831b017, amDongleIsAvailable); + detourFunction(0x0831af7e, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x0a74688c; // Address of amDipswContext + detourFunction(0x08318654, amDipswInit); + detourFunction(0x083186e9, amDipswExit); + detourFunction(0x0831875f, amDipswGetData); + detourFunction(0x083187d7, amDipswSetLed); + + // Patch comparison check + patchMemoryFromString(0x081b58be, "c7420400000001"); + + // Patch fullscreen + detourFunction(0x08372391, stubRetZero); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804d054, "9090909090"); //__intel_new_proc_init_P + + // Shader Fixes + cacheModedShaderFiles(); + + if (!getConfig()->hideCursor) + { + CPlayer_MainOri = (void (*)(int))trampolineHook((void *)0x08162494, CPlayer_Main, 6); + detourFunction(0x0804be04, hod4VsPrintf); + } + + if (getConfig()->cpuFreqGhz != 0.0f) + { + uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); + setVariable(0x08289353, cpuFreq); + } + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVC_TEST: + { + detourFunction(0x0806226c, amDongleInit); + detourFunction(0x0806257f, amDongleIsAvailable); + detourFunction(0x080624e6, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x080980c8; // Address of amDipswContext + detourFunction(0x08062014, amDipswInit); + detourFunction(0x080620a9, amDipswExit); + detourFunction(0x0806211f, amDipswGetData); + detourFunction(0x08062197, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x08049f4d, "9090909090"); //__intel_new_proc_init_P + } + break; + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: + { + detourFunction(0x082faafc, amDongleInit); + detourFunction(0x082fae0f, amDongleIsAvailable); + detourFunction(0x082fad76, amDongleUpdate); + patchMemoryFromString(0x08194db9, "9090"); + patchMemoryFromString(0x08194dc1, "01"); + // Fixes + amDipswContextAddr = (void *)0x0a6c32ec; // Address of amDipswContext + detourFunction(0x082f844c, amDipswInit); + detourFunction(0x082f84e1, amDipswExit); + detourFunction(0x082f8557, amDipswGetData); + detourFunction(0x082f85cf, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804d1d4, "9090909090"); //__intel_new_proc_init_P + + // Shader Fixes + cacheModedShaderFiles(); + if (getConfig()->cpuFreqGhz != 0.0f) + { + uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); + setVariable(0x0826829b, cpuFreq); + } + } + break; + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: + { + detourFunction(0x08363438, amDongleInit); + detourFunction(0x0836374b, amDongleIsAvailable); + detourFunction(0x083636b2, amDongleUpdate); + patchMemoryFromString(0x081f9491, "9090"); + patchMemoryFromString(0x081f9499, "01"); + // Fixes + amDipswContextAddr = (void *)0x0a6f3f0c; // Address of amDipswContext + detourFunction(0x08360d88, amDipswInit); + detourFunction(0x08360e1d, amDipswExit); + detourFunction(0x08360e93, amDipswGetData); + detourFunction(0x08360f0b, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804d6c4, "9090909090"); //__intel_new_proc_init_P + + // Shader Fixes + cacheModedShaderFiles(); + if (getConfig()->cpuFreqGhz != 0.0f) + { + uint32_t cpuFreq = (uint32_t)(getConfig()->cpuFreqGhz * 998000000.0); + setVariable(0x082d019d, cpuFreq); + } + } + break; + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB_TEST: + { + detourFunction(0x0806e914, amDongleInit); + detourFunction(0x0806ec27, amDongleIsAvailable); + detourFunction(0x0806eb8e, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x080adfe8; // Address of amDipswContext + detourFunction(0x0806e6bc, amDipswInit); + detourFunction(0x0806e751, amDipswExit); + detourFunction(0x0806e7c7, amDipswGetData); + detourFunction(0x0806e83f, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x08054820, "9090909090"); //__intel_new_proc_init_P + } + break; + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_TEST: + { + detourFunction(0x0806e9ec, amDongleInit); + detourFunction(0x0806ecff, amDongleIsAvailable); + detourFunction(0x0806ec66, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x080b2e88; // Address of amDipswContext + detourFunction(0x0806e794, amDipswInit); + detourFunction(0x0806e829, amDipswExit); + detourFunction(0x0806e89f, amDipswGetData); + detourFunction(0x0806e917, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x08054bf0, "9090909090"); //__intel_new_proc_init_P + } + break; + case THE_HOUSE_OF_THE_DEAD_EX: + { + detourFunction(0x084ba886, amDongleInit); + detourFunction(0x084b9341, amDongleIsAvailable); + detourFunction(0x084b9d37, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x0aa79c0c; + detourFunction(0x084b6970, amDipswInit); + detourFunction(0x084b69f4, amDipswExit); + detourFunction(0x084b6a69, amDipswGetData); + detourFunction(0x084b6adf, amDipswSetLed); + detourFunction(0x084ba23b, stubRetOne); // amDongleDecryptEx + patchMemoryFromString(0x081896c2, "01"); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804e4a7, "9090909090"); //__intel_new_proc_init_P + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + loadLibCg(); + cacheModedShaderFiles(); + cacheNnstdshader(); + replaceCallAtAddress(0x08370aa7, compileWithCGC); + replaceCallAtAddress(0x08370bb6, compileWithCGC); + } + } + break; + case THE_HOUSE_OF_THE_DEAD_EX_TEST: + { + detourFunction(0x08078996, amDongleInit); + detourFunction(0x08077451, amDongleIsAvailable); + detourFunction(0x08077e47, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x080c5f88; // Address of amDipswContext + detourFunction(0x080771e4, amDipswInit); + detourFunction(0x08077268, amDipswExit); + detourFunction(0x080772dd, amDipswGetData); + detourFunction(0x08077353, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x0804a042, "9090909090"); //__intel_new_proc_init_P + } + break; + case TOO_SPICY: + { + // Security + detourFunction(0x0831cf02, amDongleInit); + detourFunction(0x0831b94d, amDongleIsAvailable); + detourFunction(0x0831c3b1, amDongleUpdate); + patchMemoryFromString(0x081f7f8f, "9090"); + patchMemoryFromString(0x081f7fa7, "9090909090909090"); + patchMemoryFromString(0x081f7fb0, "01"); + patchMemoryFromString(0x081f7fb4, "909090"); + patchMemoryFromString(0x08210f27, "9090"); + patchMemoryFromString(0x08210f3c, "9090909090909090"); + patchMemoryFromString(0x08210f45, "01"); + patchMemoryFromString(0x08210f49, "909090"); + patchMemoryFromString(0x082ef5d0, "9090909090"); + // Fixes + amDipswContextAddr = (void *)0x0c8ed0cc; + detourFunction(0x08318f84, amDipswInit); + detourFunction(0x08319008, amDipswExit); + detourFunction(0x0831907d, amDipswGetData); + detourFunction(0x083190f4, amDipswSetLed); + detourFunction(0x081f7dba, stubRetOne); // CheckApplicationValid + + // CPU patch to support AMD processors + patchMemoryFromString(0x08202a51, "9090909090"); //__intel_new_proc_init_P + + // unlock characters + detourFunction(0x081cbcd2, stubRetOne); + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + loadLibCg(); + cacheModedShaderFiles(); + cacheNnstdshader(); + patchMemoryFromString(0x081ef9d8, "01"); // Force the game to recompile the shaders using cgc + replaceCallAtAddress(0x08259fe5, compileWithCGC); + replaceCallAtAddress(0x0825a089, compileWithCGC); + } + } + break; + case TOO_SPICY_TEST: + { + // Security + detourFunction(0x0806a286, amDongleInit); + detourFunction(0x08068cd1, amDongleIsAvailable); + detourFunction(0x08069735, amDongleUpdate); + patchMemoryFromString(0x08056989, "9090"); + patchMemoryFromString(0x080569a7, "01"); + patchMemoryFromString(0x080569ab, "909090"); + // Fixes + amDipswContextAddr = (void *)0x080a9988; // Address of amDipswContext + detourFunction(0x08068a64, amDipswInit); + detourFunction(0x08068ae8, amDipswExit); + detourFunction(0x08068b5d, amDipswGetData); + detourFunction(0x08068bd4, amDipswSetLed); + + // CPU patch to support AMD processors + patchMemoryFromString(0x080564c8, "9090909090"); //__intel_new_proc_init_P + } + break; + case VIRTUA_FIGHTER_5: + { + // Security + detourFunction(0x084580e8, amDongleInit); + detourFunction(0x08458362, amDongleUpdate); + detourFunction(0x08458436, amDongleIsAvailable); + detourFunction(0x08458456, amDongleIsDevelop); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x0b3fcd08; // Address of amDipswContext + detourFunction(0x08457f0c, amDipswInit); + detourFunction(0x08457fa8, amDipswExit); + detourFunction(0x0845801e, amDipswGetData); + detourFunction(0x08458096, amDipswSetLed); + detourFunction(0x08085dea, stubRetZero); // Stub returns 0 + detourFunction(0x08097624, stubRetZero); // Stub returns 0 + detourFunction(0x082f3892, stubRetZero); // Stub returns 0 + detourFunction(0x082f5dac, stubRetZero); // Stub returns 0 + patchMemoryFromString(0x080a378f, "b800000000"); + + patchMemoryFromString(0x847ED73, "2e2f72616d2f746573743100"); // Patch /home/disk2 folder + patchMemoryFromString(0x847ED89, "2e2f72616d2f746573743200"); // Patch /home/disk2 folder + patchMemoryFromString(0x847EE44, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x847EE54, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x85180C9, "2e2f00"); // Patch /home/disk2 folder + patchMemoryFromString(0x847C2B0, "2e2f00"); // Patch /home/disk1 folder + + detourFunction(0x080862d0, stubRetZero); + patchMemoryFromString(0x080a368b, "02"); + patchMemoryFromString(0x080a36de, "9090909090"); + patchMemoryFromString(0x080a35ed, "ffffffff"); + patchMemoryFromString(0x080a3620, "ffffffff"); + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08051b9c, gl_ProgramStringARB); + } + } + break; + case VIRTUA_FIGHTER_5_EXPORT: + { + // Security + detourFunction(0x084fca4c, amDongleInit); + detourFunction(0x084fcd2c, amDongleUpdate); + detourFunction(0x084fce08, amDongleIsAvailable); + detourFunction(0x084fce28, amDongleIsDevelop); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x0bd8df28; // Address of amDipswContext + detourFunction(0x084fc870, amDipswInit); + detourFunction(0x084fc90c, amDipswExit); + detourFunction(0x084fc982, amDipswGetData); + detourFunction(0x084fc9fa, amDipswSetLed); + detourFunction(0x08094d28, stubRetZero); + patchMemoryFromString(0x080a29a5, "EB"); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0805160c, gl_ProgramStringARB); + } + } + break; + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: + { + // Security + detourFunction(0x0888f4ba, amDongleInit); + detourFunction(0x0888df75, amDongleIsAvailable); + detourFunction(0x0888e96b, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x093a4848; // Address of amDipswContext + detourFunction(0x0888dd08, amDipswInit); + detourFunction(0x0888dd8c, amDipswExit); + detourFunction(0x0888de01, amDipswGetData); + detourFunction(0x0888de77, amDipswSetLed); // Stub amDipswSetLed + + patchMemoryFromString(0x080e2bad, "EB"); + patchMemoryFromString(0x081082cd, "EB"); + patchMemoryFromString(0x08122598, "05"); + detourFunction(0x08122c56, stubReturn); + patchMemoryFromString(0x88AB02A, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x88AB041, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x88AB05A, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x88AB08D, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x88AB0C1, "2e2f666f6f3100"); // Patch /home/disk2 folder + patchMemoryFromString(0x88AB0D2, "2e2f666f6f3200"); // Patch /home/disk2 folder + patchMemoryFromString(0x89C8F24, "2e2f00"); // Patch /home/disk2 folder + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052aa4, gl_ProgramStringARB); + } + if (GPUVendor != NVIDIA_GPU || GPUVendor == ATI_GPU) + { + hookVf5FSExposure(0x08148279, 0x0814844a, 0x08148b42, 0x08148d52); + } + } + break; + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: + { + // Security + detourFunction(0x088af07d, amDongleInit); + detourFunction(0x088ad909, amDongleIsAvailable); + detourFunction(0x088ae42a, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x091c6f28; // Address of amDipswContext + detourFunction(0x088ad69c, amDipswInit); + detourFunction(0x088ad720, amDipswExit); + detourFunction(0x088ad795, amDipswGetData); + detourFunction(0x088ad80b, amDipswSetLed); // Stub amDipswSetLed + + patchMemoryFromString(0x080e4c9b, "EB"); + patchMemoryFromString(0x08108444, "EB"); + patchMemoryFromString(0x081229c0, "05"); + detourFunction(0x08123240, stubReturn); + patchMemoryFromString(0x88CAC4A, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CAC61, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CAC7A, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CACAD, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CACBD, "2e2f666f6f3100"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CACCE, "2e2f666f6f3200"); // Patch /home/disk2 folder + patchMemoryFromString(0x89DE5AA, "2e2f00"); // Patch /home/disk2 folder + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052840, gl_ProgramStringARB); + } + if (GPUVendor != NVIDIA_GPU || GPUVendor == ATI_GPU) + { + hookVf5FSExposure(0x08148a47, 0x08148c18, 0x08149310, 0x08149520); + } + } + break; + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: + { + // Security + detourFunction(0x088b1866, amDongleInit); + detourFunction(0x088b0321, amDongleIsAvailable); + detourFunction(0x088b0d17, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x093ce7c8; // Address of amDipswContext + detourFunction(0x088b00b4, amDipswInit); + detourFunction(0x088b0138, amDipswExit); + detourFunction(0x088b01ad, amDipswGetData); + detourFunction(0x088b0223, amDipswSetLed); // Stub amDipswSetLed + + patchMemoryFromString(0x080e4ff5, "EB"); + patchMemoryFromString(0x081084d5, "EB"); + patchMemoryFromString(0x081229f4, "05"); + detourFunction(0x0812326e, stubReturn); + patchMemoryFromString(0x88CD42A, "2e2f72616d2f746f2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CD441, "2e2f72616d2f66726f6d2e74787400"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CD45A, "2e2f72616d2f2e746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CD48D, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CD49D, "2e2f666f6f3100"); // Patch /home/disk2 folder + patchMemoryFromString(0x88CD4AE, "2e2f666f6f3200"); // Patch /home/disk2 folder + patchMemoryFromString(0x89ED9C4, "2e2f00"); // Patch /home/disk2 folder + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052b20, gl_ProgramStringARB); + } + if (GPUVendor != NVIDIA_GPU || GPUVendor == ATI_GPU) + { + hookVf5FSExposure(0x081489f7, 0x08148bc8, 0x081492c0, 0x081494d0); + } + } + break; + case VIRTUA_FIGHTER_5_R: + { + // Security + detourFunction(0x08740e1a, amDongleInit); + detourFunction(0x0873f8d5, amDongleIsAvailable); + detourFunction(0x0873f8f2, amDongleIsDevelop); + detourFunction(0x087402cb, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x09109ac8; // Address of amDipswContext + detourFunction(0x0873f668, amDipswInit); + detourFunction(0x0873f6ec, amDipswExit); + detourFunction(0x0873f761, amDipswGetData); + detourFunction(0x0873f7d7, amDipswSetLed); + detourFunction(0x080c6f88, stubRetZero); + detourFunction(0x080e6924, stubRetZero); + detourFunction(0x084d4190, stubRetZero); + detourFunction(0x084d5604, stubRetZero); + patchMemoryFromString(0x080ff2c7, "b800000000"); + + detourFunction(0x080c6700, stubRetZero); + patchMemoryFromString(0x080fef09, "02"); + patchMemoryFromString(0x080fef53, "909090909090"); + patchMemoryFromString(0x0810030c, "ffffffff"); + patchMemoryFromString(0x08100313, "ffffffff"); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052a68, gl_ProgramStringARB); + } + } + break; + case VIRTUA_FIGHTER_5_R_REVD: + { + // Security + detourFunction(0x0880024e, amDongleInit); + detourFunction(0x087fed09, amDongleIsAvailable); + detourFunction(0x087fed26, amDongleIsDevelop); + detourFunction(0x087ff6ff, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x092870a8; // Address of amDipswContext + detourFunction(0x087fea9c, amDipswInit); + detourFunction(0x087feb20, amDipswExit); + detourFunction(0x087feb95, amDipswGetData); + detourFunction(0x087fec0b, amDipswSetLed); + detourFunction(0x080dc6ee, stubRetZero); + detourFunction(0x080feee8, stubRetZero); + detourFunction(0x0853f942, stubRetZero); + detourFunction(0x08540996, stubRetZero); + patchMemoryFromString(0x081181d8, "b800000000"); + + detourFunction(0x080dbdc4, stubRetZero); + patchMemoryFromString(0x08117e56, "02"); + patchMemoryFromString(0x08117ea0, "909090909090"); + patchMemoryFromString(0x08119204, "ffffffff"); + patchMemoryFromString(0x0811920b, "ffffffff"); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052a84, gl_ProgramStringARB); + } + } + break; + case VIRTUA_FIGHTER_5_R_REVG: + { + // Security + detourFunction(0x0885ab46, amDongleInit); + detourFunction(0x08859601, amDongleIsAvailable); + detourFunction(0x0885961e, amDongleIsDevelop); + detourFunction(0x08859ff7, amDongleUpdate); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x09351b08; // Address of amDipswContext + detourFunction(0x08859394, amDipswInit); + detourFunction(0x08859418, amDipswExit); + detourFunction(0x0885948d, amDipswGetData); + detourFunction(0x08859503, amDipswSetLed); + detourFunction(0x080dc9d6, stubRetZero); + detourFunction(0x080fe46c, stubRetZero); + detourFunction(0x0856a01c, stubRetZero); + detourFunction(0x0856aab0, stubRetZero); + patchMemoryFromString(0x08118358, "b800000000"); + + detourFunction(0x080dc0ac, stubRetZero); + patchMemoryFromString(0x08117fd6, "02"); + patchMemoryFromString(0x08118020, "909090909090"); + patchMemoryFromString(0x08119384, "ffffffff"); + patchMemoryFromString(0x0811938b, "ffffffff"); + + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052a70, gl_ProgramStringARB); + } + } + break; + case VIRTUA_FIGHTER_5_REVA: + { + // Security + detourFunction(0x084620a8, amDongleInit); + detourFunction(0x0846234d, amDongleUpdate); + detourFunction(0x08462429, amDongleIsAvailable); + detourFunction(0x08462449, amDongleIsDevelop); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x0b40b1a8; // Address of amDipswContext + detourFunction(0x08461ecc, amDipswInit); + detourFunction(0x08461f68, amDipswExit); + detourFunction(0x08461fde, amDipswGetData); + detourFunction(0x08462056, amDipswSetLed); + detourFunction(0x080884e2, stubRetZero); // Stub returns 0 + detourFunction(0x0809a1a0, stubRetZero); // Stub returns 0 + detourFunction(0x082fa9fc, stubRetZero); // Stub returns 0 + detourFunction(0x082fce2c, stubRetZero); // Stub returns 0 + patchMemoryFromString(0x080a6407, "b800000000"); + patchMemoryFromString(0x08489b3b, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x08489bf4, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x0852328a, "2e2f00"); // Patch /home/disk2 folder + patchMemoryFromString(0x084870d9, "2e2f00"); // Patch /home/disk1 folder + + detourFunction(0x080889c8, stubRetZero); + patchMemoryFromString(0x080a6303, "02"); + patchMemoryFromString(0x080a6356, "9090909090"); + patchMemoryFromString(0x080a6265, "ffffffff"); + patchMemoryFromString(0x080a6298, "ffffffff"); + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08051c4c, gl_ProgramStringARB); + } + } + break; + case VIRTUA_FIGHTER_5_REVB: + { + // Security + detourFunction(0x0850fd5c, amDongleInit); + detourFunction(0x08510001, amDongleUpdate); + detourFunction(0x085100dd, amDongleIsAvailable); + detourFunction(0x085100fd, amDongleIsDevelop); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x0bd36c68; // Address of amDipswContext + detourFunction(0x0850fb80, amDipswInit); + detourFunction(0x0850fc1c, amDipswExit); + detourFunction(0x0850fc92, amDipswGetData); + detourFunction(0x0850fd0a, amDipswSetLed); + detourFunction(0x080936d8, stubRetZero); // Stub returns 0 + detourFunction(0x080a800c, stubRetZero); // Stub returns 0 + detourFunction(0x08376746, stubRetZero); // Stub returns 0 + detourFunction(0x08378a38, stubRetZero); // Stub returns 0 + patchMemoryFromString(0x080b5733, "b800000000"); + + patchMemoryFromString(0x08533c38, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x08538741, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x085e5993, "2e2f00"); // Patch /home/disk2 folder + patchMemoryFromString(0x08535239, "2e2f00"); // Patch /home/disk1 folder + + detourFunction(0x08093be0, stubRetZero); + patchMemoryFromString(0x080B562F, "02"); + patchMemoryFromString(0x080b5682, "9090909090"); + patchMemoryFromString(0x080B5591, "ffffffff"); + patchMemoryFromString(0x080B55C4, "ffffffff"); + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052088, gl_ProgramStringARB); + } + } + break; + case VIRTUA_FIGHTER_5_REVE: // Also the public REV C version + { + // Security + detourFunction(0x085c6010, amDongleInit); + detourFunction(0x085c62f0, amDongleUpdate); + detourFunction(0x085c63cc, amDongleIsAvailable); + detourFunction(0x085c63ec, amDongleIsDevelop); + + // Fixes and patches to bypss network check + amDipswContextAddr = (void *)0x0d4d2b08; // Address of amDipswContext + detourFunction(0x085c5e34, amDipswInit); + detourFunction(0x085c5ed0, amDipswExit); + detourFunction(0x085c5f46, amDipswGetData); + detourFunction(0x085c5fbe, amDipswSetLed); // Stub amDipswSetLed + detourFunction(0x080b3426, stubRetZero); // Stub returns 0 + detourFunction(0x080cb6d4, stubRetZero); // Stub returns 0 + detourFunction(0x0840889e, stubRetZero); // Stub returns 0 + detourFunction(0x0840ab90, stubRetZero); // Stub returns 0 + patchMemoryFromString(0x080e1743, "EB"); + patchMemoryFromString(0x080e17af, "b800000000"); // Patch IDK what + + patchMemoryFromString(0x085eb718, "2e2f72616d00"); // Patch /home/disk2 folder + patchMemoryFromString(0x085f1b41, "2e2f72616d2f746d7000"); // Patch /home/disk2 folder + patchMemoryFromString(0x086a196b, "2e2f00"); // Patch /home/disk2 folder + patchMemoryFromString(0x085ee110, "2e2f00"); // Patch /home/disk1 folder + + detourFunction(0x080b3938, stubRetZero); // ok + patchMemoryFromString(0x080e1663, "02"); + patchMemoryFromString(0x080e16b6, "9090909090"); + patchMemoryFromString(0x080e15bd, "ffffffff"); + patchMemoryFromString(0x080e15f7, "ffffffff"); + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x08052fbc, gl_ProgramStringARB); + } + // + patchMemoryFromString(0x080e173c, "B810000000"); + } + break; + case VIRTUA_TENNIS_3: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x080a0240, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0831c07c, amDongleInit); + detourFunction(0x0831c38f, amDongleIsAvailable); + detourFunction(0x0831c2f6, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x08907388; + detourFunction(0x0831be24, amDipswInit); + detourFunction(0x0831beb9, amDipswExit); + detourFunction(0x0831bf2f, amDipswGetData); + detourFunction(0x0831bfa7, stubRetZero); + setVariable(0x0827a7c7, 0x34891beb); // Disable Fullscreen set from the game + + detourFunction(0x08177acc, stubRetOne); // Patch seterror + + // Mesa + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804d458, cg_GLGetLatestProfile); + detourFunction(0x0804dcd8, cg_GLIsProfileSupported); + detourFunction(0x0804d468, gl_Color4ub); + detourFunction(0x0804d628, gl_Vertex3f); + detourFunction(0x0804dc58, gl_TexCoord2f); + patchMemoryFromString(0x082744f6, "31FF90"); + cacheModedShaderFiles(); + // Had to intercept some CPP file methods. + replaceCallAtAddress(0x0819ca67, vt3Open); + replaceCallAtAddress(0x0819caa6, vt3Tellg); + replaceCallAtAddress(0x0819caf4, vt3Read); + replaceCallAtAddress(0x0819cb3a, vt3Close); + } + } + break; + case VIRTUA_TENNIS_3_TEST: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x08054c64, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0815f060, amDongleInit); + detourFunction(0x0815f373, amDongleIsAvailable); + detourFunction(0x0815f2da, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x085e4a6c; // Address of amDipswContext + detourFunction(0x0815c9b0, amDipswInit); + detourFunction(0x0815ca45, amDipswExit); + detourFunction(0x0815cabb, amDipswGetData); + detourFunction(0x0815cb33, amDipswSetLed); + patchMemoryFromString(0x0806f983, "EB"); // Avoid Full Screen set from Game + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804ce54, cg_GLIsProfileSupported); + detourFunction(0x0804c724, gl_Color4ub); + detourFunction(0x0804c8b4, gl_Vertex3f); + detourFunction(0x0804cdc4, gl_TexCoord2f); + patchMemoryFromString(0x0806a01a, "31FF90"); + cacheModedShaderFiles(); + } + } + break; + case VIRTUA_TENNIS_3_REVA: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x080a026c, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0831c120, amDongleInit); + detourFunction(0x0831c433, amDongleIsAvailable); + detourFunction(0x0831c39a, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x08908308; + detourFunction(0x0831bec8, amDipswInit); + detourFunction(0x0831bf5d, amDipswExit); + detourFunction(0x0831bfd3, amDipswGetData); + detourFunction(0x0831c04b, stubRetZero); + setVariable(0x0827a7f7, 0x34891beb); // Disable Fullscreen set from the game + detourFunction(0x08177afc, stubRetOne); // Patch seterror + + // Mesa + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804d458, cg_GLGetLatestProfile); + detourFunction(0x0804dcd8, cg_GLIsProfileSupported); + detourFunction(0x0804d468, gl_Color4ub); + detourFunction(0x0804d628, gl_Vertex3f); + detourFunction(0x0804dc58, gl_TexCoord2f); + patchMemoryFromString(0x08274526, "31FF90"); + cacheModedShaderFiles(); + // Had to intercept some CPP file methods. + replaceCallAtAddress(0x0819ca97, vt3Open); + replaceCallAtAddress(0x0819cad6, vt3Tellg); + replaceCallAtAddress(0x0819cb24, vt3Read); + replaceCallAtAddress(0x0819cb6a, vt3Close); + } + } + break; + case VIRTUA_TENNIS_3_REVA_TEST: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x08054c64, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0815f580, amDongleInit); + detourFunction(0x0815f893, amDongleIsAvailable); + detourFunction(0x0815f7fa, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x085e492c; // Address of amDipswContext + detourFunction(0x0815ced0, amDipswInit); + detourFunction(0x0815cf65, amDipswExit); + detourFunction(0x0815cfdb, amDipswGetData); + detourFunction(0x0815d053, amDipswSetLed); + patchMemoryFromString(0x0806fd8f, "EB"); // Avoid Full Screen set from Game + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804ce54, cg_GLIsProfileSupported); + detourFunction(0x0804c724, gl_Color4ub); + detourFunction(0x0804c8b4, gl_Vertex3f); + detourFunction(0x0804cdc4, gl_TexCoord2f); + patchMemoryFromString(0x0806a01a, "31FF90"); + cacheModedShaderFiles(); + } + } + break; + case VIRTUA_TENNIS_3_REVB: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x080a0336, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0831c30c, amDongleInit); + detourFunction(0x0831c61f, amDongleIsAvailable); + detourFunction(0x0831c586, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x089085a8; + detourFunction(0x0831c0b4, amDipswInit); + detourFunction(0x0831c149, amDipswExit); + detourFunction(0x0831c1bf, amDipswGetData); + detourFunction(0x0831c237, stubRetZero); + setVariable(0x0827a9e3, 0x34891beb); // Disable Fullscreen set from the game + detourFunction(0x08177bf0, stubRetOne); // Patch seterror + + // Mesa + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804d458, cg_GLGetLatestProfile); + detourFunction(0x0804dcd8, cg_GLIsProfileSupported); + detourFunction(0x0804d468, gl_Color4ub); + detourFunction(0x0804d628, gl_Vertex3f); + detourFunction(0x0804dc58, gl_TexCoord2f); + patchMemoryFromString(0x08274712, "31FF90"); + cacheModedShaderFiles(); + // Had to intercept some CPP file methods. + replaceCallAtAddress(0x0819cc83, vt3Open); + replaceCallAtAddress(0x0819ccc2, vt3Tellg); + replaceCallAtAddress(0x0819cd10, vt3Read); + replaceCallAtAddress(0x0819cd56, vt3Close); + } + } + break; + case VIRTUA_TENNIS_3_REVB_TEST: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x08054d14, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0815f224, amDongleInit); + detourFunction(0x0815f537, amDongleIsAvailable); + detourFunction(0x0815f49e, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x085e46cc; // Address of amDipswContext + detourFunction(0x0815cb74, amDipswInit); + detourFunction(0x0815cc09, amDipswExit); + detourFunction(0x0815cc7f, amDipswGetData); + detourFunction(0x0815ccf7, amDipswSetLed); + patchMemoryFromString(0x0806fa33, "EB"); // Avoid Full Screen set from Game + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804ce54, cg_GLIsProfileSupported); + detourFunction(0x0804c724, gl_Color4ub); + detourFunction(0x0804c8b4, gl_Vertex3f); + detourFunction(0x0804cdc4, gl_TexCoord2f); + patchMemoryFromString(0x0806a0ca, "31FF90"); + cacheModedShaderFiles(); + } + } + break; + case VIRTUA_TENNIS_3_REVC: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x080a0362, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0831c724, amDongleInit); + detourFunction(0x0831ca37, amDongleIsAvailable); + detourFunction(0x0831c99e, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x08902908; + detourFunction(0x0831c4cc, amDipswInit); + detourFunction(0x0831c561, amDipswExit); + detourFunction(0x0831c5d7, amDipswGetData); + detourFunction(0x0831c64f, stubRetZero); + setVariable(0x0827ae1b, 0x34891beb); // Disable Fullscreen set from the game + detourFunction(0x08177c1c, stubRetOne); // Patch seterror + + // Mesa + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804d458, cg_GLGetLatestProfile); + detourFunction(0x0804dcd8, cg_GLIsProfileSupported); + detourFunction(0x0804d468, gl_Color4ub); + detourFunction(0x0804d628, gl_Vertex3f); + detourFunction(0x0804dc58, gl_TexCoord2f); + patchMemoryFromString(0x0827473e, "31FF90"); + cacheModedShaderFiles(); + // Had to intercept some CPP file methods. + replaceCallAtAddress(0x0819ccaf, vt3Open); + replaceCallAtAddress(0x0819ccee, vt3Tellg); + replaceCallAtAddress(0x0819cd3c, vt3Read); + replaceCallAtAddress(0x0819cd82, vt3Close); + } + } + break; + case VIRTUA_TENNIS_3_REVC_TEST: + { + if (config->showDebugMessages == 1) + { + // Debug + detourFunction(0x08054d14, _putConsole); // Debug Messages + } + // Security + detourFunction(0x0815f610, amDongleInit); + detourFunction(0x0815f923, amDongleIsAvailable); + detourFunction(0x0815f88a, amDongleUpdate); + // Fixes + amDipswContextAddr = (void *)0x085e492c; // Address of amDipswContext + detourFunction(0x0815cf60, amDipswInit); + detourFunction(0x0815cff5, amDipswExit); + detourFunction(0x0815d06b, amDipswGetData); + detourFunction(0x0815d0e3, amDipswSetLed); + patchMemoryFromString(0x0806fe3f, "EB"); // Avoid Full Screen set from Game + + // Mesa Patches + if (GPUVendor != NVIDIA_GPU) + { + detourFunction(0x0804ce54, cg_GLIsProfileSupported); + detourFunction(0x0804c724, gl_Color4ub); + detourFunction(0x0804c8b4, gl_Vertex3f); + detourFunction(0x0804cdc4, gl_TexCoord2f); + patchMemoryFromString(0x0806a0ca, "31FF90"); + cacheModedShaderFiles(); + } + } + break; + default: + break; } return 0; } diff --git a/src/lindbergh/patch.h b/src/lindbergh/patch.h index c840054..db87dd0 100644 --- a/src/lindbergh/patch.h +++ b/src/lindbergh/patch.h @@ -1,14 +1,4 @@ -#include int initPatch(); -void setVariable(size_t address, size_t value); -void patchMemory(size_t address, char *value); -void detourFunction(size_t address, void *function); -void replaceCallAtAddress(size_t address, void *function); -void stubReturn(); -int stubRetOne(); -int stubRetMinusOne(); -char stubRetZeroChar(); - -int patchedPrintf(char *format,...); -int patchedPuts(char *s); \ No newline at end of file +void callLoadCard(); +void callEjectCard(); \ No newline at end of file diff --git a/src/lindbergh/patchNetwork.c b/src/lindbergh/patchNetwork.c new file mode 100644 index 0000000..7d2c98c --- /dev/null +++ b/src/lindbergh/patchNetwork.c @@ -0,0 +1,217 @@ +#include +#include +#include +#include +#include + +#include "config.h" +#include "log.h" +#include "flowControl.h" + +extern uint32_t gId; +char *rtunedIPs[4]; +char *rtunedSortedIPs[4]; +u_int8_t rtunedLinkId = 0; +uint8_t rtunedCabs = 0; + +void hummerSetIPs(size_t firstAddress) +{ + if (!getConfig()->enableNetworkPatches) + return; + + if (strcmp(getConfig()->IpCab1, "") != 0) + setVariable(firstAddress, (size_t)(void *)getConfig()->IpCab1); + if (strcmp(getConfig()->IpCab2, "") != 0) + setVariable(firstAddress + 4, (size_t)(void *)getConfig()->IpCab2); + if (strcmp(getConfig()->IpCab3, "") != 0) + setVariable(firstAddress + 8, (size_t)(void *)getConfig()->IpCab3); + if (strcmp(getConfig()->IpCab4, "") != 0) + setVariable(firstAddress + 12, (size_t)(void *)getConfig()->IpCab4); +} + +int rtunedGetCabs() +{ + return rtunedCabs; +} + +void rtunedGetLinkIdandCabs() +{ + FILE *f = fopen(getConfig()->sramPath, "rb"); + if (f == NULL) + return; + fseek(f, 0xc011, SEEK_SET); + fread(&rtunedLinkId, 1, 1, f); + fseek(f, 0xc019, SEEK_SET); + fread(&rtunedCabs, 1, 1, f); + fclose(f); +} + +void rtunedRotateIps(char *ori[], char *dst[], int total, int pos) +{ + for (int i = 0; i < total; i++) + { + dst[i] = ori[(pos + i) % total]; + } + dst[total - 1] = ori[pos - 1]; +} + +void rtunedSetIPs() +{ + if (!getConfig()->enableNetworkPatches) + return; + + for (int x = 0; x < 4; x++) + { + rtunedIPs[x] = "0.0.0.0"; + rtunedSortedIPs[x] = "0.0.0.0"; + } + + uint8_t setIps = 0; + if (strcmp(getConfig()->IpCab1, "") != 0) + { + rtunedIPs[0] = getConfig()->IpCab1; + setIps++; + } + if (strcmp(getConfig()->IpCab2, "") != 0) + { + rtunedIPs[1] = getConfig()->IpCab2; + setIps++; + } + if (strcmp(getConfig()->IpCab3, "") != 0) + { + rtunedIPs[2] = getConfig()->IpCab3; + setIps++; + } + if (strcmp(getConfig()->IpCab4, "") != 0) + { + rtunedIPs[3] = getConfig()->IpCab4; + setIps++; + } + if (setIps != rtunedCabs) + log_warn("Warning: You have %d IPs set in the config file and %d Cabinets set in the TestMenu.", setIps, rtunedCabs); + + rtunedRotateIps(rtunedIPs, rtunedSortedIPs, rtunedCabs, rtunedLinkId); +} + +int rtunedBind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) +{ + if (rtunedCabs > 1) + { + int idx1 = 0; + int idx2 = 0; + for (int i = 0; i < rtunedCabs; i++) + { + setVariable(0x0851e890 + idx1, inet_addr(rtunedSortedIPs[i])); + setVariable(0x0851d7c0 + idx2, inet_addr(rtunedIPs[i])); + idx1 += 16; + idx2 += 4; + } + uint32_t ip = inet_addr(rtunedIPs[rtunedLinkId - 1]); + uint32_t invIp = ((ip & 0xFF) << 24) | ((ip & 0xFF00) << 8) | ((ip & 0xFF0000) >> 8) | ((ip & 0xFF000000) >> 24); + uint32_t invIpBcast = ((ip & 0xFF) << 24) | ((ip & 0xFF00) << 8) | ((ip & 0xFF0000) >> 8) | 0x000000FF; + setVariable(0x0851bf90, invIp); + setVariable(0x0851bf98, invIpBcast); + } + return bind(sockfd, addr, addrlen); +} + +int inet_aton(const char *cp, struct in_addr *inp) +{ + int (*_inet_aton)(const char *cp, struct in_addr *inp) = dlsym(RTLD_NEXT, "inet_aton"); + + if (gId == HARLEY_DAVIDSON) + { + if (getConfig()->enableNetworkPatches) + { + if ((strcmp(cp, "192.168.1.1") == 0 || strcmp(cp, "192.168.1.5") == 0 || strcmp(cp, "192.168.1.9") == 0)) + { + if (strcmp(getConfig()->IpCab1, "") != 0) + return _inet_aton(getConfig()->IpCab1, inp); + else + return _inet_aton("127.0.0.1", inp); + } + if ((strcmp(cp, "192.168.1.2") == 0 || strcmp(cp, "192.168.1.7") == 0 || strcmp(cp, "192.168.1.10") == 0) && + strcmp(getConfig()->IpCab2, "") != 0) + { + return _inet_aton(getConfig()->IpCab2, inp); + } + if ((strcmp(cp, "192.168.1.3") == 0 || strcmp(cp, "192.168.1.7") == 0 || strcmp(cp, "192.168.1.11") == 0) && + strcmp(getConfig()->IpCab3, "") != 0) + { + return _inet_aton(getConfig()->IpCab4, inp); + } + if ((strcmp(cp, "192.168.1.4") == 0 || strcmp(cp, "192.168.1.8") == 0 || strcmp(cp, "192.168.1.12") == 0) && + strcmp(getConfig()->IpCab4, "") != 0) + { + return _inet_aton(getConfig()->IpCab4, inp); + } + } + else + { + return _inet_aton("127.0.0.1", inp); + } + } + return _inet_aton(cp, inp); +} + +in_addr_t inet_addr(const char *cp) +{ + in_addr_t (*_inet_addr)(const char *cp) = dlsym(RTLD_NEXT, "inet_addr"); + + if (getConfig()->enableNetworkPatches) + { + if (gId == TOO_SPICY) + { + if (strcmp("10.0.0.1", cp) == 0 && strcmp(getConfig()->tooSpicyIpCab1, "") != 0) + { + cp = getConfig()->tooSpicyIpCab1; + } + else if (strcmp("10.0.0.2", cp) == 0 && strcmp(getConfig()->tooSpicyIpCab2, "") != 0) + { + cp = getConfig()->tooSpicyIpCab2; + } + } + else if (gId == SEGA_RACE_TV) + { + // Standalone = 4, Main = 0, 2-Sub = 1, 3-Sub = 2 and 4-Sub = 3 + if (strcmp("192.168.49.1", cp) == 0 || strcmp("192.168.49.2", cp) == 0 || strcmp("192.168.49.3", cp) == 0 || + strcmp("192.168.49.4", cp) == 0) + { + if (strcmp(getConfig()->srtvIP, "") != 0) + cp = getConfig()->srtvIP; + else + // Prevents the game to crash if the IP does not match the PC's IP. + cp = "127.0.0.1"; + } + } + } + return _inet_addr(cp); +} + +char *strstr(const char *haystack, const char *needle) +{ + char *(*_strstr)(const char *__haystack, const char *__needle) = dlsym(RTLD_NEXT, "strstr"); + + if (strcmp(needle, "eth0") == 0 && getConfig()->enableNetworkPatches && strcmp(getConfig()->nicName, "") != 0) + { + return _strstr(haystack, getConfig()->nicName); + } + return _strstr(haystack, needle); +} + +int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop) +{ + int (*_gethostbyname_r)(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop) = + dlsym(RTLD_NEXT, "gethostbyname_r"); + + void *addr = __builtin_return_address(0); + if (gId == QUIZ_AXA && addr == (void *)0x0832609d) + { + ret = 0; + buf[0] = '\0'; + result = 0; + h_errnop = 0; + return -1; + } + return _gethostbyname_r(name, ret, buf, buflen, result, h_errnop); +} diff --git a/src/lindbergh/patchNetwork.h b/src/lindbergh/patchNetwork.h new file mode 100644 index 0000000..cae3256 --- /dev/null +++ b/src/lindbergh/patchNetwork.h @@ -0,0 +1,10 @@ +#pragma once + +#include +#include + +void hummerSetIPs(size_t firstAddress); +int rtunedGetCabs(); +void rtunedGetLinkIdandCabs(); +void rtunedSetIPs(); +int rtunedBind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); \ No newline at end of file diff --git a/src/lindbergh/pcidata.h b/src/lindbergh/pciData.h similarity index 100% rename from src/lindbergh/pcidata.h rename to src/lindbergh/pciData.h diff --git a/src/lindbergh/resolution.c b/src/lindbergh/resolution.c index 727f67f..ca554a9 100644 --- a/src/lindbergh/resolution.c +++ b/src/lindbergh/resolution.c @@ -1,24 +1,23 @@ -#include "config.h" #include -#include -#include -#include -#include -#include #include +#include +#include +#include +#include #include -#include -#include -#include -#include #include -#include "patch.h" +#include "config.h" +#include "customCursor.h" +#include "flowControl.h" #include "resolution.h" extern uint32_t gId; -extern SDL_Window *SDLwindow; -int gWidth, gHeight; +extern int gGrp; +extern int gWidth; +extern int gHeight; +extern SDL_Window *sdlWindow; +extern bool phShowCursorInGame; int srtvX = 0; int srtvW, srtvH; @@ -64,6 +63,9 @@ float id4NewCaptionY; float idShiftX = 0.0; float isShiftY = 0.0; +static void (*idDisplayTextureOri)(void *, void *, int, int, int); +static void (*idDrawBallonOri)(void *, void *, float, float, float, float, float, bool) = NULL; + float newHeightLGJ, newWidth2LGJ, newWidthHLGJ, newWidthSLGJ; bool myEnableScaling = false; @@ -100,53 +102,59 @@ void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdou switch (gId) { - case THE_HOUSE_OF_THE_DEAD_4_REVA: - case THE_HOUSE_OF_THE_DEAD_4_REVB: - case THE_HOUSE_OF_THE_DEAD_4_REVC: - { - if ((gWidth != 1280 && gHeight != 768) || (gWidth != 640 && gHeight != 480)) + case THE_HOUSE_OF_THE_DEAD_4_REVA: + case THE_HOUSE_OF_THE_DEAD_4_REVB: + case THE_HOUSE_OF_THE_DEAD_4_REVC: { - right = 1280.0; - bottom = 720.0; - } - } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - { - if (gWidth != 1024 && gHeight != 768) - { - if (right == 1024.0 && bottom == 768.0) + if ((gWidth != 1280 && gHeight != 768) || (gWidth != 640 && gHeight != 480)) { - right = 800.0; - bottom = 600.0; + if (returnAddress >= (void *)0x08048000 && returnAddress <= (void *)0x0899B288) + { + right = 1280.0; + bottom = 720.0; + } } } - } - break; - case SEGA_RACE_TV: - { - if (gWidth != 640 && gHeight != 480) - { - if ((right == 640.0 && bottom == 480.0) && (gWidth != 640 && gHeight != 480)) - { - right = 600000.0; - bottom = 600000.0; - } - } - } - break; - case THE_HOUSE_OF_THE_DEAD_EX: - { - if (gWidth != 1360 && gHeight != 768) - { - right = 600.0; - bottom = 480.0; - } - } - break; - default: break; + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: + { + if (gWidth != 1024 && gHeight != 768) + { + if (right == 1024.0 && bottom == 768.0) + { + if (returnAddress >= (void *)0x08048000 && returnAddress <= (void *)0x0899B288) + { + right = 800.0; + bottom = 600.0; + } + } + } + } + break; + case SEGA_RACE_TV: + { + if (gWidth != 640 && gHeight != 480) + { + if ((right == 640.0 && bottom == 480.0) && (gWidth != 640 && gHeight != 480)) + { + right = 600000.0; + bottom = 600000.0; + } + } + } + break; + case THE_HOUSE_OF_THE_DEAD_EX: + { + if (gWidth != 1360 && gHeight != 768) + { + right = 600.0; + bottom = 480.0; + } + } + break; + default: + break; } return _glOrtho(left, right, bottom, top, zNear, zFar); @@ -160,30 +168,19 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { int (*_glViewport)(GLint x, GLint y, GLsizei width, GLsizei height) = dlsym(RTLD_NEXT, "glViewport"); - void *returnAddress = __builtin_return_address(0); + void *addr = __builtin_return_address(0); - switch (gId) + if (gId == HUMMER || gId == HUMMER_SDLX) { - case HUMMER: - case HUMMER_SDLX: - { - if (gWidth != 1280 && gHeight != 768) + if (width == 1280 && height == 768) { - if (width == 1280 && height == 768) - { - width = gWidth; - height = gHeight; - } + width = gWidth; + height = gHeight; } } - break; - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_TEST: - case OUTRUN_2_SP_SDX_REVA: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: + else if (gGrp == GROUP_OUTRUN) { - if (gWidth != 800 && gHeight != 480) + if (gWidth != 800 || gHeight != 480) { if ((width >= 800) && (width != 1024)) { @@ -192,13 +189,11 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) } } } - break; - - case SEGA_RACE_TV: + else if (gId == SEGA_RACE_TV) { if (gWidth != 640 && gHeight != 480) { - if (width == 640 && height == 480 && returnAddress == (void *)0x08123932) + if (width == 640 && height == 480 && addr == (void *)0x08123932) { x = srtvX; width = srtvW; @@ -211,13 +206,7 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) } } } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVA_TEST: - case THE_HOUSE_OF_THE_DEAD_4_REVB_TEST: - case THE_HOUSE_OF_THE_DEAD_4_REVC_TEST: - case THE_HOUSE_OF_THE_DEAD_EX_TEST: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB_TEST: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_TEST: + else if (gGrp == GROUP_HOD4_TEST || gGrp == GROUP_HOD4_SP_TEST || gId == THE_HOUSE_OF_THE_DEAD_EX_TEST) { if (width == 640 && height == 480) { @@ -225,9 +214,7 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) height = gHeight; } } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: + else if (gGrp == GROUP_HOD4_SP) { if (gWidth != 1024 && gHeight != 768) { @@ -240,13 +227,9 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) } } } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: - case VIRTUA_FIGHTER_5_R: - case VIRTUA_FIGHTER_5_R_REVD: - case VIRTUA_FIGHTER_5_R_REVG: + else if (gId == VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA || gId == VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB || + gId == VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000 || gId == VIRTUA_FIGHTER_5_R || gId == VIRTUA_FIGHTER_5_R_REVD || + gId == VIRTUA_FIGHTER_5_R_REVG) { if ((gWidth != 640 && gHeight != 480) || (gWidth != 1280 && gHeight != 768)) { @@ -256,33 +239,42 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) } } } - break; - case PRIMEVAL_HUNT: + else if (gId == PRIMEVAL_HUNT) { if (isTestMode() && gWidth != 1280 && gHeight != 480) { if (getConfig()->keepAspectRatio) { - width = gWidth / 2; - height = ((gWidth / 2) / 4) * 3; - y = (gHeight - height) / 2; + if (getConfig()->phTestScreenSingle) + { + width = gHeight * 4 / 3; + height = gHeight; + x = (gWidth - width) / 2; + } + else + { + width = gWidth / 2; + height = ((gWidth / 2) / 4) * 3; + y = (gHeight - height) / 2; + } } else { - width = gWidth / 2; + if (getConfig()->phTestScreenSingle) + width = gWidth; + else + width = gWidth / 2; height = gHeight; } if (x == 640) { - x = width = gWidth / 2; + if (getConfig()->phTestScreenSingle) + x = width = gWidth; + else + x = width = gWidth / 2; } } } - break; - default: - break; - } - _glViewport(x, y, width, height); } @@ -292,12 +284,9 @@ void glTexImage2D(unsigned int target, int level, int internalformat, int width, void (*_glTexImage2D)(unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format, unsigned int type, const void *pixels) = dlsym(RTLD_NEXT, "glTexImage2D"); - if (gWidth != 800 && gHeight != 480) + if (gWidth != 800 || gHeight != 480) { - switch (gId) - { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: + if (gGrp == GROUP_OUTRUN) { void *addr = __builtin_return_address(0); if ((width >= 800) && (width != 1024) && (addr != (void *)0x80d78d5) && (addr != (void *)0x080d7941)) @@ -306,10 +295,6 @@ void glTexImage2D(unsigned int target, int level, int internalformat, int width, height = gHeight; } } - break; - default: - break; - } } _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } @@ -319,20 +304,13 @@ void glTexParameteri(unsigned int target, unsigned int pname, int param) void (*_glTexParameteri)(unsigned int, unsigned int, int) = dlsym(RTLD_NEXT, "glTexParameteri"); - switch (gId) - { - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: + if (gGrp == GROUP_OUTRUN) { if (param == GL_NEAREST) { param = GL_LINEAR; } } - break; - default: - break; - } _glTexParameteri(target, pname, param); } @@ -344,7 +322,7 @@ int isTestMode() return false; } - char buffer[4096]; + char buffer[1024]; ssize_t n = read(fd, buffer, sizeof(buffer) - 1); if (n <= 0) { @@ -369,6 +347,7 @@ void myGlBindTexture(GLenum target, GLuint texture) { curTarget = target; curTextureID = texture; + curTextureID--; void (*_glBindTexture)(GLenum, GLuint) = dlsym(RTLD_NEXT, "glBindTexture"); _glBindTexture(target, texture); @@ -383,7 +362,7 @@ void scaleABCVertex() } } -void scaleNumbers() +void abcScaleNumbers() { lockedCountABC++; float newFontWidth = 8 * ((gHeight / 480.0) * 0.8); @@ -391,35 +370,35 @@ void scaleNumbers() float newY = 8.0 * (gHeight / 480.0); switch (lockedCountABC) { - case 1: - { - float shiftLeft = ((newFontWidth * 2.5)) - 20.0; - vABC[0].x -= shiftLeft; - } - break; - case 2: - { - float shiftLeft = ((newFontWidth * 1.5)) - 12.0; - vABC[0].x -= shiftLeft; - } - break; - case 3: - { - vABC[0].x -= (newFontWidth / 2.0) - 4.0; - } - break; - case 4: - { - float shitfRight = (newFontWidth / 2.0) - 4.0; - vABC[0].x += shitfRight; - } - break; - case 5: - { - float shitfRight = (newFontWidth * 1.5) - 12.0; - vABC[0].x += shitfRight; - lockedCountABC = 0; - } + case 1: + { + float shiftLeft = ((newFontWidth * 2.5)) - 20.0; + vABC[0].x -= shiftLeft; + } + break; + case 2: + { + float shiftLeft = ((newFontWidth * 1.5)) - 12.0; + vABC[0].x -= shiftLeft; + } + break; + case 3: + { + vABC[0].x -= (newFontWidth / 2.0) - 4.0; + } + break; + case 4: + { + float shitfRight = (newFontWidth / 2.0) - 4.0; + vABC[0].x += shitfRight; + } + break; + case 5: + { + float shitfRight = (newFontWidth * 1.5) - 12.0; + vABC[0].x += shitfRight; + lockedCountABC = 0; + } } vABC[0].y += newY; vABC[1].x = vABC[0].x + newFontWidth; @@ -430,77 +409,77 @@ void scaleNumbers() vABC[3].y = vABC[2].y; } -void scaleByAngle(float percentage, float shift) +void abcScaleByAngle(float percentage, float shift) { percentage = (percentage == 0.0 ? 1 : percentage / 100.0); float sizeX, sizeY, newHalfSizeX, newHalfSizeY; float idx = (gHeight / 480.0) * percentage; switch ((int)angleABC) { - case 0: - { - sizeX = vABC[0].x - vABC[3].x; - sizeY = vABC[1].y - vABC[0].y; - newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; - newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; - vABC[0].x += newHalfSizeX; - vABC[0].y -= newHalfSizeY + shift; - vABC[1].x += newHalfSizeX; - vABC[1].y += newHalfSizeY - shift; - vABC[2].x -= newHalfSizeX; - vABC[2].y += newHalfSizeY - shift; - vABC[3].x -= newHalfSizeX; - vABC[3].y -= newHalfSizeY + shift; - } - break; - case 90: - { - sizeX = vABC[1].x - vABC[0].x; - sizeY = vABC[2].y - vABC[1].y; - newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; - newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; - vABC[0].x -= newHalfSizeX + shift; - vABC[0].y -= newHalfSizeY; - vABC[1].x += newHalfSizeX - shift; - vABC[1].y -= newHalfSizeY; - vABC[2].x += newHalfSizeX - shift; - vABC[2].y += newHalfSizeY; - vABC[3].x -= newHalfSizeX + shift; - vABC[3].y += newHalfSizeY; - } - break; - case -90: - { - sizeX = vABC[3].x - vABC[2].x; - sizeY = vABC[0].y - vABC[3].y; - newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; - newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; - vABC[0].x += newHalfSizeX + shift; - vABC[0].y += newHalfSizeY; - vABC[1].x -= newHalfSizeX - shift; - vABC[1].y += newHalfSizeY; - vABC[2].x -= newHalfSizeX - shift; - vABC[2].y -= newHalfSizeY; - vABC[3].x += newHalfSizeX + shift; - vABC[3].y -= newHalfSizeY; - } - break; - case 180: - case -180: - { - sizeX = vABC[2].x - vABC[1].x; - sizeY = vABC[3].y - vABC[2].y; - newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; - newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; - vABC[0].x -= newHalfSizeX; - vABC[0].y += newHalfSizeY + shift; - vABC[1].x -= newHalfSizeX; - vABC[1].y -= newHalfSizeY - shift; - vABC[2].x += newHalfSizeX; - vABC[2].y -= newHalfSizeY - shift; - vABC[3].x += newHalfSizeX; - vABC[3].y += newHalfSizeY + shift; - } + case 0: + { + sizeX = vABC[0].x - vABC[3].x; + sizeY = vABC[1].y - vABC[0].y; + newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; + newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; + vABC[0].x += newHalfSizeX; + vABC[0].y -= newHalfSizeY + shift; + vABC[1].x += newHalfSizeX; + vABC[1].y += newHalfSizeY - shift; + vABC[2].x -= newHalfSizeX; + vABC[2].y += newHalfSizeY - shift; + vABC[3].x -= newHalfSizeX; + vABC[3].y -= newHalfSizeY + shift; + } + break; + case 90: + { + sizeX = vABC[1].x - vABC[0].x; + sizeY = vABC[2].y - vABC[1].y; + newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; + newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; + vABC[0].x -= newHalfSizeX + shift; + vABC[0].y -= newHalfSizeY; + vABC[1].x += newHalfSizeX - shift; + vABC[1].y -= newHalfSizeY; + vABC[2].x += newHalfSizeX - shift; + vABC[2].y += newHalfSizeY; + vABC[3].x -= newHalfSizeX + shift; + vABC[3].y += newHalfSizeY; + } + break; + case -90: + { + sizeX = vABC[3].x - vABC[2].x; + sizeY = vABC[0].y - vABC[3].y; + newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; + newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; + vABC[0].x += newHalfSizeX + shift; + vABC[0].y += newHalfSizeY; + vABC[1].x -= newHalfSizeX - shift; + vABC[1].y += newHalfSizeY; + vABC[2].x -= newHalfSizeX - shift; + vABC[2].y -= newHalfSizeY; + vABC[3].x += newHalfSizeX + shift; + vABC[3].y -= newHalfSizeY; + } + break; + case 180: + case -180: + { + sizeX = vABC[2].x - vABC[1].x; + sizeY = vABC[3].y - vABC[2].y; + newHalfSizeX = ((sizeX * idx) - sizeX) / 2.0; + newHalfSizeY = ((sizeY * idx) - sizeY) / 2.0; + vABC[0].x -= newHalfSizeX; + vABC[0].y += newHalfSizeY + shift; + vABC[1].x -= newHalfSizeX; + vABC[1].y -= newHalfSizeY - shift; + vABC[2].x += newHalfSizeX; + vABC[2].y -= newHalfSizeY - shift; + vABC[3].x += newHalfSizeX; + vABC[3].y += newHalfSizeY + shift; + } } } @@ -511,47 +490,47 @@ void shiftTarget(float percentage) float idx = (gHeight / 480.0) * percentage; switch ((int)angleABC) { - case 0: - { - size = vABC[0].x - vABC[3].x; - newHalfSize = ((size * idx) - size); - vABC[0].x += newHalfSize; - vABC[1].x += newHalfSize; - vABC[2].x += newHalfSize; - vABC[3].x += newHalfSize; - } - break; - case 90: - { - size = vABC[2].y - vABC[1].y; - newHalfSize = ((size * idx) - size); - vABC[0].y -= newHalfSize; - vABC[1].y -= newHalfSize; - vABC[2].y -= newHalfSize; - vABC[3].y -= newHalfSize; - } - break; - case -90: - { - size = vABC[0].y - vABC[3].y; - newHalfSize = ((size * idx) - size); - vABC[0].y += newHalfSize; - vABC[1].y += newHalfSize; - vABC[2].y += newHalfSize; - vABC[3].y += newHalfSize; - } - break; - case 180: - case -180: - { - size = vABC[2].x - vABC[1].x; - newHalfSize = ((size * idx) - size); - vABC[0].x -= newHalfSize; - vABC[1].x -= newHalfSize; - vABC[2].x -= newHalfSize; - vABC[3].x -= newHalfSize; - } - break; + case 0: + { + size = vABC[0].x - vABC[3].x; + newHalfSize = ((size * idx) - size); + vABC[0].x += newHalfSize; + vABC[1].x += newHalfSize; + vABC[2].x += newHalfSize; + vABC[3].x += newHalfSize; + } + break; + case 90: + { + size = vABC[2].y - vABC[1].y; + newHalfSize = ((size * idx) - size); + vABC[0].y -= newHalfSize; + vABC[1].y -= newHalfSize; + vABC[2].y -= newHalfSize; + vABC[3].y -= newHalfSize; + } + break; + case -90: + { + size = vABC[0].y - vABC[3].y; + newHalfSize = ((size * idx) - size); + vABC[0].y += newHalfSize; + vABC[1].y += newHalfSize; + vABC[2].y += newHalfSize; + vABC[3].y += newHalfSize; + } + break; + case 180: + case -180: + { + size = vABC[2].x - vABC[1].x; + newHalfSize = ((size * idx) - size); + vABC[0].x -= newHalfSize; + vABC[1].x -= newHalfSize; + vABC[2].x -= newHalfSize; + vABC[3].x -= newHalfSize; + } + break; } } @@ -611,7 +590,7 @@ void glVertex3fABC1(GLfloat x, GLfloat y, GLfloat z) // 0x20250 Light blue circle in enemies when locked else if (textureIDABC == 0x20250) { - scaleByAngle(60, 0); + abcScaleByAngle(60, 0); shiftTarget(60); scale = false; } @@ -623,13 +602,13 @@ void glVertex3fABC1(GLfloat x, GLfloat y, GLfloat z) // 0x200fd Light Blue cross that scales when you shoot. else if (textureIDABC == 0x200fd) { - scaleByAngle(60, 0); + abcScaleByAngle(60, 0); scale = false; } // 0x200fe Red cross in enemy planes when you shoot 12x12 else if (textureIDABC == 0x200fe) { - scaleByAngle(60, 0); + abcScaleByAngle(60, 0); scale = false; } // 0x20342, 0x20343 Star @@ -717,7 +696,7 @@ void glVertex3fABC1(GLfloat x, GLfloat y, GLfloat z) textureIDABC == 0x2006c || textureIDABC == 0x2006d || textureIDABC == 0x2006e) { - scaleNumbers(); + abcScaleNumbers(); scale = false; } // Climax effect, 0x200cf Part of the Climax effect (glow around the aim?) @@ -743,56 +722,56 @@ void glVertex3fABC1(GLfloat x, GLfloat y, GLfloat z) // Crosshair else if (textureIDABC == 0x2014d) { - scaleByAngle(80, 0); + abcScaleByAngle(80, 0); scale = false; } // Green arrows in the crosshair else if (textureIDABC == 0x2014c) { float shift = (20.0 * (gHeight / 480.0) - 20.0) / 2.0; - scaleByAngle(80, shift - 5.0); + abcScaleByAngle(80, shift - 5.0); switch ((int)angleABC) { - case 0: - { - // Top - vABC[0].x -= 2; - vABC[1].x -= 2; - vABC[2].x -= 2; - vABC[3].x -= 2; - } - break; - case 90: - { - // Left - vABC[0].x += 3; - vABC[1].x += 3; - vABC[2].x += 3; - vABC[3].x += 3; - } - break; - case -90: - { - // Right - vABC[0].x -= 4; - vABC[0].y -= 1; - vABC[1].x -= 4; - vABC[1].y -= 1; - vABC[2].x -= 4; - vABC[2].y -= 1; - vABC[3].x -= 4; - vABC[3].y -= 1; - } - break; - case 180: - case -180: - { - // Bottom - vABC[0].y -= 2; - vABC[1].y -= 2; - vABC[2].y -= 2; - vABC[3].y -= 2; - } + case 0: + { + // Top + vABC[0].x -= 2; + vABC[1].x -= 2; + vABC[2].x -= 2; + vABC[3].x -= 2; + } + break; + case 90: + { + // Left + vABC[0].x += 3; + vABC[1].x += 3; + vABC[2].x += 3; + vABC[3].x += 3; + } + break; + case -90: + { + // Right + vABC[0].x -= 4; + vABC[0].y -= 1; + vABC[1].x -= 4; + vABC[1].y -= 1; + vABC[2].x -= 4; + vABC[2].y -= 1; + vABC[3].x -= 4; + vABC[3].y -= 1; + } + break; + case 180: + case -180: + { + // Bottom + vABC[0].y -= 2; + vABC[1].y -= 2; + vABC[2].y -= 2; + vABC[3].y -= 2; + } } scale = false; } @@ -957,21 +936,6 @@ void vf5WidthFix(void *param1) (((void (*)(void *))0x080d4c24)(param1)); } -__attribute__((naked)) void idDisplayTextureFixCAVE(void *p1, void *p2, int p3, int p4, int p5) -{ - __asm__ volatile("push %%esi\n\tpush %%ebx\n\tsub $0x14, %%esp\n\tjmp *%0\n\t" ::"m"(idDisplayTextureCAVEAddress)); -} - -__attribute__((naked)) void idDrawBallonFixCAVE(void *p1, void *p2, float p3, float p4, float p5, float p6, float p7, bool p8) -{ - __asm__ volatile("push %%edi\n\tpush %%esi\n\tpush %%ebx\n\tsub $0x50, %%esp\n\tjmp *%0\n\t" ::"m"(idDrawBallonCAVEAddress)); -} - -__attribute__((naked)) void yTxtPatch() -{ - asm volatile("subss %0, %%xmm0\njmp *%1\n" ::"m"(id4NewCaptionY), "m"(id4NewCaptionYCAVEAddress)); -} - __attribute__((naked)) void abcDrawSpriteFixCAVE(void *p1) { __asm__ volatile("push %%ebp\n\tmov $0x3, %%ecx\n\tjmp *%0\n\t" ::"m"(abcDrawSpriteCAVEAddress)); @@ -996,10 +960,10 @@ void idDisplayTexture(void *p1, void *p2, int p3, int p4, int p5) float newY = (float)gHeight * (p5 / 768.0); - idDisplayTextureFixCAVE(p1, p2, p3, (int)newX, (int)newY); + idDisplayTextureOri(p1, p2, p3, (int)newX, (int)newY); } -void calculateShift(int W, int H, float *ShiftX, float *ShiftY, bool right) +void idCalculateShiftForBallon(int W, int H, float *ShiftX, float *ShiftY, bool right) { int baseWidth1 = 1360, baseHeight1 = 768; int baseWidth2 = 2560, baseHeight2 = 1440; @@ -1015,8 +979,8 @@ void calculateShift(int W, int H, float *ShiftX, float *ShiftY, bool right) void idDrawBallon(void *p1, void *p2, float p3, float p4, float p5, float p6, float p7, bool p8) { - calculateShift(gWidth, gHeight, &idShiftX, &isShiftY, p8); - idDrawBallonFixCAVE(p1, p2, p3 + idShiftX, p4 + isShiftY, p5, p6, p7, p8); + idCalculateShiftForBallon(gWidth, gHeight, &idShiftX, &isShiftY, p8); + idDrawBallonOri(p1, p2, p3 + idShiftX, p4 + isShiftY, p5, p6, p7, p8); } void idBalloonPut(void *p1, float p2, float p3, ushort p4) @@ -1029,11 +993,6 @@ void id4DrawText(void *p1, void *p2, float p3, float p4) (((void (*)(void *p1, void *p2, float p3, float p4))id4DrawTextAddress)(p1, p2, idShiftX + p3, isShiftY + p4)); } -void idTestText(long p1, long p2, unsigned int p3, char *p4) -{ - (((void (*)(long p1, long p2, unsigned int p3, char *p4))idTestTextAddress)(p1 - idTextShift, p2, p3, p4)); -} - void patchABCMarkers(uint32_t addrCtrlEnemyInfo, uint32_t addrCtrlPlayerRivalFont, uint32_t addrCtrlEnemyPursuit2d) { // ctrl_enemy_information @@ -1139,33 +1098,6 @@ void hookABCGLFunctions(uint32_t glBindTextureAddr, uint32_t glVertex3fAddr1, ui replaceCallAtAddress(glVertex3fAddr2 + 0x7b, glVertex3fABC2); } -GLenum curTargetGE = 0; -GLuint curTextureIDGE = 0; -bool enableScaling = false; - -void glBindTextureGE(GLenum target, GLuint texture) -{ - curTargetGE = target; - curTextureIDGE = texture; - - void *addr = __builtin_return_address(0); - - if (getConfig()->crc32 == TOO_SPICY) - { - if (texture == 902 || texture == 1642) - { // 55 title - enableScaling = true; // Enable scaling - } - else if (texture == 903 || texture == 1686) - { - enableScaling = false; // Disable scaling - } - } - - void (*_glBindTexture)(GLenum, GLuint) = dlsym(RTLD_NEXT, "glBindTexture"); - _glBindTexture(target, texture); -} - void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) { int (*_glVertex3f)(GLfloat x, GLfloat y, GLfloat z) = dlsym(RTLD_NEXT, "glVertex3f"); @@ -1177,6 +1109,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) float TestX = ((((gWidth - 1280.0) / 2.0) * 1.1116317809) / 1280.0) * (1.5 / scaleX); float TestY = ((((gHeight - 768.0) / 2.0) * 0.666979044) / 768.0) * (1.5 / scaleX); + float OffsetX = TestX; // test float OffsetY = TestY; @@ -1185,9 +1118,16 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) float AdjOffsetX = OffsetX * scaleZ; float AdjOffsetY = OffsetY * scaleZ; - if (z == -1.510000f) - { // logo 2d elemtents target - if (curTextureID != 260) // target boss fight + if (z == -1.000000f) + { // 3d + } + else if (z == -1.000010f) + { // subtitles + } + else if (z == -1.510000f) + { // logo 2d elemtents target + + if (curTextureID != 262) // target boss fight // Added 2 because of the crosshairs. { x += OffsetX; y -= OffsetY; @@ -1195,6 +1135,15 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) x *= scaleX; y *= scaleY; } + else + { + } + } + else if (z == -2.000000f) + { // videos - cutscenes + } + else if (z == -3.000000f) + { // ?? } else if (z == -1.210000f) { // coins start select side @@ -1206,6 +1155,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) } else if (z == -1.310000f) { // main bd + x += AdjOffsetX; y -= AdjOffsetY; @@ -1214,6 +1164,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) } else if (z == -1.509800f) { // frame 2d elements + x += AdjOffsetX; y -= AdjOffsetY; @@ -1223,6 +1174,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) else if (z == -1.4099999666f) { // continue + x += AdjOffsetX; y -= AdjOffsetY; @@ -1231,6 +1183,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) } else if (z == -1.6099998951f) { // score + x += AdjOffsetX; y -= AdjOffsetY; @@ -1239,6 +1192,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) } else if (z == -1.7100000381f) { // side select + x += AdjOffsetX; y -= AdjOffsetY; @@ -1247,6 +1201,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) } else if (z == -1.5091999769f || z == -1.5094000101f || z == -1.5095999241f) { // bar boss fight + x += AdjOffsetX; y -= AdjOffsetY; @@ -1261,6 +1216,16 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) x *= scaleX; y *= scaleY; } + else + { + + if (curTextureID != 26) + { // gun effect + if (z > -1.8f && z < -1.0f) + { + } + } + } _glVertex3f(x, y, z); } @@ -1268,7 +1233,7 @@ void glVertex3fHOD4(GLfloat x, GLfloat y, GLfloat z) void tooSpicySC(uint32_t param_1, uint32_t param_2) { myEnableScaling = true; - SDL_WarpMouseInWindow(SDLwindow, 1280 / 2, 768 / 2); + SDL_WarpMouseInWindow(sdlWindow, 1280 / 2, 768 / 2); ((void (*)(uint32_t, uint32_t))0x082fa77c)(param_1, param_2); } @@ -1312,14 +1277,14 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) float AdjOffsetX = OffsetX * scaleZ; float AdjOffsetY = OffsetY * scaleZ; - if (z == -1.000000f || z == -3.000000f) - { - // We skip 3d and videos - ; + if (z == -1.000000f) + { // 3d + } + else if (z == -3.000000f) + { // videos } else if (z == -1.010000f) - { - // bd main + { // bd main x += AdjOffsetX; y -= AdjOffsetY; @@ -1327,8 +1292,7 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z == -1.510000f) - { - // logo - coin/start - 2D + { // logo - coin/start - 2D if (curTextureID == 497) // right { x -= OffsetX; @@ -1338,7 +1302,6 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) } else if (curTextureID == 498) { // deadend - ; } else { @@ -1350,8 +1313,7 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) } } else if (z == -1.460000f) - { - // 2D title + { // 2D title x += AdjOffsetX; y -= AdjOffsetY; @@ -1359,8 +1321,7 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z == -1.490000f) - { - // 2D title + { // 2D title x += AdjOffsetX; y -= AdjOffsetY; @@ -1368,8 +1329,7 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z == -1.500000f) - { - // 2D title + { // 2D title x += AdjOffsetX; y -= AdjOffsetY; @@ -1377,8 +1337,7 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z == -1.310000f) - { - // 2D + { // 2D x += AdjOffsetX; y -= AdjOffsetY; @@ -1386,8 +1345,7 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z == -1.210000f) - { - // 2D + { // 2D x += AdjOffsetX; y -= AdjOffsetY; @@ -1395,8 +1353,7 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z == -1.5109999180f) - { - // 2D + { // 2D x += AdjOffsetX; y -= AdjOffsetY; @@ -1404,11 +1361,11 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z == -1.200000f) - { - // target - select + { // target - select + if (curTextureID == 454 || curTextureID == 461 || curTextureID == 456) - { - // 457 X - 454 461 456 O + { // 457 X - 454 461 456 O + if (myEnableScaling) { x += AdjOffsetX; @@ -1418,10 +1375,12 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } } + else + { + } } else if (z == -1.710000f) - { - // 2D + { // 2D x += AdjOffsetX; y -= AdjOffsetY; @@ -1429,14 +1388,16 @@ void glVertex3f2SP(GLfloat x, GLfloat y, GLfloat z) y *= scaleY; } else if (z > -1.85f) - { - // 2d + { // 2d x += AdjOffsetX; y -= AdjOffsetY; x *= scaleX; y *= scaleY; } + else + { + } _glVertex3f(x, y, z); } @@ -1453,7 +1414,6 @@ void glVertex3fHarley(GLfloat x, GLfloat y, GLfloat z) if (curTextureID == 71) { - x += OffsetX; y -= OffsetY; x *= scaleX; @@ -1462,1676 +1422,1736 @@ void glVertex3fHarley(GLfloat x, GLfloat y, GLfloat z) void *addr = __builtin_return_address(0); if (z == -5300.7529296875) { // 1080p - printf("glVertex3f hooked: x=%f, y=%f, z=%f, addr: %p\n", x, y, z, addr); x -= 350; y += 150; } - - _glVertex3f(x, y, z); -} - -void glVertex3fHodEx(GLfloat x, GLfloat y, GLfloat z) -{ - int (*_glVertex3f)(GLfloat x, GLfloat y, GLfloat z) = dlsym(RTLD_NEXT, "glVertex3f"); - - float scaleX = 600.0 / gWidth; - float scaleY = 240.0 / gHeight; - - if (z == -1.210000f && (y == 0.0035231018f || y == -0.0152667547f || y == -0.0209428426f || // coin/start - y == -0.0397327021f || y == -0.0454087853f || y == -0.0641986430f || y == -0.0790739134f || - y == -0.0931663215f || y == -0.0692875385f || y == -0.0833799466f || - - y == 0.0456045270f || y == 0.0268146675f || y == 0.0211385805f || y == 0.0023487248f || y == -0.0033273622f || - y == -0.0221172161f || y == -0.0787803382f || y == -0.0934598967f || - - y == 0.0524549857f || y == 0.0336651318f || y == 0.0279890448f || y == 0.0091991890f - - )) - { - - x += scaleX; - y -= scaleY; - } - else if (y == 0.0042380672f || y == -0.0169522688f || y == 0.0360235684f || y == 0.0148332343f) - { // Main bd - - x += scaleX; - y -= scaleY; - } - _glVertex3f(x, y, z); } int initResolutionPatches() { - gWidth = getConfig()->width; - gHeight = getConfig()->height; - + int numDisplays; + SDL_DisplayID *sdlDisplayId = SDL_GetDisplays(&numDisplays); switch (gId) { - case AFTER_BURNER_CLIMAX: - { - if (gWidth == 640 && gHeight == 480) - break; - setVariable(0x082c0308, gWidth); - setVariable(0x082c030c, gHeight); - float newFontScale = gHeight / 480.0; - unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; - setVariable(0x0806cd72, *newFontScalePtr); - abcDrawSpriteCAVEAddress = (void *)0x08076a28 + 6; - detourFunction(0x08076a28, abcDrawSprite); - - patchABCMarkers(0x080b066a, 0x0809d3dc, 0x080b1668); - hookABCGLFunctions(0x08076db8, 0x08076dd2, 0x08076b78); - } - break; - case AFTER_BURNER_CLIMAX_REVA: - { - if (gWidth == 640 && gHeight == 480) - break; - setVariable(0x082c0a68, gWidth); - setVariable(0x082c0a6c, gHeight); - float newFontScale = gHeight / 480.0; - unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; - setVariable(0x0806cd6a, *newFontScalePtr); - abcDrawSpriteCAVEAddress = (void *)0x08076a20 + 6; - detourFunction(0x08076a20, abcDrawSprite); - - patchABCMarkers(0x080b06be, 0x0809d430, 0x080b16bc); - hookABCGLFunctions(0x08076db0, 0x08076dca, 0x08076b70); - } - break; - case AFTER_BURNER_CLIMAX_REVB: - { - if (gWidth == 640 && gHeight == 480) - break; - setVariable(0x082C0AE8, gWidth); - setVariable(0x082C0AEC, gHeight); - float newFontScale = gHeight / 480.0; - unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; - setVariable(0x0806cd72, *newFontScalePtr); - abcDrawSpriteCAVEAddress = (void *)0x08076a28 + 6; - detourFunction(0x08076a28, abcDrawSprite); - - patchABCMarkers(0x080b06c6, 0x0809d438, 0x080b16c4); - hookABCGLFunctions(0x08076db8, 0x08076dd2, 0x08076b78); - } - break; - case AFTER_BURNER_CLIMAX_SDX: - { - if (gWidth == 640 && gHeight == 480) - break; - setVariable(0x082c2228, gWidth); - setVariable(0x082c222c, gHeight); - float newFontScale = gHeight / 480.0; - unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; - setVariable(0x0806ce2e, *newFontScalePtr); - abcDrawSpriteCAVEAddress = (void *)0x08076ae4 + 6; - detourFunction(0x08076ae4, abcDrawSprite); - - patchABCMarkers(0x080b0a22, 0x0809d6cc, 0x080b1a20); - hookABCGLFunctions(0x08076e74, 0x08076e8e, 0x08076c34); - } - break; - case AFTER_BURNER_CLIMAX_SDX_REVA: - { - if (gWidth == 640 && gHeight == 480) - break; - setVariable(0x082c2228, gWidth); - setVariable(0x082c222c, gHeight); - float newFontScale = gHeight / 480.0; - unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; - setVariable(0x0806ce36, *newFontScalePtr); - abcDrawSpriteCAVEAddress = (void *)0x08076aec + 6; - detourFunction(0x08076aec, abcDrawSprite); - - patchABCMarkers(0x080b0a2a, 0x0809d6d4, 0x080b1a28); - hookABCGLFunctions(0x08076e7c, 0x08076e96, 0x08076c3c); - } - break; - case AFTER_BURNER_CLIMAX_SE: - { - if (gWidth == 640 && gHeight == 480) - break; - setVariable(0x082c0b28, gWidth); - setVariable(0x082c0b2c, gHeight); - float newFontScale = gHeight / 480.0; - unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; - setVariable(0x0806cd6a, *newFontScalePtr); - abcDrawSpriteCAVEAddress = (void *)0x08076a20 + 6; - detourFunction(0x08076a20, abcDrawSprite); - - patchABCMarkers(0x080b06be, 0x0809d430, 0x080b16bc); - hookABCGLFunctions(0x08076db0, 0x08076dca, 0x08076b70); - } - break; - case AFTER_BURNER_CLIMAX_SE_REVA: - { - if (gWidth == 640 && gHeight == 480) - break; - setVariable(0x082c0b28, gWidth); - setVariable(0x082c0b2c, gHeight); - float newFontScale = gHeight / 480.0; - unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; - setVariable(0x0806cd72, *newFontScalePtr); - abcDrawSpriteCAVEAddress = (void *)0x08076a28 + 6; - detourFunction(0x08076a28, abcDrawSprite); - - patchABCMarkers(0x080b06c6, 0x0809d438, 0x080b16c4); - hookABCGLFunctions(0x08076db8, 0x08076dd2, 0x08076b78); - } - break; - case GHOST_SQUAD_EVOLUTION: - { - // test - // patchMemory(0x081c1d71, "38303078363030"); - setVariable(0x082c87f8, 0x00000550); - setVariable(0x082c87fc, 0x00000300); - } - break; - case HARLEY_DAVIDSON: - { - int w = gWidth; - int h = gHeight; - if (gWidth == 1360 && gHeight == 768) + case AFTER_BURNER_CLIMAX: { - if (getConfig()->boostRenderRes) - { - setVariable(0x088a55e0, w); // render res - patchMemory(0x08056c31, "9090909090"); - } - break; - } - else if (gWidth == 640 && gHeight == 480) - { - break; - } - setVariable(0x088a57e0, w); // main res - setVariable(0x088a57e4, h); - setVariable(0x088a57e8, w); - setVariable(0x088a57ec, h); - setVariable(0x088a57f0, w); - setVariable(0x088a57f4, h); - setVariable(0x088a55e0, w); // render res - patchMemory(0x08056c31, "9090909090"); - // setVariable(0x08056c2d, w); // render res - patchMemory(0x082a8500, "9090909090"); // restype - patchMemory(0x088a55e4, "14"); - patchMemory(0x082a2412, "00008040"); // Fixes white logo background. - unsigned int idx = ((21 * h) / 768) + 1; - setVariable(0x082a250e, idx); - detourFunction(0x0804c700, glVertex3fHarley); - detourFunction(0x0804d220, myGlBindTexture); - } - break; - case HUMMER: - { - if (gWidth <= 1280 && gHeight <= 768) - break; - replaceCallAtAddress(0x080d8b58, hummerRespatch); - replaceCallAtAddress(0x080d8b73, hummerRespatch); - replaceCallAtAddress(0x080d8b8e, hummerRespatch); - replaceCallAtAddress(0x080d8ba9, hummerRespatch); - replaceCallAtAddress(0x080d8bfa, hummerRespatch); - replaceCallAtAddress(0x080d8c15, hummerRespatch); - } - break; - case HUMMER_EXTREME: - { - if (gWidth <= 1280 && gHeight <= 768) - break; - replaceCallAtAddress(0x08159eab, hummerRespatch); - replaceCallAtAddress(0x08159ec9, hummerRespatch); - replaceCallAtAddress(0x08159ee7, hummerRespatch); - replaceCallAtAddress(0x08159f05, hummerRespatch); - replaceCallAtAddress(0x08159f5f, hummerRespatch); - replaceCallAtAddress(0x08159f7d, hummerRespatch); - } - break; - case HUMMER_EXTREME_MDX: - { - if (gWidth <= 1280 && gHeight <= 768) - break; - replaceCallAtAddress(0x0816348b, hummerRespatch); - replaceCallAtAddress(0x081634a9, hummerRespatch); - replaceCallAtAddress(0x081634c7, hummerRespatch); - replaceCallAtAddress(0x081634e5, hummerRespatch); - replaceCallAtAddress(0x0816353f, hummerRespatch); - replaceCallAtAddress(0x0816355d, hummerRespatch); - } - break; - case HUMMER_SDLX: - { - if (gWidth <= 1280 && gHeight <= 768) - break; - replaceCallAtAddress(0x080d8b14, hummerRespatch); - replaceCallAtAddress(0x080d8b2f, hummerRespatch); - replaceCallAtAddress(0x080d8b4a, hummerRespatch); - replaceCallAtAddress(0x080d8b65, hummerRespatch); - replaceCallAtAddress(0x080d8bb6, hummerRespatch); - replaceCallAtAddress(0x080d8bd1, hummerRespatch); - } - break; - case INITIALD_4_EXP_REVB: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x082560a2, gWidth); // Set ResX - setVariable(0x08256162, gWidth); // Set ResX - setVariable(0x08256222, gWidth); // Set ResX - setVariable(0x08256281, gWidth); // Set ResX - } - break; - } - setVariable(0x0837979d, 0x0000f0e9); // Force set resolution - setVariable(0x08379893, gWidth); // Set ResX - setVariable(0x08379898, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x082560a2, gWidth); // Set ResX - setVariable(0x0825609a, gHeight); // Set ResY - setVariable(0x08256162, gWidth); // Set ResX - setVariable(0x0825615a, gHeight); // Set ResY - setVariable(0x08256222, gWidth); // Set ResX - setVariable(0x0825621a, gHeight); // Set ResY - setVariable(0x08256281, gWidth); // Set ResX - setVariable(0x08256279, gHeight); // Set ResY - - setVariable(0x08256b27, gWidth); // Set ResX - setVariable(0x08256b1f, gHeight); // Set ResY - setVariable(0x08256bb2, gWidth); // Set ResX - setVariable(0x08256baa, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x08337360 + 5; - detourFunction(0x08337360, idDisplayTexture); - // FSAA - patchMemory(0x0855e762, "9090"); - patchMemory(0x0857dfe9, "01"); // FSAA Enabled - setVariable(0x089ea1d0, 1); // FSAA Quality - // Fix Subtitles Position - id4NewCaptionY = ((gHeight - 768.0) / 2) + 64.0; - detourFunction(0x081f0f91, yTxtPatch); - id4NewCaptionYCAVEAddress = (void *)(0x081f0f91 + 8); - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081ef2ee + 6; - id4DrawTextAddress = (void *)0x081f0454; - detourFunction(0x081ef2ee, idDrawBallon); - replaceCallAtAddress(0x081f084a, id4DrawText); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) - { - patchMemory(0x0899bb78, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x08579e92; - replaceCallAtAddress(0x0835a1fe, idTestText); - } - } - break; - case INITIALD_4_EXP_REVC: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x08256192, gWidth); // Set ResX - setVariable(0x08256252, gWidth); // Set ResX - setVariable(0x08256312, gWidth); // Set ResX - setVariable(0x08256371, gWidth); // Set ResX - } - break; - } - setVariable(0x0837961d, 0x0000f0e9); // Force set resolution - setVariable(0x08379713, gWidth); // Set ResX - setVariable(0x08379718, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x08256192, gWidth); // Set ResX - setVariable(0x0825618a, gHeight); // Set ResY - setVariable(0x08256252, gWidth); // Set ResX - setVariable(0x0825624a, gHeight); // Set ResY - setVariable(0x08256312, gWidth); // Set ResX - setVariable(0x0825630a, gHeight); // Set ResY - setVariable(0x08256371, gWidth); // Set ResX - setVariable(0x08256369, gHeight); // Set ResY - setVariable(0x08256c17, gWidth); // Set ResX - setVariable(0x08256c0f, gHeight); // Set ResY - setVariable(0x08256ca2, gWidth); // Set ResX - setVariable(0x08256c9a, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x08337200 + 5; - detourFunction(0x08337200, idDisplayTexture); - // FSAA - patchMemory(0x0855e4e2, "9090"); - patchMemory(0x0857dd69, "01"); // FSAA Enabled - setVariable(0x089ea1d0, 1); // FSAA Quality - // Fix Subtitles - float newCaptionY = ((gHeight - 768.0) / 2) + 64.0; - setVariable(0x089a7d58, *(unsigned int *)&newCaptionY); - // Fix Subtitles Position - id4NewCaptionY = ((gHeight - 768.0) / 2) + 64.0; - detourFunction(0x081f1051, yTxtPatch); - id4NewCaptionYCAVEAddress = (void *)(0x081f1051 + 8); - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081ef39e + 6; - id4DrawTextAddress = (void *)0x081f0504; - detourFunction(0x081ef39e, idDrawBallon); - replaceCallAtAddress(0x081f08fc, id4DrawText); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) - { - patchMemory(0x0899bb78, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x08579c12; - replaceCallAtAddress(0x0835a09e, idTestText); - } - } - break; - case INITIALD_4_EXP_REVD: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x0825728a, gWidth); // Set ResX - setVariable(0x0825734a, gWidth); // Set ResX - setVariable(0x0825740a, gWidth); // Set ResX - setVariable(0x08257469, gWidth); // Set ResX - } - break; - } - setVariable(0x0837b12d, 0x0000f0e9); // Force set resolution - setVariable(0x0837b223, gWidth); // Set ResX - setVariable(0x0837b228, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x0825728a, gWidth); // Set ResX - setVariable(0x08257282, gHeight); // Set ResY - setVariable(0x0825734a, gWidth); // Set ResX - setVariable(0x08257342, gHeight); // Set ResY - setVariable(0x0825740a, gWidth); // Set ResX - setVariable(0x08257402, gHeight); // Set ResY - setVariable(0x08257469, gWidth); // Set ResX - setVariable(0x08257461, gHeight); // Set ResY - setVariable(0x08257d0f, gWidth); // Set ResX - setVariable(0x08257d07, gHeight); // Set ResY - setVariable(0x08257d9a, gWidth); // Set ResX - setVariable(0x08257d92, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x08338d50 + 5; - detourFunction(0x08338d50, idDisplayTexture); - // FSAA - patchMemory(0x0855fff2, "9090"); - patchMemory(0x0857f879, "01"); // FSAA Enabled - setVariable(0x089ed930, 1); // FSAA Quality - // Fix Subtitles Position - id4NewCaptionY = ((gHeight - 768.0) / 2) + 64.0; - detourFunction(0x081f2061, yTxtPatch); - id4NewCaptionYCAVEAddress = (void *)(0x081f2061 + 8); - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081f03be + 6; - id4DrawTextAddress = (void *)0x081f1524; - detourFunction(0x081f03be, idDrawBallon); - replaceCallAtAddress(0x081f191a, id4DrawText); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) - { - patchMemory(0x0899f2d8, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x0857b722; - replaceCallAtAddress(0x0835bbee, idTestText); - } - } - break; - case INITIALD_4_REVA: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x08247e77, gWidth); // Set ResX - setVariable(0x08247f37, gWidth); // Set ResX - setVariable(0x08247ff7, gWidth); // Set ResX - setVariable(0x08248056, gWidth); // Set ResX - } - break; - } - setVariable(0x0835640d, 0x0000f0e9); // Force set resolution - setVariable(0x08356503, gWidth); // Set ResX - setVariable(0x08356508, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x08247e77, gWidth); // Set ResX - setVariable(0x08247e6f, gHeight); // Set ResY - setVariable(0x08247f37, gWidth); // Set ResX - setVariable(0x08247f2f, gHeight); // Set ResY - setVariable(0x08247ff7, gWidth); // Set ResX - setVariable(0x08247fef, gHeight); // Set ResY - setVariable(0x08248056, gWidth); // Set ResX - setVariable(0x0824804e, gHeight); // Set ResY - setVariable(0x082487e7, gWidth); // Set ResX - setVariable(0x082487df, gHeight); // Set ResY - setVariable(0x08248872, gWidth); // Set ResX - setVariable(0x0824886a, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x083188a0 + 5; - detourFunction(0x083188a0, idDisplayTexture); - // FSAA - patchMemory(0x08538c72, "9090"); - patchMemory(0x085582c9, "01"); // FSAA Enabled - setVariable(0x089c7af0, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081dacde + 6; - id4DrawTextAddress = (void *)0x081dbe42; - detourFunction(0x081dacde, idDrawBallon); - replaceCallAtAddress(0x081dc23a, id4DrawText); - } - break; - case INITIALD_4_REVB: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x08248037, gWidth); // Set ResX - setVariable(0x082480f7, gWidth); // Set ResX - setVariable(0x082481b7, gWidth); // Set ResX - setVariable(0x08248216, gWidth); // Set ResX - } - break; - } - setVariable(0x0835664d, 0x0000f0e9); // Force set resolution - setVariable(0x08356743, gWidth); // Set ResX - setVariable(0x08356748, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x08248037, gWidth); // Set ResX - setVariable(0x0824802f, gHeight); // Set ResY - setVariable(0x082480f7, gWidth); // Set ResX - setVariable(0x082480ef, gHeight); // Set ResY - setVariable(0x082481b7, gWidth); // Set ResX - setVariable(0x082481af, gHeight); // Set ResY - setVariable(0x08248216, gWidth); // Set ResX - setVariable(0x0824820e, gHeight); // Set ResY - setVariable(0x082489a7, gWidth); // Set ResX - setVariable(0x0824899f, gHeight); // Set ResY - setVariable(0x08248a32, gWidth); // Set ResX - setVariable(0x08248a2a, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x08318ab0 + 5; - detourFunction(0x08318ab0, idDisplayTexture); - // FSAA - patchMemory(0x08538eb2, "9090"); - patchMemory(0x08558509, "01"); // FSAA Enabled - setVariable(0x089c7dd0, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081dadde + 6; - id4DrawTextAddress = (void *)0x081dbf42; - detourFunction(0x081dadde, idDrawBallon); - replaceCallAtAddress(0x081dc33a, id4DrawText); - } - break; - case INITIALD_4_REVC: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x08248ad7, gWidth); // Set ResX - setVariable(0x08248b97, gWidth); // Set ResX - setVariable(0x08248c57, gWidth); // Set ResX - setVariable(0x08248cb6, gWidth); // Set ResX - } - break; - } - setVariable(0x0835eebd, 0x0000f0e9); // Force set resolution - setVariable(0x0835efb3, gWidth); // Set ResX - setVariable(0x0835efb8, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x08248ad7, gWidth); // Set ResX - setVariable(0x08248acf, gHeight); // Set ResY - setVariable(0x08248b97, gWidth); // Set ResX - setVariable(0x08248b8f, gHeight); // Set ResY - setVariable(0x08248c57, gWidth); // Set ResX - setVariable(0x08248c4f, gHeight); // Set ResY - setVariable(0x08248cb6, gWidth); // Set ResX - setVariable(0x08248cae, gHeight); // Set ResY - setVariable(0x08249447, gWidth); // Set ResX - setVariable(0x0824943f, gHeight); // Set ResY - setVariable(0x082494d2, gWidth); // Set ResX - setVariable(0x082494ca, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x0831ea60 + 5; - detourFunction(0x0831ea60, idDisplayTexture); - // FSAA - patchMemory(0x08541722, "9090"); - patchMemory(0x08560d79, "01"); // FSAA Enabled - setVariable(0x089d2f70, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081db63e + 6; - id4DrawTextAddress = (void *)0x081dc7a4; - detourFunction(0x081db63e, idDrawBallon); - replaceCallAtAddress(0x081dcb9a, id4DrawText); - } - break; - case INITIALD_4_REVD: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x08248f47, gWidth); // Set ResX - setVariable(0x08249007, gWidth); // Set ResX - setVariable(0x082490c7, gWidth); // Set ResX - setVariable(0x08249126, gWidth); // Set ResX - } - break; - } - setVariable(0x0835c55d, 0x0000f0e9); // Force set resolution - setVariable(0x0835c653, gWidth); // Set ResX - setVariable(0x0835c658, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x08248f47, gWidth); // Set ResX - setVariable(0x08248f3f, gHeight); // Set ResY - setVariable(0x08249007, gWidth); // Set ResX - setVariable(0x08248fff, gHeight); // Set ResY - setVariable(0x082490c7, gWidth); // Set ResX - setVariable(0x082490bf, gHeight); // Set ResY - setVariable(0x08249126, gWidth); // Set ResX - setVariable(0x0824911e, gHeight); // Set ResY - setVariable(0x082498b7, gWidth); // Set ResX - setVariable(0x082498af, gHeight); // Set ResY - setVariable(0x08249942, gWidth); // Set ResX - setVariable(0x0824993a, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x0831bf90 + 5; - detourFunction(0x0831bf90, idDisplayTexture); - // FSAA - patchMemory(0x0853edc2, "9090"); - patchMemory(0x0855e419, "01"); // FSAA Enabled - setVariable(0x089cff30, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081dbaae + 6; - id4DrawTextAddress = (void *)0x081dcc14; - detourFunction(0x081dbaae, idDrawBallon); - replaceCallAtAddress(0x081dd00a, id4DrawText); - } - break; - case INITIALD_4_REVG: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - { - setVariable(0x08262eda, gWidth); // Set ResX - setVariable(0x08262f9a, gWidth); // Set ResX - setVariable(0x0826305a, gWidth); // Set ResX - setVariable(0x082630b9, gWidth); // Set ResX - } - break; - } - setVariable(0x08393fbd, 0x0000f0e9); // Force set resolution - setVariable(0x083940b3, gWidth); // Set ResX - setVariable(0x083940b8, gHeight); // Set ResY - // Renderbuffer Resolution - setVariable(0x08262eda, gWidth); // Set ResX - setVariable(0x08262ed2, gHeight); // Set ResY - setVariable(0x08262f9a, gWidth); // Set ResX - setVariable(0x08262f92, gHeight); // Set ResY - setVariable(0x0826305a, gWidth); // Set ResX - setVariable(0x08263052, gHeight); // Set ResY - setVariable(0x082630b9, gWidth); // Set ResX - setVariable(0x082630b1, gHeight); // Set ResY - setVariable(0x0826395f, gWidth); // Set ResX - setVariable(0x08263957, gHeight); // Set ResY - setVariable(0x082639ea, gWidth); // Set ResX - setVariable(0x082639e2, gHeight); // Set ResY - - idDisplayTextureCAVEAddress = (void *)0x083502b0 + 5; - detourFunction(0x083502b0, idDisplayTexture); - // FSAA - patchMemory(0x08578e92, "9090"); - patchMemory(0x08598719, "01"); // FSAA Enabled - setVariable(0x08a34670, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x081f2b7e + 6; - id4DrawTextAddress = (void *)0x081f3ce4; - detourFunction(0x081f2b7e, idDrawBallon); - replaceCallAtAddress(0x081f40da, id4DrawText); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) - { - patchMemory(0x089e15d8, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x085945c2; - replaceCallAtAddress(0x083748ce, idTestText); - } - } - break; - case INITIALD_5_EXP: - { - bool origRes = (gWidth == 1360 && gHeight == 768); - if (!getConfig()->boostRenderRes && origRes) - { - break; - } - if (gWidth >= 1360 && gHeight >= 768) - { - patchMemory(0x08356054, "bb01000000eb6b"); // Prevents renrer.ini from loading - setVariable(0x08355f30, gWidth); // Framebuffer Main Width - setVariable(0x08355f37, gHeight); // Framebuffer Main Height - setVariable(0x08355fd1, 256); // Framebuffer Road Specular width - setVariable(0x08355fd8, 256); // Framebuffer Road Specular height - setVariable(0x08355ff7, gWidth); // Framebuffer Glare Width - setVariable(0x08355ffe, gHeight); // Framebuffer Glare Height - setVariable(0x08356024, gWidth >> 2); // Framebuffer Reduced width - patchMemory(0x08356049, "00000001"); // Enable Cube Secular - if (origRes) + if (gWidth == 640 && gHeight == 480) break; - } - patchMemory(0x0853d8cd, "E9f000"); // Accept different Resolutions - setVariable(0x0853d9c3, gWidth); // Set ResX - setVariable(0x0853d9c8, gHeight); // Set ResY + setVariable(0x082c0308, gWidth); + setVariable(0x082c030c, gHeight); + float newFontScale = gHeight / 480.0; + unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; + setVariable(0x0806cd72, *newFontScalePtr); + abcDrawSpriteCAVEAddress = (void *)0x08076a28 + 6; + detourFunction(0x08076a28, abcDrawSprite); - // Fix Press start and Insert coins text - idDisplayTextureCAVEAddress = (void *)0x084e2470 + 5; - detourFunction(0x084e2470, idDisplayTexture); - // setViewport for track selection screen - setVariable(0x08215cae, (int)(gHeight * (112.0 / 768))); - setVariable(0x08215cb6, (int)(gWidth * (724.0 / 1315))); - setVariable(0x08215cbe, (int)(gHeight * (592.0 / 768))); - setVariable(0x08215cc6, (int)(gWidth * (962.0 / 1315))); - setVariable(0x08215cce, gHeight); - // FSAA - patchMemory(0x0875aaa6, "9090"); - patchMemory(0x08788949, "01"); // FSAA Enabled - setVariable(0x08cac148, 1); // FSAA Quality - // Balloon fix - idDrawBallonCAVEAddress = (void *)0x082536c8 + 6; - iddrawBallonPutAddress = (void *)0x086d257c; - detourFunction(0x082536c8, idDrawBallon); - replaceCallAtAddress(0x08254b68, idBalloonPut); - replaceCallAtAddress(0x08254c29, idBalloonPut); - // START and VIEW CHANGE Text fix - float explanationScaleX = gWidth - (1360.0 - 815.0); - float explanationScaleY = (gHeight / 768.0) * 680.0; - setVariable(0x0826ac45, *(unsigned int *)&explanationScaleY); - setVariable(0x0826acbd, *(unsigned int *)&explanationScaleX); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) - { - patchMemory(0x08c55ca0, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x08775c1c; - replaceCallAtAddress(0x0850853e, idTestText); + patchABCMarkers(0x080b066a, 0x0809d3dc, 0x080b1668); + hookABCGLFunctions(0x08076db8, 0x08076dd2, 0x08076b78); } - } - break; - case INITIALD_5_EXP_20: - { - bool origRes = (gWidth == 1360 && gHeight == 768); - if (!getConfig()->boostRenderRes && origRes) + break; + case AFTER_BURNER_CLIMAX_REVA: { - break; - } - if (gWidth >= 1360 && gHeight >= 768) - { - patchMemory(0x08363c24, "bb01000000eb6b"); // Prevents renrer.ini from loading - setVariable(0x08363b00, gWidth); // Framebuffer Main Width - setVariable(0x08363b07, gHeight); // Framebuffer Main Height - setVariable(0x08363ba1, 256); // Framebuffer Road Specular width - setVariable(0x08363ba8, 256); // Framebuffer Road Specular height - setVariable(0x08363bc7, gWidth); // Framebuffer Glare Width - setVariable(0x08363bce, gHeight); // Framebuffer Glare Height - setVariable(0x08363bf4, gWidth >> 2); // Framebuffer Reduced width - patchMemory(0x08363c19, "00000001"); // Enable Cube Secular - if (origRes) + if (gWidth == 640 && gHeight == 480) break; + setVariable(0x082c0a68, gWidth); + setVariable(0x082c0a6c, gHeight); + float newFontScale = gHeight / 480.0; + unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; + setVariable(0x0806cd6a, *newFontScalePtr); + abcDrawSpriteCAVEAddress = (void *)0x08076a20 + 6; + detourFunction(0x08076a20, abcDrawSprite); + + patchABCMarkers(0x080b06be, 0x0809d430, 0x080b16bc); + hookABCGLFunctions(0x08076db0, 0x08076dca, 0x08076b70); } - patchMemory(0x0855a48d, "E9f000"); // Accept different Resolutions - setVariable(0x0855a583, gWidth); // Set ResX - setVariable(0x0855a588, gHeight); // Set ResY - // Fix Press start and Insert coins text - idDisplayTextureCAVEAddress = (void *)0x084fdfa0 + 5; - detourFunction(0x084fdfa0, idDisplayTexture); - // setViewport for track selection screen - setVariable(0x0821e75e, (int)(gHeight * (112.0 / 768))); - setVariable(0x0821e766, (int)(gWidth * (724.0 / 1315))); - setVariable(0x0821e76e, (int)(gHeight * (592.0 / 768))); - setVariable(0x0821e776, (int)(gWidth * (962.0 / 1315))); - setVariable(0x0821e77e, gHeight); - // FSAA - patchMemory(0x087775f6, "9090"); - patchMemory(0x087a5499, "01"); // FSAA Enabled - setVariable(0x08cf9ce8, 1); // FSAA Quality - // Balloon fix - idDrawBallonCAVEAddress = (void *)0x0825c046 + 6; - iddrawBallonPutAddress = (void *)0x086ef13c; - detourFunction(0x0825c046, idDrawBallon); - replaceCallAtAddress(0x0825d4e8, idBalloonPut); - replaceCallAtAddress(0x0825d5a9, idBalloonPut); - // START and VIEW CHANGE Text fix - float explanationScaleX = gWidth - (1360.0 - 815.0); - float explanationScaleY = (gHeight / 768.0) * 680.0; - setVariable(0x082737b5, *(unsigned int *)&explanationScaleY); - setVariable(0x0827382d, *(unsigned int *)&explanationScaleX); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) + break; + case AFTER_BURNER_CLIMAX_REVB: { - patchMemory(0x08ca3d00, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x0879276c; - replaceCallAtAddress(0x0852528a, idTestText); - } - } - break; - case INITIALD_5_EXP_20A: - { - bool origRes = (gWidth == 1360 && gHeight == 768); - if (!getConfig()->boostRenderRes && origRes) - { - break; - } - if (gWidth >= 1360 && gHeight >= 768) - { - patchMemory(0x08363d94, "bb01000000eb6b"); // Prevents renrer.ini from loading - setVariable(0x08363c70, gWidth); // Framebuffer Main Width - setVariable(0x08363c77, gHeight); // Framebuffer Main Height - setVariable(0x08363d11, 256); // Framebuffer Road Specular width - setVariable(0x08363d18, 256); // Framebuffer Road Specular height - setVariable(0x08363d37, gWidth); // Framebuffer Glare Width - setVariable(0x08363d3e, gHeight); // Framebuffer Glare Height - setVariable(0x08363d64, gWidth >> 2); // Framebuffer Reduced width - patchMemory(0x08363d89, "00000001"); // Enable Cube Secular - if (origRes) + if (gWidth == 640 && gHeight == 480) break; - } - patchMemory(0x0855a6dd, "E9f000"); // Accept different Resolutions - setVariable(0x0855a7d3, gWidth); // Set ResX - setVariable(0x0855a7d8, gHeight); // Set ResY + setVariable(0x082C0AE8, gWidth); + setVariable(0x082C0AEC, gHeight); + float newFontScale = gHeight / 480.0; + unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; + setVariable(0x0806cd72, *newFontScalePtr); + abcDrawSpriteCAVEAddress = (void *)0x08076a28 + 6; + detourFunction(0x08076a28, abcDrawSprite); - // Fix Press start and Insert coins text - idDisplayTextureCAVEAddress = (void *)0x084fe1d0 + 5; - detourFunction(0x084fe1d0, idDisplayTexture); - // setViewport for track selection screen - setVariable(0x0821e8ee, (int)(gHeight * (112.0 / 768))); - setVariable(0x0821e8f6, (int)(gWidth * (724.0 / 1315))); - setVariable(0x0821e8fe, (int)(gHeight * (592.0 / 768))); - setVariable(0x0821e906, (int)(gWidth * (962.0 / 1315))); - setVariable(0x0821e90e, gHeight); - // FSAA - patchMemory(0x08777846, "9090"); - patchMemory(0x087a56e9, "01"); // FSAA Enabled - setVariable(0x08cf9ce8, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x0825c1b6 + 6; - iddrawBallonPutAddress = (void *)0x086ef38c; - detourFunction(0x0825c1b6, idDrawBallon); - replaceCallAtAddress(0x0825d656, idBalloonPut); - replaceCallAtAddress(0x0825d717, idBalloonPut); - // START and VIEW CHANGE Text fix - float explanationScaleX = gWidth - (1360.0 - 815.0); - float explanationScaleY = (gHeight / 768.0) * 680.0; - setVariable(0x08273915, *(unsigned int *)&explanationScaleY); - setVariable(0x0827398d, *(unsigned int *)&explanationScaleX); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) - { - patchMemory(0x08ca3d00, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x087929bc; - replaceCallAtAddress(0x085254ea, idTestText); + patchABCMarkers(0x080b06c6, 0x0809d438, 0x080b16c4); + hookABCGLFunctions(0x08076db8, 0x08076dd2, 0x08076b78); } - } - break; - case INITIALD_5_JAP_REVA: // ID5 - DVP-0070A - { - bool origRes = (gWidth == 1360 && gHeight == 768); - if (!getConfig()->boostRenderRes && origRes) + break; + case AFTER_BURNER_CLIMAX_SDX: { - break; - } - if (gWidth >= 1360 && gHeight >= 768) - { - patchMemory(0x083557f4, "bb01000000eb6b"); // Prevents renrer.ini from loading - setVariable(0x083556d0, gWidth); // Framebuffer Main Width - setVariable(0x083556d7, gHeight); // Framebuffer Main Height - setVariable(0x08355771, 256); // Framebuffer Road Specular width - setVariable(0x08355778, 256); // Framebuffer Road Specular height - setVariable(0x08355797, gWidth); // Framebuffer Glare Width - setVariable(0x0835579e, gHeight); // Framebuffer Glare Height - setVariable(0x083557c4, gWidth >> 2); // Framebuffer Reduced width - patchMemory(0x083557e9, "00000001"); // Enable Cube Secular - if (origRes) + if (gWidth == 640 && gHeight == 480) break; - } - patchMemory(0x0853ccdd, "E9f000"); // Accept different Resolutions - setVariable(0x0853cdd3, gWidth); // Set ResX - setVariable(0x0853cdd8, gHeight); // Set ResY + setVariable(0x082c2228, gWidth); + setVariable(0x082c222c, gHeight); + float newFontScale = gHeight / 480.0; + unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; + setVariable(0x0806ce2e, *newFontScalePtr); + abcDrawSpriteCAVEAddress = (void *)0x08076ae4 + 6; + detourFunction(0x08076ae4, abcDrawSprite); - // Fix Press start and Insert coins text - idDisplayTextureCAVEAddress = (void *)0x084e1770 + 5; - detourFunction(0x084e1770, idDisplayTexture); - // setViewport for track selection screen - setVariable(0x08214b9e, (int)(gHeight * (112.0 / 768))); - setVariable(0x08214ba6, (int)(gWidth * (724.0 / 1315))); - setVariable(0x08214bae, (int)(gHeight * (592.0 / 768))); - setVariable(0x08214bb6, (int)(gWidth * (962.0 / 1315))); - setVariable(0x08214bbe, gHeight); - // FSAA - patchMemory(0x08759eb6, "9090"); - patchMemory(0x08787d59, "01"); // FSAA Enabled - setVariable(0x08cac028, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x082526a6 + 6; - iddrawBallonPutAddress = (void *)0x086d198c; - detourFunction(0x082526a6, idDrawBallon); - replaceCallAtAddress(0x08253b48, idBalloonPut); - replaceCallAtAddress(0x08253c09, idBalloonPut); - // START and VIEW CHANGE Text fix - float explanationScaleX = gWidth - (1360.0 - 815.0); - float explanationScaleY = (gHeight / 768.0) * 680.0; - setVariable(0x08269c25, *(unsigned int *)&explanationScaleY); - setVariable(0x08269c9d, *(unsigned int *)&explanationScaleX); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) - { - patchMemory(0x08c55b80, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x0877502c; - replaceCallAtAddress(0x0850783e, idTestText); + patchABCMarkers(0x080b0a22, 0x0809d6cc, 0x080b1a20); + hookABCGLFunctions(0x08076e74, 0x08076e8e, 0x08076c34); } - } - break; - case INITIALD_5_JAP_REVF: // ID5 - DVP-0070F - { - bool origRes = (gWidth == 1360 && gHeight == 768); - if (!getConfig()->boostRenderRes && origRes) + break; + case AFTER_BURNER_CLIMAX_SDX_REVA: { - break; - } - if (gWidth >= 1360 && gHeight >= 768) - { - patchMemory(0x08364484, "bb01000000eb6b"); // Prevents renrer.ini from loading - setVariable(0x08364360, gWidth); // Framebuffer Main Width - setVariable(0x08364367, gHeight); // Framebuffer Main Height - setVariable(0x08364401, 256); // Framebuffer Road Specular width - setVariable(0x08364408, 256); // Framebuffer Road Specular height - setVariable(0x08364427, gWidth); // Framebuffer Glare Width - setVariable(0x0836442e, gHeight); // Framebuffer Glare Height - setVariable(0x08364454, gWidth >> 2); // Framebuffer Reduced width - patchMemory(0x08364479, "00000001"); // Enable Cube Secular - if (origRes) + if (gWidth == 640 && gHeight == 480) break; + setVariable(0x082c2228, gWidth); + setVariable(0x082c222c, gHeight); + float newFontScale = gHeight / 480.0; + unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; + setVariable(0x0806ce36, *newFontScalePtr); + abcDrawSpriteCAVEAddress = (void *)0x08076aec + 6; + detourFunction(0x08076aec, abcDrawSprite); + + patchABCMarkers(0x080b0a2a, 0x0809d6d4, 0x080b1a28); + hookABCGLFunctions(0x08076e7c, 0x08076e96, 0x08076c3c); } - patchMemory(0x08556bbd, "E9f000"); // Accept different Resolutions - setVariable(0x08556cb3, gWidth); // Set ResX - setVariable(0x08556cb8, gHeight); // Set ResY - - // Fix Press start and Insert coins text - idDisplayTextureCAVEAddress = (void *)0x084fa3c0 + 5; - detourFunction(0x084fa3c0, idDisplayTexture); - // setViewport for track selection screen - setVariable(0x0821ec6e, (int)(gHeight * (112.0 / 768))); - setVariable(0x0821ec76, (int)(gWidth * (724.0 / 1315))); - setVariable(0x0821ec7e, (int)(gHeight * (592.0 / 768))); - setVariable(0x0821ec86, (int)(gWidth * (962.0 / 1315))); - setVariable(0x0821ec8e, gHeight); - // FSAA - patchMemory(0x08773d26, "9090"); - patchMemory(0x087a1bc9, "01"); // FSAA Enabled - setVariable(0x08ce8028, 1); // FSAA Quality - // Ballon fix - idDrawBallonCAVEAddress = (void *)0x0825c556 + 6; - iddrawBallonPutAddress = (void *)0x086eb86c; - detourFunction(0x0825c556, idDrawBallon); - replaceCallAtAddress(0x0825d9f8, idBalloonPut); - replaceCallAtAddress(0x0825dab9, idBalloonPut); - // START and VIEW CHANGE Text fix - float explanationScaleX = gWidth - (1360.0 - 815.0); - float explanationScaleY = (gHeight / 768.0) * 680.0; - setVariable(0x08273ce5, *(unsigned int *)&explanationScaleY); - setVariable(0x08273d5d, *(unsigned int *)&explanationScaleX); - // Scale Testmode text - if (isTestMode() && gWidth >= 1920) + break; + case AFTER_BURNER_CLIMAX_SE: { - patchMemory(0x08c92040, "02"); - idTextShift = (gWidth == 1920 ? 27 : ((1920 / gWidth) * 27) + 2); - idTestTextAddress = (void *)0x0878ee9c; - replaceCallAtAddress(0x08521aaa, idTestText); + if (gWidth == 640 && gHeight == 480) + break; + setVariable(0x082c0b28, gWidth); + setVariable(0x082c0b2c, gHeight); + float newFontScale = gHeight / 480.0; + unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; + setVariable(0x0806cd6a, *newFontScalePtr); + abcDrawSpriteCAVEAddress = (void *)0x08076a20 + 6; + detourFunction(0x08076a20, abcDrawSprite); + + patchABCMarkers(0x080b06be, 0x0809d430, 0x080b16bc); + hookABCGLFunctions(0x08076db0, 0x08076dca, 0x08076b70); } - } - break; - case LETS_GO_JUNGLE_REVA: - { - setVariable(0x082e1323, gWidth); // Set ResX - setVariable(0x082e1330, gHeight); // Set ResY - // FSAA - patchMemory(0x082e12ff, "01"); - - // Render Res - setVariable(0x080ce59a, gWidth); // 800 - setVariable(0x080ce5a4, gHeight); // 600 - } - break; - case LETS_GO_JUNGLE: - { - setVariable(0x082E006b, gWidth); // Set ResX - setVariable(0x082E0078, gHeight); // Set ResY - // FSAA - patchMemory(0x082e0047, "01"); - - // Render Res - setVariable(0x080ce2f2, gWidth); // 800 - setVariable(0x080ce2fc, gHeight); // 600 - } - break; - case LETS_GO_JUNGLE_SPECIAL: - { - if ((gWidth == 1024 && gHeight == 768) || (gWidth == 2048 && gHeight == 768)) - break; - setVariable(0x08303C4B, gWidth * 2); // Set ResX Width x 2 - setVariable(0x08303C58, gHeight); // Set ResY - - setVariable(0x080d6e8c, gWidth); // 1024 - setVariable(0x080d6e96, gHeight); // 768 - - setVariable(0x080d6ea0, gWidth); // 800 - setVariable(0x080d6eaa, gHeight); // 600 - patchMemory(0x08303c27, "01"); // FSAA - - newHeightLGJ = (float)gHeight; - uint32_t *newHeightPtrLGJ = (uint32_t *)&newHeightLGJ; - - newWidth2LGJ = (float)gWidth * 2.0; - uint32_t *newWidth2PtrLGJ = (uint32_t *)&newWidth2LGJ; - unsigned int address = 0x080cb730; - - newWidthHLGJ = (float)gWidth / 2.0; - uint32_t *newWidthHPtrLGJ = (uint32_t *)&newWidthHLGJ; - newWidthSLGJ = 1360.0 / (float)gWidth; - uint32_t *newWidthSPtrLGJ = (uint32_t *)&newWidthSLGJ; - unsigned int addressC = 0x080cb3be; - - setVariable(0x082dcd10, (size_t)newHeightPtrLGJ); // LGJSceneManagerbegin - - setVariable(address, (size_t)newHeightPtrLGJ); // StageSelect - setVariable(address + 0xF, (size_t)newWidth2PtrLGJ); - - setVariable(addressC, (size_t)newWidthHPtrLGJ); // StageSelectonCursor - setVariable(addressC + 0x8, (size_t)newWidthSPtrLGJ); - } - break; - case MJ4_REVG: - { - // Not Supported yet. - // patchMemory(0x080524a1, "01"); // Enable Anti Alias - // patchMemory(0x08053668, "b80a000000"); // Skips resolution set by the Dip Switches. - // vf5FSwidth = (gHeight * 4) / 3; - // setVariable(0x08901598, vf5FSwidth); - // setVariable(0x0890159c, gHeight); - // setVariable(0x089015a4, vf5FSwidth); - - // setVariable(0x089015a8, gHeight); - - // setVariable(0x08901544, vf5FSwidth); - // setVariable(0x08901548, gHeight); - - // setVariable(0x0890158c, vf5FSwidth); - // setVariable(0x08901590, gHeight); - } - break; - case OUTRUN_2_SP_SDX: - { - if (gWidth <= 800 && gHeight <= 480) - break; - // If resolution is not the native of the game this patch kind of fix the Sun when the LensGlare effect is - // shown. - if ((gWidth > 800) && (gHeight > 480)) + break; + case AFTER_BURNER_CLIMAX_SE_REVA: { - patchMemory(0x080e8e72, "9090909090"); // removes a call to a light function - patchMemory(0x080e8e83, "9090909090"); // removes a call to a light function - if (!getConfig()->outrunLensGlareEnabled) + if (gWidth == 640 && gHeight == 480) + break; + setVariable(0x082c0b28, gWidth); + setVariable(0x082c0b2c, gHeight); + float newFontScale = gHeight / 480.0; + unsigned int *newFontScalePtr = (unsigned int *)&newFontScale; + setVariable(0x0806cd72, *newFontScalePtr); + abcDrawSpriteCAVEAddress = (void *)0x08076a28 + 6; + detourFunction(0x08076a28, abcDrawSprite); + + patchABCMarkers(0x080b06c6, 0x0809d438, 0x080b16c4); + hookABCGLFunctions(0x08076db8, 0x08076dd2, 0x08076b78); + } + break; + case GHOST_SQUAD_EVOLUTION: + { + } + break; + case HARLEY_DAVIDSON: + { + int w = gWidth; + int h = gHeight; + if (gWidth == 1360 && gHeight == 768) { - detourFunction(0x080e8b34, stubReturn); // Completely disables the lens glare effect + if (getConfig()->boostRenderRes) + { + setVariable(0x088a55e0, w); // render res + patchMemoryFromString(0x08056c31, "9090909090"); + } + break; } - } - setVariable(0x080b913a, 0x44200000); - setVariable(0x081dae28, 0x44200000); - setVariable(0x081dae30, 0x44200000); - } - break; - case OUTRUN_2_SP_SDX_TEST: - { - setVariable(0x0804a490, gWidth); - setVariable(0x0804a4ad, gHeight); - } - break; - case OUTRUN_2_SP_SDX_REVA: - { - if (gWidth <= 800 && gHeight <= 480) - break; - // If resolution is not the native of the game this patch kind of fix the Sun when the LensGlare effect is - // shown. - if ((gWidth > 800) && (gHeight > 480)) - { - patchMemory(0x080e8e06, "9090909090"); // removes a call to a light function - patchMemory(0x080e8e17, "9090909090"); // removes a call to a light function - if (!getConfig()->outrunLensGlareEnabled) + else if (gWidth == 640 && gHeight == 480) { - detourFunction(0x080e8ac8, stubReturn); // Completely disables the lens glare effect + break; } - } - setVariable(0x080b913a, 0x44200000); - setVariable(0x081dada8, 0x44200000); - setVariable(0x081dadb0, 0x44200000); + setVariable(0x088a57e0, w); // main res + setVariable(0x088a57e4, h); + setVariable(0x088a57e8, w); + setVariable(0x088a57ec, h); + setVariable(0x088a57f0, w); + setVariable(0x088a57f4, h); + setVariable(0x088a55e0, w); // render res + patchMemoryFromString(0x08056c31, "9090909090"); + // setVariable(0x08056c2d, w); // render res + patchMemoryFromString(0x082a8500, "9090909090"); // restype + patchMemoryFromString(0x088a55e4, "14"); + patchMemoryFromString(0x082a2412, "00008040"); // Fixes white logo background. + unsigned int idx = ((21 * h) / 768) + 1; + setVariable(0x082a250e, idx); - // Cleans patched elf floating around - patchMemory(0x080b912e, "f043"); - patchMemory(0x080f39de, "c0ef43"); - patchMemory(0x080f3aa6, "2048"); - patchMemory(0x080f3c94, "04b91c"); - patchMemory(0x080f3cba, "20561b"); - patchMemory(0x080f40cf, "c047"); - patchMemory(0x080f40f8, "80ef43"); - patchMemory(0x080f4d80, "04b91c"); - patchMemory(0x080f4e52, "20561b"); - patchMemory(0x080fed40, "80ef43"); - patchMemory(0x080fed52, "c047"); - setVariable(0x081dadb4, 0x43f00000); - setVariable(0x081dadbc, 0x43f00000); - patchMemory(0x081e7b3e, "7e"); - patchMemory(0x081e7b46, "89"); - } - break; - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - { - if (gWidth <= 800 && gHeight <= 480) - break; - setVariable(0x0804a490, gWidth); - setVariable(0x0804a4ad, gHeight); - } - break; - case PRIMEVAL_HUNT: - { - if (gWidth <= 1280 && gHeight <= 480) - break; + detourFunction(0x0804c700, glVertex3fHarley); + detourFunction(0x0804d220, myGlBindTexture); + } + break; + case HUMMER: + { + if ((gWidth <= 1280 && gHeight <= 768) && !getConfig()->fullscreen) + break; + replaceCallAtAddress(0x080d8b58, hummerRespatch); + replaceCallAtAddress(0x080d8b73, hummerRespatch); + replaceCallAtAddress(0x080d8b8e, hummerRespatch); + replaceCallAtAddress(0x080d8ba9, hummerRespatch); + replaceCallAtAddress(0x080d8bfa, hummerRespatch); + replaceCallAtAddress(0x080d8c15, hummerRespatch); + } + break; + case HUMMER_EXTREME: + { + if ((gWidth <= 1280 && gHeight <= 768) && !getConfig()->fullscreen) + break; + replaceCallAtAddress(0x08159eab, hummerRespatch); + replaceCallAtAddress(0x08159ec9, hummerRespatch); + replaceCallAtAddress(0x08159ee7, hummerRespatch); + replaceCallAtAddress(0x08159f05, hummerRespatch); + replaceCallAtAddress(0x08159f5f, hummerRespatch); + replaceCallAtAddress(0x08159f7d, hummerRespatch); + } + break; + case HUMMER_EXTREME_MDX: + { + if ((gWidth <= 1280 && gHeight <= 768) && !getConfig()->fullscreen) + break; + replaceCallAtAddress(0x0816348b, hummerRespatch); + replaceCallAtAddress(0x081634a9, hummerRespatch); + replaceCallAtAddress(0x081634c7, hummerRespatch); + replaceCallAtAddress(0x081634e5, hummerRespatch); + replaceCallAtAddress(0x0816353f, hummerRespatch); + replaceCallAtAddress(0x0816355d, hummerRespatch); + } + break; + case HUMMER_SDLX: + { + if ((gWidth <= 1280 && gHeight <= 768) && !getConfig()->fullscreen) + break; + replaceCallAtAddress(0x080d8b14, hummerRespatch); + replaceCallAtAddress(0x080d8b2f, hummerRespatch); + replaceCallAtAddress(0x080d8b4a, hummerRespatch); + replaceCallAtAddress(0x080d8b65, hummerRespatch); + replaceCallAtAddress(0x080d8bb6, hummerRespatch); + replaceCallAtAddress(0x080d8bd1, hummerRespatch); + } + break; + case INITIALD_4_EXP_REVB: + { + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x082560a2, gWidth); // Set ResX + setVariable(0x08256162, gWidth); // Set ResX + setVariable(0x08256222, gWidth); // Set ResX + setVariable(0x08256281, gWidth); // Set ResX + } + break; + } + setVariable(0x0837979d, 0x0000f0e9); // Force set resolution + setVariable(0x08379893, gWidth); // Set ResX + setVariable(0x08379898, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x082560a2, gWidth); // Set ResX + setVariable(0x0825609a, gHeight); // Set ResY + setVariable(0x08256162, gWidth); // Set ResX + setVariable(0x0825615a, gHeight); // Set ResY + setVariable(0x08256222, gWidth); // Set ResX + setVariable(0x0825621a, gHeight); // Set ResY + setVariable(0x08256281, gWidth); // Set ResX + setVariable(0x08256279, gHeight); // Set ResY - if (isTestMode()) - { - EmulatorConfig *config = getConfig(); - config->phMode = 2; + setVariable(0x08256b27, gWidth); // Set ResX + setVariable(0x08256b1f, gHeight); // Set ResY + setVariable(0x08256bb2, gWidth); // Set ResX + setVariable(0x08256baa, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + + // FSAA + patchMemoryFromString(0x0855e762, "9090"); + patchMemoryFromString(0x0857dfe9, "01"); // FSAA Enabled + setVariable(0x089ea1d0, 1); // FSAA Quality + // Fix Subtitles Position + id4NewCaptionY = ((gHeight - 768.0) / 2) + 64.0; + uint32_t *id4NewCaptionYAddr = (uint32_t *)&id4NewCaptionY; + setVariable(0x081f0f95, (size_t)id4NewCaptionYAddr); + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081f0454; + replaceCallAtAddress(0x081f084a, id4DrawText); } - phX = 0; - phY = 0; - phW = gWidth; - phH = gHeight; - switch (getConfig()->phMode) + break; + case INITIALD_4_EXP_REVC: { - case 0: - { - return 0; + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x08256192, gWidth); // Set ResX + setVariable(0x08256252, gWidth); // Set ResX + setVariable(0x08256312, gWidth); // Set ResX + setVariable(0x08256371, gWidth); // Set ResX + } + break; + } + setVariable(0x0837961d, 0x0000f0e9); // Force set resolution + setVariable(0x08379713, gWidth); // Set ResX + setVariable(0x08379718, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x08256192, gWidth); // Set ResX + setVariable(0x0825618a, gHeight); // Set ResY + setVariable(0x08256252, gWidth); // Set ResX + setVariable(0x0825624a, gHeight); // Set ResY + setVariable(0x08256312, gWidth); // Set ResX + setVariable(0x0825630a, gHeight); // Set ResY + setVariable(0x08256371, gWidth); // Set ResX + setVariable(0x08256369, gHeight); // Set ResY + setVariable(0x08256c17, gWidth); // Set ResX + setVariable(0x08256c0f, gHeight); // Set ResY + setVariable(0x08256ca2, gWidth); // Set ResX + setVariable(0x08256c9a, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // FSAA + patchMemoryFromString(0x0855e4e2, "9090"); + patchMemoryFromString(0x0857dd69, "01"); // FSAA Enabled + setVariable(0x089ea1d0, 1); // FSAA Quality + // Fix Subtitles + float newCaptionY = ((gHeight - 768.0) / 2) + 64.0; + setVariable(0x089a7d58, *(unsigned int *)&newCaptionY); + // Fix Subtitles Position + id4NewCaptionY = ((gHeight - 768.0) / 2) + 64.0; + uint32_t *id4NewCaptionYAddr = (uint32_t *)&id4NewCaptionY; + setVariable(0x081f1055, (size_t)id4NewCaptionYAddr); + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081f0504; + replaceCallAtAddress(0x081f08fc, id4DrawText); } - case 1: // No touch screen + break; + case INITIALD_4_EXP_REVD: { + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x0825728a, gWidth); // Set ResX + setVariable(0x0825734a, gWidth); // Set ResX + setVariable(0x0825740a, gWidth); // Set ResX + setVariable(0x08257469, gWidth); // Set ResX + } + break; + } + setVariable(0x0837b12d, 0x0000f0e9); // Force set resolution + setVariable(0x0837b223, gWidth); // Set ResX + setVariable(0x0837b228, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x0825728a, gWidth); // Set ResX + setVariable(0x08257282, gHeight); // Set ResY + setVariable(0x0825734a, gWidth); // Set ResX + setVariable(0x08257342, gHeight); // Set ResY + setVariable(0x0825740a, gWidth); // Set ResX + setVariable(0x08257402, gHeight); // Set ResY + setVariable(0x08257469, gWidth); // Set ResX + setVariable(0x08257461, gHeight); // Set ResY + setVariable(0x08257d0f, gWidth); // Set ResX + setVariable(0x08257d07, gHeight); // Set ResY + setVariable(0x08257d9a, gWidth); // Set ResX + setVariable(0x08257d92, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // FSAA + patchMemoryFromString(0x0855fff2, "9090"); + patchMemoryFromString(0x0857f879, "01"); // FSAA Enabled + setVariable(0x089ed930, 1); // FSAA Quality + // Fix Subtitles Position + id4NewCaptionY = ((gHeight - 768.0) / 2) + 64.0; + uint32_t *id4NewCaptionYAddr = (uint32_t *)&id4NewCaptionY; + setVariable(0x081f2065, (size_t)id4NewCaptionYAddr); + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081f1524; + replaceCallAtAddress(0x081f191a, id4DrawText); + } + break; + case INITIALD_4_REVA: + { + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x08247e77, gWidth); // Set ResX + setVariable(0x08247f37, gWidth); // Set ResX + setVariable(0x08247ff7, gWidth); // Set ResX + setVariable(0x08248056, gWidth); // Set ResX + } + break; + } + setVariable(0x0835640d, 0x0000f0e9); // Force set resolution + setVariable(0x08356503, gWidth); // Set ResX + setVariable(0x08356508, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x08247e77, gWidth); // Set ResX + setVariable(0x08247e6f, gHeight); // Set ResY + setVariable(0x08247f37, gWidth); // Set ResX + setVariable(0x08247f2f, gHeight); // Set ResY + setVariable(0x08247ff7, gWidth); // Set ResX + setVariable(0x08247fef, gHeight); // Set ResY + setVariable(0x08248056, gWidth); // Set ResX + setVariable(0x0824804e, gHeight); // Set ResY + setVariable(0x082487e7, gWidth); // Set ResX + setVariable(0x082487df, gHeight); // Set ResY + setVariable(0x08248872, gWidth); // Set ResX + setVariable(0x0824886a, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // FSAA + patchMemoryFromString(0x08538c72, "9090"); + patchMemoryFromString(0x085582c9, "01"); // FSAA Enabled + setVariable(0x089c7af0, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081dbe42; + replaceCallAtAddress(0x081dc23a, id4DrawText); + } + break; + case INITIALD_4_REVB: + { + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x08248037, gWidth); // Set ResX + setVariable(0x082480f7, gWidth); // Set ResX + setVariable(0x082481b7, gWidth); // Set ResX + setVariable(0x08248216, gWidth); // Set ResX + } + break; + } + setVariable(0x0835664d, 0x0000f0e9); // Force set resolution + setVariable(0x08356743, gWidth); // Set ResX + setVariable(0x08356748, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x08248037, gWidth); // Set ResX + setVariable(0x0824802f, gHeight); // Set ResY + setVariable(0x082480f7, gWidth); // Set ResX + setVariable(0x082480ef, gHeight); // Set ResY + setVariable(0x082481b7, gWidth); // Set ResX + setVariable(0x082481af, gHeight); // Set ResY + setVariable(0x08248216, gWidth); // Set ResX + setVariable(0x0824820e, gHeight); // Set ResY + setVariable(0x082489a7, gWidth); // Set ResX + setVariable(0x0824899f, gHeight); // Set ResY + setVariable(0x08248a32, gWidth); // Set ResX + setVariable(0x08248a2a, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // FSAA + patchMemoryFromString(0x08538eb2, "9090"); + patchMemoryFromString(0x08558509, "01"); // FSAA Enabled + setVariable(0x089c7dd0, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081dbf42; + replaceCallAtAddress(0x081dc33a, id4DrawText); + } + break; + case INITIALD_4_REVC: + { + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x08248ad7, gWidth); // Set ResX + setVariable(0x08248b97, gWidth); // Set ResX + setVariable(0x08248c57, gWidth); // Set ResX + setVariable(0x08248cb6, gWidth); // Set ResX + } + break; + } + setVariable(0x0835eebd, 0x0000f0e9); // Force set resolution + setVariable(0x0835efb3, gWidth); // Set ResX + setVariable(0x0835efb8, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x08248ad7, gWidth); // Set ResX + setVariable(0x08248acf, gHeight); // Set ResY + setVariable(0x08248b97, gWidth); // Set ResX + setVariable(0x08248b8f, gHeight); // Set ResY + setVariable(0x08248c57, gWidth); // Set ResX + setVariable(0x08248c4f, gHeight); // Set ResY + setVariable(0x08248cb6, gWidth); // Set ResX + setVariable(0x08248cae, gHeight); // Set ResY + setVariable(0x08249447, gWidth); // Set ResX + setVariable(0x0824943f, gHeight); // Set ResY + setVariable(0x082494d2, gWidth); // Set ResX + setVariable(0x082494ca, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // FSAA + patchMemoryFromString(0x08541722, "9090"); + patchMemoryFromString(0x08560d79, "01"); // FSAA Enabled + setVariable(0x089d2f70, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081dc7a4; + replaceCallAtAddress(0x081dcb9a, id4DrawText); + } + break; + case INITIALD_4_REVD: + { + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x08248f47, gWidth); // Set ResX + setVariable(0x08249007, gWidth); // Set ResX + setVariable(0x082490c7, gWidth); // Set ResX + setVariable(0x08249126, gWidth); // Set ResX + } + break; + } + setVariable(0x0835c55d, 0x0000f0e9); // Force set resolution + setVariable(0x0835c653, gWidth); // Set ResX + setVariable(0x0835c658, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x08248f47, gWidth); // Set ResX + setVariable(0x08248f3f, gHeight); // Set ResY + setVariable(0x08249007, gWidth); // Set ResX + setVariable(0x08248fff, gHeight); // Set ResY + setVariable(0x082490c7, gWidth); // Set ResX + setVariable(0x082490bf, gHeight); // Set ResY + setVariable(0x08249126, gWidth); // Set ResX + setVariable(0x0824911e, gHeight); // Set ResY + setVariable(0x082498b7, gWidth); // Set ResX + setVariable(0x082498af, gHeight); // Set ResY + setVariable(0x08249942, gWidth); // Set ResX + setVariable(0x0824993a, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // FSAA + patchMemoryFromString(0x0853edc2, "9090"); + patchMemoryFromString(0x0855e419, "01"); // FSAA Enabled + setVariable(0x089cff30, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081dcc14; + replaceCallAtAddress(0x081dd00a, id4DrawText); + } + break; + case INITIALD_4_REVG: + { + if (isTestMode()) + break; + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + { + setVariable(0x08262eda, gWidth); // Set ResX + setVariable(0x08262f9a, gWidth); // Set ResX + setVariable(0x0826305a, gWidth); // Set ResX + setVariable(0x082630b9, gWidth); // Set ResX + } + break; + } + setVariable(0x08393fbd, 0x0000f0e9); // Force set resolution + setVariable(0x083940b3, gWidth); // Set ResX + setVariable(0x083940b8, gHeight); // Set ResY + // Renderbuffer Resolution + setVariable(0x08262eda, gWidth); // Set ResX + setVariable(0x08262ed2, gHeight); // Set ResY + setVariable(0x08262f9a, gWidth); // Set ResX + setVariable(0x08262f92, gHeight); // Set ResY + setVariable(0x0826305a, gWidth); // Set ResX + setVariable(0x08263052, gHeight); // Set ResY + setVariable(0x082630b9, gWidth); // Set ResX + setVariable(0x082630b1, gHeight); // Set ResY + setVariable(0x0826395f, gWidth); // Set ResX + setVariable(0x08263957, gHeight); // Set ResY + setVariable(0x082639ea, gWidth); // Set ResX + setVariable(0x082639e2, gHeight); // Set ResY + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // FSAA + patchMemoryFromString(0x08578e92, "9090"); + patchMemoryFromString(0x08598719, "01"); // FSAA Enabled + setVariable(0x08a34670, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + id4DrawTextAddress = (void *)0x081f3ce4; + replaceCallAtAddress(0x081f40da, id4DrawText); + } + break; + case INITIALD_5_EXP: + { + if (isTestMode()) + break; + bool origRes = (gWidth == 1360 && gHeight == 768); + if (!getConfig()->boostRenderRes && origRes) + { + break; + } + if (gWidth >= 1360 && gHeight >= 768) + { + patchMemoryFromString(0x08356054, "bb01000000eb6b"); // Prevents renderer.ini from loading + setVariable(0x08355f30, gWidth); // Framebuffer Main Width + setVariable(0x08355f37, gHeight); // Framebuffer Main Height + setVariable(0x08355fd1, 256); // Framebuffer Road Specular width + setVariable(0x08355fd8, 256); // Framebuffer Road Specular height + setVariable(0x08355ff7, gWidth); // Framebuffer Glare Width + setVariable(0x08355ffe, gHeight); // Framebuffer Glare Height + setVariable(0x08356024, gWidth >> 2); // Framebuffer Reduced width + patchMemoryFromString(0x08356049, "00000001"); // Enable Cube Secular + if (origRes) + break; + } + patchMemoryFromString(0x0853d8cd, "E9f000"); // Accept different Resolutions + setVariable(0x0853d9c3, gWidth); // Set ResX + setVariable(0x0853d9c8, gHeight); // Set ResY + + // Fix Press start and Insert coins text + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // setViewport for track selection screen + setVariable(0x08215cae, (int)(gHeight * (112.0 / 768))); + setVariable(0x08215cb6, (int)(gWidth * (724.0 / 1315))); + setVariable(0x08215cbe, (int)(gHeight * (592.0 / 768))); + setVariable(0x08215cc6, (int)(gWidth * (962.0 / 1315))); + setVariable(0x08215cce, gHeight); + // FSAA + patchMemoryFromString(0x0875aaa6, "9090"); + patchMemoryFromString(0x08788949, "01"); // FSAA Enabled + setVariable(0x08cac148, 1); // FSAA Quality + // Balloon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + iddrawBallonPutAddress = (void *)0x086d257c; + replaceCallAtAddress(0x08254b68, idBalloonPut); + replaceCallAtAddress(0x08254c29, idBalloonPut); + // START and VIEW CHANGE Text fix + float explanationScaleX = gWidth - (1360.0 - 815.0); + float explanationScaleY = (gHeight / 768.0) * 680.0; + setVariable(0x0826ac45, *(unsigned int *)&explanationScaleY); + setVariable(0x0826acbd, *(unsigned int *)&explanationScaleX); + } + break; + case INITIALD_5_EXP_20: + { + if (isTestMode()) + break; + bool origRes = (gWidth == 1360 && gHeight == 768); + if (!getConfig()->boostRenderRes && origRes) + { + break; + } + if (gWidth >= 1360 && gHeight >= 768) + { + patchMemoryFromString(0x08363c24, "bb01000000eb6b"); // Prevents renderer.ini from loading + setVariable(0x08363b00, gWidth); // Framebuffer Main Width + setVariable(0x08363b07, gHeight); // Framebuffer Main Height + setVariable(0x08363ba1, 256); // Framebuffer Road Specular width + setVariable(0x08363ba8, 256); // Framebuffer Road Specular height + setVariable(0x08363bc7, gWidth); // Framebuffer Glare Width + setVariable(0x08363bce, gHeight); // Framebuffer Glare Height + setVariable(0x08363bf4, gWidth >> 2); // Framebuffer Reduced width + patchMemoryFromString(0x08363c19, "00000001"); // Enable Cube Secular + if (origRes) + break; + } + patchMemoryFromString(0x0855a48d, "E9f000"); // Accept different Resolutions + setVariable(0x0855a583, gWidth); // Set ResX + setVariable(0x0855a588, gHeight); // Set ResY + // Fix Press start and Insert coins text + + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // setViewport for track selection screen + setVariable(0x0821e75e, (int)(gHeight * (112.0 / 768))); + setVariable(0x0821e766, (int)(gWidth * (724.0 / 1315))); + setVariable(0x0821e76e, (int)(gHeight * (592.0 / 768))); + setVariable(0x0821e776, (int)(gWidth * (962.0 / 1315))); + setVariable(0x0821e77e, gHeight); + // FSAA + patchMemoryFromString(0x087775f6, "9090"); + patchMemoryFromString(0x087a5499, "01"); // FSAA Enabled + setVariable(0x08cf9ce8, 1); // FSAA Quality + // Balloon fix + + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + iddrawBallonPutAddress = (void *)0x086ef13c; + replaceCallAtAddress(0x0825d4e8, idBalloonPut); + replaceCallAtAddress(0x0825d5a9, idBalloonPut); + // START and VIEW CHANGE Text fix + float explanationScaleX = gWidth - (1360.0 - 815.0); + float explanationScaleY = (gHeight / 768.0) * 680.0; + setVariable(0x082737b5, *(unsigned int *)&explanationScaleY); + setVariable(0x0827382d, *(unsigned int *)&explanationScaleX); + } + break; + case INITIALD_5_EXP_20A: + { + if (isTestMode()) + break; + bool origRes = (gWidth == 1360 && gHeight == 768); + if (!getConfig()->boostRenderRes && origRes) + { + break; + } + if (gWidth >= 1360 && gHeight >= 768) + { + patchMemoryFromString(0x08363d94, "bb01000000eb6b"); // Prevents renderer.ini from loading + setVariable(0x08363c70, gWidth); // Framebuffer Main Width + setVariable(0x08363c77, gHeight); // Framebuffer Main Height + setVariable(0x08363d11, 256); // Framebuffer Road Specular width + setVariable(0x08363d18, 256); // Framebuffer Road Specular height + setVariable(0x08363d37, gWidth); // Framebuffer Glare Width + setVariable(0x08363d3e, gHeight); // Framebuffer Glare Height + setVariable(0x08363d64, gWidth >> 2); // Framebuffer Reduced width + patchMemoryFromString(0x08363d89, "00000001"); // Enable Cube Secular + if (origRes) + break; + } + patchMemoryFromString(0x0855a6dd, "E9f000"); // Accept different Resolutions + setVariable(0x0855a7d3, gWidth); // Set ResX + setVariable(0x0855a7d8, gHeight); // Set ResY + + // Fix Press start and Insert coins text + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // setViewport for track selection screen + setVariable(0x0821e8ee, (int)(gHeight * (112.0 / 768))); + setVariable(0x0821e8f6, (int)(gWidth * (724.0 / 1315))); + setVariable(0x0821e8fe, (int)(gHeight * (592.0 / 768))); + setVariable(0x0821e906, (int)(gWidth * (962.0 / 1315))); + setVariable(0x0821e90e, gHeight); + // FSAA + patchMemoryFromString(0x08777846, "9090"); + patchMemoryFromString(0x087a56e9, "01"); // FSAA Enabled + setVariable(0x08cf9ce8, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + iddrawBallonPutAddress = (void *)0x086ef38c; + replaceCallAtAddress(0x0825d656, idBalloonPut); + replaceCallAtAddress(0x0825d717, idBalloonPut); + // START and VIEW CHANGE Text fix + float explanationScaleX = gWidth - (1360.0 - 815.0); + float explanationScaleY = (gHeight / 768.0) * 680.0; + setVariable(0x08273915, *(unsigned int *)&explanationScaleY); + setVariable(0x0827398d, *(unsigned int *)&explanationScaleX); + } + break; + case INITIALD_5_JAP_REVA: // ID5 - DVP-0070A + { + if (isTestMode()) + break; + bool origRes = (gWidth == 1360 && gHeight == 768); + if (!getConfig()->boostRenderRes && origRes) + { + break; + } + if (gWidth >= 1360 && gHeight >= 768) + { + patchMemoryFromString(0x083557f4, "bb01000000eb6b"); // Prevents renderer.ini from loading + setVariable(0x083556d0, gWidth); // Framebuffer Main Width + setVariable(0x083556d7, gHeight); // Framebuffer Main Height + setVariable(0x08355771, 256); // Framebuffer Road Specular width + setVariable(0x08355778, 256); // Framebuffer Road Specular height + setVariable(0x08355797, gWidth); // Framebuffer Glare Width + setVariable(0x0835579e, gHeight); // Framebuffer Glare Height + setVariable(0x083557c4, gWidth >> 2); // Framebuffer Reduced width + patchMemoryFromString(0x083557e9, "00000001"); // Enable Cube Secular + if (origRes) + break; + } + patchMemoryFromString(0x0853ccdd, "E9f000"); // Accept different Resolutions + setVariable(0x0853cdd3, gWidth); // Set ResX + setVariable(0x0853cdd8, gHeight); // Set ResY + + // Fix Press start and Insert coins text + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // setViewport for track selection screen + setVariable(0x08214b9e, (int)(gHeight * (112.0 / 768))); + setVariable(0x08214ba6, (int)(gWidth * (724.0 / 1315))); + setVariable(0x08214bae, (int)(gHeight * (592.0 / 768))); + setVariable(0x08214bb6, (int)(gWidth * (962.0 / 1315))); + setVariable(0x08214bbe, gHeight); + // FSAA + patchMemoryFromString(0x08759eb6, "9090"); + patchMemoryFromString(0x08787d59, "01"); // FSAA Enabled + setVariable(0x08cac028, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + iddrawBallonPutAddress = (void *)0x086d198c; + replaceCallAtAddress(0x08253b48, idBalloonPut); + replaceCallAtAddress(0x08253c09, idBalloonPut); + // START and VIEW CHANGE Text fix + float explanationScaleX = gWidth - (1360.0 - 815.0); + float explanationScaleY = (gHeight / 768.0) * 680.0; + setVariable(0x08269c25, *(unsigned int *)&explanationScaleY); + setVariable(0x08269c9d, *(unsigned int *)&explanationScaleX); + } + break; + case INITIALD_5_JAP_REVC: // ID5 - DVP-0070C + { + if (isTestMode()) + break; + bool origRes = (gWidth == 1360 && gHeight == 768); + if (!getConfig()->boostRenderRes && origRes) + { + break; + } + if (gWidth >= 1360 && gHeight >= 768) + { + patchMemoryFromString(0x08356084, "bb01000000eb6b"); // Prevents renrer.ini from loading + setVariable(0x08355f60, gWidth); // Framebuffer Main Width + setVariable(0x08355f67, gHeight); // Framebuffer Main Height + setVariable(0x08356001, 256); // Framebuffer Road Specular width + setVariable(0x08356008, 256); // Framebuffer Road Specular height + setVariable(0x08356027, gWidth); // Framebuffer Glare Width + setVariable(0x0835602e, gHeight); // Framebuffer Glare Height + setVariable(0x08356054, gWidth >> 2); // Framebuffer Reduced width + patchMemoryFromString(0x08356079, "00000001"); // Enable Cube Secular + if (origRes) + break; + } + patchMemoryFromString(0x0853d6fd, "E9f000"); // Accept different Resolutions + setVariable(0x0853d7f3, gWidth); // Set ResX + setVariable(0x0853d7f8, gHeight); // Set ResY + + // Fix Press start and Insert coins text + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // setViewport for track selection screen + setVariable(0x08215b9e, (int)(gHeight * (112.0 / 768))); + setVariable(0x08215ba6, (int)(gWidth * (724.0 / 1315))); + setVariable(0x08215bae, (int)(gHeight * (592.0 / 768))); + setVariable(0x08215bb6, (int)(gWidth * (962.0 / 1315))); + setVariable(0x08215bbe, gHeight); + // FSAA + patchMemoryFromString(0x0875a8d6, "9090"); + patchMemoryFromString(0x08788779, "01"); // FSAA Enabled + setVariable(0x08cabe48, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + iddrawBallonPutAddress = (void *)0x086d23ac; + replaceCallAtAddress(0x08254b68, idBalloonPut); + replaceCallAtAddress(0x08254c29, idBalloonPut); + // START and VIEW CHANGE Text fix + float explanationScaleX = gWidth - (1360.0 - 815.0); + float explanationScaleY = (gHeight / 768.0) * 680.0; + setVariable(0x0826ac65, *(unsigned int *)&explanationScaleY); + setVariable(0x0826acdd, *(unsigned int *)&explanationScaleX); + } + break; + case INITIALD_5_JAP_REVF: // ID5 - DVP-0070F + { + if (isTestMode()) + break; + bool origRes = (gWidth == 1360 && gHeight == 768); + if (!getConfig()->boostRenderRes && origRes) + { + break; + } + if (gWidth >= 1360 && gHeight >= 768) + { + patchMemoryFromString(0x08364484, "bb01000000eb6b"); // Prevents renderer.ini from loading + setVariable(0x08364360, gWidth); // Framebuffer Main Width + setVariable(0x08364367, gHeight); // Framebuffer Main Height + setVariable(0x08364401, 256); // Framebuffer Road Specular width + setVariable(0x08364408, 256); // Framebuffer Road Specular height + setVariable(0x08364427, gWidth); // Framebuffer Glare Width + setVariable(0x0836442e, gHeight); // Framebuffer Glare Height + setVariable(0x08364454, gWidth >> 2); // Framebuffer Reduced width + patchMemoryFromString(0x08364479, "00000001"); // Enable Cube Secular + if (origRes) + break; + } + patchMemoryFromString(0x08556bbd, "E9f000"); // Accept different Resolutions + setVariable(0x08556cb3, gWidth); // Set ResX + setVariable(0x08556cb8, gHeight); // Set ResY + + // Fix Press start and Insert coins text + idDisplayTextureOri = (void (*)(void *, void *, int, int, int))trampolineHook( + findStaticFnAddr("_ZN7cCredit14displayTextureEPNS_9__texuvwhEiii"), idDisplayTexture, 5); + // setViewport for track selection screen + setVariable(0x0821ec6e, (int)(gHeight * (112.0 / 768))); + setVariable(0x0821ec76, (int)(gWidth * (724.0 / 1315))); + setVariable(0x0821ec7e, (int)(gHeight * (592.0 / 768))); + setVariable(0x0821ec86, (int)(gWidth * (962.0 / 1315))); + setVariable(0x0821ec8e, gHeight); + // FSAA + patchMemoryFromString(0x08773d26, "9090"); + patchMemoryFromString(0x087a1bc9, "01"); // FSAA Enabled + setVariable(0x08ce8028, 1); // FSAA Quality + // Ballon fix + idDrawBallonOri = (void (*)(void *, void *, float, float, float, float, float, bool))trampolineHook( + findStaticFnAddr("_ZN12cDemoBalloon11drawBalloonEP14_sSceneManagerfffffb"), idDrawBallon, 6); + iddrawBallonPutAddress = (void *)0x086eb86c; + replaceCallAtAddress(0x0825d9f8, idBalloonPut); + replaceCallAtAddress(0x0825dab9, idBalloonPut); + // START and VIEW CHANGE Text fix + float explanationScaleX = gWidth - (1360.0 - 815.0); + float explanationScaleY = (gHeight / 768.0) * 680.0; + setVariable(0x08273ce5, *(unsigned int *)&explanationScaleY); + setVariable(0x08273d5d, *(unsigned int *)&explanationScaleX); + } + break; + case LETS_GO_JUNGLE_REVA: + { + if (getConfig()->boostRenderRes && gWidth == 1360 && gHeight == 768 && !getConfig()->fullscreen) + { + setVariable(0x080ce59a, gWidth); // 800 + setVariable(0x080ce5a4, gHeight); // 600 + break; + } + const SDL_DisplayMode *displayMode = SDL_GetCurrentDisplayMode(sdlDisplayId[0]); + if (getConfig()->fullscreen) + { + gWidth = displayMode->w; + float oriAspect = (float)768 / (float)1365; + gHeight = (int)(gWidth * oriAspect + 0.5f); + } + + setVariable(0x082e1323, gWidth); // Set ResX + setVariable(0x082e1330, gHeight); // Set ResY + // FSAA + patchMemoryFromString(0x082e12ff, "01"); + + // Render Res + setVariable(0x080ce59a, gWidth); // 800 + setVariable(0x080ce5a4, gHeight); // 600 + } + break; + case LETS_GO_JUNGLE: + { + if (getConfig()->boostRenderRes && gWidth == 1360 && gHeight == 768 && !getConfig()->fullscreen) + { + setVariable(0x080ce2f2, gWidth); // 800 + setVariable(0x080ce2fc, gHeight); // 600 + break; + } + const SDL_DisplayMode *displayMode = SDL_GetCurrentDisplayMode(sdlDisplayId[0]); + if (getConfig()->fullscreen) + { + gWidth = displayMode->w; + float oriAspect = (float)768 / (float)1365; + gHeight = (int)(gWidth * oriAspect + 0.5f); + } + + setVariable(0x082E006b, gWidth); // Set ResX + setVariable(0x082E0078, gHeight); // Set ResY + // FSAA + patchMemoryFromString(0x082e0047, "01"); + + // Render Res + setVariable(0x080ce2f2, gWidth); // 800 + setVariable(0x080ce2fc, gHeight); // 600 + } + break; + case LETS_GO_JUNGLE_SPECIAL: + { + const SDL_DisplayMode *displayMode = SDL_GetCurrentDisplayMode(sdlDisplayId[0]); if (getConfig()->keepAspectRatio) { - phX = (gWidth - (gHeight / 3) * 4) / 2; - phW = (gHeight / 3) * 4; + if (getConfig()->fullscreen) + gHeight = displayMode->h; + gWidth = gHeight * 4 / 3; } - phW2 = 0; - phH2 = 0; - phX2 = phW; - phY2 = 0; - } - break; - case 2: // Side by side - { - if (getConfig()->keepAspectRatio) + else { - phH = ((gWidth / 2) / 4) * 3; - phY = (gHeight - phH) / 2; + if (getConfig()->fullscreen) + { + gWidth = displayMode->w; + gHeight = gWidth / 16 * 9; + } + else + { + float oriAspect = (float)768 / (float)1365; + gHeight = (int)(gWidth * oriAspect + 0.5f); + } } - phX = 0; - phW = phW / 2; - phX2 = phW; - phY2 = phY; - phW2 = phW; - phH2 = phH; - } - break; - case 3: // 3ds Mode 1 (Small screen to the right) - { - // We always force 4:3 aspect ratio for this mode. - phX = 0; - phW = (gHeight / 3) * 4; - phH2 = ((gWidth - phW) / 4) * 3; - phX2 = phW; - phY2 = (phH - phH2) / 2; - phW2 = gWidth - phW; - } - break; - case 4: // 3ds Mode 1 (Small screen to the bottom) - { - // We always force 4:3 aspect ratio for this mode. - phW = (gHeight / 3) * 4; - phX2 = (gWidth / 2) - ((gWidth - phW) / 2); - phW2 = gWidth - phW; - phY2 = 0; // phH - ((phW2 / 4) * 3); - phH2 = (phW2 / 4) * 3; + if ((gWidth == 1024 && gHeight == 768) || (gWidth == 2048 && gHeight == 768)) + break; + setVariable(0x08303C4B, gWidth * 2); // Set ResX Width x 2 + setVariable(0x08303C58, gHeight); // Set ResY - phW = phW - phW2; - phH = phH - phH2; - phX = (gWidth - (phH / 3) * 4) / 2; - phY = phH2; + setVariable(0x080d6e8c, gWidth); // 1024 + setVariable(0x080d6e96, gHeight); // 768 + + setVariable(0x080d6ea0, gWidth); // 800 + setVariable(0x080d6eaa, gHeight); // 600 + patchMemoryFromString(0x08303c27, "01"); // FSAA + + newHeightLGJ = (float)gHeight; + uint32_t *newHeightPtrLGJ = (uint32_t *)&newHeightLGJ; + + newWidth2LGJ = (float)gWidth * 2.0; + uint32_t *newWidth2PtrLGJ = (uint32_t *)&newWidth2LGJ; + unsigned int address = 0x080cb730; + + newWidthHLGJ = (float)gWidth / 2.0; + uint32_t *newWidthHPtrLGJ = (uint32_t *)&newWidthHLGJ; + newWidthSLGJ = 1360.0 / (float)gWidth; + uint32_t *newWidthSPtrLGJ = (uint32_t *)&newWidthSLGJ; + unsigned int addressC = 0x080cb3be; + + setVariable(0x082dcd10, (size_t)newHeightPtrLGJ); // LGJSceneManagerbegin + + setVariable(address, (size_t)newHeightPtrLGJ); // StageSelect + setVariable(address + 0xF, (size_t)newWidth2PtrLGJ); + + setVariable(addressC, (size_t)newWidthHPtrLGJ); // StageSelectonCursor + setVariable(addressC + 0x8, (size_t)newWidthSPtrLGJ); } break; + case MJ4_REVG: + { + patchMemoryFromString(0x080524a1, "01"); // Enable Anti Alias + patchMemoryFromString(0x0805249a, "03"); // Force 1024x768 + patchMemoryFromString(0x08053668, "b803000000"); // Skips resolution set by the Dip Switches. } - setVariable(0x0805b104, phX); // X 1st screen - setVariable(0x0805b0fd, phY); // Y 1st screen - setVariable(0x0805b0f5, phW); // Width 1st screen - setVariable(0x0805b0ed, phH); // Height 1st screen - setVariable(0x0805afa2, phX2); // X 2nd screen - setVariable(0x0805af9b, phY2); // Y 2st screen - setVariable(0x0805af93, phW2); // Width 2nd screen - setVariable(0x0805af8b, phH2); // Height 2nd screen - // patchMemory(0x08052cc4, "0000"); // swap screens - detourFunction(0x0804c628, glClearColorPH); - if (getConfig()->phMode == 4) // In mode 4, the screens are inverted. + break; + case MJ4_EVO: + { + patchMemoryFromString(0x08052961, "01"); // Enable Anti Alias + patchMemoryFromString(0x0805295a, "03"); // Force 1024x768 + patchMemoryFromString(0x08053b24, "b803000000"); // Skips resolution set by the Dip Switches. + } + break; + case OUTRUN_2_SP_SDX: + { + if (gWidth <= 800 && gHeight <= 480) + break; + // If resolution is not the native of the game this patch kind of fix the Sun when the LensGlare effect is + // shown. + if ((gWidth > 800) && (gHeight > 480)) + { + patchMemoryFromString(0x080e8e72, "9090909090"); // removes a call to a light function + patchMemoryFromString(0x080e8e83, "9090909090"); // removes a call to a light function + if (!getConfig()->outrunLensGlareEnabled) + { + detourFunction(0x080e8b34, stubReturn); // Completely disables the lens glare effect + } + } + setVariable(0x080b913a, 0x44200000); + setVariable(0x081dae28, 0x44200000); + setVariable(0x081dae30, 0x44200000); + } + break; + case OUTRUN_2_SP_SDX_TEST: + { + if (gWidth <= 800 && gHeight <= 480) + break; + setVariable(0x0804a490, gWidth); + setVariable(0x0804a4ad, gHeight); + + setVariable(0x08049e84, gWidth); + setVariable(0x08049e7c, gHeight); + } + break; + case OUTRUN_2_SP_SDX_REVA: + { + if (gWidth <= 800 && gHeight <= 480) + break; + // If resolution is not the native of the game this patch kind of fix the Sun when the LensGlare effect is + // shown. + if ((gWidth > 800) && (gHeight > 480)) + { + patchMemoryFromString(0x080e8e06, "9090909090"); // removes a call to a light function + patchMemoryFromString(0x080e8e17, "9090909090"); // removes a call to a light function + if (!getConfig()->outrunLensGlareEnabled) + { + detourFunction(0x080e8ac8, stubReturn); // Completely disables the lens glare effect + } + } + setVariable(0x080b913a, 0x44200000); + setVariable(0x081dada8, 0x44200000); + setVariable(0x081dadb0, 0x44200000); + + // Clean patched elf floating around + patchMemoryFromString(0x080b912e, "f043"); + patchMemoryFromString(0x080f39de, "c0ef43"); + patchMemoryFromString(0x080f3aa6, "2048"); + patchMemoryFromString(0x080f3c94, "04b91c"); + patchMemoryFromString(0x080f3cba, "20561b"); + patchMemoryFromString(0x080f40cf, "c047"); + patchMemoryFromString(0x080f40f8, "80ef43"); + patchMemoryFromString(0x080f4d80, "04b91c"); + patchMemoryFromString(0x080f4e52, "20561b"); + patchMemoryFromString(0x080fed40, "80ef43"); + patchMemoryFromString(0x080fed52, "c047"); + setVariable(0x081dadb4, 0x43f00000); + setVariable(0x081dadbc, 0x43f00000); + patchMemoryFromString(0x081e7b3e, "7e"); + patchMemoryFromString(0x081e7b46, "89"); + } + break; + case OUTRUN_2_SP_SDX_REVA_TEST: + case OUTRUN_2_SP_SDX_REVA_TEST2: + { + if (gWidth <= 800 && gHeight <= 480) + break; + setVariable(0x0804a490, gWidth); + setVariable(0x0804a4ad, gHeight); + + setVariable(0x08049e84, gWidth); + setVariable(0x08049e7c, gHeight); + } + break; + case PRIMEVAL_HUNT: + { + const SDL_DisplayMode *displayMode = SDL_GetCurrentDisplayMode(sdlDisplayId[0]); + if (getConfig()->fullscreen) + { + gWidth = displayMode->w; + gHeight = displayMode->h; + } + + if (gWidth <= 1280 && gHeight <= 480) + break; + + if (isTestMode()) + { + EmulatorConfig *config = getConfig(); + if (config->phTestScreenSingle) + config->phScreenMode = 1; + else + config->phScreenMode = 2; + + if (!getConfig()->hideCursor) + { + phShowCursorInGame = true; + showCursor(); + } + } + else + { + hideCursor(); + } + + phX = 0; phY = 0; + phW = gWidth; + phH = gHeight; + switch (getConfig()->phScreenMode) + { + case 0: + { + return 0; + } + case 1: // No touch screen + { + if (getConfig()->keepAspectRatio) + { + phX = (gWidth - (gHeight / 3) * 4) / 2; + phW = (gHeight / 3) * 4; + } + phW2 = 0; + phH2 = 0; + phX2 = phW; + phY2 = 0; + } + break; + case 2: // Side by side + { + if (getConfig()->keepAspectRatio) + { + phH = ((gWidth / 2) / 4) * 3; + phY = (gHeight - phH) / 2; + } + phX = 0; + phW = phW / 2; + phX2 = phW; + phY2 = phY; + phW2 = phW; + phH2 = phH; + } + break; + case 3: // 3ds Mode 1 (Small screen to the right) + { + // We always force 4:3 aspect ratio for this mode. + phX = 0; + phW = (gHeight / 3) * 4; + phH2 = ((gWidth - phW) / 4) * 3; - // Test Menu - if (isTestMode()) - { - setVariable(0x0807f95d, gHeight); // test HxW - setVariable(0x0807f965, gWidth); + phX2 = phW; + phY2 = (phH - phH2) / 2; + phW2 = gWidth - phW; + } + break; + case 4: // 3ds Mode 1 (Small screen to the bottom) + { + // We always force 4:3 aspect ratio for this mode. + phW = (gHeight / 3) * 4; + phX2 = (gWidth / 2) - ((gWidth - phW) / 2); + phW2 = gWidth - phW; + phH2 = (phW2 / 4) * 3; - setVariable(0x08055d3e, gHeight); // text right screen HxW - setVariable(0x08055d46, gWidth / 2); + phW = phW - phW2; + phH = phH - phH2; + phX = (gWidth - (phH / 3) * 4) / 2; + phY = phH2; + phY2 = 0; + } + break; + } + setVariable(0x0805b104, phX); // X 1st screen + setVariable(0x0805b0fd, phY); // Y 1st screen + setVariable(0x0805b0f5, phW); // Width 1st screen + setVariable(0x0805b0ed, phH); // Height 1st screen + setVariable(0x0805afa2, phX2); // X 2nd screen + setVariable(0x0805af9b, phY2); // Y 2st screen + setVariable(0x0805af93, phW2); // Width 2nd screen + setVariable(0x0805af8b, phH2); // Height 2nd screen + // patchMemoryFromString(0x08052cc4, "0000"); // swap screens + detourFunction(0x0804c628, glClearColorPH); + + + // Test Menu + if (isTestMode()) + { + setVariable(0x0807f95d, gHeight); // test HxW + setVariable(0x0807f965, gWidth); + + setVariable(0x08055d3e, gHeight); // text right screen HxW + setVariable(0x08055d46, gWidth / 2); + } } - } - break; - case RAMBO: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - setVariable(0x08416df0, gWidth); // render res - break; - } - else if (gWidth == 640 && gHeight == 480) - { - break; - } - patchMemory(0x080c70d0, "9090909090"); // setresolutiontype - setVariable(0x08416df0, gWidth); // render res - setVariable(0x08416d60, gWidth); // main res - setVariable(0x08416d64, gHeight); - patchMemory(0x08416d68, "5005"); // Allwinres - patchMemory(0x08416d6c, "0003"); - - patchMemory(0x080ef960, "66ff"); // 2d - patchMemory(0x0806b510, "b6"); // proper marker fix - // patchMemory(0x0806b4f6, "c3"); //get rid of shot marker - } - break; - case R_TUNED: - { - patchMemory(0x08051c2b, "01"); // Enable Anti Alias - patchMemory(0x08052d58, "b80a000000"); // Skips resolution set by the Dip Switches. - setVariable(0x083c7db8, gWidth); - setVariable(0x083c7dbc, gHeight); - patchMemory(0x083c7dc0, "00"); - } - break; - case SEGABOOT_2_4_SYM: - { - patchMemory(0x08050ad3, "9090"); - patchMemory(0x08050ac4, "07"); - patchMemory(0x08050c00, "07"); - patchMemory(0x08050c12, "07"); - patchMemory(0x08050c25, "07"); - patchMemory(0x08050c37, "07"); - setVariable(0x08064611, gWidth); - setVariable(0x080645c6, gHeight); - } - break; - case SEGABOOT_2_4: - { - patchMemory(0x08059799, "9090"); - patchMemory(0x080597b6, "07"); - patchMemory(0x0805978e, "07"); - patchMemory(0x080597a7, "07"); - patchMemory(0x080597c7, "07"); - patchMemory(0x08059780, "07"); - patchMemory(0x08059768, "07"); - setVariable(0x0809129d, gWidth); - setVariable(0x08091252, gHeight); - } - break; - case SEGA_RACE_TV: - { - if (gWidth == 640 && gHeight == 480) - break; - if (getConfig()->keepAspectRatio) - { - srtvX = (gWidth - (gHeight / 3) * 4) / 2; - srtvW = (gHeight / 3) * 4; - } - else - { - srtvW = gWidth; - } - srtvH = gHeight; - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVA: - { - if (gWidth == 1280 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - setVariable(0x084c9dbc, 1280); - return 0; - } - else if (gWidth == 640 && gHeight == 480) - { - break; - } - patchMemory(0x0804d142, "9090909090"); // setresolutiontype - // patchMemory(0x084c9dbc, "0005"); - // patchMemory(0x08448458, "0005"); - // patchMemory(0x0844845c, "0003"); - setVariable(0x084c9dbc, gWidth); - setVariable(0x08448458, gWidth); - setVariable(0x0844845c, gHeight); - patchMemory(0x08448460, "0005"); - patchMemory(0x08448464, "0003"); - patchMemory(0x0817ff6d, "e80ed5ecff"); // call crtgetresolution - patchMemory(0x08448468, "0005"); // set crtgetresolution to 640x480 - patchMemory(0x0844846c, "0003"); - - setVariable(0x08448338, gWidth); - setVariable(0x0844833c, gHeight); - - detourFunction(0x0804c024, glVertex3fHOD4); - detourFunction(0x0804ca54, myGlBindTexture); - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVB: - { - if (gWidth == 1280 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - setVariable(0x084c3a9c, 1280); - return 0; - } - else if (gWidth == 640 && gHeight == 480) - { - break; - } - patchMemory(0x0804d174, "9090909090"); // setresolutiontype - setVariable(0x084c3a9c, gWidth); - setVariable(0x08443118, gWidth); - setVariable(0x0844311c, gHeight); - patchMemory(0x08443120, "0005"); - patchMemory(0x08443124, "0003"); - patchMemory(0x0818080d, "e89eccecff"); // call crtgetresolution - patchMemory(0x08443128, "0005"); // set crtgetresolution to 640x480 - patchMemory(0x0844312c, "0003"); - - setVariable(0x08442ff8, gWidth); - setVariable(0x08442ffc, gHeight); - - detourFunction(0x0804c014, glVertex3fHOD4); - detourFunction(0x0804ca84, myGlBindTexture); - } - break; - case THE_HOUSE_OF_THE_DEAD_4_REVC: - { - if (gWidth == 1280 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - setVariable(0x084c3a9c, 1280); - return 0; - } - else if (gWidth == 640 && gHeight == 480) - { - break; - } - patchMemory(0x0804d174, "9090909090"); // setresolutiontype - setVariable(0x084c3a9c, gWidth); - setVariable(0x08443118, gWidth); - setVariable(0x0844311c, gHeight); - patchMemory(0x08443120, "0005"); // gallwinres (2D) - patchMemory(0x08443124, "0003"); - patchMemory(0x0818080d, "e89eccecff"); // sideselect fix - patchMemory(0x08443128, "0005"); - patchMemory(0x0844312c, "0003"); - - setVariable(0x08442ff8, gWidth); - setVariable(0x08442ffc, gHeight); - - detourFunction(0x0804c014, glVertex3fHOD4); - detourFunction(0x0804ca84, myGlBindTexture); - } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - { - if (gWidth <= 1024 && gHeight <= 768) - break; - patchMemory(0x0804d2f4, "9090909090"); // setresolutiontype - setVariable(0x084563c4, gWidth); - setVariable(0x08424448, gWidth); - setVariable(0x0842444c, gHeight); - patchMemory(0x0815bfa9, "e8de7f0100"); // sideselect fix - patchMemory(0x08424450, "0004"); - patchMemory(0x08424454, "0003"); - } - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - { - if (gWidth <= 1024 && gHeight <= 768) - break; - patchMemory(0x0804d7e2, "9090909090"); // setresolutiontype - setVariable(0x084c35c4, gWidth); - setVariable(0x08491648, gWidth); - setVariable(0x0849164c, gHeight); - patchMemory(0x081b268f, "e8264d0200"); // sideselect fix - patchMemory(0x08491650, "0004"); - patchMemory(0x08491654, "0003"); - } - break; - case THE_HOUSE_OF_THE_DEAD_EX: - { - if (gWidth == 1360 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - setVariable(0x087aa080, 1280); // render res - break; - } - else if (gWidth == 640 && gHeight == 480) - { - break; - } - setVariable(0x08785b80, gWidth); // main - setVariable(0x08785b84, gHeight); - - patchMemory(0x082a3222, "02"); - setVariable(0x08785ad8, 1360); // sprite res 1280x768 - setVariable(0x08785adc, 768); - setVariable(0x087859b8, 1360); // sprite res 640x480 - setVariable(0x087859bc, 768); - - patchMemory(0x081775d2, "b801000000"); // target - patchMemory(0x0804e5d2, "909090909090"); - - setVariable(0x087aa080, gWidth); // render res - patchMemory(0x0804e60c, "909090909090"); - patchMemory(0x0828cc2f, "909090909090"); - } - break; - case TOO_SPICY: - { - if (gWidth == 1280 && gHeight == 768) - { - if (getConfig()->boostRenderRes) - setVariable(0x08202b22, 1280); // render res - break; - } - else if (gWidth == 640 && gHeight == 480) - { - break; - } - setVariable(0x08202b22, gWidth); // render res - patchMemory(0x08202b19, "74"); - setVariable(0x08664410, gWidth); // 1280x768 - setVariable(0x08664414, gHeight); - detourFunction(0x0804d0d0, glVertex3f2SP); - detourFunction(0x0804dda0, myGlBindTexture); - replaceCallAtAddress(0x080d96ff, tooSpicySC); - replaceCallAtAddress(0x080da026, tooSpicyPR); - detourFunction(0x0804ce10, tooSpicyVsprintf); - patchMemory(0x081f96b9, "02"); // 5 - } - break; - case TOO_SPICY_TEST: - { - if (gWidth <= 1280 && gHeight <= 768) - break; - setVariable(0x080565b3, gWidth); - setVariable(0x080565bb, gHeight); - } - break; - case VIRTUA_FIGHTER_5: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - return 0; - patchMemory(0x08054057, "b80a000000"); // Skips resolution set by the Dip Switches. - setVariable(0x0847cf58, gWidth); - setVariable(0x0847cf5c, gHeight); - replaceCallAtAddress(0x080d40c4, vf5WidthFix); - } - break; - case VIRTUA_FIGHTER_5_EXPORT: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x08052b97, "01"); // Enable Anti Alias - patchMemory(0x08053c67, "b80a000000"); // Skips resolution set by the Dip Switches. - setVariable(0x085259f8, gWidth); - setVariable(0x085259fc, gHeight); - } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x08054b5e, "01"); // Enable Anti Alias - patchMemory(0x08055980, "b80a000000"); // Skips resolution set by the Dip Switches. - vf5FSwidth = (gHeight * 5) / 3; - setVariable(0x088b2bd8, vf5FSwidth); - setVariable(0x088b2bdc, gHeight); - setVariable(0x088b2bec, gWidth); - setVariable(0x088b2bf0, gHeight); - } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x080548c4, "01"); // Enable Anti Alias - patchMemory(0x080556e6, "b80a000000"); // Skips resolution set by the Dip Switches. - vf5FSwidth = (gHeight * 5) / 3; - setVariable(0x088d2b78, vf5FSwidth); - setVariable(0x088d2b7c, gHeight); - setVariable(0x088d2b8c, gWidth); - setVariable(0x088d2b90, gHeight); - } - break; - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x08054bfe, "01"); // Enable Anti Alias - patchMemory(0x08055a20, "b80a000000"); // Skips resolution set by the Dip Switches. - vf5FSwidth = (gHeight * 5) / 3; - setVariable(0x088d53d8, vf5FSwidth); - setVariable(0x088d53dc, gHeight); - setVariable(0x088d53ec, gWidth); - setVariable(0x088d53f0, gHeight); - } - break; - case VIRTUA_FIGHTER_5_R: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x0805421a, "01"); // Enable Anti Alias - patchMemory(0x080554b0, "b80a000000"); // Skips resolution set by the Dip Switches. - vf5FSwidth = (gHeight * 5) / 3; - setVariable(0x08767d58, vf5FSwidth); - setVariable(0x08767d5c, gHeight); - setVariable(0x08767d6c, gWidth); - setVariable(0x08767d70, gHeight); - } - break; - case VIRTUA_FIGHTER_5_R_REVD: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x080543aa, "01"); // Enable Anti Alias - patchMemory(0x080555f6, "b80a000000"); // Skips resolution set by the Dip Switches. - vf5FSwidth = (gHeight * 5) / 3; - setVariable(0x08822b18, vf5FSwidth); - setVariable(0x08822b1c, gHeight); - setVariable(0x08822b2c, gWidth); - setVariable(0x08822b30, gHeight); - } - break; - case VIRTUA_FIGHTER_5_R_REVG: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x0805436a, "01"); // Enable Anti Alias - patchMemory(0x0805577c, "b80a000000"); // Skips resolution set by the Dip Switches. - vf5FSwidth = (gHeight * 5) / 3; - setVariable(0x0887d4d8, vf5FSwidth); - setVariable(0x0887d4dc, gHeight); - setVariable(0x0887d4ec, gWidth); - setVariable(0x0887d4f0, gHeight); - } - break; - case VIRTUA_FIGHTER_5_REVA: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x8053167, "01"); // Enable Anti Alias - patchMemory(0x080541af, "b80a000000"); // Skips resolution set by the Dip Switches. - setVariable(0x08487df8, gWidth); - setVariable(0x08487dfc, gHeight); - } - break; - case VIRTUA_FIGHTER_5_REVB: - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x08053673, "01"); // Enable Anti Alias - patchMemory(0x080546cf, "b80a000000"); // Skips resolution set by the Dip Switches. - setVariable(0x08536bb8, gWidth); - setVariable(0x08536bbc, gHeight); - } - break; - case VIRTUA_FIGHTER_5_REVE: // Also the public REV C version - { - if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) - break; - patchMemory(0x080546c7, "01"); // Enable Anti Alias - patchMemory(0x080557a3, "b80a000000"); // Skips resolution set by the Dip Switches. - setVariable(0x085efb18, gWidth); - setVariable(0x085efb1c, gHeight); - } - break; - case VIRTUA_TENNIS_3: - { - if (gWidth <= 1360 && gHeight <= 768) - break; - patchMemory(0x081759b3, "9090"); - setVariable(0x081759bb, gWidth); - setVariable(0x081759c5, gHeight); - - // setPerspective - newVT3 = gWidth / 1360.0; - intnewVT3PTr = (uint32_t *)&newVT3; - - setVariable(0x082682b6, (size_t)intnewVT3PTr); - - // vecToScr_check - newVT3HW = (gWidth / 1360.0) * 320.0; - newVT3HH = (gHeight / 768.0) * 240.0; - intnewVT3HWPTr = (uint32_t *)&newVT3HW; - intnewVT3HHPTr = (uint32_t *)&newVT3HH; - uint32_t addressvt31 = 0x0817a55e; - setVariable(addressvt31, (size_t)intnewVT3HWPTr); - setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); - } - break; - case VIRTUA_TENNIS_3_REVA: - { - if (gWidth <= 1360 && gHeight <= 768) - break; - patchMemory(0x081759e3, "9090"); - setVariable(0x081759eb, gWidth); - setVariable(0x081759f5, gHeight); - - // setPerspective - newVT3 = gWidth / 1360.0; - intnewVT3PTr = (uint32_t *)&newVT3; - - setVariable(0x082682e6, (size_t)intnewVT3PTr); - - // vecToScr_check - newVT3HW = (gWidth / 1360.0) * 320.0; - newVT3HH = (gHeight / 768.0) * 240.0; - intnewVT3HWPTr = (uint32_t *)&newVT3HW; - intnewVT3HHPTr = (uint32_t *)&newVT3HH; - uint32_t addressvt31 = 0x0817a58e; - setVariable(addressvt31, (size_t)intnewVT3HWPTr); - setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); - } - break; - case VIRTUA_TENNIS_3_REVB: - { - if (gWidth <= 1360 && gHeight <= 768) - break; - patchMemory(0x08175ad7, "9090"); - setVariable(0x08175adf, gWidth); - setVariable(0x08175ae9, gHeight); - - // setPerspective - newVT3 = gWidth / 1360.0; - intnewVT3PTr = (uint32_t *)&newVT3; - - setVariable(0x082684d2, (size_t)intnewVT3PTr); - - // vecToScr_check - newVT3HW = (gWidth / 1360.0) * 320.0; - newVT3HH = (gHeight / 768.0) * 240.0; - intnewVT3HWPTr = (uint32_t *)&newVT3HW; - intnewVT3HHPTr = (uint32_t *)&newVT3HH; - uint32_t addressvt31 = 0x0817a77a; - setVariable(addressvt31, (size_t)intnewVT3HWPTr); - setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); - } - break; - case VIRTUA_TENNIS_3_REVC: - { - if (gWidth <= 1360 && gHeight <= 768) - break; - patchMemory(0x08175b03, "9090"); - setVariable(0x08175b0b, gWidth); - setVariable(0x08175b15, gHeight); - - // setPerspective - newVT3 = gWidth / 1360.0; - intnewVT3PTr = (uint32_t *)&newVT3; - - setVariable(0x082684fe, (size_t)intnewVT3PTr); - - // vecToScr_check - newVT3HW = (gWidth / 1360.0) * 320.0; - newVT3HH = (gHeight / 768.0) * 240.0; - intnewVT3HWPTr = (uint32_t *)&newVT3HW; - intnewVT3HHPTr = (uint32_t *)&newVT3HH; - uint32_t addressvt31 = 0x0817a7a6; - setVariable(addressvt31, (size_t)intnewVT3HWPTr); - setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); - } - break; - case VIRTUA_TENNIS_3_REVC_TEST: - { - setVariable(0x0806fb3b, gWidth); - setVariable(0x0806fb04, gHeight); - } - break; - default: break; + case RAMBO: + { + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + setVariable(0x08416df0, gWidth); // render res + break; + } + else if (gWidth == 640 && gHeight == 480) + { + break; + } + patchMemoryFromString(0x080c70d0, "9090909090"); // setresolutiontype + setVariable(0x08416df0, gWidth); // render res + setVariable(0x08416d60, gWidth); // main res + setVariable(0x08416d64, gHeight); + patchMemoryFromString(0x08416d68, "5005"); // Allwinres + patchMemoryFromString(0x08416d6c, "0003"); + + patchMemoryFromString(0x080ef960, "66ff"); // 2d + patchMemoryFromString(0x0806b510, "b6"); // proper marker fix + // patchMemory(0x0806b4f6, "c3"); //get rid of shot marker + } + break; + case RAMBO_CHINA: + { + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + setVariable(0x08417450, gWidth); // render res + break; + } + else if (gWidth == 640 && gHeight == 480) + { + break; + } + patchMemoryFromString(0x080c7014, "9090909090"); // setresolutiontype + setVariable(0x08417450, gWidth); // render res + setVariable(0x084173c0, gWidth); // main res + setVariable(0x084173c4, gHeight); + patchMemoryFromString(0x084173c8, "5005"); // Allwinres + patchMemoryFromString(0x084173cc, "0003"); + + patchMemoryFromString(0x080ef7e0, "66ff"); // 2d + patchMemoryFromString(0x0806b478, "ce"); // proper marker fix + // patchMemory(0x0806b4f6, "c3"); //get rid of shot marker + } + break; + case R_TUNED: + { + patchMemoryFromString(0x08051c2b, "01"); // Enable Anti Alias + patchMemoryFromString(0x08052d58, "b80a000000"); // Skips resolution set by the Dip Switches. + setVariable(0x083c7db8, gWidth); + setVariable(0x083c7dbc, gHeight); + patchMemoryFromString(0x083c7dc0, "00"); + } + break; + case SEGABOOT_2_4_SYM: + { + patchMemoryFromString(0x08050ad3, "9090"); + patchMemoryFromString(0x08050ac4, "07"); + patchMemoryFromString(0x08050c00, "07"); + patchMemoryFromString(0x08050c12, "07"); + patchMemoryFromString(0x08050c25, "07"); + patchMemoryFromString(0x08050c37, "07"); + setVariable(0x08064611, gWidth); + setVariable(0x080645c6, gHeight); + } + break; + case SEGABOOT_2_4: + { + patchMemoryFromString(0x08059799, "9090"); + patchMemoryFromString(0x080597b6, "07"); + patchMemoryFromString(0x0805978e, "07"); + patchMemoryFromString(0x080597a7, "07"); + patchMemoryFromString(0x080597c7, "07"); + patchMemoryFromString(0x08059780, "07"); + patchMemoryFromString(0x08059768, "07"); + setVariable(0x0809129d, gWidth); + setVariable(0x08091252, gHeight); + } + break; + case SEGA_RACE_TV: + { + if (gWidth == 640 && gHeight == 480) + break; + if (getConfig()->keepAspectRatio) + { + srtvX = (gWidth - (gHeight / 3) * 4) / 2; + srtvW = (gHeight / 3) * 4; + } + else + { + srtvW = gWidth; + } + srtvH = gHeight; + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVA: + { + if (gWidth == 1280 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + setVariable(0x084c9dbc, 1280); + return 0; + } + else if (gWidth == 640 && gHeight == 480) + { + break; + } + patchMemoryFromString(0x0804d142, "9090909090"); // setresolutiontype + setVariable(0x084c9dbc, gWidth); + setVariable(0x08448458, gWidth); + setVariable(0x0844845c, gHeight); + patchMemoryFromString(0x08448460, "0005"); + patchMemoryFromString(0x08448464, "0003"); + patchMemoryFromString(0x0817ff6d, "e80ed5ecff"); // call crtgetresolution + patchMemoryFromString(0x08448468, "0005"); // set crtgetresolution to 640x480 + patchMemoryFromString(0x0844846c, "0003"); + + setVariable(0x08448338, gWidth); + setVariable(0x0844833c, gHeight); + + detourFunction(0x0804c024, glVertex3fHOD4); + detourFunction(0x0804ca54, myGlBindTexture); + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVB: + { + if (gWidth == 1280 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + setVariable(0x084c3a9c, 1280); + return 0; + } + else if (gWidth == 640 && gHeight == 480) + { + break; + } + patchMemoryFromString(0x0804d174, "9090909090"); // setresolutiontype + setVariable(0x084c3a9c, gWidth); + setVariable(0x08443118, gWidth); + setVariable(0x0844311c, gHeight); + patchMemoryFromString(0x08443120, "0005"); + patchMemoryFromString(0x08443124, "0003"); + patchMemoryFromString(0x0818080d, "e89eccecff"); // call crtgetresolution + patchMemoryFromString(0x08443128, "0005"); // set crtgetresolution to 640x480 + patchMemoryFromString(0x0844312c, "0003"); + + setVariable(0x08442ff8, gWidth); + setVariable(0x08442ffc, gHeight); + + detourFunction(0x0804c014, glVertex3fHOD4); + detourFunction(0x0804ca84, myGlBindTexture); + } + break; + case THE_HOUSE_OF_THE_DEAD_4_REVC: + { + if (gWidth == 1280 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + setVariable(0x084c3a9c, 1280); + return 0; + } + else if (gWidth == 640 && gHeight == 480) + { + break; + } + patchMemoryFromString(0x0804d174, "9090909090"); // setresolutiontype + setVariable(0x084c3a9c, gWidth); + setVariable(0x08443118, gWidth); + setVariable(0x0844311c, gHeight); + patchMemoryFromString(0x08443120, "0005"); // gallwinres (2D) + patchMemoryFromString(0x08443124, "0003"); + patchMemoryFromString(0x0818080d, "e89eccecff"); // sideselect fix + patchMemoryFromString(0x08443128, "0005"); + patchMemoryFromString(0x0844312c, "0003"); + + setVariable(0x08442ff8, gWidth); + setVariable(0x08442ffc, gHeight); + + detourFunction(0x0804c014, glVertex3fHOD4); + detourFunction(0x0804ca84, myGlBindTexture); + } + break; + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: + { + if (gWidth <= 1024 && gHeight <= 768) + break; + patchMemoryFromString(0x0804d2f4, "9090909090"); // setresolutiontype + setVariable(0x084563c4, gWidth); + setVariable(0x08424448, gWidth); + setVariable(0x0842444c, gHeight); + patchMemoryFromString(0x0815bfa9, "e8de7f0100"); // sideselect fix + patchMemoryFromString(0x08424450, "0004"); + patchMemoryFromString(0x08424454, "0003"); + } + break; + case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: + { + if (gWidth <= 1024 && gHeight <= 768) + break; + patchMemoryFromString(0x0804d7e2, "9090909090"); // setresolutiontype + setVariable(0x084c35c4, gWidth); + setVariable(0x08491648, gWidth); + setVariable(0x0849164c, gHeight); + patchMemoryFromString(0x081b268f, "e8264d0200"); // sideselect fix + patchMemoryFromString(0x08491650, "0004"); + patchMemoryFromString(0x08491654, "0003"); + } + break; + case THE_HOUSE_OF_THE_DEAD_EX: + { + if (gWidth == 1360 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + setVariable(0x087aa080, 1280); // render res + break; + } + else if (gWidth == 640 && gHeight == 480) + { + setVariable(0x087aa080, 1280); // render res + break; + } + setVariable(0x08785b80, gWidth); // main + setVariable(0x08785b84, gHeight); + + patchMemoryFromString(0x082a3222, "02"); + setVariable(0x08785ad8, 1360); // sprite res 1280x768 + setVariable(0x08785adc, 768); + setVariable(0x087859b8, 1360); // sprite res 640x480 + setVariable(0x087859bc, 768); + + patchMemoryFromString(0x081775d2, "b801000000"); // target + patchMemoryFromString(0x0804e5d2, "909090909090"); + + setVariable(0x087aa080, gWidth); // render res + patchMemoryFromString(0x0804e60c, "909090909090"); + patchMemoryFromString(0x0828cc2f, "909090909090"); + } + break; + case TOO_SPICY: + { + if (gWidth == 1280 && gHeight == 768) + { + if (getConfig()->boostRenderRes) + setVariable(0x08202b22, 1280); // render res + break; + } + else if (gWidth == 640 && gHeight == 480) + { + break; + } + setVariable(0x08202b22, gWidth); // render res + patchMemoryFromString(0x08202b19, "74"); + setVariable(0x08664410, gWidth); // 1280x768 + setVariable(0x08664414, gHeight); + detourFunction(0x0804d0d0, glVertex3f2SP); + detourFunction(0x0804dda0, myGlBindTexture); + replaceCallAtAddress(0x080d96ff, tooSpicySC); + replaceCallAtAddress(0x080da026, tooSpicyPR); + detourFunction(0x0804ce10, tooSpicyVsprintf); + patchMemoryFromString(0x081f96b9, "02"); // 5 + } + break; + case TOO_SPICY_TEST: + { + if (gWidth <= 1280 && gHeight <= 768) + break; + setVariable(0x080565b3, gWidth); + setVariable(0x080565bb, gHeight); + } + break; + case VIRTUA_FIGHTER_5: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + return 0; + patchMemoryFromString(0x08054057, "b80a000000"); // Skips resolution set by the Dip Switches. + setVariable(0x0847cf58, gWidth); + setVariable(0x0847cf5c, gHeight); + replaceCallAtAddress(0x080d40c4, vf5WidthFix); + } + break; + case VIRTUA_FIGHTER_5_EXPORT: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x08052b97, "01"); // Enable Anti Alias + patchMemoryFromString(0x08053c67, "b80a000000"); // Skips resolution set by the Dip Switches. + setVariable(0x085259f8, gWidth); + setVariable(0x085259fc, gHeight); + } + break; + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x08054b5e, "01"); // Enable Anti Alias + patchMemoryFromString(0x08055980, "b80a000000"); // Skips resolution set by the Dip Switches. + vf5FSwidth = (gHeight * 5) / 3; + setVariable(0x088b2bd8, vf5FSwidth); + setVariable(0x088b2bdc, gHeight); + setVariable(0x088b2bec, gWidth); + setVariable(0x088b2bf0, gHeight); + } + break; + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x080548c4, "01"); // Enable Anti Alias + patchMemoryFromString(0x080556e6, "b80a000000"); // Skips resolution set by the Dip Switches. + vf5FSwidth = (gHeight * 5) / 3; + setVariable(0x088d2b78, vf5FSwidth); + setVariable(0x088d2b7c, gHeight); + setVariable(0x088d2b8c, gWidth); + setVariable(0x088d2b90, gHeight); + } + break; + case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x08054bfe, "01"); // Enable Anti Alias + patchMemoryFromString(0x08055a20, "b80a000000"); // Skips resolution set by the Dip Switches. + vf5FSwidth = (gHeight * 5) / 3; + setVariable(0x088d53d8, vf5FSwidth); + setVariable(0x088d53dc, gHeight); + setVariable(0x088d53ec, gWidth); + setVariable(0x088d53f0, gHeight); + } + break; + case VIRTUA_FIGHTER_5_R: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x0805421a, "01"); // Enable Anti Alias + patchMemoryFromString(0x080554b0, "b80a000000"); // Skips resolution set by the Dip Switches. + vf5FSwidth = (gHeight * 5) / 3; + setVariable(0x08767d58, vf5FSwidth); + setVariable(0x08767d5c, gHeight); + setVariable(0x08767d6c, gWidth); + setVariable(0x08767d70, gHeight); + } + break; + case VIRTUA_FIGHTER_5_R_REVD: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x080543aa, "01"); // Enable Anti Alias + patchMemoryFromString(0x080555f6, "b80a000000"); // Skips resolution set by the Dip Switches. + vf5FSwidth = (gHeight * 5) / 3; + setVariable(0x08822b18, vf5FSwidth); + setVariable(0x08822b1c, gHeight); + setVariable(0x08822b2c, gWidth); + setVariable(0x08822b30, gHeight); + } + break; + case VIRTUA_FIGHTER_5_R_REVG: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x0805436a, "01"); // Enable Anti Alias + patchMemoryFromString(0x0805577c, "b80a000000"); // Skips resolution set by the Dip Switches. + vf5FSwidth = (gHeight * 5) / 3; + setVariable(0x0887d4d8, vf5FSwidth); + setVariable(0x0887d4dc, gHeight); + setVariable(0x0887d4ec, gWidth); + setVariable(0x0887d4f0, gHeight); + } + break; + case VIRTUA_FIGHTER_5_REVA: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x8053167, "01"); // Enable Anti Alias + patchMemoryFromString(0x080541af, "b80a000000"); // Skips resolution set by the Dip Switches. + setVariable(0x08487df8, gWidth); + setVariable(0x08487dfc, gHeight); + } + break; + case VIRTUA_FIGHTER_5_REVB: + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x08053673, "01"); // Enable Anti Alias + patchMemoryFromString(0x080546cf, "b80a000000"); // Skips resolution set by the Dip Switches. + setVariable(0x08536bb8, gWidth); + setVariable(0x08536bbc, gHeight); + } + break; + case VIRTUA_FIGHTER_5_REVE: // Also the public REV C version + { + if ((gWidth == 640 && gHeight == 480) || (gWidth == 1280 && gHeight == 768)) + break; + patchMemoryFromString(0x080546c7, "01"); // Enable Anti Alias + patchMemoryFromString(0x080557a3, "b80a000000"); // Skips resolution set by the Dip Switches. + setVariable(0x085efb18, gWidth); + setVariable(0x085efb1c, gHeight); + } + break; + case VIRTUA_TENNIS_3: + { + if (gWidth <= 1360 && gHeight <= 768) + break; + patchMemoryFromString(0x081759b3, "9090"); + setVariable(0x081759bb, gWidth); + setVariable(0x081759c5, gHeight); + + // setPerspective + newVT3 = gWidth / 1360.0; + uint32_t *intnewVT3PTr = (uint32_t *)&newVT3; + + setVariable(0x082682b6, (size_t)intnewVT3PTr); + + // vecToScr_check + newVT3HW = (gWidth / 1360.0) * 320.0; + newVT3HH = (gHeight / 768.0) * 240.0; + uint32_t *intnewVT3HWPTr = (uint32_t *)&newVT3HW; + uint32_t *intnewVT3HHPTr = (uint32_t *)&newVT3HH; + uint32_t addressvt31 = 0x0817a55e; + setVariable(addressvt31, (size_t)intnewVT3HWPTr); + setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); + } + break; + case VIRTUA_TENNIS_3_REVA: + { + if (gWidth <= 1360 && gHeight <= 768) + break; + patchMemoryFromString(0x081759e3, "9090"); + setVariable(0x081759eb, gWidth); + setVariable(0x081759f5, gHeight); + + // setPerspective + newVT3 = gWidth / 1360.0; + uint32_t *intnewVT3PTr = (uint32_t *)&newVT3; + + setVariable(0x082682e6, (size_t)intnewVT3PTr); + + // vecToScr_check + newVT3HW = (gWidth / 1360.0) * 320.0; + newVT3HH = (gHeight / 768.0) * 240.0; + uint32_t *intnewVT3HWPTr = (uint32_t *)&newVT3HW; + uint32_t *intnewVT3HHPTr = (uint32_t *)&newVT3HH; + uint32_t addressvt31 = 0x0817a58e; + setVariable(addressvt31, (size_t)intnewVT3HWPTr); + setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); + } + break; + case VIRTUA_TENNIS_3_REVB: + { + if (gWidth <= 1360 && gHeight <= 768) + break; + patchMemoryFromString(0x08175ad7, "9090"); + setVariable(0x08175adf, gWidth); + setVariable(0x08175ae9, gHeight); + + // setPerspective + newVT3 = gWidth / 1360.0; + uint32_t *intnewVT3PTr = (uint32_t *)&newVT3; + + setVariable(0x082684d2, (size_t)intnewVT3PTr); + + // vecToScr_check + newVT3HW = (gWidth / 1360.0) * 320.0; + newVT3HH = (gHeight / 768.0) * 240.0; + uint32_t *intnewVT3HWPTr = (uint32_t *)&newVT3HW; + uint32_t *intnewVT3HHPTr = (uint32_t *)&newVT3HH; + uint32_t addressvt31 = 0x0817a77a; + setVariable(addressvt31, (size_t)intnewVT3HWPTr); + setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); + } + break; + case VIRTUA_TENNIS_3_REVC: + { + if (gWidth <= 1360 && gHeight <= 768) + break; + patchMemoryFromString(0x08175b03, "9090"); + setVariable(0x08175b0b, gWidth); + setVariable(0x08175b15, gHeight); + + // setPerspective + newVT3 = gWidth / 1360.0; + uint32_t *intnewVT3PTr = (uint32_t *)&newVT3; + + setVariable(0x082684fe, (size_t)intnewVT3PTr); + + // vecToScr_check + newVT3HW = (gWidth / 1360.0) * 320.0; + newVT3HH = (gHeight / 768.0) * 240.0; + uint32_t *intnewVT3HWPTr = (uint32_t *)&newVT3HW; + uint32_t *intnewVT3HHPTr = (uint32_t *)&newVT3HH; + uint32_t addressvt31 = 0x0817a7a6; + setVariable(addressvt31, (size_t)intnewVT3HWPTr); + setVariable(addressvt31 + 0x18, (size_t)intnewVT3HHPTr); + } + break; + default: + break; } return 0; } diff --git a/src/lindbergh/resources/LiberationMono-Regular.h b/src/lindbergh/resources/LiberationMono-Regular.h new file mode 100644 index 0000000..d5a6b66 --- /dev/null +++ b/src/lindbergh/resources/LiberationMono-Regular.h @@ -0,0 +1,29061 @@ +const unsigned char LiberationMonoRegular_ttf[319624] = { + 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x04, 0x00, + 0x20, 0x46, 0x46, 0x54, 0x4d, 0x87, 0xf4, 0x9b, 0xd8, 0x00, 0x04, + 0xa3, 0x14, 0x00, 0x00, 0x00, 0x1c, 0x47, 0x44, 0x45, 0x46, 0x78, + 0x20, 0x80, 0x7b, 0x00, 0x04, 0xa3, 0x30, 0x00, 0x00, 0x00, 0x92, + 0x47, 0x50, 0x4f, 0x53, 0xb0, 0xcb, 0xe9, 0x50, 0x00, 0x04, 0xa3, + 0xc4, 0x00, 0x00, 0x39, 0x16, 0x47, 0x53, 0x55, 0x42, 0x08, 0xa4, + 0x48, 0xd7, 0x00, 0x04, 0xdc, 0xdc, 0x00, 0x00, 0x03, 0xaa, 0x4f, + 0x53, 0x2f, 0x32, 0x00, 0x6e, 0xba, 0x86, 0x00, 0x00, 0x01, 0xa8, + 0x00, 0x00, 0x00, 0x60, 0x63, 0x6d, 0x61, 0x70, 0x1e, 0x03, 0xac, + 0xea, 0x00, 0x00, 0x27, 0xe4, 0x00, 0x00, 0x06, 0xba, 0x63, 0x76, + 0x74, 0x20, 0x67, 0x06, 0x6d, 0x57, 0x00, 0x00, 0x3b, 0xd0, 0x00, + 0x00, 0x02, 0xae, 0x66, 0x70, 0x67, 0x6d, 0x7e, 0x61, 0xb6, 0x11, + 0x00, 0x00, 0x2e, 0xa0, 0x00, 0x00, 0x07, 0xb4, 0x67, 0x61, 0x73, + 0x70, 0x00, 0x18, 0x00, 0x09, 0x00, 0x04, 0xa3, 0x04, 0x00, 0x00, + 0x00, 0x10, 0x67, 0x6c, 0x79, 0x66, 0x37, 0x85, 0xa4, 0x2f, 0x00, + 0x00, 0x64, 0x60, 0x00, 0x03, 0xd5, 0xe0, 0x68, 0x65, 0x61, 0x64, + 0x0c, 0x45, 0x4f, 0x2c, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x00, 0x00, + 0x36, 0x68, 0x68, 0x65, 0x61, 0x08, 0xc2, 0x06, 0x58, 0x00, 0x00, + 0x01, 0x64, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, 0x6f, + 0xdc, 0xb0, 0x54, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x25, 0xdc, + 0x6c, 0x6f, 0x63, 0x61, 0x12, 0xc6, 0xa1, 0x58, 0x00, 0x00, 0x3e, + 0x80, 0x00, 0x00, 0x25, 0xe0, 0x6d, 0x61, 0x78, 0x70, 0x0d, 0xee, + 0x04, 0xc0, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x00, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x34, 0x7d, 0xf2, 0xaf, 0x00, 0x04, 0x3a, 0x40, + 0x00, 0x00, 0x0b, 0xa3, 0x70, 0x6f, 0x73, 0x74, 0xd6, 0x1a, 0x0f, + 0x7b, 0x00, 0x04, 0x45, 0xe4, 0x00, 0x00, 0x5d, 0x1d, 0x70, 0x72, + 0x65, 0x70, 0xc8, 0xf3, 0x8c, 0x8f, 0x00, 0x00, 0x36, 0x54, 0x00, + 0x00, 0x05, 0x7a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x19, 0x99, + 0x0b, 0x3d, 0x0d, 0x0a, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x1f, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x43, 0x7a, 0xa7, 0x00, 0x00, + 0x00, 0x00, 0xe2, 0xb7, 0x70, 0x7c, 0xfc, 0x25, 0xfd, 0x99, 0x05, + 0xf1, 0x07, 0xd9, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0xa9, 0xfd, + 0x99, 0x00, 0x00, 0x04, 0xcd, 0xfc, 0x25, 0xfa, 0x7a, 0x05, 0xf1, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x77, 0x00, 0x01, 0x00, 0x00, + 0x09, 0x77, 0x01, 0x22, 0x00, 0x48, 0x00, 0x5b, 0x00, 0x06, 0x00, + 0x02, 0x00, 0x10, 0x00, 0x2f, 0x00, 0x5c, 0x00, 0x00, 0x03, 0xb9, + 0x03, 0x11, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x04, 0xcd, 0x01, + 0x90, 0x00, 0x05, 0x00, 0x00, 0x05, 0x9a, 0x05, 0x33, 0x00, 0x00, + 0x01, 0x1d, 0x05, 0x9a, 0x05, 0x33, 0x00, 0x00, 0x03, 0x61, 0x00, + 0x66, 0x02, 0x12, 0x08, 0x05, 0x02, 0x07, 0x04, 0x09, 0x02, 0x02, + 0x05, 0x02, 0x04, 0x04, 0xe0, 0x00, 0x0a, 0xff, 0x40, 0x00, 0x78, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x31, 0x41, + 0x53, 0x43, 0x00, 0x40, 0x00, 0x20, 0xfe, 0x23, 0x04, 0xe7, 0xfe, + 0x7e, 0x00, 0x00, 0x06, 0xa9, 0x02, 0x67, 0x60, 0x00, 0x01, 0xbf, + 0xdf, 0xf7, 0x00, 0x00, 0x04, 0x3a, 0x05, 0x45, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x0e, 0x04, 0xcd, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x02, + 0x03, 0x04, 0xcd, 0x01, 0x15, 0x04, 0xcd, 0x00, 0x36, 0x04, 0xcd, + 0x00, 0x42, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x2b, 0x04, + 0xcd, 0x01, 0xf6, 0x04, 0xcd, 0x01, 0x56, 0x04, 0xcd, 0x01, 0x50, + 0x04, 0xcd, 0x00, 0xf8, 0x04, 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x01, + 0x03, 0x04, 0xcd, 0x01, 0x4e, 0x04, 0xcd, 0x01, 0xf0, 0x04, 0xcd, + 0x00, 0x72, 0x04, 0xcd, 0x00, 0x7c, 0x04, 0xcd, 0x00, 0x94, 0x04, + 0xcd, 0x00, 0x90, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x67, + 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x97, 0x04, 0xcd, 0x00, + 0x9e, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x8d, 0x04, 0xcd, + 0x01, 0xf0, 0x04, 0xcd, 0x01, 0x60, 0x04, 0xcd, 0x00, 0x74, 0x04, + 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x00, 0x5e, + 0x04, 0xcd, 0x00, 0x2c, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xc2, 0x04, 0xcd, 0x00, 0x71, 0x04, + 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0xb0, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xed, 0x04, 0xcd, 0x00, + 0x81, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0x4f, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0x8e, + 0x04, 0xcd, 0x00, 0x0a, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, + 0x24, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x49, 0x04, 0xcd, + 0x01, 0x9a, 0x04, 0xcd, 0x00, 0x73, 0x04, 0xcd, 0x01, 0x0e, 0x04, + 0xcd, 0x00, 0x85, 0x04, 0xcd, 0xff, 0xfb, 0x04, 0xcd, 0x01, 0x92, + 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0x82, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, + 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0xb9, 0x04, + 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0xec, + 0x04, 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x00, 0x63, 0x04, 0xcd, 0x00, + 0xb3, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, + 0x00, 0x8a, 0x04, 0xcd, 0x00, 0xf2, 0x04, 0xcd, 0x00, 0xa7, 0x04, + 0xcd, 0x00, 0xbe, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x45, + 0x04, 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, 0x5e, 0x04, 0xcd, 0x00, + 0x42, 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0xe3, 0x04, 0xcd, + 0x02, 0x13, 0x04, 0xcd, 0x00, 0xa7, 0x04, 0xcd, 0x00, 0x6c, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x02, 0x03, 0x04, 0xcd, 0xff, 0xcc, + 0x04, 0xcd, 0x00, 0x38, 0x04, 0xcd, 0x00, 0x9e, 0x04, 0xcd, 0x00, + 0x34, 0x04, 0xcd, 0x02, 0x13, 0x04, 0xcd, 0x00, 0x9f, 0x04, 0xcd, + 0x01, 0x4f, 0x04, 0xcd, 0x00, 0x1f, 0x04, 0xcd, 0x00, 0xce, 0x04, + 0xcd, 0x00, 0x7f, 0x04, 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x01, 0x4e, + 0x04, 0xcd, 0x00, 0x1f, 0x04, 0xcd, 0xff, 0xfb, 0x04, 0xcd, 0x01, + 0x47, 0x04, 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x01, 0x38, 0x04, 0xcd, + 0x01, 0x32, 0x04, 0xcd, 0x01, 0x92, 0x04, 0xcd, 0x00, 0x90, 0x04, + 0xcd, 0x00, 0x7f, 0x04, 0xcd, 0x01, 0xf0, 0x04, 0xcd, 0x00, 0x77, + 0x04, 0xcd, 0x01, 0x1d, 0x04, 0xcd, 0x00, 0xe2, 0x04, 0xcd, 0x00, + 0x6b, 0x04, 0xcd, 0x00, 0x1b, 0x04, 0xcd, 0x00, 0x11, 0x04, 0xcd, + 0x00, 0x0b, 0x04, 0xcd, 0x00, 0x99, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, + 0x01, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0xca, + 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0x1b, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, + 0x00, 0x66, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x66, 0x04, + 0xcd, 0x00, 0x9d, 0x04, 0xcd, 0x00, 0x38, 0x04, 0xcd, 0x00, 0x8e, + 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, + 0x8e, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0x8e, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x80, 0x04, + 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x80, + 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x14, 0x04, 0xcd, 0x00, + 0x82, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, + 0x00, 0x85, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x8f, 0x04, + 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x8f, + 0x04, 0xcd, 0x00, 0x7d, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0x82, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, + 0x00, 0x82, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x74, 0x04, + 0xcd, 0x00, 0x6e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xb9, + 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, + 0x42, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, + 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, + 0x71, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, + 0x00, 0x82, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x1f, 0x04, 0xcd, 0x00, 0x1b, + 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, + 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, + 0x71, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, + 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x8f, 0x04, + 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x02, + 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, + 0x8f, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, + 0x00, 0xca, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0xca, 0x04, + 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0x8f, + 0x04, 0xcd, 0x00, 0x62, 0x04, 0xcd, 0x00, 0xd8, 0x04, 0xcd, 0x00, + 0xb0, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xec, 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, 0x00, 0xed, 0x04, + 0xcd, 0x00, 0x86, 0x04, 0xcd, 0x00, 0xed, 0x04, 0xcd, 0x01, 0x0b, + 0x04, 0xcd, 0x00, 0xed, 0x04, 0xcd, 0x00, 0xda, 0x04, 0xcd, 0x00, + 0xed, 0x04, 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x00, 0x36, 0x04, 0xcd, + 0x00, 0x86, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb3, 0x04, + 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xa2, + 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0x05, 0x04, 0xcd, 0x00, + 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, + 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x14, + 0x04, 0xcd, 0x00, 0x1c, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0xf2, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xcb, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xf2, 0x04, 0xcd, 0x00, 0x4f, 0x04, + 0xcd, 0x00, 0xa7, 0x04, 0xcd, 0x00, 0x4f, 0x04, 0xcd, 0x00, 0xa7, + 0x04, 0xcd, 0x00, 0x4f, 0x04, 0xcd, 0x00, 0xa7, 0x04, 0xcd, 0x00, + 0x4f, 0x04, 0xcd, 0x00, 0xa7, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, + 0x00, 0xbe, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0x65, 0x04, + 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0xc8, 0x04, 0xcd, 0x00, 0x8e, + 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, + 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, + 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, + 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, + 0x24, 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, + 0x00, 0x49, 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0x49, 0x04, + 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0x49, 0x04, 0xcd, 0x00, 0x93, + 0x04, 0xcd, 0x01, 0x90, 0x04, 0xcd, 0x00, 0x3a, 0x04, 0xcd, 0xff, + 0xdd, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, + 0x00, 0x04, 0x04, 0xcd, 0x00, 0x39, 0x04, 0xcd, 0x00, 0x57, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x1b, + 0x04, 0xcd, 0xff, 0xdd, 0x04, 0xcd, 0x00, 0x39, 0x04, 0xcd, 0x00, + 0x8a, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x6b, 0x04, 0xcd, + 0x00, 0x67, 0x04, 0xcd, 0x00, 0x5d, 0x04, 0xcd, 0xff, 0xe0, 0x04, + 0xcd, 0x00, 0xea, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x05, + 0x04, 0xcd, 0x00, 0x69, 0x04, 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x00, + 0xca, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, + 0x00, 0x86, 0x04, 0xcd, 0x00, 0x72, 0x04, 0xcd, 0x00, 0x55, 0x04, + 0xcd, 0xff, 0xcb, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0x66, + 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, + 0x32, 0x04, 0xcd, 0x00, 0x26, 0x04, 0xcd, 0xff, 0xdd, 0x04, 0xcd, + 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x64, 0x04, + 0xcd, 0x00, 0xa9, 0x04, 0xcd, 0x00, 0x6c, 0x04, 0xcd, 0x00, 0xdf, + 0x04, 0xcd, 0x00, 0xbe, 0x04, 0xcd, 0x00, 0x14, 0x04, 0xcd, 0x00, + 0xbe, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, + 0x00, 0xb4, 0x04, 0xcd, 0x00, 0x3a, 0x04, 0xcd, 0x00, 0x8e, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0x49, + 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0x17, 0x04, 0xcd, 0x00, + 0x46, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x97, 0x04, 0xcd, + 0x00, 0x7b, 0x04, 0xcd, 0x00, 0x78, 0x04, 0xcd, 0x00, 0xa0, 0x04, + 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x02, 0x0c, + 0x04, 0xcd, 0x01, 0x72, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x02, + 0x03, 0x04, 0xcd, 0x00, 0x59, 0x04, 0xcd, 0x00, 0x59, 0x04, 0xcd, + 0x00, 0x32, 0x04, 0xcd, 0x00, 0x59, 0x04, 0xcd, 0x00, 0x59, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x59, 0x04, 0xcd, 0x00, 0x59, + 0x04, 0xcd, 0x00, 0x53, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, + 0x80, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, + 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x8e, 0x04, + 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, + 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, + 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, + 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, + 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, 0x00, 0x14, 0x04, 0xcd, 0x00, + 0x71, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, + 0x00, 0x8f, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xec, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x34, 0x04, 0xcd, 0x00, + 0x8b, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0x59, 0x04, 0xcd, + 0x00, 0x59, 0x04, 0xcd, 0x00, 0x32, 0x04, 0xcd, 0x00, 0x71, 0x04, + 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x5d, 0x04, 0xcd, 0x00, 0xa2, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xc6, 0x04, 0xcd, 0x00, + 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, + 0x00, 0x14, 0x04, 0xcd, 0x00, 0x38, 0x04, 0xcd, 0x00, 0x6e, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x5f, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0x73, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, + 0x00, 0x72, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0xca, 0x04, + 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x73, + 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x73, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xf2, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0x7d, 0x04, + 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x4f, + 0x04, 0xcd, 0x00, 0xa7, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, + 0xbe, 0x04, 0xcd, 0x00, 0x78, 0x04, 0xcd, 0x00, 0xa4, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x59, 0x04, 0xcd, 0x00, 0x80, + 0x04, 0xcd, 0x00, 0x49, 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, + 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0x85, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, + 0x82, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, + 0x00, 0xd6, 0x04, 0xcd, 0x00, 0x88, 0x04, 0xcd, 0x00, 0x81, 0x04, + 0xcd, 0x00, 0x46, 0x04, 0xcd, 0x00, 0x46, 0x04, 0xcd, 0xff, 0xff, + 0x04, 0xcd, 0x00, 0x29, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, + 0x63, 0x04, 0xcd, 0x00, 0x29, 0x04, 0xcd, 0x00, 0xaf, 0x04, 0xcd, + 0x00, 0xaa, 0x04, 0xcd, 0x00, 0x33, 0x04, 0xcd, 0x00, 0xc8, 0x04, + 0xcd, 0x00, 0x21, 0x04, 0xcd, 0x00, 0x0b, 0x04, 0xcd, 0x00, 0x0a, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x79, 0x04, 0xcd, 0x00, + 0xb0, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, + 0x00, 0x84, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0xaa, 0x04, + 0xcd, 0x00, 0x0b, 0x04, 0xcd, 0x00, 0x25, 0x04, 0xcd, 0x00, 0x31, + 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0xb3, 0x04, 0xcd, 0x00, 0x8b, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, + 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x85, 0x04, + 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x2f, 0x04, 0xcd, 0x00, 0xaf, + 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, + 0x86, 0x04, 0xcd, 0x00, 0x78, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, + 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x31, 0x04, + 0xcd, 0x00, 0x07, 0x04, 0xcd, 0x00, 0xb4, 0x04, 0xcd, 0x00, 0xb9, + 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, + 0xf6, 0x04, 0xcd, 0x00, 0xcd, 0x04, 0xcd, 0x00, 0x86, 0x04, 0xcd, + 0x00, 0x86, 0x04, 0xcd, 0x00, 0xe1, 0x04, 0xcd, 0x00, 0xb9, 0x04, + 0xcd, 0x00, 0x68, 0x04, 0xcd, 0x00, 0x68, 0x04, 0xcd, 0x00, 0x63, + 0x04, 0xcd, 0xff, 0xfe, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0xb9, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x38, 0x04, 0xcd, + 0x00, 0x34, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0xb8, 0x04, + 0xcd, 0x00, 0xb8, 0x04, 0xcd, 0x00, 0xb8, 0x04, 0xcd, 0x00, 0xf2, + 0x04, 0xcd, 0x00, 0xf2, 0x04, 0xcd, 0x01, 0x1c, 0x04, 0xcd, 0x00, + 0xb8, 0x04, 0xcd, 0x00, 0xb8, 0x04, 0xcd, 0x00, 0xb8, 0x04, 0xcd, + 0x00, 0xa7, 0x04, 0xcd, 0x00, 0xff, 0x04, 0xcd, 0x00, 0xff, 0x04, + 0xcd, 0x01, 0x02, 0x04, 0xcd, 0x00, 0x72, 0x04, 0xcd, 0x00, 0xb1, + 0x04, 0xcd, 0x00, 0xbe, 0x04, 0xcd, 0x00, 0x49, 0x04, 0xcd, 0x00, + 0x75, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0x45, 0x04, 0xcd, + 0x00, 0x15, 0x04, 0xcd, 0x00, 0x44, 0x04, 0xcd, 0x00, 0x3b, 0x04, + 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0x7a, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, + 0x85, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, + 0x00, 0x66, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x7a, 0x04, + 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0xb5, 0x04, 0xcd, 0x00, 0x49, + 0x04, 0xcd, 0x00, 0x68, 0x04, 0xcd, 0x01, 0x09, 0x04, 0xcd, 0x00, + 0x8a, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, + 0x00, 0x32, 0x04, 0xcd, 0x00, 0x32, 0x04, 0xcd, 0x00, 0x1e, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x2f, 0x04, 0xcd, 0xff, 0xec, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x46, 0x04, 0xcd, 0x00, + 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xad, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x01, 0x43, 0x04, + 0xcd, 0x01, 0x40, 0x04, 0xcd, 0x01, 0xaa, 0x04, 0xcd, 0x01, 0xcc, + 0x04, 0xcd, 0x01, 0x68, 0x04, 0xcd, 0x01, 0x5f, 0x04, 0xcd, 0x01, + 0x34, 0x04, 0xcd, 0x00, 0x6d, 0x04, 0xcd, 0x01, 0x0d, 0x04, 0xcd, + 0x01, 0xf6, 0x04, 0xcd, 0x01, 0x15, 0x04, 0xcd, 0x02, 0x02, 0x04, + 0xcd, 0x02, 0x02, 0x04, 0xcd, 0x02, 0x02, 0x04, 0xcd, 0x02, 0x26, + 0x04, 0xcd, 0x01, 0xee, 0x04, 0xcd, 0x01, 0x36, 0x04, 0xcd, 0x01, + 0x36, 0x04, 0xcd, 0x00, 0x6b, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, + 0x00, 0x76, 0x04, 0xcd, 0x00, 0x76, 0x04, 0xcd, 0x01, 0x1b, 0x04, + 0xcd, 0x01, 0x1b, 0x04, 0xcd, 0x02, 0x2e, 0x04, 0xcd, 0x01, 0x51, + 0x04, 0xcd, 0x01, 0xba, 0x04, 0xcd, 0x01, 0x60, 0x04, 0xcd, 0x02, + 0x2e, 0x04, 0xcd, 0x01, 0x54, 0x04, 0xcd, 0x01, 0xbe, 0x04, 0xcd, + 0x01, 0xbe, 0x04, 0xcd, 0x01, 0xfb, 0x04, 0xcd, 0x01, 0xfb, 0x04, + 0xcd, 0x02, 0x26, 0x04, 0xcd, 0x01, 0xee, 0x04, 0xcd, 0x01, 0xb3, + 0x04, 0xcd, 0x01, 0xb3, 0x04, 0xcd, 0x01, 0xb3, 0x04, 0xcd, 0x01, + 0x2e, 0x04, 0xcd, 0x01, 0x2d, 0x04, 0xcd, 0x02, 0x03, 0x04, 0xcd, + 0x01, 0x74, 0x04, 0xcd, 0x01, 0xb9, 0x04, 0xcd, 0x00, 0xff, 0x04, + 0xcd, 0x00, 0x1d, 0x04, 0xcd, 0xff, 0xe6, 0x04, 0xcd, 0x01, 0x14, + 0x04, 0xcd, 0x01, 0x20, 0x04, 0xcd, 0x01, 0x00, 0x04, 0xcd, 0x01, + 0x37, 0x04, 0xcd, 0x01, 0x1a, 0x04, 0xcd, 0x01, 0x36, 0x04, 0xcd, + 0x01, 0x74, 0x04, 0xcd, 0x01, 0x74, 0x04, 0xcd, 0x01, 0x74, 0x04, + 0xcd, 0x01, 0x74, 0x04, 0xcd, 0x01, 0x74, 0x04, 0xcd, 0x01, 0x73, + 0x04, 0xcd, 0x01, 0x73, 0x04, 0xcd, 0x01, 0x2a, 0x04, 0xcd, 0x01, + 0x2e, 0x04, 0xcd, 0x01, 0x1b, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, + 0x00, 0x81, 0x04, 0xcd, 0x00, 0xc8, 0x04, 0xcd, 0x00, 0xc8, 0x04, + 0xcd, 0x00, 0x8d, 0x04, 0xcd, 0x00, 0x8d, 0x04, 0xcd, 0xff, 0xe6, + 0x04, 0xcd, 0xff, 0xe7, 0x04, 0xcd, 0xff, 0xe9, 0x04, 0xcd, 0x02, + 0x05, 0x04, 0xcd, 0x01, 0x9b, 0x04, 0xcd, 0x01, 0x9b, 0x04, 0xcd, + 0x01, 0x9b, 0x04, 0xcd, 0x01, 0x9b, 0x04, 0xcd, 0x00, 0xed, 0x04, + 0xcd, 0x00, 0xea, 0x04, 0xcd, 0x01, 0x4b, 0x00, 0x00, 0xfd, 0xfc, + 0x00, 0x00, 0xfe, 0x95, 0x00, 0x00, 0xfe, 0xb5, 0x00, 0x00, 0xfc, + 0x43, 0x00, 0x00, 0xfe, 0xed, 0x00, 0x00, 0xfd, 0xab, 0x00, 0x00, + 0xfe, 0xdc, 0x00, 0x00, 0xff, 0xa6, 0x00, 0x00, 0xfe, 0xe9, 0x00, + 0x00, 0xfe, 0x17, 0x00, 0x00, 0xff, 0x38, 0x00, 0x00, 0xfe, 0x7f, + 0x00, 0x00, 0xfe, 0xb5, 0x00, 0x00, 0xff, 0xc9, 0x00, 0x00, 0xff, + 0x59, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0xfe, 0xdc, 0x00, 0x00, + 0xfe, 0xdc, 0x00, 0x00, 0xff, 0x9b, 0x00, 0x00, 0xff, 0x9b, 0x00, + 0x00, 0xff, 0x9b, 0x00, 0x00, 0xff, 0xf4, 0x00, 0x00, 0xff, 0x5b, + 0x00, 0x00, 0xff, 0x4f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, + 0x5e, 0x00, 0x00, 0xfe, 0x87, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, + 0xff, 0xa6, 0x00, 0x00, 0xff, 0x4c, 0x00, 0x00, 0xff, 0x4d, 0x00, + 0x00, 0xff, 0x4b, 0x00, 0x00, 0xfe, 0xc9, 0x00, 0x00, 0xff, 0x11, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf5, 0x00, 0x00, 0xfe, + 0xe9, 0x00, 0x00, 0xff, 0x38, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, + 0xff, 0x4a, 0x00, 0x00, 0xff, 0x4c, 0x00, 0x00, 0xff, 0xbd, 0x00, + 0x00, 0xfe, 0x87, 0x00, 0x00, 0xfe, 0x9d, 0x00, 0x00, 0xfe, 0xb9, + 0x00, 0x00, 0xfe, 0xb5, 0x00, 0x00, 0xfe, 0xdc, 0x00, 0x00, 0xfe, + 0xdc, 0x00, 0x00, 0xfe, 0x9a, 0x00, 0x00, 0xfe, 0xed, 0x00, 0x00, + 0xfd, 0xab, 0x00, 0x00, 0xfe, 0xc9, 0x00, 0x00, 0xfe, 0x9a, 0x00, + 0x00, 0xfe, 0xa1, 0x00, 0x00, 0xfd, 0xad, 0x00, 0x00, 0xfe, 0x00, + 0x00, 0x00, 0xfe, 0xe6, 0x00, 0x00, 0xff, 0xa3, 0x00, 0x00, 0xfe, + 0x87, 0x00, 0x00, 0xff, 0x44, 0x00, 0x00, 0xfe, 0xa2, 0x00, 0x00, + 0xff, 0x25, 0x00, 0x00, 0xff, 0x97, 0x00, 0x00, 0xfd, 0xac, 0x00, + 0x00, 0xfe, 0xb3, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0xfe, 0xa4, + 0x00, 0x00, 0xff, 0x9c, 0x00, 0x00, 0xfe, 0xab, 0x00, 0x00, 0xff, + 0xba, 0x00, 0x00, 0xfe, 0x87, 0x00, 0x00, 0xfe, 0x0d, 0x00, 0x00, + 0xff, 0x47, 0x00, 0x00, 0xff, 0x35, 0x00, 0x00, 0xfe, 0x9a, 0x00, + 0x00, 0xfe, 0x98, 0x00, 0x00, 0xfe, 0x9f, 0x00, 0x00, 0xfe, 0xef, + 0x00, 0x00, 0xff, 0x4f, 0x00, 0x00, 0xfd, 0x16, 0x00, 0x00, 0xff, + 0x74, 0x00, 0x00, 0xff, 0xa3, 0x00, 0x00, 0xfe, 0xdc, 0x00, 0x00, + 0xff, 0x25, 0x00, 0x00, 0xff, 0x74, 0x00, 0x00, 0xff, 0x74, 0x00, + 0x00, 0xfe, 0xe8, 0x00, 0x00, 0xff, 0xa4, 0x00, 0x00, 0x00, 0xf5, + 0x00, 0x00, 0xff, 0x41, 0x00, 0x00, 0xfe, 0xbf, 0x00, 0x00, 0xff, + 0x38, 0x00, 0x00, 0xff, 0x53, 0x00, 0x00, 0xff, 0x53, 0x00, 0x00, + 0xff, 0x53, 0x00, 0x00, 0xff, 0x53, 0x00, 0x00, 0xff, 0x53, 0x00, + 0x00, 0xff, 0x53, 0x00, 0x00, 0xff, 0x53, 0x00, 0x00, 0xfe, 0xb8, + 0x00, 0x00, 0xfe, 0xbc, 0x00, 0x00, 0xff, 0xc4, 0x00, 0x00, 0xfe, + 0xb3, 0x00, 0x00, 0xfe, 0xd8, 0x00, 0x00, 0xfe, 0xcd, 0x00, 0x00, + 0xfe, 0xc8, 0x00, 0x00, 0xfe, 0xe1, 0x00, 0x00, 0xfe, 0x18, 0x00, + 0x00, 0xff, 0x4f, 0x00, 0x00, 0xff, 0x57, 0x00, 0x00, 0xfe, 0xa9, + 0x00, 0x00, 0xfe, 0xb6, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, + 0x75, 0x00, 0x00, 0x00, 0xf0, 0x04, 0xcd, 0x00, 0x8b, 0x04, 0xcd, + 0x00, 0x82, 0x04, 0xcd, 0x00, 0x8b, 0x04, 0xcd, 0x01, 0x60, 0x04, + 0xcd, 0x01, 0xdb, 0x04, 0xcd, 0x01, 0x37, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x01, 0xf0, 0x04, 0xcd, 0xff, 0xcf, 0x04, 0xcd, 0x00, + 0x00, 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, 0xff, 0xcf, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0xff, 0xce, 0x04, 0xcd, 0x00, 0x95, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xe0, + 0x04, 0xcd, 0x00, 0x0c, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0x49, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, + 0x00, 0xca, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x0a, 0x04, + 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x87, + 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x6c, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, + 0x00, 0x24, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, 0x00, 0x24, 0x04, + 0xcd, 0x00, 0x31, 0x04, 0xcd, 0x00, 0x3b, 0x04, 0xcd, 0x00, 0xca, + 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, + 0xaf, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, + 0x00, 0xa3, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0xac, 0x04, + 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x70, 0x04, 0xcd, 0x00, 0xaf, + 0x04, 0xcd, 0x00, 0xb8, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0x97, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, + 0x00, 0x72, 0x04, 0xcd, 0x00, 0x9c, 0x04, 0xcd, 0x00, 0x5c, 0x04, + 0xcd, 0x00, 0xbf, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x16, + 0x04, 0xcd, 0x00, 0x9d, 0x04, 0xcd, 0x00, 0xb0, 0x04, 0xcd, 0x00, + 0x5c, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, + 0x00, 0x32, 0x04, 0xcd, 0x00, 0x3a, 0x04, 0xcd, 0x00, 0x58, 0x04, + 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0xa3, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, + 0x35, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x30, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0xfe, 0x7b, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x28, 0x04, 0xcd, 0x00, 0x36, + 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, + 0x71, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0xc2, 0x04, 0xcd, + 0x01, 0x09, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0x00, 0x7a, 0x04, + 0xcd, 0x00, 0x28, 0x04, 0xcd, 0x00, 0x14, 0x04, 0xcd, 0x00, 0x55, + 0x04, 0xcd, 0x00, 0x68, 0x04, 0xcd, 0x00, 0x6e, 0x04, 0xcd, 0x00, + 0x8e, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x1e, 0x04, 0xcd, + 0x00, 0x5a, 0x04, 0xcd, 0x00, 0x64, 0x04, 0xcd, 0x00, 0x0a, 0x04, + 0xcd, 0x00, 0x1b, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, + 0x04, 0xcd, 0x00, 0x6e, 0x04, 0xcd, 0x00, 0x87, 0x04, 0xcd, 0x00, + 0x36, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, + 0x00, 0x75, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x96, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb9, + 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x87, 0x04, 0xcd, 0x00, + 0x66, 0x04, 0xcd, 0x00, 0x4b, 0x04, 0xcd, 0x00, 0x57, 0x04, 0xcd, + 0x00, 0x71, 0x04, 0xcd, 0x00, 0x57, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0xe0, + 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x4f, 0x04, 0xcd, 0x00, + 0xca, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0xb0, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x47, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0xa8, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x14, + 0x04, 0xcd, 0x00, 0x9c, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xe0, 0x04, 0xcd, + 0x00, 0x05, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x43, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xa2, + 0x04, 0xcd, 0x00, 0xa8, 0x04, 0xcd, 0xff, 0xfe, 0x04, 0xcd, 0x00, + 0x81, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x71, 0x04, + 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0x14, 0x04, 0xcd, 0x00, 0x08, + 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, + 0x5f, 0x04, 0xcd, 0x00, 0x59, 0x04, 0xcd, 0x00, 0x56, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x69, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0x57, 0x04, 0xcd, 0x00, 0x56, 0x04, 0xcd, 0x00, 0x34, + 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x8c, 0x04, 0xcd, 0x00, + 0xb9, 0x04, 0xcd, 0x01, 0x09, 0x04, 0xcd, 0x00, 0x16, 0x04, 0xcd, + 0x00, 0x85, 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, 0x00, 0x8a, 0x04, + 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xda, + 0x04, 0xcd, 0x00, 0x06, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, + 0xb5, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0xb5, 0x04, 0xcd, + 0x00, 0xb3, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x42, 0x04, 0xcd, 0x00, 0x46, 0x04, 0xcd, 0x00, 0x5e, + 0x04, 0xcd, 0x00, 0xb0, 0x04, 0xcd, 0x00, 0x9a, 0x04, 0xcd, 0x00, + 0x66, 0x04, 0xcd, 0x00, 0x5c, 0x04, 0xcd, 0xff, 0xff, 0x04, 0xcd, + 0x00, 0x6a, 0x04, 0xcd, 0x00, 0xcc, 0x04, 0xcd, 0x00, 0x7c, 0x04, + 0xcd, 0x00, 0x46, 0x04, 0xcd, 0x00, 0x45, 0x04, 0xcd, 0x00, 0x85, + 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x01, + 0x09, 0x04, 0xcd, 0x00, 0x91, 0x04, 0xcd, 0x00, 0xa7, 0x04, 0xcd, + 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x75, 0x04, + 0xcd, 0x00, 0x19, 0x04, 0xcd, 0x00, 0x5c, 0x04, 0xcd, 0x00, 0x35, + 0x04, 0xcd, 0x00, 0xda, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, + 0x42, 0x04, 0xcd, 0x00, 0xb5, 0x04, 0xcd, 0x00, 0x48, 0x04, 0xcd, + 0xff, 0xec, 0x04, 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, 0x15, 0x04, + 0xcd, 0x00, 0x3f, 0x04, 0xcd, 0x00, 0x63, 0x04, 0xcd, 0x00, 0x0a, + 0x04, 0xcd, 0x00, 0x45, 0x04, 0xcd, 0x00, 0x3f, 0x04, 0xcd, 0x00, + 0x63, 0x04, 0xcd, 0x00, 0x16, 0x04, 0xcd, 0x00, 0x23, 0x04, 0xcd, + 0x00, 0x3f, 0x04, 0xcd, 0x00, 0x2e, 0x04, 0xcd, 0x00, 0x4c, 0x04, + 0xcd, 0x00, 0x96, 0x04, 0xcd, 0xff, 0xff, 0x04, 0xcd, 0x00, 0x15, + 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, + 0x0a, 0x04, 0xcd, 0x00, 0x53, 0x04, 0xcd, 0x00, 0x0a, 0x04, 0xcd, + 0x00, 0x53, 0x04, 0xcd, 0x00, 0x1f, 0x04, 0xcd, 0x00, 0x1f, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x3c, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x27, 0x04, 0xcd, 0x00, 0x48, 0x04, 0xcd, 0xff, + 0xec, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0xa4, 0x04, 0xcd, + 0x00, 0x6e, 0x00, 0x00, 0xfe, 0xa2, 0x00, 0x00, 0xfe, 0xbc, 0x00, + 0x00, 0xff, 0x9f, 0x00, 0x00, 0xff, 0x9f, 0x00, 0x00, 0xfd, 0xd3, + 0x00, 0x00, 0xfc, 0x25, 0x00, 0x00, 0xfc, 0x6b, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x04, 0x04, 0xcd, + 0x00, 0x50, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xac, 0x04, + 0xcd, 0x00, 0xe2, 0x04, 0xcd, 0x00, 0xf4, 0x04, 0xcd, 0x00, 0x37, + 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0xae, 0x04, 0xcd, 0x00, + 0xb3, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, + 0x00, 0x43, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0xa8, 0x04, + 0xcd, 0x00, 0xda, 0x04, 0xcd, 0x00, 0xa8, 0x04, 0xcd, 0x00, 0xda, + 0x04, 0xcd, 0x00, 0x04, 0x04, 0xcd, 0x00, 0x0a, 0x04, 0xcd, 0x00, + 0x00, 0x04, 0xcd, 0x00, 0x3c, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xb5, 0x04, 0xcd, 0x00, 0x84, 0x04, 0xcd, 0x00, 0x8e, 0x04, + 0xcd, 0x00, 0x54, 0x04, 0xcd, 0x00, 0x54, 0x04, 0xcd, 0x00, 0x53, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, + 0x82, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, + 0x00, 0x24, 0x04, 0xcd, 0x00, 0x45, 0x04, 0xcd, 0x00, 0x24, 0x04, + 0xcd, 0x00, 0x45, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x5e, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, 0x00, + 0x5f, 0x04, 0xcd, 0x00, 0x9a, 0x04, 0xcd, 0x00, 0x5f, 0x04, 0xcd, + 0x00, 0x9a, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb9, 0x04, + 0xcd, 0xff, 0xe9, 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, 0xff, 0xe9, + 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, + 0x00, 0x04, 0xcd, 0x00, 0x01, 0x04, 0xcd, 0x00, 0xa8, 0x04, 0xcd, + 0x00, 0xc8, 0x04, 0xcd, 0xff, 0xfe, 0x04, 0xcd, 0x00, 0x0b, 0x04, + 0xcd, 0x00, 0x8c, 0x04, 0xcd, 0x00, 0xbf, 0x04, 0xcd, 0x00, 0xa2, + 0x04, 0xcd, 0x00, 0xbf, 0x04, 0xcd, 0x00, 0x5f, 0x04, 0xcd, 0x00, + 0x9a, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, + 0x01, 0x0b, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x01, + 0x04, 0xcd, 0x00, 0x14, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0x85, 0x04, 0xcd, 0x00, 0x67, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, + 0x00, 0x68, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x01, 0x04, 0xcd, 0x00, 0x43, 0x04, 0xcd, 0x00, 0x8a, + 0x04, 0xcd, 0x00, 0x4d, 0x04, 0xcd, 0x00, 0x7a, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x57, 0x04, 0xcd, 0x00, + 0x7c, 0x04, 0xcd, 0x00, 0x14, 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, + 0x00, 0x14, 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, 0x00, 0x14, 0x04, + 0xcd, 0x00, 0x42, 0x04, 0xcd, 0x00, 0x5f, 0x04, 0xcd, 0x00, 0x9a, + 0x04, 0xcd, 0x00, 0xe0, 0x04, 0xcd, 0x01, 0x09, 0x04, 0xcd, 0x00, + 0x69, 0x04, 0xcd, 0x00, 0x6a, 0x04, 0xcd, 0x00, 0x37, 0x04, 0xcd, + 0x00, 0x7b, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x7d, 0x04, + 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x7d, 0x04, 0xcd, 0x00, 0x6e, + 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x0b, 0x04, 0xcd, 0x00, + 0x61, 0x04, 0xcd, 0x00, 0x04, 0x04, 0xcd, 0x00, 0x09, 0x04, 0xcd, + 0x00, 0x10, 0x04, 0xcd, 0x00, 0x67, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x0f, 0x04, 0xcd, 0x00, 0x69, 0x04, 0xcd, 0x00, 0x56, + 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, + 0x16, 0x04, 0xcd, 0x00, 0x1b, 0x04, 0xcd, 0x00, 0x5c, 0x04, 0xcd, + 0x00, 0xaf, 0x04, 0xcd, 0xff, 0xfe, 0x04, 0xcd, 0x00, 0x0b, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x15, 0x00, 0x00, 0x01, 0xa8, 0x00, 0x00, 0x01, + 0xa4, 0x00, 0x00, 0x01, 0xd3, 0x00, 0x00, 0x02, 0x14, 0x00, 0x00, + 0x01, 0xb2, 0x00, 0x00, 0x01, 0xc3, 0x00, 0x00, 0x01, 0xcf, 0x00, + 0x00, 0x01, 0x3b, 0x00, 0x00, 0x01, 0xc3, 0x00, 0x00, 0x01, 0xc5, + 0x00, 0x00, 0x01, 0xb0, 0x00, 0x00, 0x01, 0xc3, 0x00, 0x00, 0x01, + 0xc3, 0x00, 0x00, 0x01, 0x1f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, + 0x01, 0x71, 0x00, 0x00, 0x01, 0xc1, 0x00, 0x00, 0x01, 0xa8, 0x00, + 0x00, 0x01, 0xc3, 0x00, 0x00, 0x01, 0xc5, 0x00, 0x00, 0x01, 0xc3, + 0x00, 0x00, 0x01, 0x1f, 0x00, 0x00, 0x01, 0xc9, 0x00, 0x00, 0x01, + 0xc3, 0x00, 0x00, 0x01, 0x71, 0x00, 0x00, 0x01, 0xa8, 0x00, 0x00, + 0x01, 0xc5, 0x00, 0x00, 0x01, 0xc3, 0x00, 0x00, 0x01, 0xc3, 0x00, + 0x00, 0x01, 0x3b, 0x00, 0x00, 0x01, 0x8f, 0x00, 0x00, 0x02, 0x17, + 0x00, 0x00, 0x01, 0x39, 0x00, 0x00, 0x01, 0x56, 0x00, 0x00, 0x01, + 0x56, 0x00, 0x00, 0x02, 0x17, 0x00, 0x00, 0x01, 0xa4, 0x00, 0x00, + 0x01, 0xa4, 0x00, 0x00, 0x01, 0xc3, 0x00, 0x00, 0x01, 0xc3, 0x00, + 0x00, 0x02, 0x17, 0x00, 0x00, 0x02, 0x17, 0x00, 0x00, 0x01, 0x77, + 0x00, 0x00, 0x02, 0x17, 0x00, 0x00, 0x02, 0x2f, 0x04, 0xcd, 0x01, + 0x48, 0x00, 0x00, 0x01, 0xc3, 0x04, 0xcd, 0x02, 0x19, 0x00, 0x00, + 0x02, 0x17, 0x00, 0x00, 0x02, 0x17, 0x04, 0xcd, 0x01, 0xf0, 0x00, + 0x00, 0x02, 0x17, 0x00, 0x00, 0x02, 0x17, 0x04, 0xcd, 0x01, 0x4e, + 0x00, 0x00, 0x01, 0x8d, 0x04, 0xcd, 0x00, 0x10, 0x04, 0xcd, 0x00, + 0x4e, 0x04, 0xcd, 0x00, 0xf0, 0x04, 0xcd, 0x00, 0x37, 0x04, 0xcd, + 0x00, 0x7b, 0x04, 0xcd, 0x02, 0x0a, 0x04, 0xcd, 0x01, 0x58, 0x04, + 0xcd, 0x00, 0x83, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x02, 0x0a, + 0x04, 0xcd, 0x00, 0x60, 0x04, 0xcd, 0x00, 0xac, 0x04, 0xcd, 0x00, + 0x91, 0x04, 0xcd, 0x00, 0x83, 0x04, 0xcd, 0x00, 0x0e, 0x04, 0xcd, + 0x02, 0x0a, 0x04, 0xcd, 0x01, 0x25, 0x04, 0xcd, 0x00, 0x19, 0x04, + 0xcd, 0x00, 0x46, 0x04, 0xcd, 0x00, 0x73, 0x04, 0xcd, 0x00, 0x75, + 0x04, 0xcd, 0x00, 0x6d, 0x04, 0xcd, 0x00, 0x4a, 0x04, 0xcd, 0x00, + 0x7f, 0x04, 0xcd, 0x00, 0x60, 0x04, 0xcd, 0x00, 0x19, 0x04, 0xcd, + 0x00, 0x27, 0x04, 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x01, 0x0b, 0x04, + 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x01, 0xae, 0x04, 0xcd, 0x00, 0xcf, + 0x04, 0xcd, 0x00, 0x7f, 0x04, 0xcd, 0xff, 0xfb, 0x04, 0xcd, 0x00, + 0x14, 0x04, 0xcd, 0x00, 0x55, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, + 0x00, 0xa5, 0x04, 0xcd, 0x00, 0x1e, 0x04, 0xcd, 0x00, 0xcd, 0x04, + 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0x68, 0x04, 0xcd, 0x00, 0xb2, + 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, 0x00, 0xc8, 0x04, 0xcd, 0x00, + 0x70, 0x04, 0xcd, 0x00, 0xb8, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, + 0x00, 0x8b, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, + 0xcd, 0x00, 0x25, 0x04, 0xcd, 0x00, 0x1c, 0x04, 0xcd, 0x00, 0xd6, + 0x04, 0xcd, 0x00, 0x83, 0x04, 0xcd, 0x00, 0x83, 0x04, 0xcd, 0x00, + 0xcb, 0x04, 0xcd, 0x00, 0x39, 0x04, 0xcd, 0x00, 0x39, 0x04, 0xcd, + 0x00, 0xb4, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0x3f, 0x04, + 0xcd, 0x00, 0x18, 0x04, 0xcd, 0x00, 0x3f, 0x04, 0xcd, 0x00, 0x45, + 0x04, 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, + 0xbc, 0x04, 0xcd, 0x00, 0xf1, 0x04, 0xcd, 0x00, 0x20, 0x04, 0xcd, + 0x01, 0x5b, 0x04, 0xcd, 0x00, 0x45, 0x04, 0xcd, 0x00, 0xca, 0x04, + 0xcd, 0x00, 0xcb, 0x04, 0xcd, 0x00, 0x0a, 0x04, 0xcd, 0x00, 0x0b, + 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0xff, 0xf9, 0x04, 0xcd, 0x01, + 0x10, 0x04, 0xcd, 0x00, 0xae, 0x04, 0xcd, 0x00, 0xdc, 0x04, 0xcd, + 0x00, 0xff, 0x04, 0xcd, 0x00, 0xd7, 0x04, 0xcd, 0x00, 0x9c, 0x04, + 0xcd, 0x00, 0xdd, 0x04, 0xcd, 0x02, 0x1f, 0x04, 0xcd, 0x01, 0x12, + 0x04, 0xcd, 0x00, 0xef, 0x04, 0xcd, 0x01, 0x43, 0x04, 0xcd, 0x00, + 0x91, 0x04, 0xcd, 0x00, 0xdd, 0x04, 0xcd, 0x00, 0xdd, 0x04, 0xcd, + 0x00, 0x87, 0x04, 0xcd, 0x01, 0x13, 0x04, 0xcd, 0x01, 0x03, 0x04, + 0xcd, 0x00, 0xd8, 0x04, 0xcd, 0x00, 0xd8, 0x04, 0xcd, 0x00, 0xd7, + 0x04, 0xcd, 0xff, 0xeb, 0x04, 0xcd, 0x01, 0x14, 0x04, 0xcd, 0x00, + 0xec, 0x04, 0xcd, 0x01, 0x2d, 0x04, 0xcd, 0x00, 0x30, 0x04, 0xcd, + 0x01, 0x2d, 0x04, 0xcd, 0x01, 0x2d, 0x04, 0xcd, 0x01, 0x1f, 0x04, + 0xcd, 0x01, 0x1f, 0x04, 0xcd, 0x01, 0x52, 0x04, 0xcd, 0x01, 0x52, + 0x04, 0xcd, 0x01, 0x2d, 0x04, 0xcd, 0x02, 0x2a, 0x04, 0xcd, 0x01, + 0x38, 0x04, 0xcd, 0x00, 0x7e, 0x04, 0xcd, 0x01, 0x3f, 0x04, 0xcd, + 0x01, 0x1e, 0x04, 0xcd, 0x01, 0x3a, 0x04, 0xcd, 0x01, 0x1e, 0x04, + 0xcd, 0x01, 0x1e, 0x04, 0xcd, 0x01, 0x2d, 0x04, 0xcd, 0x01, 0xb4, + 0x04, 0xcd, 0x01, 0x3f, 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, 0x00, + 0x7e, 0x04, 0xcd, 0x01, 0x0f, 0x04, 0xcd, 0x00, 0xdc, 0x04, 0xcd, + 0x01, 0x21, 0x04, 0xcd, 0x01, 0x1a, 0x04, 0xcd, 0x01, 0x1e, 0x04, + 0xcd, 0x00, 0xdd, 0x04, 0xcd, 0x01, 0x08, 0x04, 0xcd, 0x02, 0x2a, + 0x04, 0xcd, 0x01, 0xcc, 0x04, 0xcd, 0x01, 0x44, 0x04, 0xcd, 0x01, + 0x0f, 0x04, 0xcd, 0x01, 0x22, 0x04, 0xcd, 0x01, 0x0f, 0x04, 0xcd, + 0x01, 0x14, 0x04, 0xcd, 0x00, 0xdd, 0x04, 0xcd, 0x01, 0x08, 0x04, + 0xcd, 0x00, 0x19, 0x04, 0xcd, 0xff, 0xc2, 0x04, 0xcd, 0x00, 0x56, + 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0xff, 0xc6, 0x04, 0xcd, 0xff, + 0xe1, 0x04, 0xcd, 0xff, 0xc4, 0x04, 0xcd, 0x00, 0x36, 0x04, 0xcd, + 0x00, 0xf1, 0x04, 0xcd, 0x00, 0x68, 0x04, 0xcd, 0x00, 0x7c, 0x04, + 0xcd, 0x00, 0xa4, 0x04, 0xcd, 0x00, 0xa4, 0x04, 0xcd, 0x01, 0x43, + 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0x2a, 0x04, 0xcd, 0x01, + 0x9d, 0x04, 0xcd, 0x01, 0x9d, 0x04, 0xcd, 0x00, 0x41, 0x04, 0xcd, + 0x00, 0x54, 0x04, 0xcd, 0x00, 0x2a, 0x04, 0xcd, 0x00, 0xaf, 0x04, + 0xcd, 0x00, 0x84, 0x04, 0xcd, 0x01, 0x57, 0x04, 0xcd, 0x00, 0x2e, + 0x04, 0xcd, 0x00, 0xeb, 0x04, 0xcd, 0x01, 0xa3, 0x04, 0xcd, 0x00, + 0x63, 0x04, 0xcd, 0x00, 0xb0, 0x04, 0xcd, 0x00, 0xae, 0x04, 0xcd, + 0x01, 0x22, 0x04, 0xcd, 0x00, 0xa8, 0x04, 0xcd, 0x00, 0x81, 0x04, + 0xcd, 0x00, 0x6d, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0xa4, + 0x04, 0xcd, 0x00, 0x57, 0x04, 0xcd, 0x00, 0x56, 0x04, 0xcd, 0x00, + 0x56, 0x04, 0xcd, 0x00, 0x7f, 0x04, 0xcd, 0x00, 0xd0, 0x04, 0xcd, + 0x00, 0xd0, 0x04, 0xcd, 0x00, 0x58, 0x04, 0xcd, 0x01, 0xfd, 0x04, + 0xcd, 0x00, 0xad, 0x04, 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x00, 0x85, + 0x04, 0xcd, 0x00, 0x83, 0x04, 0xcd, 0x01, 0x2d, 0x04, 0xcd, 0x01, + 0x3a, 0x04, 0xcd, 0x01, 0x38, 0x04, 0xcd, 0x01, 0x1a, 0x04, 0xcd, + 0x01, 0x51, 0x04, 0xcd, 0x01, 0xae, 0x04, 0xcd, 0x01, 0xae, 0x04, + 0xcd, 0x01, 0x2d, 0x04, 0xcd, 0x01, 0x40, 0x04, 0xcd, 0x01, 0xd8, + 0x04, 0xcd, 0x02, 0x2a, 0x04, 0xcd, 0x02, 0x2a, 0x04, 0xcd, 0x01, + 0xd8, 0x04, 0xcd, 0x01, 0x53, 0x04, 0xcd, 0x01, 0xe0, 0x04, 0xcd, + 0x01, 0xe1, 0x04, 0xcd, 0x01, 0x90, 0x04, 0xcd, 0x00, 0x7f, 0x04, + 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0xf0, 0x04, 0xcd, 0x00, 0xf3, + 0x04, 0xcd, 0x01, 0x41, 0x04, 0xcd, 0x01, 0x1e, 0x04, 0xcd, 0x01, + 0x1e, 0x04, 0xcd, 0x01, 0x37, 0x04, 0xcd, 0x01, 0x75, 0x04, 0xcd, + 0x01, 0xb5, 0x04, 0xcd, 0x00, 0xf8, 0x04, 0xcd, 0x01, 0x14, 0x04, + 0xcd, 0x01, 0x40, 0x04, 0xcd, 0x01, 0x40, 0x04, 0xcd, 0x01, 0x0f, + 0x04, 0xcd, 0x01, 0x34, 0x04, 0xcd, 0x00, 0xf4, 0x04, 0xcd, 0x01, + 0x0d, 0x04, 0xcd, 0x01, 0x1e, 0x04, 0xcd, 0x01, 0x2b, 0x00, 0x00, + 0xfe, 0xb0, 0x00, 0x00, 0xfe, 0x84, 0x00, 0x00, 0xff, 0x85, 0x00, + 0x00, 0xfe, 0xa9, 0x00, 0x00, 0xfe, 0xc6, 0x00, 0x00, 0xfe, 0xd4, + 0x00, 0x00, 0xfe, 0xc6, 0x00, 0x00, 0xfe, 0xd4, 0x00, 0x00, 0xfe, + 0x62, 0x00, 0x00, 0xfe, 0x62, 0x00, 0x00, 0xff, 0x6f, 0x00, 0x00, + 0xff, 0x74, 0x00, 0x00, 0xfe, 0xe8, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb3, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, + 0x00, 0x82, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x8a, 0x04, + 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0xa2, + 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0x8a, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0xc2, 0x04, 0xcd, + 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, 0x00, 0x8f, 0x04, + 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xa2, + 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0xb9, 0x04, 0xcd, 0x00, 0x89, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xca, 0x04, + 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0x8f, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xec, 0x04, 0xcd, 0x00, 0xed, 0x04, 0xcd, 0x01, 0x0b, 0x04, + 0xcd, 0x00, 0xed, 0x04, 0xcd, 0x00, 0x86, 0x04, 0xcd, 0x00, 0xed, + 0x04, 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x00, 0xed, 0x04, 0xcd, 0x01, + 0x0b, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x63, 0x04, 0xcd, + 0x00, 0x81, 0x04, 0xcd, 0x00, 0x63, 0x04, 0xcd, 0x00, 0x81, 0x04, + 0xcd, 0x00, 0x63, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xc6, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xc6, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0xc6, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0xc6, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, + 0x82, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0xf2, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xf2, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0xf2, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x00, 0x4f, 0x04, 0xcd, + 0x00, 0xa7, 0x04, 0xcd, 0x00, 0x4f, 0x04, 0xcd, 0x00, 0xa7, 0x04, + 0xcd, 0x00, 0x4f, 0x04, 0xcd, 0x00, 0xa7, 0x04, 0xcd, 0x00, 0x4f, + 0x04, 0xcd, 0x00, 0xa7, 0x04, 0xcd, 0x00, 0x4f, 0x04, 0xcd, 0x00, + 0xa7, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0xbe, 0x04, 0xcd, + 0x00, 0x4c, 0x04, 0xcd, 0x00, 0xbe, 0x04, 0xcd, 0x00, 0x4c, 0x04, + 0xcd, 0x00, 0xbe, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0xbe, + 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, + 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, + 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, + 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x0a, + 0x04, 0xcd, 0x00, 0x45, 0x04, 0xcd, 0x00, 0x0a, 0x04, 0xcd, 0x00, + 0x45, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x15, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x15, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, + 0x24, 0x04, 0xcd, 0x00, 0x5e, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, + 0x00, 0x5e, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x42, 0x04, + 0xcd, 0x00, 0x49, 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0x49, + 0x04, 0xcd, 0x00, 0x93, 0x04, 0xcd, 0x00, 0x49, 0x04, 0xcd, 0x00, + 0x93, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0xbe, 0x04, 0xcd, + 0x00, 0x15, 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, 0x00, 0x80, 0x04, + 0xcd, 0x01, 0x90, 0x04, 0xcd, 0x00, 0x96, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, + 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x40, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, + 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, + 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x80, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, + 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, + 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0x6a, 0x04, 0xcd, 0x00, 0x55, + 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x85, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, + 0x00, 0x85, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0x8f, 0x04, + 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, 0x00, 0x66, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, + 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, + 0x00, 0x49, 0x04, 0xcd, 0x00, 0x58, 0x04, 0xcd, 0x00, 0x66, 0x04, + 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, + 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, + 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, + 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x66, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, + 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, + 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, + 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, + 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, + 0x8e, 0x04, 0xcd, 0x00, 0xb9, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, + 0x00, 0x42, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x42, 0x04, + 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, 0x00, 0x24, + 0x04, 0xcd, 0x00, 0x42, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, + 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, + 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, + 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0xfe, 0xff, 0x04, 0xcd, 0xfe, 0xff, 0x04, 0xcd, 0xfe, + 0xff, 0x04, 0xcd, 0xfe, 0xff, 0x04, 0xcd, 0xff, 0x14, 0x04, 0xcd, + 0xff, 0x14, 0x04, 0xcd, 0x00, 0xaf, 0x04, 0xcd, 0x00, 0xaf, 0x04, + 0xcd, 0x00, 0xaf, 0x04, 0xcd, 0x00, 0xaf, 0x04, 0xcd, 0x00, 0xaf, + 0x04, 0xcd, 0x00, 0xaf, 0x04, 0xcd, 0xff, 0x47, 0x04, 0xcd, 0x00, + 0x08, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, + 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0x00, 0xb3, 0x04, + 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, + 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0xff, 0x47, 0x04, 0xcd, + 0xff, 0x40, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xd3, 0x04, + 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xa3, + 0x04, 0xcd, 0xfd, 0xa3, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, + 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, + 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, + 0xcd, 0x00, 0x95, 0x04, 0xcd, 0xff, 0x47, 0x04, 0xcd, 0xff, 0x40, + 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, + 0xc0, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xa3, 0x04, 0xcd, + 0xfd, 0xa3, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x82, 0x04, + 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0x82, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0xff, 0xab, 0x04, 0xcd, 0xff, + 0xa4, 0x04, 0xcd, 0xfe, 0x24, 0x04, 0xcd, 0xfe, 0x24, 0x04, 0xcd, + 0xfe, 0x88, 0x04, 0xcd, 0xfe, 0x88, 0x04, 0xcd, 0x00, 0xa3, 0x04, + 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, + 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, + 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0xfe, 0xdc, 0x04, 0xcd, + 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0x5c, 0x04, 0xcd, 0xfd, 0x98, 0x04, + 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, + 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, + 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, + 0xff, 0xab, 0x04, 0xcd, 0xff, 0xa4, 0x04, 0xcd, 0xfe, 0x24, 0x04, + 0xcd, 0xfe, 0x22, 0x04, 0xcd, 0xfe, 0x88, 0x04, 0xcd, 0xfe, 0x88, + 0x04, 0xcd, 0xfe, 0x59, 0x04, 0xcd, 0xfe, 0x59, 0x04, 0xcd, 0x00, + 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0xaf, 0x04, 0xcd, + 0x00, 0xaf, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, + 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x82, + 0x04, 0xcd, 0x00, 0x82, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, + 0xa3, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, + 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, + 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, + 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, + 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0xfe, 0xff, 0x04, 0xcd, + 0xfe, 0xff, 0x04, 0xcd, 0xfe, 0xff, 0x04, 0xcd, 0xfe, 0xff, 0x04, + 0xcd, 0xff, 0x14, 0x04, 0xcd, 0xff, 0x14, 0x04, 0xcd, 0x00, 0xb3, + 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, + 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, + 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0xff, 0x47, 0x04, + 0xcd, 0xff, 0x40, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xc0, + 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, 0xc0, 0x04, 0xcd, 0xfd, + 0x85, 0x04, 0xcd, 0xfd, 0x85, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, + 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, + 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, + 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0xff, 0xab, 0x04, 0xcd, 0xff, + 0xa4, 0x04, 0xcd, 0xfe, 0x24, 0x04, 0xcd, 0xfe, 0x24, 0x04, 0xcd, + 0xfe, 0x88, 0x04, 0xcd, 0xfe, 0x88, 0x04, 0xcd, 0xfe, 0x59, 0x04, + 0xcd, 0xfe, 0x59, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, + 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, + 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0xf3, + 0x04, 0xcd, 0x01, 0x14, 0x04, 0xcd, 0x00, 0xf3, 0x04, 0xcd, 0xff, + 0xe9, 0x04, 0xcd, 0x00, 0x11, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, + 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0x00, 0xb3, 0x04, + 0xcd, 0x00, 0xb3, 0x04, 0xcd, 0xfe, 0xf6, 0x04, 0xcd, 0xff, 0x32, + 0x04, 0xcd, 0xfe, 0xf6, 0x04, 0xcd, 0xff, 0x32, 0x04, 0xcd, 0x00, + 0xa2, 0x04, 0xcd, 0x00, 0x2a, 0x04, 0xcd, 0x00, 0x2a, 0x04, 0xcd, + 0xff, 0xef, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, + 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, + 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x00, + 0xca, 0x04, 0xcd, 0xfe, 0xf4, 0x04, 0xcd, 0xff, 0x77, 0x04, 0xcd, + 0x00, 0x2a, 0x04, 0xcd, 0x00, 0x2a, 0x04, 0xcd, 0xff, 0xef, 0x04, + 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, + 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0x9d, 0x04, 0xcd, 0x00, + 0x9d, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, + 0x00, 0x24, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0xfe, 0xbb, 0x04, + 0xcd, 0xfe, 0xee, 0x04, 0xcd, 0xff, 0x40, 0x04, 0xcd, 0xff, 0xea, + 0x04, 0xcd, 0xff, 0xea, 0x04, 0xcd, 0x00, 0xcb, 0x04, 0xcd, 0x00, + 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, + 0x00, 0x35, 0x04, 0xcd, 0x00, 0x35, 0x04, 0xcd, 0xff, 0x30, 0x04, + 0xcd, 0xff, 0x77, 0x04, 0xcd, 0xff, 0x30, 0x04, 0xcd, 0xff, 0x77, + 0x04, 0xcd, 0x00, 0x3b, 0x04, 0xcd, 0x00, 0xf3, 0x04, 0xcd, 0x00, + 0xec, 0x04, 0xcd, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd6, 0x00, 0x00, + 0xff, 0x20, 0x00, 0x00, 0xff, 0xd7, 0x00, 0x00, 0xfe, 0x4c, 0x04, + 0xcd, 0x01, 0x4e, 0x04, 0xcd, 0x00, 0xaa, 0x04, 0xcd, 0x00, 0xaa, + 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, + 0xfb, 0x04, 0xcd, 0x01, 0x8d, 0x04, 0xcd, 0x01, 0x8f, 0x04, 0xcd, + 0x01, 0x5d, 0x04, 0xcd, 0x01, 0x8e, 0x04, 0xcd, 0x00, 0xb1, 0x04, + 0xcd, 0x00, 0xb2, 0x04, 0xcd, 0x00, 0xb2, 0x04, 0xcd, 0x00, 0xae, + 0x04, 0xcd, 0x00, 0xb6, 0x04, 0xcd, 0x00, 0xb6, 0x04, 0xcd, 0x01, + 0x50, 0x04, 0xcd, 0x00, 0x75, 0x00, 0x00, 0xff, 0xd7, 0x00, 0x00, + 0xfe, 0x4d, 0x00, 0x00, 0xff, 0x12, 0x00, 0x00, 0xff, 0x12, 0x00, + 0x00, 0xff, 0x12, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x01, 0xf6, + 0x04, 0xcd, 0x01, 0x15, 0x04, 0xcd, 0x00, 0xa6, 0x04, 0xcd, 0x01, + 0x5a, 0x04, 0xcd, 0x01, 0x6e, 0x04, 0xcd, 0x00, 0xed, 0x04, 0xcd, + 0xff, 0xfb, 0x04, 0xcd, 0x00, 0xcc, 0x04, 0xcd, 0x02, 0x05, 0x00, + 0x00, 0xff, 0x12, 0x00, 0x00, 0xff, 0x12, 0x00, 0x00, 0xff, 0x10, + 0x00, 0x00, 0xff, 0x10, 0x00, 0x00, 0xff, 0x11, 0x00, 0x00, 0xff, + 0x12, 0x04, 0xcd, 0x01, 0x3d, 0x04, 0xcd, 0x01, 0x43, 0x04, 0xcd, + 0x01, 0x54, 0x04, 0xcd, 0x01, 0x54, 0x04, 0xcd, 0x01, 0x5b, 0x04, + 0xcd, 0x01, 0x4a, 0x04, 0xcd, 0x01, 0x65, 0x04, 0xcd, 0x01, 0x4f, + 0x04, 0xcd, 0x01, 0x58, 0x04, 0xcd, 0x01, 0x4c, 0x04, 0xcd, 0x01, + 0x42, 0x04, 0xcd, 0x01, 0x33, 0x04, 0xcd, 0x01, 0x42, 0x04, 0xcd, + 0x01, 0x54, 0x04, 0xcd, 0x01, 0x54, 0x04, 0xcd, 0x01, 0x59, 0x04, + 0xcd, 0x01, 0x5e, 0x04, 0xcd, 0x01, 0x01, 0x04, 0xcd, 0x01, 0x1f, + 0x04, 0xcd, 0x01, 0x1e, 0x04, 0xcd, 0x01, 0x1a, 0x04, 0xcd, 0x01, + 0x1f, 0x04, 0xcd, 0x00, 0x36, 0x04, 0xcd, 0x00, 0x71, 0x04, 0xcd, + 0x00, 0x71, 0x04, 0xcd, 0x00, 0x22, 0x04, 0xcd, 0x00, 0x50, 0x04, + 0xcd, 0x00, 0x63, 0x04, 0xcd, 0x00, 0x19, 0x04, 0xcd, 0x00, 0x2d, + 0x04, 0xcd, 0x00, 0x18, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, + 0x31, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x5b, 0x04, 0xcd, + 0x00, 0x01, 0x04, 0xcd, 0x00, 0x4c, 0x04, 0xcd, 0x00, 0x00, 0x04, + 0xcd, 0x00, 0x3c, 0x04, 0xcd, 0x00, 0x19, 0x04, 0xcd, 0x00, 0x71, + 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x0f, 0x04, 0xcd, 0x00, + 0x71, 0x04, 0xcd, 0x00, 0x30, 0x00, 0x00, 0xfe, 0x93, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x01, 0x1e, 0x04, 0xcd, 0x00, 0x16, 0x04, + 0xcd, 0x00, 0x1f, 0x04, 0xcd, 0x00, 0x04, 0x04, 0xcd, 0x00, 0x3b, + 0x04, 0xcd, 0x00, 0x5f, 0x04, 0xcd, 0x00, 0x06, 0x04, 0xcd, 0x00, + 0xc9, 0x04, 0xcd, 0x00, 0x11, 0x04, 0xcd, 0xff, 0xe6, 0x04, 0xcd, + 0x00, 0x01, 0x04, 0xcd, 0x00, 0x09, 0x04, 0xcd, 0x00, 0x25, 0x04, + 0xcd, 0x00, 0x39, 0x04, 0xcd, 0x00, 0xad, 0x04, 0xcd, 0x00, 0x08, + 0x04, 0xcd, 0x01, 0x76, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, 0x01, + 0x76, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, 0x01, 0x76, 0x04, 0xcd, + 0x01, 0x76, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, 0x00, 0x69, 0x04, + 0xcd, 0x00, 0x0c, 0x04, 0xcd, 0x00, 0x69, 0x04, 0xcd, 0x00, 0x1b, + 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0xcc, 0x04, 0xcd, 0x01, + 0xf0, 0x04, 0xcd, 0x00, 0x4e, 0x04, 0xcd, 0x00, 0x1d, 0x04, 0xcd, + 0x00, 0x34, 0x04, 0xcd, 0x00, 0x9c, 0x04, 0xcd, 0x00, 0xeb, 0x04, + 0xcd, 0x00, 0x6c, 0x04, 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x00, 0x74, + 0x04, 0xcd, 0x00, 0x74, 0x04, 0xcd, 0x00, 0x73, 0x04, 0xcd, 0x00, + 0x74, 0x04, 0xcd, 0x00, 0x8a, 0x04, 0xcd, 0x00, 0x73, 0x04, 0xcd, + 0x02, 0x1e, 0x04, 0xcd, 0x00, 0xcb, 0x04, 0xcd, 0xff, 0xf6, 0x04, + 0xcd, 0x02, 0x1e, 0x04, 0xcd, 0x02, 0x1e, 0x04, 0xcd, 0xff, 0xf6, + 0x04, 0xcd, 0x02, 0x1e, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0x02, + 0x1e, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, + 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, + 0xcd, 0x01, 0x6a, 0x04, 0xcd, 0x02, 0x1e, 0x04, 0xcd, 0x01, 0x6a, + 0x04, 0xcd, 0x01, 0x6a, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, + 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0x02, 0x1e, 0x04, 0xcd, + 0x01, 0x6a, 0x04, 0xcd, 0x01, 0x6a, 0x04, 0xcd, 0xff, 0xf6, 0x04, + 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0x02, 0x1e, + 0x04, 0xcd, 0x01, 0x6a, 0x04, 0xcd, 0x01, 0x6a, 0x04, 0xcd, 0xff, + 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, + 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, + 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, + 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, 0xf6, 0x04, 0xcd, 0xff, + 0xf6, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, + 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x02, 0x66, 0x04, + 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, + 0x04, 0xcd, 0x00, 0x77, 0x04, 0xcd, 0x00, 0x02, 0x04, 0xcd, 0x01, + 0x68, 0x04, 0xcd, 0x01, 0x68, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, + 0x00, 0x0f, 0x04, 0xcd, 0x00, 0x34, 0x04, 0xcd, 0x00, 0x0f, 0x04, + 0xcd, 0x00, 0x02, 0x04, 0xcd, 0x00, 0x73, 0x04, 0xcd, 0x00, 0xa3, + 0x04, 0xcd, 0x00, 0x68, 0x04, 0xcd, 0x00, 0xae, 0x04, 0xcd, 0x00, + 0xae, 0x04, 0xcd, 0x00, 0xae, 0x04, 0xcd, 0x00, 0xae, 0x04, 0xcd, + 0x00, 0xae, 0x04, 0xcd, 0x00, 0xae, 0x04, 0xcd, 0x00, 0xae, 0x04, + 0xcd, 0x01, 0x94, 0x04, 0xcd, 0x01, 0x90, 0x04, 0xcd, 0x00, 0x25, + 0x04, 0xcd, 0x00, 0x25, 0x04, 0xcd, 0x01, 0x6e, 0x04, 0xcd, 0x00, + 0x1b, 0x04, 0xcd, 0x00, 0x1b, 0x04, 0xcd, 0x00, 0x1a, 0x04, 0xcd, + 0x01, 0x3c, 0x04, 0xcd, 0x00, 0xa4, 0x04, 0xcd, 0x00, 0x66, 0x04, + 0xcd, 0x00, 0x61, 0x04, 0xcd, 0x00, 0x66, 0x04, 0xcd, 0x00, 0x84, + 0x04, 0xcd, 0x01, 0x1a, 0x04, 0xcd, 0x01, 0x1a, 0x04, 0xcd, 0x00, + 0x70, 0x04, 0xcd, 0x00, 0x70, 0x04, 0xcd, 0x00, 0x98, 0x04, 0xcd, + 0x00, 0x5f, 0x04, 0xcd, 0x01, 0x9e, 0x04, 0xcd, 0x00, 0x06, 0x04, + 0xcd, 0x00, 0x15, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x6e, + 0x04, 0xcd, 0x00, 0x8d, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, + 0xb9, 0x04, 0xcd, 0x00, 0x8e, 0x04, 0xcd, 0x00, 0xec, 0x04, 0xcd, + 0x00, 0x49, 0x04, 0xcd, 0x00, 0xa4, 0x04, 0xcd, 0x00, 0x71, 0x04, + 0xcd, 0x00, 0x60, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x15, + 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0xca, 0x04, 0xcd, 0x01, + 0x19, 0x04, 0xcd, 0x00, 0x24, 0x04, 0xcd, 0x01, 0x52, 0x00, 0x00, + 0xff, 0x4a, 0x00, 0x00, 0xff, 0xb3, 0x00, 0x00, 0xfe, 0xee, 0x00, + 0x00, 0xfe, 0xee, 0x04, 0xcd, 0x00, 0xff, 0x04, 0xcd, 0x00, 0xff, + 0x04, 0xcd, 0x01, 0xf8, 0x04, 0xcd, 0x01, 0xf8, 0x04, 0xcd, 0x01, + 0xf8, 0x00, 0x00, 0xfe, 0xa0, 0x00, 0x00, 0xfe, 0xa0, 0x04, 0xcd, + 0x00, 0x1c, 0x04, 0xcd, 0x02, 0x05, 0x04, 0xcd, 0x01, 0x0a, 0x04, + 0xcd, 0x02, 0x0a, 0x04, 0xcd, 0x02, 0x0a, 0x04, 0xcd, 0x00, 0x54, + 0x04, 0xcd, 0x00, 0x54, 0x04, 0xcd, 0x02, 0x0a, 0x00, 0x00, 0x01, + 0x1d, 0x04, 0xcd, 0x01, 0x0b, 0x04, 0xcd, 0x00, 0x5a, 0x04, 0xcd, + 0x00, 0x10, 0x04, 0xcd, 0x00, 0x37, 0x04, 0xcd, 0x00, 0x7b, 0x04, + 0xcd, 0x00, 0xac, 0x04, 0xcd, 0x00, 0x91, 0x04, 0xcd, 0x00, 0x83, + 0x04, 0xcd, 0x00, 0x60, 0x04, 0xcd, 0x00, 0x27, 0x04, 0xcd, 0x00, + 0x7f, 0x04, 0xcd, 0x00, 0x19, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, + 0x00, 0x19, 0x04, 0xcd, 0x00, 0x08, 0x04, 0xcd, 0x00, 0x10, 0x04, + 0xcd, 0x00, 0x10, 0x04, 0xcd, 0x00, 0x10, 0x04, 0xcd, 0x00, 0x4e, + 0x04, 0xcd, 0x00, 0xf0, 0x04, 0xcd, 0x00, 0x37, 0x04, 0xcd, 0x00, + 0x7b, 0x04, 0xcd, 0x01, 0x7e, 0x04, 0xcd, 0x01, 0x10, 0x04, 0xcd, + 0x00, 0x85, 0x04, 0xcd, 0x01, 0x91, 0x04, 0xcd, 0x00, 0x60, 0x04, + 0xcd, 0x00, 0xac, 0x04, 0xcd, 0x00, 0x91, 0x04, 0xcd, 0x00, 0x0e, + 0x04, 0xcd, 0x01, 0x25, 0x04, 0xcd, 0x00, 0x19, 0x04, 0xcd, 0x00, + 0x73, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, 0x4a, 0x04, 0xcd, + 0x00, 0x7f, 0x04, 0xcd, 0x00, 0x60, 0x04, 0xcd, 0x00, 0x19, 0x04, + 0xcd, 0x00, 0x27, 0x04, 0xcd, 0x02, 0x0a, 0x04, 0xcd, 0x00, 0x4e, + 0x04, 0xcd, 0x00, 0xac, 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x00, + 0x19, 0x00, 0x00, 0xfc, 0xe9, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, + 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcd, 0x01, 0xdb, 0x04, + 0xcd, 0x01, 0x05, 0x04, 0xcd, 0x01, 0xdb, 0x04, 0xcd, 0x01, 0xdb, + 0x04, 0xcd, 0x00, 0x75, 0x04, 0xcd, 0x01, 0x25, 0x04, 0xcd, 0x00, + 0xfa, 0x04, 0xcd, 0x00, 0xea, 0x04, 0xcd, 0x00, 0xc5, 0x04, 0xcd, + 0x01, 0x04, 0x04, 0xcd, 0x00, 0xfc, 0x04, 0xcd, 0x01, 0x11, 0x00, + 0x00, 0xff, 0x05, 0x00, 0x00, 0xfe, 0x3f, 0x04, 0xcd, 0x00, 0x8f, + 0x00, 0x00, 0xfe, 0xd6, 0x00, 0x00, 0xfe, 0xd6, 0x00, 0x00, 0xfe, + 0xcf, 0x00, 0x00, 0xfe, 0xd6, 0x00, 0x00, 0xfe, 0xee, 0x00, 0x00, + 0xfe, 0xc2, 0x00, 0x00, 0xfe, 0x37, 0x04, 0xcd, 0xff, 0xe5, 0x00, + 0x00, 0xfe, 0xee, 0x00, 0x00, 0xfe, 0xee, 0x00, 0x00, 0xfe, 0xc2, + 0x00, 0x00, 0xfe, 0xc2, 0x00, 0x00, 0xff, 0x59, 0x00, 0x00, 0xfe, + 0xb5, 0x00, 0x00, 0xfe, 0xd6, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, + 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, + 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, + 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, 0x81, 0x04, 0xcd, 0x00, + 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, + 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, + 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0x95, 0x04, 0xcd, 0x00, 0xa3, + 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, + 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x04, 0xcd, + 0x00, 0xa3, 0x04, 0xcd, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x8f, 0x04, 0xcd, + 0x00, 0x9e, 0x04, 0xcd, 0x00, 0xa2, 0x04, 0xcd, 0x00, 0x9e, 0x00, + 0x00, 0xfe, 0xcc, 0x00, 0x00, 0xff, 0x58, 0x00, 0x00, 0xfe, 0xdd, + 0x00, 0x00, 0xfe, 0xd0, 0x00, 0x00, 0xfe, 0xc2, 0x00, 0x00, 0xfe, + 0xcf, 0x00, 0x00, 0xfe, 0xd7, 0x00, 0x00, 0xfe, 0xdd, 0x00, 0x00, + 0xfe, 0xd7, 0x00, 0x00, 0xfe, 0xd8, 0x00, 0x00, 0xfe, 0x53, 0x00, + 0x00, 0xfe, 0x55, 0x00, 0x00, 0xfe, 0x7c, 0x00, 0x00, 0xfe, 0xc2, + 0x00, 0x00, 0xfe, 0xc7, 0x00, 0x00, 0xfe, 0xc7, 0x00, 0x00, 0xfe, + 0xc7, 0x00, 0x00, 0xfe, 0xc2, 0x00, 0x00, 0xfe, 0x53, 0x00, 0x00, + 0xfe, 0x53, 0x00, 0x00, 0xfe, 0x6c, 0x00, 0x00, 0xfe, 0xb8, 0x00, + 0x00, 0xfe, 0xb3, 0x00, 0x00, 0xfe, 0xb3, 0x00, 0x00, 0xfe, 0xb3, + 0x00, 0x00, 0xfe, 0xb3, 0x04, 0xcd, 0x00, 0x6a, 0x04, 0xcd, 0x00, + 0x48, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, 0x00, 0x00, 0x04, 0xcd, + 0x00, 0x2d, 0x04, 0xcd, 0xff, 0xe8, 0x04, 0xcd, 0x00, 0x20, 0x04, + 0xcd, 0x01, 0x19, 0x04, 0xcd, 0x01, 0x54, 0x04, 0xcd, 0x00, 0x2f, + 0x04, 0xcd, 0x00, 0x2f, 0x04, 0xcd, 0x00, 0x60, 0x04, 0xcd, 0x00, + 0x60, 0x04, 0xcd, 0x00, 0x19, 0x04, 0xcd, 0x00, 0x19, 0x04, 0xcd, + 0x00, 0x19, 0x04, 0xcd, 0x00, 0x91, 0x04, 0xcd, 0x00, 0x10, 0x00, + 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0xe3, + 0x04, 0xcd, 0x00, 0x74, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x04, 0xb0, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x04, 0x04, 0x94, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x80, 0x00, 0x06, + 0x00, 0x3e, 0x00, 0x7e, 0x02, 0x36, 0x03, 0x6f, 0x03, 0x75, 0x03, + 0x7e, 0x03, 0x8a, 0x03, 0x8c, 0x03, 0xa1, 0x03, 0xce, 0x05, 0x13, + 0x05, 0x1d, 0x05, 0xc7, 0x05, 0xea, 0x05, 0xf4, 0x1d, 0xca, 0x1e, + 0x9b, 0x1e, 0x9e, 0x1e, 0xf9, 0x1f, 0x15, 0x1f, 0x1d, 0x1f, 0x45, + 0x1f, 0x4d, 0x1f, 0x57, 0x1f, 0x5d, 0x1f, 0x7d, 0x1f, 0xb4, 0x1f, + 0xc4, 0x1f, 0xd3, 0x1f, 0xdb, 0x1f, 0xef, 0x1f, 0xf4, 0x1f, 0xfe, + 0x20, 0x07, 0x20, 0x10, 0x20, 0x15, 0x20, 0x22, 0x20, 0x26, 0x20, + 0x2e, 0x20, 0x34, 0x20, 0x3e, 0x20, 0x44, 0x20, 0x5e, 0x20, 0x6f, + 0x20, 0x79, 0x20, 0x89, 0x20, 0x94, 0x20, 0xb5, 0x20, 0xbf, 0x20, + 0xf0, 0x21, 0x05, 0x21, 0x17, 0x21, 0x26, 0x21, 0x2e, 0x21, 0x4e, + 0x21, 0x54, 0x21, 0x5e, 0x21, 0x84, 0x21, 0x95, 0x21, 0xa8, 0x21, + 0xd4, 0x22, 0x06, 0x22, 0x1f, 0x22, 0x2b, 0x22, 0x48, 0x22, 0x65, + 0x23, 0x02, 0x23, 0x10, 0x23, 0x21, 0x25, 0x02, 0x25, 0x1c, 0x25, + 0x24, 0x25, 0x2c, 0x25, 0x34, 0x25, 0x3c, 0x25, 0x6c, 0x25, 0x93, + 0x25, 0xa1, 0x25, 0xac, 0x25, 0xb2, 0x25, 0xbc, 0x25, 0xc4, 0x25, + 0xcc, 0x25, 0xd9, 0x25, 0xe6, 0x26, 0x42, 0x26, 0x6f, 0x2c, 0x6d, + 0x2c, 0x77, 0x2e, 0x17, 0xa7, 0x21, 0xa7, 0x8c, 0xfb, 0x02, 0xfb, + 0x4f, 0xfe, 0x23, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0xa0, + 0x02, 0x38, 0x03, 0x74, 0x03, 0x7a, 0x03, 0x84, 0x03, 0x8c, 0x03, + 0x8e, 0x03, 0xa3, 0x03, 0xd0, 0x05, 0x1a, 0x05, 0x91, 0x05, 0xd0, + 0x05, 0xf0, 0x1d, 0x00, 0x1d, 0xfe, 0x1e, 0x9e, 0x1e, 0xa0, 0x1f, + 0x00, 0x1f, 0x18, 0x1f, 0x20, 0x1f, 0x48, 0x1f, 0x50, 0x1f, 0x59, + 0x1f, 0x5f, 0x1f, 0x80, 0x1f, 0xb6, 0x1f, 0xc6, 0x1f, 0xd6, 0x1f, + 0xdd, 0x1f, 0xf2, 0x1f, 0xf6, 0x20, 0x07, 0x20, 0x0c, 0x20, 0x12, + 0x20, 0x17, 0x20, 0x26, 0x20, 0x2a, 0x20, 0x30, 0x20, 0x39, 0x20, + 0x44, 0x20, 0x5e, 0x20, 0x6a, 0x20, 0x74, 0x20, 0x7f, 0x20, 0x90, + 0x20, 0xa0, 0x20, 0xbf, 0x20, 0xf0, 0x21, 0x05, 0x21, 0x13, 0x21, + 0x22, 0x21, 0x2e, 0x21, 0x4d, 0x21, 0x53, 0x21, 0x5b, 0x21, 0x84, + 0x21, 0x90, 0x21, 0xa8, 0x21, 0xd4, 0x22, 0x02, 0x22, 0x0f, 0x22, + 0x29, 0x22, 0x48, 0x22, 0x60, 0x23, 0x02, 0x23, 0x10, 0x23, 0x20, + 0x25, 0x00, 0x25, 0x0c, 0x25, 0x24, 0x25, 0x2c, 0x25, 0x34, 0x25, + 0x3c, 0x25, 0x50, 0x25, 0x80, 0x25, 0xa0, 0x25, 0xaa, 0x25, 0xb2, + 0x25, 0xba, 0x25, 0xc4, 0x25, 0xca, 0x25, 0xcf, 0x25, 0xe6, 0x26, + 0x3a, 0x26, 0x60, 0x2c, 0x60, 0x2c, 0x71, 0x2e, 0x17, 0xa7, 0x17, + 0xa7, 0x88, 0xfb, 0x01, 0xfb, 0x1d, 0xfe, 0x20, 0xff, 0xff, 0xff, + 0xe3, 0xff, 0xc2, 0xff, 0xc1, 0xff, 0xbd, 0xff, 0xb9, 0xff, 0xb4, + 0xff, 0xb3, 0xff, 0xb2, 0xff, 0xb1, 0xff, 0xb0, 0xff, 0xaa, 0xff, + 0x37, 0xff, 0x2f, 0xff, 0x2a, 0xe8, 0x1f, 0xe7, 0xec, 0xe7, 0xea, + 0xe7, 0xe9, 0xe7, 0xe3, 0xe7, 0xe1, 0xe7, 0xdf, 0xe7, 0xdd, 0xe7, + 0xdb, 0x00, 0x00, 0xe7, 0xd7, 0xe7, 0xd5, 0xe7, 0xd4, 0xe7, 0xd3, + 0xe7, 0xd1, 0xe7, 0xd0, 0xe7, 0xce, 0xe7, 0xcd, 0xe7, 0xc5, 0xe7, + 0xc1, 0xe7, 0xc0, 0xe7, 0xbf, 0xe7, 0xbc, 0xe7, 0xb9, 0x00, 0x00, + 0x00, 0x00, 0xe7, 0xac, 0xe7, 0x93, 0xe7, 0x88, 0xe7, 0x84, 0xe7, + 0x7f, 0xe7, 0x79, 0xe7, 0x6e, 0xe7, 0x65, 0xe7, 0x35, 0xe7, 0x21, + 0x00, 0x00, 0x00, 0x00, 0xe6, 0xfe, 0xe6, 0xe0, 0xe6, 0xdc, 0xe6, + 0xd6, 0xe6, 0xb1, 0xe6, 0xa6, 0xe6, 0x94, 0xe6, 0x69, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe6, 0x02, 0x00, 0x00, 0xe5, 0x4e, 0xe5, + 0x41, 0xe5, 0x32, 0x00, 0x00, 0x00, 0x00, 0xe3, 0x37, 0xe3, 0x30, + 0xe3, 0x29, 0xe3, 0x22, 0xe3, 0x0f, 0x00, 0x00, 0xe2, 0xe4, 0xe2, + 0xdc, 0xe2, 0xd7, 0x00, 0x00, 0xe2, 0xc8, 0xe2, 0xc3, 0xe2, 0xc1, + 0xe2, 0xb5, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x4a, 0xdc, 0x47, 0xda, + 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7a, 0x00, 0x82, 0x00, 0xa2, 0x00, 0x00, 0x00, 0xa4, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x00, 0xac, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0x00, 0xee, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x01, 0x1a, 0x01, 0x22, 0x01, + 0x24, 0x01, 0x88, 0x00, 0x00, 0x07, 0x33, 0x00, 0x00, 0x07, 0x34, + 0x00, 0x00, 0x07, 0x35, 0x07, 0xe8, 0x00, 0x00, 0x07, 0xe9, 0x07, + 0xea, 0x07, 0xeb, 0x07, 0xec, 0x07, 0xed, 0x00, 0x00, 0x07, 0xee, + 0x00, 0x00, 0x07, 0xef, 0x08, 0x27, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x28, 0x08, 0x29, 0x08, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x2b, 0x08, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x3f, 0x08, 0x40, 0x00, 0x00, 0x08, 0x41, 0x08, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x44, 0x08, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x46, + 0x08, 0x47, 0x08, 0x48, 0x00, 0x00, 0x08, 0x49, 0x08, 0x4b, 0x08, + 0x4c, 0x08, 0x4d, 0x00, 0x00, 0x08, 0x4e, 0x08, 0x4f, 0x08, 0x54, + 0x00, 0x00, 0x08, 0x55, 0x08, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x58, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x59, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x5a, 0x08, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x08, 0x81, 0x08, 0x82, 0x08, + 0x83, 0x08, 0x8a, 0x00, 0x00, 0x08, 0x8b, 0x08, 0x9c, 0x08, 0x9d, + 0x08, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x9f, 0x00, + 0x00, 0x08, 0xa0, 0x08, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xa2, + 0x00, 0x00, 0x08, 0xa3, 0x08, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x08, + 0xa5, 0x08, 0xa6, 0x08, 0xa7, 0x08, 0xa8, 0x00, 0x00, 0x00, 0x00, + 0x08, 0xa9, 0x08, 0xc0, 0x08, 0xc1, 0x08, 0xc2, 0x08, 0xc3, 0x08, + 0xc4, 0x08, 0xc5, 0x08, 0xc6, 0x08, 0xc7, 0x08, 0xc8, 0x08, 0xc9, + 0x08, 0xca, 0x08, 0xcb, 0x08, 0xcc, 0x08, 0xcd, 0x08, 0xce, 0x08, + 0xcf, 0x08, 0xd0, 0x08, 0xd1, 0x08, 0xd2, 0x08, 0xd3, 0x08, 0xd4, + 0x08, 0xd5, 0x08, 0xd6, 0x08, 0xd7, 0x08, 0xd8, 0x08, 0xd9, 0x08, + 0xda, 0x08, 0xdb, 0x08, 0xdc, 0x08, 0xdd, 0x08, 0xde, 0x08, 0xdf, + 0x08, 0xe0, 0x08, 0xe1, 0x08, 0xe2, 0x08, 0xe3, 0x08, 0xe4, 0x08, + 0xe5, 0x08, 0xe6, 0x08, 0xe7, 0x08, 0xe8, 0x08, 0xe9, 0x08, 0xea, + 0x08, 0xeb, 0x00, 0x00, 0x08, 0xec, 0x08, 0xed, 0x08, 0xee, 0x08, + 0xef, 0x08, 0xf0, 0x00, 0x00, 0x08, 0xf1, 0x00, 0x00, 0x08, 0xf2, + 0x08, 0xf3, 0x00, 0x00, 0x08, 0xf4, 0x08, 0xf5, 0x00, 0x00, 0x08, + 0xf6, 0x08, 0xf7, 0x08, 0xf8, 0x08, 0xf9, 0x08, 0xfa, 0x08, 0xfb, + 0x08, 0xfc, 0x08, 0xfd, 0x08, 0xfe, 0x08, 0xff, 0x09, 0x00, 0x09, + 0x01, 0x09, 0x02, 0x09, 0x03, 0x00, 0x06, 0x02, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, + 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, + 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, + 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, + 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, + 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, + 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, + 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, + 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, + 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, + 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, + 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, + 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, + 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, + 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, + 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, + 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x00, 0x00, 0x86, 0x00, 0x87, + 0x00, 0x89, 0x00, 0x8b, 0x00, 0x93, 0x00, 0x98, 0x00, 0x9e, 0x00, + 0xa3, 0x00, 0xa2, 0x00, 0xa4, 0x00, 0xa6, 0x00, 0xa5, 0x00, 0xa7, + 0x00, 0xa9, 0x00, 0xab, 0x00, 0xaa, 0x00, 0xac, 0x00, 0xad, 0x00, + 0xaf, 0x00, 0xae, 0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb3, 0x00, 0xb5, + 0x00, 0xb4, 0x00, 0xb6, 0x00, 0xb8, 0x00, 0xb7, 0x00, 0xbc, 0x00, + 0xbb, 0x00, 0xbd, 0x00, 0xbe, 0x07, 0xdf, 0x00, 0x72, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x69, 0x07, 0xe1, 0x00, 0x78, 0x00, 0xa1, 0x00, + 0x70, 0x00, 0x6b, 0x08, 0x2a, 0x00, 0x76, 0x00, 0x6a, 0x08, 0x4b, + 0x00, 0x88, 0x00, 0x9a, 0x08, 0x46, 0x00, 0x73, 0x08, 0x4e, 0x08, + 0x4f, 0x00, 0x67, 0x00, 0x77, 0x08, 0x3e, 0x08, 0x41, 0x08, 0x40, + 0x03, 0x71, 0x08, 0x49, 0x00, 0x6c, 0x00, 0x7c, 0x03, 0x5a, 0x00, + 0xa8, 0x00, 0xba, 0x00, 0x81, 0x00, 0x63, 0x00, 0x6e, 0x08, 0x45, + 0x01, 0x54, 0x08, 0x4a, 0x08, 0x3f, 0x00, 0x6d, 0x00, 0x7d, 0x07, + 0xe2, 0x00, 0x62, 0x00, 0x82, 0x00, 0x85, 0x00, 0x97, 0x01, 0x14, + 0x01, 0x15, 0x07, 0xd3, 0x07, 0xd4, 0x07, 0xdb, 0x07, 0xdc, 0x07, + 0xd7, 0x07, 0xd8, 0x00, 0xb9, 0x08, 0x8d, 0x00, 0xc1, 0x01, 0x3a, + 0x07, 0xf0, 0x08, 0x1a, 0x07, 0xec, 0x07, 0xed, 0x08, 0xd0, 0x08, + 0xd1, 0x07, 0xe0, 0x00, 0x79, 0x07, 0xd9, 0x07, 0xdd, 0x07, 0xe8, + 0x00, 0x84, 0x00, 0x8c, 0x00, 0x83, 0x00, 0x8d, 0x00, 0x8a, 0x00, + 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x8e, 0x00, 0x95, 0x00, 0x96, + 0x00, 0x00, 0x00, 0x94, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9b, 0x00, + 0xf3, 0x02, 0x87, 0x02, 0x9d, 0x00, 0x71, 0x02, 0x99, 0x02, 0x9a, + 0x02, 0x9b, 0x00, 0x7a, 0x02, 0x9e, 0x02, 0x9c, 0x02, 0x88, 0x00, + 0x00, 0x40, 0x47, 0x5b, 0x5a, 0x59, 0x58, 0x55, 0x54, 0x53, 0x52, + 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, + 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, + 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x31, 0x30, 0x2f, 0x2e, + 0x2d, 0x2c, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x1f, + 0x18, 0x14, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0b, 0x0a, 0x09, 0x08, + 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x2c, 0x20, 0xb0, + 0x01, 0x60, 0x45, 0xb0, 0x03, 0x25, 0x20, 0x11, 0x46, 0x61, 0x23, + 0x45, 0x23, 0x61, 0x48, 0x2d, 0x2c, 0x20, 0x45, 0x18, 0x68, 0x44, + 0x2d, 0x2c, 0x45, 0x23, 0x46, 0x60, 0xb0, 0x20, 0x61, 0x20, 0xb0, + 0x46, 0x60, 0xb0, 0x04, 0x26, 0x23, 0x48, 0x48, 0x2d, 0x2c, 0x45, + 0x23, 0x46, 0x23, 0x61, 0xb0, 0x20, 0x60, 0x20, 0xb0, 0x26, 0x61, + 0xb0, 0x20, 0x61, 0xb0, 0x04, 0x26, 0x23, 0x48, 0x48, 0x2d, 0x2c, + 0x45, 0x23, 0x46, 0x60, 0xb0, 0x40, 0x61, 0x20, 0xb0, 0x66, 0x60, + 0xb0, 0x04, 0x26, 0x23, 0x48, 0x48, 0x2d, 0x2c, 0x45, 0x23, 0x46, + 0x23, 0x61, 0xb0, 0x40, 0x60, 0x20, 0xb0, 0x26, 0x61, 0xb0, 0x40, + 0x61, 0xb0, 0x04, 0x26, 0x23, 0x48, 0x48, 0x2d, 0x2c, 0x01, 0x10, + 0x20, 0x3c, 0x00, 0x3c, 0x2d, 0x2c, 0x20, 0x45, 0x23, 0x20, 0xb0, + 0xcd, 0x44, 0x23, 0x20, 0xb8, 0x01, 0x5a, 0x51, 0x58, 0x23, 0x20, + 0xb0, 0x8d, 0x44, 0x23, 0x59, 0x20, 0xb0, 0xed, 0x51, 0x58, 0x23, + 0x20, 0xb0, 0x4d, 0x44, 0x23, 0x59, 0x20, 0xb0, 0x04, 0x26, 0x51, + 0x58, 0x23, 0x20, 0xb0, 0x0d, 0x44, 0x23, 0x59, 0x21, 0x21, 0x2d, + 0x2c, 0x20, 0x20, 0x45, 0x18, 0x68, 0x44, 0x20, 0xb0, 0x01, 0x60, + 0x20, 0x45, 0xb0, 0x46, 0x76, 0x68, 0x8a, 0x45, 0x60, 0x44, 0x2d, + 0x2c, 0x01, 0xb1, 0x0b, 0x0a, 0x43, 0x23, 0x43, 0x65, 0x0a, 0x2d, + 0x2c, 0x00, 0xb1, 0x0a, 0x0b, 0x43, 0x23, 0x43, 0x0b, 0x2d, 0x2c, + 0x00, 0xb0, 0x28, 0x23, 0x70, 0xb1, 0x01, 0x28, 0x3e, 0x01, 0xb0, + 0x28, 0x23, 0x70, 0xb1, 0x02, 0x28, 0x45, 0x3a, 0xb1, 0x02, 0x00, + 0x08, 0x0d, 0x2d, 0x2c, 0x20, 0x45, 0xb0, 0x03, 0x25, 0x45, 0x61, + 0x64, 0xb0, 0x50, 0x51, 0x58, 0x45, 0x44, 0x1b, 0x21, 0x21, 0x59, + 0x2d, 0x2c, 0x49, 0xb0, 0x0e, 0x23, 0x44, 0x2d, 0x2c, 0x20, 0x45, + 0xb0, 0x00, 0x43, 0x60, 0x44, 0x2d, 0x2c, 0x01, 0xb0, 0x06, 0x43, + 0xb0, 0x07, 0x43, 0x65, 0x0a, 0x2d, 0x2c, 0x20, 0x69, 0xb0, 0x40, + 0x61, 0xb0, 0x00, 0x8b, 0x20, 0xb1, 0x2c, 0xc0, 0x8a, 0x8c, 0xb8, + 0x10, 0x00, 0x62, 0x60, 0x2b, 0x0c, 0x64, 0x23, 0x64, 0x61, 0x5c, + 0x58, 0xb0, 0x03, 0x61, 0x59, 0x2d, 0x2c, 0x8a, 0x03, 0x45, 0x8a, + 0x8a, 0x87, 0xb0, 0x11, 0x2b, 0xb0, 0x29, 0x23, 0x44, 0xb0, 0x29, + 0x7a, 0xe4, 0x18, 0x2d, 0x2c, 0x45, 0x65, 0xb0, 0x2c, 0x23, 0x44, + 0x45, 0xb0, 0x2b, 0x23, 0x44, 0x2d, 0x2c, 0x4b, 0x52, 0x58, 0x45, + 0x44, 0x1b, 0x21, 0x21, 0x59, 0x2d, 0x2c, 0x4b, 0x51, 0x58, 0x45, + 0x44, 0x1b, 0x21, 0x21, 0x59, 0x2d, 0x2c, 0x01, 0xb0, 0x05, 0x25, + 0x10, 0x23, 0x20, 0x8a, 0xf5, 0x00, 0xb0, 0x01, 0x60, 0x23, 0xed, + 0xec, 0x2d, 0x2c, 0x01, 0xb0, 0x05, 0x25, 0x10, 0x23, 0x20, 0x8a, + 0xf5, 0x00, 0xb0, 0x01, 0x61, 0x23, 0xed, 0xec, 0x2d, 0x2c, 0x01, + 0xb0, 0x06, 0x25, 0x10, 0xf5, 0x00, 0xed, 0xec, 0x2d, 0x2c, 0xb0, + 0x02, 0x43, 0xb0, 0x01, 0x52, 0x58, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x1b, 0x46, 0x23, 0x46, 0x60, 0x8a, 0x8a, 0x46, 0x23, 0x20, 0x46, + 0x8a, 0x60, 0x8a, 0x61, 0xb8, 0xff, 0x80, 0x62, 0x23, 0x20, 0x10, + 0x23, 0x8a, 0xb1, 0x0c, 0x0c, 0x8a, 0x70, 0x45, 0x60, 0x20, 0xb0, + 0x00, 0x50, 0x58, 0xb0, 0x01, 0x61, 0xb8, 0xff, 0xba, 0x8b, 0x1b, + 0xb0, 0x46, 0x8c, 0x59, 0xb0, 0x10, 0x60, 0x68, 0x01, 0x3a, 0x59, + 0x2d, 0x2c, 0x20, 0x45, 0xb0, 0x03, 0x25, 0x46, 0x52, 0x4b, 0xb0, + 0x13, 0x51, 0x5b, 0x58, 0xb0, 0x02, 0x25, 0x46, 0x20, 0x68, 0x61, + 0xb0, 0x03, 0x25, 0xb0, 0x03, 0x25, 0x3f, 0x23, 0x21, 0x38, 0x1b, + 0x21, 0x11, 0x59, 0x2d, 0x2c, 0x20, 0x45, 0xb0, 0x03, 0x25, 0x46, + 0x50, 0x58, 0xb0, 0x02, 0x25, 0x46, 0x20, 0x68, 0x61, 0xb0, 0x03, + 0x25, 0xb0, 0x03, 0x25, 0x3f, 0x23, 0x21, 0x38, 0x1b, 0x21, 0x11, + 0x59, 0x2d, 0x2c, 0x00, 0xb0, 0x07, 0x43, 0xb0, 0x06, 0x43, 0x0b, + 0x2d, 0x2c, 0x21, 0x21, 0x0c, 0x64, 0x23, 0x64, 0x8b, 0xb8, 0x40, + 0x00, 0x62, 0x2d, 0x2c, 0x21, 0xb0, 0x80, 0x51, 0x58, 0x0c, 0x64, + 0x23, 0x64, 0x8b, 0xb8, 0x20, 0x00, 0x62, 0x1b, 0xb2, 0x00, 0x40, + 0x2f, 0x2b, 0x59, 0xb0, 0x02, 0x60, 0x2d, 0x2c, 0x21, 0xb0, 0xc0, + 0x51, 0x58, 0x0c, 0x64, 0x23, 0x64, 0x8b, 0xb8, 0x15, 0x55, 0x62, + 0x1b, 0xb2, 0x00, 0x80, 0x2f, 0x2b, 0x59, 0xb0, 0x02, 0x60, 0x2d, + 0x2c, 0x0c, 0x64, 0x23, 0x64, 0x8b, 0xb8, 0x40, 0x00, 0x62, 0x60, + 0x23, 0x21, 0x2d, 0x2c, 0x4b, 0x53, 0x58, 0x8a, 0xb0, 0x04, 0x25, + 0x49, 0x64, 0x23, 0x45, 0x69, 0xb0, 0x40, 0x8b, 0x61, 0xb0, 0x80, + 0x62, 0xb0, 0x20, 0x61, 0x6a, 0xb0, 0x0e, 0x23, 0x44, 0x23, 0x10, + 0xb0, 0x0e, 0xf6, 0x1b, 0x21, 0x23, 0x8a, 0x12, 0x11, 0x20, 0x39, + 0x2f, 0x59, 0x2d, 0x2c, 0x4b, 0x53, 0x58, 0x20, 0xb0, 0x03, 0x25, + 0x49, 0x64, 0x69, 0x20, 0xb0, 0x05, 0x26, 0xb0, 0x06, 0x25, 0x49, + 0x64, 0x23, 0x61, 0xb0, 0x80, 0x62, 0xb0, 0x20, 0x61, 0x6a, 0xb0, + 0x0e, 0x23, 0x44, 0xb0, 0x04, 0x26, 0x10, 0xb0, 0x0e, 0xf6, 0x8a, + 0x10, 0xb0, 0x0e, 0x23, 0x44, 0xb0, 0x0e, 0xf6, 0xb0, 0x0e, 0x23, + 0x44, 0xb0, 0x0e, 0xed, 0x1b, 0x8a, 0xb0, 0x04, 0x26, 0x11, 0x12, + 0x20, 0x39, 0x23, 0x20, 0x39, 0x2f, 0x2f, 0x59, 0x2d, 0x2c, 0x45, + 0x23, 0x45, 0x60, 0x23, 0x45, 0x60, 0x23, 0x45, 0x60, 0x23, 0x76, + 0x68, 0x18, 0xb0, 0x80, 0x62, 0x20, 0x2d, 0x2c, 0xb0, 0x48, 0x2b, + 0x2d, 0x2c, 0x20, 0x45, 0xb0, 0x00, 0x54, 0x58, 0xb0, 0x40, 0x44, + 0x20, 0x45, 0xb0, 0x40, 0x61, 0x44, 0x1b, 0x21, 0x21, 0x59, 0x2d, + 0x2c, 0x45, 0xb1, 0x30, 0x2f, 0x45, 0x23, 0x45, 0x61, 0x60, 0xb0, + 0x01, 0x60, 0x69, 0x44, 0x2d, 0x2c, 0x4b, 0x51, 0x58, 0xb0, 0x2f, + 0x23, 0x70, 0xb0, 0x14, 0x23, 0x42, 0x1b, 0x21, 0x21, 0x59, 0x2d, + 0x2c, 0x4b, 0x51, 0x58, 0x20, 0xb0, 0x03, 0x25, 0x45, 0x69, 0x53, + 0x58, 0x44, 0x1b, 0x21, 0x21, 0x59, 0x1b, 0x21, 0x21, 0x59, 0x2d, + 0x2c, 0x45, 0xb0, 0x14, 0x43, 0xb0, 0x00, 0x60, 0x63, 0xb0, 0x01, + 0x60, 0x69, 0x44, 0x2d, 0x2c, 0xb0, 0x2f, 0x45, 0x44, 0x2d, 0x2c, + 0x45, 0x23, 0x20, 0x45, 0x8a, 0x60, 0x44, 0x2d, 0x2c, 0x45, 0x23, + 0x45, 0x60, 0x44, 0x2d, 0x2c, 0x4b, 0x23, 0x51, 0x58, 0xb9, 0x00, + 0x33, 0xff, 0xe0, 0xb1, 0x34, 0x20, 0x1b, 0xb3, 0x33, 0x00, 0x34, + 0x00, 0x59, 0x44, 0x44, 0x2d, 0x2c, 0xb0, 0x16, 0x43, 0x58, 0xb0, + 0x03, 0x26, 0x45, 0x8a, 0x58, 0x64, 0x66, 0xb0, 0x1f, 0x60, 0x1b, + 0x64, 0xb0, 0x20, 0x60, 0x66, 0x20, 0x58, 0x1b, 0x21, 0xb0, 0x40, + 0x59, 0xb0, 0x01, 0x61, 0x59, 0x23, 0x58, 0x65, 0x59, 0xb0, 0x29, + 0x23, 0x44, 0x23, 0x10, 0xb0, 0x29, 0xe0, 0x1b, 0x21, 0x21, 0x21, + 0x21, 0x21, 0x59, 0x2d, 0x2c, 0xb0, 0x02, 0x43, 0x54, 0x58, 0x4b, + 0x53, 0x23, 0x4b, 0x51, 0x5a, 0x58, 0x38, 0x1b, 0x21, 0x21, 0x59, + 0x1b, 0x21, 0x21, 0x21, 0x21, 0x59, 0x2d, 0x2c, 0xb0, 0x16, 0x43, + 0x58, 0xb0, 0x04, 0x25, 0x45, 0x64, 0xb0, 0x20, 0x60, 0x66, 0x20, + 0x58, 0x1b, 0x21, 0xb0, 0x40, 0x59, 0xb0, 0x01, 0x61, 0x23, 0x58, + 0x1b, 0x65, 0x59, 0xb0, 0x29, 0x23, 0x44, 0xb0, 0x05, 0x25, 0xb0, + 0x08, 0x25, 0x08, 0x20, 0x58, 0x02, 0x1b, 0x03, 0x59, 0xb0, 0x04, + 0x25, 0x10, 0xb0, 0x05, 0x25, 0x20, 0x46, 0xb0, 0x04, 0x25, 0x23, + 0x42, 0x3c, 0xb0, 0x04, 0x25, 0xb0, 0x07, 0x25, 0x08, 0xb0, 0x07, + 0x25, 0x10, 0xb0, 0x06, 0x25, 0x20, 0x46, 0xb0, 0x04, 0x25, 0xb0, + 0x01, 0x60, 0x23, 0x42, 0x3c, 0x20, 0x58, 0x01, 0x1b, 0x00, 0x59, + 0xb0, 0x04, 0x25, 0x10, 0xb0, 0x05, 0x25, 0xb0, 0x29, 0xe0, 0xb0, + 0x29, 0x20, 0x45, 0x65, 0x44, 0xb0, 0x07, 0x25, 0x10, 0xb0, 0x06, + 0x25, 0xb0, 0x29, 0xe0, 0xb0, 0x05, 0x25, 0xb0, 0x08, 0x25, 0x08, + 0x20, 0x58, 0x02, 0x1b, 0x03, 0x59, 0xb0, 0x05, 0x25, 0xb0, 0x03, + 0x25, 0x43, 0x48, 0xb0, 0x04, 0x25, 0xb0, 0x07, 0x25, 0x08, 0xb0, + 0x06, 0x25, 0xb0, 0x03, 0x25, 0xb0, 0x01, 0x60, 0x43, 0x48, 0x1b, + 0x21, 0x59, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x2d, 0x2c, + 0x02, 0xb0, 0x04, 0x25, 0x20, 0x20, 0x46, 0xb0, 0x04, 0x25, 0x23, + 0x42, 0xb0, 0x05, 0x25, 0x08, 0xb0, 0x03, 0x25, 0x45, 0x48, 0x21, + 0x21, 0x21, 0x21, 0x2d, 0x2c, 0x02, 0xb0, 0x03, 0x25, 0x20, 0xb0, + 0x04, 0x25, 0x08, 0xb0, 0x02, 0x25, 0x43, 0x48, 0x21, 0x21, 0x21, + 0x2d, 0x2c, 0x45, 0x23, 0x20, 0x45, 0x18, 0x20, 0xb0, 0x00, 0x50, + 0x20, 0x58, 0x23, 0x65, 0x23, 0x59, 0x23, 0x68, 0x20, 0xb0, 0x40, + 0x50, 0x58, 0x21, 0xb0, 0x40, 0x59, 0x23, 0x58, 0x65, 0x59, 0x8a, + 0x60, 0x44, 0x2d, 0x2c, 0x4b, 0x53, 0x23, 0x4b, 0x51, 0x5a, 0x58, + 0x20, 0x45, 0x8a, 0x60, 0x44, 0x1b, 0x21, 0x21, 0x59, 0x2d, 0x2c, + 0x4b, 0x54, 0x58, 0x20, 0x45, 0x8a, 0x60, 0x44, 0x1b, 0x21, 0x21, + 0x59, 0x2d, 0x2c, 0x4b, 0x53, 0x23, 0x4b, 0x51, 0x5a, 0x58, 0x38, + 0x1b, 0x21, 0x21, 0x59, 0x2d, 0x2c, 0xb0, 0x00, 0x21, 0x4b, 0x54, + 0x58, 0x38, 0x1b, 0x21, 0x21, 0x59, 0x2d, 0x2c, 0xb0, 0x02, 0x43, + 0x54, 0x58, 0xb0, 0x46, 0x2b, 0x1b, 0x21, 0x21, 0x21, 0x21, 0x59, + 0x2d, 0x2c, 0xb0, 0x02, 0x43, 0x54, 0x58, 0xb0, 0x47, 0x2b, 0x1b, + 0x21, 0x21, 0x21, 0x59, 0x2d, 0x2c, 0xb0, 0x02, 0x43, 0x54, 0x58, + 0xb0, 0x48, 0x2b, 0x1b, 0x21, 0x21, 0x21, 0x21, 0x59, 0x2d, 0x2c, + 0xb0, 0x02, 0x43, 0x54, 0x58, 0xb0, 0x49, 0x2b, 0x1b, 0x21, 0x21, + 0x21, 0x59, 0x2d, 0x2c, 0x20, 0x8a, 0x08, 0x23, 0x4b, 0x53, 0x8a, + 0x4b, 0x51, 0x5a, 0x58, 0x23, 0x38, 0x1b, 0x21, 0x21, 0x59, 0x2d, + 0x2c, 0x00, 0xb0, 0x02, 0x25, 0x49, 0xb0, 0x00, 0x53, 0x58, 0x20, + 0xb0, 0x40, 0x38, 0x11, 0x1b, 0x21, 0x59, 0x2d, 0x2c, 0x01, 0x46, + 0x23, 0x46, 0x60, 0x23, 0x46, 0x61, 0x23, 0x20, 0x10, 0x20, 0x46, + 0x8a, 0x61, 0xb8, 0xff, 0x80, 0x62, 0x8a, 0xb1, 0x40, 0x40, 0x8a, + 0x70, 0x45, 0x60, 0x68, 0x3a, 0x2d, 0x2c, 0x20, 0x8a, 0x23, 0x49, + 0x64, 0x8a, 0x23, 0x53, 0x58, 0x3c, 0x1b, 0x21, 0x59, 0x2d, 0x2c, + 0x4b, 0x52, 0x58, 0x7d, 0x1b, 0x7a, 0x59, 0x2d, 0x2c, 0xb0, 0x12, + 0x00, 0x4b, 0x01, 0x4b, 0x54, 0x42, 0x2d, 0x2c, 0xb1, 0x02, 0x00, + 0x42, 0xb1, 0x23, 0x01, 0x88, 0x51, 0xb1, 0x40, 0x01, 0x88, 0x53, + 0x5a, 0x58, 0xb9, 0x10, 0x00, 0x00, 0x20, 0x88, 0x54, 0x58, 0xb2, + 0x02, 0x01, 0x02, 0x43, 0x60, 0x42, 0x59, 0xb1, 0x24, 0x01, 0x88, + 0x51, 0x58, 0xb9, 0x20, 0x00, 0x00, 0x40, 0x88, 0x54, 0x58, 0xb2, + 0x02, 0x02, 0x02, 0x43, 0x60, 0x42, 0xb1, 0x24, 0x01, 0x88, 0x54, + 0x58, 0xb2, 0x02, 0x20, 0x02, 0x43, 0x60, 0x42, 0x00, 0x4b, 0x01, + 0x4b, 0x52, 0x58, 0xb2, 0x02, 0x08, 0x02, 0x43, 0x60, 0x42, 0x59, + 0x1b, 0xb9, 0x40, 0x00, 0x00, 0x80, 0x88, 0x54, 0x58, 0xb2, 0x02, + 0x04, 0x02, 0x43, 0x60, 0x42, 0x59, 0xb9, 0x40, 0x00, 0x00, 0x80, + 0x63, 0xb8, 0x01, 0x00, 0x88, 0x54, 0x58, 0xb2, 0x02, 0x08, 0x02, + 0x43, 0x60, 0x42, 0x59, 0xb9, 0x40, 0x00, 0x01, 0x00, 0x63, 0xb8, + 0x02, 0x00, 0x88, 0x54, 0x58, 0xb2, 0x02, 0x10, 0x02, 0x43, 0x60, + 0x42, 0x59, 0xb1, 0x26, 0x01, 0x88, 0x51, 0x58, 0xb9, 0x40, 0x00, + 0x02, 0x00, 0x63, 0xb8, 0x04, 0x00, 0x88, 0x54, 0x58, 0xb2, 0x02, + 0x40, 0x02, 0x43, 0x60, 0x42, 0x59, 0xb9, 0x40, 0x00, 0x04, 0x00, + 0x63, 0xb8, 0x08, 0x00, 0x88, 0x54, 0x58, 0xb2, 0x02, 0x80, 0x02, + 0x43, 0x60, 0x42, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0xb1, 0x00, + 0x02, 0x43, 0x54, 0x58, 0x40, 0x0a, 0x05, 0x40, 0x08, 0x40, 0x09, + 0x40, 0x0c, 0x02, 0x0d, 0x02, 0x1b, 0xb1, 0x01, 0x02, 0x43, 0x54, + 0x58, 0xb2, 0x05, 0x40, 0x08, 0xba, 0x01, 0x00, 0x00, 0x09, 0x01, + 0x00, 0xb3, 0x0c, 0x01, 0x0d, 0x01, 0x1b, 0xb1, 0x80, 0x02, 0x43, + 0x52, 0x58, 0xb2, 0x05, 0x40, 0x08, 0xb8, 0x01, 0x80, 0xb1, 0x09, + 0x40, 0x1b, 0xb2, 0x05, 0x40, 0x08, 0xba, 0x01, 0x80, 0x00, 0x09, + 0x01, 0x40, 0x59, 0xb9, 0x40, 0x00, 0x00, 0x80, 0x88, 0x55, 0xb9, + 0x40, 0x00, 0x02, 0x00, 0x63, 0xb8, 0x04, 0x00, 0x88, 0x55, 0x5a, + 0x58, 0xb3, 0x0c, 0x00, 0x0d, 0x01, 0x1b, 0xb3, 0x0c, 0x00, 0x0d, + 0x01, 0x59, 0x59, 0x59, 0x42, 0x42, 0x42, 0x42, 0x42, 0x2d, 0x2c, + 0x45, 0x18, 0x68, 0x23, 0x4b, 0x51, 0x58, 0x23, 0x20, 0x45, 0x20, + 0x64, 0xb0, 0x40, 0x50, 0x58, 0x7c, 0x59, 0x68, 0x8a, 0x60, 0x59, + 0x44, 0x2d, 0x2c, 0xb0, 0x00, 0x16, 0xb0, 0x02, 0x25, 0xb0, 0x02, + 0x25, 0x01, 0xb0, 0x01, 0x23, 0x3e, 0x00, 0xb0, 0x02, 0x23, 0x3e, + 0xb1, 0x01, 0x02, 0x06, 0x0c, 0xb0, 0x0a, 0x23, 0x65, 0x42, 0xb0, + 0x0b, 0x23, 0x42, 0x01, 0xb0, 0x01, 0x23, 0x3f, 0x00, 0xb0, 0x02, + 0x23, 0x3f, 0xb1, 0x01, 0x02, 0x06, 0x0c, 0xb0, 0x06, 0x23, 0x65, + 0x42, 0xb0, 0x07, 0x23, 0x42, 0xb0, 0x01, 0x16, 0x01, 0x2d, 0x2c, + 0xb0, 0x80, 0xb0, 0x02, 0x43, 0x50, 0xb0, 0x01, 0xb0, 0x02, 0x43, + 0x54, 0x5b, 0x58, 0x21, 0x23, 0x10, 0xb0, 0x20, 0x1a, 0xc9, 0x1b, + 0x8a, 0x10, 0xed, 0x59, 0x2d, 0x2c, 0xb0, 0x59, 0x2b, 0x2d, 0x2c, + 0x8a, 0x10, 0xe5, 0x2d, 0x41, 0x26, 0x01, 0x53, 0x00, 0x01, 0x01, + 0x4d, 0x00, 0x55, 0x01, 0x52, 0x00, 0x01, 0x01, 0x4d, 0x00, 0x55, + 0x01, 0x56, 0x01, 0x54, 0x00, 0x14, 0x00, 0x1f, 0x01, 0x55, 0x01, + 0x54, 0x00, 0x1f, 0x00, 0x1f, 0x01, 0x4f, 0x00, 0x33, 0x01, 0x4e, + 0x00, 0x55, 0x01, 0x4c, 0x00, 0x33, 0x01, 0x4d, 0x00, 0x55, 0x01, + 0x3d, 0x00, 0x3d, 0x01, 0x3c, 0x00, 0x55, 0x01, 0x3c, 0x00, 0x01, + 0x01, 0x3a, 0x00, 0x55, 0x01, 0x3b, 0x00, 0x3d, 0x01, 0x3a, 0x00, + 0x55, 0x01, 0x35, 0x01, 0x34, 0xb2, 0x80, 0x1f, 0x00, 0x41, 0x2e, + 0x01, 0x34, 0x00, 0x10, 0x01, 0x34, 0x00, 0x02, 0x01, 0x34, 0x00, + 0x02, 0x01, 0x2e, 0x00, 0x55, 0x01, 0x33, 0x00, 0x48, 0x01, 0x32, + 0x00, 0x55, 0x00, 0x80, 0x01, 0x32, 0x00, 0x01, 0x01, 0x32, 0x00, + 0x02, 0x01, 0x2e, 0x00, 0x55, 0x01, 0x31, 0x00, 0x3d, 0x01, 0x30, + 0x00, 0x55, 0x00, 0x0f, 0x01, 0x30, 0x00, 0x01, 0x01, 0x30, 0x00, + 0x02, 0x01, 0x2e, 0x00, 0x55, 0x01, 0x2f, 0x00, 0x3d, 0x01, 0x2e, + 0x00, 0x55, 0x00, 0x20, 0x01, 0x2e, 0x00, 0x60, 0x01, 0x2e, 0x00, + 0x02, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x20, 0x01, 0x2e, 0x00, 0x02, + 0x00, 0x09, 0x01, 0x2e, 0xb2, 0x01, 0x00, 0x55, 0xb8, 0x01, 0x2d, + 0xb2, 0x3d, 0x00, 0x55, 0xb8, 0x01, 0x2c, 0xb3, 0x00, 0xff, 0x1f, + 0x70, 0x41, 0x11, 0x01, 0x44, 0x00, 0x01, 0x01, 0x44, 0x00, 0x01, + 0x01, 0x3e, 0x00, 0x55, 0x01, 0x43, 0x00, 0x3d, 0x01, 0x42, 0x00, + 0x55, 0x01, 0x42, 0x00, 0x01, 0x01, 0x3e, 0x00, 0x55, 0x01, 0x3f, + 0x00, 0x3d, 0x01, 0x3e, 0x40, 0x67, 0x55, 0x00, 0xfd, 0x01, 0xf5, + 0x50, 0x28, 0x1f, 0xf2, 0x46, 0x28, 0x1f, 0xf1, 0x46, 0x2a, 0x1f, + 0xf0, 0x46, 0x35, 0x1f, 0x8f, 0xee, 0x9f, 0xee, 0xaf, 0xee, 0x03, + 0x6f, 0xef, 0x8f, 0xef, 0x02, 0xbf, 0xef, 0x01, 0xa0, 0xef, 0x01, + 0x1f, 0xef, 0x5f, 0xef, 0x6f, 0xef, 0x03, 0x00, 0xec, 0x40, 0xec, + 0x02, 0x0a, 0xeb, 0x46, 0xff, 0x1f, 0xe7, 0xe4, 0x26, 0x1f, 0xe6, + 0xe4, 0x3d, 0x1f, 0xe5, 0xe4, 0x1e, 0x1f, 0x0f, 0xe4, 0x01, 0x1d, + 0xe3, 0xe2, 0x46, 0x1f, 0x0f, 0xe2, 0x01, 0x40, 0xe2, 0x46, 0x16, + 0x1f, 0xe1, 0xe0, 0x46, 0x1f, 0xbf, 0xe0, 0xcf, 0xe0, 0xdf, 0xe0, + 0x03, 0x40, 0xe0, 0x33, 0x36, 0x46, 0xe0, 0x46, 0x18, 0x1f, 0xbc, + 0x01, 0x14, 0x00, 0x3e, 0x01, 0x12, 0x00, 0x55, 0x01, 0x13, 0x40, + 0x0c, 0x3d, 0x03, 0x55, 0xdf, 0x3d, 0xdd, 0x55, 0xde, 0x3d, 0xdc, + 0x55, 0x00, 0x41, 0x12, 0x01, 0x16, 0x00, 0x01, 0x01, 0x16, 0x00, + 0x01, 0x01, 0x15, 0x00, 0x55, 0x00, 0xaf, 0x01, 0x15, 0x00, 0x01, + 0x00, 0x20, 0x01, 0x15, 0x00, 0x50, 0x01, 0x15, 0x00, 0x02, 0x00, + 0x0f, 0x01, 0x15, 0x00, 0x01, 0x01, 0x11, 0x40, 0x53, 0x03, 0xff, + 0x1f, 0xdd, 0x01, 0xdc, 0x55, 0x20, 0xdc, 0x50, 0xdc, 0x80, 0xdc, + 0xb0, 0xdc, 0x04, 0x0f, 0xdc, 0x01, 0xd0, 0x15, 0x33, 0x1f, 0x5f, + 0xc3, 0x6f, 0xc3, 0x7f, 0xc3, 0x03, 0xbf, 0xc2, 0x01, 0xc1, 0x50, + 0x26, 0x1f, 0x70, 0xbe, 0x01, 0x20, 0xbe, 0x30, 0xbe, 0xc0, 0xbe, + 0x03, 0x70, 0xbe, 0x80, 0xbe, 0x02, 0x0f, 0xbc, 0x1f, 0xbc, 0x02, + 0x2f, 0xbc, 0x3f, 0xbc, 0x6f, 0xbc, 0xaf, 0xbc, 0xdf, 0xbc, 0x05, + 0xb9, 0xad, 0x26, 0x1f, 0x20, 0xb8, 0x30, 0xb8, 0x50, 0xb8, 0x70, + 0xb8, 0x80, 0xb8, 0x05, 0xb8, 0xff, 0xc0, 0x40, 0x1c, 0xb8, 0x13, + 0x29, 0x46, 0x10, 0xb7, 0x01, 0x20, 0xb7, 0x50, 0xb7, 0x80, 0xb7, + 0xb0, 0xb7, 0x04, 0x80, 0xb5, 0xb0, 0xb5, 0x02, 0x0f, 0xb3, 0x3f, + 0xb3, 0xef, 0xb3, 0x03, 0xb8, 0x01, 0x0d, 0x40, 0x2b, 0xaa, 0x48, + 0x1f, 0x80, 0xb0, 0x90, 0xb0, 0x02, 0xb0, 0xb0, 0xc0, 0xb0, 0xd0, + 0xb0, 0x03, 0x2f, 0xaf, 0x3f, 0xaf, 0x02, 0xa0, 0xad, 0xb0, 0xad, + 0x02, 0xc0, 0xad, 0xd0, 0xad, 0x02, 0x2f, 0xac, 0x3f, 0xac, 0x02, + 0x9f, 0xab, 0x01, 0xc0, 0xaa, 0xd0, 0xaa, 0x02, 0x41, 0x0d, 0x01, + 0x0f, 0x00, 0x32, 0x01, 0x0e, 0x00, 0x55, 0x00, 0x00, 0x01, 0x0e, + 0x00, 0x10, 0x01, 0x0e, 0x00, 0x20, 0x01, 0x0e, 0x00, 0x03, 0x00, + 0x0f, 0x01, 0x10, 0x40, 0x15, 0x01, 0x50, 0x9c, 0x60, 0x9c, 0x70, + 0x9c, 0x03, 0x99, 0x96, 0x26, 0x1f, 0x98, 0x46, 0x26, 0x1f, 0x30, + 0x97, 0x40, 0x97, 0x02, 0xb8, 0xff, 0xc0, 0xb3, 0x96, 0x16, 0x1c, + 0x46, 0xb8, 0xff, 0xc0, 0x40, 0x09, 0x96, 0x0e, 0x11, 0x46, 0xa1, + 0x94, 0x3c, 0x1f, 0xa0, 0x41, 0x09, 0x01, 0x45, 0x00, 0x3c, 0x00, + 0x1f, 0x01, 0x47, 0x01, 0x45, 0x00, 0x3c, 0x00, 0x1f, 0x01, 0x46, + 0x01, 0x45, 0x40, 0x28, 0x64, 0x1f, 0x95, 0x1b, 0xff, 0x1f, 0x0f, + 0x94, 0xaf, 0x94, 0xbf, 0x94, 0x03, 0x40, 0x94, 0x1d, 0x31, 0x46, + 0x40, 0x94, 0x16, 0x1b, 0x46, 0x40, 0x94, 0x0c, 0x0f, 0x46, 0x0f, + 0x93, 0x2f, 0x93, 0x3f, 0x93, 0x7f, 0x93, 0xef, 0x93, 0x05, 0x0f, + 0xba, 0x01, 0x0c, 0x00, 0x6f, 0x01, 0x0c, 0x40, 0x20, 0x02, 0x92, + 0x8d, 0x26, 0x1f, 0x91, 0x53, 0xff, 0x1f, 0xdf, 0x90, 0x01, 0x30, + 0x90, 0x01, 0x1f, 0x90, 0x2f, 0x90, 0x02, 0x6f, 0x90, 0x7f, 0x90, + 0x02, 0x00, 0x8f, 0x10, 0x8f, 0x20, 0x8f, 0x03, 0xb8, 0xff, 0xc0, + 0x40, 0x20, 0x8f, 0x18, 0x1c, 0x46, 0x20, 0x8e, 0x30, 0x8e, 0x02, + 0x4f, 0x8d, 0x5f, 0x8d, 0x6f, 0x8d, 0x03, 0x30, 0x8c, 0x01, 0x0f, + 0x8c, 0x1f, 0x8c, 0x2f, 0x8c, 0x03, 0x40, 0x8c, 0x10, 0x13, 0x46, + 0x10, 0xbf, 0x01, 0x0b, 0x00, 0x20, 0x01, 0x0b, 0x00, 0x30, 0x01, + 0x0b, 0x00, 0x03, 0xff, 0xc0, 0x01, 0x0b, 0xb2, 0x17, 0x20, 0x46, + 0xb9, 0xff, 0xc0, 0x01, 0x0b, 0x40, 0x50, 0x10, 0x14, 0x46, 0x8b, + 0x82, 0x26, 0x1f, 0x89, 0x4a, 0x3c, 0x1f, 0x88, 0x87, 0x3d, 0x1f, + 0x87, 0x84, 0x3c, 0x1f, 0x86, 0x4a, 0xff, 0x1f, 0x9f, 0x85, 0x01, + 0x10, 0x84, 0x20, 0x84, 0x30, 0x84, 0x03, 0x30, 0x83, 0x01, 0x7f, + 0x82, 0x01, 0x40, 0x82, 0x09, 0x0c, 0x46, 0x73, 0x50, 0x26, 0x1f, + 0x6f, 0x46, 0x35, 0x1f, 0x6e, 0x46, 0x35, 0x1f, 0x1a, 0x01, 0x18, + 0x55, 0x19, 0x33, 0x18, 0x55, 0x07, 0x33, 0x03, 0x55, 0x06, 0x03, + 0xff, 0x1f, 0x60, 0x50, 0x26, 0x1f, 0x5f, 0x50, 0x26, 0x1f, 0xb9, + 0xff, 0xe0, 0x01, 0x07, 0xb2, 0x1f, 0x26, 0x46, 0xb9, 0xff, 0xe0, + 0x01, 0x07, 0x40, 0x1f, 0x13, 0x1c, 0x46, 0x5e, 0x5a, 0x48, 0x1f, + 0x5c, 0x46, 0x31, 0x1f, 0x5b, 0x5a, 0x48, 0x1f, 0x5a, 0x46, 0x31, + 0x1f, 0x13, 0x32, 0x12, 0x55, 0x05, 0x01, 0x03, 0x55, 0x04, 0x32, + 0x03, 0x55, 0xb8, 0x01, 0x08, 0xb5, 0x1b, 0x3c, 0x1f, 0x0f, 0x03, + 0x01, 0xb9, 0x01, 0x19, 0x01, 0x18, 0xb2, 0x35, 0x1f, 0x40, 0xb8, + 0x01, 0x18, 0xb2, 0x17, 0x28, 0x46, 0xb8, 0x01, 0x0a, 0x40, 0x25, + 0x50, 0x26, 0x1f, 0x52, 0x50, 0x1b, 0x1f, 0xef, 0x51, 0xff, 0x51, + 0x02, 0x40, 0x51, 0x35, 0x38, 0x46, 0x40, 0x51, 0x25, 0x28, 0x46, + 0xcf, 0x50, 0x01, 0xdf, 0x4c, 0x01, 0x4c, 0x46, 0x1d, 0x1f, 0x4b, + 0x46, 0x48, 0x1f, 0x50, 0xb8, 0x01, 0x1b, 0x40, 0x62, 0x01, 0x4a, + 0x46, 0x26, 0x1f, 0x49, 0x46, 0x35, 0x1f, 0x48, 0x46, 0x35, 0x1f, + 0x47, 0x46, 0x35, 0x1f, 0xaf, 0x46, 0x01, 0xdf, 0x46, 0xef, 0x46, + 0x02, 0x80, 0x46, 0x01, 0x17, 0x01, 0x15, 0x55, 0x16, 0x32, 0x15, + 0x55, 0x11, 0x01, 0x0f, 0x55, 0x10, 0x32, 0x0f, 0x55, 0x02, 0x01, + 0x00, 0x55, 0x01, 0x00, 0xff, 0x1f, 0x1c, 0x1b, 0x64, 0x1f, 0x1f, + 0x0f, 0x3f, 0x0f, 0x5f, 0x0f, 0x7f, 0x0f, 0x04, 0x0f, 0x0f, 0x2f, + 0x0f, 0x4f, 0x0f, 0x6f, 0x0f, 0x8f, 0x0f, 0xdf, 0x0f, 0xff, 0x0f, + 0x07, 0x3f, 0x0f, 0x7f, 0x0f, 0xef, 0x0f, 0x03, 0x6f, 0x00, 0x01, + 0x4f, 0x00, 0x01, 0xa0, 0x16, 0x01, 0x05, 0x01, 0xb8, 0x01, 0x90, + 0xb1, 0x54, 0x53, 0x2b, 0x2b, 0x4b, 0xb8, 0x07, 0xff, 0x52, 0x4b, + 0xb0, 0x09, 0x50, 0x5b, 0xb0, 0x01, 0x88, 0xb0, 0x25, 0x53, 0xb0, + 0x01, 0x88, 0xb0, 0x40, 0x51, 0x5a, 0xb0, 0x06, 0x88, 0xb0, 0x00, + 0x55, 0x5a, 0x5b, 0x58, 0xb1, 0x01, 0x01, 0x8e, 0x59, 0x85, 0x8d, + 0x8d, 0x00, 0x42, 0x1d, 0x4b, 0xb0, 0x32, 0x53, 0x58, 0xb0, 0x60, + 0x1d, 0x59, 0x4b, 0xb0, 0x64, 0x53, 0x58, 0xb0, 0x40, 0x1d, 0x59, + 0x4b, 0xb0, 0x80, 0x53, 0x58, 0xb0, 0x10, 0x1d, 0xb1, 0x16, 0x00, + 0x42, 0x59, 0x73, 0x74, 0x73, 0x74, 0x75, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x01, 0x73, 0x74, 0x75, 0x2b, 0x2b, 0x2b, 0x2b, + 0x73, 0x00, 0x2b, 0x2b, 0x74, 0x74, 0x2b, 0x2b, 0x73, 0x2b, 0x2b, + 0x2b, 0x2b, 0x73, 0x2b, 0x2b, 0x2b, 0x2b, 0x01, 0x2b, 0x2b, 0x2b, + 0x00, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x01, + 0x2b, 0x2b, 0x00, 0x2b, 0x01, 0x2b, 0x73, 0x74, 0x74, 0x73, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x73, 0x00, 0x2b, 0x73, 0x74, + 0x74, 0x74, 0x2b, 0x75, 0x73, 0x74, 0x74, 0x74, 0x2b, 0x2b, 0x73, + 0x73, 0x2b, 0x2b, 0x2b, 0x73, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x01, + 0x2b, 0x2b, 0x73, 0x2b, 0x2b, 0x00, 0x73, 0x74, 0x73, 0x2b, 0x01, + 0x73, 0x73, 0x74, 0x00, 0x73, 0x74, 0x74, 0x73, 0x74, 0x2b, 0x73, + 0x01, 0x73, 0x00, 0x73, 0x74, 0x2b, 0x73, 0x2b, 0x73, 0x74, 0x01, + 0x73, 0x74, 0x75, 0x00, 0x2b, 0x73, 0x01, 0x74, 0x00, 0x2b, 0x73, + 0x73, 0x2b, 0x2b, 0x73, 0x73, 0x73, 0x2b, 0x73, 0x2b, 0x2b, 0x2b, + 0x2b, 0x01, 0x2b, 0x2b, 0x74, 0x2b, 0x2b, 0x5e, 0x73, 0x2b, 0x00, + 0x5e, 0x73, 0x2b, 0x2b, 0x2b, 0x01, 0x2b, 0x5e, 0x73, 0x00, 0x73, + 0x73, 0x73, 0x74, 0x73, 0x01, 0x2b, 0x2b, 0x2b, 0x00, 0x2b, 0x73, + 0x2b, 0x2b, 0x2b, 0x2b, 0x73, 0x2b, 0x2b, 0x2b, 0x5e, 0x73, 0x74, + 0x2b, 0x2b, 0x73, 0x2b, 0x2b, 0x73, 0x2b, 0x2b, 0x73, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x18, 0x00, 0x00, + 0x05, 0xcc, 0x05, 0xcc, 0x00, 0x7d, 0x05, 0x45, 0x00, 0x15, 0x00, + 0x60, 0x05, 0x45, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3a, 0x00, + 0x14, 0x00, 0x77, 0x00, 0x00, 0xff, 0xec, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xec, 0xff, 0x5f, 0x00, 0x00, 0xff, 0xec, 0x00, 0x00, 0xfe, + 0x57, 0xfe, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x00, + 0xbd, 0x00, 0xaa, 0x00, 0xa0, 0x00, 0xc8, 0x00, 0xb4, 0x00, 0x85, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x7e, 0x00, + 0xa5, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x00, 0xc9, 0x00, 0xab, 0x00, + 0x8c, 0x00, 0xbc, 0x00, 0x9b, 0x00, 0x8d, 0x00, 0x34, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xb9, 0x00, 0xb4, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x94, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xa8, 0x00, 0x6f, + 0x00, 0x78, 0x00, 0xa4, 0x00, 0xc8, 0x00, 0x83, 0x00, 0x8d, 0x00, + 0xbb, 0x00, 0x5e, 0x01, 0x8a, 0x01, 0x03, 0x00, 0x60, 0x00, 0x74, + 0x00, 0x81, 0x00, 0xb8, 0x00, 0xc0, 0x00, 0x50, 0x04, 0xb1, 0x04, + 0xc3, 0xfe, 0x4c, 0x00, 0xeb, 0x01, 0xb2, 0x00, 0xc3, 0x01, 0x09, + 0x00, 0x7b, 0x01, 0x2b, 0x02, 0x96, 0x00, 0xc9, 0x00, 0x96, 0x00, + 0xdb, 0x05, 0xd8, 0x04, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x92, 0x00, 0xa8, 0x00, 0x6b, 0x00, 0x92, 0x00, 0xb7, 0x00, 0x6b, + 0x00, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf2, 0x00, 0x92, 0x02, + 0x3e, 0x00, 0x6e, 0x02, 0xa5, 0x03, 0x45, 0x00, 0x89, 0x00, 0xa0, + 0x00, 0x60, 0x02, 0x4c, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x01, + 0x4e, 0x00, 0xa4, 0x01, 0x5b, 0x00, 0x5e, 0x00, 0x80, 0x00, 0x69, + 0x00, 0x6f, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x68, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, + 0x03, 0x4a, 0x00, 0x87, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x75, 0x00, + 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x82, 0xfc, 0xb1, 0x00, 0x0b, 0xff, 0xf4, 0x00, 0x83, 0x00, + 0x89, 0x00, 0x8f, 0x00, 0x96, 0x00, 0x69, 0x00, 0x71, 0x00, 0x5b, + 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x02, + 0x03, 0x00, 0x00, 0x00, 0x8d, 0x03, 0x1f, 0x00, 0xbb, 0x00, 0xae, + 0x00, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xa9, 0x03, 0x70, 0x02, 0xbc, + 0x02, 0x08, 0xfd, 0x99, 0x00, 0x91, 0x00, 0x91, 0x00, 0x4d, 0x00, + 0x4d, 0x00, 0x64, 0x00, 0x64, 0x01, 0x81, 0x00, 0x9f, 0x00, 0xa8, + 0xfe, 0x68, 0xfe, 0x9c, 0x00, 0x9b, 0x01, 0x45, 0x01, 0x45, 0x00, + 0x90, 0xfe, 0xf6, 0xff, 0xe9, 0x00, 0x7a, 0x05, 0x45, 0x02, 0x4d, + 0x00, 0x0c, 0xff, 0xee, 0x05, 0x98, 0xfc, 0xf3, 0x00, 0x6e, 0x00, + 0x4c, 0x00, 0x62, 0x00, 0x46, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xcc, 0x00, 0x0f, 0xfc, + 0x1e, 0xff, 0xf2, 0x02, 0xfb, 0x00, 0x0e, 0x04, 0x16, 0x00, 0x0a, + 0xfe, 0xd3, 0x00, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x5b, 0x00, 0x10, 0xfd, 0x22, 0xff, 0xec, 0xff, 0x78, + 0xff, 0xf0, 0xfe, 0x60, 0xfe, 0x53, 0x02, 0xfb, 0x00, 0x0f, 0x04, + 0x16, 0x05, 0xa5, 0x05, 0xb2, 0x05, 0xc3, 0x00, 0x79, 0x00, 0x5f, + 0x06, 0x81, 0x04, 0x68, 0x00, 0x14, 0x04, 0xcb, 0x00, 0x00, 0xff, + 0xec, 0xff, 0xd3, 0xfe, 0x7f, 0x00, 0x83, 0x00, 0xdb, 0x00, 0xaa, + 0x00, 0xba, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, + 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, + 0xe8, 0x00, 0x00, 0x02, 0x0c, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, + 0x04, 0x54, 0x00, 0x00, 0x05, 0x74, 0x00, 0x00, 0x05, 0xa8, 0x00, + 0x00, 0x06, 0x08, 0x00, 0x00, 0x06, 0x68, 0x00, 0x00, 0x07, 0x10, + 0x00, 0x00, 0x07, 0x54, 0x00, 0x00, 0x07, 0x94, 0x00, 0x00, 0x07, + 0xc8, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x08, 0x34, 0x00, 0x00, + 0x08, 0xf0, 0x00, 0x00, 0x09, 0x60, 0x00, 0x00, 0x09, 0xf8, 0x00, + 0x00, 0x0a, 0xec, 0x00, 0x00, 0x0b, 0x70, 0x00, 0x00, 0x0c, 0x28, + 0x00, 0x00, 0x0c, 0xf8, 0x00, 0x00, 0x0d, 0x54, 0x00, 0x00, 0x0e, + 0x54, 0x00, 0x00, 0x0f, 0x28, 0x00, 0x00, 0x0f, 0x78, 0x00, 0x00, + 0x0f, 0xd8, 0x00, 0x00, 0x10, 0x3c, 0x00, 0x00, 0x10, 0xbc, 0x00, + 0x00, 0x11, 0x1c, 0x00, 0x00, 0x11, 0xd0, 0x00, 0x00, 0x13, 0x3c, + 0x00, 0x00, 0x13, 0xd4, 0x00, 0x00, 0x14, 0x90, 0x00, 0x00, 0x15, + 0x4c, 0x00, 0x00, 0x15, 0xc0, 0x00, 0x00, 0x16, 0x48, 0x00, 0x00, + 0x16, 0xc0, 0x00, 0x00, 0x17, 0x6c, 0x00, 0x00, 0x17, 0xd8, 0x00, + 0x00, 0x18, 0x44, 0x00, 0x00, 0x18, 0xb4, 0x00, 0x00, 0x19, 0x34, + 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, 0x1a, 0x14, 0x00, 0x00, 0x1a, + 0x90, 0x00, 0x00, 0x1b, 0x14, 0x00, 0x00, 0x1b, 0x90, 0x00, 0x00, + 0x1c, 0x48, 0x00, 0x00, 0x1c, 0xf8, 0x00, 0x00, 0x1d, 0xc8, 0x00, + 0x00, 0x1e, 0x14, 0x00, 0x00, 0x1e, 0x78, 0x00, 0x00, 0x1e, 0xdc, + 0x00, 0x00, 0x1f, 0x94, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20, + 0x80, 0x00, 0x00, 0x20, 0xe4, 0x00, 0x00, 0x21, 0x34, 0x00, 0x00, + 0x21, 0x70, 0x00, 0x00, 0x21, 0xc0, 0x00, 0x00, 0x22, 0x1c, 0x00, + 0x00, 0x22, 0x4c, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x23, 0x78, + 0x00, 0x00, 0x24, 0x1c, 0x00, 0x00, 0x24, 0xe0, 0x00, 0x00, 0x25, + 0x88, 0x00, 0x00, 0x26, 0x38, 0x00, 0x00, 0x26, 0xbc, 0x00, 0x00, + 0x27, 0xa0, 0x00, 0x00, 0x28, 0x14, 0x00, 0x00, 0x28, 0x88, 0x00, + 0x00, 0x29, 0x04, 0x00, 0x00, 0x29, 0x78, 0x00, 0x00, 0x29, 0xd0, + 0x00, 0x00, 0x2a, 0x88, 0x00, 0x00, 0x2b, 0x04, 0x00, 0x00, 0x2b, + 0x80, 0x00, 0x00, 0x2c, 0x28, 0x00, 0x00, 0x2c, 0xcc, 0x00, 0x00, + 0x2d, 0x40, 0x00, 0x00, 0x2e, 0x08, 0x00, 0x00, 0x2e, 0x88, 0x00, + 0x00, 0x2f, 0x0c, 0x00, 0x00, 0x2f, 0x74, 0x00, 0x00, 0x30, 0x2c, + 0x00, 0x00, 0x30, 0xa8, 0x00, 0x00, 0x31, 0x34, 0x00, 0x00, 0x31, + 0x94, 0x00, 0x00, 0x32, 0x54, 0x00, 0x00, 0x32, 0x88, 0x00, 0x00, + 0x33, 0x4c, 0x00, 0x00, 0x33, 0xd0, 0x00, 0x00, 0x33, 0xe0, 0x00, + 0x00, 0x34, 0x34, 0x00, 0x00, 0x34, 0xc0, 0x00, 0x00, 0x35, 0xa0, + 0x00, 0x00, 0x36, 0x7c, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x37, + 0x7c, 0x00, 0x00, 0x38, 0xcc, 0x00, 0x00, 0x39, 0x28, 0x00, 0x00, + 0x3a, 0x78, 0x00, 0x00, 0x3b, 0x64, 0x00, 0x00, 0x3c, 0x08, 0x00, + 0x00, 0x3c, 0x50, 0x00, 0x00, 0x3c, 0x60, 0x00, 0x00, 0x3d, 0x8c, + 0x00, 0x00, 0x3d, 0xa0, 0x00, 0x00, 0x3e, 0x20, 0x00, 0x00, 0x3e, + 0xc8, 0x00, 0x00, 0x3f, 0x6c, 0x00, 0x00, 0x40, 0x58, 0x00, 0x00, + 0x40, 0x90, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x41, 0x90, 0x00, + 0x00, 0x41, 0xa0, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, 0x42, 0x90, + 0x00, 0x00, 0x43, 0x08, 0x00, 0x00, 0x43, 0xac, 0x00, 0x00, 0x43, + 0xf8, 0x00, 0x00, 0x44, 0x34, 0x00, 0x00, 0x44, 0x78, 0x00, 0x00, + 0x45, 0x2c, 0x00, 0x00, 0x45, 0x5c, 0x00, 0x00, 0x45, 0x8c, 0x00, + 0x00, 0x45, 0xbc, 0x00, 0x00, 0x45, 0xec, 0x00, 0x00, 0x46, 0x20, + 0x00, 0x00, 0x46, 0x50, 0x00, 0x00, 0x47, 0x28, 0x00, 0x00, 0x47, + 0x50, 0x00, 0x00, 0x47, 0x80, 0x00, 0x00, 0x47, 0xb0, 0x00, 0x00, + 0x47, 0xe0, 0x00, 0x00, 0x48, 0x14, 0x00, 0x00, 0x48, 0x44, 0x00, + 0x00, 0x48, 0x74, 0x00, 0x00, 0x48, 0xa4, 0x00, 0x00, 0x48, 0xd8, + 0x00, 0x00, 0x49, 0x94, 0x00, 0x00, 0x49, 0xc4, 0x00, 0x00, 0x49, + 0xf4, 0x00, 0x00, 0x4a, 0x24, 0x00, 0x00, 0x4a, 0x54, 0x00, 0x00, + 0x4a, 0x84, 0x00, 0x00, 0x4a, 0xb8, 0x00, 0x00, 0x4b, 0x20, 0x00, + 0x00, 0x4b, 0xfc, 0x00, 0x00, 0x4c, 0x2c, 0x00, 0x00, 0x4c, 0x5c, + 0x00, 0x00, 0x4c, 0x8c, 0x00, 0x00, 0x4c, 0xc0, 0x00, 0x00, 0x4c, + 0xf0, 0x00, 0x00, 0x4d, 0x74, 0x00, 0x00, 0x4e, 0x5c, 0x00, 0x00, + 0x4e, 0x8c, 0x00, 0x00, 0x4e, 0xb8, 0x00, 0x00, 0x4e, 0xec, 0x00, + 0x00, 0x4f, 0x28, 0x00, 0x00, 0x4f, 0x60, 0x00, 0x00, 0x4f, 0x90, + 0x00, 0x00, 0x50, 0xd4, 0x00, 0x00, 0x50, 0xfc, 0x00, 0x00, 0x51, + 0x2c, 0x00, 0x00, 0x51, 0x58, 0x00, 0x00, 0x51, 0x84, 0x00, 0x00, + 0x51, 0xb4, 0x00, 0x00, 0x51, 0xec, 0x00, 0x00, 0x52, 0x18, 0x00, + 0x00, 0x52, 0x54, 0x00, 0x00, 0x52, 0x9c, 0x00, 0x00, 0x53, 0x9c, + 0x00, 0x00, 0x53, 0xc8, 0x00, 0x00, 0x53, 0xf8, 0x00, 0x00, 0x54, + 0x24, 0x00, 0x00, 0x54, 0x50, 0x00, 0x00, 0x54, 0x7c, 0x00, 0x00, + 0x54, 0xac, 0x00, 0x00, 0x55, 0x38, 0x00, 0x00, 0x56, 0x18, 0x00, + 0x00, 0x56, 0x48, 0x00, 0x00, 0x56, 0x74, 0x00, 0x00, 0x56, 0xa4, + 0x00, 0x00, 0x56, 0xd8, 0x00, 0x00, 0x57, 0x04, 0x00, 0x00, 0x57, + 0xac, 0x00, 0x00, 0x57, 0xdc, 0x00, 0x00, 0x58, 0x0c, 0x00, 0x00, + 0x58, 0x3c, 0x00, 0x00, 0x58, 0x6c, 0x00, 0x00, 0x58, 0x98, 0x00, + 0x00, 0x58, 0xc0, 0x00, 0x00, 0x58, 0xe8, 0x00, 0x00, 0x59, 0x18, + 0x00, 0x00, 0x59, 0x44, 0x00, 0x00, 0x59, 0x74, 0x00, 0x00, 0x59, + 0xa0, 0x00, 0x00, 0x59, 0xd0, 0x00, 0x00, 0x59, 0xfc, 0x00, 0x00, + 0x5a, 0x2c, 0x00, 0x00, 0x5a, 0x58, 0x00, 0x00, 0x5a, 0x88, 0x00, + 0x00, 0x5b, 0x68, 0x00, 0x00, 0x5b, 0x78, 0x00, 0x00, 0x5c, 0x5c, + 0x00, 0x00, 0x5c, 0x8c, 0x00, 0x00, 0x5c, 0xb8, 0x00, 0x00, 0x5c, + 0xe8, 0x00, 0x00, 0x5d, 0x14, 0x00, 0x00, 0x5d, 0x44, 0x00, 0x00, + 0x5d, 0x70, 0x00, 0x00, 0x5d, 0x98, 0x00, 0x00, 0x5d, 0xc0, 0x00, + 0x00, 0x5d, 0xf0, 0x00, 0x00, 0x5e, 0x20, 0x00, 0x00, 0x5e, 0x50, + 0x00, 0x00, 0x5e, 0x7c, 0x00, 0x00, 0x5e, 0xac, 0x00, 0x00, 0x5e, + 0xd8, 0x00, 0x00, 0x5f, 0x08, 0x00, 0x00, 0x5f, 0x34, 0x00, 0x00, + 0x5f, 0x58, 0x00, 0x00, 0x5f, 0x84, 0x00, 0x00, 0x5f, 0xb4, 0x00, + 0x00, 0x60, 0x6c, 0x00, 0x00, 0x61, 0x14, 0x00, 0x00, 0x61, 0xc8, + 0x00, 0x00, 0x61, 0xf8, 0x00, 0x00, 0x62, 0x28, 0x00, 0x00, 0x62, + 0x58, 0x00, 0x00, 0x62, 0x88, 0x00, 0x00, 0x62, 0xb8, 0x00, 0x00, + 0x62, 0xe4, 0x00, 0x00, 0x63, 0x0c, 0x00, 0x00, 0x63, 0x34, 0x00, + 0x00, 0x63, 0x64, 0x00, 0x00, 0x63, 0xbc, 0x00, 0x00, 0x64, 0x44, + 0x00, 0x00, 0x64, 0xe8, 0x00, 0x00, 0x65, 0x18, 0x00, 0x00, 0x65, + 0x30, 0x00, 0x00, 0x65, 0x58, 0x00, 0x00, 0x65, 0x80, 0x00, 0x00, + 0x65, 0xf4, 0x00, 0x00, 0x66, 0x24, 0x00, 0x00, 0x66, 0xa8, 0x00, + 0x00, 0x66, 0xd0, 0x00, 0x00, 0x66, 0xf8, 0x00, 0x00, 0x67, 0x24, + 0x00, 0x00, 0x67, 0x54, 0x00, 0x00, 0x67, 0x7c, 0x00, 0x00, 0x67, + 0xa8, 0x00, 0x00, 0x68, 0x28, 0x00, 0x00, 0x68, 0xbc, 0x00, 0x00, + 0x68, 0xec, 0x00, 0x00, 0x69, 0x1c, 0x00, 0x00, 0x69, 0x44, 0x00, + 0x00, 0x69, 0x6c, 0x00, 0x00, 0x69, 0x9c, 0x00, 0x00, 0x69, 0xc8, + 0x00, 0x00, 0x69, 0xfc, 0x00, 0x00, 0x6a, 0xb0, 0x00, 0x00, 0x6b, + 0x50, 0x00, 0x00, 0x6b, 0x80, 0x00, 0x00, 0x6b, 0xac, 0x00, 0x00, + 0x6b, 0xdc, 0x00, 0x00, 0x6c, 0x08, 0x00, 0x00, 0x6c, 0x3c, 0x00, + 0x00, 0x6c, 0x70, 0x00, 0x00, 0x6d, 0x58, 0x00, 0x00, 0x6e, 0x58, + 0x00, 0x00, 0x6e, 0x88, 0x00, 0x00, 0x6e, 0xb4, 0x00, 0x00, 0x6e, + 0xdc, 0x00, 0x00, 0x6f, 0x04, 0x00, 0x00, 0x6f, 0x34, 0x00, 0x00, + 0x6f, 0x64, 0x00, 0x00, 0x6f, 0x94, 0x00, 0x00, 0x6f, 0xc0, 0x00, + 0x00, 0x6f, 0xf0, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x70, 0x44, + 0x00, 0x00, 0x70, 0x6c, 0x00, 0x00, 0x70, 0x9c, 0x00, 0x00, 0x70, + 0xc8, 0x00, 0x00, 0x70, 0xf0, 0x00, 0x00, 0x71, 0x14, 0x00, 0x00, + 0x71, 0x44, 0x00, 0x00, 0x71, 0x70, 0x00, 0x00, 0x71, 0xf0, 0x00, + 0x00, 0x72, 0x9c, 0x00, 0x00, 0x72, 0xcc, 0x00, 0x00, 0x72, 0xfc, + 0x00, 0x00, 0x73, 0x2c, 0x00, 0x00, 0x73, 0x5c, 0x00, 0x00, 0x73, + 0x8c, 0x00, 0x00, 0x73, 0xbc, 0x00, 0x00, 0x74, 0x04, 0x00, 0x00, + 0x74, 0x38, 0x00, 0x00, 0x74, 0x6c, 0x00, 0x00, 0x74, 0xa0, 0x00, + 0x00, 0x74, 0xc4, 0x00, 0x00, 0x74, 0xec, 0x00, 0x00, 0x75, 0x1c, + 0x00, 0x00, 0x75, 0x4c, 0x00, 0x00, 0x75, 0x7c, 0x00, 0x00, 0x75, + 0xac, 0x00, 0x00, 0x75, 0xe0, 0x00, 0x00, 0x76, 0x10, 0x00, 0x00, + 0x76, 0x3c, 0x00, 0x00, 0x76, 0x6c, 0x00, 0x00, 0x76, 0x98, 0x00, + 0x00, 0x76, 0xc8, 0x00, 0x00, 0x76, 0xf4, 0x00, 0x00, 0x77, 0x4c, + 0x00, 0x00, 0x78, 0x30, 0x00, 0x00, 0x79, 0x10, 0x00, 0x00, 0x79, + 0x20, 0x00, 0x00, 0x79, 0xd8, 0x00, 0x00, 0x7a, 0x60, 0x00, 0x00, + 0x7b, 0x0c, 0x00, 0x00, 0x7b, 0xa0, 0x00, 0x00, 0x7c, 0x68, 0x00, + 0x00, 0x7d, 0x34, 0x00, 0x00, 0x7d, 0x44, 0x00, 0x00, 0x7d, 0xe8, + 0x00, 0x00, 0x7e, 0x78, 0x00, 0x00, 0x7f, 0x34, 0x00, 0x00, 0x7f, + 0xdc, 0x00, 0x00, 0x80, 0x4c, 0x00, 0x00, 0x80, 0xf0, 0x00, 0x00, + 0x81, 0xb8, 0x00, 0x00, 0x82, 0x50, 0x00, 0x00, 0x82, 0xec, 0x00, + 0x00, 0x83, 0xc0, 0x00, 0x00, 0x84, 0x6c, 0x00, 0x00, 0x85, 0x18, + 0x00, 0x00, 0x85, 0x28, 0x00, 0x00, 0x85, 0xcc, 0x00, 0x00, 0x86, + 0x64, 0x00, 0x00, 0x86, 0xf8, 0x00, 0x00, 0x87, 0x84, 0x00, 0x00, + 0x88, 0x24, 0x00, 0x00, 0x88, 0xd0, 0x00, 0x00, 0x89, 0x54, 0x00, + 0x00, 0x89, 0x64, 0x00, 0x00, 0x89, 0x74, 0x00, 0x00, 0x8a, 0x2c, + 0x00, 0x00, 0x8a, 0xdc, 0x00, 0x00, 0x8b, 0x7c, 0x00, 0x00, 0x8c, + 0x24, 0x00, 0x00, 0x8c, 0xcc, 0x00, 0x00, 0x8d, 0x8c, 0x00, 0x00, + 0x8e, 0x30, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, 0x8f, 0xcc, 0x00, + 0x00, 0x8f, 0xdc, 0x00, 0x00, 0x90, 0x9c, 0x00, 0x00, 0x91, 0x4c, + 0x00, 0x00, 0x91, 0xc0, 0x00, 0x00, 0x92, 0x60, 0x00, 0x00, 0x92, + 0xcc, 0x00, 0x00, 0x93, 0x64, 0x00, 0x00, 0x94, 0x28, 0x00, 0x00, + 0x94, 0xe0, 0x00, 0x00, 0x95, 0x68, 0x00, 0x00, 0x95, 0xf4, 0x00, + 0x00, 0x96, 0xa8, 0x00, 0x00, 0x97, 0x4c, 0x00, 0x00, 0x97, 0xf0, + 0x00, 0x00, 0x98, 0xa0, 0x00, 0x00, 0x99, 0x4c, 0x00, 0x00, 0x99, + 0xf4, 0x00, 0x00, 0x9a, 0xc8, 0x00, 0x00, 0x9b, 0x8c, 0x00, 0x00, + 0x9c, 0x2c, 0x00, 0x00, 0x9c, 0xc8, 0x00, 0x00, 0x9d, 0x88, 0x00, + 0x00, 0x9e, 0x24, 0x00, 0x00, 0x9e, 0x54, 0x00, 0x00, 0x9e, 0x98, + 0x00, 0x00, 0x9f, 0x24, 0x00, 0x00, 0x9f, 0x34, 0x00, 0x00, 0xa0, + 0x34, 0x00, 0x00, 0xa1, 0x2c, 0x00, 0x00, 0xa2, 0x60, 0x00, 0x00, + 0xa2, 0xe0, 0x00, 0x00, 0xa3, 0x88, 0x00, 0x00, 0xa4, 0x3c, 0x00, + 0x00, 0xa4, 0xf4, 0x00, 0x00, 0xa5, 0xc4, 0x00, 0x00, 0xa6, 0xa0, + 0x00, 0x00, 0xa6, 0xd0, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0xa7, + 0x30, 0x00, 0x00, 0xa7, 0x60, 0x00, 0x00, 0xa7, 0x90, 0x00, 0x00, + 0xa7, 0xbc, 0x00, 0x00, 0xa7, 0xec, 0x00, 0x00, 0xa8, 0x1c, 0x00, + 0x00, 0xa8, 0x54, 0x00, 0x00, 0xa8, 0x74, 0x00, 0x00, 0xa8, 0xac, + 0x00, 0x00, 0xa8, 0xcc, 0x00, 0x00, 0xa9, 0x04, 0x00, 0x00, 0xa9, + 0x24, 0x00, 0x00, 0xa9, 0x5c, 0x00, 0x00, 0xa9, 0x7c, 0x00, 0x00, + 0xa9, 0x8c, 0x00, 0x00, 0xa9, 0xc4, 0x00, 0x00, 0xaa, 0x28, 0x00, + 0x00, 0xaa, 0x5c, 0x00, 0x00, 0xaa, 0xbc, 0x00, 0x00, 0xaa, 0xec, + 0x00, 0x00, 0xab, 0x18, 0x00, 0x00, 0xab, 0xf0, 0x00, 0x00, 0xac, + 0xf8, 0x00, 0x00, 0xad, 0x28, 0x00, 0x00, 0xad, 0x58, 0x00, 0x00, + 0xad, 0x88, 0x00, 0x00, 0xae, 0x2c, 0x00, 0x00, 0xae, 0x44, 0x00, + 0x00, 0xae, 0x5c, 0x00, 0x00, 0xae, 0x90, 0x00, 0x00, 0xae, 0xc4, + 0x00, 0x00, 0xae, 0xe8, 0x00, 0x00, 0xaf, 0x08, 0x00, 0x00, 0xaf, + 0x34, 0x00, 0x00, 0xaf, 0xec, 0x00, 0x00, 0xb0, 0xa8, 0x00, 0x00, + 0xb1, 0x98, 0x00, 0x00, 0xb1, 0xc8, 0x00, 0x00, 0xb1, 0xf4, 0x00, + 0x00, 0xb2, 0x88, 0x00, 0x00, 0xb3, 0x24, 0x00, 0x00, 0xb3, 0x54, + 0x00, 0x00, 0xb3, 0x74, 0x00, 0x00, 0xb4, 0xac, 0x00, 0x00, 0xb6, + 0x60, 0x00, 0x00, 0xb6, 0x90, 0x00, 0x00, 0xb6, 0xbc, 0x00, 0x00, + 0xb6, 0xec, 0x00, 0x00, 0xb7, 0x18, 0x00, 0x00, 0xb7, 0x4c, 0x00, + 0x00, 0xb7, 0x80, 0x00, 0x00, 0xb7, 0xb0, 0x00, 0x00, 0xb7, 0xe0, + 0x00, 0x00, 0xb8, 0x14, 0x00, 0x00, 0xb8, 0x48, 0x00, 0x00, 0xb8, + 0x78, 0x00, 0x00, 0xb8, 0xa8, 0x00, 0x00, 0xb8, 0xdc, 0x00, 0x00, + 0xb9, 0x10, 0x00, 0x00, 0xb9, 0x40, 0x00, 0x00, 0xb9, 0x70, 0x00, + 0x00, 0xb9, 0xa4, 0x00, 0x00, 0xb9, 0xd8, 0x00, 0x00, 0xba, 0x08, + 0x00, 0x00, 0xba, 0x38, 0x00, 0x00, 0xba, 0x6c, 0x00, 0x00, 0xba, + 0xa0, 0x00, 0x00, 0xba, 0xd0, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, + 0xbb, 0x34, 0x00, 0x00, 0xbb, 0x68, 0x00, 0x00, 0xbb, 0x98, 0x00, + 0x00, 0xbb, 0xc8, 0x00, 0x00, 0xbb, 0xf0, 0x00, 0x00, 0xbc, 0x18, + 0x00, 0x00, 0xbc, 0x40, 0x00, 0x00, 0xbc, 0x68, 0x00, 0x00, 0xbd, + 0x34, 0x00, 0x00, 0xbe, 0x10, 0x00, 0x00, 0xbe, 0x40, 0x00, 0x00, + 0xbe, 0xf0, 0x00, 0x00, 0xbf, 0x60, 0x00, 0x00, 0xc0, 0x80, 0x00, + 0x00, 0xc1, 0x7c, 0x00, 0x00, 0xc2, 0x5c, 0x00, 0x00, 0xc2, 0xe0, + 0x00, 0x00, 0xc3, 0x64, 0x00, 0x00, 0xc3, 0x94, 0x00, 0x00, 0xc3, + 0xc4, 0x00, 0x00, 0xc3, 0xdc, 0x00, 0x00, 0xc3, 0xf4, 0x00, 0x00, + 0xc4, 0x2c, 0x00, 0x00, 0xc4, 0x88, 0x00, 0x00, 0xc4, 0xbc, 0x00, + 0x00, 0xc4, 0xfc, 0x00, 0x00, 0xc5, 0x2c, 0x00, 0x00, 0xc5, 0x58, + 0x00, 0x00, 0xc5, 0x8c, 0x00, 0x00, 0xc5, 0xe0, 0x00, 0x00, 0xc6, + 0x10, 0x00, 0x00, 0xc6, 0x3c, 0x00, 0x00, 0xc6, 0xe0, 0x00, 0x00, + 0xc7, 0xdc, 0x00, 0x00, 0xc8, 0xa8, 0x00, 0x00, 0xc9, 0xb0, 0x00, + 0x00, 0xca, 0xa8, 0x00, 0x00, 0xcb, 0x7c, 0x00, 0x00, 0xcc, 0x68, + 0x00, 0x00, 0xcd, 0x58, 0x00, 0x00, 0xcd, 0xc4, 0x00, 0x00, 0xce, + 0x60, 0x00, 0x00, 0xcf, 0x70, 0x00, 0x00, 0xd0, 0x14, 0x00, 0x00, + 0xd0, 0x9c, 0x00, 0x00, 0xd1, 0x18, 0x00, 0x00, 0xd2, 0x10, 0x00, + 0x00, 0xd2, 0xb8, 0x00, 0x00, 0xd2, 0xc8, 0x00, 0x00, 0xd3, 0xb8, + 0x00, 0x00, 0xd4, 0xf0, 0x00, 0x00, 0xd5, 0x88, 0x00, 0x00, 0xd6, + 0x34, 0x00, 0x00, 0xd6, 0xf0, 0x00, 0x00, 0xd7, 0xb4, 0x00, 0x00, + 0xd8, 0x5c, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xd9, 0xb8, 0x00, + 0x00, 0xda, 0x9c, 0x00, 0x00, 0xdb, 0x84, 0x00, 0x00, 0xdc, 0x30, + 0x00, 0x00, 0xdc, 0xd4, 0x00, 0x00, 0xdd, 0x98, 0x00, 0x00, 0xde, + 0x28, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0xdf, 0xc0, 0x00, 0x00, + 0xe0, 0x88, 0x00, 0x00, 0xe1, 0x30, 0x00, 0x00, 0xe1, 0xd8, 0x00, + 0x00, 0xe2, 0xc8, 0x00, 0x00, 0xe2, 0xd8, 0x00, 0x00, 0xe2, 0xe8, + 0x00, 0x00, 0xe3, 0xf0, 0x00, 0x00, 0xe4, 0xb0, 0x00, 0x00, 0xe5, + 0x34, 0x00, 0x00, 0xe6, 0x2c, 0x00, 0x00, 0xe6, 0x3c, 0x00, 0x00, + 0xe6, 0xe0, 0x00, 0x00, 0xe7, 0x88, 0x00, 0x00, 0xe8, 0x84, 0x00, + 0x00, 0xe9, 0x00, 0x00, 0x00, 0xe9, 0x94, 0x00, 0x00, 0xea, 0x48, + 0x00, 0x00, 0xea, 0xe4, 0x00, 0x00, 0xeb, 0x40, 0x00, 0x00, 0xeb, + 0xa4, 0x00, 0x00, 0xec, 0x5c, 0x00, 0x00, 0xed, 0x1c, 0x00, 0x00, + 0xed, 0x78, 0x00, 0x00, 0xee, 0x40, 0x00, 0x00, 0xee, 0xfc, 0x00, + 0x00, 0xef, 0xb4, 0x00, 0x00, 0xf0, 0x8c, 0x00, 0x00, 0xf1, 0x28, + 0x00, 0x00, 0xf1, 0xc0, 0x00, 0x00, 0xf2, 0x34, 0x00, 0x00, 0xf2, + 0x44, 0x00, 0x00, 0xf3, 0x18, 0x00, 0x00, 0xf3, 0xd8, 0x00, 0x00, + 0xf4, 0x98, 0x00, 0x00, 0xf5, 0x08, 0x00, 0x00, 0xf5, 0x78, 0x00, + 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf6, 0x74, 0x00, 0x00, 0xf7, 0x08, + 0x00, 0x00, 0xf7, 0x5c, 0x00, 0x00, 0xf7, 0xb0, 0x00, 0x00, 0xf8, + 0x48, 0x00, 0x00, 0xf8, 0xe0, 0x00, 0x00, 0xf9, 0xdc, 0x00, 0x00, + 0xfa, 0x58, 0x00, 0x00, 0xfa, 0xf8, 0x00, 0x00, 0xfb, 0x74, 0x00, + 0x00, 0xfc, 0x40, 0x00, 0x00, 0xfc, 0xc4, 0x00, 0x00, 0xfd, 0x44, + 0x00, 0x00, 0xfe, 0x04, 0x00, 0x00, 0xfe, 0xcc, 0x00, 0x00, 0xfe, + 0xdc, 0x00, 0x00, 0xff, 0x38, 0x00, 0x00, 0xff, 0xc4, 0x00, 0x01, + 0x00, 0x44, 0x00, 0x01, 0x00, 0xa8, 0x00, 0x01, 0x01, 0x34, 0x00, + 0x01, 0x01, 0xf0, 0x00, 0x01, 0x02, 0x98, 0x00, 0x01, 0x03, 0x7c, + 0x00, 0x01, 0x04, 0x08, 0x00, 0x01, 0x04, 0x94, 0x00, 0x01, 0x05, + 0x24, 0x00, 0x01, 0x05, 0xb4, 0x00, 0x01, 0x06, 0x5c, 0x00, 0x01, + 0x06, 0x6c, 0x00, 0x01, 0x07, 0x38, 0x00, 0x01, 0x08, 0x10, 0x00, + 0x01, 0x08, 0x20, 0x00, 0x01, 0x08, 0xdc, 0x00, 0x01, 0x09, 0x54, + 0x00, 0x01, 0x09, 0x98, 0x00, 0x01, 0x0a, 0x58, 0x00, 0x01, 0x0b, + 0x18, 0x00, 0x01, 0x0b, 0xd8, 0x00, 0x01, 0x0c, 0xbc, 0x00, 0x01, + 0x0d, 0xf0, 0x00, 0x01, 0x0f, 0x24, 0x00, 0x01, 0x10, 0x20, 0x00, + 0x01, 0x11, 0x0c, 0x00, 0x01, 0x12, 0x2c, 0x00, 0x01, 0x13, 0x1c, + 0x00, 0x01, 0x13, 0xf8, 0x00, 0x01, 0x14, 0x6c, 0x00, 0x01, 0x15, + 0x38, 0x00, 0x01, 0x15, 0xbc, 0x00, 0x01, 0x16, 0x54, 0x00, 0x01, + 0x17, 0x0c, 0x00, 0x01, 0x17, 0x20, 0x00, 0x01, 0x17, 0xc4, 0x00, + 0x01, 0x18, 0x3c, 0x00, 0x01, 0x18, 0xb0, 0x00, 0x01, 0x19, 0x20, + 0x00, 0x01, 0x19, 0xac, 0x00, 0x01, 0x1a, 0x50, 0x00, 0x01, 0x1a, + 0xf0, 0x00, 0x01, 0x1b, 0x70, 0x00, 0x01, 0x1b, 0x80, 0x00, 0x01, + 0x1b, 0x90, 0x00, 0x01, 0x1b, 0xd4, 0x00, 0x01, 0x1c, 0x18, 0x00, + 0x01, 0x1c, 0x5c, 0x00, 0x01, 0x1c, 0xa8, 0x00, 0x01, 0x1c, 0xf8, + 0x00, 0x01, 0x1d, 0x88, 0x00, 0x01, 0x1e, 0x18, 0x00, 0x01, 0x1e, + 0x28, 0x00, 0x01, 0x1e, 0x38, 0x00, 0x01, 0x1e, 0x88, 0x00, 0x01, + 0x1e, 0xd8, 0x00, 0x01, 0x1f, 0x20, 0x00, 0x01, 0x1f, 0x6c, 0x00, + 0x01, 0x1f, 0x9c, 0x00, 0x01, 0x1f, 0xd0, 0x00, 0x01, 0x20, 0x10, + 0x00, 0x01, 0x20, 0x50, 0x00, 0x01, 0x20, 0x80, 0x00, 0x01, 0x20, + 0xb4, 0x00, 0x01, 0x20, 0xf0, 0x00, 0x01, 0x21, 0x2c, 0x00, 0x01, + 0x21, 0x7c, 0x00, 0x01, 0x21, 0xb0, 0x00, 0x01, 0x21, 0xfc, 0x00, + 0x01, 0x22, 0x48, 0x00, 0x01, 0x22, 0x8c, 0x00, 0x01, 0x22, 0xd0, + 0x00, 0x01, 0x23, 0x24, 0x00, 0x01, 0x23, 0x50, 0x00, 0x01, 0x23, + 0xb0, 0x00, 0x01, 0x24, 0x00, 0x00, 0x01, 0x24, 0xa8, 0x00, 0x01, + 0x25, 0x0c, 0x00, 0x01, 0x25, 0x90, 0x00, 0x01, 0x25, 0xf4, 0x00, + 0x01, 0x26, 0x48, 0x00, 0x01, 0x26, 0xa8, 0x00, 0x01, 0x27, 0x4c, + 0x00, 0x01, 0x27, 0xb0, 0x00, 0x01, 0x28, 0x74, 0x00, 0x01, 0x28, + 0xf0, 0x00, 0x01, 0x29, 0x00, 0x00, 0x01, 0x29, 0x38, 0x00, 0x01, + 0x29, 0x7c, 0x00, 0x01, 0x29, 0xc0, 0x00, 0x01, 0x2a, 0x04, 0x00, + 0x01, 0x2a, 0x3c, 0x00, 0x01, 0x2a, 0x74, 0x00, 0x01, 0x2a, 0xbc, + 0x00, 0x01, 0x2b, 0x0c, 0x00, 0x01, 0x2b, 0x54, 0x00, 0x01, 0x2b, + 0xc4, 0x00, 0x01, 0x2c, 0x10, 0x00, 0x01, 0x2c, 0x5c, 0x00, 0x01, + 0x2c, 0xa0, 0x00, 0x01, 0x2c, 0xe4, 0x00, 0x01, 0x2d, 0x50, 0x00, + 0x01, 0x2d, 0x8c, 0x00, 0x01, 0x2d, 0xec, 0x00, 0x01, 0x2e, 0x48, + 0x00, 0x01, 0x2e, 0xb4, 0x00, 0x01, 0x2f, 0x04, 0x00, 0x01, 0x2f, + 0x3c, 0x00, 0x01, 0x2f, 0x74, 0x00, 0x01, 0x2f, 0xac, 0x00, 0x01, + 0x2f, 0xe4, 0x00, 0x01, 0x30, 0x28, 0x00, 0x01, 0x30, 0x60, 0x00, + 0x01, 0x30, 0xbc, 0x00, 0x01, 0x30, 0xf4, 0x00, 0x01, 0x31, 0x2c, + 0x00, 0x01, 0x31, 0x80, 0x00, 0x01, 0x31, 0xf0, 0x00, 0x01, 0x32, + 0x1c, 0x00, 0x01, 0x32, 0x48, 0x00, 0x01, 0x32, 0xb4, 0x00, 0x01, + 0x32, 0xe0, 0x00, 0x01, 0x33, 0x20, 0x00, 0x01, 0x33, 0x84, 0x00, + 0x01, 0x33, 0xf0, 0x00, 0x01, 0x34, 0x50, 0x00, 0x01, 0x34, 0xa4, + 0x00, 0x01, 0x34, 0xd0, 0x00, 0x01, 0x35, 0x14, 0x00, 0x01, 0x35, + 0x74, 0x00, 0x01, 0x35, 0xe0, 0x00, 0x01, 0x36, 0x34, 0x00, 0x01, + 0x36, 0x74, 0x00, 0x01, 0x36, 0xb8, 0x00, 0x01, 0x36, 0xfc, 0x00, + 0x01, 0x37, 0x40, 0x00, 0x01, 0x37, 0x78, 0x00, 0x01, 0x37, 0xac, + 0x00, 0x01, 0x37, 0xe8, 0x00, 0x01, 0x38, 0x28, 0x00, 0x01, 0x38, + 0x60, 0x00, 0x01, 0x38, 0xa4, 0x00, 0x01, 0x38, 0xe8, 0x00, 0x01, + 0x39, 0x28, 0x00, 0x01, 0x39, 0x68, 0x00, 0x01, 0x39, 0xc0, 0x00, + 0x01, 0x39, 0xec, 0x00, 0x01, 0x3a, 0x30, 0x00, 0x01, 0x3a, 0x74, + 0x00, 0x01, 0x3a, 0x88, 0x00, 0x01, 0x3a, 0xc8, 0x00, 0x01, 0x3b, + 0x30, 0x00, 0x01, 0x3b, 0x74, 0x00, 0x01, 0x3b, 0xf0, 0x00, 0x01, + 0x3c, 0x50, 0x00, 0x01, 0x3c, 0x78, 0x00, 0x01, 0x3c, 0xbc, 0x00, + 0x01, 0x3d, 0x38, 0x00, 0x01, 0x3d, 0x88, 0x00, 0x01, 0x3d, 0xd8, + 0x00, 0x01, 0x3e, 0x2c, 0x00, 0x01, 0x3e, 0x7c, 0x00, 0x01, 0x3e, + 0xec, 0x00, 0x01, 0x3f, 0x18, 0x00, 0x01, 0x3f, 0x44, 0x00, 0x01, + 0x3f, 0x8c, 0x00, 0x01, 0x3f, 0xf8, 0x00, 0x01, 0x40, 0x24, 0x00, + 0x01, 0x40, 0x50, 0x00, 0x01, 0x40, 0x80, 0x00, 0x01, 0x40, 0xb0, + 0x00, 0x01, 0x40, 0xf8, 0x00, 0x01, 0x41, 0x38, 0x00, 0x01, 0x41, + 0x7c, 0x00, 0x01, 0x41, 0xf8, 0x00, 0x01, 0x42, 0x5c, 0x00, 0x01, + 0x42, 0xd4, 0x00, 0x01, 0x43, 0x1c, 0x00, 0x01, 0x43, 0x58, 0x00, + 0x01, 0x43, 0x94, 0x00, 0x01, 0x44, 0x04, 0x00, 0x01, 0x44, 0x48, + 0x00, 0x01, 0x44, 0xb4, 0x00, 0x01, 0x44, 0xf8, 0x00, 0x01, 0x45, + 0x3c, 0x00, 0x01, 0x45, 0x80, 0x00, 0x01, 0x45, 0xc0, 0x00, 0x01, + 0x45, 0xf8, 0x00, 0x01, 0x46, 0xac, 0x00, 0x01, 0x47, 0x54, 0x00, + 0x01, 0x48, 0x2c, 0x00, 0x01, 0x48, 0x7c, 0x00, 0x01, 0x48, 0xbc, + 0x00, 0x01, 0x4b, 0xc8, 0x00, 0x01, 0x4c, 0x0c, 0x00, 0x01, 0x4c, + 0x54, 0x00, 0x01, 0x4c, 0xcc, 0x00, 0x01, 0x4d, 0x30, 0x00, 0x01, + 0x4d, 0x74, 0x00, 0x01, 0x4d, 0xb4, 0x00, 0x01, 0x4e, 0x34, 0x00, + 0x01, 0x4e, 0x7c, 0x00, 0x01, 0x4e, 0xc0, 0x00, 0x01, 0x4f, 0x3c, + 0x00, 0x01, 0x4f, 0xf8, 0x00, 0x01, 0x50, 0x40, 0x00, 0x01, 0x50, + 0x94, 0x00, 0x01, 0x50, 0xf0, 0x00, 0x01, 0x51, 0x20, 0x00, 0x01, + 0x51, 0x50, 0x00, 0x01, 0x51, 0xc4, 0x00, 0x01, 0x52, 0x18, 0x00, + 0x01, 0x52, 0x58, 0x00, 0x01, 0x53, 0x44, 0x00, 0x01, 0x53, 0xf4, + 0x00, 0x01, 0x54, 0x48, 0x00, 0x01, 0x54, 0xc4, 0x00, 0x01, 0x55, + 0x44, 0x00, 0x01, 0x55, 0xd8, 0x00, 0x01, 0x56, 0x90, 0x00, 0x01, + 0x57, 0x14, 0x00, 0x01, 0x57, 0xd0, 0x00, 0x01, 0x58, 0x40, 0x00, + 0x01, 0x58, 0xbc, 0x00, 0x01, 0x59, 0x1c, 0x00, 0x01, 0x59, 0x98, + 0x00, 0x01, 0x59, 0xd4, 0x00, 0x01, 0x5a, 0x0c, 0x00, 0x01, 0x5a, + 0x20, 0x00, 0x01, 0x5a, 0x30, 0x00, 0x01, 0x5a, 0xfc, 0x00, 0x01, + 0x5b, 0xc4, 0x00, 0x01, 0x5b, 0xd4, 0x00, 0x01, 0x5c, 0x18, 0x00, + 0x01, 0x5c, 0x90, 0x00, 0x01, 0x5c, 0xc0, 0x00, 0x01, 0x5d, 0x00, + 0x00, 0x01, 0x5d, 0x40, 0x00, 0x01, 0x5d, 0xe0, 0x00, 0x01, 0x5e, + 0x20, 0x00, 0x01, 0x5e, 0x50, 0x00, 0x01, 0x5e, 0xec, 0x00, 0x01, + 0x5f, 0xd8, 0x00, 0x01, 0x60, 0x0c, 0x00, 0x01, 0x60, 0x1c, 0x00, + 0x01, 0x60, 0x2c, 0x00, 0x01, 0x60, 0x68, 0x00, 0x01, 0x60, 0xf4, + 0x00, 0x01, 0x61, 0x04, 0x00, 0x01, 0x61, 0x14, 0x00, 0x01, 0x61, + 0x24, 0x00, 0x01, 0x61, 0xe4, 0x00, 0x01, 0x61, 0xf4, 0x00, 0x01, + 0x62, 0x04, 0x00, 0x01, 0x62, 0x68, 0x00, 0x01, 0x62, 0x78, 0x00, + 0x01, 0x62, 0x88, 0x00, 0x01, 0x63, 0x14, 0x00, 0x01, 0x63, 0x24, + 0x00, 0x01, 0x63, 0x6c, 0x00, 0x01, 0x63, 0x7c, 0x00, 0x01, 0x64, + 0x08, 0x00, 0x01, 0x64, 0x18, 0x00, 0x01, 0x64, 0x28, 0x00, 0x01, + 0x64, 0xfc, 0x00, 0x01, 0x65, 0x0c, 0x00, 0x01, 0x65, 0xa0, 0x00, + 0x01, 0x66, 0x58, 0x00, 0x01, 0x66, 0x8c, 0x00, 0x01, 0x66, 0xc0, + 0x00, 0x01, 0x66, 0xec, 0x00, 0x01, 0x67, 0x18, 0x00, 0x01, 0x67, + 0x44, 0x00, 0x01, 0x67, 0x70, 0x00, 0x01, 0x67, 0xa4, 0x00, 0x01, + 0x68, 0x7c, 0x00, 0x01, 0x69, 0x48, 0x00, 0x01, 0x69, 0xd0, 0x00, + 0x01, 0x6a, 0x84, 0x00, 0x01, 0x6b, 0x58, 0x00, 0x01, 0x6c, 0x10, + 0x00, 0x01, 0x6c, 0x90, 0x00, 0x01, 0x6d, 0x38, 0x00, 0x01, 0x6d, + 0xac, 0x00, 0x01, 0x6d, 0xbc, 0x00, 0x01, 0x6e, 0x5c, 0x00, 0x01, + 0x6e, 0xf0, 0x00, 0x01, 0x6f, 0x58, 0x00, 0x01, 0x70, 0x40, 0x00, + 0x01, 0x70, 0x50, 0x00, 0x01, 0x70, 0xe8, 0x00, 0x01, 0x71, 0x80, + 0x00, 0x01, 0x72, 0x38, 0x00, 0x01, 0x72, 0xcc, 0x00, 0x01, 0x73, + 0x4c, 0x00, 0x01, 0x73, 0xc8, 0x00, 0x01, 0x74, 0x80, 0x00, 0x01, + 0x75, 0x38, 0x00, 0x01, 0x75, 0xc8, 0x00, 0x01, 0x76, 0x98, 0x00, + 0x01, 0x76, 0xcc, 0x00, 0x01, 0x77, 0x00, 0x00, 0x01, 0x77, 0x2c, + 0x00, 0x01, 0x77, 0x58, 0x00, 0x01, 0x77, 0x84, 0x00, 0x01, 0x78, + 0x78, 0x00, 0x01, 0x79, 0x70, 0x00, 0x01, 0x79, 0xfc, 0x00, 0x01, + 0x7a, 0x14, 0x00, 0x01, 0x7a, 0x48, 0x00, 0x01, 0x7a, 0x58, 0x00, + 0x01, 0x7b, 0x28, 0x00, 0x01, 0x7c, 0x28, 0x00, 0x01, 0x7c, 0xbc, + 0x00, 0x01, 0x7d, 0x4c, 0x00, 0x01, 0x7d, 0xd4, 0x00, 0x01, 0x7e, + 0xa4, 0x00, 0x01, 0x7f, 0x14, 0x00, 0x01, 0x7f, 0x88, 0x00, 0x01, + 0x80, 0x5c, 0x00, 0x01, 0x80, 0xb4, 0x00, 0x01, 0x81, 0x8c, 0x00, + 0x01, 0x82, 0x34, 0x00, 0x01, 0x82, 0xfc, 0x00, 0x01, 0x83, 0xcc, + 0x00, 0x01, 0x84, 0x60, 0x00, 0x01, 0x84, 0xf8, 0x00, 0x01, 0x85, + 0x90, 0x00, 0x01, 0x86, 0x84, 0x00, 0x01, 0x87, 0x5c, 0x00, 0x01, + 0x88, 0x20, 0x00, 0x01, 0x88, 0xf4, 0x00, 0x01, 0x89, 0xc4, 0x00, + 0x01, 0x8a, 0x70, 0x00, 0x01, 0x8b, 0x1c, 0x00, 0x01, 0x8b, 0xb4, + 0x00, 0x01, 0x8c, 0x30, 0x00, 0x01, 0x8c, 0xf4, 0x00, 0x01, 0x8d, + 0xc4, 0x00, 0x01, 0x8d, 0xd4, 0x00, 0x01, 0x8d, 0xe4, 0x00, 0x01, + 0x8d, 0xf4, 0x00, 0x01, 0x8e, 0x8c, 0x00, 0x01, 0x8f, 0x28, 0x00, + 0x01, 0x8f, 0x38, 0x00, 0x01, 0x8f, 0x48, 0x00, 0x01, 0x8f, 0x58, + 0x00, 0x01, 0x8f, 0xd0, 0x00, 0x01, 0x90, 0x5c, 0x00, 0x01, 0x91, + 0x20, 0x00, 0x01, 0x91, 0x30, 0x00, 0x01, 0x91, 0x64, 0x00, 0x01, + 0x91, 0x98, 0x00, 0x01, 0x91, 0xc8, 0x00, 0x01, 0x91, 0xfc, 0x00, + 0x01, 0x92, 0xbc, 0x00, 0x01, 0x92, 0xec, 0x00, 0x01, 0x93, 0xdc, + 0x00, 0x01, 0x93, 0xec, 0x00, 0x01, 0x93, 0xfc, 0x00, 0x01, 0x94, + 0x30, 0x00, 0x01, 0x94, 0x40, 0x00, 0x01, 0x95, 0x00, 0x00, 0x01, + 0x95, 0xac, 0x00, 0x01, 0x96, 0x40, 0x00, 0x01, 0x96, 0x70, 0x00, + 0x01, 0x96, 0xa0, 0x00, 0x01, 0x96, 0xd0, 0x00, 0x01, 0x97, 0x38, + 0x00, 0x01, 0x97, 0x48, 0x00, 0x01, 0x97, 0xe0, 0x00, 0x01, 0x97, + 0xf0, 0x00, 0x01, 0x98, 0x00, 0x00, 0x01, 0x98, 0x9c, 0x00, 0x01, + 0x98, 0xac, 0x00, 0x01, 0x99, 0xa4, 0x00, 0x01, 0x9a, 0x9c, 0x00, + 0x01, 0x9b, 0x18, 0x00, 0x01, 0x9b, 0x48, 0x00, 0x01, 0x9b, 0xe4, + 0x00, 0x01, 0x9c, 0x64, 0x00, 0x01, 0x9c, 0x74, 0x00, 0x01, 0x9c, + 0x84, 0x00, 0x01, 0x9c, 0x94, 0x00, 0x01, 0x9c, 0xdc, 0x00, 0x01, + 0x9c, 0xec, 0x00, 0x01, 0x9c, 0xfc, 0x00, 0x01, 0x9d, 0x0c, 0x00, + 0x01, 0x9d, 0xa4, 0x00, 0x01, 0x9d, 0xb4, 0x00, 0x01, 0x9d, 0xc4, + 0x00, 0x01, 0x9e, 0x28, 0x00, 0x01, 0x9e, 0x94, 0x00, 0x01, 0x9e, + 0xf8, 0x00, 0x01, 0x9f, 0x74, 0x00, 0x01, 0xa0, 0x00, 0x00, 0x01, + 0xa0, 0x94, 0x00, 0x01, 0xa1, 0x10, 0x00, 0x01, 0xa2, 0x0c, 0x00, + 0x01, 0xa2, 0xcc, 0x00, 0x01, 0xa3, 0x78, 0x00, 0x01, 0xa3, 0x88, + 0x00, 0x01, 0xa4, 0x58, 0x00, 0x01, 0xa5, 0x14, 0x00, 0x01, 0xa5, + 0x54, 0x00, 0x01, 0xa5, 0xf0, 0x00, 0x01, 0xa6, 0x00, 0x00, 0x01, + 0xa6, 0xec, 0x00, 0x01, 0xa7, 0xd0, 0x00, 0x01, 0xa8, 0x40, 0x00, + 0x01, 0xa8, 0x6c, 0x00, 0x01, 0xa8, 0xfc, 0x00, 0x01, 0xa9, 0x74, + 0x00, 0x01, 0xaa, 0x0c, 0x00, 0x01, 0xaa, 0x74, 0x00, 0x01, 0xaa, + 0x84, 0x00, 0x01, 0xaa, 0xd0, 0x00, 0x01, 0xaa, 0xe0, 0x00, 0x01, + 0xaa, 0xf0, 0x00, 0x01, 0xab, 0x3c, 0x00, 0x01, 0xab, 0x4c, 0x00, + 0x01, 0xac, 0x0c, 0x00, 0x01, 0xac, 0x1c, 0x00, 0x01, 0xac, 0x84, + 0x00, 0x01, 0xac, 0xf0, 0x00, 0x01, 0xad, 0x54, 0x00, 0x01, 0xad, + 0xcc, 0x00, 0x01, 0xae, 0x5c, 0x00, 0x01, 0xae, 0xf4, 0x00, 0x01, + 0xaf, 0x74, 0x00, 0x01, 0xb0, 0x58, 0x00, 0x01, 0xb1, 0x1c, 0x00, + 0x01, 0xb1, 0xb8, 0x00, 0x01, 0xb1, 0xe8, 0x00, 0x01, 0xb2, 0x18, + 0x00, 0x01, 0xb2, 0xe4, 0x00, 0x01, 0xb3, 0x14, 0x00, 0x01, 0xb3, + 0xfc, 0x00, 0x01, 0xb4, 0x0c, 0x00, 0x01, 0xb4, 0x1c, 0x00, 0x01, + 0xb4, 0x4c, 0x00, 0x01, 0xb4, 0x5c, 0x00, 0x01, 0xb5, 0x1c, 0x00, + 0x01, 0xb5, 0xcc, 0x00, 0x01, 0xb6, 0x78, 0x00, 0x01, 0xb6, 0xa4, + 0x00, 0x01, 0xb6, 0xd4, 0x00, 0x01, 0xb7, 0x00, 0x00, 0x01, 0xb7, + 0x64, 0x00, 0x01, 0xb8, 0x4c, 0x00, 0x01, 0xb8, 0xf0, 0x00, 0x01, + 0xb9, 0x94, 0x00, 0x01, 0xba, 0x34, 0x00, 0x01, 0xbb, 0x14, 0x00, + 0x01, 0xbb, 0xf0, 0x00, 0x01, 0xbc, 0x88, 0x00, 0x01, 0xbd, 0x1c, + 0x00, 0x01, 0xbd, 0xe4, 0x00, 0x01, 0xbe, 0xa8, 0x00, 0x01, 0xbf, + 0x70, 0x00, 0x01, 0xc0, 0x30, 0x00, 0x01, 0xc1, 0x1c, 0x00, 0x01, + 0xc2, 0x04, 0x00, 0x01, 0xc3, 0x78, 0x00, 0x01, 0xc4, 0xdc, 0x00, + 0x01, 0xc5, 0x80, 0x00, 0x01, 0xc6, 0x18, 0x00, 0x01, 0xc6, 0xf0, + 0x00, 0x01, 0xc7, 0xc0, 0x00, 0x01, 0xc8, 0x3c, 0x00, 0x01, 0xc8, + 0xbc, 0x00, 0x01, 0xc8, 0xf0, 0x00, 0x01, 0xc9, 0x24, 0x00, 0x01, + 0xca, 0x10, 0x00, 0x01, 0xca, 0xf8, 0x00, 0x01, 0xcb, 0xf0, 0x00, + 0x01, 0xcc, 0xe8, 0x00, 0x01, 0xce, 0x50, 0x00, 0x01, 0xcf, 0x8c, + 0x00, 0x01, 0xcf, 0xb4, 0x00, 0x01, 0xcf, 0xe4, 0x00, 0x01, 0xd0, + 0x74, 0x00, 0x01, 0xd1, 0x04, 0x00, 0x01, 0xd1, 0xac, 0x00, 0x01, + 0xd2, 0x14, 0x00, 0x01, 0xd2, 0x78, 0x00, 0x01, 0xd2, 0xbc, 0x00, + 0x01, 0xd3, 0x00, 0x00, 0x01, 0xd3, 0x70, 0x00, 0x01, 0xd4, 0xec, + 0x00, 0x01, 0xd6, 0x9c, 0x00, 0x01, 0xd7, 0x70, 0x00, 0x01, 0xd8, + 0x3c, 0x00, 0x01, 0xd8, 0xe0, 0x00, 0x01, 0xd9, 0x80, 0x00, 0x01, + 0xda, 0x38, 0x00, 0x01, 0xdb, 0x30, 0x00, 0x01, 0xdb, 0x7c, 0x00, + 0x01, 0xdb, 0xc8, 0x00, 0x01, 0xdc, 0x38, 0x00, 0x01, 0xdc, 0xa8, + 0x00, 0x01, 0xdd, 0x60, 0x00, 0x01, 0xde, 0x18, 0x00, 0x01, 0xdf, + 0x30, 0x00, 0x01, 0xe0, 0x38, 0x00, 0x01, 0xe1, 0x40, 0x00, 0x01, + 0xe2, 0x4c, 0x00, 0x01, 0xe2, 0xfc, 0x00, 0x01, 0xe3, 0xb4, 0x00, + 0x01, 0xe4, 0x70, 0x00, 0x01, 0xe5, 0x2c, 0x00, 0x01, 0xe5, 0xe0, + 0x00, 0x01, 0xe6, 0x94, 0x00, 0x01, 0xe7, 0x34, 0x00, 0x01, 0xe7, + 0xd4, 0x00, 0x01, 0xe8, 0x60, 0x00, 0x01, 0xe8, 0xe8, 0x00, 0x01, + 0xe9, 0x5c, 0x00, 0x01, 0xe9, 0xdc, 0x00, 0x01, 0xea, 0x9c, 0x00, + 0x01, 0xeb, 0x58, 0x00, 0x01, 0xec, 0x58, 0x00, 0x01, 0xed, 0x50, + 0x00, 0x01, 0xee, 0x24, 0x00, 0x01, 0xef, 0x1c, 0x00, 0x01, 0xef, + 0x84, 0x00, 0x01, 0xef, 0xec, 0x00, 0x01, 0xef, 0xfc, 0x00, 0x01, + 0xf0, 0x6c, 0x00, 0x01, 0xf0, 0xf0, 0x00, 0x01, 0xf1, 0x80, 0x00, + 0x01, 0xf2, 0x1c, 0x00, 0x01, 0xf2, 0xb4, 0x00, 0x01, 0xf3, 0x30, + 0x00, 0x01, 0xf3, 0xb0, 0x00, 0x01, 0xf4, 0x34, 0x00, 0x01, 0xf4, + 0xbc, 0x00, 0x01, 0xf5, 0x54, 0x00, 0x01, 0xf5, 0xf4, 0x00, 0x01, + 0xf6, 0x60, 0x00, 0x01, 0xf6, 0x70, 0x00, 0x01, 0xf7, 0x48, 0x00, + 0x01, 0xf8, 0x1c, 0x00, 0x01, 0xf9, 0x08, 0x00, 0x01, 0xf9, 0xf0, + 0x00, 0x01, 0xfa, 0x00, 0x00, 0x01, 0xfa, 0x30, 0x00, 0x01, 0xfa, + 0x60, 0x00, 0x01, 0xfb, 0x24, 0x00, 0x01, 0xfb, 0xf0, 0x00, 0x01, + 0xfc, 0x88, 0x00, 0x01, 0xfd, 0x28, 0x00, 0x01, 0xfd, 0xc4, 0x00, + 0x01, 0xfe, 0x64, 0x00, 0x01, 0xfe, 0xe8, 0x00, 0x01, 0xff, 0x74, + 0x00, 0x01, 0xff, 0xfc, 0x00, 0x02, 0x00, 0x84, 0x00, 0x02, 0x01, + 0x44, 0x00, 0x02, 0x01, 0xf0, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, + 0x02, 0x2c, 0x00, 0x02, 0x02, 0x5c, 0x00, 0x02, 0x02, 0x90, 0x00, + 0x02, 0x02, 0xc4, 0x00, 0x02, 0x02, 0xd4, 0x00, 0x02, 0x02, 0xe4, + 0x00, 0x02, 0x03, 0x14, 0x00, 0x02, 0x03, 0x40, 0x00, 0x02, 0x03, + 0x50, 0x00, 0x02, 0x03, 0x60, 0x00, 0x02, 0x03, 0x94, 0x00, 0x02, + 0x03, 0xc4, 0x00, 0x02, 0x03, 0xf8, 0x00, 0x02, 0x04, 0x28, 0x00, + 0x02, 0x04, 0x5c, 0x00, 0x02, 0x04, 0x8c, 0x00, 0x02, 0x05, 0x3c, + 0x00, 0x02, 0x05, 0x4c, 0x00, 0x02, 0x05, 0x7c, 0x00, 0x02, 0x05, + 0xa8, 0x00, 0x02, 0x05, 0xdc, 0x00, 0x02, 0x06, 0x0c, 0x00, 0x02, + 0x06, 0x40, 0x00, 0x02, 0x06, 0x70, 0x00, 0x02, 0x07, 0x24, 0x00, + 0x02, 0x07, 0xd0, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x34, + 0x00, 0x02, 0x08, 0x68, 0x00, 0x02, 0x08, 0x98, 0x00, 0x02, 0x08, + 0xc8, 0x00, 0x02, 0x08, 0xf4, 0x00, 0x02, 0x09, 0x28, 0x00, 0x02, + 0x09, 0x58, 0x00, 0x02, 0x09, 0x8c, 0x00, 0x02, 0x09, 0xc0, 0x00, + 0x02, 0x09, 0xf4, 0x00, 0x02, 0x0a, 0x24, 0x00, 0x02, 0x0a, 0x80, + 0x00, 0x02, 0x0a, 0xdc, 0x00, 0x02, 0x0b, 0x10, 0x00, 0x02, 0x0b, + 0x40, 0x00, 0x02, 0x0b, 0xf0, 0x00, 0x02, 0x0c, 0x9c, 0x00, 0x02, + 0x0d, 0x4c, 0x00, 0x02, 0x0e, 0x00, 0x00, 0x02, 0x0e, 0xa4, 0x00, + 0x02, 0x0f, 0x50, 0x00, 0x02, 0x0f, 0xcc, 0x00, 0x02, 0x0f, 0xdc, + 0x00, 0x02, 0x10, 0x90, 0x00, 0x02, 0x11, 0x60, 0x00, 0x02, 0x12, + 0x30, 0x00, 0x02, 0x13, 0x00, 0x00, 0x02, 0x13, 0xbc, 0x00, 0x02, + 0x14, 0x78, 0x00, 0x02, 0x15, 0x28, 0x00, 0x02, 0x15, 0xd0, 0x00, + 0x02, 0x16, 0x74, 0x00, 0x02, 0x17, 0x10, 0x00, 0x02, 0x17, 0x20, + 0x00, 0x02, 0x17, 0x30, 0x00, 0x02, 0x17, 0xb4, 0x00, 0x02, 0x18, + 0x38, 0x00, 0x02, 0x19, 0x08, 0x00, 0x02, 0x19, 0x18, 0x00, 0x02, + 0x19, 0xb4, 0x00, 0x02, 0x1a, 0x50, 0x00, 0x02, 0x1a, 0x60, 0x00, + 0x02, 0x1a, 0x70, 0x00, 0x02, 0x1a, 0x80, 0x00, 0x02, 0x1a, 0x90, + 0x00, 0x02, 0x1a, 0xf4, 0x00, 0x02, 0x1b, 0x88, 0x00, 0x02, 0x1b, + 0xc8, 0x00, 0x02, 0x1c, 0x38, 0x00, 0x02, 0x1c, 0xb8, 0x00, 0x02, + 0x1c, 0xe8, 0x00, 0x02, 0x1d, 0x10, 0x00, 0x02, 0x1d, 0x98, 0x00, + 0x02, 0x1d, 0xcc, 0x00, 0x02, 0x1d, 0xf4, 0x00, 0x02, 0x1e, 0x48, + 0x00, 0x02, 0x1e, 0x7c, 0x00, 0x02, 0x1e, 0x8c, 0x00, 0x02, 0x1e, + 0xdc, 0x00, 0x02, 0x1f, 0xa0, 0x00, 0x02, 0x20, 0x10, 0x00, 0x02, + 0x20, 0x64, 0x00, 0x02, 0x20, 0xc4, 0x00, 0x02, 0x20, 0xf0, 0x00, + 0x02, 0x21, 0x18, 0x00, 0x02, 0x21, 0x4c, 0x00, 0x02, 0x21, 0x9c, + 0x00, 0x02, 0x21, 0xd0, 0x00, 0x02, 0x21, 0xe0, 0x00, 0x02, 0x22, + 0x50, 0x00, 0x02, 0x22, 0x60, 0x00, 0x02, 0x22, 0x8c, 0x00, 0x02, + 0x22, 0xbc, 0x00, 0x02, 0x22, 0xcc, 0x00, 0x02, 0x22, 0xdc, 0x00, + 0x02, 0x23, 0x38, 0x00, 0x02, 0x23, 0x9c, 0x00, 0x02, 0x24, 0x6c, + 0x00, 0x02, 0x24, 0xe0, 0x00, 0x02, 0x25, 0x60, 0x00, 0x02, 0x25, + 0x98, 0x00, 0x02, 0x25, 0xf4, 0x00, 0x02, 0x26, 0x7c, 0x00, 0x02, + 0x26, 0xa4, 0x00, 0x02, 0x26, 0xcc, 0x00, 0x02, 0x27, 0x10, 0x00, + 0x02, 0x27, 0x48, 0x00, 0x02, 0x27, 0xd0, 0x00, 0x02, 0x28, 0x0c, + 0x00, 0x02, 0x28, 0x30, 0x00, 0x02, 0x28, 0x5c, 0x00, 0x02, 0x28, + 0x88, 0x00, 0x02, 0x28, 0xb8, 0x00, 0x02, 0x28, 0xf4, 0x00, 0x02, + 0x29, 0x2c, 0x00, 0x02, 0x29, 0x74, 0x00, 0x02, 0x29, 0xac, 0x00, + 0x02, 0x29, 0xe4, 0x00, 0x02, 0x2a, 0x50, 0x00, 0x02, 0x2a, 0x80, + 0x00, 0x02, 0x2b, 0x2c, 0x00, 0x02, 0x2b, 0xa0, 0x00, 0x02, 0x2c, + 0x3c, 0x00, 0x02, 0x2c, 0x8c, 0x00, 0x02, 0x2d, 0x00, 0x00, 0x02, + 0x2d, 0x34, 0x00, 0x02, 0x2d, 0xa4, 0x00, 0x02, 0x2e, 0x08, 0x00, + 0x02, 0x2e, 0xa0, 0x00, 0x02, 0x2e, 0xd8, 0x00, 0x02, 0x2f, 0x30, + 0x00, 0x02, 0x2f, 0xa4, 0x00, 0x02, 0x30, 0x20, 0x00, 0x02, 0x30, + 0x90, 0x00, 0x02, 0x31, 0x48, 0x00, 0x02, 0x31, 0x7c, 0x00, 0x02, + 0x31, 0xe4, 0x00, 0x02, 0x32, 0x94, 0x00, 0x02, 0x33, 0x04, 0x00, + 0x02, 0x33, 0x7c, 0x00, 0x02, 0x34, 0x18, 0x00, 0x02, 0x34, 0x9c, + 0x00, 0x02, 0x35, 0x2c, 0x00, 0x02, 0x35, 0xb8, 0x00, 0x02, 0x36, + 0x0c, 0x00, 0x02, 0x36, 0xc0, 0x00, 0x02, 0x37, 0x54, 0x00, 0x02, + 0x37, 0x70, 0x00, 0x02, 0x37, 0x8c, 0x00, 0x02, 0x37, 0xa8, 0x00, + 0x02, 0x37, 0xe0, 0x00, 0x02, 0x38, 0x38, 0x00, 0x02, 0x38, 0xb0, + 0x00, 0x02, 0x39, 0x74, 0x00, 0x02, 0x3a, 0xd4, 0x00, 0x02, 0x3b, + 0xb8, 0x00, 0x02, 0x3b, 0xc8, 0x00, 0x02, 0x3c, 0x34, 0x00, 0x02, + 0x3c, 0xdc, 0x00, 0x02, 0x3d, 0x58, 0x00, 0x02, 0x3e, 0x20, 0x00, + 0x02, 0x3e, 0x94, 0x00, 0x02, 0x3f, 0x00, 0x00, 0x02, 0x3f, 0x10, + 0x00, 0x02, 0x3f, 0x7c, 0x00, 0x02, 0x40, 0x0c, 0x00, 0x02, 0x40, + 0x78, 0x00, 0x02, 0x40, 0x88, 0x00, 0x02, 0x40, 0x98, 0x00, 0x02, + 0x41, 0x10, 0x00, 0x02, 0x41, 0x98, 0x00, 0x02, 0x42, 0x68, 0x00, + 0x02, 0x43, 0x78, 0x00, 0x02, 0x44, 0x30, 0x00, 0x02, 0x44, 0x88, + 0x00, 0x02, 0x44, 0xe4, 0x00, 0x02, 0x45, 0x5c, 0x00, 0x02, 0x45, + 0xf8, 0x00, 0x02, 0x46, 0x88, 0x00, 0x02, 0x46, 0xd4, 0x00, 0x02, + 0x46, 0xe4, 0x00, 0x02, 0x47, 0x68, 0x00, 0x02, 0x48, 0x28, 0x00, + 0x02, 0x48, 0xf0, 0x00, 0x02, 0x49, 0x00, 0x00, 0x02, 0x49, 0x10, + 0x00, 0x02, 0x49, 0x20, 0x00, 0x02, 0x49, 0xc8, 0x00, 0x02, 0x4a, + 0xc0, 0x00, 0x02, 0x4b, 0x7c, 0x00, 0x02, 0x4b, 0xbc, 0x00, 0x02, + 0x4b, 0xcc, 0x00, 0x02, 0x4c, 0x18, 0x00, 0x02, 0x4c, 0x28, 0x00, + 0x02, 0x4c, 0xb8, 0x00, 0x02, 0x4d, 0x30, 0x00, 0x02, 0x4d, 0xb8, + 0x00, 0x02, 0x4e, 0x94, 0x00, 0x02, 0x4f, 0x60, 0x00, 0x02, 0x50, + 0x34, 0x00, 0x02, 0x50, 0xac, 0x00, 0x02, 0x51, 0x38, 0x00, 0x02, + 0x51, 0xc8, 0x00, 0x02, 0x52, 0x78, 0x00, 0x02, 0x52, 0xf0, 0x00, + 0x02, 0x53, 0x24, 0x00, 0x02, 0x53, 0x98, 0x00, 0x02, 0x54, 0x14, + 0x00, 0x02, 0x54, 0x5c, 0x00, 0x02, 0x55, 0x00, 0x00, 0x02, 0x55, + 0x6c, 0x00, 0x02, 0x55, 0xdc, 0x00, 0x02, 0x56, 0x64, 0x00, 0x02, + 0x57, 0x20, 0x00, 0x02, 0x57, 0xa0, 0x00, 0x02, 0x58, 0x48, 0x00, + 0x02, 0x58, 0x9c, 0x00, 0x02, 0x59, 0x08, 0x00, 0x02, 0x59, 0xac, + 0x00, 0x02, 0x5a, 0xa8, 0x00, 0x02, 0x5b, 0x98, 0x00, 0x02, 0x5c, + 0x50, 0x00, 0x02, 0x5d, 0xa0, 0x00, 0x02, 0x5e, 0x58, 0x00, 0x02, + 0x5f, 0x10, 0x00, 0x02, 0x5f, 0xc4, 0x00, 0x02, 0x60, 0x88, 0x00, + 0x02, 0x61, 0x64, 0x00, 0x02, 0x62, 0x3c, 0x00, 0x02, 0x63, 0x24, + 0x00, 0x02, 0x63, 0x78, 0x00, 0x02, 0x63, 0xf4, 0x00, 0x02, 0x64, + 0xac, 0x00, 0x02, 0x65, 0x50, 0x00, 0x02, 0x65, 0xd0, 0x00, 0x02, + 0x66, 0x60, 0x00, 0x02, 0x66, 0xbc, 0x00, 0x02, 0x67, 0x1c, 0x00, + 0x02, 0x67, 0xd4, 0x00, 0x02, 0x68, 0x54, 0x00, 0x02, 0x68, 0xd8, + 0x00, 0x02, 0x69, 0x54, 0x00, 0x02, 0x6a, 0x14, 0x00, 0x02, 0x6a, + 0x70, 0x00, 0x02, 0x6b, 0x28, 0x00, 0x02, 0x6c, 0x00, 0x00, 0x02, + 0x6c, 0x68, 0x00, 0x02, 0x6d, 0x18, 0x00, 0x02, 0x6d, 0xd4, 0x00, + 0x02, 0x6e, 0x70, 0x00, 0x02, 0x6e, 0x84, 0x00, 0x02, 0x6e, 0x98, + 0x00, 0x02, 0x6e, 0xac, 0x00, 0x02, 0x6e, 0xc0, 0x00, 0x02, 0x6f, + 0x7c, 0x00, 0x02, 0x6f, 0xf0, 0x00, 0x02, 0x70, 0xa8, 0x00, 0x02, + 0x71, 0x58, 0x00, 0x02, 0x71, 0x6c, 0x00, 0x02, 0x72, 0x60, 0x00, + 0x02, 0x73, 0x74, 0x00, 0x02, 0x74, 0x74, 0x00, 0x02, 0x75, 0x58, + 0x00, 0x02, 0x76, 0xa0, 0x00, 0x02, 0x77, 0x9c, 0x00, 0x02, 0x78, + 0xb4, 0x00, 0x02, 0x79, 0x94, 0x00, 0x02, 0x7a, 0x58, 0x00, 0x02, + 0x7b, 0x5c, 0x00, 0x02, 0x7c, 0x4c, 0x00, 0x02, 0x7d, 0x20, 0x00, + 0x02, 0x7d, 0xfc, 0x00, 0x02, 0x7e, 0x6c, 0x00, 0x02, 0x7f, 0x44, + 0x00, 0x02, 0x80, 0x60, 0x00, 0x02, 0x80, 0xbc, 0x00, 0x02, 0x80, + 0xcc, 0x00, 0x02, 0x81, 0xb4, 0x00, 0x02, 0x82, 0x58, 0x00, 0x02, + 0x83, 0x44, 0x00, 0x02, 0x84, 0x28, 0x00, 0x02, 0x85, 0x08, 0x00, + 0x02, 0x85, 0xbc, 0x00, 0x02, 0x86, 0xe8, 0x00, 0x02, 0x87, 0x98, + 0x00, 0x02, 0x88, 0x04, 0x00, 0x02, 0x88, 0xf0, 0x00, 0x02, 0x89, + 0xb4, 0x00, 0x02, 0x8a, 0x98, 0x00, 0x02, 0x8b, 0x40, 0x00, 0x02, + 0x8c, 0x38, 0x00, 0x02, 0x8d, 0x00, 0x00, 0x02, 0x8d, 0x98, 0x00, + 0x02, 0x8e, 0x4c, 0x00, 0x02, 0x8e, 0xd4, 0x00, 0x02, 0x8f, 0xec, + 0x00, 0x02, 0x90, 0xd0, 0x00, 0x02, 0x91, 0xac, 0x00, 0x02, 0x92, + 0x8c, 0x00, 0x02, 0x93, 0x80, 0x00, 0x02, 0x94, 0x74, 0x00, 0x02, + 0x95, 0x50, 0x00, 0x02, 0x95, 0xd8, 0x00, 0x02, 0x96, 0x98, 0x00, + 0x02, 0x97, 0x38, 0x00, 0x02, 0x97, 0xf8, 0x00, 0x02, 0x98, 0xd8, + 0x00, 0x02, 0x99, 0x8c, 0x00, 0x02, 0x9a, 0x28, 0x00, 0x02, 0x9b, + 0x24, 0x00, 0x02, 0x9c, 0x08, 0x00, 0x02, 0x9d, 0x00, 0x00, 0x02, + 0x9d, 0x84, 0x00, 0x02, 0x9e, 0x08, 0x00, 0x02, 0x9e, 0x18, 0x00, + 0x02, 0x9e, 0x9c, 0x00, 0x02, 0x9f, 0x1c, 0x00, 0x02, 0x9f, 0x50, + 0x00, 0x02, 0x9f, 0x84, 0x00, 0x02, 0x9f, 0xe4, 0x00, 0x02, 0xa0, + 0xa8, 0x00, 0x02, 0xa1, 0x00, 0x00, 0x02, 0xa1, 0x74, 0x00, 0x02, + 0xa1, 0xbc, 0x00, 0x02, 0xa2, 0x94, 0x00, 0x02, 0xa3, 0x4c, 0x00, + 0x02, 0xa3, 0xf0, 0x00, 0x02, 0xa4, 0x94, 0x00, 0x02, 0xa5, 0x10, + 0x00, 0x02, 0xa5, 0xb8, 0x00, 0x02, 0xa6, 0x80, 0x00, 0x02, 0xa7, + 0x78, 0x00, 0x02, 0xa7, 0xf8, 0x00, 0x02, 0xa8, 0xa4, 0x00, 0x02, + 0xa9, 0x68, 0x00, 0x02, 0xaa, 0x34, 0x00, 0x02, 0xaa, 0x98, 0x00, + 0x02, 0xab, 0x0c, 0x00, 0x02, 0xab, 0x68, 0x00, 0x02, 0xab, 0xd8, + 0x00, 0x02, 0xac, 0x78, 0x00, 0x02, 0xad, 0x54, 0x00, 0x02, 0xae, + 0x08, 0x00, 0x02, 0xae, 0xd8, 0x00, 0x02, 0xaf, 0x50, 0x00, 0x02, + 0xaf, 0xcc, 0x00, 0x02, 0xb0, 0x7c, 0x00, 0x02, 0xb0, 0xe8, 0x00, + 0x02, 0xb1, 0x3c, 0x00, 0x02, 0xb1, 0x88, 0x00, 0x02, 0xb1, 0xd0, + 0x00, 0x02, 0xb2, 0x1c, 0x00, 0x02, 0xb2, 0x7c, 0x00, 0x02, 0xb2, + 0xd4, 0x00, 0x02, 0xb3, 0x2c, 0x00, 0x02, 0xb3, 0x70, 0x00, 0x02, + 0xb3, 0xf8, 0x00, 0x02, 0xb4, 0x20, 0x00, 0x02, 0xb4, 0x4c, 0x00, + 0x02, 0xb4, 0x7c, 0x00, 0x02, 0xb4, 0x94, 0x00, 0x02, 0xb4, 0xbc, + 0x00, 0x02, 0xb4, 0xe4, 0x00, 0x02, 0xb5, 0x0c, 0x00, 0x02, 0xb5, + 0x34, 0x00, 0x02, 0xb5, 0x74, 0x00, 0x02, 0xb5, 0xb4, 0x00, 0x02, + 0xb5, 0xe4, 0x00, 0x02, 0xb6, 0x04, 0x00, 0x02, 0xb6, 0x2c, 0x00, + 0x02, 0xb6, 0x54, 0x00, 0x02, 0xb6, 0x7c, 0x00, 0x02, 0xb6, 0xa4, + 0x00, 0x02, 0xb6, 0xcc, 0x00, 0x02, 0xb6, 0xf4, 0x00, 0x02, 0xb7, + 0x1c, 0x00, 0x02, 0xb7, 0x44, 0x00, 0x02, 0xb7, 0x78, 0x00, 0x02, + 0xb7, 0xb0, 0x00, 0x02, 0xb7, 0xe4, 0x00, 0x02, 0xb8, 0x1c, 0x00, + 0x02, 0xb8, 0x44, 0x00, 0x02, 0xb8, 0x6c, 0x00, 0x02, 0xb8, 0x94, + 0x00, 0x02, 0xb8, 0xbc, 0x00, 0x02, 0xb8, 0xf4, 0x00, 0x02, 0xb9, + 0x28, 0x00, 0x02, 0xb9, 0x58, 0x00, 0x02, 0xba, 0x08, 0x00, 0x02, + 0xba, 0x38, 0x00, 0x02, 0xba, 0x68, 0x00, 0x02, 0xba, 0x98, 0x00, + 0x02, 0xbb, 0x2c, 0x00, 0x02, 0xbb, 0x54, 0x00, 0x02, 0xbb, 0x7c, + 0x00, 0x02, 0xbb, 0xb0, 0x00, 0x02, 0xbc, 0x54, 0x00, 0x02, 0xbc, + 0x6c, 0x00, 0x02, 0xbc, 0x84, 0x00, 0x02, 0xbc, 0xac, 0x00, 0x02, + 0xbc, 0xd4, 0x00, 0x02, 0xbc, 0xfc, 0x00, 0x02, 0xbd, 0x24, 0x00, + 0x02, 0xbd, 0x5c, 0x00, 0x02, 0xbd, 0xb0, 0x00, 0x02, 0xbd, 0xe0, + 0x00, 0x02, 0xbe, 0x84, 0x00, 0x02, 0xbe, 0xac, 0x00, 0x02, 0xbe, + 0xd4, 0x00, 0x02, 0xbe, 0xfc, 0x00, 0x02, 0xbf, 0x24, 0x00, 0x02, + 0xbf, 0x4c, 0x00, 0x02, 0xbf, 0x74, 0x00, 0x02, 0xbf, 0xa0, 0x00, + 0x02, 0xc0, 0x34, 0x00, 0x02, 0xc0, 0x5c, 0x00, 0x02, 0xc0, 0x84, + 0x00, 0x02, 0xc0, 0xac, 0x00, 0x02, 0xc0, 0xd4, 0x00, 0x02, 0xc1, + 0x04, 0x00, 0x02, 0xc1, 0x34, 0x00, 0x02, 0xc1, 0x64, 0x00, 0x02, + 0xc1, 0x90, 0x00, 0x02, 0xc1, 0xb8, 0x00, 0x02, 0xc1, 0xe0, 0x00, + 0x02, 0xc2, 0x10, 0x00, 0x02, 0xc2, 0x28, 0x00, 0x02, 0xc2, 0x50, + 0x00, 0x02, 0xc2, 0x68, 0x00, 0x02, 0xc2, 0x90, 0x00, 0x02, 0xc2, + 0xa8, 0x00, 0x02, 0xc2, 0xd0, 0x00, 0x02, 0xc2, 0xe8, 0x00, 0x02, + 0xc3, 0x1c, 0x00, 0x02, 0xc3, 0x8c, 0x00, 0x02, 0xc3, 0xc4, 0x00, + 0x02, 0xc4, 0x1c, 0x00, 0x02, 0xc4, 0x50, 0x00, 0x02, 0xc4, 0xac, + 0x00, 0x02, 0xc4, 0xe0, 0x00, 0x02, 0xc5, 0x3c, 0x00, 0x02, 0xc5, + 0x6c, 0x00, 0x02, 0xc5, 0x98, 0x00, 0x02, 0xc5, 0xc8, 0x00, 0x02, + 0xc5, 0xf4, 0x00, 0x02, 0xc6, 0x24, 0x00, 0x02, 0xc6, 0x50, 0x00, + 0x02, 0xc6, 0x78, 0x00, 0x02, 0xc6, 0xa0, 0x00, 0x02, 0xc6, 0xcc, + 0x00, 0x02, 0xc6, 0xf4, 0x00, 0x02, 0xc7, 0x1c, 0x00, 0x02, 0xc7, + 0x44, 0x00, 0x02, 0xc7, 0x74, 0x00, 0x02, 0xc7, 0xa0, 0x00, 0x02, + 0xc7, 0xc8, 0x00, 0x02, 0xc7, 0xf0, 0x00, 0x02, 0xc8, 0x24, 0x00, + 0x02, 0xc8, 0x58, 0x00, 0x02, 0xc8, 0x8c, 0x00, 0x02, 0xc8, 0xc0, + 0x00, 0x02, 0xc8, 0xec, 0x00, 0x02, 0xc9, 0x14, 0x00, 0x02, 0xc9, + 0x44, 0x00, 0x02, 0xc9, 0x74, 0x00, 0x02, 0xc9, 0x9c, 0x00, 0x02, + 0xc9, 0xc4, 0x00, 0x02, 0xc9, 0xec, 0x00, 0x02, 0xca, 0x14, 0x00, + 0x02, 0xca, 0x3c, 0x00, 0x02, 0xca, 0x64, 0x00, 0x02, 0xca, 0x8c, + 0x00, 0x02, 0xca, 0xb8, 0x00, 0x02, 0xca, 0xe0, 0x00, 0x02, 0xcb, + 0x08, 0x00, 0x02, 0xcb, 0x30, 0x00, 0x02, 0xcb, 0x58, 0x00, 0x02, + 0xcb, 0x8c, 0x00, 0x02, 0xcc, 0x00, 0x00, 0x02, 0xcc, 0x38, 0x00, + 0x02, 0xcc, 0x80, 0x00, 0x02, 0xcc, 0xb0, 0x00, 0x02, 0xcc, 0xdc, + 0x00, 0x02, 0xcd, 0x04, 0x00, 0x02, 0xcd, 0x2c, 0x00, 0x02, 0xcd, + 0x5c, 0x00, 0x02, 0xcd, 0x8c, 0x00, 0x02, 0xcd, 0xbc, 0x00, 0x02, + 0xcd, 0xe8, 0x00, 0x02, 0xce, 0x1c, 0x00, 0x02, 0xce, 0x4c, 0x00, + 0x02, 0xce, 0x7c, 0x00, 0x02, 0xce, 0xa8, 0x00, 0x02, 0xce, 0xd0, + 0x00, 0x02, 0xce, 0xf8, 0x00, 0x02, 0xcf, 0x28, 0x00, 0x02, 0xcf, + 0x54, 0x00, 0x02, 0xcf, 0x88, 0x00, 0x02, 0xcf, 0xb8, 0x00, 0x02, + 0xcf, 0xe8, 0x00, 0x02, 0xd0, 0x14, 0x00, 0x02, 0xd0, 0x44, 0x00, + 0x02, 0xd0, 0x70, 0x00, 0x02, 0xd0, 0x98, 0x00, 0x02, 0xd0, 0xc0, + 0x00, 0x02, 0xd0, 0xe8, 0x00, 0x02, 0xd1, 0x10, 0x00, 0x02, 0xd1, + 0x38, 0x00, 0x02, 0xd1, 0x78, 0x00, 0x02, 0xd1, 0xa8, 0x00, 0x02, + 0xd1, 0xd8, 0x00, 0x02, 0xd2, 0x08, 0x00, 0x02, 0xd2, 0x80, 0x00, + 0x02, 0xd3, 0x44, 0x00, 0x02, 0xd3, 0x6c, 0x00, 0x02, 0xd3, 0x94, + 0x00, 0x02, 0xd3, 0xc4, 0x00, 0x02, 0xd3, 0xf4, 0x00, 0x02, 0xd4, + 0x28, 0x00, 0x02, 0xd4, 0x5c, 0x00, 0x02, 0xd4, 0x90, 0x00, 0x02, + 0xd4, 0xc4, 0x00, 0x02, 0xd4, 0xf8, 0x00, 0x02, 0xd5, 0x2c, 0x00, + 0x02, 0xd5, 0x60, 0x00, 0x02, 0xd5, 0x94, 0x00, 0x02, 0xd5, 0xcc, + 0x00, 0x02, 0xd6, 0x14, 0x00, 0x02, 0xd6, 0x48, 0x00, 0x02, 0xd6, + 0x7c, 0x00, 0x02, 0xd6, 0xb0, 0x00, 0x02, 0xd6, 0xe4, 0x00, 0x02, + 0xd7, 0x18, 0x00, 0x02, 0xd7, 0x4c, 0x00, 0x02, 0xd7, 0x80, 0x00, + 0x02, 0xd7, 0xb4, 0x00, 0x02, 0xd7, 0xec, 0x00, 0x02, 0xd8, 0x24, + 0x00, 0x02, 0xd8, 0x4c, 0x00, 0x02, 0xd8, 0x74, 0x00, 0x02, 0xd8, + 0xa4, 0x00, 0x02, 0xd8, 0xd4, 0x00, 0x02, 0xd9, 0x04, 0x00, 0x02, + 0xd9, 0x30, 0x00, 0x02, 0xd9, 0x64, 0x00, 0x02, 0xd9, 0x98, 0x00, + 0x02, 0xd9, 0xcc, 0x00, 0x02, 0xda, 0x00, 0x00, 0x02, 0xda, 0x34, + 0x00, 0x02, 0xda, 0x68, 0x00, 0x02, 0xda, 0x9c, 0x00, 0x02, 0xda, + 0xd0, 0x00, 0x02, 0xdb, 0x0c, 0x00, 0x02, 0xdb, 0x44, 0x00, 0x02, + 0xdb, 0x74, 0x00, 0x02, 0xdb, 0xa4, 0x00, 0x02, 0xdb, 0xcc, 0x00, + 0x02, 0xdb, 0xf4, 0x00, 0x02, 0xdc, 0x1c, 0x00, 0x02, 0xdc, 0x44, + 0x00, 0x02, 0xdc, 0x74, 0x00, 0x02, 0xdc, 0xa4, 0x00, 0x02, 0xdc, + 0xd8, 0x00, 0x02, 0xdd, 0x0c, 0x00, 0x02, 0xdd, 0x40, 0x00, 0x02, + 0xdd, 0x74, 0x00, 0x02, 0xdd, 0xa8, 0x00, 0x02, 0xdd, 0xdc, 0x00, + 0x02, 0xde, 0x10, 0x00, 0x02, 0xde, 0x44, 0x00, 0x02, 0xde, 0x7c, + 0x00, 0x02, 0xde, 0xb4, 0x00, 0x02, 0xde, 0xe4, 0x00, 0x02, 0xdf, + 0x10, 0x00, 0x02, 0xdf, 0x40, 0x00, 0x02, 0xdf, 0x70, 0x00, 0x02, + 0xdf, 0xa0, 0x00, 0x02, 0xdf, 0xd0, 0x00, 0x02, 0xe0, 0x00, 0x00, + 0x02, 0xe0, 0x30, 0x00, 0x02, 0xe0, 0x58, 0x00, 0x02, 0xe0, 0x80, + 0x00, 0x02, 0xe0, 0xa8, 0x00, 0x02, 0xe0, 0xd0, 0x00, 0x02, 0xe1, + 0x00, 0x00, 0x02, 0xe1, 0x30, 0x00, 0x02, 0xe1, 0x60, 0x00, 0x02, + 0xe1, 0x80, 0x00, 0x02, 0xe1, 0xb0, 0x00, 0x02, 0xe1, 0xd0, 0x00, + 0x02, 0xe2, 0x00, 0x00, 0x02, 0xe2, 0x24, 0x00, 0x02, 0xe2, 0x54, + 0x00, 0x02, 0xe2, 0x74, 0x00, 0x02, 0xe2, 0x9c, 0x00, 0x02, 0xe2, + 0xb4, 0x00, 0x02, 0xe2, 0xe4, 0x00, 0x02, 0xe3, 0x14, 0x00, 0x02, + 0xe3, 0x3c, 0x00, 0x02, 0xe3, 0x54, 0x00, 0x02, 0xe3, 0x84, 0x00, + 0x02, 0xe3, 0xb4, 0x00, 0x02, 0xe3, 0xe4, 0x00, 0x02, 0xe4, 0x10, + 0x00, 0x02, 0xe4, 0x40, 0x00, 0x02, 0xe4, 0x70, 0x00, 0x02, 0xe4, + 0xa4, 0x00, 0x02, 0xe4, 0xd8, 0x00, 0x02, 0xe5, 0x0c, 0x00, 0x02, + 0xe5, 0x40, 0x00, 0x02, 0xe5, 0x74, 0x00, 0x02, 0xe5, 0xa8, 0x00, + 0x02, 0xe5, 0xc0, 0x00, 0x02, 0xe5, 0xd8, 0x00, 0x02, 0xe5, 0xf0, + 0x00, 0x02, 0xe6, 0x08, 0x00, 0x02, 0xe6, 0x20, 0x00, 0x02, 0xe6, + 0x38, 0x00, 0x02, 0xe6, 0x50, 0x00, 0x02, 0xe6, 0x68, 0x00, 0x02, + 0xe6, 0x98, 0x00, 0x02, 0xe6, 0xc8, 0x00, 0x02, 0xe6, 0xfc, 0x00, + 0x02, 0xe7, 0x30, 0x00, 0x02, 0xe7, 0x64, 0x00, 0x02, 0xe7, 0x98, + 0x00, 0x02, 0xe7, 0xb0, 0x00, 0x02, 0xe7, 0xcc, 0x00, 0x02, 0xe7, + 0xe4, 0x00, 0x02, 0xe7, 0xfc, 0x00, 0x02, 0xe8, 0x14, 0x00, 0x02, + 0xe8, 0x2c, 0x00, 0x02, 0xe8, 0x5c, 0x00, 0x02, 0xe8, 0x8c, 0x00, + 0x02, 0xe8, 0xc0, 0x00, 0x02, 0xe8, 0xf4, 0x00, 0x02, 0xe9, 0x28, + 0x00, 0x02, 0xe9, 0x5c, 0x00, 0x02, 0xe9, 0x90, 0x00, 0x02, 0xe9, + 0xc4, 0x00, 0x02, 0xe9, 0xdc, 0x00, 0x02, 0xe9, 0xf4, 0x00, 0x02, + 0xea, 0x0c, 0x00, 0x02, 0xea, 0x24, 0x00, 0x02, 0xea, 0x3c, 0x00, + 0x02, 0xea, 0x54, 0x00, 0x02, 0xea, 0x6c, 0x00, 0x02, 0xea, 0x84, + 0x00, 0x02, 0xea, 0xb4, 0x00, 0x02, 0xea, 0xe4, 0x00, 0x02, 0xeb, + 0x18, 0x00, 0x02, 0xeb, 0x4c, 0x00, 0x02, 0xeb, 0x80, 0x00, 0x02, + 0xeb, 0xb4, 0x00, 0x02, 0xeb, 0xe8, 0x00, 0x02, 0xec, 0x1c, 0x00, + 0x02, 0xec, 0x34, 0x00, 0x02, 0xec, 0x4c, 0x00, 0x02, 0xec, 0x64, + 0x00, 0x02, 0xec, 0x7c, 0x00, 0x02, 0xec, 0x94, 0x00, 0x02, 0xec, + 0xac, 0x00, 0x02, 0xec, 0xc4, 0x00, 0x02, 0xec, 0xdc, 0x00, 0x02, + 0xed, 0x0c, 0x00, 0x02, 0xed, 0x3c, 0x00, 0x02, 0xed, 0x70, 0x00, + 0x02, 0xed, 0xa4, 0x00, 0x02, 0xed, 0xd8, 0x00, 0x02, 0xee, 0x0c, + 0x00, 0x02, 0xee, 0x24, 0x00, 0x02, 0xee, 0x3c, 0x00, 0x02, 0xee, + 0x54, 0x00, 0x02, 0xee, 0x6c, 0x00, 0x02, 0xee, 0x84, 0x00, 0x02, + 0xee, 0x9c, 0x00, 0x02, 0xee, 0xcc, 0x00, 0x02, 0xee, 0xfc, 0x00, + 0x02, 0xef, 0x30, 0x00, 0x02, 0xef, 0x64, 0x00, 0x02, 0xef, 0x98, + 0x00, 0x02, 0xef, 0xcc, 0x00, 0x02, 0xf0, 0x00, 0x00, 0x02, 0xf0, + 0x34, 0x00, 0x02, 0xf0, 0x4c, 0x00, 0x02, 0xf0, 0x64, 0x00, 0x02, + 0xf0, 0x7c, 0x00, 0x02, 0xf0, 0x94, 0x00, 0x02, 0xf0, 0xc4, 0x00, + 0x02, 0xf0, 0xf4, 0x00, 0x02, 0xf1, 0x28, 0x00, 0x02, 0xf1, 0x5c, + 0x00, 0x02, 0xf1, 0x90, 0x00, 0x02, 0xf1, 0xc4, 0x00, 0x02, 0xf1, + 0xf8, 0x00, 0x02, 0xf2, 0x2c, 0x00, 0x02, 0xf2, 0x44, 0x00, 0x02, + 0xf2, 0x5c, 0x00, 0x02, 0xf2, 0x74, 0x00, 0x02, 0xf2, 0x8c, 0x00, + 0x02, 0xf2, 0xa4, 0x00, 0x02, 0xf2, 0xbc, 0x00, 0x02, 0xf2, 0xd4, + 0x00, 0x02, 0xf2, 0xec, 0x00, 0x02, 0xf3, 0x1c, 0x00, 0x02, 0xf3, + 0x4c, 0x00, 0x02, 0xf3, 0x7c, 0x00, 0x02, 0xf3, 0xa8, 0x00, 0x02, + 0xf3, 0xd8, 0x00, 0x02, 0xf4, 0x04, 0x00, 0x02, 0xf4, 0x34, 0x00, + 0x02, 0xf4, 0x60, 0x00, 0x02, 0xf4, 0x90, 0x00, 0x02, 0xf4, 0xbc, + 0x00, 0x02, 0xf4, 0xec, 0x00, 0x02, 0xf5, 0x18, 0x00, 0x02, 0xf5, + 0x48, 0x00, 0x02, 0xf5, 0x74, 0x00, 0x02, 0xf5, 0xac, 0x00, 0x02, + 0xf5, 0xe4, 0x00, 0x02, 0xf6, 0x20, 0x00, 0x02, 0xf6, 0x5c, 0x00, + 0x02, 0xf6, 0x98, 0x00, 0x02, 0xf6, 0xd4, 0x00, 0x02, 0xf7, 0x10, + 0x00, 0x02, 0xf7, 0x4c, 0x00, 0x02, 0xf7, 0x6c, 0x00, 0x02, 0xf7, + 0x8c, 0x00, 0x02, 0xf7, 0xac, 0x00, 0x02, 0xf7, 0xcc, 0x00, 0x02, + 0xf7, 0xec, 0x00, 0x02, 0xf8, 0x0c, 0x00, 0x02, 0xf8, 0x2c, 0x00, + 0x02, 0xf8, 0x4c, 0x00, 0x02, 0xf8, 0x78, 0x00, 0x02, 0xf8, 0xa4, + 0x00, 0x02, 0xf8, 0xd0, 0x00, 0x02, 0xf8, 0xfc, 0x00, 0x02, 0xf9, + 0x28, 0x00, 0x02, 0xf9, 0x54, 0x00, 0x02, 0xf9, 0x80, 0x00, 0x02, + 0xf9, 0xac, 0x00, 0x02, 0xf9, 0xcc, 0x00, 0x02, 0xf9, 0xec, 0x00, + 0x02, 0xfa, 0x0c, 0x00, 0x02, 0xfa, 0x2c, 0x00, 0x02, 0xfa, 0x4c, + 0x00, 0x02, 0xfa, 0x6c, 0x00, 0x02, 0xfa, 0x8c, 0x00, 0x02, 0xfa, + 0xac, 0x00, 0x02, 0xfa, 0xd8, 0x00, 0x02, 0xfb, 0x04, 0x00, 0x02, + 0xfb, 0x30, 0x00, 0x02, 0xfb, 0x5c, 0x00, 0x02, 0xfb, 0x88, 0x00, + 0x02, 0xfb, 0xb4, 0x00, 0x02, 0xfb, 0xe0, 0x00, 0x02, 0xfc, 0x0c, + 0x00, 0x02, 0xfc, 0x2c, 0x00, 0x02, 0xfc, 0x4c, 0x00, 0x02, 0xfc, + 0x6c, 0x00, 0x02, 0xfc, 0x8c, 0x00, 0x02, 0xfc, 0xac, 0x00, 0x02, + 0xfc, 0xcc, 0x00, 0x02, 0xfc, 0xec, 0x00, 0x02, 0xfd, 0x0c, 0x00, + 0x02, 0xfd, 0x3c, 0x00, 0x02, 0xfd, 0x6c, 0x00, 0x02, 0xfd, 0x98, + 0x00, 0x02, 0xfd, 0xc0, 0x00, 0x02, 0xfd, 0xe8, 0x00, 0x02, 0xfe, + 0x18, 0x00, 0x02, 0xfe, 0x40, 0x00, 0x02, 0xfe, 0x70, 0x00, 0x02, + 0xfe, 0xa0, 0x00, 0x02, 0xfe, 0xb8, 0x00, 0x02, 0xfe, 0xd0, 0x00, + 0x02, 0xfe, 0xf8, 0x00, 0x02, 0xff, 0x40, 0x00, 0x02, 0xff, 0x88, + 0x00, 0x02, 0xff, 0xd0, 0x00, 0x03, 0x00, 0x40, 0x00, 0x03, 0x00, + 0xe8, 0x00, 0x03, 0x01, 0x14, 0x00, 0x03, 0x01, 0x2c, 0x00, 0x03, + 0x01, 0x58, 0x00, 0x03, 0x01, 0x84, 0x00, 0x03, 0x01, 0xac, 0x00, + 0x03, 0x01, 0xc4, 0x00, 0x03, 0x01, 0xdc, 0x00, 0x03, 0x01, 0xf4, + 0x00, 0x03, 0x02, 0x0c, 0x00, 0x03, 0x02, 0x34, 0x00, 0x03, 0x02, + 0xac, 0x00, 0x03, 0x03, 0x24, 0x00, 0x03, 0x03, 0xd8, 0x00, 0x03, + 0x04, 0x08, 0x00, 0x03, 0x04, 0x38, 0x00, 0x03, 0x04, 0x64, 0x00, + 0x03, 0x04, 0x90, 0x00, 0x03, 0x04, 0xc0, 0x00, 0x03, 0x04, 0xf8, + 0x00, 0x03, 0x05, 0x28, 0x00, 0x03, 0x05, 0x58, 0x00, 0x03, 0x05, + 0x70, 0x00, 0x03, 0x05, 0x88, 0x00, 0x03, 0x06, 0x00, 0x00, 0x03, + 0x06, 0x78, 0x00, 0x03, 0x07, 0x30, 0x00, 0x03, 0x07, 0x60, 0x00, + 0x03, 0x07, 0x90, 0x00, 0x03, 0x07, 0xbc, 0x00, 0x03, 0x07, 0xe8, + 0x00, 0x03, 0x08, 0x18, 0x00, 0x03, 0x08, 0x48, 0x00, 0x03, 0x08, + 0x78, 0x00, 0x03, 0x08, 0xb0, 0x00, 0x03, 0x08, 0xdc, 0x00, 0x03, + 0x09, 0x0c, 0x00, 0x03, 0x09, 0x24, 0x00, 0x03, 0x09, 0x3c, 0x00, + 0x03, 0x09, 0x54, 0x00, 0x03, 0x09, 0xc0, 0x00, 0x03, 0x0a, 0x2c, + 0x00, 0x03, 0x0a, 0x70, 0x00, 0x03, 0x0a, 0x9c, 0x00, 0x03, 0x0a, + 0xc4, 0x00, 0x03, 0x0a, 0xec, 0x00, 0x03, 0x0b, 0x18, 0x00, 0x03, + 0x0b, 0x40, 0x00, 0x03, 0x0b, 0x58, 0x00, 0x03, 0x0b, 0x70, 0x00, + 0x03, 0x0b, 0x88, 0x00, 0x03, 0x0b, 0xa0, 0x00, 0x03, 0x0b, 0xc8, + 0x00, 0x03, 0x0c, 0x04, 0x00, 0x03, 0x0c, 0x58, 0x00, 0x03, 0x0c, + 0x58, 0x00, 0x03, 0x0c, 0x84, 0x00, 0x03, 0x0d, 0x08, 0x00, 0x03, + 0x0d, 0x68, 0x00, 0x03, 0x0d, 0xc4, 0x00, 0x03, 0x0d, 0xd4, 0x00, + 0x03, 0x0d, 0xe4, 0x00, 0x03, 0x0e, 0x14, 0x00, 0x03, 0x0e, 0x44, + 0x00, 0x03, 0x0e, 0x74, 0x00, 0x03, 0x0e, 0xd0, 0x00, 0x03, 0x0f, + 0x10, 0x00, 0x03, 0x0f, 0x50, 0x00, 0x03, 0x0f, 0x90, 0x00, 0x03, + 0x0f, 0xd0, 0x00, 0x03, 0x10, 0x34, 0x00, 0x03, 0x10, 0x94, 0x00, + 0x03, 0x10, 0xfc, 0x00, 0x03, 0x11, 0x18, 0x00, 0x03, 0x11, 0x80, + 0x00, 0x03, 0x12, 0x2c, 0x00, 0x03, 0x12, 0x70, 0x00, 0x03, 0x12, + 0xcc, 0x00, 0x03, 0x13, 0x00, 0x00, 0x03, 0x13, 0x38, 0x00, 0x03, + 0x13, 0x7c, 0x00, 0x03, 0x13, 0xd8, 0x00, 0x03, 0x14, 0x38, 0x00, + 0x03, 0x15, 0x94, 0x00, 0x03, 0x15, 0xc8, 0x00, 0x03, 0x16, 0x14, + 0x00, 0x03, 0x16, 0x34, 0x00, 0x03, 0x16, 0x94, 0x00, 0x03, 0x16, + 0xf4, 0x00, 0x03, 0x17, 0x74, 0x00, 0x03, 0x17, 0x88, 0x00, 0x03, + 0x17, 0xc0, 0x00, 0x03, 0x18, 0x44, 0x00, 0x03, 0x18, 0xc0, 0x00, + 0x03, 0x19, 0x24, 0x00, 0x03, 0x19, 0x5c, 0x00, 0x03, 0x19, 0xa0, + 0x00, 0x03, 0x19, 0xfc, 0x00, 0x03, 0x1a, 0x60, 0x00, 0x03, 0x1a, + 0xe0, 0x00, 0x03, 0x1b, 0x98, 0x00, 0x03, 0x1c, 0x60, 0x00, 0x03, + 0x1c, 0xbc, 0x00, 0x03, 0x1d, 0xbc, 0x00, 0x03, 0x1e, 0x8c, 0x00, + 0x03, 0x1f, 0x10, 0x00, 0x03, 0x1f, 0xbc, 0x00, 0x03, 0x20, 0x2c, + 0x00, 0x03, 0x20, 0xc4, 0x00, 0x03, 0x21, 0xb8, 0x00, 0x03, 0x22, + 0x38, 0x00, 0x03, 0x22, 0xf0, 0x00, 0x03, 0x23, 0xb8, 0x00, 0x03, + 0x24, 0x14, 0x00, 0x03, 0x25, 0x10, 0x00, 0x03, 0x25, 0xdc, 0x00, + 0x03, 0x25, 0xf0, 0x00, 0x03, 0x26, 0x04, 0x00, 0x03, 0x26, 0x18, + 0x00, 0x03, 0x26, 0x2c, 0x00, 0x03, 0x26, 0x40, 0x00, 0x03, 0x27, + 0x10, 0x00, 0x03, 0x28, 0x3c, 0x00, 0x03, 0x29, 0x20, 0x00, 0x03, + 0x29, 0xb4, 0x00, 0x03, 0x2a, 0xd4, 0x00, 0x03, 0x2b, 0xb4, 0x00, + 0x03, 0x2c, 0xd8, 0x00, 0x03, 0x2e, 0x48, 0x00, 0x03, 0x2f, 0x88, + 0x00, 0x03, 0x30, 0xc4, 0x00, 0x03, 0x31, 0x84, 0x00, 0x03, 0x31, + 0xa8, 0x00, 0x03, 0x32, 0xac, 0x00, 0x03, 0x33, 0x48, 0x00, 0x03, + 0x33, 0xf8, 0x00, 0x03, 0x35, 0x90, 0x00, 0x03, 0x36, 0x7c, 0x00, + 0x03, 0x37, 0xa4, 0x00, 0x03, 0x38, 0x88, 0x00, 0x03, 0x39, 0x8c, + 0x00, 0x03, 0x3a, 0xf8, 0x00, 0x03, 0x3b, 0xd8, 0x00, 0x03, 0x3c, + 0x6c, 0x00, 0x03, 0x3c, 0x80, 0x00, 0x03, 0x3d, 0xa0, 0x00, 0x03, + 0x3e, 0xa4, 0x00, 0x03, 0x3f, 0x90, 0x00, 0x03, 0x40, 0x94, 0x00, + 0x03, 0x41, 0x58, 0x00, 0x03, 0x42, 0x14, 0x00, 0x03, 0x42, 0xd4, + 0x00, 0x03, 0x44, 0x30, 0x00, 0x03, 0x44, 0x94, 0x00, 0x03, 0x44, + 0xb4, 0x00, 0x03, 0x44, 0xd4, 0x00, 0x03, 0x45, 0x1c, 0x00, 0x03, + 0x45, 0x64, 0x00, 0x03, 0x45, 0xb0, 0x00, 0x03, 0x46, 0x04, 0x00, + 0x03, 0x46, 0xc4, 0x00, 0x03, 0x47, 0x28, 0x00, 0x03, 0x47, 0x84, + 0x00, 0x03, 0x47, 0xe4, 0x00, 0x03, 0x48, 0x40, 0x00, 0x03, 0x48, + 0xd0, 0x00, 0x03, 0x49, 0x60, 0x00, 0x03, 0x4a, 0x14, 0x00, 0x03, + 0x4a, 0x7c, 0x00, 0x03, 0x4b, 0x68, 0x00, 0x03, 0x4b, 0xec, 0x00, + 0x03, 0x4c, 0x38, 0x00, 0x03, 0x4c, 0xbc, 0x00, 0x03, 0x4c, 0xec, + 0x00, 0x03, 0x4c, 0xfc, 0x00, 0x03, 0x4d, 0x3c, 0x00, 0x03, 0x4d, + 0x98, 0x00, 0x03, 0x4e, 0x7c, 0x00, 0x03, 0x4e, 0xb8, 0x00, 0x03, + 0x4f, 0x1c, 0x00, 0x03, 0x4f, 0x8c, 0x00, 0x03, 0x50, 0x94, 0x00, + 0x03, 0x51, 0x68, 0x00, 0x03, 0x51, 0xec, 0x00, 0x03, 0x52, 0x4c, + 0x00, 0x03, 0x52, 0xd0, 0x00, 0x03, 0x53, 0x54, 0x00, 0x03, 0x53, + 0xb0, 0x00, 0x03, 0x53, 0xf8, 0x00, 0x03, 0x54, 0x54, 0x00, 0x03, + 0x54, 0xb0, 0x00, 0x03, 0x54, 0xe4, 0x00, 0x03, 0x55, 0x14, 0x00, + 0x03, 0x55, 0x58, 0x00, 0x03, 0x55, 0x9c, 0x00, 0x03, 0x55, 0xdc, + 0x00, 0x03, 0x56, 0x20, 0x00, 0x03, 0x56, 0x70, 0x00, 0x03, 0x56, + 0xbc, 0x00, 0x03, 0x57, 0x0c, 0x00, 0x03, 0x57, 0x5c, 0x00, 0x03, + 0x57, 0xc0, 0x00, 0x03, 0x58, 0x18, 0x00, 0x03, 0x58, 0x60, 0x00, + 0x03, 0x58, 0xc4, 0x00, 0x03, 0x59, 0x1c, 0x00, 0x03, 0x59, 0x8c, + 0x00, 0x03, 0x59, 0xec, 0x00, 0x03, 0x5a, 0x44, 0x00, 0x03, 0x5a, + 0xb4, 0x00, 0x03, 0x5b, 0x18, 0x00, 0x03, 0x5b, 0x6c, 0x00, 0x03, + 0x5b, 0xdc, 0x00, 0x03, 0x5c, 0x3c, 0x00, 0x03, 0x5c, 0x94, 0x00, + 0x03, 0x5d, 0x04, 0x00, 0x03, 0x5d, 0x74, 0x00, 0x03, 0x5d, 0xd8, + 0x00, 0x03, 0x5e, 0x60, 0x00, 0x03, 0x5e, 0xcc, 0x00, 0x03, 0x5f, + 0x30, 0x00, 0x03, 0x5f, 0xb8, 0x00, 0x03, 0x60, 0x2c, 0x00, 0x03, + 0x60, 0x90, 0x00, 0x03, 0x61, 0x18, 0x00, 0x03, 0x61, 0x8c, 0x00, + 0x03, 0x61, 0xf0, 0x00, 0x03, 0x62, 0x7c, 0x00, 0x03, 0x63, 0x18, + 0x00, 0x03, 0x63, 0xa8, 0x00, 0x03, 0x64, 0x64, 0x00, 0x03, 0x64, + 0x94, 0x00, 0x03, 0x64, 0xc4, 0x00, 0x03, 0x64, 0xf4, 0x00, 0x03, + 0x65, 0x24, 0x00, 0x03, 0x65, 0x54, 0x00, 0x03, 0x68, 0xd8, 0x00, + 0x03, 0x6f, 0x14, 0x00, 0x03, 0x75, 0x28, 0x00, 0x03, 0x75, 0x54, + 0x00, 0x03, 0x75, 0x9c, 0x00, 0x03, 0x75, 0xd4, 0x00, 0x03, 0x76, + 0x38, 0x00, 0x03, 0x76, 0x64, 0x00, 0x03, 0x76, 0x94, 0x00, 0x03, + 0x76, 0xc4, 0x00, 0x03, 0x76, 0xf8, 0x00, 0x03, 0x77, 0x24, 0x00, + 0x03, 0x77, 0xac, 0x00, 0x03, 0x78, 0x40, 0x00, 0x03, 0x7a, 0xa4, + 0x00, 0x03, 0x7a, 0xf0, 0x00, 0x03, 0x7b, 0x48, 0x00, 0x03, 0x7b, + 0xa0, 0x00, 0x03, 0x7b, 0xf8, 0x00, 0x03, 0x7c, 0x50, 0x00, 0x03, + 0x7c, 0xbc, 0x00, 0x03, 0x7d, 0x14, 0x00, 0x03, 0x7d, 0x40, 0x00, + 0x03, 0x7d, 0x6c, 0x00, 0x03, 0x7d, 0xd0, 0x00, 0x03, 0x7e, 0x6c, + 0x00, 0x03, 0x7e, 0xf8, 0x00, 0x03, 0x80, 0x48, 0x00, 0x03, 0x81, + 0x54, 0x00, 0x03, 0x82, 0x50, 0x00, 0x03, 0x83, 0x18, 0x00, 0x03, + 0x83, 0xf4, 0x00, 0x03, 0x84, 0x8c, 0x00, 0x03, 0x85, 0x38, 0x00, + 0x03, 0x85, 0xa4, 0x00, 0x03, 0x85, 0xec, 0x00, 0x03, 0x86, 0x28, + 0x00, 0x03, 0x86, 0xa8, 0x00, 0x03, 0x87, 0x80, 0x00, 0x03, 0x87, + 0xec, 0x00, 0x03, 0x88, 0xd4, 0x00, 0x03, 0x89, 0x78, 0x00, 0x03, + 0x89, 0xf8, 0x00, 0x03, 0x8a, 0x9c, 0x00, 0x03, 0x8b, 0x44, 0x00, + 0x03, 0x8c, 0x00, 0x00, 0x03, 0x8d, 0x68, 0x00, 0x03, 0x8e, 0x44, + 0x00, 0x03, 0x8e, 0xd0, 0x00, 0x03, 0x8f, 0x6c, 0x00, 0x03, 0x8f, + 0xfc, 0x00, 0x03, 0x90, 0x90, 0x00, 0x03, 0x91, 0x00, 0x00, 0x03, + 0x91, 0x70, 0x00, 0x03, 0x92, 0x08, 0x00, 0x03, 0x92, 0x84, 0x00, + 0x03, 0x93, 0x48, 0x00, 0x03, 0x93, 0xcc, 0x00, 0x03, 0x94, 0x9c, + 0x00, 0x03, 0x94, 0xf4, 0x00, 0x03, 0x95, 0x48, 0x00, 0x03, 0x95, + 0xf0, 0x00, 0x03, 0x96, 0x54, 0x00, 0x03, 0x96, 0x9c, 0x00, 0x03, + 0x96, 0xe8, 0x00, 0x03, 0x97, 0x2c, 0x00, 0x03, 0x97, 0x64, 0x00, + 0x03, 0x97, 0xb8, 0x00, 0x03, 0x98, 0x0c, 0x00, 0x03, 0x98, 0x5c, + 0x00, 0x03, 0x98, 0xac, 0x00, 0x03, 0x99, 0x00, 0x00, 0x03, 0x99, + 0x4c, 0x00, 0x03, 0x99, 0x98, 0x00, 0x03, 0x99, 0xe8, 0x00, 0x03, + 0x9a, 0x2c, 0x00, 0x03, 0x9a, 0x74, 0x00, 0x03, 0x9a, 0xac, 0x00, + 0x03, 0x9a, 0xe4, 0x00, 0x03, 0x9b, 0x98, 0x00, 0x03, 0x9c, 0x2c, + 0x00, 0x03, 0x9c, 0x50, 0x00, 0x03, 0x9c, 0x90, 0x00, 0x03, 0x9c, + 0xb4, 0x00, 0x03, 0x9c, 0xc4, 0x00, 0x03, 0x9c, 0xd4, 0x00, 0x03, + 0x9c, 0xe4, 0x00, 0x03, 0x9c, 0xf4, 0x00, 0x03, 0x9d, 0x04, 0x00, + 0x03, 0x9d, 0x14, 0x00, 0x03, 0x9d, 0x24, 0x00, 0x03, 0x9d, 0x34, + 0x00, 0x03, 0x9d, 0x44, 0x00, 0x03, 0x9d, 0x98, 0x00, 0x03, 0x9d, + 0xc4, 0x00, 0x03, 0x9d, 0xf4, 0x00, 0x03, 0x9e, 0x48, 0x00, 0x03, + 0x9e, 0x9c, 0x00, 0x03, 0x9e, 0xc4, 0x00, 0x03, 0x9e, 0xf0, 0x00, + 0x03, 0x9f, 0x3c, 0x00, 0x03, 0x9f, 0x7c, 0x00, 0x03, 0x9f, 0xe0, + 0x00, 0x03, 0xa0, 0x28, 0x00, 0x03, 0xa0, 0x70, 0x00, 0x03, 0xa0, + 0xe4, 0x00, 0x03, 0xa1, 0x40, 0x00, 0x03, 0xa1, 0x8c, 0x00, 0x03, + 0xa2, 0x1c, 0x00, 0x03, 0xa2, 0x64, 0x00, 0x03, 0xa2, 0xcc, 0x00, + 0x03, 0xa3, 0x08, 0x00, 0x03, 0xa3, 0x64, 0x00, 0x03, 0xa3, 0xcc, + 0x00, 0x03, 0xa4, 0x18, 0x00, 0x03, 0xa4, 0x50, 0x00, 0x03, 0xa4, + 0x8c, 0x00, 0x03, 0xa4, 0xe0, 0x00, 0x03, 0xa5, 0x24, 0x00, 0x03, + 0xa5, 0x70, 0x00, 0x03, 0xa5, 0xa8, 0x00, 0x03, 0xa6, 0x08, 0x00, + 0x03, 0xa6, 0x20, 0x00, 0x03, 0xa6, 0x48, 0x00, 0x03, 0xa6, 0x70, + 0x00, 0x03, 0xa6, 0x98, 0x00, 0x03, 0xa7, 0x20, 0x00, 0x03, 0xa7, + 0x68, 0x00, 0x03, 0xa7, 0xb0, 0x00, 0x03, 0xa8, 0x00, 0x00, 0x03, + 0xa8, 0x54, 0x00, 0x03, 0xa8, 0x9c, 0x00, 0x03, 0xa8, 0xf8, 0x00, + 0x03, 0xa9, 0x3c, 0x00, 0x03, 0xa9, 0x80, 0x00, 0x03, 0xa9, 0xe4, + 0x00, 0x03, 0xaa, 0x60, 0x00, 0x03, 0xab, 0x08, 0x00, 0x03, 0xac, + 0x0c, 0x00, 0x03, 0xac, 0x98, 0x00, 0x03, 0xad, 0x4c, 0x00, 0x03, + 0xad, 0xac, 0x00, 0x03, 0xae, 0x9c, 0x00, 0x03, 0xae, 0xc4, 0x00, + 0x03, 0xaf, 0x28, 0x00, 0x03, 0xaf, 0x80, 0x00, 0x03, 0xaf, 0xe8, + 0x00, 0x03, 0xb0, 0x58, 0x00, 0x03, 0xb0, 0xdc, 0x00, 0x03, 0xb1, + 0x4c, 0x00, 0x03, 0xb1, 0xa0, 0x00, 0x03, 0xb2, 0x40, 0x00, 0x03, + 0xb2, 0x8c, 0x00, 0x03, 0xb2, 0xe4, 0x00, 0x03, 0xb3, 0x3c, 0x00, + 0x03, 0xb3, 0x90, 0x00, 0x03, 0xb4, 0x28, 0x00, 0x03, 0xb4, 0xd4, + 0x00, 0x03, 0xb5, 0x34, 0x00, 0x03, 0xb5, 0xa0, 0x00, 0x03, 0xb6, + 0x08, 0x00, 0x03, 0xb6, 0x8c, 0x00, 0x03, 0xb6, 0xc8, 0x00, 0x03, + 0xb7, 0x04, 0x00, 0x03, 0xb7, 0x40, 0x00, 0x03, 0xb7, 0x7c, 0x00, + 0x03, 0xb7, 0xc4, 0x00, 0x03, 0xb8, 0x0c, 0x00, 0x03, 0xb8, 0x54, + 0x00, 0x03, 0xb8, 0x9c, 0x00, 0x03, 0xb8, 0xd8, 0x00, 0x03, 0xb9, + 0x14, 0x00, 0x03, 0xb9, 0x50, 0x00, 0x03, 0xb9, 0x8c, 0x00, 0x03, + 0xb9, 0xd4, 0x00, 0x03, 0xba, 0x1c, 0x00, 0x03, 0xba, 0x64, 0x00, + 0x03, 0xba, 0xac, 0x00, 0x03, 0xba, 0xe8, 0x00, 0x03, 0xbb, 0x24, + 0x00, 0x03, 0xbb, 0x60, 0x00, 0x03, 0xbb, 0x9c, 0x00, 0x03, 0xbb, + 0xe4, 0x00, 0x03, 0xbc, 0x2c, 0x00, 0x03, 0xbc, 0x74, 0x00, 0x03, + 0xbc, 0xbc, 0x00, 0x03, 0xbc, 0xbc, 0x00, 0x03, 0xbc, 0xbc, 0x00, + 0x03, 0xbc, 0xbc, 0x00, 0x03, 0xbc, 0xbc, 0x00, 0x03, 0xbc, 0xbc, + 0x00, 0x03, 0xbc, 0xbc, 0x00, 0x03, 0xbc, 0xbc, 0x00, 0x03, 0xbc, + 0xbc, 0x00, 0x03, 0xbc, 0xec, 0x00, 0x03, 0xbd, 0x94, 0x00, 0x03, + 0xbe, 0x24, 0x00, 0x03, 0xbe, 0xd4, 0x00, 0x03, 0xbf, 0x40, 0x00, + 0x03, 0xbf, 0x84, 0x00, 0x03, 0xc0, 0x30, 0x00, 0x03, 0xc1, 0x14, + 0x00, 0x03, 0xc1, 0x90, 0x00, 0x03, 0xc2, 0x54, 0x00, 0x03, 0xc3, + 0x08, 0x00, 0x03, 0xc3, 0x68, 0x00, 0x03, 0xc4, 0x44, 0x00, 0x03, + 0xc5, 0x08, 0x00, 0x03, 0xc5, 0x8c, 0x00, 0x03, 0xc6, 0x10, 0x00, + 0x03, 0xc6, 0xb4, 0x00, 0x03, 0xc7, 0x6c, 0x00, 0x03, 0xc7, 0xe8, + 0x00, 0x03, 0xc8, 0x64, 0x00, 0x03, 0xc9, 0x00, 0x00, 0x03, 0xc9, + 0xb4, 0x00, 0x03, 0xca, 0x2c, 0x00, 0x03, 0xca, 0xa4, 0x00, 0x03, + 0xcb, 0x44, 0x00, 0x03, 0xcb, 0xf8, 0x00, 0x03, 0xcc, 0x70, 0x00, + 0x03, 0xcc, 0xe8, 0x00, 0x03, 0xcd, 0x84, 0x00, 0x03, 0xce, 0x34, + 0x00, 0x03, 0xce, 0x74, 0x00, 0x03, 0xce, 0xb4, 0x00, 0x03, 0xcf, + 0x08, 0x00, 0x03, 0xcf, 0x5c, 0x00, 0x03, 0xcf, 0xa8, 0x00, 0x03, + 0xd0, 0x1c, 0x00, 0x03, 0xd0, 0x80, 0x00, 0x03, 0xd0, 0xd8, 0x00, + 0x03, 0xd1, 0x0c, 0x00, 0x03, 0xd1, 0x84, 0x00, 0x03, 0xd1, 0xd8, + 0x00, 0x03, 0xd2, 0x14, 0x00, 0x03, 0xd2, 0x50, 0x00, 0x03, 0xd2, + 0x9c, 0x00, 0x03, 0xd2, 0xd4, 0x00, 0x03, 0xd2, 0xfc, 0x00, 0x03, + 0xd3, 0x0c, 0x00, 0x03, 0xd3, 0x58, 0x00, 0x03, 0xd4, 0x34, 0x00, + 0x03, 0xd4, 0xb4, 0x00, 0x03, 0xd5, 0x3c, 0x00, 0x03, 0xd5, 0xe0, + 0x00, 0x02, 0x00, 0x7f, 0x00, 0x00, 0x03, 0x81, 0x02, 0xee, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x06, 0x00, 0x07, 0x03, + 0x00, 0x03, 0x08, 0x09, 0x05, 0x01, 0x06, 0x00, 0x00, 0x2f, 0xcd, + 0x2f, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x33, 0x11, 0x21, 0x11, 0x03, 0x21, 0x11, 0x21, 0x7f, + 0x03, 0x02, 0x81, 0xfe, 0x00, 0x02, 0x00, 0x02, 0xee, 0xfd, 0x12, + 0x02, 0x6d, 0xfe, 0x14, 0x00, 0x00, 0x00, 0x02, 0x02, 0x03, 0x00, + 0x00, 0x02, 0xc9, 0x05, 0x44, 0x00, 0x03, 0x00, 0x07, 0x00, 0x2a, + 0x40, 0x13, 0x03, 0x07, 0x07, 0x02, 0x04, 0x04, 0x08, 0x09, 0x01, + 0x01, 0x02, 0x04, 0x04, 0x05, 0x9d, 0x5b, 0x04, 0x02, 0x03, 0x00, + 0x3f, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x03, 0x33, 0x03, 0x35, 0x33, 0x15, 0x02, 0xb1, 0x94, 0x18, 0xc4, + 0xc6, 0xc2, 0x01, 0x8d, 0x03, 0xb7, 0xfa, 0xbc, 0xc9, 0xc9, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x01, 0x15, 0x03, 0x4d, 0x03, 0xb6, 0x05, + 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x21, 0x40, 0x0e, 0x07, 0x06, + 0x02, 0x03, 0x06, 0x03, 0x08, 0x09, 0x05, 0x00, 0x00, 0x06, 0x02, + 0x00, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0x32, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x03, 0x33, + 0x01, 0x23, 0x03, 0x33, 0x03, 0x8c, 0x8e, 0x28, 0xe0, 0xfe, 0x15, + 0x8d, 0x29, 0xe0, 0x03, 0x4d, 0x02, 0x7f, 0xfd, 0x81, 0x02, 0x7f, + 0x00, 0x00, 0x02, 0x00, 0x36, 0x00, 0x00, 0x04, 0x8b, 0x05, 0x45, + 0x00, 0x1b, 0x00, 0x1f, 0x00, 0xb1, 0x40, 0x6a, 0x08, 0x1d, 0x1c, + 0x15, 0x04, 0x14, 0x09, 0x11, 0x0c, 0x0c, 0x09, 0x12, 0x0f, 0x0e, + 0x0b, 0x04, 0x0a, 0x13, 0x13, 0x14, 0x16, 0x1f, 0x1e, 0x07, 0x04, + 0x06, 0x17, 0x04, 0x01, 0x00, 0x19, 0x04, 0x18, 0x05, 0x05, 0x06, + 0x14, 0x06, 0x0a, 0x21, 0x03, 0x1a, 0x17, 0x03, 0x18, 0x0a, 0x18, + 0x20, 0x21, 0x08, 0x04, 0x0c, 0x0d, 0x0c, 0xaf, 0x59, 0x1d, 0x01, + 0x0d, 0x1c, 0x00, 0x10, 0x11, 0x10, 0xaf, 0x59, 0x19, 0x15, 0x11, + 0x7f, 0x0d, 0x8f, 0x0d, 0x9f, 0x0d, 0x03, 0x4f, 0x0d, 0x5f, 0x0d, + 0x02, 0x4f, 0x11, 0x01, 0x4f, 0x11, 0x5f, 0x11, 0xef, 0x11, 0x03, + 0x11, 0x40, 0x1f, 0x22, 0x48, 0x0d, 0x11, 0x0d, 0x11, 0x05, 0x17, + 0x13, 0x03, 0x0a, 0x05, 0x00, 0x2f, 0x33, 0x3f, 0x33, 0x12, 0x39, + 0x39, 0x2f, 0x2f, 0x2b, 0x5d, 0x71, 0x5d, 0x71, 0x11, 0x33, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x17, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, 0x12, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x17, 0x39, 0x32, 0x32, 0x11, + 0x33, 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x01, 0x03, 0x21, 0x15, + 0x21, 0x03, 0x23, 0x13, 0x21, 0x03, 0x23, 0x13, 0x23, 0x35, 0x33, + 0x13, 0x23, 0x35, 0x21, 0x13, 0x33, 0x03, 0x21, 0x13, 0x33, 0x03, + 0x33, 0x15, 0x21, 0x03, 0x21, 0x13, 0x03, 0xa2, 0x43, 0x01, 0x04, + 0xfe, 0xe5, 0x58, 0x6e, 0x56, 0xfe, 0x95, 0x54, 0x6e, 0x54, 0xc9, + 0xe1, 0x43, 0xf1, 0x01, 0x07, 0x59, 0x6e, 0x58, 0x01, 0x6b, 0x58, + 0x6e, 0x58, 0xd3, 0xfd, 0x40, 0x45, 0x01, 0x6a, 0x43, 0x03, 0x41, + 0xfe, 0xc3, 0x6c, 0xfe, 0x68, 0x01, 0x98, 0xfe, 0x68, 0x01, 0x98, + 0x6c, 0x01, 0x3d, 0x6c, 0x01, 0x98, 0xfe, 0x68, 0x01, 0x98, 0xfe, + 0x68, 0x6c, 0xfe, 0xc3, 0x01, 0x3d, 0x00, 0x00, 0x03, 0x00, 0x42, + 0xff, 0x73, 0x04, 0x7e, 0x05, 0xc4, 0x00, 0x24, 0x00, 0x2c, 0x00, + 0x34, 0x00, 0xa8, 0x40, 0x66, 0x18, 0x20, 0x32, 0x03, 0x04, 0x0c, + 0x15, 0x29, 0x04, 0x04, 0x05, 0x05, 0x2d, 0x12, 0x09, 0x08, 0x08, + 0x25, 0x12, 0x1c, 0x1b, 0x2d, 0x1b, 0x00, 0x12, 0x00, 0x35, 0x36, + 0x1f, 0x2a, 0x15, 0x2a, 0x73, 0x59, 0x31, 0x0d, 0x29, 0x0d, 0x73, + 0x59, 0x20, 0x29, 0x29, 0x15, 0x06, 0x1c, 0x1c, 0x18, 0x15, 0x16, + 0x40, 0x20, 0x27, 0x48, 0x16, 0x40, 0x12, 0x17, 0x48, 0x16, 0x16, + 0x15, 0x06, 0x32, 0x0c, 0x06, 0x0c, 0x73, 0x59, 0x00, 0x09, 0x10, + 0x09, 0x40, 0x09, 0x50, 0x09, 0x60, 0x09, 0x05, 0x40, 0x09, 0x50, + 0x09, 0xa0, 0x09, 0xb0, 0x09, 0xf0, 0x09, 0x05, 0x09, 0x09, 0x06, + 0x90, 0x05, 0x01, 0x05, 0x05, 0x03, 0x06, 0x18, 0x00, 0x3f, 0x33, + 0x33, 0x2f, 0x5d, 0x11, 0x33, 0x2f, 0x5d, 0x71, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x33, 0x2f, 0x2b, 0x2b, 0x11, 0x33, 0x33, 0x2f, + 0x11, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x17, + 0x33, 0x11, 0x17, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x07, 0x15, + 0x23, 0x35, 0x24, 0x03, 0x37, 0x1e, 0x01, 0x17, 0x11, 0x27, 0x2e, + 0x02, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x1e, 0x01, 0x17, + 0x07, 0x2e, 0x01, 0x27, 0x11, 0x1e, 0x03, 0x01, 0x14, 0x1e, 0x01, + 0x17, 0x11, 0x0e, 0x01, 0x01, 0x34, 0x2e, 0x01, 0x27, 0x11, 0x3e, + 0x01, 0x04, 0x7e, 0xf0, 0xe0, 0x80, 0xfe, 0x5a, 0x46, 0xaa, 0x1a, + 0xa0, 0x88, 0x1e, 0xa8, 0x9d, 0x49, 0xdb, 0xd1, 0x80, 0xba, 0xca, + 0x2d, 0xae, 0x16, 0x80, 0x6d, 0xac, 0x9a, 0x5c, 0x2e, 0xfc, 0xb0, + 0x2f, 0x5a, 0x77, 0x7e, 0x82, 0x02, 0xa4, 0x37, 0x64, 0x89, 0x90, + 0x94, 0x01, 0x7c, 0xa2, 0xbd, 0x09, 0xa1, 0xa1, 0x0e, 0x01, 0x59, + 0x25, 0x7e, 0x7d, 0x07, 0x01, 0xe9, 0x08, 0x29, 0x61, 0x88, 0x5e, + 0x95, 0xa7, 0x07, 0x82, 0x82, 0x07, 0x91, 0xa9, 0x21, 0x6a, 0x6c, + 0x07, 0xfe, 0x56, 0x2a, 0x48, 0x5c, 0x79, 0x02, 0x2e, 0x39, 0x4d, + 0x33, 0x1f, 0x01, 0x9d, 0x05, 0x65, 0xfd, 0x2a, 0x42, 0x56, 0x39, + 0x23, 0xfe, 0x29, 0x09, 0x75, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, + 0xf4, 0x04, 0xce, 0x05, 0x51, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x1a, + 0x00, 0x25, 0x00, 0x31, 0x00, 0x5b, 0x40, 0x36, 0x00, 0x01, 0x0f, + 0x06, 0x2c, 0x23, 0x02, 0x03, 0x03, 0x23, 0x06, 0x01, 0x04, 0x0c, + 0x26, 0x1d, 0x1d, 0x15, 0x0c, 0x0c, 0x33, 0x32, 0x1b, 0x29, 0xb6, + 0x59, 0x20, 0x1b, 0xb7, 0x5b, 0x20, 0x2f, 0xb6, 0x59, 0x20, 0x19, + 0x09, 0x18, 0xb6, 0x59, 0x04, 0x09, 0xb7, 0x5b, 0x04, 0x12, 0xb6, + 0x59, 0x04, 0x07, 0x02, 0x06, 0x00, 0x18, 0x00, 0x3f, 0x3f, 0x3f, + 0x2b, 0x2b, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x2b, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x32, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x23, + 0x01, 0x33, 0x25, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x05, 0x20, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x36, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0xdd, 0x91, 0x03, 0xa4, 0x93, 0xfc, 0xa0, + 0x01, 0x1b, 0x92, 0x8d, 0x8d, 0x92, 0x8c, 0x01, 0x1f, 0x3f, 0x4a, + 0x4d, 0x42, 0x42, 0x4c, 0x47, 0x43, 0x02, 0x08, 0x01, 0x1b, 0x92, + 0x8d, 0x8d, 0x92, 0x8c, 0x01, 0x1f, 0x3f, 0x4a, 0x4d, 0x42, 0x42, + 0x4c, 0x47, 0x43, 0x05, 0x49, 0x08, 0xfe, 0xb0, 0xa7, 0xae, 0xac, + 0xa9, 0xa7, 0xa9, 0xfe, 0xb0, 0x77, 0x6d, 0x6a, 0x7a, 0x74, 0x70, + 0x6f, 0xf3, 0xfe, 0xb0, 0xa7, 0xae, 0xac, 0xa9, 0xa7, 0xa9, 0xfe, + 0xb0, 0x77, 0x6d, 0x6a, 0x7a, 0x74, 0x70, 0x6f, 0x00, 0x03, 0x00, + 0x2b, 0xff, 0xec, 0x04, 0xa1, 0x05, 0x4d, 0x00, 0x25, 0x00, 0x31, + 0x00, 0x3b, 0x00, 0x6a, 0x40, 0x43, 0x36, 0x08, 0x2c, 0x0d, 0x26, + 0x13, 0x24, 0x1b, 0x1c, 0x1c, 0x13, 0x1e, 0x03, 0x19, 0x32, 0x17, + 0x2e, 0x34, 0x0a, 0x0d, 0x08, 0x0c, 0x3c, 0x3d, 0x45, 0x32, 0x01, + 0x09, 0x32, 0x01, 0x0b, 0x00, 0x19, 0x10, 0x19, 0x20, 0x19, 0x03, + 0x0f, 0x03, 0x2e, 0x0a, 0x17, 0x34, 0x1b, 0x19, 0x1e, 0x32, 0x03, + 0x09, 0x05, 0x10, 0x10, 0x29, 0x51, 0x59, 0x10, 0x03, 0x21, 0x39, + 0x05, 0x39, 0x51, 0x59, 0x00, 0x05, 0x16, 0x00, 0x3f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, + 0x5f, 0x5e, 0x5d, 0x5e, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x05, 0x22, 0x26, 0x27, 0x06, 0x23, 0x22, 0x26, 0x35, 0x10, 0x25, + 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, + 0x01, 0x07, 0x16, 0x17, 0x36, 0x37, 0x17, 0x06, 0x07, 0x1e, 0x01, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x14, 0x17, 0x3e, 0x02, 0x03, 0x26, 0x27, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x04, 0x30, 0x49, 0x8d, 0x32, 0x99, 0xc2, + 0xc7, 0xdb, 0x01, 0x24, 0x20, 0x2b, 0xb9, 0xa6, 0x92, 0xaf, 0x4f, + 0x95, 0xb3, 0x84, 0x91, 0x58, 0x25, 0x91, 0x2c, 0x76, 0x2b, 0x61, + 0x28, 0x3a, 0x25, 0x30, 0xfe, 0x9b, 0x60, 0x4c, 0x59, 0x6f, 0x3d, + 0xa1, 0x62, 0x34, 0x4a, 0xb4, 0x88, 0xb3, 0x8a, 0x78, 0x40, 0x7d, + 0x0c, 0x46, 0x3b, 0x89, 0xc8, 0xb2, 0x01, 0x0c, 0x97, 0x3c, 0x99, + 0x45, 0x88, 0xa2, 0x90, 0x7b, 0x4b, 0x75, 0x65, 0x4b, 0xe7, 0x9e, + 0xb6, 0xe0, 0x2b, 0xec, 0xe2, 0x36, 0x33, 0x10, 0x87, 0x16, 0x04, + 0x49, 0x46, 0x51, 0x62, 0x52, 0x6e, 0x72, 0x44, 0x3f, 0x4b, 0xfc, + 0xcb, 0xcb, 0xee, 0x61, 0xc7, 0x73, 0x88, 0x37, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xf6, 0x03, 0x4d, 0x02, 0xd6, 0x05, 0xcc, 0x00, 0x03, + 0x00, 0x17, 0x40, 0x09, 0x03, 0x02, 0x02, 0x04, 0x05, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x3f, 0x33, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x23, 0x03, 0x33, 0x02, 0xac, 0x8d, 0x29, + 0xe0, 0x03, 0x4d, 0x02, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x01, 0x56, + 0xfe, 0x57, 0x03, 0x7b, 0x05, 0xcc, 0x00, 0x0d, 0x00, 0x22, 0x40, + 0x0f, 0x0a, 0x0b, 0x0b, 0x04, 0x03, 0x03, 0x00, 0x07, 0x07, 0x0e, + 0x0f, 0x0a, 0x00, 0x04, 0x1b, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x10, 0x12, 0x17, 0x23, 0x26, 0x02, 0x11, 0x10, 0x12, 0x37, + 0x33, 0x06, 0x02, 0x02, 0x11, 0xaa, 0xc0, 0xbe, 0xc0, 0xa7, 0xa4, + 0xc3, 0xbe, 0xc0, 0xaa, 0x02, 0x12, 0xfe, 0xed, 0xfe, 0x44, 0xec, + 0xec, 0x01, 0xbb, 0x01, 0x16, 0x01, 0x11, 0x01, 0xb7, 0xf0, 0xec, + 0xfe, 0x43, 0x00, 0x00, 0x00, 0x01, 0x01, 0x50, 0xfe, 0x57, 0x03, + 0x75, 0x05, 0xcc, 0x00, 0x0d, 0x00, 0x22, 0x40, 0x0f, 0x0b, 0x0a, + 0x0a, 0x03, 0x04, 0x04, 0x07, 0x00, 0x00, 0x0e, 0x0f, 0x0a, 0x00, + 0x03, 0x1b, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, + 0x07, 0x23, 0x36, 0x12, 0x11, 0x10, 0x02, 0x27, 0x33, 0x16, 0x12, + 0x03, 0x75, 0xa5, 0xc0, 0xc0, 0xc4, 0xa8, 0xa8, 0xc4, 0xc0, 0xc3, + 0xa2, 0x02, 0x14, 0xfe, 0xe8, 0xfe, 0x47, 0xec, 0xf1, 0x01, 0xbd, + 0x01, 0x0d, 0x01, 0x0c, 0x01, 0xbd, 0xf1, 0xf0, 0xfe, 0x4c, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xf8, 0x02, 0xfc, 0x03, 0xd4, 0x05, 0xcb, + 0x00, 0x0e, 0x00, 0x63, 0x40, 0x30, 0x0e, 0x0d, 0x0d, 0x0a, 0x02, + 0x0a, 0x02, 0x0f, 0x10, 0x02, 0x0a, 0x0a, 0x01, 0x0b, 0x00, 0x0c, + 0x03, 0x09, 0x04, 0x08, 0x75, 0x0c, 0x85, 0x0c, 0x02, 0x08, 0x06, + 0x09, 0x0c, 0x04, 0x07, 0x7f, 0x0b, 0x8f, 0x0b, 0x02, 0x0b, 0x0b, + 0x0d, 0x05, 0x70, 0x07, 0x80, 0x07, 0x90, 0x07, 0x03, 0x07, 0xb8, + 0xff, 0xc0, 0xb6, 0x09, 0x0c, 0x48, 0x07, 0x07, 0x0d, 0x00, 0x00, + 0x3f, 0x33, 0x2f, 0x2b, 0x5d, 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x12, + 0x17, 0x39, 0x5d, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x25, 0x17, 0x05, 0x17, 0x07, 0x0b, + 0x01, 0x27, 0x37, 0x25, 0x37, 0x05, 0x03, 0x33, 0x02, 0x9f, 0x01, + 0x08, 0x2d, 0xfe, 0xe6, 0xb9, 0x77, 0x96, 0x9c, 0x77, 0xbd, 0xfe, + 0xe8, 0x2d, 0x01, 0x0b, 0x0c, 0x88, 0x04, 0xa4, 0x67, 0x84, 0x49, + 0xfa, 0x48, 0x01, 0x02, 0xff, 0x00, 0x48, 0xf8, 0x49, 0x86, 0x6b, + 0x01, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0x00, 0xb4, 0x04, + 0x57, 0x04, 0x9e, 0x00, 0x0b, 0x00, 0x14, 0x40, 0x09, 0x02, 0x0c, + 0x0d, 0x05, 0x04, 0xad, 0x59, 0x05, 0xb3, 0x00, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x21, 0x35, + 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x02, 0xaf, 0x93, 0xfe, 0x58, + 0x01, 0xa8, 0x93, 0x01, 0xa8, 0x02, 0x60, 0xfe, 0x54, 0x01, 0xac, + 0x92, 0x01, 0xac, 0xfe, 0x54, 0x92, 0x00, 0x01, 0x01, 0x03, 0xfe, + 0x95, 0x02, 0xb5, 0x01, 0x2b, 0x00, 0x03, 0x00, 0x20, 0x40, 0x10, + 0x03, 0x00, 0x01, 0x02, 0x00, 0x02, 0x04, 0x05, 0x01, 0x00, 0x9c, + 0x5b, 0x04, 0x01, 0x9b, 0x5b, 0x00, 0x2b, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x13, 0x21, + 0x01, 0x01, 0x03, 0xa9, 0x01, 0x09, 0xfe, 0xc9, 0xfe, 0x95, 0x02, + 0x96, 0xfd, 0x6a, 0x00, 0x00, 0x01, 0x01, 0x4e, 0x01, 0xd0, 0x03, + 0x7e, 0x02, 0x70, 0x00, 0x03, 0x00, 0x19, 0x40, 0x0c, 0x00, 0x03, + 0x04, 0x05, 0x01, 0x00, 0xba, 0x59, 0x2f, 0x01, 0x01, 0x01, 0x00, + 0x2f, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x31, 0x30, 0x01, + 0x35, 0x21, 0x15, 0x01, 0x4e, 0x02, 0x30, 0x01, 0xd0, 0xa0, 0xa0, + 0x00, 0x00, 0x01, 0x01, 0xf0, 0x00, 0x00, 0x02, 0xdb, 0x01, 0x2b, + 0x00, 0x03, 0x00, 0x17, 0x40, 0x0a, 0x03, 0x00, 0x00, 0x04, 0x05, + 0x00, 0x01, 0x9b, 0x5b, 0x00, 0x00, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x33, 0x11, 0x01, 0xf0, + 0xeb, 0x01, 0x2b, 0xfe, 0xd5, 0x00, 0x01, 0x00, 0x72, 0xff, 0xec, + 0x04, 0x59, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x1c, 0x40, 0x0c, 0x01, + 0x02, 0x03, 0x00, 0x02, 0x00, 0x04, 0x05, 0x03, 0x19, 0x01, 0x00, + 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x17, 0x01, 0x33, 0x01, 0x72, 0x03, 0x35, 0xb2, + 0xfc, 0xcf, 0x14, 0x05, 0xe0, 0xfa, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x7c, 0xff, 0xec, 0x04, 0x4f, 0x05, 0x5a, 0x00, 0x0b, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x54, 0x40, 0x2e, 0x1a, 0x19, 0x0c, + 0x12, 0x12, 0x06, 0x0c, 0x00, 0x06, 0x00, 0x1c, 0x1d, 0x0f, 0x18, + 0x01, 0x0f, 0x18, 0x1f, 0x18, 0x02, 0x0d, 0x18, 0x40, 0x0f, 0x19, + 0x1f, 0x19, 0x02, 0x15, 0x03, 0x19, 0x19, 0x03, 0x09, 0x09, 0x0f, + 0x73, 0x59, 0x09, 0x07, 0x03, 0x15, 0x73, 0x59, 0x03, 0x19, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x5f, 0x5e, 0x5d, 0x1a, 0xcd, 0x5e, 0x5d, 0x71, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, + 0x21, 0x32, 0x12, 0x03, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, + 0x12, 0x33, 0x32, 0x12, 0x25, 0x35, 0x33, 0x15, 0x04, 0x4f, 0xf9, + 0xf3, 0xf3, 0xf4, 0xee, 0x00, 0xff, 0xf9, 0xed, 0xb7, 0x8d, 0xa2, + 0xa6, 0x91, 0x93, 0xa0, 0x9f, 0x94, 0xfe, 0x58, 0xeb, 0x02, 0xa3, + 0xfe, 0xae, 0xfe, 0x9b, 0x01, 0x63, 0x01, 0x54, 0x01, 0x5d, 0x01, + 0x5a, 0xfe, 0xa3, 0xfe, 0xa6, 0x01, 0x22, 0x01, 0x03, 0xff, 0x00, + 0xfe, 0xdb, 0xfe, 0xe3, 0xfe, 0xf9, 0x01, 0x0e, 0x9e, 0xf9, 0xf9, + 0x00, 0x01, 0x00, 0x94, 0x00, 0x00, 0x04, 0x6a, 0x05, 0x45, 0x00, + 0x0e, 0x00, 0x38, 0x40, 0x1d, 0x0d, 0x0c, 0x06, 0x01, 0x0a, 0x01, + 0x0c, 0x03, 0x02, 0x02, 0x0f, 0x10, 0x07, 0x06, 0x73, 0x59, 0x07, + 0x07, 0x03, 0x0a, 0x06, 0x0c, 0x01, 0x00, 0x01, 0x73, 0x59, 0x00, + 0x18, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x33, 0x35, 0x21, 0x11, 0x06, 0x04, 0x23, + 0x35, 0x32, 0x24, 0x37, 0x33, 0x11, 0x21, 0x15, 0x9d, 0x01, 0xb7, + 0x25, 0xfe, 0xeb, 0x86, 0x94, 0x01, 0x07, 0x34, 0xa6, 0x01, 0x61, + 0x91, 0x03, 0xfd, 0x4e, 0x74, 0x94, 0x82, 0x63, 0xfb, 0x4c, 0x91, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x90, 0x00, 0x00, 0x04, 0x3c, 0x05, + 0x5a, 0x00, 0x1c, 0x00, 0x3c, 0x40, 0x1d, 0x1a, 0x00, 0x00, 0x0d, + 0x0e, 0x1c, 0x07, 0x14, 0x0e, 0x14, 0x1d, 0x1e, 0x0d, 0x0d, 0x11, + 0x11, 0x0a, 0x73, 0x59, 0x11, 0x07, 0x01, 0x1a, 0x00, 0x1a, 0x73, + 0x59, 0x00, 0x18, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, + 0x35, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x0e, 0x01, 0x07, 0x21, 0x15, 0x90, 0x31, 0xcf, 0xb2, 0x9f, + 0x8c, 0x8a, 0x80, 0x72, 0x8d, 0x0d, 0xb8, 0x14, 0xee, 0xc2, 0xd5, + 0xee, 0x98, 0x97, 0xce, 0x9f, 0x21, 0x02, 0xd3, 0x75, 0x6d, 0xdd, + 0x8e, 0x7f, 0xbc, 0x57, 0x6f, 0x78, 0x7d, 0x71, 0x11, 0xaa, 0xc7, + 0xc0, 0xb0, 0x73, 0xe5, 0x78, 0xa4, 0x9b, 0x49, 0x92, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x80, 0xff, 0xec, 0x04, 0x4b, 0x05, 0x5a, 0x00, + 0x2a, 0x00, 0x76, 0x40, 0x41, 0x27, 0x24, 0x12, 0x12, 0x06, 0x2c, + 0x1d, 0x1e, 0x1e, 0x07, 0x06, 0x17, 0x24, 0x24, 0x0c, 0x00, 0x06, + 0x00, 0x2b, 0x2c, 0x27, 0x12, 0x11, 0x12, 0x11, 0x73, 0x59, 0x0f, + 0x12, 0x01, 0x17, 0x03, 0x12, 0x12, 0x03, 0x21, 0x1d, 0x1d, 0x21, + 0x21, 0x1a, 0x73, 0x59, 0x21, 0x07, 0x03, 0x09, 0x73, 0x59, 0x40, + 0x07, 0x90, 0x07, 0x02, 0x40, 0x07, 0x90, 0x07, 0xf0, 0x07, 0x03, + 0x07, 0x07, 0x03, 0x19, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x71, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, + 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x30, + 0x01, 0x14, 0x06, 0x23, 0x22, 0x24, 0x27, 0x37, 0x16, 0x21, 0x32, + 0x36, 0x35, 0x34, 0x2e, 0x01, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x3e, + 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x04, + 0x4b, 0xfc, 0xe2, 0xd6, 0xff, 0x00, 0x17, 0xba, 0x24, 0x01, 0x0f, + 0x88, 0x9b, 0x5b, 0x9c, 0x61, 0x66, 0x62, 0x56, 0x8f, 0x52, 0x85, + 0x83, 0x77, 0x93, 0x0c, 0xb5, 0x14, 0xf7, 0xc2, 0xd4, 0xeb, 0x9e, + 0x89, 0x97, 0xb7, 0x01, 0x72, 0xba, 0xcc, 0xc2, 0xbc, 0x11, 0xfa, + 0x7e, 0x79, 0x4b, 0x67, 0x37, 0x9c, 0x39, 0x68, 0x47, 0x6a, 0x77, + 0x7a, 0x6f, 0x0e, 0xad, 0xc2, 0xbb, 0xa7, 0x77, 0xb0, 0x1c, 0x04, + 0x11, 0xb2, 0x00, 0x02, 0x00, 0x67, 0x00, 0x00, 0x04, 0x65, 0x05, + 0x45, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x46, 0x40, 0x27, 0x0c, 0x05, + 0x0d, 0x06, 0x02, 0x08, 0x09, 0x02, 0x03, 0x01, 0x05, 0x01, 0x0e, + 0x0f, 0x00, 0x04, 0x0c, 0x04, 0x73, 0x59, 0x08, 0x05, 0x0f, 0x0c, + 0x1f, 0x0c, 0x2f, 0x0c, 0x6f, 0x0c, 0x04, 0x0c, 0x0c, 0x01, 0x0b, + 0x06, 0x06, 0x01, 0x18, 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x5d, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x11, 0x23, 0x11, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, 0x15, + 0x09, 0x01, 0x21, 0x03, 0xa9, 0xb4, 0xfd, 0x72, 0x02, 0x7b, 0xc7, + 0xbc, 0xfe, 0x90, 0xfe, 0x0c, 0x01, 0xf4, 0x01, 0x3f, 0xfe, 0xc1, + 0x01, 0x3f, 0x8c, 0x03, 0x7a, 0xfc, 0x88, 0x8e, 0x03, 0x43, 0xfd, + 0x4b, 0x00, 0x00, 0x01, 0x00, 0x80, 0xff, 0xec, 0x04, 0x4b, 0x05, + 0x45, 0x00, 0x1d, 0x00, 0x58, 0x40, 0x2d, 0x19, 0x18, 0x13, 0x13, + 0x15, 0x14, 0x14, 0x08, 0x07, 0x0d, 0x16, 0x00, 0x07, 0x00, 0x1e, + 0x1f, 0x14, 0x19, 0x73, 0x59, 0x14, 0x14, 0x1b, 0x1b, 0x10, 0x73, + 0x59, 0x1b, 0x1b, 0x04, 0x15, 0x15, 0x18, 0x73, 0x59, 0x15, 0x06, + 0x04, 0x0a, 0x73, 0x59, 0x08, 0x08, 0x04, 0x19, 0x00, 0x3f, 0x33, + 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x14, 0x0e, 0x01, 0x23, 0x22, + 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x23, 0x13, 0x21, 0x15, 0x21, 0x03, 0x36, 0x33, + 0x32, 0x16, 0x04, 0x4b, 0x76, 0xe3, 0x9b, 0xc5, 0xf2, 0x20, 0xb6, + 0x39, 0xec, 0x8d, 0xa8, 0xa6, 0x8b, 0x49, 0x7e, 0x3f, 0xb0, 0x2f, + 0x03, 0x21, 0xfd, 0x85, 0x1d, 0x75, 0xae, 0xcc, 0xfb, 0x01, 0xbc, + 0x8b, 0xd2, 0x73, 0xac, 0xa3, 0x15, 0xd1, 0xa8, 0x91, 0x7c, 0x9e, + 0x2e, 0x37, 0x02, 0xd8, 0x91, 0xfe, 0x57, 0x5a, 0xeb, 0x00, 0x00, + 0x02, 0x00, 0x97, 0xff, 0xec, 0x04, 0x48, 0x05, 0x5a, 0x00, 0x16, + 0x00, 0x23, 0x00, 0x5b, 0x40, 0x32, 0x11, 0x1e, 0x1e, 0x06, 0x0c, + 0x0b, 0x0b, 0x17, 0x00, 0x06, 0x00, 0x24, 0x25, 0x14, 0x1a, 0x73, + 0x59, 0x5f, 0x14, 0x01, 0x00, 0x14, 0x10, 0x14, 0x02, 0x0a, 0x03, + 0x14, 0x14, 0x03, 0x09, 0x09, 0x0e, 0x73, 0x59, 0x0f, 0x0c, 0x01, + 0x11, 0x03, 0x0c, 0x0c, 0x09, 0x07, 0x03, 0x21, 0x73, 0x59, 0x03, + 0x19, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, + 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x02, 0x11, 0x10, 0x00, 0x33, 0x20, 0x13, 0x07, 0x26, 0x23, + 0x22, 0x02, 0x15, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, + 0x23, 0x22, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x04, + 0x48, 0xf3, 0xd4, 0xec, 0xfe, 0x01, 0x08, 0xf0, 0x01, 0x3f, 0x53, + 0xac, 0x35, 0xb3, 0x99, 0xaa, 0x31, 0xb2, 0x73, 0xc0, 0xe8, 0xb7, + 0x99, 0x83, 0x4a, 0x84, 0x4b, 0xa1, 0x7e, 0x7f, 0x97, 0x01, 0xbe, + 0xd4, 0xfe, 0x01, 0x59, 0x01, 0x3d, 0x01, 0x5c, 0x01, 0x7c, 0xfe, + 0xe1, 0x1f, 0xac, 0xfe, 0xea, 0xfb, 0x5b, 0x5f, 0xed, 0xce, 0x90, + 0xa0, 0x43, 0x77, 0x4b, 0x98, 0xcc, 0xa8, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x9e, 0x00, 0x00, 0x04, 0x2d, 0x05, 0x45, 0x00, 0x09, 0x00, + 0x2c, 0x40, 0x15, 0x02, 0x03, 0x03, 0x07, 0x0b, 0x06, 0x00, 0x07, + 0x00, 0x0a, 0x0b, 0x00, 0x07, 0x08, 0x07, 0x73, 0x59, 0x08, 0x06, + 0x02, 0x18, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x00, 0x11, 0x23, 0x10, 0x12, 0x13, 0x21, 0x35, 0x21, + 0x04, 0x2d, 0xfe, 0x27, 0xbc, 0xf5, 0xf2, 0xfd, 0x1f, 0x03, 0x8f, + 0x04, 0xba, 0xfd, 0x58, 0xfd, 0xee, 0x01, 0x07, 0x02, 0x61, 0x01, + 0x4c, 0x91, 0x00, 0x03, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, + 0x5a, 0x00, 0x1b, 0x00, 0x26, 0x00, 0x32, 0x00, 0x6a, 0x40, 0x39, + 0x18, 0x15, 0x2d, 0x0a, 0x27, 0x0d, 0x1c, 0x15, 0x22, 0x0d, 0x0d, + 0x2d, 0x06, 0x15, 0x27, 0x00, 0x06, 0x00, 0x33, 0x34, 0x00, 0x11, + 0x10, 0x11, 0x02, 0x0f, 0x03, 0x1f, 0x03, 0x02, 0x10, 0x05, 0x18, + 0x0a, 0x0a, 0x25, 0x2a, 0x25, 0x2a, 0x73, 0x59, 0x25, 0x25, 0x03, + 0x11, 0x11, 0x1f, 0x73, 0x59, 0x11, 0x07, 0x03, 0x30, 0x73, 0x59, + 0x03, 0x19, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x33, + 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, + 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x20, + 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x46, 0xf9, 0xe7, 0xe2, 0xff, 0x9e, 0x7b, 0x70, 0x88, + 0x6f, 0xca, 0x83, 0x89, 0xcc, 0x6c, 0x8a, 0x70, 0x82, 0x9b, 0xde, + 0x87, 0x7f, 0x7b, 0x89, 0x8a, 0x7c, 0x01, 0x04, 0x23, 0x9c, 0x8d, + 0x88, 0x9b, 0x97, 0x92, 0x93, 0x90, 0x01, 0x7a, 0xb8, 0xd6, 0xd2, + 0xba, 0x81, 0xb5, 0x15, 0x04, 0x1b, 0xae, 0x70, 0x62, 0xa0, 0x58, + 0x59, 0x9e, 0x65, 0x71, 0xae, 0x16, 0x04, 0x15, 0xb1, 0x01, 0xf5, + 0x6f, 0x71, 0x72, 0x6e, 0x6f, 0x7a, 0xfe, 0x80, 0x78, 0x81, 0x8b, + 0x72, 0x87, 0x8d, 0x8a, 0x00, 0x00, 0x02, 0x00, 0x8d, 0xff, 0xec, + 0x04, 0x3f, 0x05, 0x5a, 0x00, 0x16, 0x00, 0x23, 0x00, 0x5f, 0x40, + 0x38, 0x07, 0x06, 0x06, 0x1d, 0x12, 0x0c, 0x17, 0x17, 0x00, 0x12, + 0x00, 0x24, 0x25, 0x0f, 0x20, 0x73, 0x59, 0x0c, 0x0f, 0x0f, 0x1f, + 0x0f, 0x9f, 0x0f, 0xaf, 0x0f, 0xef, 0x0f, 0xff, 0x0f, 0x06, 0x0a, + 0x03, 0x0f, 0x0f, 0x03, 0x15, 0x15, 0x1a, 0x73, 0x59, 0x15, 0x07, + 0x03, 0x09, 0x73, 0x59, 0x70, 0x07, 0x80, 0x07, 0x02, 0x07, 0x07, + 0x03, 0x19, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, + 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x12, 0x37, 0x0e, 0x01, 0x23, + 0x22, 0x02, 0x35, 0x34, 0x36, 0x33, 0x20, 0x03, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x04, 0x3f, + 0xfe, 0xf6, 0xf4, 0xa5, 0xc7, 0x2b, 0xac, 0x36, 0xb8, 0x9a, 0xad, + 0x02, 0x28, 0xc2, 0x74, 0xbd, 0xe5, 0xfb, 0xda, 0x01, 0xdd, 0xc4, + 0xa0, 0x7f, 0x82, 0x96, 0x96, 0x80, 0x4c, 0x87, 0x4e, 0x02, 0xbf, + 0xfe, 0xa6, 0xfe, 0x87, 0x8b, 0x9b, 0x1b, 0xb0, 0x01, 0x17, 0xf6, + 0x5a, 0x6d, 0x00, 0xff, 0xcd, 0xd4, 0xf7, 0xfe, 0x04, 0xa1, 0xc9, + 0xae, 0x8b, 0x8f, 0xaf, 0x45, 0x7b, 0x00, 0x00, 0x00, 0x02, 0x01, + 0xf0, 0x00, 0x00, 0x02, 0xdb, 0x04, 0x3a, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x27, 0x40, 0x13, 0x06, 0x03, 0x05, 0x03, 0x00, 0x00, 0x09, + 0x08, 0x05, 0x04, 0x9b, 0x5b, 0x05, 0x0f, 0x00, 0x01, 0x9b, 0x5b, + 0x00, 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x33, + 0x11, 0x03, 0x11, 0x33, 0x11, 0x01, 0xf0, 0xeb, 0xeb, 0xeb, 0x01, + 0x2b, 0xfe, 0xd5, 0x03, 0x0f, 0x01, 0x2b, 0xfe, 0xd5, 0x00, 0x00, + 0x00, 0x02, 0x01, 0x60, 0xfe, 0x95, 0x03, 0x12, 0x04, 0x3a, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x30, 0x40, 0x1a, 0x02, 0x01, 0x01, 0x06, + 0x07, 0x04, 0x05, 0x06, 0x04, 0x06, 0x08, 0x09, 0x05, 0x04, 0x9c, + 0x5b, 0x08, 0x05, 0x9b, 0x5b, 0x01, 0x00, 0x9b, 0x5b, 0x01, 0x0f, + 0x00, 0x3f, 0x2b, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x33, 0x11, 0x01, 0x13, 0x21, 0x01, 0x01, 0xf0, 0xeb, 0xfe, 0x85, + 0xa9, 0x01, 0x09, 0xfe, 0xc9, 0x03, 0x0f, 0x01, 0x2b, 0xfe, 0xd5, + 0xfb, 0x86, 0x02, 0x96, 0xfd, 0x6a, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x74, 0x00, 0x9a, 0x04, 0x57, 0x04, 0xaa, 0x00, 0x06, 0x00, 0x3b, + 0x40, 0x20, 0x04, 0x00, 0x02, 0x06, 0x00, 0x06, 0x07, 0x08, 0x01, + 0x00, 0x04, 0x04, 0x02, 0x05, 0x3f, 0x06, 0x6f, 0x06, 0x7f, 0x06, + 0x03, 0x06, 0x40, 0x12, 0x15, 0x48, 0x06, 0x03, 0x0f, 0x02, 0x01, + 0x02, 0x00, 0x2f, 0x5d, 0x33, 0x2f, 0x2b, 0x5d, 0x33, 0x12, 0x39, + 0x3d, 0x2f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x01, 0x15, 0x09, 0x01, 0x15, + 0x74, 0x03, 0xe3, 0xfc, 0xa6, 0x03, 0x5a, 0x02, 0x3b, 0xcd, 0x01, + 0xa2, 0x9a, 0xfe, 0x92, 0xfe, 0x91, 0x99, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x74, 0x01, 0x58, 0x04, 0x57, 0x03, 0xec, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x56, 0x40, 0x3b, 0x04, 0x01, 0x07, 0x02, 0x01, 0x02, + 0x08, 0x09, 0x04, 0x05, 0xad, 0x59, 0x0f, 0x04, 0x6f, 0x04, 0x8f, + 0x04, 0x9f, 0x04, 0xaf, 0x04, 0x05, 0x1a, 0x03, 0x04, 0x40, 0x12, + 0x16, 0x48, 0x04, 0x01, 0x00, 0xad, 0x59, 0x30, 0x01, 0x50, 0x01, + 0x60, 0x01, 0x70, 0x01, 0x04, 0x50, 0x01, 0x70, 0x01, 0x80, 0x01, + 0xb0, 0x01, 0xd0, 0x01, 0x05, 0x0f, 0x01, 0x01, 0x01, 0x00, 0x2f, + 0x5d, 0x5d, 0x71, 0x2b, 0x00, 0x18, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x35, 0x21, 0x15, 0x01, 0x35, 0x21, 0x15, 0x74, 0x03, + 0xe3, 0xfc, 0x1d, 0x03, 0xe3, 0x03, 0x58, 0x94, 0x94, 0xfe, 0x00, + 0x94, 0x94, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 0x00, 0x9a, + 0x04, 0x57, 0x04, 0xaa, 0x00, 0x06, 0x00, 0x39, 0x40, 0x1f, 0x04, + 0x00, 0x02, 0x06, 0x00, 0x06, 0x07, 0x08, 0x06, 0x05, 0x02, 0x02, + 0x03, 0x0f, 0x04, 0x01, 0x04, 0x01, 0x3f, 0x00, 0x6f, 0x00, 0x7f, + 0x00, 0x03, 0x00, 0x40, 0x12, 0x15, 0x48, 0x00, 0x00, 0x2f, 0x2b, + 0x5d, 0x32, 0x2f, 0x5d, 0x33, 0x39, 0x3d, 0x2f, 0x33, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x37, + 0x35, 0x09, 0x01, 0x35, 0x01, 0x15, 0x74, 0x03, 0x5a, 0xfc, 0xa6, + 0x03, 0xe3, 0x9a, 0x99, 0x01, 0x6f, 0x01, 0x6e, 0x9a, 0xfe, 0x5e, + 0xcd, 0x00, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x00, 0x04, 0x31, 0x05, + 0x5a, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x45, 0x40, 0x21, 0x08, 0x21, + 0x21, 0x09, 0x1e, 0x1e, 0x00, 0x17, 0x18, 0x11, 0x00, 0x18, 0x00, + 0x22, 0x23, 0x09, 0x09, 0x1b, 0x1e, 0x1e, 0x1f, 0x9d, 0x5b, 0x1e, + 0x17, 0x17, 0x1b, 0x1b, 0x14, 0x5f, 0x59, 0x1b, 0x04, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x07, 0x23, 0x3e, 0x02, 0x37, + 0x3e, 0x02, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, + 0x24, 0x33, 0x32, 0x04, 0x01, 0x35, 0x33, 0x15, 0x04, 0x31, 0x2c, + 0x53, 0x5c, 0x6e, 0x47, 0x29, 0x01, 0xaf, 0x02, 0x2d, 0x4f, 0x5f, + 0x6b, 0x43, 0x28, 0x9f, 0x88, 0x87, 0xa9, 0x0e, 0xb8, 0x1a, 0x01, + 0x0b, 0xcf, 0xdf, 0x01, 0x00, 0xfd, 0x8f, 0xc3, 0x03, 0xea, 0x49, + 0x72, 0x61, 0x42, 0x50, 0x4a, 0x56, 0x37, 0x46, 0x6f, 0x5d, 0x47, + 0x4e, 0x4a, 0x55, 0x37, 0x6d, 0x75, 0x92, 0x7e, 0x0c, 0xc5, 0xd5, + 0xc1, 0xfb, 0x67, 0xc9, 0xc9, 0x00, 0x00, 0x02, 0x00, 0x2c, 0xfe, + 0xe5, 0x04, 0xa5, 0x05, 0xcc, 0x00, 0x3c, 0x00, 0x49, 0x00, 0x8f, + 0x40, 0x52, 0x18, 0x1b, 0x17, 0x3d, 0x1b, 0x03, 0x05, 0x2d, 0x2e, + 0x44, 0x0e, 0x0e, 0x05, 0x2e, 0x03, 0x35, 0x20, 0x00, 0x27, 0x35, + 0x00, 0x35, 0x4a, 0x4b, 0x1d, 0x46, 0x0b, 0x46, 0xd6, 0x59, 0x07, + 0x03, 0x0b, 0x12, 0x40, 0xd6, 0x59, 0x17, 0x17, 0x09, 0x15, 0x01, + 0x0a, 0x15, 0x12, 0x0f, 0x0b, 0x1f, 0x0b, 0x5f, 0x0b, 0x6f, 0x0b, + 0x7f, 0x0b, 0x05, 0x0b, 0x00, 0x12, 0x01, 0x0c, 0x03, 0x2d, 0x0b, + 0x12, 0x12, 0x0b, 0x2d, 0x03, 0x31, 0x39, 0x39, 0x23, 0xd5, 0x59, + 0x39, 0x00, 0x31, 0x2a, 0xd5, 0x59, 0x31, 0x00, 0x2f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, + 0x2f, 0x5f, 0x5e, 0x5d, 0x5e, 0x5d, 0x11, 0x33, 0x5e, 0x5d, 0x33, + 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x10, 0x02, 0x23, 0x22, 0x3d, 0x01, 0x37, 0x23, 0x0e, 0x01, + 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x36, 0x33, 0x32, 0x16, 0x17, + 0x33, 0x37, 0x33, 0x03, 0x06, 0x15, 0x14, 0x33, 0x32, 0x12, 0x35, + 0x10, 0x02, 0x23, 0x22, 0x06, 0x02, 0x15, 0x10, 0x12, 0x33, 0x32, + 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x02, 0x35, 0x10, + 0x12, 0x24, 0x33, 0x32, 0x16, 0x12, 0x05, 0x34, 0x26, 0x23, 0x22, + 0x0e, 0x01, 0x15, 0x10, 0x33, 0x32, 0x36, 0x12, 0x04, 0xa5, 0xa5, + 0x8c, 0x8f, 0x02, 0x06, 0x22, 0x7b, 0x4e, 0x6a, 0x77, 0x61, 0xa7, + 0x67, 0x47, 0x5b, 0x16, 0x05, 0x20, 0x74, 0x63, 0x28, 0x31, 0x4e, + 0x63, 0xda, 0xb4, 0x94, 0xe4, 0x7c, 0xe8, 0xca, 0x5e, 0xae, 0x65, + 0x47, 0x73, 0xd8, 0x77, 0xa5, 0xfb, 0x86, 0x9a, 0x01, 0x1e, 0xbc, + 0x9e, 0xe9, 0x7e, 0xfe, 0x62, 0x46, 0x3b, 0x3f, 0x6a, 0x41, 0x72, + 0x4a, 0x76, 0x39, 0x02, 0xf3, 0xfe, 0xd6, 0xfe, 0x9f, 0x9d, 0x08, + 0x1e, 0x58, 0x6b, 0xc8, 0xb9, 0xa1, 0x01, 0x1e, 0xa5, 0x53, 0x5a, + 0x97, 0xfe, 0x05, 0xd2, 0x44, 0x58, 0x01, 0x2a, 0xf9, 0x01, 0x12, + 0x01, 0x55, 0xd7, 0xfe, 0x7a, 0xf9, 0xfe, 0xcb, 0xfe, 0x8e, 0x46, + 0x58, 0x57, 0x63, 0x5a, 0xc2, 0x01, 0x6d, 0xee, 0x01, 0x1e, 0x01, + 0xbb, 0xf1, 0xb5, 0xfe, 0xb5, 0xbc, 0x6a, 0x6d, 0x85, 0xf3, 0x84, + 0xfe, 0xe7, 0xbe, 0x01, 0x3a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x04, 0xcc, 0x05, 0x45, 0x00, 0x07, 0x00, 0x0d, 0x00, + 0x53, 0x40, 0x2a, 0x0b, 0x02, 0x03, 0x0c, 0x01, 0x00, 0x06, 0x05, + 0x08, 0x08, 0x04, 0x00, 0x07, 0x07, 0x03, 0x04, 0x04, 0x0f, 0x0e, + 0x07, 0x01, 0x02, 0x0b, 0x02, 0x5f, 0x59, 0x0c, 0x0b, 0x0b, 0x5a, + 0x08, 0x01, 0x4b, 0x08, 0x01, 0x08, 0x06, 0x05, 0x03, 0x04, 0x00, + 0x12, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x33, 0x5d, 0x5d, 0x39, 0x2f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x32, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x12, + 0x39, 0x39, 0x12, 0x39, 0x39, 0x31, 0x30, 0x21, 0x03, 0x21, 0x03, + 0x23, 0x01, 0x33, 0x09, 0x01, 0x0f, 0x01, 0x03, 0x21, 0x03, 0x04, + 0x0a, 0x8a, 0xfd, 0xcd, 0x89, 0xc4, 0x01, 0xfe, 0xd9, 0x01, 0xf5, + 0xfd, 0x9c, 0x0c, 0x45, 0x97, 0x01, 0xcf, 0xad, 0x01, 0x7e, 0xfe, + 0x82, 0x05, 0x45, 0xfa, 0xbb, 0x04, 0xb5, 0x27, 0xd4, 0xfe, 0x59, + 0x01, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x80, 0x05, 0x45, 0x00, 0x0d, 0x00, 0x15, 0x00, 0x1e, 0x00, + 0x50, 0x40, 0x28, 0x0b, 0x1b, 0x0e, 0x08, 0x08, 0x04, 0x00, 0x13, + 0x1b, 0x1b, 0x04, 0x16, 0x00, 0x04, 0x00, 0x1f, 0x20, 0x0b, 0x13, + 0x1a, 0x13, 0x1a, 0x5f, 0x59, 0x13, 0x13, 0x04, 0x05, 0x05, 0x12, + 0x5f, 0x59, 0x05, 0x03, 0x04, 0x1b, 0x5f, 0x59, 0x04, 0x12, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x04, 0x23, 0x21, 0x11, 0x21, + 0x20, 0x11, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x01, 0x34, 0x26, 0x2b, + 0x01, 0x11, 0x33, 0x20, 0x13, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x21, + 0x32, 0x36, 0x04, 0x80, 0xfe, 0xee, 0xf4, 0xfe, 0x28, 0x01, 0x9c, + 0x01, 0xf0, 0x90, 0x7c, 0xa7, 0xb7, 0xfe, 0xee, 0x97, 0x97, 0xdf, + 0xe1, 0x01, 0x2c, 0x51, 0xb2, 0xb0, 0xfc, 0x01, 0x0a, 0xaf, 0xa5, + 0x01, 0x7c, 0xb4, 0xc8, 0x05, 0x45, 0xfe, 0xb9, 0x7a, 0xa4, 0x19, + 0x12, 0xb2, 0x01, 0xe3, 0x6b, 0x5b, 0xfe, 0x60, 0xfe, 0x81, 0x72, + 0x78, 0xfe, 0x22, 0x79, 0x00, 0x00, 0x00, 0x01, 0x00, 0x71, 0xff, + 0xec, 0x04, 0x76, 0x05, 0x5a, 0x00, 0x16, 0x00, 0x65, 0x40, 0x3f, + 0x11, 0x10, 0x10, 0x06, 0x07, 0x07, 0x18, 0x00, 0x0c, 0x0c, 0x17, + 0x18, 0x00, 0x0e, 0x10, 0x0e, 0x02, 0x0f, 0x09, 0x1f, 0x09, 0x02, + 0x0d, 0x05, 0x0e, 0x14, 0x5f, 0x59, 0x11, 0x11, 0x0e, 0x04, 0x00, + 0x06, 0x30, 0x06, 0x40, 0x06, 0x03, 0x00, 0x06, 0x50, 0x06, 0xa0, + 0x06, 0xb0, 0x06, 0xe0, 0x06, 0xf0, 0x06, 0x06, 0x0c, 0x03, 0x06, + 0x06, 0x09, 0x09, 0x03, 0x5f, 0x59, 0x09, 0x13, 0x00, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x3f, 0x33, + 0x2f, 0x2b, 0x00, 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x10, 0x12, 0x33, 0x32, 0x36, 0x37, 0x17, 0x02, 0x21, 0x20, + 0x00, 0x11, 0x10, 0x21, 0x20, 0x13, 0x07, 0x2e, 0x01, 0x23, 0x22, + 0x02, 0x01, 0x3a, 0xab, 0xb0, 0x65, 0xa4, 0x39, 0x9f, 0x95, 0xfe, + 0xb2, 0xfe, 0xf9, 0xfe, 0xe5, 0x02, 0x18, 0x01, 0x53, 0x7f, 0xa8, + 0x25, 0x9d, 0x67, 0xab, 0xa5, 0x02, 0xa9, 0xfe, 0xef, 0xfe, 0xef, + 0x89, 0x91, 0x41, 0xfe, 0x8c, 0x01, 0x6a, 0x01, 0x53, 0x02, 0xb1, + 0xfe, 0xb1, 0x41, 0x71, 0x83, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0xa2, + 0x00, 0x00, 0x04, 0x65, 0x05, 0x45, 0x00, 0x08, 0x00, 0x11, 0x00, + 0x28, 0x40, 0x14, 0x0e, 0x04, 0x09, 0x00, 0x04, 0x00, 0x12, 0x13, + 0x05, 0x0d, 0x5f, 0x59, 0x05, 0x03, 0x04, 0x0e, 0x5f, 0x59, 0x04, + 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x00, + 0x29, 0x01, 0x11, 0x21, 0x20, 0x00, 0x03, 0x10, 0x26, 0x2b, 0x01, + 0x11, 0x33, 0x32, 0x12, 0x04, 0x65, 0xfe, 0xcd, 0xfe, 0xe2, 0xfe, + 0x8e, 0x01, 0x37, 0x01, 0x49, 0x01, 0x43, 0xc0, 0xdc, 0xef, 0x79, + 0xa2, 0xd4, 0xce, 0x02, 0xb0, 0xfe, 0xb5, 0xfe, 0x9b, 0x05, 0x45, + 0xfe, 0xb7, 0xfe, 0xb4, 0x01, 0x08, 0xf1, 0xfb, 0xf3, 0x01, 0x0a, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x05, + 0x45, 0x00, 0x0b, 0x00, 0x57, 0x40, 0x36, 0x05, 0x09, 0x09, 0x00, + 0x03, 0x0a, 0x0a, 0x07, 0x00, 0x03, 0x0c, 0x0d, 0x05, 0x08, 0x5f, + 0x59, 0x1f, 0x05, 0x2f, 0x05, 0x02, 0x0f, 0x05, 0x2f, 0x05, 0x3f, + 0x05, 0x5f, 0x05, 0x7f, 0x05, 0xaf, 0x05, 0xdf, 0x05, 0x07, 0x1f, + 0x03, 0x05, 0x05, 0x00, 0x01, 0x01, 0x04, 0x5f, 0x59, 0x01, 0x03, + 0x00, 0x09, 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x71, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, + 0x15, 0x21, 0x11, 0x21, 0x15, 0xa2, 0x03, 0x97, 0xfd, 0x28, 0x02, + 0x9c, 0xfd, 0x64, 0x03, 0x01, 0x05, 0x45, 0x9c, 0xfe, 0x5a, 0x9a, + 0xfe, 0x33, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc2, 0x00, + 0x00, 0x04, 0x3d, 0x05, 0x45, 0x00, 0x09, 0x00, 0x4c, 0x40, 0x2f, + 0x01, 0x05, 0x05, 0x06, 0x08, 0x02, 0x06, 0x03, 0x0a, 0x0b, 0x01, + 0x04, 0x5f, 0x59, 0x0f, 0x01, 0x4f, 0x01, 0x5f, 0x01, 0x03, 0x0f, + 0x01, 0x3f, 0x01, 0x6f, 0x01, 0x03, 0x0c, 0x03, 0x01, 0x40, 0x15, + 0x29, 0x48, 0x01, 0x01, 0x05, 0x07, 0x07, 0x00, 0x5f, 0x59, 0x07, + 0x03, 0x05, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, 0x72, 0x2b, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, + 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x01, 0x81, 0x02, 0xa4, + 0xfd, 0x5c, 0xbf, 0x03, 0x7b, 0x04, 0xa9, 0xfe, 0x12, 0x9e, 0xfd, + 0xe3, 0x05, 0x45, 0x9c, 0x00, 0x00, 0x01, 0x00, 0x71, 0xff, 0xec, + 0x04, 0x4f, 0x05, 0x5a, 0x00, 0x19, 0x00, 0x50, 0x40, 0x0e, 0x17, + 0x1b, 0x10, 0x05, 0x0b, 0x0a, 0x15, 0x0a, 0x00, 0x05, 0x00, 0x1a, + 0x1b, 0x08, 0xb8, 0xff, 0xf0, 0x40, 0x19, 0x0d, 0x11, 0x48, 0x18, + 0x17, 0x5f, 0x59, 0x18, 0x18, 0x02, 0x08, 0x08, 0x0d, 0x5f, 0x59, + 0x0b, 0x0b, 0x08, 0x04, 0x02, 0x12, 0x5f, 0x59, 0x02, 0x13, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x00, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, + 0x25, 0x06, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x21, 0x20, 0x13, + 0x07, 0x26, 0x23, 0x22, 0x06, 0x11, 0x10, 0x21, 0x32, 0x36, 0x37, + 0x11, 0x21, 0x35, 0x21, 0x04, 0x4d, 0xe5, 0xe9, 0xfa, 0xfe, 0xec, + 0x01, 0x08, 0x01, 0x09, 0x01, 0x5a, 0x73, 0xab, 0x50, 0xd0, 0xa9, + 0xa1, 0x01, 0x55, 0x44, 0x92, 0x2e, 0xfe, 0xdb, 0x01, 0xdf, 0x85, + 0x99, 0x01, 0x73, 0x01, 0x4a, 0x01, 0x5b, 0x01, 0x56, 0xfe, 0xb5, + 0x38, 0xe7, 0xfc, 0xfe, 0xe7, 0xfd, 0xde, 0x2a, 0x20, 0x01, 0x50, + 0xa0, 0x00, 0x01, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x45, + 0x00, 0x0b, 0x00, 0x3b, 0x40, 0x20, 0x07, 0x03, 0x03, 0x04, 0x08, + 0x00, 0x00, 0x0b, 0x04, 0x0b, 0x0c, 0x0d, 0x07, 0x02, 0x5f, 0x59, + 0x50, 0x07, 0x01, 0xa0, 0x07, 0xb0, 0x07, 0x02, 0x07, 0x07, 0x09, + 0x05, 0x03, 0x04, 0x00, 0x12, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x39, + 0x2f, 0x5d, 0x71, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x21, + 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x03, 0x6b, + 0xfd, 0xf6, 0xbf, 0xbf, 0x02, 0x0a, 0xbf, 0x02, 0x6f, 0xfd, 0x91, + 0x05, 0x45, 0xfd, 0xca, 0x02, 0x36, 0xfa, 0xbb, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x05, 0x45, 0x00, 0x0b, + 0x00, 0x39, 0x40, 0x1c, 0x06, 0x01, 0x01, 0x04, 0x07, 0x00, 0x04, + 0x00, 0x09, 0x09, 0x0c, 0x0d, 0x04, 0x08, 0x07, 0x08, 0x5f, 0x59, + 0x07, 0x12, 0x03, 0x0b, 0x00, 0x0b, 0x5f, 0x59, 0x00, 0x03, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, + 0x21, 0x35, 0x21, 0x11, 0x21, 0xca, 0x03, 0x37, 0xfe, 0xc4, 0x01, + 0x3c, 0xfc, 0xc9, 0x01, 0x3c, 0xfe, 0xc4, 0x05, 0x45, 0x9c, 0xfb, + 0xf3, 0x9c, 0x9c, 0x04, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xb0, 0xff, 0xec, 0x03, 0xda, 0x05, 0x45, 0x00, 0x10, 0x00, 0x30, + 0x40, 0x18, 0x0e, 0x12, 0x07, 0x06, 0x0c, 0x00, 0x06, 0x00, 0x11, + 0x12, 0x0f, 0x0e, 0x5f, 0x59, 0x0f, 0x03, 0x03, 0x0a, 0x5f, 0x59, + 0x07, 0x07, 0x03, 0x13, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, + 0x37, 0x1e, 0x01, 0x33, 0x32, 0x19, 0x01, 0x21, 0x35, 0x21, 0x03, + 0xda, 0xd2, 0xbe, 0xab, 0xcc, 0x23, 0xbb, 0x12, 0x75, 0x59, 0xd1, + 0xfe, 0xc9, 0x01, 0xf5, 0x01, 0xa4, 0xd1, 0xe7, 0xb2, 0xc0, 0x1f, + 0x76, 0x80, 0x01, 0x19, 0x03, 0x09, 0x9c, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xa2, 0x00, 0x00, 0x04, 0xcb, 0x05, 0x45, 0x00, 0x0b, + 0x00, 0x48, 0x40, 0x26, 0x08, 0x09, 0x09, 0x0a, 0x01, 0x03, 0x00, + 0x0b, 0x07, 0x03, 0x03, 0x04, 0x0b, 0x04, 0x0c, 0x0d, 0x01, 0x20, + 0x0b, 0x11, 0x48, 0x02, 0x07, 0x0a, 0x01, 0x76, 0x07, 0x86, 0x07, + 0x02, 0x07, 0x01, 0x08, 0x05, 0x03, 0x04, 0x00, 0x12, 0x00, 0x3f, + 0x32, 0x3f, 0x33, 0x39, 0x39, 0x5d, 0x11, 0x33, 0x11, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x39, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x01, 0x07, + 0x11, 0x23, 0x11, 0x33, 0x11, 0x01, 0x33, 0x09, 0x01, 0x03, 0xeb, + 0xfe, 0x19, 0xa3, 0xbf, 0xbf, 0x02, 0x3c, 0xe1, 0xfe, 0x08, 0x02, + 0x45, 0x02, 0x7e, 0xa9, 0xfe, 0x2b, 0x05, 0x45, 0xfd, 0x5f, 0x02, + 0xa1, 0xfd, 0xc4, 0xfc, 0xf7, 0x00, 0x00, 0x01, 0x00, 0xed, 0x00, + 0x00, 0x04, 0x4c, 0x05, 0x45, 0x00, 0x05, 0x00, 0x1f, 0x40, 0x0e, + 0x03, 0x00, 0x00, 0x05, 0x06, 0x07, 0x01, 0x03, 0x00, 0x03, 0x5f, + 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, + 0x21, 0x15, 0xed, 0xbf, 0x02, 0xa0, 0x05, 0x45, 0xfb, 0x57, 0x9c, + 0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4b, 0x05, 0x45, 0x00, + 0x18, 0x00, 0x48, 0x40, 0x16, 0x16, 0x00, 0x00, 0x18, 0x08, 0x07, + 0x13, 0x10, 0x0d, 0x0d, 0x0e, 0x0e, 0x13, 0x18, 0x03, 0x1a, 0x19, + 0x04, 0x0b, 0x0b, 0x0f, 0x13, 0xb8, 0xff, 0xc0, 0x40, 0x0c, 0x0e, + 0x11, 0x48, 0x13, 0x08, 0x08, 0x16, 0x0f, 0x03, 0x0e, 0x00, 0x12, + 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, + 0x34, 0x3f, 0x01, 0x06, 0x07, 0x03, 0x23, 0x03, 0x26, 0x27, 0x13, + 0x11, 0x23, 0x11, 0x33, 0x13, 0x16, 0x17, 0x3f, 0x01, 0x13, 0x33, + 0x11, 0x03, 0xa9, 0x03, 0x03, 0x40, 0x1f, 0xa4, 0x89, 0xa6, 0x12, + 0x4e, 0x04, 0xa0, 0xed, 0xb9, 0x15, 0x2f, 0x1a, 0x2c, 0xb9, 0xe1, + 0x03, 0x64, 0x87, 0x42, 0x64, 0xce, 0x55, 0xfe, 0x4a, 0x01, 0xb6, + 0x2e, 0xf5, 0xfe, 0xd3, 0xfc, 0x9c, 0x05, 0x45, 0xfe, 0x17, 0x35, + 0xb2, 0x5a, 0x8c, 0x01, 0xea, 0xfa, 0xbb, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x45, 0x00, 0x0d, + 0x00, 0x44, 0x40, 0x26, 0x07, 0x04, 0x04, 0x05, 0x00, 0x0b, 0x0b, + 0x0c, 0x05, 0x0c, 0x0e, 0x0f, 0x0b, 0x8c, 0x01, 0x01, 0x7a, 0x01, + 0x01, 0x69, 0x01, 0x01, 0x01, 0x06, 0x03, 0x83, 0x08, 0x01, 0x75, + 0x08, 0x01, 0x66, 0x08, 0x01, 0x08, 0x00, 0x05, 0x12, 0x00, 0x3f, + 0x33, 0x33, 0x5d, 0x5d, 0x5d, 0x3f, 0x33, 0x5d, 0x5d, 0x5d, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x21, 0x01, 0x16, 0x15, 0x11, 0x23, 0x11, + 0x33, 0x01, 0x26, 0x35, 0x11, 0x33, 0x11, 0x03, 0x44, 0xfd, 0xf8, + 0x10, 0xaa, 0xde, 0x02, 0x10, 0x12, 0xac, 0x04, 0x6a, 0xac, 0x52, + 0xfc, 0x94, 0x05, 0x45, 0xfb, 0x8e, 0x90, 0x82, 0x03, 0x60, 0xfa, + 0xbb, 0x00, 0x00, 0x02, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x05, + 0x5a, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x28, 0x40, 0x14, 0x10, 0x06, + 0x0c, 0x00, 0x06, 0x00, 0x16, 0x17, 0x09, 0x0e, 0x5f, 0x59, 0x09, + 0x04, 0x03, 0x13, 0x5f, 0x59, 0x03, 0x13, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 0x10, + 0x00, 0x33, 0x32, 0x00, 0x03, 0x10, 0x21, 0x20, 0x11, 0x10, 0x12, + 0x33, 0x32, 0x12, 0x04, 0x66, 0xfe, 0xf7, 0xf8, 0xf9, 0xfe, 0xfa, + 0x01, 0x04, 0xfd, 0xf7, 0x01, 0x08, 0xc9, 0xfe, 0xca, 0xfe, 0xc8, + 0x9e, 0x99, 0xa3, 0x94, 0x02, 0xa9, 0xfe, 0xaf, 0xfe, 0x94, 0x01, + 0x66, 0x01, 0x57, 0x01, 0x51, 0x01, 0x60, 0xfe, 0xa5, 0xfe, 0xaa, + 0x02, 0x15, 0xfd, 0xeb, 0xfe, 0xf2, 0xfe, 0xec, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x5f, 0x05, + 0x45, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x34, 0x40, 0x1a, 0x0c, 0x00, + 0x10, 0x06, 0x06, 0x07, 0x00, 0x07, 0x15, 0x14, 0x05, 0x10, 0x5f, + 0x59, 0x05, 0x05, 0x06, 0x08, 0x08, 0x0f, 0x5f, 0x59, 0x08, 0x03, + 0x06, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x0e, 0x01, 0x23, 0x21, 0x11, + 0x23, 0x11, 0x21, 0x32, 0x04, 0x07, 0x34, 0x21, 0x23, 0x11, 0x33, + 0x32, 0x36, 0x04, 0x5f, 0x77, 0xdd, 0x91, 0xfe, 0xe7, 0xbf, 0x01, + 0xcc, 0xee, 0x01, 0x03, 0xc0, 0xfe, 0xb8, 0xf6, 0xfe, 0x95, 0xab, + 0x03, 0xb1, 0x7d, 0xc4, 0x6e, 0xfd, 0xfe, 0x05, 0x45, 0xd5, 0xc2, + 0xfe, 0xfd, 0xed, 0x92, 0x00, 0x00, 0x02, 0x00, 0x66, 0xfe, 0x7d, + 0x04, 0x71, 0x05, 0x5a, 0x00, 0x16, 0x00, 0x20, 0x00, 0x43, 0x40, + 0x24, 0x03, 0x0e, 0x0e, 0x00, 0x1b, 0x11, 0x08, 0x17, 0x00, 0x00, + 0x0e, 0x11, 0x03, 0x21, 0x22, 0x14, 0x19, 0x5f, 0x59, 0x14, 0x04, + 0x0e, 0x1e, 0x5f, 0x59, 0x03, 0x0e, 0x13, 0x0b, 0x06, 0x60, 0x59, + 0x5f, 0x0b, 0x01, 0x0b, 0x00, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x10, 0x02, 0x07, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x15, 0x06, + 0x23, 0x22, 0x26, 0x27, 0x26, 0x02, 0x11, 0x10, 0x00, 0x33, 0x32, + 0x00, 0x03, 0x10, 0x21, 0x20, 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, + 0x04, 0x66, 0xc5, 0xb7, 0x29, 0x86, 0x65, 0x37, 0x3c, 0x5d, 0x55, + 0x96, 0xc3, 0x3f, 0xdb, 0xe6, 0x01, 0x04, 0xfd, 0xf7, 0x01, 0x08, + 0xc9, 0xfe, 0xca, 0xfe, 0xc8, 0x9e, 0x99, 0xa3, 0x94, 0x02, 0xa9, + 0xfe, 0xde, 0xfe, 0xa1, 0x2c, 0x7e, 0x72, 0x0d, 0x86, 0x16, 0xa9, + 0xca, 0x16, 0x01, 0x63, 0x01, 0x40, 0x01, 0x51, 0x01, 0x60, 0xfe, + 0xa5, 0xfe, 0xaa, 0x02, 0x15, 0xfd, 0xeb, 0xfe, 0xf2, 0xfe, 0xec, + 0x01, 0x18, 0x00, 0x02, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x99, 0x05, + 0x45, 0x00, 0x0d, 0x00, 0x15, 0x00, 0x5f, 0x40, 0x35, 0x00, 0x0d, + 0x0d, 0x09, 0x01, 0x0c, 0x0c, 0x03, 0x0e, 0x09, 0x12, 0x03, 0x03, + 0x04, 0x09, 0x04, 0x17, 0x16, 0x0c, 0x02, 0x12, 0x02, 0x5f, 0x59, + 0x4f, 0x12, 0x01, 0x0f, 0x12, 0x3f, 0x12, 0x6f, 0x12, 0xbf, 0x12, + 0xef, 0x12, 0x05, 0x0c, 0x03, 0x12, 0x12, 0x00, 0x05, 0x05, 0x11, + 0x5f, 0x59, 0x05, 0x03, 0x04, 0x00, 0x12, 0x00, 0x3f, 0x32, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x01, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x07, 0x01, 0x03, 0x34, 0x29, 0x01, 0x11, + 0x21, 0x32, 0x36, 0x03, 0xbd, 0xfe, 0x92, 0xee, 0xbf, 0x01, 0xe2, + 0xe9, 0xf4, 0xbb, 0x9d, 0x01, 0x90, 0xf8, 0xfe, 0xd0, 0xfe, 0xf0, + 0x01, 0x18, 0x8f, 0x99, 0x02, 0x3f, 0xfd, 0xc1, 0x05, 0x45, 0xc1, + 0xb4, 0x95, 0xcc, 0x1a, 0xfd, 0xab, 0x03, 0xcd, 0xdf, 0xfe, 0x2a, + 0x80, 0x00, 0x00, 0x01, 0x00, 0x4f, 0xff, 0xec, 0x04, 0x68, 0x05, + 0x5a, 0x00, 0x2c, 0x00, 0x4a, 0x40, 0x28, 0x06, 0x05, 0x22, 0x16, + 0x1d, 0x1c, 0x0c, 0x00, 0x00, 0x1c, 0x16, 0x05, 0x04, 0x2d, 0x2e, + 0x22, 0x0c, 0x19, 0x03, 0x19, 0x20, 0x60, 0x59, 0x1d, 0x1d, 0x19, + 0x04, 0x03, 0x09, 0x5f, 0x59, 0x40, 0x06, 0x50, 0x06, 0x02, 0x06, + 0x06, 0x03, 0x13, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x14, 0x04, 0x23, 0x20, 0x03, 0x37, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x02, 0x27, 0x2e, 0x03, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x20, + 0x15, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x04, 0x04, 0x68, 0xfe, 0xf3, + 0xf9, 0xfe, 0x37, 0x4a, 0xb9, 0x1c, 0xb0, 0x93, 0x9f, 0xa5, 0x41, + 0x6a, 0x85, 0x44, 0xa1, 0x89, 0x52, 0x2a, 0xf3, 0xe3, 0xd4, 0xe0, + 0x2c, 0xbc, 0x18, 0x90, 0x7d, 0xfe, 0xe5, 0x35, 0x5b, 0x79, 0x45, + 0x8b, 0x7a, 0x5f, 0x44, 0x27, 0x01, 0x72, 0xb8, 0xce, 0x01, 0x66, + 0x25, 0x81, 0x75, 0x7c, 0x72, 0x46, 0x58, 0x38, 0x23, 0x11, 0x2a, + 0x42, 0x55, 0x6e, 0x4a, 0xad, 0xbb, 0x94, 0xb0, 0x21, 0x70, 0x65, + 0xd5, 0x3c, 0x4b, 0x31, 0x20, 0x12, 0x23, 0x2f, 0x3c, 0x52, 0x6e, + 0x00, 0x00, 0x01, 0x00, 0x4c, 0x00, 0x00, 0x04, 0x80, 0x05, 0x45, + 0x00, 0x07, 0x00, 0x26, 0x40, 0x12, 0x07, 0x01, 0x01, 0x04, 0x02, + 0x02, 0x08, 0x09, 0x00, 0x04, 0x05, 0x04, 0x5f, 0x59, 0x05, 0x03, + 0x01, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x02, 0xc5, 0xbe, 0xfe, 0x45, + 0x04, 0x34, 0x04, 0xa9, 0xfb, 0x57, 0x04, 0xa9, 0x9c, 0x9c, 0x00, + 0x00, 0x01, 0x00, 0x8e, 0xff, 0xec, 0x04, 0x3d, 0x05, 0x45, 0x00, + 0x11, 0x00, 0x25, 0x40, 0x11, 0x09, 0x06, 0x0f, 0x00, 0x06, 0x00, + 0x12, 0x13, 0x10, 0x07, 0x03, 0x03, 0x0c, 0x5f, 0x59, 0x03, 0x13, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x06, 0x23, + 0x22, 0x26, 0x19, 0x01, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x11, 0x33, 0x04, 0x3d, 0xe4, 0xfc, 0xf4, 0xdb, 0xbf, 0x75, + 0x9a, 0xa1, 0x82, 0xbe, 0x01, 0xea, 0xfe, 0xf5, 0xf3, 0xeb, 0x01, + 0x01, 0x03, 0x6d, 0xfc, 0xad, 0xcc, 0x9f, 0xa4, 0xd4, 0x03, 0x46, + 0x00, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x04, 0xc2, 0x05, 0x45, + 0x00, 0x0a, 0x00, 0x32, 0x40, 0x19, 0x03, 0x01, 0x00, 0x06, 0x06, + 0x02, 0x09, 0x0a, 0x02, 0x0a, 0x0b, 0x0c, 0x09, 0x02, 0x03, 0x55, + 0x06, 0x01, 0x44, 0x06, 0x01, 0x06, 0x00, 0x01, 0x12, 0x00, 0x3f, + 0x33, 0x33, 0x5d, 0x5d, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x32, 0x31, 0x30, 0x21, + 0x23, 0x01, 0x33, 0x01, 0x16, 0x17, 0x36, 0x37, 0x01, 0x33, 0x02, + 0xc9, 0xc6, 0xfe, 0x07, 0xc9, 0x01, 0x40, 0x1f, 0x35, 0x28, 0x2c, + 0x01, 0x3e, 0xc9, 0x05, 0x45, 0xfc, 0x7a, 0x56, 0xc1, 0x95, 0x82, + 0x03, 0x86, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x05, + 0x45, 0x00, 0x17, 0x00, 0x5b, 0x40, 0x31, 0x08, 0x07, 0x0d, 0x11, + 0x10, 0x04, 0x01, 0x00, 0x14, 0x14, 0x04, 0x0d, 0x09, 0x04, 0x16, + 0x17, 0x0a, 0x09, 0x09, 0x17, 0x18, 0x19, 0x04, 0x2f, 0x10, 0x4f, + 0x10, 0x5f, 0x10, 0x03, 0x10, 0x10, 0x0d, 0x16, 0x09, 0x03, 0x14, + 0x0d, 0x24, 0x0d, 0x01, 0x0d, 0x08, 0x00, 0x01, 0x01, 0x07, 0x08, + 0x12, 0x00, 0x3f, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x5d, 0x11, + 0x33, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x0a, + 0x01, 0x27, 0x0e, 0x01, 0x03, 0x23, 0x03, 0x33, 0x13, 0x16, 0x17, + 0x3e, 0x01, 0x13, 0x33, 0x16, 0x12, 0x17, 0x1b, 0x01, 0x33, 0x03, + 0xfa, 0xd0, 0x4a, 0x4d, 0x2b, 0x1d, 0x31, 0x77, 0xd0, 0xd3, 0xbd, + 0x6d, 0x10, 0x11, 0x20, 0x2b, 0x7a, 0xaf, 0x45, 0x4f, 0x31, 0x23, + 0x68, 0xbd, 0x01, 0x14, 0x01, 0x20, 0xc0, 0x7d, 0xca, 0xfe, 0x53, + 0x05, 0x45, 0xfc, 0xbd, 0x83, 0xd7, 0x8a, 0xb4, 0x01, 0xbd, 0xfd, + 0xfe, 0xde, 0xdc, 0x01, 0x5a, 0x03, 0x43, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa9, 0x05, 0x45, 0x00, 0x0b, + 0x00, 0x40, 0x40, 0x21, 0x03, 0x06, 0x00, 0x09, 0x04, 0x04, 0x01, + 0x02, 0x0b, 0x0a, 0x02, 0x0a, 0x08, 0x05, 0x04, 0x07, 0x08, 0x04, + 0x08, 0x0d, 0x0c, 0x00, 0x09, 0x03, 0x06, 0x04, 0x01, 0x08, 0x04, + 0x12, 0x0a, 0x01, 0x03, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x17, + 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x17, 0x39, 0x31, 0x30, + 0x09, 0x01, 0x33, 0x09, 0x01, 0x23, 0x09, 0x01, 0x23, 0x09, 0x01, + 0x33, 0x02, 0x66, 0x01, 0x4d, 0xcd, 0xfe, 0x4d, 0x01, 0xdc, 0xcd, + 0xfe, 0x8a, 0xfe, 0x8b, 0xcd, 0x01, 0xdc, 0xfe, 0x4d, 0xcd, 0x03, + 0x44, 0x02, 0x01, 0xfd, 0x7c, 0xfd, 0x3f, 0x02, 0x3d, 0xfd, 0xc3, + 0x02, 0xc1, 0x02, 0x84, 0x00, 0x00, 0x00, 0x01, 0x00, 0x24, 0x00, + 0x00, 0x04, 0xa8, 0x05, 0x45, 0x00, 0x08, 0x00, 0x3e, 0x40, 0x21, + 0x05, 0x04, 0x07, 0x08, 0x08, 0x06, 0x01, 0x04, 0x01, 0x02, 0x02, + 0x0a, 0x09, 0x06, 0x03, 0x40, 0x00, 0x50, 0x00, 0x60, 0x00, 0x03, + 0x3f, 0x00, 0x01, 0x00, 0x00, 0x01, 0x07, 0x04, 0x03, 0x01, 0x12, + 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x5d, 0x33, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x12, 0x39, 0x32, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x01, 0x33, + 0x09, 0x01, 0x33, 0x02, 0xc4, 0xbc, 0xfe, 0x1c, 0xcd, 0x01, 0x76, + 0x01, 0x74, 0xcd, 0x02, 0x48, 0xfd, 0xb8, 0x02, 0x48, 0x02, 0xfd, + 0xfd, 0x9d, 0x02, 0x63, 0x00, 0x01, 0x00, 0x49, 0x00, 0x00, 0x04, + 0x83, 0x05, 0x45, 0x00, 0x09, 0x00, 0x35, 0x40, 0x1a, 0x04, 0x08, + 0x02, 0x09, 0x03, 0x07, 0x02, 0x07, 0x0a, 0x0b, 0x07, 0x04, 0x05, + 0x04, 0x5f, 0x59, 0x05, 0x03, 0x02, 0x08, 0x01, 0x08, 0x5f, 0x59, + 0x01, 0x12, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x29, 0x01, 0x35, 0x01, 0x21, 0x35, + 0x21, 0x15, 0x01, 0x21, 0x04, 0x83, 0xfb, 0xc6, 0x03, 0x32, 0xfd, + 0x17, 0x03, 0xc2, 0xfc, 0xce, 0x03, 0x61, 0x8f, 0x04, 0x1a, 0x9c, + 0x8b, 0xfb, 0xe2, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9a, 0xfe, 0x57, + 0x03, 0xbd, 0x05, 0xcc, 0x00, 0x07, 0x00, 0x28, 0x40, 0x14, 0x02, + 0x07, 0x07, 0x05, 0x00, 0x00, 0x08, 0x09, 0x01, 0x04, 0xf5, 0x59, + 0x01, 0x00, 0x00, 0x05, 0xf5, 0x59, 0x00, 0x1b, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, + 0x15, 0x01, 0x9a, 0x02, 0x23, 0xfe, 0x91, 0x01, 0x6f, 0xfe, 0x57, + 0x07, 0x75, 0x8b, 0xf9, 0xa1, 0x8b, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x73, 0xff, 0xec, 0x04, 0x5a, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x1c, + 0x40, 0x0c, 0x02, 0x01, 0x00, 0x03, 0x01, 0x03, 0x04, 0x05, 0x02, + 0x00, 0x00, 0x19, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x01, 0x33, 0x01, 0x03, + 0xa4, 0xfc, 0xcf, 0xb2, 0x03, 0x35, 0x14, 0x05, 0xe0, 0xfa, 0x20, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x0e, 0xfe, 0x57, 0x03, 0x31, 0x05, + 0xcc, 0x00, 0x07, 0x00, 0x28, 0x40, 0x14, 0x04, 0x00, 0x00, 0x02, + 0x07, 0x07, 0x08, 0x09, 0x05, 0x04, 0xf5, 0x59, 0x05, 0x00, 0x00, + 0x01, 0xf5, 0x59, 0x00, 0x1b, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x01, 0x0e, + 0x01, 0x6f, 0xfe, 0x91, 0x02, 0x23, 0xfe, 0x57, 0x8b, 0x06, 0x5f, + 0x8b, 0xf8, 0x8b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x85, 0x01, 0xba, + 0x04, 0x46, 0x05, 0x45, 0x00, 0x06, 0x00, 0x31, 0x40, 0x18, 0x05, + 0x04, 0x01, 0x01, 0x06, 0x02, 0x03, 0x00, 0x06, 0x03, 0x06, 0x07, + 0x08, 0x02, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0x02, 0x01, 0x04, + 0x03, 0x00, 0x3f, 0x33, 0x5d, 0x33, 0x2f, 0x32, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x09, 0x02, 0x23, 0x01, 0x33, 0x01, 0x03, 0xac, 0xfe, + 0xb7, 0xfe, 0xba, 0x98, 0x01, 0x7a, 0xcb, 0x01, 0x7c, 0x01, 0xba, + 0x03, 0x23, 0xfc, 0xdd, 0x03, 0x8b, 0xfc, 0x75, 0x00, 0x00, 0x01, + 0xff, 0xfb, 0xff, 0x24, 0x04, 0xd1, 0xff, 0x84, 0x00, 0x03, 0x00, + 0x15, 0x40, 0x09, 0x03, 0x05, 0x00, 0x04, 0x01, 0x00, 0xbb, 0x59, + 0x01, 0x00, 0x2f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x07, 0x35, 0x21, 0x15, 0x05, 0x04, 0xd6, 0xdc, 0x60, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x92, 0x04, 0xb1, 0x03, 0x3a, 0x05, + 0xb4, 0x00, 0x05, 0x00, 0x18, 0x40, 0x0b, 0x04, 0x01, 0x01, 0x06, + 0x07, 0x00, 0x03, 0x8c, 0x5b, 0x00, 0x93, 0x00, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x25, 0x35, 0x33, + 0x17, 0x15, 0x02, 0xbe, 0xfe, 0xd4, 0xc5, 0xe3, 0x04, 0xb1, 0xe6, + 0x1d, 0xef, 0x14, 0x00, 0x02, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, + 0x04, 0x4e, 0x00, 0x22, 0x00, 0x2f, 0x00, 0x64, 0x40, 0x3a, 0x2d, + 0x0f, 0x19, 0x1a, 0x12, 0x08, 0x27, 0x27, 0x20, 0x20, 0x1a, 0x0f, + 0x03, 0x30, 0x31, 0x12, 0x28, 0x51, 0x59, 0x12, 0x12, 0x0c, 0x1c, + 0x0f, 0x19, 0x6f, 0x19, 0xdf, 0x19, 0xef, 0x19, 0xff, 0x19, 0x05, + 0x0b, 0x03, 0x19, 0x19, 0x1c, 0x1c, 0x16, 0x50, 0x59, 0x1c, 0x10, + 0x0c, 0x23, 0x50, 0x59, 0x05, 0x00, 0x51, 0x59, 0x05, 0x05, 0x08, + 0x0c, 0x16, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0x2b, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, + 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, 0x0e, 0x01, 0x23, + 0x22, 0x26, 0x35, 0x10, 0x25, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x12, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, + 0x25, 0x32, 0x3e, 0x01, 0x3d, 0x01, 0x07, 0x0e, 0x02, 0x15, 0x14, + 0x16, 0x04, 0x4d, 0x1a, 0x21, 0x44, 0x47, 0x64, 0x5b, 0x06, 0x06, + 0x41, 0xb1, 0x82, 0x9e, 0xa0, 0x01, 0xc6, 0xec, 0x6a, 0x74, 0x76, + 0x68, 0x0a, 0xbc, 0x2e, 0x01, 0x79, 0xc8, 0xc9, 0x2a, 0xfd, 0xda, + 0x60, 0x94, 0x52, 0xbe, 0x76, 0x7c, 0x45, 0x59, 0x6f, 0x07, 0x70, + 0x10, 0x69, 0x70, 0x79, 0x6a, 0xac, 0x96, 0x01, 0x5d, 0x05, 0x04, + 0x3b, 0x83, 0x73, 0x54, 0x58, 0x11, 0x01, 0x24, 0xbb, 0xb1, 0xfe, + 0x2e, 0x50, 0x51, 0x06, 0x5c, 0x9a, 0x52, 0x59, 0x04, 0x02, 0x30, + 0x63, 0x52, 0x52, 0x64, 0x00, 0x00, 0x02, 0x00, 0xb3, 0xff, 0xec, + 0x04, 0x42, 0x05, 0xcc, 0x00, 0x15, 0x00, 0x21, 0x00, 0x38, 0x40, + 0x1d, 0x1c, 0x05, 0x0e, 0x0e, 0x0d, 0x16, 0x00, 0x0d, 0x00, 0x22, + 0x23, 0x14, 0x19, 0x50, 0x59, 0x11, 0x14, 0x10, 0x0d, 0x00, 0x0a, + 0x15, 0x03, 0x1f, 0x50, 0x59, 0x05, 0x03, 0x16, 0x00, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x01, 0x10, 0x02, 0x23, 0x22, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, + 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x42, 0xcb, 0xbd, 0xf4, 0x5a, 0x02, 0x07, 0x02, 0xae, + 0x06, 0xb4, 0x04, 0x04, 0x5b, 0xf3, 0x01, 0x87, 0xba, 0x7b, 0x83, + 0x95, 0x88, 0x84, 0x97, 0x87, 0x79, 0x02, 0x22, 0xfe, 0xe4, 0xfe, + 0xe6, 0xb8, 0x30, 0x68, 0x0c, 0x36, 0xa9, 0x04, 0xed, 0xfe, 0x59, + 0x41, 0x5c, 0xc8, 0xfd, 0xcc, 0xe0, 0xc9, 0xdb, 0xde, 0xd1, 0xca, + 0xd1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x82, 0xff, 0xec, 0x04, + 0x38, 0x04, 0x4e, 0x00, 0x1a, 0x00, 0x68, 0x40, 0x1e, 0x0d, 0x00, + 0x07, 0x06, 0x06, 0x13, 0x14, 0x00, 0x14, 0x1b, 0x1c, 0x70, 0x13, + 0x01, 0x00, 0x13, 0x10, 0x13, 0x60, 0x13, 0x70, 0x13, 0x80, 0x13, + 0xc0, 0x13, 0x06, 0x09, 0x03, 0x13, 0xb8, 0xff, 0xc0, 0x40, 0x20, + 0x1b, 0x1e, 0x48, 0x13, 0x13, 0x18, 0x18, 0x10, 0x50, 0x59, 0x18, + 0x16, 0x03, 0x0a, 0x50, 0x59, 0x1f, 0x07, 0x7f, 0x07, 0x8f, 0x07, + 0x03, 0x07, 0x40, 0x1b, 0x1e, 0x48, 0x07, 0x07, 0x03, 0x10, 0x00, + 0x3f, 0x33, 0x2f, 0x2b, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, 0x71, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x10, 0x00, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, + 0x0e, 0x02, 0x23, 0x22, 0x00, 0x82, 0x01, 0x02, 0xf4, 0xb6, 0xec, + 0x1c, 0xc0, 0x10, 0x80, 0x76, 0x9e, 0x93, 0x93, 0x9d, 0x6c, 0x8e, + 0x11, 0xbe, 0x0d, 0x77, 0xc4, 0x79, 0xf5, 0xff, 0x00, 0x02, 0x1e, + 0x01, 0x0e, 0x01, 0x22, 0xaf, 0x94, 0x0e, 0x5b, 0x69, 0xc4, 0xdb, + 0xde, 0xcd, 0x6a, 0x6d, 0x0c, 0x60, 0x9d, 0x59, 0x01, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x8a, 0xff, 0xe6, 0x04, 0x19, 0x05, + 0xcc, 0x00, 0x16, 0x00, 0x22, 0x00, 0x3a, 0x40, 0x1d, 0x17, 0x06, + 0x1d, 0x00, 0x0e, 0x0e, 0x0f, 0x06, 0x0f, 0x23, 0x24, 0x13, 0x15, + 0x0e, 0x00, 0x08, 0x20, 0x50, 0x59, 0x0b, 0x08, 0x10, 0x03, 0x1a, + 0x50, 0x59, 0x00, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, + 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, + 0x33, 0x27, 0x11, 0x33, 0x11, 0x14, 0x17, 0x23, 0x2e, 0x01, 0x35, + 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x03, 0x5e, 0x31, 0xa2, 0x79, 0xca, 0xbe, 0x01, 0x88, 0x79, + 0xa3, 0x31, 0x02, 0x02, 0xb4, 0x06, 0xac, 0x04, 0x06, 0xfd, 0xe1, + 0x77, 0x86, 0x92, 0x8c, 0x87, 0x95, 0x87, 0x78, 0xae, 0x69, 0x5f, + 0x01, 0x16, 0x01, 0x18, 0x02, 0x36, 0x56, 0x62, 0x97, 0x01, 0xa3, + 0xfb, 0x13, 0xa9, 0x36, 0x0f, 0x74, 0x2b, 0x01, 0x6c, 0xde, 0xcb, + 0xd3, 0xe6, 0xd7, 0xc4, 0xce, 0x00, 0x02, 0x00, 0x85, 0xff, 0xec, + 0x04, 0x46, 0x04, 0x4e, 0x00, 0x14, 0x00, 0x1a, 0x00, 0x4f, 0x40, + 0x2c, 0x18, 0x00, 0x00, 0x0d, 0x06, 0x07, 0x19, 0x13, 0x13, 0x07, + 0x0d, 0x03, 0x1b, 0x1c, 0x18, 0x00, 0x50, 0x59, 0x18, 0x18, 0x0a, + 0x10, 0x10, 0x15, 0x50, 0x59, 0x10, 0x10, 0x0a, 0x03, 0x50, 0x59, + 0xdf, 0x06, 0xef, 0x06, 0x02, 0x80, 0x06, 0x01, 0x06, 0x06, 0x0a, + 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x5d, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, + 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x15, + 0x01, 0x22, 0x06, 0x07, 0x21, 0x02, 0x01, 0x42, 0xa1, 0x8c, 0x67, + 0x9b, 0x1a, 0x9e, 0x2c, 0xeb, 0xa3, 0xec, 0xfe, 0xf9, 0xeb, 0xeb, + 0xf2, 0xfe, 0x25, 0x86, 0x9c, 0x05, 0x02, 0x48, 0x1c, 0x01, 0xf7, + 0xb6, 0xce, 0x59, 0x4d, 0x2d, 0x7c, 0x84, 0x01, 0x26, 0x01, 0x12, + 0x01, 0x0b, 0x01, 0x1f, 0xfe, 0xe2, 0xfe, 0xdf, 0x18, 0x01, 0xd2, + 0xaf, 0x99, 0x01, 0x48, 0x00, 0x00, 0x01, 0x00, 0x8a, 0x00, 0x00, + 0x04, 0x4b, 0x05, 0xcc, 0x00, 0x18, 0x00, 0x33, 0x40, 0x1a, 0x16, + 0x01, 0x01, 0x06, 0x02, 0x02, 0x0d, 0x19, 0x1a, 0x0a, 0x11, 0x50, + 0x59, 0x0a, 0x00, 0x00, 0x04, 0x05, 0x04, 0x50, 0x59, 0x16, 0x05, + 0x0f, 0x01, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x01, 0x23, + 0x22, 0x0e, 0x01, 0x1d, 0x01, 0x21, 0x15, 0x02, 0x44, 0xb4, 0xfe, + 0xfa, 0x01, 0x06, 0xc1, 0xe1, 0x48, 0xa7, 0x2a, 0x1e, 0xb7, 0x2f, + 0x68, 0x6a, 0x31, 0x01, 0xeb, 0x03, 0xac, 0xfc, 0x54, 0x03, 0xac, + 0x8e, 0x19, 0xcd, 0xac, 0x0d, 0x08, 0x91, 0x05, 0x0c, 0x2e, 0x68, + 0x5d, 0x0a, 0x8e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8f, 0xfe, 0x58, + 0x04, 0x1e, 0x04, 0x4b, 0x00, 0x21, 0x00, 0x2f, 0x00, 0x51, 0x40, + 0x2b, 0x04, 0x03, 0x03, 0x28, 0x11, 0x22, 0x17, 0x09, 0x09, 0x1f, + 0x11, 0x1f, 0x30, 0x31, 0x1b, 0x0f, 0x14, 0x25, 0x50, 0x59, 0x17, + 0x14, 0x10, 0x0e, 0x2c, 0x50, 0x59, 0x0a, 0x0e, 0x15, 0x00, 0x07, + 0x50, 0x59, 0x20, 0x04, 0x30, 0x04, 0x02, 0x04, 0x04, 0x00, 0x1b, + 0x00, 0x3f, 0x32, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, + 0x32, 0x11, 0x35, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, + 0x12, 0x33, 0x32, 0x16, 0x17, 0x33, 0x34, 0x36, 0x37, 0x33, 0x06, + 0x15, 0x11, 0x14, 0x06, 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x14, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x02, 0x67, 0xa8, 0xcc, + 0x1c, 0xb8, 0x11, 0x71, 0x5c, 0xf8, 0x02, 0x31, 0xae, 0x78, 0xc6, + 0xb7, 0xc4, 0xcc, 0x71, 0xa7, 0x2d, 0x03, 0x08, 0x04, 0xab, 0x06, + 0xd4, 0x21, 0x96, 0x83, 0x89, 0x7a, 0x33, 0x6c, 0x61, 0x55, 0x81, + 0x46, 0xfe, 0x58, 0x8a, 0x81, 0x19, 0x4b, 0x51, 0x01, 0x3b, 0xc2, + 0x67, 0x6a, 0x01, 0x03, 0x01, 0x16, 0x01, 0x1b, 0x01, 0x0b, 0x69, + 0x61, 0x1e, 0x8f, 0x0c, 0x36, 0xaa, 0xfc, 0xc6, 0xe3, 0xe5, 0x03, + 0xcf, 0xc1, 0xdd, 0xbf, 0xdf, 0x97, 0xaf, 0x50, 0x5f, 0xb7, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xb9, 0x00, 0x00, 0x04, 0x19, 0x05, + 0xcc, 0x00, 0x14, 0x00, 0x30, 0x40, 0x17, 0x04, 0x02, 0x13, 0x13, + 0x14, 0x0a, 0x0b, 0x14, 0x0b, 0x15, 0x16, 0x14, 0x0a, 0x15, 0x07, + 0x0f, 0x50, 0x59, 0x04, 0x07, 0x10, 0x00, 0x00, 0x00, 0x3f, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x33, + 0x11, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, 0x19, 0x01, 0x23, 0x11, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0xb9, 0xb5, 0x09, + 0x03, 0x69, 0xea, 0x01, 0x5e, 0xb5, 0x69, 0x73, 0x7c, 0x9f, 0xb4, + 0x05, 0xcc, 0xfe, 0x7a, 0x3b, 0x8a, 0xcd, 0xfe, 0x83, 0xfd, 0x2f, + 0x02, 0xb7, 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0x8d, 0x00, 0x02, 0x00, + 0x8f, 0x00, 0x00, 0x04, 0x65, 0x05, 0xcc, 0x00, 0x09, 0x00, 0x0d, + 0x00, 0x3c, 0x40, 0x1f, 0x0b, 0x0c, 0x0c, 0x01, 0x00, 0x00, 0x04, + 0x05, 0x05, 0x0e, 0x0f, 0x0b, 0x0a, 0x53, 0x59, 0x0b, 0x00, 0x08, + 0x07, 0x50, 0x59, 0x08, 0x0f, 0x00, 0x04, 0x03, 0x04, 0x50, 0x59, + 0x03, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x21, 0x15, 0x21, + 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x27, 0x35, 0x33, 0x15, 0x02, + 0xe9, 0x01, 0x7c, 0xfc, 0x2a, 0x01, 0xa6, 0xfe, 0xc1, 0x01, 0xf3, + 0xc8, 0xc8, 0x8e, 0x8e, 0x8e, 0x03, 0x1e, 0x8e, 0xd2, 0xc0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x75, 0xfe, 0x57, 0x03, 0x44, + 0x05, 0xcc, 0x00, 0x10, 0x00, 0x14, 0x00, 0x36, 0x40, 0x1c, 0x11, + 0x14, 0x14, 0x00, 0x00, 0x0c, 0x06, 0x0c, 0x15, 0x16, 0x12, 0x11, + 0x53, 0x59, 0x12, 0x00, 0x0f, 0x0e, 0x50, 0x59, 0x0f, 0x0f, 0x03, + 0x09, 0x50, 0x59, 0x03, 0x1b, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, + 0x35, 0x21, 0x27, 0x35, 0x33, 0x15, 0x03, 0x44, 0xe0, 0xcf, 0x4f, + 0xa4, 0x2d, 0x96, 0x7b, 0x80, 0x8a, 0xfe, 0x69, 0x02, 0x4b, 0xc8, + 0xc8, 0x1c, 0xbb, 0xd2, 0x1a, 0x11, 0x8c, 0x22, 0x84, 0x77, 0x03, + 0xc5, 0x8e, 0xd2, 0xc0, 0xc0, 0x00, 0x00, 0x01, 0x00, 0xec, 0x00, + 0x00, 0x04, 0x65, 0x05, 0xcc, 0x00, 0x0b, 0x00, 0x3d, 0x40, 0x1d, + 0x01, 0x0a, 0x09, 0x07, 0x03, 0x03, 0x04, 0x08, 0x09, 0x09, 0x00, + 0x0b, 0x04, 0x0b, 0x0c, 0x0d, 0x02, 0x07, 0x0a, 0x01, 0x07, 0x01, + 0x08, 0x0f, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x3f, 0x32, 0x3f, + 0x3f, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x39, 0x31, 0x30, 0x21, 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, + 0x11, 0x01, 0x33, 0x09, 0x01, 0x03, 0x92, 0xfe, 0x92, 0x84, 0xb4, + 0xb4, 0x01, 0xdb, 0xd3, 0xfe, 0x49, 0x01, 0xce, 0x01, 0xf3, 0x62, + 0xfe, 0x6f, 0x05, 0xcc, 0xfc, 0x61, 0x02, 0x0d, 0xfe, 0x2f, 0xfd, + 0x97, 0x00, 0x05, 0x01, 0x0b, 0x00, 0x00, 0x04, 0x5c, 0x05, 0xcc, + 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x14, 0x00, + 0x00, 0x25, 0x05, 0x15, 0x25, 0x26, 0x27, 0x26, 0x27, 0x11, 0x21, + 0x35, 0x21, 0x11, 0x16, 0x17, 0x16, 0x17, 0x27, 0x17, 0x27, 0x35, + 0x03, 0x43, 0x01, 0x19, 0xfe, 0x8e, 0x71, 0x34, 0x16, 0x03, 0xfe, + 0xdf, 0x01, 0xd5, 0x01, 0x18, 0x15, 0x39, 0x67, 0x10, 0xc4, 0x93, + 0x05, 0x8e, 0x04, 0x14, 0x46, 0x1e, 0x86, 0x04, 0x3c, 0x8e, 0xfb, + 0x21, 0x2d, 0x16, 0x13, 0x09, 0x5f, 0xed, 0x8e, 0x74, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x63, 0x00, 0x00, 0x04, 0x64, 0x04, 0x4e, + 0x00, 0x27, 0x00, 0x45, 0x40, 0x22, 0x16, 0x27, 0x27, 0x00, 0x00, + 0x09, 0x1f, 0x1f, 0x1e, 0x0f, 0x08, 0x08, 0x09, 0x1e, 0x09, 0x28, + 0x29, 0x23, 0x04, 0x13, 0x04, 0x50, 0x59, 0x1a, 0x16, 0x0f, 0x13, + 0x10, 0x0c, 0x0f, 0x1f, 0x09, 0x00, 0x15, 0x00, 0x3f, 0x32, 0x32, + 0x3f, 0x3f, 0x33, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x21, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x17, + 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x33, 0x3e, 0x01, + 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x11, 0x02, 0x13, 0x31, 0x41, 0x40, 0x4f, 0xa9, 0x06, + 0x95, 0x06, 0x02, 0x22, 0x68, 0x4e, 0x58, 0x57, 0x13, 0x02, 0x28, + 0x6f, 0x55, 0x76, 0x66, 0xa8, 0x31, 0x41, 0x42, 0x4d, 0x02, 0xae, + 0x9a, 0x7b, 0xc0, 0xa4, 0xfd, 0xa1, 0x03, 0x53, 0xbd, 0x2a, 0x7f, + 0x30, 0x66, 0x5d, 0x60, 0x64, 0x6a, 0x5a, 0xac, 0xd1, 0xfd, 0x2f, + 0x02, 0xae, 0x9a, 0x7b, 0xa8, 0xa8, 0xfd, 0x8d, 0x00, 0x00, 0x01, + 0x00, 0xb3, 0x00, 0x00, 0x04, 0x19, 0x04, 0x4e, 0x00, 0x18, 0x00, + 0x2f, 0x40, 0x17, 0x11, 0x08, 0x08, 0x09, 0x00, 0x18, 0x09, 0x18, + 0x19, 0x1a, 0x11, 0x14, 0x14, 0x04, 0x50, 0x59, 0x14, 0x10, 0x0c, + 0x0f, 0x09, 0x00, 0x15, 0x00, 0x3f, 0x32, 0x3f, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x17, 0x33, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x03, 0x64, 0x69, 0x73, 0x7c, + 0x9f, 0xb4, 0x06, 0xaa, 0x01, 0x02, 0x03, 0x02, 0x03, 0x69, 0xf1, + 0xad, 0xaa, 0x02, 0xb7, 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0x8d, 0x03, + 0x53, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0xcd, 0xbb, 0xc2, 0xfd, + 0x2f, 0x00, 0x02, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x04, 0x4e, + 0x00, 0x0b, 0x00, 0x17, 0x00, 0x28, 0x40, 0x14, 0x12, 0x06, 0x0c, + 0x00, 0x06, 0x00, 0x18, 0x19, 0x09, 0x0f, 0x50, 0x59, 0x09, 0x10, + 0x03, 0x15, 0x50, 0x59, 0x03, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, + 0x33, 0x32, 0x12, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x04, 0x49, 0xfb, 0xed, 0xe8, 0xf7, 0xfd, + 0xe8, 0xf4, 0xee, 0xbd, 0x89, 0x99, 0x9b, 0x90, 0x90, 0x90, 0x9f, + 0x8e, 0x02, 0x1e, 0xfe, 0xef, 0xfe, 0xdf, 0x01, 0x24, 0x01, 0x0e, + 0x01, 0x17, 0x01, 0x19, 0xfe, 0xea, 0xfe, 0xe6, 0xd7, 0xd4, 0xd8, + 0xd3, 0xd2, 0xdb, 0xd6, 0x00, 0x02, 0x00, 0xb3, 0xfe, 0x57, 0x04, + 0x42, 0x04, 0x50, 0x00, 0x17, 0x00, 0x23, 0x00, 0x38, 0x40, 0x1d, + 0x1e, 0x11, 0x08, 0x08, 0x09, 0x18, 0x00, 0x09, 0x00, 0x24, 0x25, + 0x15, 0x1b, 0x50, 0x59, 0x11, 0x15, 0x10, 0x0c, 0x0f, 0x08, 0x1b, + 0x02, 0x21, 0x50, 0x59, 0x04, 0x02, 0x16, 0x00, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, + 0x10, 0x21, 0x22, 0x27, 0x23, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, + 0x27, 0x33, 0x1e, 0x02, 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x12, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x42, 0xfe, 0x78, 0xf6, 0x55, 0x05, 0x04, 0xb5, 0x06, + 0xaf, 0x01, 0x04, 0x05, 0x04, 0x32, 0x9b, 0x7d, 0xc6, 0xc2, 0xba, + 0x7a, 0x83, 0x97, 0x86, 0x86, 0x95, 0x85, 0x7a, 0x02, 0x22, 0xfd, + 0xca, 0xb8, 0x08, 0x9e, 0xfe, 0x59, 0x05, 0x03, 0xaa, 0x36, 0x04, + 0x33, 0x63, 0x18, 0x69, 0x5f, 0xfe, 0xef, 0xfe, 0xe3, 0xe2, 0xc1, + 0xdb, 0xde, 0xd5, 0xc6, 0xca, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8a, + 0xfe, 0x57, 0x04, 0x1a, 0x04, 0x4a, 0x00, 0x16, 0x00, 0x22, 0x00, + 0x35, 0x40, 0x1b, 0x1d, 0x15, 0x17, 0x03, 0x0c, 0x0c, 0x0b, 0x15, + 0x0b, 0x23, 0x24, 0x12, 0x20, 0x50, 0x59, 0x0e, 0x12, 0x16, 0x0b, + 0x1b, 0x00, 0x1a, 0x50, 0x59, 0x03, 0x00, 0x10, 0x00, 0x3f, 0x32, + 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x32, 0x16, 0x17, 0x33, 0x34, 0x36, 0x37, 0x33, 0x06, 0x15, 0x11, + 0x23, 0x11, 0x37, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, + 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x02, 0x11, 0x81, 0x9a, 0x31, 0x02, 0x07, 0x05, 0xaf, 0x06, + 0xb5, 0x04, 0x02, 0x35, 0x9e, 0x7c, 0xca, 0xbe, 0x02, 0xd5, 0x88, + 0x94, 0x86, 0x79, 0x7a, 0x83, 0x93, 0x8b, 0x04, 0x4a, 0x59, 0x5f, + 0x1e, 0x7f, 0x0c, 0x36, 0xe4, 0xfb, 0x36, 0x01, 0xb7, 0xa8, 0x6b, + 0x65, 0x01, 0x19, 0x01, 0x15, 0x02, 0x36, 0xfd, 0xe0, 0xd4, 0xc7, + 0xcc, 0xdf, 0xdd, 0xcc, 0xda, 0x00, 0x00, 0x01, 0x00, 0xf2, 0x00, + 0x00, 0x04, 0x15, 0x04, 0x4e, 0x00, 0x15, 0x00, 0x29, 0x40, 0x14, + 0x0e, 0x06, 0x06, 0x07, 0x07, 0x15, 0x16, 0x17, 0x0e, 0x13, 0x13, + 0x02, 0x52, 0x59, 0x13, 0x10, 0x0b, 0x0f, 0x06, 0x15, 0x00, 0x3f, + 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x27, 0x33, 0x16, 0x17, 0x33, + 0x3e, 0x02, 0x33, 0x32, 0x17, 0x04, 0x15, 0x70, 0x64, 0xa1, 0xc6, + 0xb4, 0x1b, 0x19, 0xab, 0x28, 0x08, 0x05, 0x32, 0x60, 0x84, 0x5f, + 0x68, 0x66, 0x03, 0x96, 0x13, 0xf2, 0xbb, 0xfe, 0x04, 0x02, 0xbd, + 0x4c, 0xce, 0x63, 0x8a, 0x70, 0x70, 0x69, 0x35, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xa7, 0xff, 0xec, 0x04, 0x24, 0x04, 0x4b, + 0x00, 0x26, 0x00, 0x4e, 0x40, 0x2a, 0x07, 0x06, 0x1f, 0x13, 0x1a, + 0x19, 0x0c, 0x00, 0x19, 0x00, 0x13, 0x06, 0x04, 0x27, 0x28, 0x1f, + 0x0c, 0x16, 0x03, 0x16, 0x1d, 0x50, 0x59, 0x00, 0x1a, 0x70, 0x1a, + 0x02, 0x0b, 0x03, 0x1a, 0x1a, 0x16, 0x10, 0x03, 0x0a, 0x50, 0x59, + 0x07, 0x07, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x27, 0x37, 0x1e, 0x01, 0x33, 0x20, 0x35, 0x34, 0x26, 0x27, 0x24, + 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, + 0x01, 0x23, 0x22, 0x15, 0x14, 0x16, 0x1f, 0x01, 0x1e, 0x02, 0x04, + 0x24, 0xe9, 0xce, 0xce, 0xd7, 0x21, 0x9f, 0x13, 0x7d, 0x97, 0x01, + 0x0e, 0x62, 0x65, 0xfe, 0xf8, 0x8e, 0x4c, 0xd4, 0xc9, 0xb0, 0xd2, + 0x1a, 0xa2, 0x0b, 0x78, 0x77, 0xf5, 0x53, 0x5c, 0x77, 0xa3, 0x8f, + 0x52, 0x01, 0x35, 0x9a, 0xaf, 0x81, 0x8b, 0x1f, 0x56, 0x4f, 0xab, + 0x40, 0x4f, 0x19, 0x41, 0x4a, 0x6f, 0x53, 0x93, 0xa6, 0x85, 0x7f, + 0x14, 0x48, 0x4a, 0x97, 0x3c, 0x48, 0x16, 0x1f, 0x28, 0x4e, 0x75, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xbe, 0xff, 0xf0, 0x03, 0xf9, + 0x05, 0x54, 0x00, 0x15, 0x00, 0x36, 0x40, 0x1b, 0x05, 0x09, 0x09, + 0x02, 0x14, 0x14, 0x0f, 0x16, 0x17, 0x11, 0x0c, 0x50, 0x59, 0x11, + 0x16, 0x08, 0x00, 0x01, 0x00, 0x50, 0x59, 0x05, 0x01, 0x03, 0x03, + 0x01, 0x0f, 0x00, 0x3f, 0x33, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, 0x13, 0x33, 0x11, + 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, + 0x23, 0x22, 0x26, 0x35, 0x11, 0xbe, 0xaa, 0x3a, 0x78, 0x01, 0xb0, + 0xfe, 0x50, 0x55, 0x61, 0x86, 0xa3, 0xa9, 0xa6, 0xa2, 0xa2, 0x03, + 0xac, 0x8e, 0x01, 0x1a, 0xfe, 0xe6, 0x8e, 0xfd, 0x74, 0x4f, 0x4c, + 0x22, 0x89, 0x2e, 0x89, 0x94, 0x02, 0x9f, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x04, 0x3a, 0x00, 0x19, + 0x00, 0x2f, 0x40, 0x17, 0x11, 0x08, 0x08, 0x09, 0x01, 0x18, 0x18, + 0x09, 0x1a, 0x1b, 0x11, 0x15, 0x15, 0x04, 0x50, 0x59, 0x15, 0x16, + 0x0d, 0x15, 0x08, 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x23, 0x2e, 0x02, 0x27, + 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x01, 0x6d, 0x62, + 0x7e, 0x81, 0x96, 0xb5, 0x06, 0xaa, 0x01, 0x02, 0x03, 0x02, 0x03, + 0x3e, 0xa3, 0x79, 0xb2, 0xa5, 0x04, 0x3a, 0xfd, 0x52, 0x9c, 0x79, + 0xb0, 0xa0, 0x02, 0x73, 0xfc, 0xad, 0xbd, 0x2a, 0x05, 0x2c, 0x39, + 0x4f, 0x70, 0x5d, 0xb1, 0xcc, 0x02, 0xd1, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x45, 0x00, 0x00, 0x04, 0x87, 0x04, 0x3a, 0x00, 0x0a, + 0x00, 0x34, 0x40, 0x1a, 0x01, 0x00, 0x06, 0x06, 0x02, 0x09, 0x0a, + 0x03, 0x02, 0x0a, 0x02, 0x0c, 0x0b, 0x09, 0x02, 0x0f, 0x55, 0x06, + 0x01, 0x44, 0x06, 0x01, 0x06, 0x00, 0x01, 0x15, 0x00, 0x3f, 0x33, + 0x33, 0x5d, 0x5d, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, + 0x23, 0x01, 0x33, 0x01, 0x1f, 0x01, 0x3f, 0x01, 0x01, 0x33, 0x02, + 0xcb, 0xd5, 0xfe, 0x4f, 0xca, 0x01, 0x0c, 0x11, 0x34, 0x23, 0x27, + 0x01, 0x14, 0xc9, 0x04, 0x3a, 0xfd, 0x40, 0x35, 0xb8, 0x75, 0x76, + 0x02, 0xc2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x15, 0x00, 0x00, 0x04, + 0xb8, 0x04, 0x3a, 0x00, 0x19, 0x00, 0x5a, 0x40, 0x2e, 0x01, 0x00, + 0x12, 0x0f, 0x0e, 0x03, 0x06, 0x05, 0x0b, 0x12, 0x03, 0x0b, 0x03, + 0x07, 0x18, 0x19, 0x08, 0x07, 0x19, 0x07, 0x1b, 0x1a, 0x03, 0x0e, + 0x0e, 0x0b, 0x07, 0x19, 0x19, 0x18, 0x08, 0x07, 0x0f, 0x12, 0x0b, + 0x75, 0x0b, 0x85, 0x0b, 0x02, 0x0b, 0x05, 0x01, 0x00, 0x06, 0x15, + 0x00, 0x3f, 0x33, 0x33, 0x33, 0x33, 0x5d, 0x11, 0x33, 0x3f, 0x33, + 0x33, 0x33, 0x2f, 0x11, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, + 0x03, 0x27, 0x07, 0x03, 0x23, 0x03, 0x33, 0x13, 0x12, 0x15, 0x36, + 0x37, 0x13, 0x33, 0x13, 0x16, 0x17, 0x34, 0x3e, 0x02, 0x37, 0x13, + 0x33, 0x03, 0xfa, 0xcc, 0x8f, 0x39, 0x27, 0xa8, 0xcb, 0xb7, 0xb2, + 0x5d, 0x21, 0x27, 0x13, 0x87, 0xc1, 0x82, 0x20, 0x17, 0x08, 0x0c, + 0x0c, 0x03, 0x65, 0xb0, 0x01, 0xd7, 0xca, 0x8b, 0xfd, 0xea, 0x04, + 0x3a, 0xfd, 0xa1, 0xfe, 0xf8, 0x3e, 0xa0, 0x36, 0x01, 0xa8, 0xfe, + 0x57, 0x69, 0x6c, 0x1e, 0x5a, 0x5f, 0x56, 0x19, 0x02, 0x5f, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x5e, 0x00, 0x00, 0x04, 0x6d, 0x04, 0x3a, + 0x00, 0x0b, 0x00, 0x3c, 0x40, 0x1f, 0x08, 0x09, 0x09, 0x0a, 0x07, + 0x01, 0x04, 0x04, 0x03, 0x00, 0x0b, 0x06, 0x05, 0x05, 0x02, 0x03, + 0x03, 0x0b, 0x0c, 0x0d, 0x07, 0x0a, 0x04, 0x01, 0x04, 0x08, 0x05, + 0x0f, 0x03, 0x00, 0x15, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x17, 0x39, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x17, 0x39, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x09, + 0x01, 0x23, 0x09, 0x01, 0x33, 0x09, 0x01, 0x33, 0x09, 0x01, 0x03, + 0xa4, 0xfe, 0xbf, 0xfe, 0xbd, 0xc2, 0x01, 0x9f, 0xfe, 0x73, 0xc7, + 0x01, 0x2c, 0x01, 0x2a, 0xc9, 0xfe, 0x73, 0x01, 0xa4, 0x01, 0xbc, + 0xfe, 0x44, 0x02, 0x2c, 0x02, 0x0e, 0xfe, 0x5b, 0x01, 0xa5, 0xfd, + 0xf4, 0xfd, 0xd2, 0x00, 0x00, 0x01, 0x00, 0x42, 0xfe, 0x57, 0x04, + 0x89, 0x04, 0x3a, 0x00, 0x14, 0x00, 0x39, 0x40, 0x1b, 0x12, 0x09, + 0x0e, 0x02, 0x0e, 0x0a, 0x10, 0x11, 0x0b, 0x0a, 0x0a, 0x11, 0x15, + 0x16, 0x0e, 0x09, 0x09, 0x05, 0x10, 0x0a, 0x0f, 0x00, 0x05, 0x50, + 0x59, 0x00, 0x1b, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, + 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x22, + 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x3f, 0x01, 0x01, 0x33, 0x01, + 0x16, 0x17, 0x37, 0x01, 0x33, 0x01, 0x0e, 0x01, 0x01, 0x24, 0x4a, + 0x32, 0x26, 0x2e, 0x4f, 0x8b, 0x30, 0x12, 0xfe, 0x2a, 0xc0, 0x01, + 0x08, 0x5b, 0x07, 0x29, 0x01, 0x36, 0xbe, 0xfe, 0x38, 0x59, 0xbf, + 0xfe, 0x57, 0x0b, 0x87, 0x06, 0x76, 0x81, 0x31, 0x04, 0x2f, 0xfd, + 0x7e, 0xe0, 0x1e, 0x6e, 0x03, 0x12, 0xfb, 0xc6, 0xeb, 0xbe, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x93, 0x00, 0x00, 0x04, 0x2c, 0x04, 0x3a, + 0x00, 0x09, 0x00, 0x35, 0x40, 0x1a, 0x07, 0x03, 0x01, 0x08, 0x02, + 0x06, 0x01, 0x06, 0x0a, 0x0b, 0x06, 0x03, 0x04, 0x03, 0x50, 0x59, + 0x04, 0x0f, 0x01, 0x07, 0x00, 0x07, 0x50, 0x59, 0x00, 0x15, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x33, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, + 0x15, 0x93, 0x02, 0xa9, 0xfd, 0x7f, 0x03, 0x4c, 0xfd, 0x56, 0x02, + 0xcf, 0x89, 0x03, 0x26, 0x8b, 0x89, 0xfc, 0xda, 0x8b, 0x00, 0x01, + 0x00, 0xe3, 0xfe, 0x57, 0x04, 0x25, 0x05, 0xcc, 0x00, 0x23, 0x00, + 0x56, 0x40, 0x32, 0x10, 0x23, 0x16, 0x1e, 0x08, 0x0b, 0x1e, 0x23, + 0x19, 0x05, 0x03, 0x03, 0x24, 0x25, 0x19, 0x08, 0x07, 0x08, 0x07, + 0xf5, 0x59, 0x0f, 0x08, 0x2f, 0x08, 0x8f, 0x08, 0xcf, 0x08, 0xef, + 0x08, 0x05, 0x11, 0x03, 0x08, 0x08, 0x10, 0x23, 0x10, 0x11, 0xf5, + 0x59, 0x10, 0x00, 0x00, 0x22, 0xf5, 0x59, 0x00, 0x1b, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x27, 0x35, 0x3e, 0x01, 0x35, + 0x11, 0x34, 0x36, 0x33, 0x21, 0x15, 0x23, 0x22, 0x06, 0x15, 0x11, + 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x16, 0x3b, + 0x01, 0x15, 0x03, 0x1c, 0x82, 0xa4, 0x92, 0x81, 0x82, 0x91, 0xa2, + 0x84, 0x01, 0x09, 0xd5, 0x5b, 0x50, 0x80, 0x67, 0x66, 0x81, 0x50, + 0x5b, 0xd5, 0xfe, 0x57, 0xa9, 0x86, 0x01, 0x5f, 0x6b, 0x78, 0x05, + 0x89, 0x05, 0x7a, 0x68, 0x01, 0x60, 0x89, 0xa6, 0x8b, 0x58, 0x6b, + 0xfe, 0xa6, 0x62, 0x95, 0x19, 0x02, 0x18, 0x93, 0x67, 0xfe, 0xa5, + 0x6a, 0x59, 0x8b, 0x00, 0x01, 0x02, 0x13, 0xfe, 0x57, 0x02, 0xb9, + 0x05, 0xcc, 0x00, 0x03, 0x00, 0x16, 0x40, 0x09, 0x03, 0x00, 0x00, + 0x04, 0x05, 0x01, 0x00, 0x00, 0x1b, 0x00, 0x3f, 0x3f, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x33, 0x11, 0x02, + 0x13, 0xa6, 0xfe, 0x57, 0x07, 0x75, 0xf8, 0x8b, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xa7, 0xfe, 0x57, 0x03, 0xe9, 0x05, 0xcc, 0x00, + 0x23, 0x00, 0x5a, 0x40, 0x35, 0x09, 0x18, 0x1b, 0x03, 0x20, 0x13, + 0x00, 0x0d, 0x00, 0x20, 0x03, 0x05, 0x05, 0x24, 0x25, 0x09, 0x1b, + 0x1c, 0x1b, 0x1c, 0xf5, 0x59, 0x0f, 0x1b, 0x2f, 0x1b, 0x8f, 0x1b, + 0xaf, 0x1b, 0xcf, 0x1b, 0xef, 0x1b, 0x06, 0x11, 0x03, 0x1b, 0x1b, + 0x13, 0x00, 0x13, 0x12, 0xf5, 0x59, 0x13, 0x00, 0x00, 0x01, 0xf5, + 0x59, 0x00, 0x1b, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, + 0x11, 0x17, 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, 0x32, 0x36, 0x35, + 0x11, 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x26, + 0x2b, 0x01, 0x35, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x17, + 0x15, 0x0e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0xa7, 0xd5, 0x5b, + 0x51, 0x80, 0x66, 0x66, 0x80, 0x50, 0x5c, 0xd5, 0x01, 0x09, 0x85, + 0xa1, 0x92, 0x81, 0x82, 0x91, 0xa4, 0x82, 0xfe, 0x57, 0x8b, 0x59, + 0x6a, 0x01, 0x5b, 0x66, 0x94, 0x18, 0x02, 0x19, 0x96, 0x61, 0x01, + 0x5a, 0x69, 0x5a, 0x8b, 0xa6, 0x89, 0xfe, 0xa0, 0x69, 0x79, 0x05, + 0x89, 0x05, 0x79, 0x6a, 0xfe, 0xa1, 0x87, 0xa8, 0x00, 0x00, 0x01, + 0x00, 0x6c, 0x02, 0x29, 0x04, 0x60, 0x03, 0x27, 0x00, 0x15, 0x00, + 0x38, 0x40, 0x20, 0x13, 0x07, 0x16, 0x17, 0x00, 0x10, 0xad, 0x59, + 0x07, 0x00, 0x40, 0x17, 0x1c, 0x48, 0x00, 0x40, 0x09, 0x0c, 0x48, + 0x00, 0x0b, 0x40, 0x13, 0x0b, 0x0b, 0x05, 0xad, 0x59, 0x0f, 0x0b, + 0x01, 0x0b, 0x00, 0x2f, 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x1a, 0x18, + 0x10, 0xcd, 0x2b, 0x2b, 0x32, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x31, 0x30, 0x01, 0x32, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x15, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, + 0x35, 0x36, 0x01, 0x73, 0x66, 0x85, 0x93, 0x57, 0x24, 0x82, 0x72, + 0x3c, 0x73, 0x55, 0x45, 0x91, 0x49, 0x81, 0x58, 0x43, 0x74, 0x41, + 0x6f, 0x03, 0x27, 0x2e, 0x33, 0x14, 0x5c, 0x95, 0x2a, 0x26, 0x2c, + 0x1a, 0x2d, 0x29, 0x2f, 0x8f, 0x54, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x06, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x02, 0x03, 0xfe, 0xf6, 0x02, 0xc9, + 0x04, 0x3a, 0x00, 0x03, 0x00, 0x07, 0x00, 0x2d, 0x40, 0x13, 0x02, + 0x04, 0x04, 0x03, 0x07, 0x07, 0x08, 0x09, 0x00, 0x00, 0x07, 0x03, + 0x07, 0x06, 0x9d, 0x5b, 0x07, 0x0f, 0x03, 0xb8, 0x01, 0x0e, 0x00, + 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, + 0x13, 0x23, 0x13, 0x15, 0x23, 0x35, 0x02, 0x1b, 0x94, 0x18, 0xc4, + 0xc6, 0xc2, 0x02, 0xad, 0xfc, 0x49, 0x05, 0x44, 0xc9, 0xc9, 0x00, + 0x03, 0xff, 0xcc, 0xff, 0xc3, 0x04, 0x46, 0x05, 0xc3, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x2a, 0x00, 0x00, 0x03, 0x01, 0x06, 0x07, 0x06, + 0x15, 0x14, 0x17, 0x16, 0x17, 0x11, 0x23, 0x35, 0x26, 0x02, 0x35, + 0x34, 0x12, 0x37, 0x35, 0x37, 0x15, 0x33, 0x15, 0x1e, 0x01, 0x17, + 0x07, 0x26, 0x27, 0x26, 0x27, 0x11, 0x36, 0x37, 0x36, 0x37, 0x17, + 0x0e, 0x01, 0x07, 0x15, 0x23, 0x34, 0x02, 0x6e, 0x6e, 0x40, 0x50, + 0x54, 0x41, 0x6a, 0x01, 0xd0, 0xe5, 0xe8, 0xcd, 0x7f, 0x01, 0x9d, + 0xcc, 0x1d, 0xb9, 0x11, 0x42, 0x2f, 0x4c, 0x49, 0x34, 0x4a, 0x10, + 0xb6, 0x15, 0xd6, 0xa1, 0x01, 0x05, 0xc3, 0xfe, 0x5a, 0x11, 0x4e, + 0x64, 0xbe, 0xc6, 0x64, 0x4e, 0x12, 0xfe, 0xb1, 0xc3, 0x0f, 0x01, + 0x13, 0xe8, 0xf0, 0x01, 0x19, 0x12, 0xb8, 0x02, 0x02, 0xb8, 0x0d, + 0xa9, 0x8c, 0x0e, 0x5b, 0x36, 0x27, 0x0b, 0xfc, 0xf4, 0x0c, 0x27, + 0x38, 0x69, 0x0c, 0x8e, 0xb8, 0x0e, 0xc3, 0x00, 0x01, 0x00, 0x38, + 0x00, 0x00, 0x04, 0x93, 0x05, 0x5a, 0x00, 0x26, 0x00, 0x6e, 0x40, + 0x3b, 0x26, 0x00, 0x00, 0x14, 0x13, 0x22, 0x03, 0x1b, 0x1f, 0x0c, + 0x1f, 0x03, 0x03, 0x08, 0x13, 0x08, 0x27, 0x28, 0x1e, 0x0a, 0x0b, + 0x0a, 0x73, 0x59, 0x1b, 0x0f, 0x0b, 0x01, 0x0c, 0x03, 0x0b, 0x0b, + 0x03, 0x10, 0x10, 0x17, 0x73, 0x59, 0x00, 0x14, 0x10, 0x14, 0x02, + 0x09, 0x03, 0x14, 0x14, 0x10, 0x07, 0x04, 0x22, 0x03, 0x22, 0x73, + 0x59, 0x26, 0x26, 0x03, 0x18, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x17, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, + 0x06, 0x23, 0x21, 0x35, 0x3e, 0x02, 0x3d, 0x01, 0x23, 0x35, 0x33, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, + 0x22, 0x06, 0x1d, 0x01, 0x21, 0x15, 0x21, 0x15, 0x14, 0x06, 0x07, + 0x21, 0x32, 0x36, 0x37, 0x04, 0x93, 0x32, 0xb8, 0xfc, 0x8f, 0x57, + 0x47, 0x25, 0xba, 0xba, 0xd9, 0xcd, 0x99, 0xcc, 0x22, 0xae, 0x16, + 0x75, 0x4e, 0x7a, 0x78, 0x01, 0x98, 0xfe, 0x68, 0x48, 0x53, 0x02, + 0x58, 0x3b, 0x39, 0x0b, 0xf0, 0xf0, 0x9a, 0x2c, 0x4e, 0x71, 0x52, + 0x8d, 0x8e, 0xdc, 0xc2, 0xca, 0x79, 0x6d, 0x39, 0x3f, 0x40, 0x73, + 0x7d, 0xd8, 0x8e, 0x8b, 0x80, 0x8f, 0x2c, 0x35, 0x35, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x9e, 0x00, 0xe1, 0x04, 0x2f, 0x04, 0x73, 0x00, + 0x1b, 0x00, 0x27, 0x00, 0x61, 0x40, 0x33, 0x1c, 0x00, 0x22, 0x0e, + 0x00, 0x0e, 0x28, 0x29, 0x12, 0x18, 0x18, 0x15, 0x09, 0x05, 0x0c, + 0x02, 0x10, 0x1a, 0x13, 0x17, 0x17, 0x1a, 0x02, 0x05, 0x04, 0x07, + 0x15, 0x15, 0x1f, 0xb0, 0x59, 0x10, 0x15, 0x30, 0x15, 0x02, 0x0f, + 0x15, 0x01, 0x0c, 0x03, 0x15, 0x0a, 0x04, 0x04, 0x07, 0x07, 0x25, + 0xb0, 0x59, 0x07, 0x00, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x18, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x34, 0x37, 0x27, 0x37, 0x17, 0x36, 0x33, + 0x32, 0x17, 0x37, 0x17, 0x07, 0x16, 0x15, 0x14, 0x07, 0x17, 0x07, + 0x27, 0x06, 0x23, 0x22, 0x27, 0x07, 0x27, 0x37, 0x26, 0x37, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0xb6, + 0x4e, 0x64, 0x68, 0x63, 0x72, 0x8c, 0x89, 0x72, 0x61, 0x68, 0x60, + 0x50, 0x52, 0x64, 0x66, 0x65, 0x72, 0x89, 0x8f, 0x6d, 0x69, 0x66, + 0x66, 0x4e, 0x9a, 0xa4, 0x75, 0x72, 0xa6, 0xa5, 0x73, 0x75, 0xa4, + 0x02, 0xac, 0x8a, 0x72, 0x64, 0x67, 0x65, 0x52, 0x50, 0x61, 0x69, + 0x60, 0x75, 0x87, 0x8a, 0x72, 0x64, 0x69, 0x65, 0x4e, 0x50, 0x69, + 0x69, 0x66, 0x72, 0x8c, 0x72, 0xa6, 0xa2, 0x76, 0x74, 0xa5, 0xa7, + 0x00, 0x01, 0x00, 0x34, 0x00, 0x00, 0x04, 0x98, 0x05, 0x45, 0x00, + 0x16, 0x00, 0x5a, 0x40, 0x2f, 0x13, 0x12, 0x12, 0x15, 0x16, 0x14, + 0x09, 0x00, 0x04, 0x16, 0x03, 0x08, 0x0d, 0x11, 0x08, 0x03, 0x09, + 0x09, 0x17, 0x18, 0x07, 0x0b, 0x0c, 0x0b, 0x60, 0x59, 0x04, 0x0c, + 0x03, 0x0f, 0x10, 0x0f, 0x60, 0x59, 0x14, 0x00, 0x10, 0x0c, 0x10, + 0x0c, 0x10, 0x08, 0x15, 0x12, 0x03, 0x08, 0x12, 0x00, 0x3f, 0x3f, + 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x37, 0x21, 0x35, + 0x21, 0x01, 0x33, 0x09, 0x01, 0x33, 0x02, 0xfc, 0x01, 0x41, 0xfe, + 0x81, 0x01, 0x7f, 0xfe, 0x81, 0xb2, 0xfe, 0x83, 0x01, 0x7d, 0x02, + 0xfe, 0x81, 0x01, 0x40, 0xfe, 0x65, 0xc7, 0x01, 0x69, 0x01, 0x6d, + 0xc7, 0x02, 0xa7, 0x8e, 0x89, 0x90, 0xff, 0x00, 0x01, 0x00, 0x90, + 0x89, 0x8e, 0x02, 0x9e, 0xfd, 0x97, 0x02, 0x69, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x02, 0x13, 0xfe, 0x39, 0x02, 0xb9, 0x05, 0xae, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x26, 0x40, 0x11, 0x03, 0x07, 0x07, 0x00, + 0x04, 0x04, 0x08, 0x09, 0x05, 0x00, 0x05, 0x00, 0x01, 0x04, 0x1b, + 0x01, 0x00, 0x00, 0x3f, 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x11, 0x33, 0x11, 0x03, 0x11, 0x33, 0x11, 0x02, 0x13, 0xa6, 0xa6, + 0xa6, 0x02, 0xa4, 0x03, 0x0a, 0xfc, 0xf6, 0xfb, 0x95, 0x03, 0x0b, + 0xfc, 0xf5, 0x00, 0x00, 0x02, 0x00, 0x9f, 0xff, 0x54, 0x04, 0x2c, + 0x05, 0xcc, 0x00, 0x34, 0x00, 0x41, 0x00, 0x8a, 0x40, 0x49, 0x3f, + 0x15, 0x3b, 0x18, 0x3b, 0x2c, 0x2f, 0x38, 0x35, 0x0a, 0x32, 0x32, + 0x2c, 0x1f, 0x1e, 0x1e, 0x2c, 0x35, 0x12, 0x25, 0x18, 0x18, 0x12, + 0x04, 0x03, 0x03, 0x12, 0x2c, 0x12, 0x42, 0x43, 0x38, 0x0e, 0x2f, + 0x3f, 0x29, 0x15, 0x14, 0x2f, 0x24, 0x2f, 0x02, 0x0d, 0x2f, 0x01, + 0x0f, 0x04, 0x2f, 0x15, 0x00, 0x1b, 0x1b, 0x22, 0x51, 0x59, 0x00, + 0x1f, 0x60, 0x1f, 0x02, 0x0b, 0x03, 0x1f, 0x1f, 0x1b, 0x00, 0x07, + 0x51, 0x59, 0x04, 0x04, 0x00, 0x00, 0x00, 0x3f, 0x32, 0x2f, 0x2b, + 0x00, 0x18, 0x2f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x39, 0x31, 0x30, 0x01, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x15, 0x14, + 0x06, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, + 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x01, 0x27, + 0x2e, 0x01, 0x35, 0x34, 0x36, 0x37, 0x2e, 0x01, 0x35, 0x34, 0x36, + 0x01, 0x34, 0x26, 0x27, 0x0e, 0x01, 0x15, 0x14, 0x1e, 0x01, 0x17, + 0x3e, 0x01, 0x02, 0x78, 0xad, 0xd5, 0x1b, 0xa1, 0x0e, 0x81, 0x6d, + 0x7d, 0x81, 0x3c, 0x6f, 0x82, 0x93, 0x9c, 0x56, 0x77, 0x64, 0x70, + 0x65, 0xe7, 0xd2, 0xd1, 0xdb, 0x22, 0xa1, 0x14, 0x8f, 0x8a, 0x83, + 0x96, 0x40, 0x75, 0x9f, 0xc3, 0xaa, 0x7b, 0x69, 0x60, 0x6f, 0xd3, + 0x01, 0xe1, 0x8b, 0xb0, 0x6d, 0x81, 0x3b, 0x6f, 0x81, 0x77, 0x87, + 0x05, 0xcc, 0x85, 0x7f, 0x14, 0x4f, 0x51, 0x59, 0x47, 0x30, 0x46, + 0x34, 0x1f, 0x23, 0x53, 0x76, 0x51, 0x63, 0x96, 0x18, 0x30, 0x81, + 0x5b, 0x94, 0xa9, 0x85, 0x8b, 0x1f, 0x5d, 0x5a, 0x60, 0x55, 0x38, + 0x4e, 0x38, 0x27, 0x2d, 0x9c, 0x70, 0x59, 0x94, 0x1e, 0x20, 0x86, + 0x56, 0x8b, 0x9b, 0xfc, 0xcb, 0x48, 0x68, 0x29, 0x06, 0x6a, 0x54, + 0x31, 0x49, 0x36, 0x21, 0x02, 0x65, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x01, 0x4f, 0x04, 0xc3, 0x03, 0x7c, 0x05, 0x7b, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x36, 0x40, 0x20, 0x03, 0x00, 0x00, 0x07, 0x04, 0x04, + 0x08, 0x09, 0x05, 0x01, 0x00, 0x01, 0x90, 0x5b, 0x04, 0x0f, 0x00, + 0x3f, 0x00, 0x5f, 0x00, 0xaf, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x40, + 0x16, 0x1e, 0x48, 0x00, 0x00, 0x2f, 0x2b, 0x5d, 0x32, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x02, + 0xd9, 0xa3, 0xfd, 0xd3, 0xa5, 0x04, 0xc3, 0xb8, 0xb8, 0xb8, 0xb8, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x1f, 0x00, 0x26, 0x04, 0xad, 0x05, + 0xcc, 0x00, 0x18, 0x00, 0x28, 0x00, 0x35, 0x00, 0x9e, 0x40, 0x65, + 0x30, 0x00, 0x0d, 0x06, 0x13, 0x13, 0x07, 0x12, 0x0d, 0x12, 0x21, + 0x29, 0x19, 0x21, 0x19, 0x36, 0x37, 0x00, 0x06, 0x10, 0x06, 0x80, + 0x06, 0x90, 0x06, 0xa0, 0x06, 0x05, 0x00, 0x06, 0x80, 0x06, 0x90, + 0x06, 0x03, 0x0c, 0x03, 0x06, 0x06, 0x0a, 0x0a, 0x03, 0xc9, 0x59, + 0x10, 0x16, 0xc9, 0x59, 0x13, 0x13, 0x10, 0x5f, 0x0a, 0x01, 0x0f, + 0x0a, 0x1f, 0x0a, 0x7f, 0x0a, 0x8f, 0x0a, 0xef, 0x0a, 0xff, 0x0a, + 0x06, 0xb0, 0x10, 0xc0, 0x10, 0x02, 0x00, 0x10, 0x10, 0x10, 0x70, + 0x10, 0x80, 0x10, 0x04, 0x09, 0x03, 0x0a, 0x10, 0x0a, 0x10, 0x1d, + 0x25, 0x25, 0x2c, 0xc8, 0x59, 0x25, 0x00, 0x1d, 0x33, 0xc8, 0x59, + 0x1d, 0xd0, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x5d, + 0x71, 0x11, 0x33, 0x2f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x71, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x32, + 0x31, 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x07, + 0x2e, 0x01, 0x23, 0x22, 0x06, 0x05, 0x14, 0x02, 0x04, 0x23, 0x22, + 0x24, 0x02, 0x35, 0x34, 0x12, 0x24, 0x33, 0x32, 0x04, 0x12, 0x07, + 0x10, 0x00, 0x23, 0x22, 0x06, 0x02, 0x15, 0x10, 0x00, 0x33, 0x32, + 0x00, 0x01, 0x8e, 0x76, 0x6a, 0x41, 0x60, 0x23, 0x73, 0x34, 0x99, + 0x6a, 0xa8, 0xb9, 0xb2, 0xa8, 0xd9, 0x56, 0x72, 0x1a, 0x61, 0x40, + 0x6b, 0x70, 0x03, 0x1f, 0x8e, 0xfe, 0xf8, 0xb1, 0xb1, 0xfe, 0xf9, + 0x8f, 0x8e, 0x01, 0x09, 0xb0, 0xb0, 0x01, 0x09, 0x8e, 0x5c, 0xfe, + 0xfc, 0xe7, 0x97, 0xdb, 0x76, 0x00, 0xff, 0xe9, 0xe9, 0x01, 0x02, + 0x02, 0xfb, 0x99, 0xad, 0x4a, 0x52, 0x23, 0x76, 0x6b, 0xe3, 0xcb, + 0xca, 0xde, 0xd1, 0x21, 0x43, 0x46, 0xa1, 0xa0, 0xe3, 0xfe, 0xb9, + 0xa9, 0xab, 0x01, 0x46, 0xe2, 0xe2, 0x01, 0x46, 0xab, 0xaa, 0xfe, + 0xbb, 0xe4, 0x01, 0x2d, 0x01, 0x47, 0x91, 0xfe, 0xe5, 0xc8, 0xfe, + 0xd5, 0xfe, 0xb6, 0x01, 0x48, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0xce, 0x02, 0x8b, 0x03, 0xfd, 0x05, 0x98, 0x00, 0x22, 0x00, 0x2e, + 0x00, 0x62, 0x40, 0x1e, 0x0a, 0x0b, 0x0b, 0x23, 0x00, 0x1c, 0x04, + 0x2a, 0x2a, 0x12, 0x00, 0x12, 0x2f, 0x30, 0x15, 0x26, 0x20, 0x26, + 0xe4, 0x59, 0x03, 0x2b, 0xe4, 0x59, 0x03, 0x03, 0x0e, 0x1c, 0x1a, + 0x20, 0xb8, 0x01, 0x16, 0x40, 0x12, 0x0f, 0x0a, 0x01, 0x16, 0x03, + 0x0a, 0x40, 0x0e, 0x11, 0x48, 0x0a, 0x0a, 0x0e, 0x0e, 0x07, 0xe4, + 0x59, 0x0e, 0xb8, 0x01, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, 0x3f, 0x33, 0x33, 0x12, 0x39, + 0x2f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x34, 0x36, 0x3f, 0x01, 0x35, 0x34, 0x23, 0x22, 0x06, + 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x27, 0x23, 0x0e, 0x01, + 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x3d, + 0x01, 0x07, 0x0e, 0x01, 0xce, 0xb4, 0xb2, 0xbf, 0xb4, 0x54, 0x5c, + 0x0b, 0x95, 0x12, 0xb0, 0x92, 0x99, 0xa6, 0x1f, 0x2b, 0x19, 0x18, + 0x32, 0x34, 0x9a, 0x06, 0x04, 0x2b, 0x92, 0x66, 0x79, 0x89, 0x93, + 0x52, 0x46, 0x45, 0x73, 0x42, 0x9a, 0x82, 0x76, 0x03, 0x66, 0x75, + 0x7b, 0x02, 0x04, 0x2b, 0xb6, 0x44, 0x4d, 0x0a, 0x6a, 0x78, 0x86, + 0x85, 0xfe, 0xdd, 0x3a, 0x3c, 0x08, 0x5e, 0x0d, 0xa0, 0x4d, 0x59, + 0x72, 0x7d, 0x40, 0x4a, 0x44, 0x6d, 0x36, 0x33, 0x04, 0x03, 0x43, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x8d, 0x04, 0x60, 0x03, + 0xac, 0x00, 0x08, 0x00, 0x11, 0x00, 0x54, 0x40, 0x29, 0x00, 0x08, + 0x08, 0x03, 0x04, 0x04, 0x06, 0x01, 0x09, 0x11, 0x11, 0x0c, 0x0d, + 0x0f, 0x0d, 0x01, 0x03, 0x0a, 0x0a, 0x12, 0x13, 0x0b, 0x02, 0x02, + 0x06, 0x0a, 0x01, 0x01, 0x0f, 0x06, 0x06, 0x00, 0x0c, 0x03, 0x00, + 0x03, 0xef, 0x5b, 0x09, 0x00, 0xee, 0x00, 0x3f, 0x32, 0x2b, 0x11, + 0x00, 0x33, 0x12, 0x39, 0x3d, 0x2f, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x01, 0x35, 0x01, 0x33, 0x15, 0x09, 0x01, + 0x15, 0x21, 0x01, 0x35, 0x01, 0x33, 0x15, 0x09, 0x01, 0x15, 0x03, + 0xac, 0xfe, 0xae, 0x01, 0x52, 0xb2, 0xfe, 0xae, 0x01, 0x54, 0xfd, + 0x6f, 0xfe, 0xb0, 0x01, 0x50, 0xb1, 0xfe, 0xb1, 0x01, 0x51, 0x8d, + 0x01, 0x6d, 0x3f, 0x01, 0x73, 0x1f, 0xfe, 0x8c, 0xfe, 0x91, 0x1d, + 0x01, 0x6d, 0x3f, 0x01, 0x73, 0x1f, 0xfe, 0x8c, 0xfe, 0x91, 0x1d, + 0x00, 0x00, 0x01, 0x00, 0x74, 0x00, 0xb4, 0x04, 0x57, 0x02, 0xf2, + 0x00, 0x05, 0x00, 0x28, 0x40, 0x13, 0x01, 0x04, 0x03, 0x04, 0x06, + 0x07, 0x0f, 0x00, 0x01, 0x0c, 0x03, 0x00, 0x02, 0x03, 0x02, 0xad, + 0x59, 0x03, 0xb3, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x5f, + 0x5e, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x11, 0x21, 0x35, 0x21, 0x11, 0x03, 0xc6, 0xfc, 0xae, 0x03, + 0xe3, 0xb4, 0x01, 0xac, 0x92, 0xfd, 0xc2, 0xff, 0xff, 0x01, 0x4e, + 0x01, 0xd0, 0x03, 0x7e, 0x02, 0x70, 0x10, 0x06, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x26, 0x04, 0xad, 0x05, 0xcc, + 0x00, 0x0f, 0x00, 0x1c, 0x00, 0x2a, 0x00, 0x33, 0x00, 0x7d, 0x40, + 0x45, 0x17, 0x08, 0x29, 0x1e, 0x1e, 0x26, 0x30, 0x20, 0x20, 0x21, + 0x1d, 0x2a, 0x2a, 0x2b, 0x26, 0x21, 0x26, 0x08, 0x10, 0x00, 0x08, + 0x00, 0x34, 0x35, 0x1d, 0x21, 0x29, 0x1f, 0x30, 0x1f, 0xc8, 0x59, + 0x22, 0x2f, 0xc8, 0x59, 0x00, 0x22, 0x10, 0x22, 0x02, 0x0f, 0x21, + 0x1f, 0x21, 0x02, 0x09, 0x03, 0x21, 0x30, 0x22, 0x22, 0x30, 0x21, + 0x03, 0x04, 0x0c, 0x0c, 0x13, 0xc8, 0x59, 0x0c, 0x00, 0x04, 0x1a, + 0xc8, 0x59, 0x04, 0xd0, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x5f, 0x5e, + 0x5d, 0x5d, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x02, 0x04, 0x23, 0x22, 0x24, 0x02, + 0x35, 0x34, 0x12, 0x24, 0x33, 0x32, 0x04, 0x12, 0x07, 0x10, 0x00, + 0x23, 0x22, 0x06, 0x02, 0x15, 0x10, 0x00, 0x33, 0x32, 0x00, 0x05, + 0x03, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x13, 0x03, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, + 0x04, 0xad, 0x8e, 0xfe, 0xf8, 0xb1, 0xb1, 0xfe, 0xf9, 0x8f, 0x8e, + 0x01, 0x09, 0xb0, 0xb0, 0x01, 0x09, 0x8e, 0x5c, 0xfe, 0xfc, 0xe7, + 0x97, 0xdb, 0x76, 0x00, 0xff, 0xe9, 0xe9, 0x01, 0x02, 0xfe, 0xde, + 0xc7, 0xa1, 0x7f, 0x01, 0x33, 0x8e, 0x97, 0x68, 0x55, 0xdd, 0x9f, + 0x5f, 0x51, 0xaa, 0xb6, 0x50, 0x54, 0x02, 0xf9, 0xe3, 0xfe, 0xb9, + 0xa9, 0xab, 0x01, 0x46, 0xe2, 0xe2, 0x01, 0x46, 0xab, 0xaa, 0xfe, + 0xbb, 0xe4, 0x01, 0x2d, 0x01, 0x47, 0x91, 0xfe, 0xe5, 0xc8, 0xfe, + 0xd5, 0xfe, 0xb6, 0x01, 0x48, 0x75, 0x01, 0x50, 0xfe, 0xb0, 0x03, + 0x3f, 0x7e, 0x6f, 0x66, 0x7b, 0x13, 0xfe, 0xa2, 0x02, 0x50, 0x45, + 0x48, 0xfe, 0xd3, 0x55, 0xff, 0xff, 0xff, 0xfb, 0x05, 0xf2, 0x04, + 0xd1, 0x06, 0x52, 0x12, 0x07, 0x00, 0x42, 0x00, 0x00, 0x06, 0xce, + 0x00, 0x00, 0x00, 0x02, 0x01, 0x47, 0x03, 0x20, 0x03, 0x85, 0x05, + 0x5a, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x33, 0x40, 0x1a, 0x0c, 0x00, + 0x00, 0x12, 0x06, 0x06, 0x18, 0x19, 0x03, 0x15, 0xaf, 0x59, 0x00, + 0x03, 0x01, 0x09, 0x03, 0x03, 0x03, 0x09, 0x09, 0x0f, 0xaf, 0x59, + 0x09, 0x04, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x85, 0xa9, 0x76, 0x76, 0xa9, + 0xa7, 0x78, 0x78, 0xa7, 0x6d, 0x67, 0x4b, 0x4b, 0x67, 0x69, 0x49, + 0x4a, 0x68, 0x04, 0x3d, 0x77, 0xa6, 0xa8, 0x75, 0x75, 0xa8, 0xa6, + 0x77, 0x4c, 0x68, 0x6a, 0x4a, 0x4a, 0x6a, 0x69, 0x00, 0x00, 0x02, + 0x00, 0x74, 0x00, 0x00, 0x04, 0x57, 0x04, 0xc3, 0x00, 0x0b, 0x00, + 0x0f, 0x00, 0x68, 0x40, 0x37, 0x09, 0x00, 0x00, 0x06, 0x03, 0x03, + 0x04, 0x0f, 0x0b, 0x0c, 0x04, 0x0b, 0x04, 0x10, 0x11, 0x0c, 0x0d, + 0xad, 0x59, 0x0c, 0x04, 0x02, 0x0e, 0x59, 0x07, 0x05, 0x0e, 0x0f, + 0x07, 0x01, 0x0f, 0x07, 0x1f, 0x07, 0x5f, 0x07, 0x6f, 0x07, 0xaf, + 0x07, 0xbf, 0x07, 0x06, 0x11, 0x03, 0x07, 0x05, 0x00, 0x04, 0x05, + 0x04, 0xad, 0x59, 0x09, 0x05, 0xb8, 0xff, 0xc0, 0xb3, 0x13, 0x16, + 0x48, 0x05, 0x00, 0x2f, 0x2b, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x10, 0xc6, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, 0x2b, 0x00, 0x18, 0x2f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, + 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x01, 0x35, + 0x21, 0x15, 0x02, 0xaf, 0x93, 0xfe, 0x58, 0x01, 0xa8, 0x93, 0x01, + 0xa8, 0xfc, 0x1d, 0x03, 0xe3, 0x02, 0xa8, 0xfe, 0x75, 0x01, 0x8b, + 0x91, 0x01, 0x8a, 0xfe, 0x76, 0x91, 0xfd, 0x58, 0x91, 0x91, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x38, 0x02, 0x33, 0x03, 0x94, 0x05, 0x8d, + 0x00, 0x1c, 0x00, 0x44, 0x40, 0x22, 0x0d, 0x0e, 0x0e, 0x1a, 0x00, + 0x1b, 0x07, 0x14, 0x00, 0x14, 0x1d, 0x1e, 0x0f, 0x0d, 0x01, 0x0d, + 0x03, 0x0d, 0x0d, 0x11, 0x11, 0x0a, 0xe4, 0x59, 0x11, 0xde, 0x01, + 0x1a, 0x00, 0x1a, 0xe4, 0x59, 0x00, 0xdd, 0x00, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x27, 0x3e, 0x01, 0x37, + 0x3e, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x0e, 0x01, 0x07, + 0x21, 0x17, 0x01, 0x3a, 0x02, 0x1f, 0x80, 0x6c, 0x61, 0x58, 0x47, + 0x4a, 0x44, 0x58, 0x08, 0x85, 0x0d, 0xa4, 0x7e, 0x83, 0x91, 0x5e, + 0x60, 0x84, 0x64, 0x18, 0x01, 0xcb, 0x02, 0x02, 0x33, 0x67, 0x45, + 0x80, 0x4b, 0x42, 0x72, 0x3c, 0x3e, 0x4b, 0x49, 0x44, 0x08, 0x6c, + 0x83, 0x7f, 0x70, 0x4b, 0x86, 0x44, 0x5d, 0x5c, 0x32, 0x6b, 0x00, + 0x00, 0x01, 0x01, 0x32, 0x02, 0x27, 0x03, 0x99, 0x05, 0x8d, 0x00, + 0x25, 0x00, 0x7e, 0x40, 0x47, 0x22, 0x1f, 0x0e, 0x0e, 0x05, 0x00, + 0x18, 0x19, 0x19, 0x06, 0x05, 0x12, 0x1f, 0x1f, 0x0a, 0x00, 0x05, + 0x00, 0x26, 0x27, 0x22, 0x0e, 0x0d, 0x0e, 0x0d, 0xe4, 0x59, 0x5f, + 0x0e, 0x6f, 0x0e, 0x02, 0x0c, 0x0e, 0x1c, 0x0e, 0x02, 0x09, 0x0e, + 0x0e, 0x03, 0x1c, 0x0f, 0x18, 0x1f, 0x18, 0x2f, 0x18, 0x03, 0x0d, + 0x03, 0x18, 0x18, 0x1c, 0x1c, 0x15, 0xe4, 0x59, 0x1c, 0xde, 0x03, + 0x08, 0xe4, 0x59, 0x40, 0x06, 0x01, 0x06, 0x06, 0x03, 0xdf, 0x00, + 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x2f, 0x5e, + 0x5d, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, + 0x23, 0x20, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x34, 0x2b, 0x01, + 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, + 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, + 0x1e, 0x01, 0x03, 0x99, 0x9b, 0x8e, 0xfe, 0xe2, 0x20, 0x88, 0x12, + 0xa4, 0xa0, 0xbd, 0x3d, 0x39, 0x50, 0x5c, 0x4a, 0x47, 0x44, 0x54, + 0x06, 0x87, 0x0d, 0x9d, 0x7f, 0x82, 0x94, 0x56, 0x5a, 0x5b, 0x6a, + 0x03, 0x1b, 0x74, 0x80, 0xe3, 0x0d, 0x88, 0x94, 0x89, 0x6d, 0x48, + 0x41, 0x3c, 0x45, 0x46, 0x41, 0x0c, 0x6d, 0x78, 0x77, 0x62, 0x4b, + 0x6e, 0x14, 0x02, 0x09, 0x69, 0x00, 0x01, 0x01, 0x92, 0x04, 0xb1, + 0x03, 0x3a, 0x05, 0xb4, 0x00, 0x05, 0x00, 0x18, 0x40, 0x0b, 0x03, + 0x00, 0x00, 0x06, 0x07, 0x05, 0x02, 0x8c, 0x5b, 0x05, 0x93, 0x00, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x35, 0x37, 0x33, 0x15, 0x05, 0x01, 0x92, 0xe3, 0xc5, 0xfe, 0xd4, + 0x04, 0xb1, 0x14, 0xef, 0x1d, 0xe6, 0x00, 0x01, 0x00, 0x90, 0xfe, + 0x77, 0x04, 0x3c, 0x04, 0x3a, 0x00, 0x1b, 0x00, 0x39, 0x40, 0x1c, + 0x11, 0x0a, 0x0d, 0x0d, 0x0e, 0x03, 0x17, 0x17, 0x18, 0x0e, 0x18, + 0x1c, 0x1d, 0x17, 0x0f, 0x0f, 0x0e, 0x1b, 0x06, 0x13, 0x50, 0x59, + 0x09, 0x03, 0x06, 0x16, 0x00, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x21, 0x2e, 0x01, 0x35, 0x23, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, + 0x16, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x10, 0x21, 0x32, 0x36, + 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x03, 0x94, 0x02, 0x08, 0x04, + 0x6a, 0xe4, 0x52, 0x80, 0x20, 0x04, 0x04, 0xb6, 0xb6, 0x01, 0x08, + 0x83, 0xb0, 0xb5, 0x06, 0x0b, 0xa2, 0x1a, 0xdb, 0x40, 0x3a, 0x2b, + 0x4f, 0xfe, 0x8b, 0x05, 0xc3, 0xfd, 0x7c, 0xfe, 0xc3, 0xc1, 0x97, + 0x02, 0x69, 0xfc, 0xaf, 0xbf, 0x2a, 0x00, 0x00, 0x01, 0x00, 0x7f, + 0xfe, 0xbc, 0x04, 0x38, 0x05, 0x45, 0x00, 0x0f, 0x00, 0x36, 0x40, + 0x0f, 0x05, 0x06, 0x06, 0x02, 0x0a, 0x02, 0x01, 0x0a, 0x01, 0x10, + 0x11, 0x04, 0x0f, 0x0e, 0x0f, 0xb8, 0x01, 0x10, 0xb7, 0x59, 0x07, + 0x07, 0x01, 0x0e, 0x03, 0x06, 0x01, 0x00, 0x2f, 0x33, 0x3f, 0x12, + 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x22, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x21, 0x15, 0x03, 0xb7, 0x84, 0xc5, 0x85, 0xa8, 0xc2, 0xc5, + 0xad, 0x02, 0x47, 0x04, 0xcb, 0xf9, 0xf1, 0x06, 0x0f, 0xf9, 0xf1, + 0x03, 0xbe, 0xb9, 0xaa, 0xa9, 0xbf, 0x7a, 0x00, 0x00, 0xff, 0xff, + 0x01, 0xf0, 0x01, 0xa4, 0x02, 0xdb, 0x02, 0xcf, 0x12, 0x06, 0x08, + 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x77, 0xfe, 0x44, 0x01, 0xe3, + 0x00, 0x00, 0x00, 0x13, 0x00, 0x3f, 0x40, 0x21, 0x10, 0x11, 0x11, + 0x0f, 0x0e, 0x0e, 0x04, 0x09, 0x09, 0x04, 0x00, 0x00, 0x14, 0x15, + 0x11, 0x0c, 0x92, 0x59, 0x11, 0x40, 0x0d, 0x10, 0x48, 0x11, 0x11, + 0x07, 0x0f, 0x02, 0x07, 0x8d, 0x59, 0x02, 0x95, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x2f, 0x12, 0x39, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x37, 0x33, 0x07, 0x1e, + 0x01, 0x01, 0xe3, 0xfe, 0xee, 0x39, 0x21, 0x32, 0x24, 0x93, 0x3d, + 0x48, 0x2b, 0x0e, 0x41, 0x6b, 0x27, 0x5e, 0x5e, 0xfe, 0xfe, 0xba, + 0x04, 0x62, 0x06, 0x56, 0x28, 0x2a, 0x02, 0xb6, 0x64, 0x03, 0x53, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1d, 0x02, 0x33, 0x03, 0x9b, + 0x05, 0x82, 0x00, 0x0e, 0x00, 0x35, 0x40, 0x1c, 0x0d, 0x0c, 0x01, + 0x06, 0x0a, 0x0c, 0x04, 0x02, 0x02, 0x0f, 0x10, 0x07, 0x06, 0xe4, + 0x59, 0x07, 0x07, 0x03, 0x0a, 0xdc, 0x0c, 0x01, 0x00, 0x01, 0xe4, + 0x59, 0x00, 0xdd, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x33, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x21, 0x11, 0x0e, 0x01, 0x23, + 0x35, 0x32, 0x36, 0x37, 0x33, 0x11, 0x33, 0x15, 0x01, 0x23, 0x01, + 0x09, 0x19, 0x9e, 0x58, 0x63, 0x95, 0x21, 0x79, 0xec, 0x02, 0x33, + 0x6b, 0x02, 0x62, 0x32, 0x41, 0x6d, 0x49, 0x3f, 0xfd, 0x1c, 0x6b, + 0x00, 0x00, 0x02, 0x00, 0xe2, 0x02, 0x8b, 0x03, 0xea, 0x05, 0x98, + 0x00, 0x0b, 0x00, 0x16, 0x00, 0x2d, 0x40, 0x0d, 0x11, 0x06, 0x0c, + 0x00, 0x06, 0x00, 0x17, 0x18, 0x09, 0x0f, 0xe4, 0x59, 0x09, 0xb8, + 0x01, 0x15, 0xb4, 0x03, 0x14, 0xe4, 0x59, 0x03, 0xb8, 0x01, 0x16, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, + 0x23, 0x22, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0xea, 0xcd, + 0xba, 0xb6, 0xcb, 0xce, 0xb7, 0xbd, 0xc6, 0x95, 0x78, 0x72, 0xf1, + 0x76, 0x71, 0x75, 0x7f, 0x04, 0x12, 0xb7, 0xd0, 0xd6, 0xb1, 0xb6, + 0xd0, 0xc9, 0xbd, 0x97, 0x86, 0xfe, 0xe3, 0x8c, 0x92, 0x85, 0x00, + 0x00, 0x02, 0x00, 0x6b, 0x00, 0x8d, 0x04, 0x4c, 0x03, 0xac, 0x00, + 0x08, 0x00, 0x11, 0x00, 0x56, 0x40, 0x2b, 0x03, 0x07, 0x06, 0x05, + 0x00, 0x05, 0x07, 0x03, 0x01, 0x01, 0x0a, 0x0c, 0x10, 0x0f, 0x0e, + 0x09, 0x0e, 0x10, 0x03, 0x0a, 0x0a, 0x12, 0x13, 0x11, 0x08, 0x08, + 0x03, 0x10, 0x07, 0x07, 0x0c, 0x03, 0x03, 0x00, 0x0f, 0x06, 0x00, + 0x06, 0xef, 0x5b, 0x09, 0x00, 0xee, 0x00, 0x3f, 0x32, 0x2b, 0x11, + 0x00, 0x33, 0x12, 0x39, 0x3d, 0x2f, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x23, 0x35, 0x09, 0x01, 0x35, 0x33, 0x01, + 0x15, 0x01, 0x23, 0x35, 0x09, 0x01, 0x35, 0x33, 0x01, 0x15, 0x02, + 0xfa, 0xb2, 0x01, 0x52, 0xfe, 0xb0, 0xb0, 0x01, 0x52, 0xfc, 0xd3, + 0xb4, 0x01, 0x52, 0xfe, 0xb0, 0xb2, 0x01, 0x4f, 0x8d, 0x1d, 0x01, + 0x6f, 0x01, 0x74, 0x1f, 0xfe, 0x8d, 0x3f, 0xfe, 0x93, 0x1d, 0x01, + 0x6f, 0x01, 0x74, 0x1f, 0xfe, 0x8d, 0x3f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x1b, 0x00, 0x00, 0x04, 0xcd, 0x05, 0x45, 0x10, 0x27, + 0x09, 0x09, 0xfe, 0xf6, 0x00, 0x00, 0x10, 0x26, 0x07, 0xf0, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x0c, 0x01, 0x98, 0xfd, 0xb6, 0x00, 0x28, + 0x40, 0x17, 0x03, 0x02, 0x14, 0x18, 0x03, 0x02, 0x50, 0x15, 0x01, + 0x40, 0x15, 0x01, 0x15, 0x01, 0x60, 0x10, 0x01, 0x10, 0x00, 0x20, + 0x00, 0x01, 0x00, 0x11, 0x5d, 0x35, 0x11, 0x5d, 0x35, 0x11, 0x5d, + 0x5d, 0x35, 0x35, 0x00, 0x3f, 0x35, 0x35, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x11, 0x00, 0x00, 0x04, 0xb0, 0x05, 0x45, 0x10, 0x27, 0x09, + 0x09, 0xfe, 0xec, 0x00, 0x00, 0x10, 0x26, 0x07, 0xf0, 0xf0, 0x00, + 0x11, 0x07, 0x09, 0x0a, 0x01, 0xac, 0xfd, 0xb4, 0x00, 0x18, 0x40, + 0x0d, 0x02, 0x13, 0x18, 0x01, 0x60, 0x10, 0x01, 0x10, 0x00, 0x20, + 0x00, 0x01, 0x00, 0x11, 0x5d, 0x35, 0x11, 0x5d, 0x35, 0x00, 0x3f, + 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x00, 0x04, 0xcd, + 0x05, 0x51, 0x10, 0x27, 0x09, 0x0b, 0xff, 0x21, 0x00, 0x00, 0x10, + 0x26, 0x07, 0xf0, 0x19, 0x00, 0x11, 0x07, 0x09, 0x0c, 0x01, 0x98, + 0xfd, 0xb6, 0x00, 0x20, 0x40, 0x12, 0x03, 0x02, 0x2a, 0x18, 0x03, + 0x02, 0x50, 0x2f, 0x01, 0x40, 0x2f, 0x01, 0x2f, 0x00, 0x40, 0x00, + 0x01, 0x00, 0x11, 0x5d, 0x35, 0x11, 0x5d, 0x5d, 0x35, 0x35, 0x00, + 0x3f, 0x35, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x99, 0xfe, 0xdf, + 0x04, 0x6c, 0x04, 0x39, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x48, 0x40, + 0x21, 0x09, 0x1e, 0x1e, 0x08, 0x21, 0x21, 0x18, 0x11, 0x00, 0x17, + 0x18, 0x00, 0x18, 0x22, 0x23, 0x08, 0x08, 0x21, 0x1b, 0x21, 0x20, + 0x9d, 0x5b, 0x21, 0x0f, 0x17, 0x17, 0x1b, 0x1b, 0x14, 0x5f, 0x59, + 0x1b, 0xb8, 0x01, 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x37, 0x34, 0x3e, 0x01, 0x37, 0x3e, + 0x02, 0x37, 0x33, 0x0e, 0x02, 0x07, 0x0e, 0x02, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x04, 0x23, 0x22, 0x24, 0x01, + 0x15, 0x23, 0x35, 0x99, 0x2c, 0x53, 0x5c, 0x6e, 0x47, 0x29, 0x01, + 0xaf, 0x02, 0x2d, 0x4f, 0x5f, 0x6b, 0x43, 0x28, 0x9f, 0x88, 0x87, + 0xa9, 0x0e, 0xb8, 0x1a, 0xfe, 0xf5, 0xcf, 0xdf, 0xff, 0x00, 0x02, + 0x71, 0xc3, 0x4f, 0x49, 0x72, 0x61, 0x43, 0x4f, 0x4a, 0x56, 0x37, + 0x46, 0x6f, 0x5d, 0x46, 0x4f, 0x4a, 0x55, 0x37, 0x6d, 0x75, 0x92, + 0x7e, 0x0c, 0xc5, 0xd5, 0xc1, 0x04, 0x99, 0xc9, 0xc9, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0xa7, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x11, 0x07, 0x00, 0x43, 0xff, 0xa3, 0x00, 0xf3, + 0x00, 0x15, 0xb4, 0x02, 0x0e, 0x05, 0x26, 0x02, 0xb8, 0xff, 0xa3, + 0xb4, 0x0f, 0x12, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, + 0x00, 0x5d, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x0e, 0x05, + 0x26, 0x02, 0x5d, 0x0e, 0x11, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x04, 0xcc, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, + 0x11, 0x07, 0x02, 0x87, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x13, 0x40, + 0x0b, 0x02, 0x0f, 0x05, 0x26, 0x02, 0x00, 0x14, 0x0e, 0x04, 0x07, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0x9d, 0x12, 0x26, + 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9d, 0x00, 0x00, 0x00, + 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x0e, 0x05, 0x26, 0x02, 0x00, + 0x18, 0x25, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, + 0x06, 0x5d, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x00, + 0x6a, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, + 0x0e, 0x05, 0x26, 0x03, 0x02, 0x00, 0x12, 0x10, 0x04, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0x60, 0x12, + 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9b, 0x03, 0x55, + 0x00, 0x16, 0x40, 0x0c, 0x03, 0x02, 0x23, 0x03, 0x03, 0x02, 0x03, + 0x14, 0x0e, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x3f, + 0x35, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x04, + 0xab, 0x05, 0x45, 0x00, 0x0f, 0x00, 0x15, 0x00, 0x82, 0x40, 0x4c, + 0x0a, 0x0d, 0x0f, 0x14, 0x01, 0x11, 0x02, 0x11, 0x04, 0x0f, 0x03, + 0x06, 0x0e, 0x08, 0x0c, 0x0c, 0x15, 0x0f, 0x0f, 0x0d, 0x03, 0x0e, + 0x03, 0x17, 0x16, 0x14, 0x01, 0x5f, 0x59, 0x08, 0x0b, 0x5f, 0x59, + 0x1f, 0x08, 0x2f, 0x08, 0x02, 0x0f, 0x08, 0x2f, 0x08, 0x3f, 0x08, + 0x5f, 0x08, 0x7f, 0x08, 0xaf, 0x08, 0xdf, 0x08, 0x07, 0x1f, 0x03, + 0x14, 0x08, 0x14, 0x08, 0x0f, 0x04, 0x11, 0x07, 0x04, 0x07, 0x5f, + 0x59, 0x04, 0x03, 0x0f, 0x0c, 0x5f, 0x59, 0x03, 0x0f, 0x12, 0x00, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, + 0x39, 0x39, 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x21, 0x03, 0x23, + 0x01, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, + 0x21, 0x11, 0x23, 0x06, 0x02, 0x03, 0x21, 0x02, 0x86, 0xfe, 0xb1, + 0x8e, 0xa8, 0x01, 0xe6, 0x02, 0x9b, 0xfe, 0xaf, 0x01, 0x47, 0xfe, + 0xb9, 0x01, 0x7a, 0xfd, 0xdb, 0x49, 0x04, 0x4d, 0x82, 0x01, 0x1c, + 0x01, 0x9c, 0xfe, 0x64, 0x05, 0x45, 0x98, 0xfe, 0x52, 0x96, 0xfe, + 0x2f, 0x98, 0x04, 0xb2, 0x10, 0xfe, 0xfc, 0xfe, 0x93, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x71, 0xfe, 0x44, 0x04, 0x76, 0x05, 0x5a, 0x12, + 0x26, 0x00, 0x26, 0x00, 0x00, 0x11, 0x07, 0x00, 0x7a, 0x01, 0x62, + 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x1b, 0x1b, 0x17, 0x0c, 0x07, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, + 0x00, 0x00, 0x04, 0x62, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x28, 0x00, + 0x00, 0x11, 0x07, 0x00, 0x43, 0xff, 0xb9, 0x00, 0xf4, 0x00, 0x15, + 0xb4, 0x01, 0x0c, 0x05, 0x26, 0x01, 0xb8, 0xff, 0x9d, 0xb4, 0x0d, + 0x10, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, 0xa8, 0x12, + 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x5b, + 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0c, 0x05, 0x26, 0x01, + 0x3f, 0x0c, 0x0f, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, + 0x62, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x87, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x15, 0xb4, 0x01, 0x0d, + 0x05, 0x26, 0x01, 0xb8, 0xff, 0xe4, 0xb4, 0x12, 0x0c, 0x00, 0x0a, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, 0x5d, 0x12, 0x26, 0x00, 0x28, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x6a, 0x00, 0x14, 0x00, 0xe2, 0x00, + 0x19, 0xb6, 0x02, 0x01, 0x0c, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, + 0xf8, 0xb4, 0x10, 0x0e, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, + 0x04, 0x01, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, + 0x07, 0x00, 0x43, 0xff, 0xaf, 0x00, 0xf4, 0x00, 0x15, 0xb4, 0x01, + 0x0c, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xb0, 0xb4, 0x0d, 0x10, 0x00, + 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x06, 0xa8, 0x12, 0x26, 0x00, + 0x2c, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x67, 0x00, 0xf4, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0c, 0x05, 0x26, 0x01, 0x67, 0x0c, + 0x0f, 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, 0x07, 0x02, 0x87, + 0x00, 0x00, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0d, 0x05, + 0x26, 0x01, 0x00, 0x12, 0x0c, 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, + 0x00, 0x04, 0x01, 0x06, 0x5d, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, + 0x11, 0x07, 0x00, 0x6a, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x17, 0x40, + 0x0d, 0x02, 0x01, 0x0c, 0x05, 0x26, 0x02, 0x01, 0x00, 0x10, 0x0e, + 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1b, 0x00, 0x00, 0x04, 0x65, + 0x05, 0x45, 0x00, 0x0c, 0x00, 0x19, 0x00, 0x5c, 0x40, 0x34, 0x19, + 0x13, 0x18, 0x0f, 0x0f, 0x08, 0x04, 0x13, 0x00, 0x04, 0x00, 0x1a, + 0x1b, 0x0e, 0x06, 0x07, 0x06, 0x5f, 0x59, 0x18, 0x3f, 0x07, 0x01, + 0x0f, 0x07, 0x7f, 0x07, 0x8f, 0x07, 0xbf, 0x07, 0xef, 0x07, 0x05, + 0x0c, 0x03, 0x07, 0x07, 0x04, 0x09, 0x09, 0x17, 0x5f, 0x59, 0x09, + 0x03, 0x04, 0x0f, 0x5f, 0x59, 0x04, 0x12, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, + 0x5d, 0x71, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, + 0x30, 0x01, 0x10, 0x00, 0x29, 0x01, 0x11, 0x23, 0x35, 0x33, 0x11, + 0x21, 0x20, 0x00, 0x01, 0x21, 0x11, 0x33, 0x32, 0x12, 0x11, 0x10, + 0x26, 0x2b, 0x01, 0x11, 0x21, 0x04, 0x65, 0xfe, 0xcd, 0xfe, 0xe2, + 0xfe, 0x8e, 0x87, 0x87, 0x01, 0x37, 0x01, 0x49, 0x01, 0x43, 0xfe, + 0x1d, 0xfe, 0xdf, 0xa2, 0xd4, 0xce, 0xdc, 0xef, 0x79, 0x01, 0x21, + 0x02, 0xb0, 0xfe, 0xb5, 0xfe, 0x9b, 0x02, 0x55, 0x95, 0x02, 0x5b, + 0xfe, 0xb7, 0xfe, 0x59, 0xfe, 0x47, 0x01, 0x0a, 0x01, 0x0a, 0x01, + 0x08, 0xf1, 0xfe, 0x41, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, + 0x2a, 0x06, 0x9e, 0x12, 0x26, 0x00, 0x31, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x9d, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x0e, 0x05, 0x26, 0x01, 0x00, 0x18, 0x25, 0x05, 0x0c, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x66, 0xff, 0xec, 0x04, 0x66, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x32, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x43, 0xff, 0xaa, 0x00, 0xf4, 0x00, + 0x15, 0xb4, 0x02, 0x16, 0x05, 0x26, 0x02, 0xb8, 0xff, 0xaa, 0xb4, + 0x17, 0x1a, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x06, 0xa8, + 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, + 0x62, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x16, 0x05, 0x26, + 0x02, 0x62, 0x16, 0x19, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, + 0x04, 0x66, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x87, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x17, 0x05, 0x26, 0x02, 0x00, 0x1c, 0x16, 0x06, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x06, 0x9d, 0x12, 0x26, 0x00, + 0x32, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9d, 0x00, 0x00, 0x00, 0xf4, + 0x00, 0x13, 0x40, 0x0b, 0x02, 0x16, 0x05, 0x26, 0x02, 0x00, 0x20, + 0x2d, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x06, + 0x5d, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, 0x00, 0x6a, + 0x00, 0x03, 0x00, 0xe2, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x16, + 0x05, 0x26, 0x03, 0x02, 0x02, 0x1a, 0x18, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x9d, 0x00, 0xe1, 0x04, 0x2e, 0x04, 0x73, 0x00, 0x0b, + 0x00, 0x24, 0x40, 0x0f, 0x04, 0x0a, 0x0a, 0x08, 0x02, 0x00, 0x06, + 0x08, 0x00, 0x08, 0x0c, 0x0d, 0x07, 0x01, 0xb2, 0x00, 0x19, 0x3f, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x13, 0x09, 0x01, 0x37, 0x09, 0x01, + 0x17, 0x09, 0x01, 0x07, 0x09, 0x01, 0x9d, 0x01, 0x62, 0xfe, 0xa0, + 0x68, 0x01, 0x5e, 0x01, 0x5e, 0x69, 0xfe, 0xa2, 0x01, 0x60, 0x66, + 0xfe, 0x9f, 0xfe, 0x9c, 0x01, 0x4a, 0x01, 0x62, 0x01, 0x60, 0x67, + 0xfe, 0x9f, 0x01, 0x5f, 0x69, 0xfe, 0xa4, 0xfe, 0xa0, 0x69, 0x01, + 0x61, 0xfe, 0x9d, 0x00, 0x00, 0x03, 0x00, 0x38, 0xff, 0xda, 0x04, + 0x92, 0x05, 0x70, 0x00, 0x13, 0x00, 0x1b, 0x00, 0x22, 0x00, 0x59, + 0x40, 0x32, 0x16, 0x1f, 0x17, 0x1e, 0x04, 0x1c, 0x14, 0x12, 0x0f, + 0x05, 0x08, 0x04, 0x00, 0x1c, 0x07, 0x0a, 0x14, 0x11, 0x00, 0x0a, + 0x00, 0x23, 0x24, 0x17, 0x1e, 0x16, 0x1f, 0x04, 0x21, 0x19, 0x0d, + 0x21, 0x5f, 0x59, 0x05, 0x08, 0x12, 0x0f, 0x04, 0x03, 0x10, 0x0d, + 0x04, 0x03, 0x19, 0x5f, 0x59, 0x06, 0x03, 0x13, 0x00, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x17, 0x39, 0x2b, 0x11, 0x12, + 0x00, 0x17, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x12, 0x17, 0x39, 0x11, 0x12, 0x17, 0x39, 0x31, + 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, 0x27, 0x07, 0x27, 0x37, 0x26, + 0x11, 0x10, 0x00, 0x33, 0x32, 0x17, 0x37, 0x17, 0x07, 0x16, 0x03, + 0x34, 0x27, 0x01, 0x16, 0x33, 0x32, 0x12, 0x01, 0x14, 0x17, 0x01, + 0x26, 0x23, 0x20, 0x04, 0x66, 0xfe, 0xf7, 0xf8, 0xda, 0x80, 0x75, + 0x5e, 0x8d, 0x5f, 0x01, 0x04, 0xfd, 0xd9, 0x80, 0x74, 0x5e, 0x8c, + 0x60, 0xc9, 0x1e, 0xfe, 0x00, 0x4f, 0x98, 0xa3, 0x94, 0xfd, 0x92, + 0x1e, 0x02, 0x00, 0x4d, 0x99, 0xfe, 0xc8, 0x02, 0xa9, 0xfe, 0xaf, + 0xfe, 0x94, 0x8a, 0x9c, 0x41, 0xbd, 0xae, 0x01, 0x23, 0x01, 0x51, + 0x01, 0x60, 0x86, 0x9c, 0x41, 0xbb, 0xaa, 0xfe, 0xdf, 0xa4, 0x72, + 0xfd, 0x52, 0x8a, 0x01, 0x18, 0x01, 0x0a, 0xa6, 0x74, 0x02, 0xac, + 0x83, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, + 0x3d, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, + 0x00, 0x43, 0xff, 0x9f, 0x00, 0xf4, 0x00, 0x15, 0xb4, 0x01, 0x12, + 0x05, 0x26, 0x01, 0xb8, 0xff, 0xa0, 0xb4, 0x13, 0x16, 0x06, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x8e, 0xff, 0xec, 0x04, 0x3d, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x38, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x56, 0x00, 0xf4, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x12, 0x05, 0x26, 0x01, 0x56, 0x12, 0x15, + 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, 0x3d, 0x06, 0xa8, + 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, 0x02, 0x87, 0x00, + 0x00, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x13, 0x05, 0x26, + 0x01, 0x00, 0x18, 0x12, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, + 0x04, 0x3d, 0x06, 0x5d, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, + 0x07, 0x00, 0x6a, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x17, 0x40, 0x0d, + 0x02, 0x01, 0x12, 0x05, 0x26, 0x02, 0x01, 0x00, 0x16, 0x14, 0x06, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, + 0x00, 0x65, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x09, 0x05, + 0x26, 0x01, 0x65, 0x09, 0x0c, 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x5f, 0x05, 0x45, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x36, + 0x40, 0x1c, 0x13, 0x0a, 0x06, 0x06, 0x07, 0x0e, 0x00, 0x07, 0x00, + 0x17, 0x18, 0x05, 0x13, 0x60, 0x59, 0x0a, 0x12, 0x60, 0x59, 0x05, + 0x0a, 0x05, 0x0a, 0x06, 0x08, 0x03, 0x06, 0x12, 0x00, 0x3f, 0x3f, + 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x0e, 0x01, 0x23, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, + 0x32, 0x04, 0x07, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, + 0x04, 0x5f, 0x74, 0xdb, 0x96, 0xfe, 0xe7, 0xbf, 0xbf, 0x01, 0x0d, + 0xef, 0x01, 0x02, 0xc0, 0xa4, 0xa4, 0xf6, 0xfe, 0x99, 0xa7, 0x02, + 0xb4, 0x80, 0xc7, 0x6f, 0xfe, 0x05, 0x45, 0xeb, 0xde, 0xcc, 0x86, + 0x95, 0xfd, 0xc0, 0x9b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8e, 0xff, + 0xe3, 0x04, 0x8f, 0x05, 0xcc, 0x00, 0x31, 0x00, 0x56, 0x40, 0x2f, + 0x06, 0x1f, 0x0c, 0x2c, 0x12, 0x18, 0x27, 0x12, 0x27, 0x00, 0x1f, + 0x20, 0x0c, 0x00, 0x20, 0x00, 0x32, 0x33, 0x0c, 0x2c, 0x18, 0x03, + 0x24, 0x03, 0x24, 0x1b, 0x50, 0x59, 0x24, 0x00, 0x20, 0x15, 0x03, + 0x09, 0x50, 0x59, 0x60, 0x06, 0x70, 0x06, 0x80, 0x06, 0x03, 0x06, + 0x06, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x2f, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x27, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x37, 0x3e, 0x01, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x17, + 0x1e, 0x01, 0x04, 0x8f, 0xbe, 0xa8, 0xab, 0x70, 0x02, 0x3a, 0x9a, + 0x45, 0x5c, 0x62, 0x52, 0x64, 0x5c, 0x5b, 0x39, 0x36, 0x3a, 0x35, + 0x86, 0x6d, 0x94, 0x8b, 0xb4, 0xeb, 0xe8, 0xbe, 0xe1, 0x71, 0x47, + 0x2a, 0x42, 0x77, 0x59, 0x5f, 0x01, 0x27, 0x98, 0xac, 0x31, 0xa4, + 0x21, 0x24, 0x5f, 0x4f, 0x43, 0x69, 0x3d, 0x37, 0x7e, 0x52, 0x3d, + 0x64, 0x2d, 0x30, 0x54, 0x32, 0x4d, 0x5d, 0xa0, 0xa2, 0xfc, 0x03, + 0x04, 0x03, 0xe3, 0xe6, 0xa1, 0x88, 0x8a, 0x65, 0x3f, 0x3c, 0x22, + 0x2a, 0x45, 0x50, 0x3c, 0x96, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, + 0xff, 0xec, 0x04, 0x88, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x44, 0x00, + 0x00, 0x11, 0x06, 0x00, 0x43, 0x8e, 0x00, 0x00, 0x15, 0xb4, 0x02, + 0x30, 0x11, 0x26, 0x02, 0xb8, 0xff, 0x70, 0xb4, 0x31, 0x34, 0x0f, + 0x02, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x4d, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x02, 0x30, 0x11, 0x26, 0x02, 0x2f, 0x30, + 0x33, 0x0f, 0x02, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, 0xee, 0x00, + 0x00, 0x19, 0xb7, 0x02, 0x31, 0x11, 0x26, 0x02, 0x20, 0x36, 0x01, + 0xb8, 0xff, 0xd0, 0xb4, 0x36, 0x30, 0x0f, 0x02, 0x25, 0x01, 0x2b, + 0x5d, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, 0xa9, 0x12, 0x26, 0x00, 0x44, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, 0xf8, 0x00, 0x00, 0x22, 0x40, + 0x0e, 0x02, 0x30, 0x11, 0x26, 0x02, 0x30, 0x3a, 0x01, 0x20, 0x3a, + 0x01, 0x10, 0x3a, 0x01, 0xb8, 0xff, 0xda, 0xb4, 0x3a, 0x47, 0x0f, + 0x02, 0x25, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, + 0x7b, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, + 0xf0, 0x00, 0x00, 0x1e, 0x40, 0x0a, 0x03, 0x02, 0x30, 0x11, 0x26, + 0x03, 0x02, 0x20, 0x34, 0x01, 0xb8, 0xff, 0xd2, 0xb4, 0x34, 0x32, + 0x0f, 0x02, 0x25, 0x01, 0x2b, 0x5d, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, + 0x06, 0x0b, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x02, + 0x9b, 0xf8, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x33, 0x11, + 0x26, 0x03, 0x02, 0x12, 0x36, 0x30, 0x1a, 0x1f, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x03, 0x00, 0x14, + 0xff, 0xec, 0x04, 0xb8, 0x04, 0x4e, 0x00, 0x28, 0x00, 0x35, 0x00, + 0x3c, 0x00, 0x89, 0x40, 0x4a, 0x0c, 0x22, 0x31, 0x39, 0x00, 0x00, + 0x15, 0x31, 0x31, 0x12, 0x27, 0x1c, 0x1d, 0x1d, 0x29, 0x12, 0x06, + 0x07, 0x07, 0x3a, 0x27, 0x12, 0x27, 0x3d, 0x3e, 0x36, 0x19, 0x20, + 0x19, 0x50, 0x59, 0x39, 0x00, 0x50, 0x59, 0x15, 0x31, 0x51, 0x59, + 0x39, 0x15, 0x39, 0x15, 0x0f, 0x24, 0x22, 0x20, 0x0f, 0x1c, 0x6f, + 0x1c, 0x02, 0x0b, 0x03, 0x1c, 0x1c, 0x20, 0x10, 0x03, 0x2c, 0x0f, + 0x2c, 0x50, 0x59, 0x0c, 0x09, 0x0f, 0x80, 0x06, 0x01, 0x06, 0x06, + 0x0f, 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x11, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, + 0x33, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x2b, 0x2b, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x15, 0x12, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x02, 0x23, 0x22, 0x26, 0x27, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x35, 0x10, 0x25, 0x37, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x36, + 0x33, 0x32, 0x12, 0x11, 0x15, 0x05, 0x14, 0x16, 0x33, 0x32, 0x3e, + 0x01, 0x3d, 0x01, 0x07, 0x0e, 0x02, 0x01, 0x22, 0x06, 0x07, 0x21, + 0x2e, 0x01, 0x02, 0xa7, 0x05, 0xb4, 0x4b, 0x59, 0x10, 0x8a, 0x44, + 0xf6, 0x79, 0x89, 0x22, 0x34, 0x95, 0x61, 0x81, 0x81, 0x01, 0x4a, + 0xa7, 0x40, 0x48, 0x4a, 0x43, 0x07, 0xa8, 0x13, 0x9b, 0x8d, 0xb0, + 0x47, 0x55, 0xa1, 0xa6, 0xa9, 0xfc, 0x05, 0x39, 0x39, 0x40, 0x60, + 0x36, 0x7a, 0x4f, 0x51, 0x2e, 0x02, 0x9e, 0x52, 0x5d, 0x03, 0x01, + 0x69, 0x09, 0x58, 0x01, 0xf7, 0x11, 0xfe, 0x8d, 0x5e, 0x48, 0x2d, + 0xff, 0x00, 0x6e, 0x7a, 0x7a, 0x6e, 0xa4, 0x9e, 0x01, 0x5d, 0x05, + 0x04, 0x3b, 0x87, 0x6f, 0x51, 0x5b, 0x11, 0x97, 0x8d, 0x8b, 0x8b, + 0xfe, 0xe5, 0xfe, 0xdc, 0x18, 0xcc, 0x52, 0x64, 0x59, 0x97, 0x58, + 0x59, 0x04, 0x02, 0x30, 0x64, 0x02, 0x4d, 0xae, 0x9a, 0xab, 0x9d, + 0x00, 0xff, 0xff, 0x00, 0x82, 0xfe, 0x44, 0x04, 0x38, 0x04, 0x4e, + 0x12, 0x26, 0x00, 0x46, 0x00, 0x00, 0x11, 0x07, 0x00, 0x7a, 0x01, + 0x51, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x21, 0x1f, 0x1b, 0x00, + 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x48, + 0x00, 0x00, 0x11, 0x06, 0x00, 0x43, 0xb1, 0x00, 0x00, 0x15, 0xb4, + 0x02, 0x1b, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xb2, 0xb4, 0x1c, 0x1f, + 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0xb4, + 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x6f, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x1b, 0x11, 0x26, 0x02, 0x6f, + 0x1b, 0x1e, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0xb4, + 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, 0x07, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x1c, 0x11, 0x26, 0x02, 0x07, + 0x21, 0x1b, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0x7b, + 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x08, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x1b, 0x11, 0x26, 0x03, + 0x02, 0x08, 0x1f, 0x1d, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, + 0x04, 0x65, 0x05, 0xb4, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x11, + 0x06, 0x00, 0x43, 0xbd, 0x00, 0x00, 0x1e, 0x40, 0x0b, 0x01, 0x0a, + 0x11, 0x26, 0x01, 0x60, 0x0b, 0x01, 0x50, 0x0b, 0x01, 0xb8, 0xff, + 0xa9, 0xb4, 0x0b, 0x0e, 0x03, 0x01, 0x25, 0x01, 0x2b, 0x5d, 0x5d, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, + 0x00, 0x04, 0x65, 0x05, 0xb4, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, + 0x11, 0x06, 0x00, 0x76, 0x68, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x0a, 0x11, 0x26, 0x01, 0x54, 0x0a, 0x0d, 0x03, 0x01, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, + 0x00, 0x04, 0x65, 0x05, 0xb4, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, + 0x11, 0x06, 0x02, 0x87, 0x0a, 0x00, 0x00, 0x22, 0x40, 0x0e, 0x01, + 0x0b, 0x11, 0x26, 0x01, 0x60, 0x10, 0x01, 0x50, 0x10, 0x01, 0x30, + 0x10, 0x01, 0xb8, 0xff, 0xf6, 0xb4, 0x10, 0x0a, 0x03, 0x01, 0x25, + 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x05, 0x7b, 0x12, + 0x26, 0x00, 0xf3, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x29, 0x00, + 0x00, 0x2f, 0x40, 0x1f, 0x02, 0x01, 0x0a, 0x11, 0x26, 0x02, 0x01, + 0x90, 0x0e, 0x01, 0x80, 0x0e, 0x01, 0x70, 0x0e, 0x01, 0x60, 0x0e, + 0x01, 0x50, 0x0e, 0x01, 0x40, 0x0e, 0x01, 0x00, 0x0e, 0x0c, 0x06, + 0x09, 0x25, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x02, 0x00, 0x7d, 0xff, + 0xec, 0x04, 0x4e, 0x05, 0xd8, 0x00, 0x1a, 0x00, 0x26, 0x00, 0x7f, + 0x40, 0x4a, 0x04, 0x07, 0x0c, 0x0f, 0x04, 0x0e, 0x06, 0x0e, 0x06, + 0x11, 0x18, 0x02, 0x1b, 0x1b, 0x11, 0x21, 0x18, 0x18, 0x11, 0x27, + 0x28, 0x0d, 0x04, 0x1d, 0x04, 0x2d, 0x04, 0x03, 0x02, 0x0c, 0x12, + 0x0c, 0x22, 0x0c, 0x03, 0x0f, 0x04, 0x0c, 0x07, 0x0f, 0x04, 0x04, + 0x05, 0x0d, 0x00, 0x1e, 0x50, 0x59, 0x02, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x02, 0x09, 0x03, 0x05, 0x00, 0x05, 0x00, 0x09, 0x15, 0x15, + 0x24, 0x50, 0x59, 0x15, 0x16, 0x0e, 0x0d, 0x0d, 0x09, 0x00, 0x00, + 0x3f, 0x33, 0x2f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x33, 0x2b, 0x11, 0x12, + 0x00, 0x17, 0x39, 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x01, 0x32, 0x17, 0x26, 0x27, + 0x05, 0x27, 0x37, 0x26, 0x27, 0x33, 0x16, 0x17, 0x25, 0x17, 0x07, + 0x00, 0x11, 0x15, 0x10, 0x02, 0x23, 0x22, 0x02, 0x35, 0x34, 0x36, + 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x02, 0x64, 0x89, 0x5e, 0x55, 0x87, 0xfe, 0xfc, 0x37, 0xda, + 0x6d, 0x85, 0xd1, 0x50, 0x5a, 0x01, 0x08, 0x37, 0xd3, 0x01, 0x4b, + 0xfb, 0xf6, 0xe8, 0xf8, 0xf8, 0x02, 0x1c, 0x8d, 0x9c, 0x9d, 0x91, + 0x90, 0x91, 0xa1, 0x95, 0x03, 0xd3, 0x3b, 0xc3, 0x7a, 0x73, 0x6e, + 0x5e, 0x57, 0x47, 0x24, 0x42, 0x72, 0x6c, 0x5c, 0xfe, 0xd3, 0xfe, + 0x21, 0x06, 0xfe, 0xfb, 0xfe, 0xf3, 0x01, 0x02, 0xf3, 0xf4, 0xfe, + 0xfe, 0x0e, 0xc0, 0xad, 0xae, 0xbf, 0xbe, 0xb2, 0xaf, 0xff, 0xff, + 0x00, 0xb3, 0x00, 0x00, 0x04, 0x19, 0x05, 0xa9, 0x12, 0x26, 0x00, + 0x51, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, 0x0a, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x19, 0x11, 0x26, 0x01, 0x09, 0x23, 0x30, 0x0c, + 0x17, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x52, 0x00, 0x00, 0x11, 0x06, 0x00, 0x43, 0xba, 0x00, 0x00, 0x15, + 0xb4, 0x02, 0x18, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xbb, 0xb4, 0x19, + 0x1c, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, + 0x65, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x18, 0x11, 0x26, 0x02, + 0x65, 0x18, 0x1b, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, + 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x19, 0x11, 0x26, 0x02, + 0x00, 0x1e, 0x18, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, + 0xa9, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, + 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x18, 0x11, 0x26, 0x02, + 0x00, 0x22, 0x2f, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, + 0x7b, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, + 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x18, 0x11, 0x26, + 0x03, 0x02, 0x00, 0x1c, 0x1a, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x03, 0x00, 0x74, 0x00, + 0xdf, 0x04, 0x57, 0x04, 0x75, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x55, 0x40, 0x35, 0x0b, 0x02, 0x08, 0x02, 0x01, 0x01, 0x06, + 0x05, 0x06, 0x05, 0x0d, 0x0c, 0x08, 0x09, 0xae, 0x59, 0x04, 0x08, + 0x0e, 0x5b, 0x01, 0x05, 0x0e, 0x01, 0x00, 0xae, 0x59, 0x0f, 0x01, + 0x01, 0x0f, 0x01, 0x4f, 0x01, 0x5f, 0x01, 0xaf, 0x01, 0xef, 0x01, + 0xff, 0x01, 0x06, 0x0d, 0x03, 0x01, 0x05, 0x05, 0x04, 0xad, 0x59, + 0x05, 0xb3, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x5f, 0x5e, + 0x5d, 0x71, 0x2b, 0x2b, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x35, 0x33, 0x15, 0x01, 0x35, 0x21, 0x15, 0x01, 0x35, 0x33, 0x15, + 0x02, 0x11, 0xa8, 0xfd, 0xbb, 0x03, 0xe3, 0xfd, 0xba, 0xa8, 0x03, + 0xbe, 0xb7, 0xb7, 0xfe, 0xa2, 0x92, 0x92, 0xfe, 0x7f, 0xb7, 0xb7, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x6e, 0xff, 0xec, 0x04, 0x5d, + 0x04, 0x4e, 0x00, 0x13, 0x00, 0x1b, 0x00, 0x23, 0x00, 0x5f, 0x40, + 0x35, 0x16, 0x1f, 0x17, 0x1e, 0x04, 0x1c, 0x14, 0x12, 0x0f, 0x05, + 0x08, 0x04, 0x00, 0x1c, 0x07, 0x0a, 0x14, 0x11, 0x00, 0x0a, 0x00, + 0x24, 0x25, 0x1f, 0x16, 0x1e, 0x17, 0x04, 0x19, 0x21, 0x0d, 0x21, + 0x50, 0x59, 0x05, 0x08, 0x12, 0x0f, 0x04, 0x0d, 0x03, 0x10, 0x10, + 0x0d, 0x10, 0x03, 0x19, 0x50, 0x59, 0x06, 0x06, 0x03, 0x16, 0x00, + 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x11, 0x12, + 0x17, 0x39, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, 0x17, 0x39, + 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, + 0x27, 0x07, 0x27, 0x37, 0x26, 0x35, 0x10, 0x00, 0x33, 0x32, 0x17, + 0x37, 0x17, 0x07, 0x16, 0x07, 0x34, 0x27, 0x01, 0x16, 0x33, 0x32, + 0x36, 0x25, 0x14, 0x17, 0x01, 0x26, 0x23, 0x22, 0x06, 0x04, 0x5d, + 0xfe, 0xfc, 0xf8, 0xcc, 0x7f, 0x4d, 0x4c, 0x54, 0x63, 0x01, 0x01, + 0xf8, 0xd5, 0x7a, 0x48, 0x4e, 0x50, 0x61, 0xbd, 0x21, 0xfe, 0x03, + 0x4d, 0x90, 0xa8, 0x99, 0xfd, 0x8b, 0x22, 0x01, 0xfd, 0x4b, 0x95, + 0xa4, 0x9b, 0x02, 0x1e, 0xfe, 0xf0, 0xfe, 0xde, 0x6b, 0x57, 0x44, + 0x5f, 0x8e, 0xed, 0x01, 0x10, 0x01, 0x20, 0x64, 0x52, 0x44, 0x5a, + 0x89, 0xf7, 0x93, 0x5f, 0xfd, 0xc0, 0x5f, 0xd5, 0xd8, 0x92, 0x5c, + 0x02, 0x40, 0x59, 0xd7, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, + 0xff, 0xec, 0x04, 0x1f, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x58, 0x00, + 0x00, 0x11, 0x06, 0x00, 0x43, 0xa2, 0x00, 0x00, 0x15, 0xb4, 0x01, + 0x1a, 0x11, 0x26, 0x01, 0xb8, 0xff, 0x9c, 0xb4, 0x1b, 0x1e, 0x18, + 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x5a, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1a, 0x11, 0x26, 0x01, 0x54, 0x1a, + 0x1d, 0x18, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, 0x00, 0x00, + 0x00, 0x15, 0xb4, 0x01, 0x1b, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xfa, + 0xb4, 0x20, 0x1a, 0x18, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, + 0x1f, 0x05, 0x7b, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x06, + 0x00, 0x6a, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x1a, 0x11, + 0x26, 0x02, 0x01, 0xb8, 0xff, 0xfa, 0xb4, 0x1e, 0x1c, 0x18, 0x0c, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, 0xb4, + 0x12, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x6b, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x15, 0x11, 0x26, 0x01, 0x6b, + 0x15, 0x18, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x02, 0x00, 0xb9, 0xfe, 0x57, 0x04, 0x42, 0x05, 0xcc, + 0x00, 0x0b, 0x00, 0x20, 0x00, 0x3e, 0x40, 0x1f, 0x1d, 0x06, 0x1a, + 0x1a, 0x1b, 0x00, 0x12, 0x1b, 0x12, 0x21, 0x22, 0x1c, 0x00, 0x1a, + 0x1b, 0x16, 0x14, 0x14, 0x09, 0x50, 0x59, 0x14, 0x16, 0x0c, 0x0f, + 0x0f, 0x03, 0x50, 0x59, 0x0f, 0x10, 0x00, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x01, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x11, 0x10, + 0x21, 0x22, 0x27, 0x23, 0x16, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, + 0x14, 0x07, 0x03, 0x88, 0x7a, 0x83, 0x97, 0x86, 0x86, 0x95, 0x85, + 0x7a, 0xfd, 0xe8, 0x32, 0x9b, 0x7d, 0xc6, 0xc2, 0xfe, 0x78, 0xf6, + 0x55, 0x05, 0x04, 0xb5, 0xb4, 0x04, 0x02, 0x22, 0xe2, 0xc1, 0xdb, + 0xde, 0xd5, 0xc6, 0xca, 0x02, 0x4d, 0x69, 0x5f, 0xfe, 0xef, 0xfe, + 0xe3, 0xfd, 0xca, 0xb8, 0x08, 0x9e, 0xfe, 0x59, 0x07, 0x75, 0xfe, + 0x59, 0x41, 0x5c, 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, + 0x89, 0x05, 0x7b, 0x12, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, + 0x00, 0x6a, 0x05, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x15, + 0x11, 0x26, 0x02, 0x01, 0x05, 0x19, 0x17, 0x0a, 0x11, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x24, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, 0x02, 0x01, 0x0b, 0x00, + 0x13, 0x40, 0x0b, 0x02, 0x0e, 0x05, 0x26, 0x02, 0x00, 0x0f, 0x0e, + 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, 0x53, + 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x02, 0x8a, 0xdb, + 0x00, 0x00, 0x15, 0xb4, 0x02, 0x30, 0x11, 0x26, 0x02, 0xb8, 0xff, + 0xf4, 0xb4, 0x31, 0x30, 0x1a, 0x1f, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x04, 0xcc, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x99, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x0e, 0x05, 0x26, 0x02, 0x00, 0x11, 0x19, 0x04, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x44, 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, 0xed, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x02, 0x30, 0x11, 0x26, 0x02, 0x07, 0x33, 0x3b, 0x1a, + 0x1f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xfe, 0x60, 0x04, 0xdf, 0x05, 0x45, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9c, 0x01, 0xc8, 0x00, 0x0b, + 0x00, 0x0b, 0xb6, 0x02, 0x12, 0x16, 0x16, 0x00, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xfe, 0x55, + 0x04, 0x88, 0x04, 0x4e, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x9c, 0x01, 0x71, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, + 0x02, 0xff, 0xc2, 0xb4, 0x39, 0x39, 0x02, 0x02, 0x25, 0x01, 0x2b, + 0x35, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, 0x76, 0x06, 0xa8, + 0x12, 0x26, 0x00, 0x26, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, + 0x84, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x17, 0x05, 0x26, + 0x01, 0x76, 0x17, 0x1a, 0x0c, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, + 0x04, 0x38, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x46, 0x00, 0x00, 0x11, + 0x06, 0x00, 0x76, 0x66, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1b, + 0x11, 0x26, 0x01, 0x6f, 0x1b, 0x1e, 0x00, 0x14, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, + 0x04, 0x76, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x26, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x87, 0x00, 0x14, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x18, 0x05, 0x26, 0x01, 0x06, 0x1d, 0x17, 0x0c, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x82, 0xff, 0xec, 0x04, 0x38, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x46, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x1c, 0x11, 0x26, 0x01, 0x09, 0x21, 0x1b, 0x00, + 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x71, 0xff, 0xec, 0x04, 0x76, 0x06, 0x66, 0x12, 0x26, 0x00, + 0x26, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x1e, 0x00, 0x9a, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x17, 0x05, 0x26, 0x01, 0x11, 0x17, + 0x19, 0x0c, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x38, 0x05, + 0xcc, 0x12, 0x26, 0x00, 0x46, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, + 0x14, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1b, 0x11, 0x26, 0x01, + 0x1e, 0x1b, 0x1d, 0x00, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, 0x76, 0x06, + 0xa9, 0x12, 0x26, 0x00, 0x26, 0x00, 0x00, 0x11, 0x07, 0x02, 0x88, + 0x00, 0x11, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x17, 0x05, + 0x26, 0x01, 0x03, 0x19, 0x1f, 0x0c, 0x07, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, + 0xec, 0x04, 0x38, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x46, 0x00, 0x00, + 0x11, 0x06, 0x02, 0x88, 0xfc, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x1b, 0x11, 0x26, 0x01, 0x05, 0x1d, 0x23, 0x00, 0x14, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x65, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x27, 0x00, 0x00, + 0x11, 0x07, 0x02, 0x88, 0xff, 0xe3, 0x00, 0xf5, 0x00, 0x15, 0xb4, + 0x02, 0x12, 0x05, 0x26, 0x02, 0xb8, 0xff, 0xc6, 0xb4, 0x14, 0x1a, + 0x04, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x03, 0x00, 0x1f, 0xff, 0xe6, 0x04, 0xcf, 0x05, 0xcc, 0x00, 0x17, + 0x00, 0x23, 0x00, 0x29, 0x00, 0x57, 0x40, 0x16, 0x29, 0x24, 0x24, + 0x26, 0x27, 0x27, 0x2b, 0x18, 0x06, 0x1e, 0x00, 0x0f, 0x0f, 0x10, + 0x06, 0x10, 0x2a, 0x2b, 0x14, 0x15, 0x26, 0x29, 0xb8, 0x01, 0x0c, + 0x40, 0x13, 0x59, 0x26, 0x26, 0x0f, 0x00, 0x09, 0x21, 0x50, 0x59, + 0x0d, 0x09, 0x10, 0x03, 0x1b, 0x50, 0x59, 0x00, 0x03, 0x16, 0x00, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x0e, 0x01, 0x23, 0x22, 0x02, + 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, + 0x11, 0x14, 0x17, 0x23, 0x2e, 0x01, 0x35, 0x01, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0x35, 0x13, + 0x33, 0x15, 0x03, 0x02, 0x97, 0x31, 0x85, 0x61, 0xaa, 0xb7, 0xbc, + 0xa5, 0x62, 0x84, 0x31, 0x02, 0x02, 0xb4, 0x06, 0xac, 0x04, 0x06, + 0xfe, 0x3e, 0x5d, 0x69, 0x6f, 0x89, 0x85, 0x72, 0x67, 0x60, 0x02, + 0xe2, 0x4f, 0xc5, 0xab, 0xae, 0x69, 0x5f, 0x01, 0x23, 0x01, 0x0b, + 0x01, 0x0d, 0x01, 0x29, 0x56, 0x62, 0x97, 0x01, 0xa3, 0xfb, 0x13, + 0xa9, 0x36, 0x0f, 0x74, 0x2b, 0x01, 0x6c, 0xd9, 0xd0, 0xf0, 0xc9, + 0xbd, 0xde, 0xd0, 0x01, 0x92, 0x21, 0x01, 0x24, 0x25, 0xfe, 0xe0, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1b, 0x00, 0x00, 0x04, 0x65, + 0x05, 0x45, 0x12, 0x06, 0x00, 0x92, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x8a, 0xff, 0xe6, 0x04, 0x96, 0x05, 0xcc, 0x00, 0x1e, 0x00, 0x2a, + 0x00, 0x64, 0x40, 0x27, 0x07, 0x16, 0x25, 0x03, 0x1a, 0x1a, 0x00, + 0x1b, 0x1f, 0x0e, 0x0e, 0x1b, 0x2b, 0x2c, 0x00, 0x17, 0x18, 0x17, + 0x51, 0x59, 0x1c, 0x0f, 0x18, 0x1f, 0x18, 0x02, 0x13, 0x03, 0x18, + 0x18, 0x10, 0x1a, 0x00, 0x10, 0x28, 0x50, 0x59, 0x13, 0x10, 0xb8, + 0xff, 0xc0, 0x40, 0x0e, 0x09, 0x0c, 0x48, 0x10, 0x0f, 0x0b, 0x22, + 0x50, 0x59, 0x07, 0x0b, 0x16, 0x04, 0x15, 0x00, 0x3f, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x12, + 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x17, + 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x17, 0x23, 0x2e, 0x01, 0x35, + 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, + 0x17, 0x33, 0x27, 0x35, 0x21, 0x35, 0x21, 0x35, 0x33, 0x15, 0x33, + 0x15, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x04, 0x13, 0x06, 0xac, 0x04, 0x06, 0x05, 0x31, 0xa2, + 0x79, 0xca, 0xbe, 0x01, 0x88, 0x79, 0xa3, 0x31, 0x02, 0x02, 0xfe, + 0xd4, 0x01, 0x2c, 0xb4, 0x83, 0xfc, 0xae, 0x76, 0x87, 0x93, 0x8b, + 0x85, 0x97, 0x86, 0x79, 0x04, 0xac, 0xfc, 0x33, 0xa9, 0x36, 0x0f, + 0x74, 0x2b, 0x69, 0x5f, 0x01, 0x0f, 0x01, 0x10, 0x02, 0x2b, 0x56, + 0x62, 0x97, 0x9d, 0x83, 0x9d, 0x9d, 0x83, 0xfd, 0x5f, 0xd7, 0xc3, + 0xce, 0xdb, 0xcf, 0xc2, 0xcb, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x62, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x8a, 0x00, 0x12, 0x01, 0x0b, 0x00, 0x15, 0xb4, 0x01, + 0x0c, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xf5, 0xb4, 0x0d, 0x0c, 0x00, + 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0x53, 0x12, 0x26, 0x00, + 0x48, 0x00, 0x00, 0x11, 0x06, 0x02, 0x8a, 0x02, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x02, 0x1b, 0x11, 0x26, 0x02, 0x01, 0x1c, 0x1b, 0x0d, + 0x13, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, 0xa9, 0x12, 0x26, 0x00, + 0x28, 0x00, 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, 0x00, 0x00, 0xf5, + 0x00, 0x15, 0xb4, 0x01, 0x0c, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xe4, + 0xb4, 0x0f, 0x17, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, + 0x04, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x1b, 0x11, 0x26, 0x02, + 0x04, 0x1e, 0x26, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, + 0x66, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, + 0x00, 0x00, 0x00, 0x9a, 0x00, 0x15, 0xb4, 0x01, 0x0c, 0x05, 0x26, + 0x01, 0xb8, 0xff, 0xe5, 0xb4, 0x0c, 0x0e, 0x00, 0x0a, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, + 0xec, 0x04, 0x46, 0x05, 0xd2, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, + 0x11, 0x06, 0x02, 0x9a, 0x02, 0x06, 0x00, 0x13, 0x40, 0x0b, 0x02, + 0x1b, 0x11, 0x26, 0x02, 0x03, 0x1b, 0x1d, 0x0d, 0x13, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, + 0x55, 0x04, 0x62, 0x05, 0x45, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, + 0x11, 0x07, 0x02, 0x9c, 0x01, 0x4b, 0x00, 0x00, 0x00, 0x0e, 0xb9, + 0x00, 0x01, 0xff, 0xc2, 0xb4, 0x15, 0x15, 0x0a, 0x0a, 0x25, 0x01, + 0x2b, 0x35, 0xff, 0xff, 0x00, 0x85, 0xfe, 0x55, 0x04, 0x46, 0x04, + 0x4e, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9c, + 0x3e, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xfe, 0xee, 0xb4, 0x24, + 0x24, 0x07, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, 0xa9, 0x12, 0x26, 0x00, + 0x28, 0x00, 0x00, 0x11, 0x07, 0x02, 0x88, 0x00, 0x00, 0x00, 0xf5, + 0x00, 0x15, 0xb4, 0x01, 0x0c, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xe4, + 0xb4, 0x0e, 0x14, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, + 0xf9, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x1b, 0x11, 0x26, 0x02, 0xb8, + 0xff, 0xfa, 0xb4, 0x1d, 0x23, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, + 0xec, 0x04, 0x4f, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x2a, 0x00, 0x00, + 0x11, 0x07, 0x02, 0x87, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x1b, 0x05, 0x26, 0x01, 0x06, 0x20, 0x1a, 0x05, 0x0a, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x8f, 0xfe, 0x58, 0x04, 0x1e, 0x05, 0xb4, 0x12, 0x26, + 0x00, 0x4a, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, 0xf7, 0x00, 0x00, + 0x13, 0x40, 0x0b, 0x02, 0x31, 0x11, 0x26, 0x02, 0x06, 0x36, 0x30, + 0x11, 0x1c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, 0x4f, 0x06, 0xa9, 0x12, 0x26, + 0x00, 0x2a, 0x00, 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, 0x03, 0x00, + 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1a, 0x05, 0x26, 0x01, 0x09, + 0x1d, 0x25, 0x05, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0xfe, 0x58, 0x04, 0x1e, + 0x05, 0xb4, 0x12, 0x26, 0x00, 0x4a, 0x00, 0x00, 0x11, 0x06, 0x02, + 0x99, 0xf7, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x30, 0x11, 0x26, + 0x02, 0x06, 0x33, 0x3b, 0x11, 0x1c, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, 0x4f, + 0x06, 0x66, 0x12, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x11, 0x07, 0x02, + 0x9a, 0x00, 0x0a, 0x00, 0x9a, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1a, + 0x05, 0x26, 0x01, 0x11, 0x1a, 0x1c, 0x05, 0x0a, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, + 0xfe, 0x58, 0x04, 0x1e, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4a, 0x00, + 0x00, 0x11, 0x06, 0x02, 0x9a, 0xf7, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x30, 0x11, 0x26, 0x02, 0x07, 0x30, 0x32, 0x11, 0x1c, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x71, + 0xfe, 0x59, 0x04, 0x4f, 0x05, 0x5a, 0x12, 0x26, 0x00, 0x2a, 0x00, + 0x00, 0x11, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, + 0x05, 0x1a, 0x1d, 0x05, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x8f, 0xfe, 0x58, 0x04, 0x1e, 0x06, 0x00, 0x12, 0x26, + 0x00, 0x4a, 0x00, 0x00, 0x11, 0x06, 0x09, 0x07, 0xff, 0x00, 0x00, + 0x13, 0x40, 0x0b, 0x02, 0x32, 0x11, 0x26, 0x02, 0x0d, 0x33, 0x30, + 0x11, 0x1c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x06, 0xa9, 0x12, 0x26, + 0x00, 0x2b, 0x00, 0x00, 0x11, 0x07, 0x02, 0x87, 0x00, 0x00, 0x00, + 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0d, 0x05, 0x26, 0x01, 0x00, + 0x12, 0x0c, 0x04, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb9, 0x00, 0x00, 0x04, 0x19, + 0x06, 0xa9, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x57, 0x40, 0x2e, 0x04, + 0x02, 0x13, 0x13, 0x14, 0x1e, 0x1d, 0x18, 0x18, 0x1b, 0x17, 0x16, + 0x16, 0x1a, 0x1b, 0x0b, 0x0a, 0x0a, 0x1b, 0x14, 0x03, 0x1f, 0x20, + 0x07, 0x0f, 0x50, 0x59, 0x04, 0x07, 0x07, 0x00, 0x14, 0x0a, 0x15, + 0x1e, 0x18, 0x8e, 0x59, 0x17, 0x1e, 0x8c, 0x59, 0x1a, 0x17, 0x00, + 0x03, 0x00, 0x3f, 0xce, 0x32, 0x2b, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x33, 0x11, 0x14, + 0x07, 0x33, 0x36, 0x33, 0x20, 0x19, 0x01, 0x23, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x01, 0x15, 0x23, 0x27, 0x23, + 0x07, 0x23, 0x35, 0x37, 0x33, 0xb9, 0xb5, 0x09, 0x03, 0x69, 0xea, + 0x01, 0x5e, 0xb5, 0x69, 0x73, 0x7c, 0x9f, 0xb4, 0x02, 0xf8, 0x69, + 0xdb, 0x02, 0xe8, 0x68, 0xfe, 0xa4, 0x05, 0x45, 0xfe, 0xc5, 0x3b, + 0x8a, 0xcd, 0xfe, 0x83, 0xfd, 0x6b, 0x02, 0x7b, 0x88, 0x84, 0xb5, + 0x9b, 0xfd, 0xc9, 0x05, 0xb9, 0x14, 0x8b, 0x8b, 0x14, 0xf0, 0x00, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x04, 0xca, 0x05, 0x45, 0x00, + 0x13, 0x00, 0x17, 0x00, 0x5b, 0x40, 0x31, 0x14, 0x04, 0x0c, 0x17, + 0x03, 0x0f, 0x0f, 0x00, 0x10, 0x0c, 0x07, 0x0b, 0x10, 0x0b, 0x18, + 0x19, 0x17, 0x0e, 0x5f, 0x59, 0x16, 0x0a, 0x12, 0x13, 0x12, 0x60, + 0x59, 0x07, 0x03, 0x13, 0x50, 0x17, 0x01, 0xa0, 0x17, 0xb0, 0x17, + 0x02, 0x17, 0x13, 0x17, 0x13, 0x01, 0x10, 0x0b, 0x12, 0x05, 0x01, + 0x03, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, + 0x5d, 0x71, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, + 0x15, 0x21, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, + 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x01, 0x35, 0x21, 0x15, 0xa2, + 0xbf, 0x02, 0x0a, 0xbf, 0xa0, 0xa0, 0xbf, 0xfd, 0xf6, 0xbf, 0xa0, + 0x03, 0x69, 0xfd, 0xf6, 0x04, 0x81, 0xc4, 0xc4, 0xc4, 0xc4, 0x94, + 0xfc, 0x13, 0x02, 0x6f, 0xfd, 0x91, 0x03, 0xed, 0x94, 0xfe, 0x8e, + 0xde, 0xde, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, 0x04, 0x19, + 0x05, 0xcc, 0x00, 0x1c, 0x00, 0x5c, 0x40, 0x29, 0x08, 0x02, 0x17, + 0x17, 0x18, 0x0f, 0x0e, 0x0e, 0x1e, 0x1c, 0x18, 0x18, 0x1d, 0x1e, + 0x18, 0x0e, 0x15, 0x05, 0x1a, 0x1b, 0x1a, 0x51, 0x59, 0x02, 0x1b, + 0x1b, 0x00, 0x0b, 0x0b, 0x13, 0x50, 0x59, 0x00, 0x0b, 0x01, 0xe0, + 0x0b, 0xf0, 0x0b, 0x02, 0x0b, 0xb8, 0xff, 0xc0, 0xb6, 0x09, 0x0c, + 0x48, 0x0b, 0x0f, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x2b, 0x5d, 0x71, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, + 0x33, 0x15, 0x21, 0x15, 0x21, 0x15, 0x14, 0x07, 0x33, 0x36, 0x33, + 0x20, 0x19, 0x01, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0xb9, 0xb5, 0x01, 0x2b, 0xfe, + 0xd5, 0x09, 0x03, 0x69, 0xea, 0x01, 0x5e, 0xb5, 0x69, 0x73, 0x7c, + 0x9f, 0xb4, 0x84, 0x84, 0x05, 0xcc, 0x9d, 0x83, 0x84, 0x3b, 0x8a, + 0xcd, 0xfe, 0x83, 0xfd, 0x4d, 0x02, 0x99, 0x88, 0x84, 0xb5, 0x9b, + 0xfd, 0xab, 0x04, 0xac, 0x83, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, + 0x00, 0x00, 0x04, 0x01, 0x06, 0x9e, 0x12, 0x26, 0x00, 0x2c, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x9d, 0x00, 0x01, 0x00, 0xf5, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x0c, 0x05, 0x26, 0x01, 0x01, 0x16, 0x23, 0x00, + 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x05, 0xa9, 0x12, + 0x26, 0x00, 0xf3, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, 0x00, 0x00, + 0x00, 0x15, 0xb4, 0x01, 0x0a, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xec, + 0xb4, 0x14, 0x21, 0x03, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, 0x04, + 0x01, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x8a, 0x00, 0x02, 0x01, 0x0b, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x0c, 0x05, 0x26, 0x01, 0x01, 0x0d, 0x0c, 0x00, 0x01, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x8f, 0x00, 0x00, 0x04, 0x65, 0x05, 0x53, 0x12, 0x26, 0x00, 0xf3, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x8a, 0x08, 0x00, 0x00, 0x15, 0xb4, + 0x01, 0x0a, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x0b, 0x0a, + 0x03, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x06, 0xa8, + 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, + 0x00, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0c, 0x05, 0x26, + 0x01, 0x00, 0x0f, 0x17, 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, + 0x04, 0x65, 0x05, 0xb4, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x11, + 0x06, 0x02, 0x99, 0x14, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0a, + 0x11, 0x26, 0x01, 0x00, 0x0d, 0x15, 0x03, 0x01, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xca, 0xfe, 0x55, + 0x04, 0x01, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, + 0x06, 0x02, 0x9c, 0x0d, 0x00, 0x00, 0x0e, 0xb7, 0x01, 0x01, 0x0f, + 0x11, 0x0c, 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x35, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x8f, 0xfe, 0x55, 0x04, 0x65, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x4c, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9c, 0x38, + 0x00, 0x00, 0x0e, 0xb7, 0x02, 0x02, 0x26, 0x13, 0x0e, 0x03, 0x01, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xca, 0x00, 0x00, 0x04, 0x01, 0x06, 0x66, 0x12, 0x26, 0x00, 0x2c, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x9a, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x0c, 0x05, 0x26, 0x01, 0x01, 0x0c, 0x0e, + 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x04, 0x3a, + 0x00, 0x09, 0x00, 0x2c, 0x40, 0x16, 0x01, 0x00, 0x00, 0x04, 0x05, + 0x05, 0x0b, 0x0a, 0x08, 0x07, 0x50, 0x59, 0x08, 0x0f, 0x00, 0x04, + 0x03, 0x04, 0x50, 0x59, 0x03, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, + 0x21, 0x35, 0x21, 0x02, 0xe9, 0x01, 0x7c, 0xfc, 0x2a, 0x01, 0xa6, + 0xfe, 0xc1, 0x01, 0xf3, 0x8e, 0x8e, 0x8e, 0x03, 0x1e, 0x8e, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x62, 0xff, 0xec, 0x04, 0x85, 0x05, 0x45, + 0x00, 0x03, 0x00, 0x15, 0x00, 0x3b, 0x40, 0x1e, 0x02, 0x03, 0x13, + 0x12, 0x07, 0x0c, 0x0c, 0x12, 0x03, 0x03, 0x16, 0x17, 0x13, 0x13, + 0x0f, 0x0f, 0x04, 0x5f, 0x59, 0x0f, 0x13, 0x0a, 0x09, 0x5f, 0x59, + 0x00, 0x0a, 0x03, 0x03, 0x12, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x33, 0x11, 0x23, 0x25, 0x32, 0x36, 0x35, 0x11, 0x21, 0x35, 0x21, + 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x62, + 0xbf, 0xbf, 0x02, 0x9e, 0x68, 0x5f, 0xfe, 0xf1, 0x01, 0xcd, 0xca, + 0xbc, 0xa8, 0xb9, 0x25, 0xba, 0x14, 0x67, 0x05, 0x45, 0xfa, 0xbb, + 0x87, 0x8f, 0x8a, 0x03, 0x09, 0x9c, 0xfc, 0x5f, 0xd3, 0xe5, 0xad, + 0xc5, 0x1f, 0x81, 0x75, 0x00, 0x00, 0x04, 0x00, 0xd8, 0xfe, 0x57, + 0x04, 0x25, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x16, 0x00, + 0x1a, 0x00, 0x48, 0x40, 0x28, 0x04, 0x07, 0x07, 0x02, 0x02, 0x03, + 0x17, 0x1a, 0x1a, 0x16, 0x0a, 0x10, 0x0a, 0x03, 0x03, 0x1b, 0x1c, + 0x0d, 0x13, 0x50, 0x59, 0x0d, 0x1b, 0x18, 0x05, 0x17, 0x30, 0x04, + 0x60, 0x04, 0x02, 0x80, 0x04, 0x01, 0x04, 0x03, 0x15, 0x08, 0x00, + 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x2f, 0x5d, 0x71, 0x33, 0x2f, 0x33, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, + 0x11, 0x23, 0x03, 0x35, 0x33, 0x15, 0x05, 0x33, 0x11, 0x14, 0x06, + 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x03, + 0x35, 0x33, 0x15, 0xed, 0xb3, 0xb4, 0x14, 0xc8, 0x01, 0xd1, 0xb4, + 0xe0, 0xcf, 0x4f, 0xa4, 0x2d, 0x96, 0x7b, 0x80, 0x8a, 0x14, 0xc8, + 0x04, 0x3a, 0xfb, 0xc6, 0x05, 0x0c, 0xc0, 0xc0, 0xd2, 0xfb, 0xaa, + 0xbb, 0xd2, 0x1a, 0x11, 0x8c, 0x22, 0x84, 0x77, 0x05, 0x25, 0xc0, + 0xc0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb0, 0xff, 0xec, 0x04, + 0x29, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x2d, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x87, 0x00, 0x78, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x12, 0x05, 0x26, 0x01, 0x99, 0x17, 0x11, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x75, 0xfe, 0x57, 0x04, 0x18, 0x05, 0xb4, 0x12, 0x26, 0x09, 0x08, + 0x00, 0x00, 0x10, 0x06, 0x02, 0x87, 0x67, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0xfe, 0x59, 0x04, 0xcb, 0x05, 0x45, 0x12, 0x26, + 0x00, 0x2e, 0x00, 0x00, 0x11, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, + 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xaf, 0xb4, 0x0c, 0x0f, 0x04, 0x0b, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xec, 0xfe, + 0x59, 0x04, 0x65, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4e, 0x00, 0x00, + 0x11, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, + 0xff, 0xbd, 0xb4, 0x0c, 0x0f, 0x04, 0x0b, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xec, 0x00, 0x00, 0x04, 0x65, 0x04, + 0x3a, 0x00, 0x0b, 0x00, 0x3c, 0x40, 0x1d, 0x01, 0x0a, 0x09, 0x07, + 0x03, 0x03, 0x04, 0x08, 0x09, 0x00, 0x0b, 0x0b, 0x09, 0x04, 0x03, + 0x0c, 0x0d, 0x02, 0x07, 0x0a, 0x01, 0x07, 0x01, 0x08, 0x05, 0x0f, + 0x04, 0x00, 0x15, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, 0x21, + 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, 0x11, 0x01, 0x33, 0x09, 0x01, + 0x03, 0x92, 0xfe, 0x92, 0x84, 0xb4, 0xb4, 0x01, 0xdb, 0xd3, 0xfe, + 0x49, 0x01, 0xce, 0x01, 0xee, 0x62, 0xfe, 0x74, 0x04, 0x3a, 0xfd, + 0xe6, 0x02, 0x1a, 0xfe, 0x2f, 0xfd, 0x97, 0x00, 0xff, 0xff, 0x00, + 0xed, 0x00, 0x00, 0x04, 0x4c, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x2f, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0xff, 0x9e, 0x00, 0xf5, 0x00, + 0x15, 0xb4, 0x01, 0x06, 0x05, 0x26, 0x01, 0xb8, 0xff, 0x68, 0xb4, + 0x06, 0x09, 0x00, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x02, 0x00, 0x86, 0x00, 0x00, 0x04, 0x5c, 0x06, 0xa9, + 0x00, 0x09, 0x00, 0x0f, 0x00, 0x47, 0x40, 0x24, 0x0c, 0x0d, 0x0d, + 0x0f, 0x0a, 0x0a, 0x05, 0x01, 0x00, 0x00, 0x04, 0x05, 0x05, 0x11, + 0x10, 0x0f, 0x0c, 0x8c, 0x59, 0x0f, 0x08, 0x40, 0x08, 0x07, 0x50, + 0x59, 0x08, 0x03, 0x00, 0x04, 0x03, 0x04, 0x50, 0x59, 0x03, 0x15, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, 0x1a, + 0x18, 0x10, 0xce, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x27, + 0x35, 0x37, 0x33, 0x15, 0x05, 0x02, 0xe0, 0x01, 0x7c, 0xfc, 0x2a, + 0x01, 0xa6, 0xfe, 0xdf, 0x01, 0xd5, 0xcd, 0xe3, 0xc5, 0xfe, 0xd4, + 0x8e, 0x8e, 0x8e, 0x04, 0x29, 0x8e, 0x60, 0x14, 0xf0, 0x1d, 0xe7, + 0x00, 0xff, 0xff, 0x00, 0xed, 0xfe, 0x59, 0x04, 0x4c, 0x05, 0x45, + 0x12, 0x26, 0x00, 0x2f, 0x00, 0x00, 0x11, 0x06, 0x09, 0x04, 0x0a, + 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xd3, 0xb4, 0x06, 0x09, + 0x00, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x01, + 0x0b, 0xfe, 0x59, 0x04, 0x5c, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4f, + 0x00, 0x00, 0x11, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x0e, 0xb9, + 0x00, 0x01, 0xff, 0xf4, 0xb4, 0x0a, 0x0d, 0x03, 0x01, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xed, 0x00, 0x00, 0x04, + 0x4c, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2f, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x04, 0x01, 0x2c, 0x05, 0xa7, 0x00, 0x12, 0x40, 0x0a, 0x01, + 0x08, 0x03, 0x01, 0xf4, 0x06, 0x09, 0x00, 0x04, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x3f, 0x35, 0xff, 0xff, 0x00, 0xda, 0x00, 0x00, 0x04, + 0x93, 0x05, 0xcc, 0x10, 0x26, 0x00, 0x4f, 0xcf, 0x00, 0x11, 0x07, + 0x09, 0x06, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x14, 0xb3, 0x01, 0x0c, + 0x00, 0x01, 0xb8, 0x01, 0xc9, 0xb4, 0x0a, 0x0d, 0x03, 0x01, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x3f, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xed, 0x00, 0x00, 0x04, 0x4c, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2f, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x9c, 0xfd, 0x54, 0x00, + 0x0b, 0xb6, 0x01, 0x66, 0x06, 0x08, 0x00, 0x04, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x0b, 0x00, 0x00, 0x04, + 0x6b, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4f, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x9a, 0x01, 0xa0, 0xfd, 0x54, 0x00, 0x11, 0xb1, 0x01, 0x01, + 0xb8, 0x01, 0x96, 0xb4, 0x0a, 0x0c, 0x03, 0x01, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x35, 0x00, 0x00, 0x01, 0x00, 0x36, 0x00, 0x00, 0x04, + 0x4c, 0x05, 0x45, 0x00, 0x0d, 0x00, 0x48, 0x40, 0x27, 0x07, 0x0b, + 0x0b, 0x04, 0x00, 0x00, 0x0d, 0x0e, 0x0f, 0x09, 0x03, 0x01, 0x0a, + 0x04, 0x07, 0x04, 0x02, 0x0f, 0x08, 0x1f, 0x08, 0x2f, 0x08, 0x03, + 0x0f, 0x03, 0x08, 0x02, 0x08, 0x02, 0x00, 0x05, 0x03, 0x00, 0x0b, + 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, + 0x39, 0x39, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x12, 0x17, 0x39, 0x32, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x33, 0x11, 0x07, 0x27, 0x37, 0x11, 0x33, 0x11, 0x25, + 0x17, 0x05, 0x11, 0x21, 0x15, 0xed, 0x75, 0x42, 0xb7, 0xbf, 0x01, + 0x24, 0x3d, 0xfe, 0x9f, 0x02, 0xa0, 0x01, 0xca, 0x3d, 0x79, 0x60, + 0x02, 0xdf, 0xfd, 0x84, 0x97, 0x79, 0xb9, 0xfe, 0x6e, 0x9c, 0x00, + 0x00, 0x01, 0x00, 0x86, 0x00, 0x00, 0x04, 0x5c, 0x05, 0xcc, 0x00, + 0x11, 0x00, 0x4f, 0x40, 0x2a, 0x05, 0x00, 0x04, 0x08, 0x0d, 0x04, + 0x03, 0x09, 0x09, 0x12, 0x13, 0x0a, 0x03, 0x0d, 0x00, 0x04, 0x0b, + 0x0f, 0x0b, 0x01, 0x0c, 0x03, 0x01, 0x0b, 0x01, 0x0b, 0x10, 0x07, + 0x10, 0x0f, 0x50, 0x59, 0x10, 0x00, 0x04, 0x08, 0x07, 0x08, 0x50, + 0x59, 0x07, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, 0x5e, + 0x5d, 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x37, 0x17, 0x05, 0x11, 0x21, + 0x15, 0x21, 0x35, 0x21, 0x11, 0x07, 0x27, 0x25, 0x11, 0x21, 0x35, + 0x21, 0x02, 0xe0, 0xe1, 0x3e, 0xfe, 0xe1, 0x01, 0x7c, 0xfc, 0x2a, + 0x01, 0xa6, 0xda, 0x40, 0x01, 0x1a, 0xfe, 0xad, 0x02, 0x07, 0x03, + 0x74, 0x81, 0x71, 0xa4, 0xfd, 0xae, 0x8e, 0x8e, 0x01, 0xed, 0x7b, + 0x70, 0x9f, 0x02, 0x2f, 0x8e, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x2a, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x31, 0x00, 0x00, 0x11, + 0x07, 0x00, 0x76, 0x00, 0x7a, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x0e, 0x05, 0x26, 0x01, 0x7a, 0x0e, 0x11, 0x05, 0x0c, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xb3, 0x00, 0x00, 0x04, 0x19, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x51, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x89, 0x00, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x19, 0x11, 0x26, 0x01, 0x89, 0x19, + 0x1c, 0x0c, 0x17, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0x59, 0x04, 0x2a, 0x05, + 0x45, 0x12, 0x26, 0x00, 0x31, 0x00, 0x00, 0x11, 0x06, 0x09, 0x04, + 0xe1, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xe0, 0xb4, 0x0e, + 0x11, 0x05, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xb3, 0xfe, 0x59, 0x04, 0x19, 0x04, 0x4e, 0x12, 0x26, 0x00, + 0x51, 0x00, 0x00, 0x11, 0x06, 0x09, 0x04, 0xe5, 0x00, 0x00, 0x0e, + 0xb9, 0x00, 0x01, 0xff, 0xe4, 0xb4, 0x19, 0x1c, 0x0c, 0x17, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x2a, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x31, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x88, 0x00, 0x06, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x0e, 0x05, 0x26, 0x01, 0x06, 0x10, 0x16, 0x05, 0x0c, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xb3, 0x00, 0x00, 0x04, 0x19, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x51, 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x19, 0x11, 0x26, 0x01, 0x00, 0x1b, 0x21, 0x0c, + 0x17, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x05, 0x00, 0x00, 0x04, 0x82, 0x05, 0x46, 0x10, 0x26, 0x00, + 0x51, 0x69, 0x00, 0x11, 0x07, 0x09, 0x04, 0xfe, 0x2a, 0x05, 0xa8, + 0x00, 0x18, 0xb6, 0x01, 0x1b, 0x03, 0x01, 0x20, 0x19, 0x01, 0xb8, + 0xfd, 0xc0, 0xb4, 0x19, 0x1c, 0x0c, 0x17, 0x25, 0x01, 0x2b, 0x5d, + 0x35, 0x00, 0x3f, 0x35, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb3, 0xff, + 0xec, 0x04, 0x55, 0x05, 0x5a, 0x00, 0x23, 0x00, 0x43, 0x40, 0x22, + 0x07, 0x06, 0x06, 0x0d, 0x1e, 0x15, 0x15, 0x0d, 0x00, 0x00, 0x16, + 0x16, 0x24, 0x25, 0x1e, 0x21, 0x21, 0x11, 0x60, 0x59, 0x21, 0x04, + 0x19, 0x03, 0x16, 0x12, 0x03, 0x0a, 0x5f, 0x59, 0x07, 0x07, 0x03, + 0x13, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x12, 0x39, 0x11, + 0x33, 0x32, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x10, 0x02, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, + 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x17, 0x33, 0x36, 0x21, 0x20, + 0x11, 0x04, 0x55, 0xa2, 0xb1, 0x5c, 0x83, 0x3e, 0x83, 0x2b, 0x46, + 0x2e, 0x4f, 0x4a, 0x74, 0x7c, 0x8d, 0xb6, 0xb4, 0x06, 0xaa, 0x01, + 0x02, 0x03, 0x02, 0x03, 0x6a, 0x01, 0x18, 0x01, 0x6b, 0x02, 0x1e, + 0xfe, 0xd3, 0xfe, 0xfb, 0x3f, 0x59, 0x64, 0x3c, 0x27, 0xbc, 0xe1, + 0x01, 0xa1, 0x89, 0x83, 0xb7, 0x99, 0xfc, 0x81, 0x04, 0x5f, 0xbd, + 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0xcd, 0xfe, 0x83, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x04, 0x4e, 0x00, 0x21, + 0x00, 0x38, 0x40, 0x1e, 0x1e, 0x14, 0x0d, 0x04, 0x04, 0x05, 0x05, + 0x14, 0x19, 0x03, 0x22, 0x23, 0x17, 0x1b, 0x50, 0x59, 0x17, 0x1b, + 0x0d, 0x10, 0x10, 0x00, 0x50, 0x59, 0x10, 0x10, 0x08, 0x0f, 0x05, + 0x15, 0x00, 0x3f, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, + 0x27, 0x33, 0x1e, 0x02, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, + 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x35, + 0x11, 0x34, 0x26, 0x02, 0x88, 0x7c, 0x9f, 0xb4, 0x06, 0xaa, 0x01, + 0x02, 0x03, 0x02, 0x03, 0x69, 0xf1, 0xad, 0xaa, 0x78, 0x79, 0x4d, + 0x32, 0x3e, 0x45, 0x38, 0x69, 0x03, 0xc3, 0xb5, 0x9b, 0xfd, 0x8d, + 0x03, 0x53, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0xcd, 0xbb, 0xc2, + 0xfc, 0xa9, 0x97, 0x8c, 0x09, 0x8b, 0x06, 0x48, 0x68, 0x03, 0x22, + 0x88, 0x84, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, + 0x04, 0x66, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x8a, 0x00, 0x02, 0x01, 0x0b, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x16, 0x05, 0x26, 0x02, 0x00, 0x17, 0x16, 0x06, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, 0x53, 0x12, 0x26, 0x00, + 0x52, 0x00, 0x00, 0x11, 0x06, 0x02, 0x8a, 0x02, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x02, 0x18, 0x11, 0x26, 0x02, 0x01, 0x19, 0x18, 0x06, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x06, 0xa9, 0x12, 0x26, 0x00, + 0x32, 0x00, 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, 0x00, 0x00, 0xf5, + 0x00, 0x13, 0x40, 0x0b, 0x02, 0x16, 0x05, 0x26, 0x02, 0x00, 0x19, + 0x21, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, + 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x18, 0x11, 0x26, 0x02, + 0x00, 0x1b, 0x23, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9e, + 0x01, 0x2d, 0x00, 0xf4, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x16, + 0x05, 0x26, 0x03, 0x02, 0x5f, 0x1c, 0x19, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x53, 0x05, 0xb4, 0x12, 0x26, + 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9e, 0x01, 0x40, 0x00, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x18, 0x11, 0x26, 0x03, + 0x02, 0x72, 0x1e, 0x1b, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x14, + 0xff, 0xfb, 0x04, 0xc5, 0x05, 0x4b, 0x00, 0x14, 0x00, 0x1f, 0x00, + 0x79, 0x40, 0x4a, 0x10, 0x0c, 0x17, 0x1d, 0x05, 0x0e, 0x12, 0x12, + 0x17, 0x0c, 0x13, 0x13, 0x17, 0x05, 0x03, 0x20, 0x21, 0x0e, 0x11, + 0x5f, 0x59, 0x0f, 0x0e, 0x4f, 0x0e, 0x5f, 0x0e, 0x03, 0x3f, 0x0e, + 0x5f, 0x0e, 0x6f, 0x0e, 0x8f, 0x0e, 0x9f, 0x0e, 0xaf, 0x0e, 0xdf, + 0x0e, 0x07, 0x0f, 0x0e, 0xbf, 0x0e, 0x02, 0x0c, 0x03, 0x0e, 0x0e, + 0x0b, 0x14, 0x15, 0x13, 0x14, 0x13, 0x5f, 0x59, 0x02, 0x02, 0x14, + 0x12, 0x1a, 0x0c, 0x0b, 0x0c, 0x5f, 0x59, 0x08, 0x08, 0x0b, 0x03, + 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, + 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x39, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x71, 0x72, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, + 0x30, 0x21, 0x06, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x21, 0x32, + 0x17, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, + 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, + 0x02, 0x61, 0x39, 0x29, 0xff, 0xec, 0xed, 0x01, 0x00, 0x3a, 0x33, + 0x02, 0x2e, 0xfe, 0x72, 0x01, 0x6f, 0xfe, 0x91, 0x01, 0xb7, 0xfd, + 0x3b, 0x48, 0x1c, 0x26, 0x3d, 0xa3, 0x95, 0x9a, 0x05, 0x01, 0x52, + 0x01, 0x5c, 0x01, 0x5e, 0x01, 0x44, 0x06, 0x98, 0xfe, 0x48, 0x96, + 0xfe, 0x39, 0x98, 0x8c, 0x06, 0x04, 0x21, 0x06, 0xff, 0x00, 0xfe, + 0xf0, 0xfe, 0xed, 0xfe, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x1c, 0xff, 0xec, 0x04, 0xb4, 0x04, 0x4e, 0x00, 0x1a, 0x00, 0x25, + 0x00, 0x2c, 0x00, 0x6f, 0x40, 0x3b, 0x0b, 0x15, 0x1b, 0x29, 0x00, + 0x00, 0x1b, 0x1b, 0x19, 0x21, 0x10, 0x06, 0x07, 0x07, 0x2a, 0x19, + 0x10, 0x19, 0x2d, 0x2e, 0x29, 0x00, 0x50, 0x59, 0x29, 0x29, 0x0d, + 0x13, 0x26, 0x1e, 0x13, 0x1e, 0x50, 0x59, 0x17, 0x15, 0x13, 0x10, + 0x03, 0x23, 0x0d, 0x23, 0x50, 0x59, 0x0b, 0x09, 0x0d, 0xdf, 0x06, + 0xef, 0x06, 0x02, 0x80, 0x06, 0x01, 0x06, 0x06, 0x0d, 0x16, 0x00, + 0x3f, 0x33, 0x2f, 0x5d, 0x5d, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x37, 0x17, 0x02, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, 0x02, 0x11, + 0x10, 0x12, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x11, 0x15, 0x25, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x10, 0x33, 0x32, 0x36, 0x01, + 0x22, 0x06, 0x07, 0x21, 0x2e, 0x01, 0x02, 0xc8, 0x57, 0x51, 0x41, + 0x4e, 0x0e, 0x8a, 0x3f, 0xe6, 0xb6, 0x51, 0x53, 0xb7, 0x9d, 0xa8, + 0xaa, 0xa2, 0xbb, 0x4f, 0x55, 0xae, 0x01, 0x3f, 0xfd, 0x6b, 0x4f, + 0x5b, 0x5b, 0x55, 0xaa, 0x5e, 0x52, 0x01, 0x4c, 0x48, 0x56, 0x03, + 0x01, 0x44, 0x08, 0x50, 0x01, 0xf7, 0xbd, 0xc7, 0x5e, 0x48, 0x2d, + 0xff, 0x00, 0xb7, 0xb7, 0x01, 0x21, 0x01, 0x11, 0x01, 0x17, 0x01, + 0x19, 0xb1, 0xb1, 0xfd, 0xc1, 0x18, 0x27, 0xdb, 0xd0, 0xd0, 0xdb, + 0xfe, 0x53, 0xd1, 0x02, 0x87, 0xad, 0x9b, 0xab, 0x9d, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x99, 0x06, 0xa9, 0x12, + 0x26, 0x00, 0x35, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x48, + 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x16, 0x05, 0x26, 0x02, + 0x10, 0x16, 0x19, 0x04, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xf2, 0x00, 0x00, 0x04, + 0x15, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x55, 0x00, 0x00, 0x11, 0x06, + 0x00, 0x76, 0x59, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x16, 0x11, + 0x26, 0x01, 0x3b, 0x16, 0x19, 0x0b, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0x59, 0x04, + 0x99, 0x05, 0x45, 0x12, 0x26, 0x00, 0x35, 0x00, 0x00, 0x11, 0x06, + 0x09, 0x04, 0xfd, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xc5, + 0xb4, 0x16, 0x19, 0x04, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xcb, 0xfe, 0x59, 0x04, 0x15, 0x04, 0x4e, 0x12, + 0x26, 0x00, 0x55, 0x00, 0x00, 0x11, 0x07, 0x09, 0x04, 0xfe, 0xf0, + 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xfe, 0xd2, 0xb4, 0x16, + 0x19, 0x0b, 0x00, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0xa2, + 0x00, 0x00, 0x04, 0x99, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x35, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x88, 0xff, 0xed, 0x00, 0xf5, 0x00, 0x15, + 0xb4, 0x02, 0x16, 0x05, 0x26, 0x02, 0xb8, 0xff, 0xb6, 0xb4, 0x18, + 0x1e, 0x04, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0xf2, 0x00, 0x00, 0x04, 0x15, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x55, 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, 0x14, 0x00, + 0x00, 0x15, 0xb4, 0x01, 0x16, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xf7, + 0xb4, 0x18, 0x1e, 0x0b, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4f, 0xff, 0xec, 0x04, + 0x68, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x36, 0x00, 0x00, 0x11, 0x07, + 0x00, 0x76, 0x00, 0x78, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x2d, 0x05, 0x26, 0x01, 0x82, 0x2d, 0x30, 0x05, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xa7, 0xff, 0xec, 0x04, 0x24, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x56, + 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x56, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x27, 0x11, 0x26, 0x01, 0x56, 0x27, 0x2a, 0x06, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x4f, 0xff, 0xec, 0x04, 0x68, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x36, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x87, 0x00, 0x04, 0x00, 0xf5, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x2e, 0x05, 0x26, 0x01, 0x0e, 0x33, 0x2d, + 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xa7, 0xff, 0xec, 0x04, 0x24, 0x05, 0xb4, + 0x12, 0x26, 0x00, 0x56, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, 0x0f, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x28, 0x11, 0x26, 0x01, 0x0f, + 0x2d, 0x27, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x4f, 0xfe, 0x44, 0x04, 0x68, 0x05, 0x5a, + 0x12, 0x26, 0x00, 0x36, 0x00, 0x00, 0x11, 0x07, 0x00, 0x7a, 0x01, + 0x4c, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x1d, 0x31, 0x2d, 0x05, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xa7, 0xfe, 0x44, 0x04, 0x24, 0x04, 0x4b, 0x12, 0x26, 0x00, 0x56, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x7a, 0x01, 0x56, 0x00, 0x00, 0x00, + 0x0b, 0xb6, 0x01, 0x1d, 0x2b, 0x27, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4f, 0xff, 0xec, 0x04, + 0x68, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x36, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x88, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x2d, 0x05, 0x26, 0x01, 0x0a, 0x2f, 0x35, 0x05, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xa7, 0xff, 0xec, 0x04, 0x24, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x56, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, 0x05, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x27, 0x11, 0x26, 0x01, 0x05, 0x29, 0x2f, 0x06, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x4c, 0xfe, 0x59, 0x04, 0x80, 0x05, 0x45, 0x12, 0x26, 0x00, 0x37, + 0x00, 0x00, 0x11, 0x06, 0x09, 0x04, 0xe3, 0x00, 0x00, 0x0e, 0xb9, + 0x00, 0x01, 0xff, 0xe2, 0xb4, 0x08, 0x0b, 0x04, 0x06, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xbe, 0xfe, 0x59, 0x03, + 0xf9, 0x05, 0x54, 0x12, 0x26, 0x00, 0x57, 0x00, 0x00, 0x11, 0x06, + 0x09, 0x04, 0x05, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x0e, 0x16, 0x19, + 0x00, 0x0e, 0x25, 0x01, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x4c, + 0x00, 0x00, 0x04, 0x80, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x37, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x88, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x08, 0x05, 0x26, 0x01, 0x00, 0x0a, 0x10, 0x04, + 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x65, 0xff, 0xf0, 0x04, 0xc5, 0x05, 0xcc, 0x10, + 0x26, 0x00, 0x57, 0xa7, 0x00, 0x11, 0x07, 0x09, 0x06, 0x01, 0xd6, + 0x00, 0x00, 0x00, 0x11, 0xb1, 0x01, 0x01, 0xb8, 0x02, 0x38, 0xb4, + 0x16, 0x19, 0x00, 0x0e, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x35, 0x00, + 0x00, 0x01, 0x00, 0x4c, 0x00, 0x00, 0x04, 0x80, 0x05, 0x45, 0x00, + 0x0f, 0x00, 0x46, 0x40, 0x23, 0x09, 0x0d, 0x0d, 0x06, 0x02, 0x0e, + 0x0e, 0x01, 0x05, 0x05, 0x0a, 0x06, 0x06, 0x10, 0x11, 0x00, 0x0c, + 0x0d, 0x0c, 0x5f, 0x59, 0x04, 0x08, 0x09, 0x08, 0x5f, 0x59, 0x01, + 0x09, 0x09, 0x05, 0x0d, 0x03, 0x05, 0x12, 0x00, 0x3f, 0x3f, 0x12, + 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x11, 0x33, 0x15, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x35, 0x21, + 0x15, 0x02, 0xc5, 0xf0, 0xf0, 0xbe, 0xf0, 0xf0, 0xfe, 0x45, 0x04, + 0x34, 0x04, 0xa9, 0xfe, 0x58, 0x95, 0xfd, 0x94, 0x02, 0x6c, 0x95, + 0x01, 0xa8, 0x9c, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, + 0xff, 0xf0, 0x04, 0x03, 0x05, 0x54, 0x00, 0x1d, 0x00, 0x52, 0x40, + 0x2c, 0x1d, 0x19, 0x03, 0x03, 0x16, 0x12, 0x0e, 0x08, 0x1b, 0x01, + 0x0e, 0x14, 0x10, 0x06, 0x1e, 0x1f, 0x1c, 0x14, 0x15, 0x14, 0x50, + 0x59, 0x02, 0x10, 0x11, 0x10, 0x50, 0x59, 0x1d, 0x11, 0x11, 0x06, + 0x19, 0x15, 0x17, 0x17, 0x15, 0x0f, 0x0b, 0x06, 0x50, 0x59, 0x0b, + 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x11, 0x33, + 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x35, + 0x33, 0x11, 0x23, 0x35, 0x33, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, + 0x11, 0x03, 0xd4, 0xfe, 0x50, 0x55, 0x61, 0x86, 0xa3, 0xa9, 0xa6, + 0xa2, 0xa2, 0xa8, 0xa8, 0xa8, 0xaa, 0x3a, 0x78, 0x01, 0xb0, 0xfe, + 0x50, 0x02, 0x87, 0x84, 0xe3, 0x4f, 0x4c, 0x22, 0x89, 0x2e, 0x89, + 0x94, 0xf6, 0x84, 0x01, 0x25, 0x8e, 0x01, 0x1a, 0xfe, 0xe6, 0x8e, + 0xfe, 0xdb, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, 0x3d, + 0x06, 0x9e, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, 0x02, + 0x9d, 0x00, 0x01, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x12, + 0x05, 0x26, 0x01, 0x01, 0x1c, 0x29, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, + 0xff, 0xec, 0x04, 0x1f, 0x05, 0xa9, 0x12, 0x26, 0x00, 0x58, 0x00, + 0x00, 0x11, 0x06, 0x02, 0x9d, 0x01, 0x00, 0x00, 0x15, 0xb4, 0x01, + 0x1a, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xfb, 0xb4, 0x24, 0x31, 0x18, + 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, 0x3d, 0x06, 0x5e, 0x12, + 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, 0x02, + 0x01, 0x0b, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x12, 0x05, 0x26, 0x01, + 0x01, 0x13, 0x12, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, + 0x1f, 0x05, 0x53, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x06, + 0x02, 0x8a, 0x02, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x1a, 0x11, 0x26, + 0x01, 0xb8, 0xff, 0xfb, 0xb4, 0x1b, 0x1a, 0x18, 0x0c, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x8e, 0xff, 0xec, 0x04, 0x3d, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x38, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, 0x00, 0x00, 0xf5, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x12, 0x05, 0x26, 0x01, 0x00, 0x15, 0x1d, + 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x05, 0xb4, + 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, 0x00, + 0x00, 0x00, 0x15, 0xb4, 0x01, 0x1a, 0x11, 0x26, 0x01, 0xb8, 0xff, + 0xfa, 0xb4, 0x1d, 0x25, 0x18, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, + 0x04, 0x3d, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x9b, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x2e, 0xb2, 0x02, + 0x01, 0x15, 0xb8, 0xff, 0xc0, 0x40, 0x18, 0x14, 0x18, 0x48, 0x90, + 0x15, 0x01, 0x70, 0x15, 0x01, 0x10, 0x15, 0x01, 0x00, 0x15, 0x01, + 0x15, 0x02, 0x01, 0x00, 0x18, 0x12, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x11, 0x5d, 0x5d, 0x5d, 0x5d, 0x2b, 0x35, 0x35, + 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x06, 0x0b, 0x12, + 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9b, 0x00, 0x00, + 0x00, 0x19, 0xb6, 0x02, 0x01, 0x1d, 0x11, 0x26, 0x02, 0x01, 0xb8, + 0xff, 0xfa, 0xb4, 0x20, 0x1a, 0x18, 0x0c, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x8e, 0xff, 0xec, 0x04, 0x4b, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x38, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x9e, 0x01, 0x38, 0x00, 0xf5, 0x00, + 0x17, 0x40, 0x0d, 0x02, 0x01, 0x12, 0x05, 0x26, 0x02, 0x01, 0x6a, + 0x18, 0x15, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, + 0x04, 0x51, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x9e, 0x01, 0x3e, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, + 0x02, 0x01, 0x1a, 0x11, 0x26, 0x02, 0x01, 0x6a, 0x20, 0x1d, 0x18, + 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xfe, 0x55, 0x04, 0x3d, 0x05, + 0x45, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9c, + 0x3b, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x3d, 0x17, 0x12, 0x06, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xfe, 0x55, + 0x04, 0x38, 0x04, 0x3a, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x9c, 0x01, 0x21, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, + 0x00, 0x22, 0x22, 0x0d, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0xa9, + 0x12, 0x26, 0x00, 0x3a, 0x00, 0x00, 0x11, 0x07, 0x02, 0x87, 0xff, + 0xfc, 0x00, 0xf5, 0x00, 0x15, 0xb4, 0x01, 0x19, 0x05, 0x26, 0x01, + 0xb8, 0xff, 0xfc, 0xb4, 0x1e, 0x18, 0x09, 0x17, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x15, 0x00, 0x00, + 0x04, 0xb8, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x5a, 0x00, 0x00, 0x11, + 0x06, 0x02, 0x87, 0xfc, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x1b, 0x11, + 0x26, 0x01, 0xb8, 0xff, 0xfc, 0xb4, 0x20, 0x1a, 0x07, 0x19, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, 0x06, 0xa9, 0x12, 0x26, 0x00, + 0x3c, 0x00, 0x00, 0x11, 0x07, 0x02, 0x87, 0xff, 0xfc, 0x00, 0xf5, + 0x00, 0x15, 0xb4, 0x01, 0x0a, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xfc, + 0xb4, 0x0f, 0x09, 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, 0x02, 0x87, + 0xfc, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x16, 0x11, 0x26, 0x01, 0xb8, + 0xff, 0xfd, 0xb4, 0x1b, 0x15, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, + 0x00, 0x04, 0xa8, 0x06, 0x5d, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, + 0x11, 0x07, 0x00, 0x6a, 0x00, 0x01, 0x00, 0xe2, 0x00, 0x17, 0x40, + 0x0d, 0x02, 0x01, 0x09, 0x05, 0x26, 0x02, 0x01, 0x00, 0x0d, 0x0b, + 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x49, 0x00, 0x00, 0x04, 0x83, + 0x06, 0xa9, 0x12, 0x26, 0x00, 0x3d, 0x00, 0x00, 0x11, 0x07, 0x00, + 0x76, 0x00, 0x66, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0a, + 0x05, 0x26, 0x01, 0x66, 0x0a, 0x0d, 0x01, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, + 0x00, 0x00, 0x04, 0x2c, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x5d, 0x00, + 0x00, 0x11, 0x06, 0x00, 0x76, 0x55, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x0a, 0x11, 0x26, 0x01, 0x5b, 0x0a, 0x0d, 0x00, 0x08, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x49, + 0x00, 0x00, 0x04, 0x83, 0x06, 0x66, 0x12, 0x26, 0x00, 0x3d, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x0d, 0x00, 0x9a, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x0a, 0x05, 0x26, 0x01, 0x0e, 0x0a, 0x0c, 0x01, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x93, 0x00, 0x00, 0x04, 0x2c, 0x05, 0xcc, 0x12, + 0x26, 0x00, 0x5d, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, 0xfd, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0a, 0x11, 0x26, 0x01, 0x04, 0x0a, + 0x0c, 0x00, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x49, 0x00, 0x00, 0x04, 0x83, 0x06, 0xa8, 0x12, + 0x26, 0x00, 0x3d, 0x00, 0x00, 0x11, 0x07, 0x02, 0x88, 0x00, 0x0a, + 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0a, 0x05, 0x26, 0x01, + 0x0a, 0x0c, 0x12, 0x01, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 0x00, 0x00, 0x04, + 0x2c, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x5d, 0x00, 0x00, 0x11, 0x06, + 0x02, 0x88, 0x01, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0a, 0x11, + 0x26, 0x01, 0x07, 0x0c, 0x12, 0x00, 0x08, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x01, 0x01, 0x90, 0x00, 0x00, 0x04, + 0x4b, 0x05, 0xcc, 0x00, 0x10, 0x00, 0x1d, 0x40, 0x0e, 0x00, 0x01, + 0x01, 0x08, 0x11, 0x12, 0x05, 0x0c, 0x50, 0x59, 0x05, 0x00, 0x00, + 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x15, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x02, 0x44, + 0xb4, 0xc1, 0xe1, 0x48, 0xa7, 0x2a, 0x1e, 0xb7, 0x2f, 0x68, 0x6a, + 0x31, 0x04, 0x53, 0xcd, 0xac, 0x0d, 0x08, 0x91, 0x05, 0x0c, 0x2e, + 0x68, 0x5d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x3a, 0xff, 0xec, 0x04, + 0x42, 0x05, 0xcc, 0x00, 0x1d, 0x00, 0x29, 0x00, 0x66, 0x40, 0x2e, + 0x24, 0x14, 0x07, 0x03, 0x03, 0x1c, 0x02, 0x1e, 0x0f, 0x02, 0x0f, + 0x2a, 0x2b, 0x19, 0x15, 0x12, 0x27, 0x50, 0x59, 0x14, 0x12, 0x16, + 0x07, 0x1d, 0x00, 0x1d, 0x51, 0x59, 0x04, 0x0f, 0x00, 0x1f, 0x00, + 0x02, 0x13, 0x03, 0x00, 0x00, 0x0d, 0x02, 0x0d, 0x21, 0x50, 0x59, + 0x0a, 0x0d, 0xb8, 0xff, 0xc0, 0xb6, 0x09, 0x0c, 0x48, 0x0d, 0x10, + 0x02, 0x00, 0x00, 0x3f, 0x3f, 0x2b, 0x33, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x31, + 0x30, 0x13, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x15, 0x14, + 0x07, 0x33, 0x36, 0x33, 0x20, 0x11, 0x10, 0x02, 0x23, 0x22, 0x27, + 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, 0x11, 0x23, 0x01, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3a, + 0x7f, 0xb4, 0x01, 0x31, 0xfe, 0xcf, 0x04, 0x04, 0x5b, 0xf3, 0x01, + 0x87, 0xcb, 0xbd, 0xf4, 0x5a, 0x02, 0x07, 0x02, 0xae, 0x06, 0x7f, + 0x03, 0x4e, 0x7a, 0x84, 0x95, 0x88, 0x85, 0x96, 0x87, 0x79, 0x05, + 0x39, 0x93, 0x93, 0x83, 0x91, 0x41, 0x5c, 0xc8, 0xfd, 0xd2, 0xfe, + 0xe4, 0xfe, 0xe6, 0xb8, 0x30, 0x68, 0x0c, 0x36, 0xa9, 0x03, 0xd7, + 0xfd, 0x66, 0xde, 0xcb, 0xdc, 0xdd, 0xd2, 0xc9, 0xd1, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xff, 0xdd, 0x00, 0x00, 0x04, 0x80, 0x05, 0x45, + 0x00, 0x18, 0x00, 0x21, 0x00, 0x29, 0x00, 0x5c, 0x40, 0x2e, 0x16, + 0x13, 0x1e, 0x13, 0x04, 0x00, 0x27, 0x1e, 0x08, 0x0d, 0x0d, 0x1e, + 0x04, 0x19, 0x00, 0x04, 0x00, 0x2a, 0x2b, 0x16, 0x27, 0x1d, 0x27, + 0x1d, 0x5f, 0x59, 0x27, 0x0b, 0x27, 0x0b, 0x04, 0x10, 0x26, 0x05, + 0x10, 0x05, 0x60, 0x59, 0x10, 0x03, 0x04, 0x1e, 0x5f, 0x59, 0x04, + 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, + 0x30, 0x01, 0x14, 0x04, 0x23, 0x21, 0x11, 0x22, 0x06, 0x15, 0x14, + 0x17, 0x07, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x20, 0x11, 0x14, + 0x06, 0x07, 0x1e, 0x01, 0x07, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, + 0x32, 0x36, 0x03, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x20, 0x04, + 0x80, 0xfe, 0xee, 0xf4, 0xfe, 0x8c, 0x4d, 0x42, 0x12, 0x9b, 0x11, + 0x9b, 0x8e, 0x01, 0x38, 0x01, 0xf0, 0x8f, 0x7d, 0xa7, 0xb7, 0xc1, + 0xb2, 0xb0, 0x98, 0xa6, 0xaf, 0xa5, 0x51, 0x97, 0x97, 0x7b, 0x7d, + 0x01, 0x2c, 0x01, 0x7c, 0xb4, 0xc8, 0x04, 0xb1, 0x44, 0x47, 0x31, + 0x38, 0x11, 0x41, 0x3c, 0x85, 0x97, 0xfe, 0xb9, 0x7a, 0xa3, 0x1a, + 0x12, 0xb2, 0x76, 0x72, 0x78, 0xfe, 0x22, 0x79, 0x02, 0xd4, 0x6b, + 0x5b, 0xfe, 0x60, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x94, 0x05, 0x45, 0x12, 0x06, 0x03, 0xc1, 0x00, 0x00, 0x00, + 0x02, 0x00, 0xb3, 0xff, 0xec, 0x04, 0x42, 0x05, 0xcc, 0x00, 0x17, + 0x00, 0x23, 0x00, 0x47, 0x40, 0x16, 0x0e, 0x00, 0x1e, 0x05, 0x10, + 0x10, 0x0d, 0x18, 0x00, 0x0d, 0x00, 0x24, 0x25, 0x16, 0x1b, 0x50, + 0x59, 0x13, 0x16, 0x10, 0x0d, 0x10, 0xb8, 0x01, 0x0a, 0x40, 0x0c, + 0x59, 0x0d, 0x01, 0x0a, 0x15, 0x03, 0x21, 0x50, 0x59, 0x05, 0x03, + 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x10, + 0x02, 0x23, 0x22, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, + 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x42, 0xcb, 0xbd, 0xf4, 0x5a, 0x02, 0x07, 0x02, 0xae, + 0x06, 0x02, 0xde, 0xfd, 0xd6, 0x04, 0x04, 0x5b, 0xf3, 0x01, 0x87, + 0xba, 0x7a, 0x84, 0x95, 0x88, 0x85, 0x96, 0x87, 0x79, 0x02, 0x22, + 0xfe, 0xe4, 0xfe, 0xe6, 0xb8, 0x30, 0x68, 0x0c, 0x36, 0xa9, 0x04, + 0xed, 0x9f, 0xfe, 0xf8, 0x41, 0x5c, 0xc8, 0xfd, 0xcc, 0xde, 0xcb, + 0xdc, 0xdd, 0xd2, 0xc9, 0xd1, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, + 0x00, 0x00, 0x04, 0x94, 0x05, 0x45, 0x00, 0x0d, 0x00, 0x16, 0x00, + 0x34, 0x40, 0x1a, 0x0a, 0x13, 0x13, 0x06, 0x04, 0x0e, 0x00, 0x04, + 0x00, 0x17, 0x18, 0x0a, 0x12, 0x5f, 0x59, 0x0a, 0x0a, 0x04, 0x08, + 0x03, 0x04, 0x13, 0x5f, 0x59, 0x04, 0x12, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x06, 0x23, 0x21, 0x11, 0x27, 0x35, 0x25, 0x33, 0x11, 0x21, 0x32, + 0x04, 0x07, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, 0x04, + 0x94, 0xff, 0xe6, 0xfd, 0xf3, 0x9e, 0x01, 0x25, 0x38, 0x01, 0x42, + 0xf2, 0x00, 0xff, 0xc0, 0xa4, 0xa4, 0xfe, 0xd5, 0x01, 0x33, 0xa4, + 0x9c, 0x01, 0x89, 0xb7, 0xd2, 0x03, 0xb7, 0xa5, 0x21, 0xc8, 0xfd, + 0xca, 0xcc, 0xc0, 0x79, 0x73, 0xfe, 0x28, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x39, 0xff, 0xec, 0x04, 0x42, 0x05, 0xcc, 0x00, + 0x18, 0x00, 0x24, 0x00, 0x3a, 0x40, 0x1e, 0x1f, 0x05, 0x11, 0x11, + 0x0e, 0x0d, 0x19, 0x00, 0x0d, 0x00, 0x25, 0x26, 0x17, 0x1c, 0x50, + 0x59, 0x14, 0x17, 0x10, 0x10, 0x01, 0x0a, 0x15, 0x03, 0x22, 0x50, + 0x59, 0x05, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, + 0x23, 0x22, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, 0x11, + 0x27, 0x35, 0x25, 0x33, 0x11, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x42, 0xcb, 0xbd, 0xf4, 0x5a, 0x02, 0x07, 0x02, 0xae, + 0x06, 0x80, 0x01, 0x01, 0x33, 0x04, 0x04, 0x5b, 0xf3, 0x01, 0x87, + 0xba, 0x7a, 0x84, 0x95, 0x88, 0x85, 0x96, 0x87, 0x79, 0x02, 0x22, + 0xfe, 0xe4, 0xfe, 0xe6, 0xb8, 0x30, 0x68, 0x0c, 0x36, 0xa9, 0x03, + 0x5f, 0xb4, 0x21, 0xb9, 0xfe, 0x59, 0x41, 0x5c, 0xc8, 0xfd, 0xcc, + 0xde, 0xcb, 0xdc, 0xdd, 0xd2, 0xc9, 0xd1, 0x00, 0x01, 0x00, 0x57, + 0xff, 0xec, 0x04, 0x5c, 0x05, 0x5a, 0x00, 0x16, 0x00, 0x3c, 0x40, + 0x1d, 0x06, 0x07, 0x07, 0x11, 0x10, 0x00, 0x0b, 0x10, 0x0b, 0x17, + 0x18, 0x11, 0x06, 0x11, 0x06, 0x0e, 0x09, 0x0e, 0x14, 0x5f, 0x59, + 0x0e, 0x13, 0x09, 0x03, 0x5f, 0x59, 0x09, 0x04, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, + 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, 0x22, 0x06, 0x07, + 0x27, 0x12, 0x21, 0x20, 0x11, 0x10, 0x00, 0x21, 0x20, 0x03, 0x37, + 0x1e, 0x01, 0x33, 0x32, 0x12, 0x03, 0x93, 0xa4, 0xac, 0x67, 0x9d, + 0x25, 0xa8, 0x7f, 0x01, 0x53, 0x02, 0x18, 0xfe, 0xe5, 0xfe, 0xf9, + 0xfe, 0xb2, 0x95, 0x9f, 0x38, 0xa5, 0x65, 0xb0, 0xab, 0x02, 0xa9, + 0x01, 0x11, 0x01, 0x04, 0x83, 0x71, 0x41, 0x01, 0x4f, 0xfd, 0x4f, + 0xfe, 0xad, 0xfe, 0x96, 0x01, 0x74, 0x41, 0x90, 0x8a, 0x01, 0x11, + 0x00, 0x00, 0x01, 0x00, 0x66, 0xff, 0xec, 0x05, 0x2d, 0x06, 0x22, + 0x00, 0x24, 0x00, 0x51, 0x40, 0x29, 0x00, 0x0d, 0x11, 0x1f, 0x1f, + 0x1e, 0x1e, 0x17, 0x06, 0x07, 0x0d, 0x07, 0x25, 0x26, 0x15, 0x1a, + 0x5f, 0x59, 0x15, 0x0f, 0x11, 0x1f, 0x0f, 0x06, 0x1f, 0x06, 0x1f, + 0x0a, 0x0f, 0x0f, 0x22, 0x5f, 0x59, 0x0f, 0x04, 0x0a, 0x03, 0x5f, + 0x59, 0x0a, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x10, + 0xc4, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x12, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x20, 0x00, 0x11, + 0x10, 0x21, 0x32, 0x17, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, + 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x07, 0x2e, 0x01, 0x23, 0x22, + 0x02, 0x01, 0x2f, 0xab, 0xb0, 0x65, 0xa4, 0x39, 0x9f, 0x50, 0xf2, + 0xa1, 0xfe, 0xf9, 0xfe, 0xe5, 0x02, 0x18, 0xba, 0x7a, 0x89, 0x7a, + 0x36, 0x42, 0x2d, 0x2b, 0x47, 0x3e, 0xa8, 0x25, 0x9d, 0x67, 0xab, + 0xa5, 0x02, 0xa9, 0xfe, 0xef, 0xfe, 0xef, 0x89, 0x91, 0x41, 0xc1, + 0xb3, 0x01, 0x6a, 0x01, 0x53, 0x02, 0xb1, 0x69, 0x09, 0x8a, 0x9e, + 0x0f, 0x9d, 0x12, 0x47, 0x4d, 0xe9, 0x41, 0x71, 0x83, 0xfe, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x82, 0xff, 0xec, 0x04, 0xfe, + 0x05, 0x03, 0x00, 0x25, 0x00, 0x57, 0x40, 0x1f, 0x18, 0x00, 0x05, + 0x12, 0x12, 0x11, 0x11, 0x1e, 0x0a, 0x1f, 0x00, 0x1f, 0x26, 0x27, + 0x05, 0x12, 0x03, 0x1e, 0x12, 0x1e, 0x12, 0x23, 0x03, 0x23, 0x1b, + 0x50, 0x59, 0x23, 0x16, 0x08, 0x0d, 0xb8, 0x01, 0x0a, 0x40, 0x09, + 0x59, 0x08, 0x03, 0x03, 0x15, 0x50, 0x59, 0x03, 0x10, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x13, 0x10, 0x00, 0x33, 0x32, 0x17, + 0x3e, 0x01, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x1d, + 0x01, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x0e, 0x02, 0x23, 0x22, 0x00, 0x82, 0x01, + 0x02, 0xf4, 0xae, 0x75, 0x07, 0x86, 0x73, 0x2f, 0x34, 0x24, 0x2b, + 0x42, 0x37, 0xc0, 0x10, 0x80, 0x76, 0x9e, 0x93, 0x93, 0x9d, 0x6c, + 0x8e, 0x11, 0xbe, 0x0d, 0x77, 0xc4, 0x79, 0xf5, 0xff, 0x00, 0x02, + 0x1e, 0x01, 0x0e, 0x01, 0x22, 0x51, 0x7e, 0x88, 0x0c, 0x96, 0x10, + 0x47, 0x4d, 0xd2, 0x0e, 0x5b, 0x69, 0xc4, 0xdb, 0xde, 0xcd, 0x6a, + 0x6d, 0x0c, 0x60, 0x9d, 0x59, 0x01, 0x20, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x1b, 0x00, 0x00, 0x04, 0x65, 0x05, 0x45, 0x12, 0x06, 0x00, + 0x92, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdd, 0x00, 0x00, 0x04, 0x65, + 0x05, 0x45, 0x00, 0x13, 0x00, 0x1c, 0x00, 0x3d, 0x40, 0x1f, 0x08, + 0x0d, 0x0d, 0x19, 0x04, 0x14, 0x00, 0x04, 0x00, 0x1d, 0x1e, 0x0b, + 0x0b, 0x04, 0x10, 0x10, 0x18, 0x5f, 0x59, 0x10, 0x05, 0x60, 0x59, + 0x10, 0x03, 0x04, 0x19, 0x5f, 0x59, 0x04, 0x12, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x10, 0x00, 0x29, 0x01, 0x11, 0x22, 0x06, + 0x15, 0x14, 0x17, 0x07, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x20, + 0x00, 0x03, 0x10, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x12, 0x04, + 0x65, 0xfe, 0xcd, 0xfe, 0xe2, 0xfe, 0xf2, 0x4d, 0x42, 0x12, 0x9b, + 0x11, 0x9b, 0x8e, 0xd3, 0x01, 0x49, 0x01, 0x43, 0xc0, 0xdc, 0xef, + 0x15, 0x3e, 0xd4, 0xce, 0x02, 0xb0, 0xfe, 0xb5, 0xfe, 0x9b, 0x04, + 0xb1, 0x44, 0x47, 0x31, 0x38, 0x11, 0x41, 0x3c, 0x85, 0x97, 0xfe, + 0xb7, 0xfe, 0xb4, 0x01, 0x08, 0xf1, 0xfb, 0xf3, 0x01, 0x0a, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x39, 0x00, 0x00, 0x04, 0x2b, 0x05, + 0x45, 0x00, 0x0c, 0x00, 0x15, 0x00, 0x3f, 0x40, 0x20, 0x07, 0x11, + 0x0d, 0x00, 0x04, 0x11, 0x11, 0x09, 0x00, 0x09, 0x16, 0x17, 0x03, + 0x13, 0x5f, 0x59, 0x03, 0x03, 0x0a, 0x07, 0x0a, 0x10, 0x5f, 0x59, + 0x0a, 0x12, 0x07, 0x06, 0x5f, 0x59, 0x07, 0x03, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x31, 0x30, 0x13, 0x34, 0x24, 0x33, 0x21, 0x11, 0x21, + 0x35, 0x21, 0x11, 0x21, 0x22, 0x24, 0x37, 0x14, 0x16, 0x33, 0x21, + 0x11, 0x21, 0x22, 0x06, 0x39, 0x00, 0xff, 0xf2, 0x01, 0x42, 0xfd, + 0x29, 0x03, 0x96, 0xfd, 0xf3, 0xe5, 0xff, 0x00, 0xc0, 0x9c, 0xa4, + 0x01, 0x33, 0xfe, 0xd5, 0xa4, 0xa4, 0x01, 0x89, 0xba, 0xcc, 0x01, + 0x9a, 0x9c, 0xfa, 0xbb, 0xd1, 0xb2, 0x7c, 0x70, 0x01, 0xd8, 0x73, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8a, 0xff, 0xe6, 0x04, 0x19, + 0x05, 0xcc, 0x00, 0x18, 0x00, 0x24, 0x00, 0x47, 0x40, 0x10, 0x19, + 0x10, 0x06, 0x1f, 0x00, 0x0e, 0x0e, 0x11, 0x06, 0x11, 0x25, 0x26, + 0x15, 0x15, 0x10, 0x0f, 0xb8, 0x01, 0x0a, 0x40, 0x11, 0x59, 0x10, + 0x01, 0x08, 0x22, 0x50, 0x59, 0x0b, 0x08, 0x10, 0x03, 0x1c, 0x50, + 0x59, 0x00, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x32, + 0x31, 0x30, 0x25, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, + 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x21, 0x35, 0x21, 0x11, 0x14, + 0x17, 0x23, 0x2e, 0x01, 0x35, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x03, 0x5e, 0x31, 0xa2, 0x79, + 0xca, 0xbe, 0x01, 0x88, 0x79, 0xa3, 0x31, 0x02, 0x02, 0xfd, 0xd6, + 0x02, 0xde, 0x06, 0xac, 0x03, 0x07, 0xfd, 0xe1, 0x77, 0x86, 0x92, + 0x8c, 0x86, 0x96, 0x87, 0x78, 0xae, 0x69, 0x5f, 0x01, 0x16, 0x01, + 0x18, 0x02, 0x36, 0x56, 0x62, 0x97, 0x01, 0x04, 0x9f, 0xfb, 0x13, + 0xa9, 0x36, 0x06, 0x7e, 0x2a, 0x01, 0x6c, 0xe0, 0xc9, 0xd3, 0xe6, + 0xd6, 0xc5, 0xce, 0x00, 0x00, 0x02, 0x00, 0x82, 0xfe, 0x57, 0x04, + 0x49, 0x04, 0x4e, 0x00, 0x12, 0x00, 0x1e, 0x00, 0x3e, 0x40, 0x22, + 0x19, 0x0d, 0x07, 0x03, 0x13, 0x00, 0x00, 0x03, 0x02, 0x06, 0x0d, + 0x05, 0x1f, 0x20, 0x10, 0x16, 0x50, 0x59, 0x10, 0x10, 0x03, 0x06, + 0x05, 0x06, 0x50, 0x59, 0x05, 0x1c, 0x02, 0x1c, 0x50, 0x59, 0x02, + 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x05, 0x01, 0x15, 0x21, + 0x35, 0x21, 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x35, 0x10, 0x12, 0x33, + 0x32, 0x12, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x04, 0x49, 0xfe, 0x49, 0x01, 0x5f, 0xfc, 0xf8, + 0x02, 0x07, 0x64, 0xde, 0x69, 0x6d, 0x56, 0xfd, 0xe8, 0xf4, 0xee, + 0xbd, 0x89, 0x99, 0x99, 0x92, 0x92, 0x8e, 0x9b, 0x92, 0x02, 0x1e, + 0xfe, 0x00, 0x1e, 0xfe, 0xdb, 0x84, 0x91, 0x59, 0xaf, 0x58, 0x5b, + 0xd3, 0xa8, 0x01, 0x17, 0x01, 0x19, 0xfe, 0xea, 0xfe, 0xe6, 0xd7, + 0xd4, 0xd2, 0xd9, 0xc8, 0xd2, 0xcb, 0x00, 0x00, 0x01, 0x00, 0x6b, + 0x00, 0x00, 0x04, 0x2b, 0x05, 0x45, 0x00, 0x0b, 0x00, 0x3f, 0x40, + 0x20, 0x08, 0x04, 0x00, 0x0b, 0x06, 0x02, 0x02, 0x0b, 0x00, 0x0b, + 0x0c, 0x0d, 0x05, 0x04, 0x5f, 0x59, 0x05, 0x05, 0x00, 0x09, 0x09, + 0x08, 0x5f, 0x59, 0x09, 0x03, 0x00, 0x01, 0x5f, 0x59, 0x00, 0x12, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x33, 0x35, 0x21, 0x11, + 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x6b, 0x03, 0x01, + 0xfd, 0x64, 0x02, 0x9c, 0xfd, 0x28, 0x03, 0x97, 0x9c, 0x01, 0xcd, + 0x9a, 0x01, 0xa6, 0x9c, 0xfa, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x67, 0xff, 0xec, 0x04, 0x65, 0x05, 0x5a, 0x00, 0x11, 0x00, + 0x17, 0x00, 0x45, 0x40, 0x23, 0x11, 0x00, 0x00, 0x15, 0x0b, 0x0d, + 0x14, 0x14, 0x05, 0x0b, 0x05, 0x18, 0x19, 0x0c, 0x15, 0x5f, 0x59, + 0x0c, 0x11, 0x0c, 0x11, 0x08, 0x03, 0x08, 0x12, 0x5f, 0x59, 0x08, + 0x13, 0x03, 0x0f, 0x5f, 0x59, 0x03, 0x04, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x3e, 0x01, 0x33, 0x20, + 0x11, 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 0x35, 0x21, 0x02, 0x21, + 0x22, 0x07, 0x01, 0x20, 0x13, 0x21, 0x1e, 0x01, 0x9b, 0x4c, 0xd9, + 0x9b, 0x02, 0x0a, 0xfe, 0xf7, 0xf8, 0xf8, 0xfe, 0xfb, 0x03, 0x35, + 0x14, 0xfe, 0xce, 0xc6, 0x64, 0x01, 0x39, 0x01, 0x23, 0x14, 0xfd, + 0x91, 0x0b, 0x9f, 0x04, 0x6e, 0x75, 0x77, 0xfd, 0x4f, 0xfe, 0xaf, + 0xfe, 0x94, 0x01, 0x62, 0x01, 0x57, 0x50, 0x01, 0xc9, 0xaa, 0xfc, + 0x73, 0x01, 0xd4, 0xe8, 0xec, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x5d, 0xff, 0xec, 0x04, 0x80, 0x05, 0x59, 0x00, 0x25, 0x00, 0x54, + 0x40, 0x2d, 0x1d, 0x03, 0x15, 0x08, 0x0f, 0x0e, 0x0e, 0x22, 0x23, + 0x23, 0x19, 0x06, 0x08, 0x03, 0x05, 0x26, 0x27, 0x06, 0x17, 0x1a, + 0x17, 0x1a, 0x60, 0x59, 0x22, 0x17, 0x0f, 0x0f, 0x17, 0x22, 0x03, + 0x00, 0x0b, 0x0b, 0x12, 0x5f, 0x59, 0x0b, 0x04, 0x00, 0x20, 0x5f, + 0x59, 0x00, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, 0x24, 0x35, + 0x34, 0x36, 0x37, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x17, + 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x21, 0x33, 0x15, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x20, 0x13, 0x17, 0x06, + 0x04, 0x02, 0x60, 0xee, 0xfe, 0xeb, 0xb5, 0x8d, 0xfe, 0xe8, 0x01, + 0x06, 0xd9, 0xc3, 0xf8, 0x48, 0xa8, 0x35, 0xae, 0x7b, 0x84, 0x99, + 0x01, 0x62, 0x47, 0x47, 0xca, 0xc0, 0xb1, 0x98, 0x01, 0x07, 0x77, + 0x9b, 0x57, 0xfe, 0xf7, 0x14, 0xd1, 0xb6, 0x85, 0xb8, 0x12, 0x43, + 0xe3, 0xa3, 0xce, 0x9c, 0xb2, 0x41, 0x83, 0x71, 0x79, 0x67, 0xda, + 0x94, 0x79, 0x7d, 0x70, 0x85, 0x01, 0x10, 0x4d, 0xbc, 0xa0, 0x00, + 0x01, 0xff, 0xe0, 0xfe, 0x57, 0x04, 0x3d, 0x05, 0x45, 0x00, 0x12, + 0x00, 0x56, 0x40, 0x33, 0x02, 0x11, 0x01, 0x05, 0x05, 0x0a, 0x0f, + 0x0f, 0x11, 0x13, 0x14, 0x04, 0x01, 0x5f, 0x59, 0x0f, 0x04, 0x4f, + 0x04, 0x5f, 0x04, 0x03, 0x0f, 0x04, 0x3f, 0x04, 0x6f, 0x04, 0x03, + 0x0c, 0x03, 0x04, 0x40, 0x15, 0x29, 0x48, 0x04, 0x04, 0x08, 0x10, + 0x10, 0x00, 0x5f, 0x59, 0x10, 0x03, 0x08, 0x0d, 0x5f, 0x59, 0x08, + 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, 0x72, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, + 0x01, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, + 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x21, 0x15, 0x01, 0x81, 0x02, + 0xa4, 0xfd, 0x5c, 0x8f, 0x83, 0x3d, 0x52, 0x23, 0x33, 0x24, 0x68, + 0x03, 0x7b, 0x04, 0xa9, 0xfe, 0x12, 0x9e, 0xfd, 0x61, 0x8f, 0x98, + 0x14, 0x9c, 0x11, 0x9d, 0x05, 0xb2, 0x9c, 0x00, 0x00, 0x01, 0x00, + 0xea, 0xfe, 0x57, 0x04, 0x2d, 0x05, 0x59, 0x00, 0x15, 0x00, 0x4d, + 0x40, 0x27, 0x12, 0x0f, 0x13, 0x0e, 0x09, 0x0c, 0x08, 0x08, 0x0d, + 0x13, 0x0d, 0x0e, 0x0e, 0x02, 0x16, 0x17, 0x0c, 0x10, 0x11, 0x10, + 0x51, 0x59, 0x09, 0x00, 0x11, 0x01, 0x10, 0x03, 0x11, 0x11, 0x00, + 0x0d, 0x1b, 0x00, 0x05, 0x73, 0x59, 0x00, 0x07, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, + 0x01, 0x32, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x0f, 0x01, 0x21, + 0x07, 0x21, 0x03, 0x23, 0x13, 0x23, 0x37, 0x33, 0x37, 0x3e, 0x01, + 0x03, 0x8d, 0x4f, 0x51, 0x28, 0x36, 0x4c, 0x54, 0x4c, 0x14, 0x1b, + 0x01, 0x2e, 0x19, 0xfe, 0xd1, 0xf3, 0xb4, 0xf3, 0xfc, 0x1b, 0xfb, + 0x1d, 0x24, 0xb3, 0x05, 0x59, 0x17, 0x88, 0x13, 0x3d, 0x5f, 0x89, + 0x83, 0xfb, 0x32, 0x04, 0xce, 0x83, 0x98, 0x9a, 0x7f, 0x00, 0x00, + 0x01, 0x00, 0x71, 0xff, 0xec, 0x05, 0x2c, 0x06, 0x26, 0x00, 0x26, + 0x00, 0x5a, 0x40, 0x2f, 0x1d, 0x05, 0x0a, 0x18, 0x18, 0x17, 0x17, + 0x22, 0x10, 0x00, 0x00, 0x25, 0x05, 0x03, 0x27, 0x28, 0x0e, 0x13, + 0x5f, 0x59, 0x0e, 0x08, 0x25, 0x24, 0x5f, 0x59, 0x0a, 0x18, 0x08, + 0x25, 0x18, 0x25, 0x18, 0x02, 0x08, 0x08, 0x1a, 0x5f, 0x59, 0x08, + 0x04, 0x02, 0x1f, 0x5f, 0x59, 0x02, 0x13, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x11, 0x12, 0x39, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x06, 0x23, 0x22, 0x00, 0x11, 0x10, + 0x00, 0x21, 0x32, 0x17, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, + 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x07, 0x26, 0x23, 0x22, 0x06, + 0x11, 0x10, 0x21, 0x32, 0x36, 0x37, 0x11, 0x21, 0x35, 0x21, 0x04, + 0x4d, 0xe5, 0xe9, 0xfa, 0xfe, 0xec, 0x01, 0x08, 0x01, 0x09, 0xbb, + 0x74, 0x89, 0x7a, 0x36, 0x42, 0x38, 0x20, 0x47, 0x3e, 0xab, 0x51, + 0xcf, 0xa9, 0xa1, 0x01, 0x55, 0x42, 0x8c, 0x36, 0xfe, 0xdb, 0x01, + 0xdf, 0x85, 0x99, 0x01, 0x73, 0x01, 0x4a, 0x01, 0x5b, 0x01, 0x56, + 0x65, 0x09, 0x8a, 0x9e, 0x0f, 0x9d, 0x12, 0x47, 0x4d, 0xe9, 0x38, + 0xe7, 0xfc, 0xfe, 0xe7, 0xfd, 0xde, 0x27, 0x23, 0x01, 0x50, 0xa0, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0xfe, 0x57, 0x04, 0xc7, 0x05, + 0x45, 0x00, 0x11, 0x00, 0x1d, 0x00, 0x42, 0x40, 0x21, 0x06, 0x0c, + 0x15, 0x03, 0x09, 0x12, 0x0f, 0x18, 0x03, 0x03, 0x0f, 0x09, 0x03, + 0x0b, 0x08, 0x07, 0x0a, 0x0b, 0x07, 0x0b, 0x1e, 0x1f, 0x15, 0x09, + 0x00, 0x0a, 0x07, 0x03, 0x00, 0x1b, 0x5f, 0x59, 0x00, 0x00, 0x2f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x17, 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x35, + 0x34, 0x3f, 0x01, 0x01, 0x33, 0x09, 0x01, 0x33, 0x01, 0x17, 0x16, + 0x15, 0x14, 0x06, 0x27, 0x34, 0x26, 0x27, 0x0e, 0x01, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x02, 0x68, 0x74, 0x85, 0x4d, 0x46, 0xfe, + 0x03, 0xc9, 0x01, 0x9a, 0x01, 0x96, 0xc9, 0xfe, 0x03, 0x48, 0x4f, + 0x86, 0x1d, 0x1b, 0x3b, 0x3a, 0x1c, 0x2e, 0x28, 0x28, 0x2e, 0xfe, + 0x57, 0x88, 0x72, 0x64, 0x8e, 0x84, 0x04, 0x7e, 0xfc, 0x37, 0x03, + 0xc9, 0xfb, 0x83, 0x83, 0x8f, 0x65, 0x72, 0x88, 0xfc, 0x29, 0x5f, + 0x79, 0x79, 0x5f, 0x29, 0x31, 0x35, 0x34, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x69, 0xff, 0xec, 0x04, 0x64, 0x05, 0xcc, 0x00, 0x23, 0x00, + 0x43, 0x40, 0x23, 0x12, 0x10, 0x0c, 0x0c, 0x0d, 0x19, 0x04, 0x1f, + 0x22, 0x22, 0x04, 0x0d, 0x03, 0x24, 0x25, 0x20, 0x0f, 0x12, 0x15, + 0x15, 0x08, 0x50, 0x59, 0x15, 0x10, 0x0e, 0x01, 0x0d, 0x15, 0x00, + 0x1c, 0x50, 0x59, 0x00, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x05, 0x22, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x14, 0x07, 0x33, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x11, 0x33, 0x11, 0x10, 0x03, 0x49, 0x64, 0x7b, 0x3b, 0x3c, + 0x46, 0x45, 0x56, 0xa9, 0xa9, 0x07, 0x03, 0x4e, 0x92, 0x79, 0x71, + 0x34, 0x3c, 0x3e, 0x35, 0xa9, 0x14, 0x4d, 0x9b, 0x95, 0x01, 0x59, + 0x95, 0x6c, 0xae, 0x97, 0xfd, 0x82, 0x05, 0xcc, 0xfe, 0x7e, 0x7a, + 0x31, 0xaf, 0xac, 0xbd, 0xfe, 0x9b, 0x98, 0x73, 0x78, 0x93, 0x02, + 0xba, 0xfd, 0x33, 0xfe, 0x7f, 0xff, 0xff, 0x01, 0x0b, 0x00, 0x00, + 0x04, 0x5c, 0x05, 0xcc, 0x12, 0x06, 0x00, 0x4f, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x05, 0x45, 0x00, 0x13, + 0x00, 0x60, 0x40, 0x33, 0x00, 0x0c, 0x0c, 0x0d, 0x01, 0x09, 0x09, + 0x04, 0x08, 0x08, 0x11, 0x0d, 0x0d, 0x14, 0x15, 0x07, 0x0f, 0x10, + 0x0f, 0x60, 0x59, 0x04, 0x00, 0x10, 0x10, 0x10, 0xb0, 0x10, 0x03, + 0x13, 0x03, 0x10, 0x10, 0x0b, 0x00, 0x08, 0x0c, 0x0b, 0x0c, 0x5f, + 0x59, 0x0b, 0x12, 0x03, 0x13, 0x00, 0x13, 0x5f, 0x59, 0x00, 0x03, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x21, 0x15, 0x21, 0x11, 0x33, 0x15, 0x23, 0x11, 0x21, 0x15, 0x21, + 0x35, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0xca, 0x03, 0x37, + 0xfe, 0xc4, 0xcf, 0xcf, 0x01, 0x3c, 0xfc, 0xc9, 0x01, 0x3c, 0xcf, + 0xcf, 0xfe, 0xc4, 0x05, 0x45, 0x9c, 0xfe, 0x66, 0x8d, 0xfe, 0x1a, + 0x9c, 0x9c, 0x01, 0xe6, 0x8d, 0x01, 0x9a, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0xcb, 0x05, 0x5a, 0x00, 0x14, 0x00, + 0x4a, 0x40, 0x25, 0x13, 0x01, 0x0a, 0x01, 0x03, 0x11, 0x12, 0x12, + 0x00, 0x00, 0x14, 0x10, 0x03, 0x03, 0x04, 0x14, 0x04, 0x16, 0x15, + 0x01, 0x13, 0x13, 0x10, 0x02, 0x03, 0x04, 0x11, 0x03, 0x08, 0x0d, + 0x5f, 0x59, 0x08, 0x04, 0x00, 0x04, 0x12, 0x00, 0x3f, 0x33, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x21, 0x01, + 0x07, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, + 0x23, 0x22, 0x15, 0x11, 0x01, 0x33, 0x09, 0x01, 0x03, 0xeb, 0xfe, + 0x21, 0xab, 0xbf, 0x98, 0x8c, 0x42, 0x42, 0x32, 0x39, 0x7e, 0x02, + 0x3c, 0xe1, 0xfe, 0x10, 0x02, 0x3d, 0x02, 0x73, 0xb2, 0xfe, 0x3f, + 0x04, 0x32, 0x8f, 0x99, 0x0f, 0xa5, 0x12, 0x94, 0xfe, 0x6c, 0x02, + 0xb5, 0xfd, 0xb5, 0xfd, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0xec, + 0x00, 0x00, 0x04, 0x65, 0x05, 0xcc, 0x00, 0x14, 0x00, 0x48, 0x40, + 0x24, 0x13, 0x01, 0x0a, 0x01, 0x14, 0x10, 0x03, 0x03, 0x04, 0x11, + 0x12, 0x12, 0x00, 0x14, 0x04, 0x14, 0x15, 0x16, 0x01, 0x13, 0x13, + 0x10, 0x02, 0x03, 0x04, 0x11, 0x0f, 0x08, 0x0d, 0x52, 0x59, 0x08, + 0x01, 0x00, 0x04, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x21, 0x01, 0x07, 0x11, 0x23, 0x11, + 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x15, 0x11, + 0x01, 0x33, 0x09, 0x01, 0x03, 0x92, 0xfe, 0x92, 0x84, 0xb4, 0x98, + 0x8c, 0x42, 0x42, 0x32, 0x42, 0x80, 0x01, 0xdb, 0xd3, 0xfe, 0x49, + 0x01, 0xce, 0x01, 0xf3, 0x62, 0xfe, 0x6f, 0x04, 0xa4, 0x8f, 0x99, + 0x0f, 0xa5, 0x12, 0x94, 0xfd, 0x97, 0x02, 0x0d, 0xfe, 0x2f, 0xfd, + 0x97, 0x00, 0x01, 0x00, 0x86, 0x00, 0x00, 0x04, 0x5c, 0x05, 0xcc, + 0x00, 0x11, 0x00, 0x4c, 0x40, 0x26, 0x10, 0x08, 0x08, 0x09, 0x05, + 0x00, 0x04, 0x04, 0x0d, 0x09, 0x09, 0x12, 0x13, 0x03, 0x0b, 0x0c, + 0x0b, 0x50, 0x59, 0x00, 0x0c, 0x0c, 0x07, 0x10, 0x10, 0x0f, 0x50, + 0x59, 0x10, 0x01, 0x04, 0x08, 0x07, 0x08, 0x50, 0x59, 0x07, 0x15, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, 0x23, 0x11, 0x21, 0x15, 0x21, + 0x35, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x35, 0x21, 0x02, + 0xe0, 0xd1, 0xd1, 0x01, 0x7c, 0xfc, 0x2a, 0x01, 0xa6, 0xe2, 0xe2, + 0xfe, 0xdf, 0x01, 0xd5, 0x03, 0x2d, 0x8d, 0xfd, 0xee, 0x8e, 0x8e, + 0x02, 0x12, 0x8d, 0x02, 0x11, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x72, 0x00, 0x00, 0x04, 0x52, 0x05, 0xcc, 0x00, 0x13, 0x00, + 0x4d, 0x40, 0x2a, 0x09, 0x0a, 0x12, 0x01, 0x11, 0x02, 0x11, 0x06, + 0x0b, 0x0c, 0x0f, 0x04, 0x10, 0x03, 0x03, 0x02, 0x02, 0x00, 0x10, + 0x0e, 0x0a, 0x05, 0x14, 0x15, 0x12, 0x0f, 0x01, 0x0c, 0x04, 0x13, + 0x13, 0x0d, 0x10, 0x01, 0x06, 0x0b, 0x0a, 0x0d, 0x10, 0x03, 0x0a, + 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x12, 0x39, 0x39, 0x3f, 0x12, 0x39, + 0x2f, 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x12, 0x17, 0x39, 0x32, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x07, 0x01, 0x23, 0x03, 0x26, 0x27, 0x0e, 0x01, 0x01, + 0x23, 0x01, 0x27, 0x07, 0x27, 0x37, 0x27, 0x33, 0x17, 0x37, 0x03, + 0x2e, 0xa0, 0x01, 0xc4, 0xbe, 0xcf, 0x29, 0x18, 0x0f, 0x2a, 0xfe, + 0xe2, 0xbb, 0x01, 0xc1, 0x45, 0xb7, 0x2e, 0xbc, 0x49, 0xb1, 0x36, + 0x9d, 0x04, 0xfb, 0x3c, 0xfb, 0x41, 0x02, 0x43, 0x70, 0x66, 0x2e, + 0x69, 0xfd, 0x7e, 0x03, 0xca, 0xbe, 0x44, 0x76, 0x45, 0xcd, 0x93, + 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x55, 0xff, 0xec, 0x04, + 0x79, 0x05, 0x45, 0x00, 0x21, 0x00, 0x44, 0x40, 0x21, 0x0a, 0x09, + 0x02, 0x13, 0x13, 0x12, 0x12, 0x09, 0x20, 0x1a, 0x1a, 0x1b, 0x09, + 0x1b, 0x22, 0x23, 0x1f, 0x12, 0x1a, 0x12, 0x09, 0x03, 0x17, 0x0e, + 0x05, 0x0e, 0x5f, 0x59, 0x20, 0x02, 0x00, 0x05, 0x13, 0x00, 0x3f, + 0x33, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, + 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, + 0x27, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, + 0x32, 0x19, 0x01, 0x33, 0x11, 0x14, 0x17, 0x23, 0x27, 0x06, 0x03, + 0x1f, 0x88, 0x3e, 0x20, 0x75, 0x4d, 0x98, 0x8a, 0xa3, 0x3f, 0x50, + 0x49, 0x42, 0xa2, 0x3d, 0x48, 0x95, 0xa2, 0x09, 0x8a, 0x08, 0x3e, + 0x14, 0xa7, 0x4c, 0x5b, 0xd5, 0xdb, 0x03, 0xa9, 0xfc, 0x67, 0x9b, + 0x8a, 0x82, 0x87, 0x03, 0xb5, 0xfc, 0x5b, 0x92, 0x87, 0x01, 0x1b, + 0x03, 0xa3, 0xfb, 0xa2, 0x78, 0x6f, 0x86, 0x9a, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xff, 0xcb, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0x45, 0x00, + 0x16, 0x00, 0x35, 0x40, 0x19, 0x10, 0x04, 0x04, 0x09, 0x0e, 0x00, + 0x14, 0x14, 0x15, 0x0e, 0x15, 0x17, 0x18, 0x14, 0x01, 0x0f, 0x03, + 0x07, 0x0c, 0x5f, 0x59, 0x07, 0x11, 0x00, 0x12, 0x00, 0x3f, 0x32, + 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x21, 0x01, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x33, 0x01, 0x26, 0x35, 0x11, + 0x33, 0x11, 0x03, 0x44, 0xfd, 0xf8, 0x10, 0x88, 0x80, 0x47, 0x32, + 0x2c, 0x38, 0x73, 0xde, 0x02, 0x10, 0x12, 0xac, 0x04, 0x6a, 0xb0, + 0x4e, 0xfc, 0x12, 0x92, 0x95, 0x0b, 0xa2, 0x0e, 0x9d, 0x05, 0xb2, + 0xfb, 0x8e, 0x90, 0x82, 0x03, 0x60, 0xfa, 0xbb, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x04, 0x4e, 0x12, + 0x06, 0x03, 0x68, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, + 0x04, 0x66, 0x05, 0x5a, 0x12, 0x06, 0x04, 0x98, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x66, 0xff, 0xec, 0x04, 0xe6, 0x05, 0x81, 0x00, 0x14, + 0x00, 0x1e, 0x00, 0x48, 0x40, 0x25, 0x19, 0x06, 0x0d, 0x11, 0x11, + 0x15, 0x00, 0x06, 0x00, 0x1f, 0x20, 0x0f, 0x0e, 0x5f, 0x59, 0x0f, + 0x09, 0x0b, 0x13, 0x60, 0x59, 0x0b, 0x0b, 0x03, 0x09, 0x09, 0x17, + 0x5f, 0x59, 0x09, 0x04, 0x03, 0x1c, 0x5f, 0x59, 0x03, 0x13, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x33, 0x20, 0x13, + 0x36, 0x35, 0x23, 0x35, 0x33, 0x15, 0x14, 0x07, 0x16, 0x07, 0x10, + 0x21, 0x20, 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, 0x04, 0x66, 0xfe, + 0xf7, 0xf8, 0xf9, 0xfe, 0xfa, 0x01, 0x09, 0xf8, 0x01, 0x4c, 0x76, + 0x52, 0x58, 0xc3, 0xa2, 0x22, 0xc9, 0xfe, 0xca, 0xfe, 0xc8, 0x9e, + 0x99, 0xa3, 0x94, 0x02, 0xa9, 0xfe, 0xaf, 0xfe, 0x94, 0x01, 0x66, + 0x01, 0x57, 0x01, 0x59, 0x01, 0x58, 0xfe, 0xcf, 0x3f, 0x72, 0xa7, + 0x6a, 0xd4, 0x6e, 0x7f, 0xad, 0x02, 0x15, 0xfd, 0xeb, 0xfe, 0xf2, + 0xfe, 0xec, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x82, + 0xff, 0xec, 0x05, 0x03, 0x04, 0x4e, 0x00, 0x15, 0x00, 0x21, 0x00, + 0x42, 0x40, 0x21, 0x1c, 0x06, 0x0d, 0x11, 0x11, 0x16, 0x00, 0x06, + 0x00, 0x22, 0x23, 0x0b, 0x0b, 0x03, 0x0f, 0x0f, 0x0e, 0x52, 0x59, + 0x0f, 0x0f, 0x09, 0x19, 0x50, 0x59, 0x09, 0x10, 0x03, 0x1f, 0x50, + 0x59, 0x03, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, + 0x20, 0x13, 0x36, 0x35, 0x23, 0x35, 0x33, 0x15, 0x14, 0x06, 0x07, + 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x04, 0x49, 0xfb, 0xed, 0xe8, 0xf7, 0xfd, 0xe8, 0x01, + 0x8d, 0x45, 0x5f, 0x58, 0xc3, 0x60, 0x5e, 0x04, 0xbd, 0x89, 0x99, + 0x99, 0x92, 0x90, 0x90, 0x9f, 0x8e, 0x02, 0x1e, 0xfe, 0xef, 0xfe, + 0xdf, 0x01, 0x24, 0x01, 0x0e, 0x01, 0x17, 0x01, 0x19, 0xfe, 0x87, + 0x43, 0x81, 0xa7, 0x6a, 0x72, 0xb3, 0x37, 0x2c, 0x30, 0xd7, 0xd4, + 0xd2, 0xd9, 0xd2, 0xdb, 0xd6, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, + 0xfe, 0x58, 0x04, 0x71, 0x05, 0x5a, 0x00, 0x10, 0x00, 0x1b, 0x00, + 0x43, 0x40, 0x22, 0x16, 0x05, 0x0a, 0x00, 0x00, 0x1b, 0x0e, 0x0d, + 0x0d, 0x1b, 0x05, 0x03, 0x1c, 0x1d, 0x11, 0x10, 0x0a, 0x0a, 0x02, + 0x0b, 0x04, 0x08, 0x13, 0x5f, 0x59, 0x08, 0x04, 0x02, 0x19, 0x5f, + 0x59, 0x0e, 0x02, 0x13, 0x00, 0x3f, 0xc6, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x25, 0x06, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, + 0x32, 0x17, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x27, 0x26, 0x23, + 0x22, 0x02, 0x15, 0x14, 0x12, 0x33, 0x32, 0x37, 0x03, 0x17, 0x85, + 0x93, 0xe2, 0xeb, 0xf2, 0xd1, 0x7d, 0x71, 0x01, 0x63, 0x2b, 0xb4, + 0xa6, 0xb4, 0x2b, 0x47, 0x76, 0x87, 0x8d, 0x7e, 0x3e, 0x26, 0x4b, + 0x5f, 0x01, 0x66, 0x01, 0x57, 0x01, 0x44, 0x01, 0x6d, 0x47, 0x40, + 0xf9, 0x05, 0x06, 0x33, 0x08, 0x2b, 0xfe, 0xe6, 0xfb, 0xfd, 0xfe, + 0xdb, 0x20, 0x00, 0x02, 0x00, 0x26, 0xfe, 0x57, 0x04, 0x89, 0x04, + 0x4e, 0x00, 0x11, 0x00, 0x1c, 0x00, 0x44, 0x40, 0x23, 0x15, 0x09, + 0x0e, 0x03, 0x03, 0x1a, 0x00, 0x11, 0x11, 0x1a, 0x09, 0x03, 0x1d, + 0x1e, 0x1b, 0x02, 0x0e, 0x0e, 0x12, 0x0f, 0x10, 0x0b, 0x12, 0x50, + 0x59, 0x0b, 0x10, 0x06, 0x18, 0x50, 0x59, 0x06, 0x16, 0x00, 0x1c, + 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x23, 0x11, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, + 0x16, 0x17, 0x25, 0x33, 0x11, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x03, 0x26, 0x03, 0xdb, 0xb3, 0x39, 0x99, 0x51, + 0xed, 0xf2, 0x01, 0xe5, 0x52, 0x95, 0x33, 0x01, 0x3a, 0x2a, 0xfd, + 0x85, 0x9e, 0x8d, 0x8b, 0x95, 0x40, 0x38, 0x01, 0x34, 0xfe, 0x57, + 0x05, 0x3f, 0xfc, 0xa9, 0x27, 0x2c, 0x01, 0x21, 0x01, 0x11, 0x02, + 0x30, 0x2b, 0x1f, 0x41, 0xfa, 0x12, 0x05, 0x72, 0xcf, 0xdc, 0xd6, + 0xd7, 0x16, 0x03, 0x2e, 0x14, 0x00, 0x02, 0xff, 0xdd, 0x00, 0x00, + 0x04, 0x69, 0x05, 0x45, 0x00, 0x16, 0x00, 0x1e, 0x00, 0x44, 0x40, + 0x22, 0x0b, 0x10, 0x10, 0x07, 0x1b, 0x06, 0x06, 0x07, 0x17, 0x00, + 0x07, 0x00, 0x1f, 0x20, 0x1b, 0x05, 0x5f, 0x59, 0x1b, 0x0e, 0x1b, + 0x0e, 0x07, 0x13, 0x1a, 0x08, 0x13, 0x08, 0x60, 0x59, 0x13, 0x03, + 0x07, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x14, 0x0e, 0x01, 0x2b, 0x01, 0x11, 0x23, 0x11, 0x22, + 0x06, 0x15, 0x14, 0x17, 0x07, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, + 0x32, 0x04, 0x07, 0x34, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x04, + 0x69, 0x77, 0xdd, 0x91, 0xbf, 0xbf, 0x4d, 0x42, 0x12, 0x9b, 0x11, + 0x9b, 0x8e, 0x01, 0x72, 0xee, 0x01, 0x03, 0xc0, 0xfe, 0xb8, 0x9c, + 0xa4, 0x95, 0xab, 0x03, 0xb1, 0x7d, 0xc4, 0x6e, 0xfd, 0xfe, 0x04, + 0xb1, 0x44, 0x47, 0x31, 0x38, 0x11, 0x41, 0x3c, 0x85, 0x97, 0xd5, + 0xc2, 0xfe, 0xfd, 0xed, 0x92, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0xb9, 0xfe, 0x57, 0x04, 0x42, 0x05, 0xcc, 0x00, 0x1d, 0x00, 0x29, + 0x00, 0x43, 0x40, 0x23, 0x11, 0x00, 0x24, 0x17, 0x09, 0x09, 0x0a, + 0x1e, 0x00, 0x0a, 0x00, 0x2a, 0x2b, 0x1b, 0x21, 0x50, 0x59, 0x17, + 0x1b, 0x10, 0x0e, 0x14, 0x52, 0x59, 0x0e, 0x01, 0x0a, 0x1c, 0x02, + 0x27, 0x50, 0x59, 0x05, 0x02, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, + 0x39, 0x31, 0x30, 0x01, 0x10, 0x21, 0x22, 0x26, 0x27, 0x23, 0x16, + 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x15, + 0x26, 0x23, 0x22, 0x15, 0x11, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x12, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x42, 0xfe, 0x78, 0x7b, 0xa9, 0x27, 0x05, 0x04, 0xb5, + 0x92, 0x8f, 0x36, 0x27, 0x25, 0x38, 0x3c, 0x7d, 0x04, 0x32, 0x9b, + 0x7e, 0xc6, 0xc2, 0xba, 0x78, 0x85, 0x97, 0x86, 0x86, 0x95, 0x85, + 0x7a, 0x02, 0x22, 0xfd, 0xca, 0x5e, 0x5a, 0x08, 0x9e, 0xfe, 0x59, + 0x06, 0x4d, 0x91, 0x97, 0x08, 0x08, 0xa6, 0x14, 0x94, 0xfe, 0xf2, + 0x67, 0x61, 0xfe, 0xef, 0xfe, 0xe3, 0xdd, 0xc6, 0xdb, 0xde, 0xd5, + 0xc6, 0xca, 0x00, 0x02, 0x00, 0xa2, 0xfe, 0xc1, 0x04, 0xa5, 0x05, + 0x45, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x4b, 0x40, 0x26, 0x0e, 0x01, + 0x01, 0x0b, 0x14, 0x07, 0x03, 0x03, 0x04, 0x00, 0x0f, 0x0f, 0x10, + 0x0b, 0x04, 0x0b, 0x18, 0x19, 0x0e, 0x02, 0x14, 0x02, 0x5f, 0x59, + 0x07, 0x13, 0x5f, 0x59, 0x14, 0x07, 0x14, 0x07, 0x04, 0x05, 0x03, + 0x00, 0x04, 0x12, 0x00, 0x3f, 0xc6, 0x3f, 0x12, 0x39, 0x39, 0x2f, + 0x2f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x09, 0x01, 0x23, 0x11, 0x23, 0x11, + 0x33, 0x15, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x09, 0x01, + 0x34, 0x29, 0x01, 0x11, 0x21, 0x32, 0x36, 0x03, 0xc9, 0xfe, 0x82, + 0xea, 0xbf, 0xbf, 0x01, 0x23, 0xe9, 0xf4, 0xbc, 0xa0, 0x01, 0xa0, + 0xfe, 0xfc, 0xfe, 0xd0, 0xfe, 0xf0, 0x01, 0x18, 0x92, 0x96, 0xfe, + 0xc1, 0x02, 0xe5, 0xfe, 0x5a, 0x05, 0x45, 0x99, 0xc1, 0xb4, 0x93, + 0xce, 0x1a, 0xfd, 0x05, 0x04, 0x73, 0xdf, 0xfe, 0x2a, 0x80, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x64, 0xff, 0xec, 0x04, 0x78, 0x05, 0x5a, + 0x00, 0x28, 0x00, 0x52, 0x40, 0x2a, 0x0e, 0x0f, 0x0f, 0x00, 0x23, + 0x24, 0x24, 0x0a, 0x15, 0x00, 0x15, 0x29, 0x2a, 0x1d, 0x0a, 0x26, + 0x12, 0x00, 0x23, 0x10, 0x23, 0x02, 0x0d, 0x03, 0x23, 0x23, 0x26, + 0x26, 0x20, 0x5f, 0x59, 0x26, 0x13, 0x0e, 0x0e, 0x12, 0x12, 0x0c, + 0x60, 0x59, 0x12, 0x04, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, + 0x3e, 0x02, 0x37, 0x3e, 0x03, 0x35, 0x34, 0x21, 0x20, 0x07, 0x27, + 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x07, 0x0e, + 0x02, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x02, 0x21, + 0x22, 0x24, 0x64, 0x33, 0x5f, 0xa1, 0xa1, 0x45, 0x7f, 0x63, 0x3b, + 0xfe, 0xe5, 0xfe, 0xf4, 0x2d, 0xb7, 0x2f, 0xed, 0xd9, 0xe1, 0xef, + 0x55, 0xb6, 0xaf, 0xad, 0x82, 0x4a, 0xab, 0x9f, 0x93, 0xab, 0x1b, + 0xb4, 0x4a, 0xfe, 0x39, 0xf7, 0xfe, 0xf4, 0x01, 0x6d, 0x51, 0x7f, + 0x5e, 0x4a, 0x26, 0x10, 0x20, 0x32, 0x4c, 0x3c, 0xd5, 0xd5, 0x21, + 0xac, 0x98, 0xbb, 0xad, 0x61, 0x90, 0x62, 0x26, 0x26, 0x3e, 0x5e, + 0x48, 0x73, 0x7b, 0x78, 0x7e, 0x25, 0xfe, 0x9a, 0xc6, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xa9, 0xff, 0xec, 0x04, 0x22, 0x04, 0x4b, 0x00, + 0x27, 0x00, 0x54, 0x40, 0x2b, 0x0e, 0x0f, 0x0f, 0x1b, 0x00, 0x21, + 0x22, 0x22, 0x0a, 0x14, 0x00, 0x14, 0x28, 0x29, 0x1b, 0x0a, 0x25, + 0x12, 0x21, 0x21, 0x25, 0x25, 0x1e, 0x50, 0x59, 0x25, 0x16, 0x00, + 0x0e, 0x70, 0x0e, 0x02, 0x0b, 0x03, 0x0e, 0x0e, 0x12, 0x12, 0x0c, + 0x50, 0x59, 0x12, 0x10, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x5f, 0x5e, 0x5d, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x34, 0x3e, 0x02, 0x37, 0x3e, 0x03, 0x35, 0x34, 0x23, 0x22, 0x07, + 0x27, 0x3e, 0x01, 0x33, 0x20, 0x11, 0x14, 0x0e, 0x01, 0x07, 0x0e, + 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, + 0x23, 0x22, 0x26, 0xa9, 0x2b, 0x55, 0x86, 0x92, 0x41, 0x6c, 0x4e, + 0x2b, 0xf5, 0xdb, 0x1f, 0x9e, 0x1a, 0xd2, 0xb0, 0x01, 0x99, 0x59, + 0xa4, 0xf8, 0x68, 0x60, 0x8e, 0x80, 0x85, 0x8d, 0x15, 0x9b, 0x21, + 0xd3, 0xce, 0xd2, 0xe5, 0x01, 0x1c, 0x3e, 0x63, 0x4f, 0x40, 0x27, + 0x11, 0x1d, 0x29, 0x3b, 0x2e, 0x92, 0x92, 0x16, 0x7e, 0x84, 0xfe, + 0xdb, 0x55, 0x7a, 0x55, 0x3d, 0x1a, 0x4f, 0x3f, 0x51, 0x5a, 0x52, + 0x53, 0x22, 0x88, 0x81, 0x98, 0x00, 0xff, 0xff, 0x00, 0x6c, 0x00, + 0x00, 0x04, 0xa1, 0x05, 0x45, 0x12, 0x06, 0x03, 0x54, 0x00, 0x00, + 0x00, 0x02, 0x00, 0xdf, 0xfe, 0x57, 0x03, 0x95, 0x05, 0xd5, 0x00, + 0x18, 0x00, 0x24, 0x00, 0x53, 0x40, 0x0e, 0x0d, 0x07, 0x07, 0x12, + 0x19, 0x00, 0x00, 0x1f, 0x12, 0x12, 0x25, 0x26, 0x16, 0x1c, 0xbb, + 0x01, 0x18, 0x00, 0x59, 0x00, 0x16, 0xff, 0xc0, 0x40, 0x09, 0x09, + 0x0d, 0x48, 0x16, 0x16, 0x03, 0x0f, 0x03, 0x22, 0xb8, 0x01, 0x18, + 0xb4, 0x59, 0x03, 0x0f, 0x0f, 0x0a, 0xb8, 0x01, 0x0a, 0xb2, 0x59, + 0x0f, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x33, + 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x0e, 0x01, + 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0xdf, 0x6f, 0x5e, 0x86, 0x84, 0x3b, 0x3a, + 0x36, 0x34, 0x45, 0x41, 0x80, 0x8d, 0x0f, 0x3d, 0x1b, 0x54, 0x68, + 0x4d, 0x3c, 0x30, 0x31, 0x3c, 0x3b, 0x32, 0x30, 0x3c, 0x05, 0x16, + 0x5a, 0x65, 0x98, 0x89, 0xfa, 0xd0, 0x44, 0x4b, 0x0d, 0x9e, 0x0d, + 0x99, 0x8f, 0x04, 0xfd, 0x0b, 0x12, 0x67, 0x55, 0x31, 0x3c, 0x3c, + 0x31, 0x30, 0x3c, 0x3c, 0x00, 0x00, 0x01, 0x00, 0xbe, 0xfe, 0x57, + 0x03, 0xf9, 0x05, 0x54, 0x00, 0x20, 0x00, 0x4d, 0x40, 0x10, 0x05, + 0x09, 0x09, 0x02, 0x1f, 0x13, 0x1a, 0x1a, 0x06, 0x0e, 0x1f, 0x0e, + 0x21, 0x22, 0x1c, 0x0c, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x1c, 0x16, + 0x11, 0x16, 0xb8, 0x01, 0x0a, 0x40, 0x0d, 0x59, 0x11, 0x1c, 0x08, + 0x00, 0x01, 0x00, 0x50, 0x59, 0x05, 0x03, 0x01, 0x0f, 0x00, 0x3f, + 0xc6, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, + 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x37, 0x11, 0x10, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, + 0x3d, 0x01, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0xbe, 0xaa, 0x3a, + 0x78, 0x01, 0xb0, 0xfe, 0x50, 0x55, 0x61, 0x86, 0xa3, 0xfd, 0x43, + 0x44, 0x38, 0x32, 0x3c, 0x36, 0x5b, 0x4c, 0xa2, 0xa2, 0x03, 0xac, + 0x8e, 0x01, 0x1a, 0xfe, 0xe6, 0x8e, 0xfd, 0x74, 0x4f, 0x4c, 0x22, + 0xfe, 0xca, 0xfe, 0xe6, 0x11, 0xa0, 0x12, 0x42, 0x47, 0x7d, 0x0c, + 0x89, 0x94, 0x02, 0x9f, 0x00, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, + 0x04, 0x80, 0x05, 0x45, 0x00, 0x11, 0x00, 0x35, 0x40, 0x19, 0x07, + 0x0c, 0x0c, 0x02, 0x10, 0x01, 0x01, 0x02, 0x02, 0x12, 0x13, 0x0a, + 0x0a, 0x02, 0x0f, 0x00, 0x04, 0x0f, 0x04, 0x5f, 0x59, 0x0f, 0x03, + 0x02, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x17, 0x07, 0x26, 0x35, 0x34, 0x36, 0x33, + 0x21, 0x15, 0x02, 0xc5, 0xbe, 0xca, 0x4d, 0x42, 0x12, 0x9b, 0x11, + 0x9b, 0x97, 0x03, 0x3a, 0x04, 0xa9, 0xfb, 0x57, 0x04, 0xa9, 0x3c, + 0x47, 0x31, 0x38, 0x11, 0x4a, 0x3d, 0x86, 0x8c, 0x9c, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xbe, 0xff, 0xf0, 0x03, 0xf9, 0x05, 0xda, 0x00, + 0x1f, 0x00, 0x41, 0x40, 0x0c, 0x0f, 0x08, 0x13, 0x13, 0x02, 0x1e, + 0x1e, 0x18, 0x20, 0x21, 0x1b, 0x16, 0xb8, 0x01, 0x0a, 0x40, 0x12, + 0x59, 0x1b, 0x16, 0x06, 0x0b, 0x52, 0x59, 0x06, 0x01, 0x12, 0x00, + 0x01, 0x00, 0x50, 0x59, 0x0f, 0x01, 0x0f, 0x00, 0x3f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x13, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, + 0x15, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x21, 0x15, 0x21, 0x11, + 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x11, 0xbe, 0xaf, 0x8c, 0x86, 0x42, 0x36, 0x38, 0x2e, 0x3f, 0x38, + 0x01, 0xb0, 0xfe, 0x50, 0x55, 0x61, 0x86, 0xa3, 0xa9, 0xa6, 0xa2, + 0xa2, 0x03, 0xac, 0x8e, 0x6e, 0x98, 0x9a, 0x0e, 0xa8, 0x14, 0x49, + 0x4b, 0x6a, 0x8e, 0xfd, 0x74, 0x4f, 0x4c, 0x22, 0x89, 0x2e, 0x89, + 0x94, 0x02, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4c, 0xfe, + 0x57, 0x04, 0x80, 0x05, 0x45, 0x00, 0x11, 0x00, 0x2c, 0x40, 0x16, + 0x10, 0x07, 0x01, 0x01, 0x0f, 0x0c, 0x0c, 0x12, 0x13, 0x00, 0x0e, + 0x0f, 0x0e, 0x5f, 0x59, 0x09, 0x04, 0x5f, 0x59, 0x09, 0x0f, 0x03, + 0x00, 0x3f, 0xc4, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x11, 0x21, 0x35, 0x21, 0x15, 0x02, 0xc5, 0x30, 0x34, 0x3c, 0x32, + 0x46, 0x3e, 0x81, 0x8b, 0xfe, 0x45, 0x04, 0x34, 0x04, 0xa9, 0xfa, + 0xea, 0x51, 0x4c, 0x10, 0x9e, 0x11, 0x94, 0x88, 0x05, 0x36, 0x9c, + 0x9c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8e, 0xff, 0xec, 0x05, + 0x24, 0x05, 0x81, 0x00, 0x1c, 0x00, 0x3d, 0x40, 0x1f, 0x14, 0x11, + 0x03, 0x07, 0x07, 0x1a, 0x00, 0x0b, 0x11, 0x0b, 0x1d, 0x1e, 0x00, + 0x0a, 0x60, 0x59, 0x00, 0x00, 0x0e, 0x05, 0x04, 0x1b, 0x03, 0x12, + 0x03, 0x0e, 0x17, 0x5f, 0x59, 0x0e, 0x13, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x33, 0xc6, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x3e, 0x01, 0x35, 0x23, 0x35, 0x33, 0x15, 0x14, + 0x06, 0x07, 0x11, 0x10, 0x06, 0x23, 0x22, 0x26, 0x19, 0x01, 0x33, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x04, 0x01, + 0x5f, 0x59, 0x58, 0xc3, 0x92, 0x91, 0xd5, 0xed, 0xe3, 0xce, 0xbf, + 0x69, 0x88, 0x91, 0x74, 0xbe, 0x03, 0xfb, 0x1d, 0x6f, 0x53, 0xa7, + 0x6a, 0x99, 0xc0, 0x21, 0xfe, 0x4d, 0xfe, 0xf7, 0xf5, 0xea, 0x01, + 0x02, 0x03, 0x6d, 0xfc, 0xad, 0xd0, 0x9b, 0xa2, 0xd6, 0x03, 0x46, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 0xff, 0xec, 0x04, 0xef, 0x04, + 0x3a, 0x00, 0x24, 0x00, 0x54, 0x40, 0x1b, 0x01, 0x23, 0x0d, 0x11, + 0x11, 0x14, 0x1c, 0x07, 0x07, 0x0a, 0x14, 0x23, 0x14, 0x25, 0x26, + 0x24, 0x0f, 0x20, 0x04, 0x50, 0x59, 0x20, 0x16, 0x1c, 0x1d, 0x0a, + 0x14, 0xb8, 0x01, 0x19, 0x40, 0x0c, 0x59, 0x1d, 0x0a, 0x1d, 0x0a, + 0x08, 0x18, 0x15, 0x0f, 0x0e, 0x08, 0x0f, 0x00, 0x3f, 0x33, 0x33, + 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, + 0x11, 0x3e, 0x01, 0x35, 0x23, 0x35, 0x33, 0x15, 0x14, 0x06, 0x07, + 0x11, 0x14, 0x17, 0x23, 0x2e, 0x02, 0x27, 0x23, 0x0e, 0x01, 0x23, + 0x22, 0x26, 0x35, 0x11, 0x01, 0x68, 0x56, 0x76, 0x79, 0x8a, 0xb5, + 0x52, 0x46, 0x58, 0xc3, 0x7b, 0x88, 0x06, 0xaa, 0x01, 0x02, 0x03, + 0x02, 0x03, 0x40, 0x98, 0x6e, 0xaa, 0x99, 0x04, 0x3a, 0xfd, 0x52, + 0x9d, 0x78, 0xb1, 0x9f, 0x02, 0x73, 0xfe, 0x74, 0x23, 0x68, 0x5a, + 0xa7, 0x6a, 0x95, 0xb9, 0x31, 0xfe, 0x96, 0xbd, 0x2a, 0x05, 0x2c, + 0x39, 0x4f, 0x73, 0x5a, 0xb1, 0xcc, 0x02, 0xd1, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x3a, 0xff, 0xeb, 0x04, 0x92, 0x05, 0x45, 0x00, + 0x23, 0x00, 0x43, 0x40, 0x21, 0x0f, 0x0a, 0x0c, 0x06, 0x1e, 0x18, + 0x06, 0x18, 0x03, 0x1a, 0x15, 0x21, 0x03, 0x21, 0x24, 0x25, 0x1e, + 0x1c, 0x06, 0x09, 0x0a, 0x09, 0x5f, 0x59, 0x19, 0x0a, 0x03, 0x00, + 0x12, 0x5f, 0x59, 0x00, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x32, 0x32, 0x31, 0x30, 0x05, 0x22, 0x00, 0x11, 0x34, 0x12, 0x37, + 0x06, 0x2b, 0x01, 0x35, 0x21, 0x15, 0x06, 0x02, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x02, 0x27, 0x35, 0x21, 0x15, 0x23, + 0x22, 0x27, 0x16, 0x12, 0x15, 0x10, 0x00, 0x02, 0x66, 0xf5, 0xfe, + 0xe1, 0xae, 0xa3, 0x75, 0x2c, 0xc8, 0x01, 0xe3, 0x86, 0x82, 0xac, + 0xa4, 0xa8, 0xaa, 0x83, 0x85, 0x01, 0xe3, 0xc8, 0x2c, 0x75, 0xa3, + 0xae, 0xfe, 0xe1, 0x15, 0x01, 0x44, 0x01, 0x13, 0xbd, 0x01, 0x49, + 0x6c, 0x0b, 0x9c, 0xe0, 0x62, 0xfe, 0xf8, 0xac, 0xe0, 0xe8, 0xec, + 0xdc, 0xad, 0x01, 0x07, 0x62, 0xe0, 0x9c, 0x0b, 0x6d, 0xfe, 0xb7, + 0xbc, 0xfe, 0xec, 0xfe, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x8e, 0xff, 0xec, 0x04, 0x66, 0x05, 0x5a, 0x00, 0x1b, 0x00, 0x2d, + 0x40, 0x18, 0x06, 0x03, 0x0d, 0x17, 0x17, 0x13, 0x03, 0x03, 0x1c, + 0x1d, 0x15, 0x10, 0x5f, 0x59, 0x15, 0x04, 0x04, 0x03, 0x00, 0x09, + 0x5f, 0x59, 0x00, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x05, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x12, 0x11, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x36, + 0x33, 0x20, 0x11, 0x10, 0x02, 0x0e, 0x01, 0x02, 0x59, 0xee, 0xdd, + 0xbf, 0x7c, 0x92, 0x6e, 0x94, 0x4b, 0x4f, 0x5a, 0x3a, 0x32, 0x07, + 0x43, 0x4e, 0x01, 0x49, 0x3f, 0x7f, 0xc5, 0x14, 0xf9, 0xfd, 0x03, + 0x63, 0xfc, 0xad, 0xbe, 0xad, 0x9b, 0x01, 0x4f, 0x01, 0x1f, 0x9d, + 0x8e, 0x0a, 0x9d, 0x0c, 0xfe, 0x43, 0xfe, 0xe9, 0xfe, 0xad, 0xd7, + 0x70, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x4b, 0x05, 0x5a, + 0x00, 0x13, 0x00, 0x3a, 0x40, 0x1c, 0x0f, 0x0e, 0x0e, 0x10, 0x0c, + 0x03, 0x0b, 0x0b, 0x0c, 0x0c, 0x14, 0x15, 0x0d, 0x0a, 0x10, 0x10, + 0x04, 0x0c, 0x0e, 0x03, 0x0c, 0x12, 0x00, 0x06, 0x5f, 0x59, 0x00, + 0x04, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x16, 0x17, + 0x07, 0x26, 0x23, 0x22, 0x06, 0x07, 0x01, 0x11, 0x23, 0x11, 0x01, + 0x33, 0x09, 0x01, 0x3e, 0x01, 0x04, 0x63, 0x3f, 0x6e, 0x3b, 0x54, + 0x4d, 0x3b, 0x2f, 0x34, 0x16, 0xfe, 0xaa, 0xbc, 0xfe, 0x1c, 0xcd, + 0x01, 0x76, 0x01, 0x20, 0x30, 0x78, 0x05, 0x5a, 0x2d, 0x33, 0x88, + 0x45, 0x2e, 0x24, 0xfd, 0xe3, 0xfd, 0xb8, 0x02, 0x48, 0x02, 0xfd, + 0xfd, 0x9d, 0x01, 0xdb, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x4c, 0xfe, 0x57, 0x05, 0xf1, 0x05, 0xcc, 0x00, 0x1e, 0x00, + 0x46, 0x40, 0x10, 0x1c, 0x08, 0x08, 0x0d, 0x09, 0x16, 0x16, 0x09, + 0x02, 0x1f, 0x20, 0x17, 0x09, 0x14, 0x14, 0x19, 0xb8, 0x01, 0x0a, + 0x40, 0x10, 0x59, 0x14, 0x01, 0x1c, 0x08, 0x0e, 0x0e, 0x00, 0x09, + 0x0f, 0x00, 0x05, 0x50, 0x59, 0x00, 0x1c, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x12, 0x39, 0x11, 0x33, 0x33, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x33, 0x11, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x3f, 0x01, 0x01, 0x33, 0x01, 0x16, 0x17, 0x33, 0x36, 0x37, + 0x01, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x07, 0x26, 0x23, 0x22, 0x07, + 0x01, 0x0e, 0x01, 0x01, 0x2a, 0x46, 0x32, 0x26, 0x2a, 0xaf, 0x60, + 0x11, 0xfe, 0x2a, 0xc0, 0x01, 0x08, 0x10, 0x50, 0x02, 0x0f, 0x4c, + 0x01, 0x11, 0x2c, 0x86, 0x6f, 0x82, 0x6c, 0x52, 0x44, 0x48, 0x61, + 0x33, 0xfe, 0x49, 0x57, 0xbf, 0xfe, 0x57, 0x0b, 0x87, 0x06, 0xfc, + 0x2c, 0x04, 0x2f, 0xfd, 0x7e, 0x28, 0xd0, 0x40, 0xd0, 0x03, 0x09, + 0x7b, 0x78, 0x5d, 0x80, 0x3e, 0x89, 0xfb, 0x5c, 0xed, 0xbc, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x49, 0x00, 0x00, 0x04, 0x83, 0x05, + 0x45, 0x00, 0x11, 0x00, 0x5c, 0x40, 0x31, 0x07, 0x0a, 0x06, 0x0b, + 0x0b, 0x01, 0x10, 0x02, 0x0f, 0x02, 0x06, 0x0c, 0x06, 0x03, 0x0f, + 0x04, 0x12, 0x13, 0x0f, 0x0b, 0x0e, 0x0b, 0x5f, 0x59, 0x0a, 0x11, + 0x00, 0x11, 0x60, 0x59, 0x07, 0x0f, 0x00, 0x01, 0x0c, 0x03, 0x00, + 0x00, 0x04, 0x0e, 0x12, 0x06, 0x03, 0x04, 0x03, 0x5f, 0x59, 0x04, + 0x03, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x12, 0x39, + 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x39, 0x33, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x13, 0x21, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x15, 0x21, 0x01, 0x21, + 0x15, 0x21, 0x35, 0x01, 0x21, 0x7b, 0x01, 0xac, 0x01, 0x54, 0xfd, + 0x17, 0x03, 0xc2, 0xfe, 0xa0, 0x01, 0x5d, 0xfe, 0x3c, 0xfe, 0x95, + 0x03, 0x61, 0xfb, 0xc6, 0x01, 0x76, 0xfe, 0xbc, 0x02, 0xf5, 0x01, + 0xb4, 0x9c, 0x8b, 0xfe, 0x3b, 0x85, 0xfe, 0x2c, 0x9c, 0x8f, 0x01, + 0xe1, 0x00, 0x01, 0x00, 0x93, 0x00, 0x00, 0x04, 0x2c, 0x04, 0x3a, + 0x00, 0x11, 0x00, 0x5c, 0x40, 0x31, 0x07, 0x0a, 0x06, 0x0b, 0x0b, + 0x01, 0x10, 0x02, 0x0f, 0x02, 0x06, 0x0c, 0x06, 0x03, 0x0f, 0x04, + 0x12, 0x13, 0x0f, 0x0b, 0x0e, 0x0b, 0x50, 0x59, 0x0a, 0x11, 0x00, + 0x11, 0x50, 0x59, 0x07, 0x0f, 0x00, 0x01, 0x0b, 0x03, 0x00, 0x00, + 0x04, 0x0e, 0x15, 0x06, 0x03, 0x04, 0x03, 0x50, 0x59, 0x04, 0x0f, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x12, 0x39, 0x2f, + 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x39, 0x33, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x13, 0x21, 0x01, + 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x15, 0x21, 0x01, 0x21, 0x15, + 0x21, 0x35, 0x01, 0x21, 0xa5, 0x01, 0x83, 0x01, 0x14, 0xfd, 0x7f, + 0x03, 0x4c, 0xfe, 0xea, 0x01, 0x1e, 0xfe, 0x72, 0xfe, 0xdc, 0x02, + 0xcf, 0xfc, 0x67, 0x01, 0x25, 0xfe, 0xed, 0x02, 0x69, 0x01, 0x46, + 0x8b, 0x89, 0xfe, 0xb8, 0x85, 0xfe, 0xa7, 0x8b, 0x89, 0x01, 0x5b, + 0x00, 0x01, 0x00, 0x17, 0xfe, 0x56, 0x04, 0x73, 0x05, 0x45, 0x00, + 0x1c, 0x00, 0x4b, 0x40, 0x28, 0x12, 0x11, 0x06, 0x1c, 0x01, 0x05, + 0x18, 0x09, 0x09, 0x05, 0x1c, 0x02, 0x11, 0x05, 0x1d, 0x1e, 0x0d, + 0x15, 0x5f, 0x59, 0x0d, 0x12, 0x06, 0x1b, 0x60, 0x59, 0x00, 0x06, + 0x06, 0x03, 0x12, 0x12, 0x05, 0x02, 0x03, 0x02, 0x5f, 0x59, 0x03, + 0x03, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x12, 0x39, + 0x2f, 0x33, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x09, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x04, 0x00, 0x15, + 0x14, 0x02, 0x04, 0x23, 0x22, 0x2e, 0x01, 0x27, 0x37, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x01, 0x8c, 0x01, + 0xf4, 0xfc, 0xf9, 0x03, 0xdc, 0xfe, 0x07, 0x01, 0x0a, 0x01, 0x0d, + 0x8d, 0xfe, 0xfb, 0xa6, 0x8a, 0xcd, 0x90, 0x3d, 0xa2, 0x3f, 0xba, + 0x86, 0xb0, 0xcf, 0xe8, 0xf9, 0x4a, 0x02, 0xbb, 0x01, 0xee, 0x9c, + 0xa1, 0xfe, 0x17, 0x11, 0xfe, 0xf0, 0xf9, 0xac, 0xfe, 0xf5, 0x94, + 0x49, 0x8d, 0x84, 0x4b, 0x8f, 0x81, 0xe9, 0xcd, 0xc5, 0xc8, 0x00, + 0x00, 0x01, 0x00, 0x46, 0xfe, 0x56, 0x04, 0xa1, 0x05, 0x45, 0x00, + 0x1a, 0x00, 0x4a, 0x40, 0x27, 0x04, 0x11, 0x19, 0x15, 0x00, 0x14, + 0x0a, 0x0b, 0x0b, 0x18, 0x14, 0x15, 0x11, 0x05, 0x1b, 0x1c, 0x1a, + 0x14, 0x14, 0x01, 0x60, 0x59, 0x14, 0x14, 0x0a, 0x16, 0x16, 0x19, + 0x5f, 0x59, 0x16, 0x03, 0x0e, 0x07, 0x5f, 0x59, 0x0e, 0x0a, 0x12, + 0x00, 0x3f, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x23, 0x22, 0x04, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, + 0x17, 0x06, 0x04, 0x23, 0x20, 0x00, 0x11, 0x34, 0x00, 0x25, 0x01, + 0x35, 0x21, 0x15, 0x21, 0x01, 0x03, 0x3f, 0x4a, 0xee, 0xfe, 0xfb, + 0xc8, 0xb7, 0x85, 0xbd, 0x3d, 0xa1, 0x54, 0xfe, 0xef, 0xc8, 0xfe, + 0xfc, 0xfe, 0xd6, 0x01, 0x27, 0x01, 0x01, 0xfe, 0x08, 0x03, 0xdc, + 0xfc, 0xf9, 0x01, 0xf4, 0x02, 0x2e, 0xdf, 0xcc, 0xc3, 0xd5, 0x85, + 0x8b, 0x4b, 0xb6, 0xa4, 0x01, 0x24, 0x01, 0x02, 0xf1, 0x01, 0x2f, + 0x1b, 0x01, 0xed, 0xa1, 0x9c, 0xfe, 0x12, 0x00, 0x01, 0x00, 0x80, + 0xfe, 0x57, 0x04, 0x46, 0x04, 0x3a, 0x00, 0x19, 0x00, 0x4b, 0x40, + 0x28, 0x07, 0x13, 0x01, 0x17, 0x03, 0x16, 0x0c, 0x0d, 0x0d, 0x00, + 0x16, 0x17, 0x13, 0x05, 0x1a, 0x1b, 0x16, 0x04, 0x50, 0x59, 0x02, + 0x16, 0x0c, 0x16, 0x0c, 0x16, 0x10, 0x18, 0x18, 0x01, 0x50, 0x59, + 0x18, 0x0f, 0x10, 0x0a, 0x50, 0x59, 0x10, 0x1c, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, + 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x01, + 0x15, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x20, 0x37, 0x17, + 0x0e, 0x01, 0x23, 0x22, 0x00, 0x35, 0x34, 0x12, 0x37, 0x01, 0x35, + 0x21, 0x04, 0x0e, 0xfd, 0x4a, 0x01, 0x89, 0x52, 0xa2, 0xb8, 0xa2, + 0x89, 0x01, 0x11, 0x24, 0xb1, 0x17, 0xfc, 0xd9, 0xda, 0xff, 0x00, + 0xe4, 0xbf, 0xfe, 0x82, 0x03, 0x69, 0x03, 0xad, 0xfe, 0x7e, 0x90, + 0xbd, 0x9d, 0xa4, 0xbd, 0xfc, 0x0c, 0xbb, 0xbe, 0x00, 0xff, 0xd7, + 0xcf, 0x01, 0x0b, 0x19, 0x01, 0x6a, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x97, 0xfe, 0x56, 0x04, 0x68, 0x04, 0x3a, 0x00, 0x28, + 0x00, 0x53, 0x40, 0x2c, 0x23, 0x07, 0x18, 0x11, 0x0e, 0x1b, 0x13, + 0x17, 0x28, 0x00, 0x00, 0x17, 0x1b, 0x11, 0x14, 0x07, 0x06, 0x29, + 0x2a, 0x17, 0x14, 0x15, 0x14, 0x50, 0x59, 0x12, 0x18, 0x18, 0x11, + 0x50, 0x59, 0x28, 0x18, 0x28, 0x18, 0x03, 0x15, 0x03, 0x26, 0x50, + 0x59, 0x03, 0x15, 0x0f, 0x00, 0x3f, 0xc4, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x06, 0x04, + 0x23, 0x22, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, 0x37, 0x3e, 0x01, + 0x35, 0x34, 0x26, 0x23, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, + 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x15, 0x14, + 0x16, 0x33, 0x20, 0x37, 0x04, 0x68, 0x28, 0xfe, 0xf3, 0xd2, 0x8a, + 0xd7, 0x69, 0x55, 0x95, 0xa9, 0xab, 0x72, 0xc3, 0xc1, 0x01, 0x64, + 0xfd, 0x8e, 0x03, 0x64, 0xfe, 0x74, 0xb2, 0xb6, 0x4f, 0x8a, 0xb0, + 0x89, 0x61, 0x34, 0x8c, 0x88, 0x01, 0x12, 0x42, 0x65, 0x9b, 0xaa, + 0x4c, 0x89, 0x5c, 0x4f, 0x6e, 0x4e, 0x2b, 0x2a, 0x51, 0x3a, 0x4a, + 0x3d, 0x8b, 0x01, 0x2a, 0x8c, 0x77, 0xfe, 0xbe, 0x0d, 0x8b, 0x77, + 0x52, 0x6c, 0x48, 0x2b, 0x22, 0x2e, 0x41, 0x30, 0x49, 0x52, 0xc9, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x7b, 0x00, 0x00, 0x04, 0x51, 0x05, + 0x5a, 0x00, 0x21, 0x00, 0x5a, 0x40, 0x2e, 0x01, 0x20, 0x03, 0x1d, + 0x03, 0x1a, 0x09, 0x0a, 0x12, 0x15, 0x10, 0x19, 0x19, 0x1d, 0x1d, + 0x0a, 0x10, 0x03, 0x23, 0x22, 0x15, 0x21, 0x00, 0x21, 0x60, 0x59, + 0x12, 0x00, 0x00, 0x1c, 0x0d, 0x1c, 0x19, 0x60, 0x59, 0x1c, 0x12, + 0x09, 0x09, 0x0d, 0x0d, 0x06, 0x60, 0x59, 0x0d, 0x04, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x32, + 0x32, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x13, 0x21, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x07, 0x33, 0x15, 0x21, 0x0e, 0x02, 0x07, 0x21, + 0x15, 0x21, 0x35, 0x3e, 0x01, 0x37, 0x21, 0x7b, 0x02, 0x69, 0x89, + 0x88, 0x82, 0x72, 0x8d, 0x0d, 0xb8, 0x14, 0xed, 0xc3, 0xd8, 0xeb, + 0x6a, 0x95, 0xfe, 0xe2, 0xf4, 0x7e, 0x58, 0x17, 0x02, 0xea, 0xfc, + 0x54, 0x33, 0xc2, 0xbf, 0xfe, 0x37, 0x02, 0xf5, 0x77, 0x80, 0x6c, + 0x6e, 0x7d, 0x71, 0x11, 0xa9, 0xc8, 0xbc, 0xad, 0x88, 0x74, 0x85, + 0xbf, 0x75, 0x70, 0x3a, 0x92, 0x75, 0x7e, 0xe9, 0x94, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x78, 0xff, 0xec, 0x04, 0x45, 0x05, 0x45, 0x00, + 0x1b, 0x00, 0x47, 0x40, 0x26, 0x07, 0x06, 0x18, 0x11, 0x0d, 0x00, + 0x00, 0x16, 0x11, 0x13, 0x06, 0x05, 0x1c, 0x1d, 0x18, 0x10, 0x5f, + 0x59, 0x18, 0x18, 0x03, 0x14, 0x17, 0x13, 0x14, 0x13, 0x5f, 0x59, + 0x14, 0x03, 0x03, 0x0a, 0x60, 0x59, 0x07, 0x07, 0x03, 0x13, 0x00, + 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x04, + 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x2b, 0x01, 0x11, 0x23, 0x35, 0x21, 0x15, 0x21, 0x11, + 0x33, 0x32, 0x04, 0x04, 0x45, 0xfe, 0xf6, 0xea, 0xbf, 0xf8, 0x22, + 0xb3, 0x23, 0x95, 0x71, 0x93, 0xa3, 0xae, 0xa2, 0xdb, 0xb6, 0x03, + 0x71, 0xfd, 0xfd, 0x44, 0xe9, 0x01, 0x01, 0x01, 0xc0, 0xd9, 0xfb, + 0xc2, 0xab, 0x15, 0x7e, 0x75, 0xab, 0x96, 0x92, 0x91, 0x01, 0xca, + 0x9c, 0x9c, 0xfe, 0xd1, 0xe9, 0x00, 0x00, 0x01, 0x00, 0xa0, 0xff, + 0xec, 0x04, 0x21, 0x04, 0x3a, 0x00, 0x1a, 0x00, 0x47, 0x40, 0x26, + 0x16, 0x15, 0x0b, 0x04, 0x00, 0x0f, 0x0f, 0x09, 0x04, 0x06, 0x15, + 0x05, 0x1b, 0x1c, 0x0b, 0x03, 0x50, 0x59, 0x0b, 0x0b, 0x12, 0x07, + 0x12, 0x19, 0x50, 0x59, 0x16, 0x16, 0x12, 0x16, 0x0a, 0x06, 0x07, + 0x06, 0x50, 0x59, 0x07, 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x23, 0x35, + 0x21, 0x15, 0x21, 0x15, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x20, 0x03, 0x6c, 0x90, + 0x9f, 0xc5, 0xd4, 0x03, 0x5c, 0xfe, 0x1a, 0x4a, 0xd5, 0xe8, 0xe3, + 0xd1, 0xc2, 0xe6, 0x25, 0xae, 0x12, 0x98, 0x69, 0x01, 0x0b, 0x01, + 0x5a, 0x68, 0x64, 0x01, 0x88, 0x8c, 0x8c, 0xfe, 0xad, 0xa7, 0xae, + 0xc2, 0xa1, 0xaa, 0x0c, 0x61, 0x71, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x81, 0xff, 0xec, 0x04, 0x31, 0x05, 0xe3, 0x00, 0x29, 0x00, 0x45, + 0x40, 0x23, 0x11, 0x10, 0x27, 0x01, 0x01, 0x24, 0x20, 0x17, 0x0a, + 0x0a, 0x20, 0x10, 0x03, 0x2a, 0x2b, 0x00, 0x22, 0x23, 0x22, 0x51, + 0x59, 0x17, 0x0d, 0x27, 0x26, 0x23, 0x0f, 0x0d, 0x14, 0x50, 0x59, + 0x11, 0x11, 0x0d, 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, + 0x3f, 0xc4, 0x33, 0x12, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x15, 0x14, 0x1e, 0x01, 0x17, 0x1e, 0x03, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x2e, 0x02, 0x27, 0x2e, 0x02, 0x3d, 0x01, + 0x23, 0x35, 0x33, 0x11, 0x37, 0x11, 0x33, 0x15, 0x01, 0xcc, 0x22, + 0x55, 0x55, 0x9d, 0x84, 0x4e, 0x2a, 0xe3, 0xdc, 0xdd, 0xee, 0x25, + 0x9f, 0x1b, 0xa6, 0x93, 0x85, 0x88, 0x27, 0x4c, 0x73, 0x4b, 0x7b, + 0x7f, 0x3f, 0x97, 0x98, 0xb3, 0xf5, 0x03, 0xb7, 0x61, 0x53, 0x44, + 0x2c, 0x14, 0x26, 0x3b, 0x4a, 0x62, 0x40, 0x9f, 0xa7, 0x85, 0x8d, + 0x1f, 0x57, 0x51, 0x4f, 0x60, 0x31, 0x3f, 0x2c, 0x20, 0x13, 0x1e, + 0x53, 0x81, 0x5f, 0x73, 0x83, 0x01, 0x5b, 0x4e, 0xfe, 0x57, 0x83, + 0x00, 0x00, 0x00, 0x02, 0x00, 0xb9, 0xfe, 0x57, 0x04, 0x42, 0x04, + 0x50, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x3f, 0x40, 0x0d, 0x17, 0x0a, + 0x05, 0x05, 0x06, 0x10, 0x00, 0x06, 0x00, 0x1b, 0x1c, 0x04, 0x17, + 0xb8, 0x01, 0x0a, 0x40, 0x10, 0x59, 0x04, 0x04, 0x06, 0x0d, 0x0d, + 0x13, 0x50, 0x59, 0x0a, 0x0d, 0x10, 0x07, 0x0f, 0x06, 0x1c, 0x00, + 0x3f, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x14, 0x02, 0x04, 0x05, 0x11, 0x23, + 0x11, 0x33, 0x16, 0x15, 0x33, 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x3e, 0x02, 0x04, 0x42, 0x8e, + 0xfe, 0xd7, 0xfe, 0xe3, 0xb5, 0xa9, 0x0a, 0x04, 0x5b, 0xe7, 0xc3, + 0xcd, 0xba, 0x81, 0x7b, 0x8e, 0x90, 0xcd, 0xe0, 0x6d, 0x02, 0x73, + 0xa3, 0xfe, 0xef, 0xd6, 0x68, 0xfe, 0xd6, 0x05, 0xe3, 0x69, 0x4a, + 0xc9, 0xf4, 0xea, 0xaf, 0xa4, 0xcc, 0xd8, 0xfd, 0xf3, 0x4d, 0xad, + 0xda, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x00, 0x00, 0x02, + 0xc0, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x14, 0xb7, 0x03, 0x00, 0x00, + 0x04, 0x05, 0x01, 0x00, 0x12, 0x00, 0x3f, 0xcd, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x33, 0x11, 0x02, 0x0c, + 0xb4, 0x05, 0xcc, 0xfa, 0x34, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, + 0x72, 0x00, 0x00, 0x03, 0x5a, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x1f, 0x40, 0x0d, 0x03, 0x00, 0x04, 0x07, 0x00, 0x07, 0x08, + 0x09, 0x05, 0x01, 0x04, 0x00, 0x12, 0x00, 0x3f, 0x32, 0xcd, 0x32, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x01, 0x72, 0xa5, + 0x9e, 0xa5, 0x05, 0xcc, 0xfa, 0x34, 0x05, 0xcc, 0xfa, 0x34, 0x00, + 0x01, 0x00, 0x82, 0x00, 0x00, 0x04, 0x4a, 0x05, 0xcc, 0x00, 0x13, + 0x00, 0x43, 0x40, 0x21, 0x08, 0x04, 0x0c, 0x0c, 0x11, 0x01, 0x0d, + 0x0d, 0x14, 0x15, 0x07, 0x13, 0x00, 0x13, 0x5f, 0x59, 0x04, 0x00, + 0x0b, 0x0f, 0x10, 0x0f, 0x5f, 0x59, 0x08, 0x10, 0x00, 0x10, 0x00, + 0x10, 0x02, 0x0d, 0x12, 0x00, 0x3f, 0xc6, 0x39, 0x39, 0x2f, 0x2f, + 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x13, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, + 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, + 0x21, 0x82, 0x01, 0x8c, 0xae, 0x01, 0x8e, 0xfe, 0x72, 0x01, 0x8e, + 0xfe, 0x72, 0xae, 0xfe, 0x74, 0x01, 0x8c, 0xfe, 0x74, 0x04, 0x06, + 0x01, 0xc6, 0xfe, 0x3a, 0x99, 0xfe, 0xcc, 0x99, 0xfe, 0x60, 0x01, + 0xa0, 0x99, 0x01, 0x34, 0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0x03, + 0x00, 0x00, 0x02, 0xc9, 0x05, 0x44, 0x12, 0x06, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x59, 0x00, 0x00, 0x04, 0xd6, 0x06, 0x8d, + 0x00, 0x09, 0x00, 0x13, 0x00, 0x1c, 0x00, 0x26, 0x00, 0x79, 0x40, + 0x40, 0x19, 0x0e, 0x14, 0x0a, 0x09, 0x08, 0x03, 0x03, 0x06, 0x02, + 0x01, 0x01, 0x21, 0x21, 0x25, 0x1f, 0x05, 0x06, 0x06, 0x20, 0x24, + 0x24, 0x1d, 0x1d, 0x1f, 0x0a, 0x0e, 0x04, 0x27, 0x28, 0x24, 0x21, + 0x21, 0x18, 0x0f, 0x18, 0x5f, 0x59, 0x22, 0x0f, 0x03, 0x1f, 0x25, + 0x25, 0x19, 0x0e, 0x19, 0x5f, 0x59, 0x1e, 0x0e, 0x12, 0x05, 0x01, + 0x09, 0x01, 0x8c, 0x5b, 0x09, 0x03, 0x8e, 0x59, 0x09, 0x05, 0x00, + 0x3f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x33, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x35, 0x33, 0x17, 0x33, 0x37, 0x33, 0x15, 0x07, 0x23, 0x03, 0x10, + 0x02, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x16, 0x12, 0x07, 0x10, 0x26, + 0x2b, 0x01, 0x11, 0x33, 0x32, 0x12, 0x01, 0x21, 0x35, 0x01, 0x21, + 0x35, 0x21, 0x15, 0x01, 0x21, 0x02, 0xda, 0x68, 0x96, 0x02, 0x94, + 0x68, 0xab, 0xa6, 0xf5, 0xc9, 0xc9, 0xa5, 0x7a, 0xa3, 0xc1, 0x59, + 0xa7, 0x6f, 0x7b, 0x04, 0x18, 0x63, 0x73, 0x02, 0xda, 0xfd, 0xce, + 0x01, 0x7c, 0xfe, 0xcd, 0x01, 0xe9, 0xfe, 0x7f, 0x01, 0x81, 0x06, + 0x79, 0x14, 0x7b, 0x7b, 0x14, 0xd4, 0xfd, 0x0b, 0xfe, 0xa3, 0xfe, + 0xad, 0x05, 0x45, 0x84, 0xfe, 0xeb, 0xfc, 0x01, 0x02, 0xf7, 0xfb, + 0xf3, 0x01, 0x0c, 0xfe, 0x58, 0x8e, 0x04, 0x1b, 0x9c, 0x8a, 0xfb, + 0xe1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x59, 0x00, 0x00, 0x04, + 0xc3, 0x05, 0x99, 0x00, 0x09, 0x00, 0x13, 0x00, 0x1c, 0x00, 0x26, + 0x00, 0x75, 0x40, 0x41, 0x19, 0x0e, 0x14, 0x0a, 0x09, 0x08, 0x03, + 0x03, 0x06, 0x02, 0x01, 0x01, 0x20, 0x20, 0x24, 0x1e, 0x05, 0x06, + 0x06, 0x1f, 0x23, 0x23, 0x25, 0x25, 0x1e, 0x0a, 0x0e, 0x04, 0x27, + 0x28, 0x1d, 0x24, 0x60, 0x59, 0x21, 0x20, 0x60, 0x59, 0x21, 0x0f, + 0x0f, 0x18, 0x5f, 0x59, 0x0f, 0x03, 0x0e, 0x19, 0x5f, 0x59, 0x1d, + 0x0e, 0x12, 0x05, 0x01, 0x09, 0x01, 0x8c, 0x5b, 0x09, 0x03, 0x8e, + 0x59, 0x09, 0x11, 0x00, 0x3f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, + 0x33, 0x17, 0x33, 0x37, 0x33, 0x15, 0x07, 0x23, 0x03, 0x10, 0x02, + 0x2b, 0x01, 0x11, 0x33, 0x32, 0x16, 0x12, 0x07, 0x10, 0x26, 0x2b, + 0x01, 0x11, 0x33, 0x32, 0x12, 0x13, 0x35, 0x01, 0x21, 0x35, 0x21, + 0x15, 0x01, 0x21, 0x15, 0x02, 0xb7, 0x68, 0x96, 0x02, 0x94, 0x68, + 0xab, 0xa6, 0xd2, 0xc9, 0xc9, 0xa5, 0x7a, 0xa3, 0xc1, 0x59, 0xa7, + 0x6f, 0x7b, 0x04, 0x18, 0x63, 0x73, 0xa8, 0x01, 0x60, 0xfe, 0xc8, + 0x01, 0xe5, 0xfe, 0x9b, 0x01, 0x8a, 0x05, 0x85, 0x14, 0x7b, 0x7b, + 0x14, 0xd4, 0xfd, 0xff, 0xfe, 0xa3, 0xfe, 0xad, 0x05, 0x45, 0x84, + 0xfe, 0xeb, 0xfc, 0x01, 0x02, 0xf7, 0xfb, 0xf3, 0x01, 0x0c, 0xfe, + 0x58, 0x84, 0x03, 0x2b, 0x8b, 0x84, 0xfc, 0xd5, 0x8b, 0x00, 0x00, + 0x04, 0x00, 0x32, 0xff, 0xe6, 0x04, 0xcd, 0x05, 0xcc, 0x00, 0x09, + 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x35, 0x00, 0x8c, 0x40, 0x4d, 0x20, + 0x10, 0x26, 0x1e, 0x18, 0x18, 0x19, 0x09, 0x08, 0x03, 0x03, 0x06, + 0x02, 0x01, 0x01, 0x2f, 0x2f, 0x2d, 0x05, 0x06, 0x06, 0x2e, 0x32, + 0x34, 0x32, 0x2d, 0x19, 0x10, 0x05, 0x36, 0x37, 0x32, 0x2f, 0x30, + 0x2f, 0x50, 0x59, 0x30, 0x0f, 0x2d, 0x33, 0x2c, 0x33, 0x50, 0x59, + 0x2c, 0x15, 0x1d, 0x15, 0x18, 0x01, 0x12, 0x29, 0x50, 0x59, 0x15, + 0x12, 0x10, 0x0d, 0x23, 0x50, 0x59, 0x0a, 0x0d, 0x16, 0x05, 0x01, + 0x09, 0x01, 0x8c, 0x5b, 0x09, 0x03, 0x8e, 0x59, 0x09, 0x11, 0x00, + 0x3f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x33, 0x17, 0x33, 0x37, + 0x33, 0x15, 0x07, 0x23, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, + 0x10, 0x33, 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, 0x14, + 0x17, 0x23, 0x26, 0x35, 0x03, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0x35, 0x01, 0x21, 0x35, 0x21, + 0x15, 0x01, 0x21, 0x15, 0x02, 0xcb, 0x68, 0x96, 0x02, 0x94, 0x68, + 0xab, 0xa6, 0xfe, 0x5b, 0x20, 0x4e, 0x45, 0x7a, 0x72, 0xee, 0x47, + 0x4c, 0x1f, 0x02, 0x02, 0xa0, 0x05, 0x98, 0x09, 0xfc, 0x3a, 0x44, + 0x42, 0x38, 0x38, 0x41, 0x42, 0x3d, 0x01, 0xcb, 0x01, 0x60, 0xfe, + 0xc8, 0x01, 0xe5, 0xfe, 0x9b, 0x01, 0x80, 0x05, 0x85, 0x14, 0x7b, + 0x7b, 0x14, 0xd4, 0xfb, 0xcb, 0x57, 0x3f, 0x01, 0x15, 0x01, 0x19, + 0x02, 0x36, 0x3b, 0x55, 0x83, 0x01, 0x8f, 0xfb, 0x13, 0xb2, 0x2d, + 0x18, 0x64, 0x01, 0x9e, 0xe2, 0xc7, 0xd7, 0xe2, 0xd4, 0xc7, 0xc7, + 0xfd, 0x02, 0x84, 0x03, 0x2b, 0x8b, 0x84, 0xfc, 0xd5, 0x8b, 0x00, + 0x02, 0x00, 0x59, 0xff, 0xec, 0x04, 0x77, 0x05, 0x45, 0x00, 0x05, + 0x00, 0x15, 0x00, 0x38, 0x40, 0x1f, 0x03, 0x00, 0x0b, 0x10, 0x10, + 0x15, 0x05, 0x00, 0x04, 0x16, 0x17, 0x13, 0x08, 0x5f, 0x59, 0x13, + 0x13, 0x0e, 0x0d, 0x5f, 0x59, 0x0e, 0x03, 0x01, 0x03, 0x00, 0x03, + 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, + 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x21, 0x11, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x59, 0xa2, 0x01, 0x38, 0x77, 0x3c, + 0x47, 0x5b, 0x4d, 0xbf, 0x01, 0x61, 0x9d, 0xa5, 0x6f, 0x52, 0x05, + 0x45, 0xfb, 0x57, 0x9c, 0xae, 0x27, 0x86, 0x93, 0x03, 0x09, 0x9c, + 0xfc, 0x46, 0xd8, 0xc7, 0x28, 0x00, 0x00, 0x03, 0x00, 0x59, 0xfe, + 0x57, 0x04, 0x78, 0x05, 0xcc, 0x00, 0x0f, 0x00, 0x15, 0x00, 0x19, + 0x00, 0x4d, 0x40, 0x19, 0x13, 0x10, 0x16, 0x0b, 0x0b, 0x19, 0x00, + 0x00, 0x0d, 0x15, 0x05, 0x10, 0x05, 0x1a, 0x1b, 0x17, 0x16, 0x53, + 0x5b, 0x17, 0x00, 0x11, 0x03, 0x03, 0x08, 0xb8, 0x01, 0x0a, 0x40, + 0x0f, 0x59, 0x03, 0x1c, 0x10, 0x13, 0x5f, 0x59, 0x10, 0x12, 0x0e, + 0x0d, 0x50, 0x59, 0x0e, 0x0f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x11, 0x21, 0x35, 0x21, 0x01, 0x11, 0x33, 0x11, + 0x21, 0x15, 0x01, 0x35, 0x33, 0x15, 0x04, 0x78, 0xcd, 0xba, 0x62, + 0x5c, 0x56, 0x5a, 0x76, 0x7d, 0xfe, 0xd3, 0x01, 0xcf, 0xfb, 0xe1, + 0xa2, 0x01, 0x9c, 0x01, 0x2c, 0xb5, 0x1c, 0xbc, 0xd1, 0x16, 0x91, + 0x12, 0x85, 0x76, 0x03, 0xc5, 0x8e, 0xfb, 0xc6, 0x05, 0x45, 0xfb, + 0x57, 0x9c, 0x05, 0x0c, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0xfe, 0x57, 0x04, 0x39, 0x05, 0xcc, 0x00, 0x0f, 0x00, + 0x13, 0x00, 0x1d, 0x00, 0x55, 0x40, 0x29, 0x10, 0x0b, 0x0b, 0x13, + 0x00, 0x14, 0x19, 0x19, 0x05, 0x00, 0x03, 0x1f, 0x1e, 0x1c, 0x1b, + 0x50, 0x59, 0x1c, 0x01, 0x14, 0x18, 0x17, 0x18, 0x50, 0x59, 0x17, + 0x15, 0x11, 0x10, 0x53, 0x5b, 0x11, 0x00, 0x0e, 0x0d, 0x50, 0x59, + 0x0e, 0x0f, 0x03, 0x08, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x03, 0x1c, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x11, 0x21, 0x35, 0x21, 0x27, 0x35, 0x33, 0x15, + 0x01, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x04, + 0x39, 0xcd, 0xba, 0x62, 0x5c, 0x55, 0x5b, 0x76, 0x7d, 0xfe, 0xe7, + 0x01, 0xbb, 0xb5, 0xb5, 0xfd, 0x3c, 0xc5, 0xfd, 0xc6, 0xd3, 0xd3, + 0x01, 0x75, 0x1c, 0xbc, 0xd1, 0x16, 0x91, 0x12, 0x85, 0x76, 0x03, + 0xc5, 0x8e, 0xd2, 0xc0, 0xc0, 0xfb, 0x82, 0x8e, 0x8e, 0x04, 0xb0, + 0x8e, 0x00, 0x00, 0x02, 0x00, 0x59, 0xff, 0xec, 0x04, 0x77, 0x05, + 0x45, 0x00, 0x11, 0x00, 0x21, 0x00, 0x48, 0x40, 0x27, 0x09, 0x02, + 0x06, 0x06, 0x07, 0x00, 0x0f, 0x0f, 0x10, 0x1a, 0x1f, 0x1f, 0x14, + 0x10, 0x07, 0x04, 0x22, 0x23, 0x1d, 0x1c, 0x5f, 0x59, 0x1d, 0x03, + 0x12, 0x17, 0x5f, 0x59, 0x12, 0x13, 0x0f, 0x01, 0x08, 0x03, 0x07, + 0x12, 0x0a, 0x00, 0x12, 0x00, 0x3f, 0x32, 0x3f, 0x3f, 0x33, 0x33, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x25, 0x03, 0x23, 0x16, 0x12, 0x15, 0x11, 0x23, 0x11, + 0x33, 0x01, 0x33, 0x26, 0x02, 0x35, 0x11, 0x33, 0x11, 0x17, 0x22, + 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x21, + 0x11, 0x14, 0x06, 0x01, 0xe7, 0xf9, 0x06, 0x04, 0x0a, 0x9d, 0x9d, + 0x01, 0x01, 0x06, 0x03, 0x0e, 0xa0, 0xbd, 0x38, 0x32, 0x2e, 0x34, + 0x51, 0x43, 0x97, 0x01, 0x39, 0x91, 0x01, 0x03, 0x5c, 0x1f, 0xfe, + 0xc3, 0x39, 0xfe, 0x39, 0x05, 0x44, 0xfc, 0x91, 0x1a, 0x01, 0x41, + 0x4f, 0x01, 0xc5, 0xfa, 0xbc, 0x15, 0x0d, 0xa1, 0x13, 0x8c, 0x8d, + 0x03, 0x09, 0x9c, 0xfc, 0x46, 0xcf, 0xd0, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x59, 0xfe, 0x57, 0x04, 0x77, 0x05, 0xcc, 0x00, 0x11, + 0x00, 0x21, 0x00, 0x25, 0x00, 0x57, 0x40, 0x2f, 0x09, 0x02, 0x06, + 0x06, 0x07, 0x00, 0x0f, 0x0f, 0x10, 0x22, 0x1d, 0x1d, 0x25, 0x12, + 0x12, 0x10, 0x17, 0x07, 0x04, 0x26, 0x27, 0x23, 0x22, 0x53, 0x5b, + 0x23, 0x05, 0x20, 0x1f, 0x50, 0x59, 0x20, 0x0f, 0x0f, 0x01, 0x08, + 0x03, 0x15, 0x1a, 0x5f, 0x59, 0x15, 0x1c, 0x0a, 0x00, 0x07, 0x12, + 0x00, 0x3f, 0x33, 0x33, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x33, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x25, 0x03, 0x23, 0x16, 0x12, 0x15, + 0x11, 0x23, 0x11, 0x33, 0x01, 0x33, 0x26, 0x02, 0x35, 0x11, 0x33, + 0x11, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x23, 0x35, 0x21, 0x27, 0x35, 0x33, 0x15, 0x01, + 0xe7, 0xf9, 0x06, 0x04, 0x0a, 0x9d, 0x9d, 0x01, 0x01, 0x06, 0x03, + 0x0e, 0xa0, 0x01, 0xeb, 0xcd, 0xba, 0x62, 0x5c, 0x56, 0x5a, 0x75, + 0x7f, 0xdf, 0x01, 0x80, 0xb5, 0xb5, 0x01, 0x03, 0x5c, 0x1f, 0xfe, + 0xc3, 0x39, 0xfe, 0x39, 0x05, 0x44, 0xfc, 0x91, 0x1a, 0x01, 0x41, + 0x4f, 0x01, 0xc5, 0xfa, 0xbc, 0x1d, 0xbc, 0xd1, 0x16, 0x91, 0x12, + 0x84, 0x77, 0x03, 0xc5, 0x8e, 0xd2, 0xc0, 0xc0, 0x00, 0x00, 0x03, + 0x00, 0x53, 0xfe, 0x57, 0x04, 0x77, 0x05, 0xcc, 0x00, 0x0f, 0x00, + 0x13, 0x00, 0x2a, 0x00, 0x5d, 0x40, 0x2d, 0x22, 0x1c, 0x1c, 0x1d, + 0x14, 0x2a, 0x10, 0x0b, 0x0b, 0x13, 0x00, 0x00, 0x2a, 0x05, 0x1d, + 0x04, 0x2b, 0x2c, 0x22, 0x26, 0x26, 0x18, 0x50, 0x59, 0x26, 0x10, + 0x20, 0x0f, 0x14, 0x1d, 0x15, 0x11, 0x10, 0x53, 0x5b, 0x11, 0x01, + 0x0e, 0x0d, 0x50, 0x59, 0x0e, 0x0f, 0x03, 0x08, 0xb8, 0x01, 0x0a, + 0xb2, 0x59, 0x03, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x3f, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x11, 0x23, 0x35, 0x21, 0x27, 0x35, 0x33, 0x15, 0x01, 0x11, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, + 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x04, 0x77, + 0xcd, 0xba, 0x62, 0x5c, 0x56, 0x5a, 0x75, 0x7f, 0xca, 0x01, 0x6b, + 0xb5, 0xb5, 0xfd, 0x9d, 0x37, 0x41, 0x47, 0x5b, 0xa1, 0x06, 0x95, + 0x06, 0x02, 0x21, 0x70, 0x58, 0x6f, 0x6e, 0x1c, 0xbc, 0xd1, 0x16, + 0x91, 0x12, 0x84, 0x77, 0x03, 0xc5, 0x8e, 0xd2, 0xc0, 0xc0, 0xfa, + 0xf4, 0x02, 0xb7, 0x89, 0x83, 0xb4, 0x9c, 0xfd, 0x8d, 0x03, 0x53, + 0xbd, 0x2a, 0xaf, 0x5f, 0x64, 0xb4, 0xc9, 0xfd, 0x2f, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0xa8, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, 0x64, 0x01, 0x1b, 0x00, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x02, 0x0f, 0x05, 0x26, 0x02, 0x00, 0x11, + 0x17, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, + 0xf7, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x31, 0x11, 0x26, 0x02, 0xb8, + 0xff, 0xd9, 0xb4, 0x33, 0x39, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, + 0x00, 0x04, 0x01, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x64, 0x01, 0x1b, 0x00, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x0d, 0x05, 0x26, 0x01, 0x00, 0x0f, 0x15, 0x0b, 0x06, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x05, 0xb4, 0x12, 0x26, + 0x09, 0x12, 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, 0x03, 0x00, 0x00, + 0x15, 0xb4, 0x01, 0x0b, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xef, 0xb4, + 0x0d, 0x13, 0x04, 0x02, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, + 0x06, 0xa8, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x64, 0x01, 0x1b, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x17, + 0x05, 0x26, 0x02, 0x00, 0x19, 0x1f, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, + 0xff, 0xec, 0x04, 0x49, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x52, 0x00, + 0x00, 0x11, 0x06, 0x02, 0x88, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x19, 0x11, 0x26, 0x02, 0x00, 0x1b, 0x21, 0x06, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x8e, + 0xff, 0xec, 0x04, 0x3d, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x38, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x64, 0x01, 0x1b, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x13, 0x05, 0x26, 0x01, 0x00, 0x15, 0x1b, 0x07, + 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, 0x00, 0x00, + 0x00, 0x15, 0xb4, 0x01, 0x1b, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xfa, + 0xb4, 0x1d, 0x23, 0x19, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, + 0x3d, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x13, 0x02, 0x66, 0x00, 0x00, 0x00, 0x1b, 0x40, 0x0f, 0x03, + 0x02, 0x01, 0x19, 0x05, 0x26, 0x03, 0x02, 0x01, 0x01, 0x17, 0x15, + 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, + 0x04, 0x1f, 0x06, 0x6a, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x10, + 0x26, 0x00, 0x6a, 0x01, 0x00, 0x10, 0x07, 0x09, 0x69, 0x00, 0x00, + 0x01, 0x18, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, + 0x3d, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x14, 0x02, 0x66, 0x00, 0x00, 0x00, 0x1b, 0x40, 0x0f, 0x03, + 0x02, 0x01, 0x1f, 0x05, 0x26, 0x03, 0x02, 0x01, 0x01, 0x1d, 0x1b, + 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, + 0x04, 0x1f, 0x06, 0xcc, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x10, + 0x26, 0x00, 0x6a, 0x01, 0x00, 0x10, 0x07, 0x00, 0x76, 0x00, 0x82, + 0x01, 0x18, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, + 0x3d, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x15, 0x02, 0x65, 0x00, 0x00, 0x00, 0x1b, 0x40, 0x0f, 0x03, + 0x02, 0x01, 0x22, 0x05, 0x26, 0x03, 0x02, 0x01, 0x00, 0x18, 0x14, + 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, + 0x04, 0x1f, 0x06, 0xcc, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x10, + 0x26, 0x00, 0x6a, 0x01, 0x00, 0x10, 0x07, 0x02, 0x88, 0x00, 0x00, + 0x01, 0x18, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, + 0x3d, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x16, 0x02, 0x66, 0x00, 0x00, 0x00, 0x1b, 0x40, 0x0f, 0x03, + 0x02, 0x01, 0x1f, 0x05, 0x26, 0x03, 0x02, 0x01, 0x01, 0x19, 0x1f, + 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, + 0x04, 0x1f, 0x06, 0xcc, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x10, + 0x26, 0x00, 0x6a, 0x01, 0x00, 0x10, 0x07, 0x00, 0x43, 0xff, 0x94, + 0x01, 0x18, 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, + 0x46, 0x04, 0x4e, 0x12, 0x06, 0x02, 0x1a, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x07, 0x2b, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, 0x13, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x1b, 0x40, 0x0f, 0x04, 0x03, 0x02, 0x15, 0x05, 0x26, 0x04, + 0x03, 0x02, 0x00, 0x13, 0x11, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x06, 0x50, 0x12, 0x26, + 0x00, 0x44, 0x00, 0x00, 0x10, 0x26, 0x00, 0x6a, 0xee, 0xed, 0x11, + 0x07, 0x09, 0x69, 0xff, 0xed, 0x00, 0xfe, 0x00, 0x42, 0x40, 0x11, + 0x04, 0x3a, 0x40, 0x1a, 0x1c, 0x48, 0x3a, 0x40, 0x14, 0x14, 0x48, + 0x3a, 0x40, 0x10, 0x12, 0x48, 0x3a, 0xb8, 0xff, 0xc0, 0x40, 0x11, + 0x0d, 0x0e, 0x48, 0x3a, 0x40, 0x0b, 0x0c, 0x48, 0x3a, 0x03, 0x02, + 0x30, 0x11, 0x26, 0x04, 0x03, 0x02, 0xb8, 0xff, 0xd2, 0xb4, 0x34, + 0x32, 0x0f, 0x02, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x11, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x07, 0x2b, 0x12, + 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, 0x17, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x11, 0x05, 0x26, + 0x03, 0x02, 0x00, 0x14, 0x15, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x80, 0xff, 0xec, 0x04, 0x88, 0x06, 0x50, 0x12, 0x26, 0x00, 0x44, + 0x00, 0x00, 0x10, 0x26, 0x02, 0x9a, 0x00, 0xed, 0x11, 0x07, 0x09, + 0x69, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x3e, 0x40, 0x11, 0x03, 0x35, + 0x40, 0x1a, 0x1c, 0x48, 0x35, 0x40, 0x14, 0x14, 0x48, 0x35, 0x40, + 0x10, 0x12, 0x48, 0x35, 0xb8, 0xff, 0xc0, 0x40, 0x0f, 0x0d, 0x0e, + 0x48, 0x35, 0x40, 0x0b, 0x0c, 0x48, 0x35, 0x02, 0x30, 0x11, 0x26, + 0x03, 0x02, 0xb8, 0xff, 0xd2, 0xb4, 0x30, 0x33, 0x0f, 0x02, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, + 0x04, 0xab, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x88, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x8a, 0x00, 0xa8, 0x01, 0x0b, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x17, 0x05, 0x26, 0x02, 0xb6, 0x18, 0x19, 0x03, 0x0e, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x14, 0xff, 0xec, 0x04, 0xb8, 0x05, 0x52, 0x12, 0x26, 0x00, + 0xa8, 0x00, 0x00, 0x11, 0x06, 0x09, 0x69, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x03, 0x3e, 0x11, 0x26, 0x03, 0x00, 0x3f, 0x40, 0x12, + 0x28, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x01, + 0x00, 0x71, 0xff, 0xec, 0x04, 0xcd, 0x05, 0x5a, 0x00, 0x20, 0x00, + 0x6a, 0x40, 0x38, 0x14, 0x09, 0x1b, 0x1f, 0x1c, 0x18, 0x18, 0x00, + 0x0f, 0x0e, 0x1f, 0x09, 0x0e, 0x04, 0x09, 0x04, 0x21, 0x22, 0x03, + 0x1a, 0x1b, 0x1a, 0x60, 0x59, 0x00, 0x1b, 0x1f, 0x1e, 0x5f, 0x59, + 0x0f, 0x1f, 0x01, 0x0c, 0x03, 0x1b, 0x1f, 0x0f, 0x0f, 0x1f, 0x1b, + 0x03, 0x06, 0x0c, 0x0c, 0x11, 0x5f, 0x59, 0x0c, 0x04, 0x06, 0x16, + 0x5f, 0x59, 0x06, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x5f, 0x5e, + 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x12, 0x39, 0x11, 0x39, 0x11, 0x33, 0x32, 0x32, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, + 0x23, 0x15, 0x06, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x21, 0x20, + 0x13, 0x07, 0x26, 0x23, 0x22, 0x06, 0x11, 0x10, 0x21, 0x32, 0x37, + 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x04, 0x4d, 0x80, + 0x80, 0xe5, 0xe9, 0xfa, 0xfe, 0xec, 0x01, 0x08, 0x01, 0x09, 0x01, + 0x5a, 0x73, 0xab, 0x51, 0xcf, 0xa9, 0xa1, 0x01, 0x55, 0x8f, 0x7f, + 0xfe, 0xd1, 0x01, 0x2f, 0xfe, 0xd1, 0x01, 0xdf, 0x01, 0xb6, 0x82, + 0xaf, 0x99, 0x01, 0x73, 0x01, 0x4a, 0x01, 0x5b, 0x01, 0x56, 0xfe, + 0xb5, 0x38, 0xe7, 0xfc, 0xfe, 0xe7, 0xfd, 0xde, 0x4b, 0x62, 0x82, + 0x6b, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x66, 0xfe, 0x58, + 0x04, 0x5a, 0x04, 0x4b, 0x00, 0x26, 0x00, 0x34, 0x00, 0x6b, 0x40, + 0x30, 0x20, 0x1f, 0x1f, 0x2e, 0x08, 0x27, 0x25, 0x0f, 0x01, 0x01, + 0x19, 0x16, 0x08, 0x16, 0x35, 0x36, 0x20, 0x20, 0x1c, 0x00, 0x1c, + 0x22, 0x50, 0x59, 0x1c, 0x1b, 0x02, 0x05, 0x31, 0x05, 0x50, 0x59, + 0x31, 0x31, 0x00, 0x12, 0x0f, 0x0b, 0x2b, 0x50, 0x59, 0x0e, 0x0b, + 0x10, 0x19, 0x26, 0x00, 0x26, 0xb8, 0x01, 0x19, 0xb3, 0x59, 0x16, + 0x00, 0x15, 0x00, 0x3f, 0x32, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x21, 0x11, 0x23, + 0x06, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, + 0x33, 0x34, 0x36, 0x37, 0x33, 0x06, 0x15, 0x11, 0x33, 0x15, 0x23, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, + 0x37, 0x21, 0x01, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x3e, 0x01, 0x66, 0x02, 0xff, 0x02, 0x61, 0xf1, + 0xc3, 0xbf, 0xca, 0xc6, 0x71, 0xa8, 0x2d, 0x02, 0x08, 0x04, 0xab, + 0x06, 0x42, 0x4b, 0x1c, 0xd1, 0xc1, 0xa1, 0xd7, 0x24, 0xb5, 0x2f, + 0xb9, 0x69, 0x78, 0x17, 0xfd, 0x0c, 0x02, 0xff, 0x48, 0x81, 0x50, + 0x86, 0x7d, 0x79, 0x8c, 0x51, 0x7f, 0x47, 0x01, 0x05, 0xc7, 0x00, + 0xff, 0x01, 0x06, 0x01, 0x01, 0x01, 0x07, 0x69, 0x61, 0x1e, 0x94, + 0x07, 0x36, 0xaa, 0xfc, 0xa6, 0x5d, 0xa5, 0xa6, 0x79, 0x73, 0x1e, + 0x82, 0x5a, 0x69, 0x02, 0xa2, 0x75, 0xaf, 0x5c, 0xbc, 0xc4, 0xc9, + 0xb9, 0x5d, 0xaf, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, + 0x04, 0x4f, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x64, 0x01, 0x1b, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x1b, 0x05, 0x26, 0x01, 0x06, 0x1d, 0x23, 0x05, 0x0a, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x8f, 0xfe, 0x58, 0x04, 0x1e, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x4a, 0x00, 0x00, 0x11, 0x06, 0x02, 0x88, 0xe3, 0x00, 0x00, 0x15, + 0xb4, 0x02, 0x31, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xf3, 0xb4, 0x33, + 0x39, 0x11, 0x1c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0xcb, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x2e, 0x00, 0x00, 0x11, 0x07, 0x09, 0x64, + 0x01, 0x18, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x0d, 0x05, 0x26, + 0x01, 0xb8, 0xff, 0xad, 0xb4, 0x0f, 0x15, 0x05, 0x0b, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x02, 0x00, 0xec, 0x00, + 0x00, 0x04, 0x65, 0x06, 0xa8, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x50, + 0x40, 0x29, 0x0a, 0x01, 0x01, 0x0b, 0x07, 0x03, 0x03, 0x04, 0x08, + 0x09, 0x09, 0x0b, 0x04, 0x0b, 0x16, 0x17, 0x13, 0x0f, 0x0d, 0x0f, + 0x8c, 0x5b, 0x0d, 0x11, 0x8e, 0x59, 0x0d, 0x02, 0x02, 0x07, 0x01, + 0x0a, 0x07, 0x0a, 0x04, 0x05, 0x08, 0x0f, 0x00, 0x04, 0x15, 0x00, + 0x3f, 0x33, 0x3f, 0xc4, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x3f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, 0x11, + 0x01, 0x33, 0x09, 0x02, 0x23, 0x27, 0x35, 0x33, 0x17, 0x33, 0x37, + 0x33, 0x15, 0x03, 0x92, 0xfe, 0x92, 0x84, 0xb4, 0xb4, 0x01, 0xdb, + 0xd3, 0xfe, 0x49, 0x01, 0xce, 0xfe, 0x7d, 0xa4, 0xfe, 0x68, 0xe8, + 0x02, 0xdb, 0x69, 0x01, 0xf3, 0x62, 0xfe, 0x6f, 0x05, 0x45, 0xfc, + 0xe8, 0x02, 0x0d, 0xfe, 0x2f, 0xfd, 0x97, 0x05, 0xa5, 0xef, 0x14, + 0x8a, 0x8a, 0x14, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xfe, 0x55, + 0x04, 0x66, 0x05, 0x5a, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x10, + 0x06, 0x02, 0x9c, 0x24, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, + 0xfe, 0x55, 0x04, 0x49, 0x04, 0x4e, 0x12, 0x26, 0x00, 0x52, 0x00, + 0x00, 0x10, 0x06, 0x02, 0x9c, 0x27, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x66, 0xfe, 0x55, 0x04, 0x66, 0x06, 0x5e, 0x12, 0x26, 0x00, + 0x32, 0x00, 0x00, 0x10, 0x27, 0x02, 0x8a, 0x00, 0x02, 0x01, 0x0b, + 0x11, 0x06, 0x02, 0x9c, 0x22, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, + 0x16, 0x05, 0x26, 0x02, 0x00, 0x17, 0x16, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, 0xfe, + 0x55, 0x04, 0x49, 0x05, 0x52, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, + 0x10, 0x26, 0x09, 0x69, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9c, 0x2d, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x18, 0x11, 0x26, 0x02, 0x01, + 0x19, 0x18, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x34, 0xfe, 0x56, 0x04, 0x90, + 0x06, 0xa8, 0x10, 0x26, 0x01, 0x79, 0x1d, 0x00, 0x11, 0x07, 0x09, + 0x64, 0x01, 0x35, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x1e, 0x05, + 0x26, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xfe, + 0x57, 0x04, 0x52, 0x05, 0xb4, 0x10, 0x26, 0x02, 0x53, 0x11, 0x00, + 0x11, 0x06, 0x02, 0x88, 0x14, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x1d, + 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x75, 0xfe, 0x57, + 0x03, 0xb1, 0x05, 0xb4, 0x12, 0x26, 0x09, 0x08, 0x00, 0x00, 0x11, + 0x06, 0x02, 0x88, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x12, + 0x11, 0x26, 0x01, 0x89, 0x14, 0x1a, 0x07, 0x10, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x03, 0x00, 0x59, 0x00, 0x00, + 0x04, 0xc3, 0x05, 0x45, 0x00, 0x09, 0x00, 0x12, 0x00, 0x1c, 0x00, + 0x4c, 0x40, 0x27, 0x1c, 0x16, 0x1a, 0x1b, 0x17, 0x15, 0x0a, 0x00, + 0x0f, 0x04, 0x04, 0x00, 0x15, 0x1a, 0x04, 0x1e, 0x1d, 0x1a, 0x17, + 0x17, 0x0e, 0x05, 0x0e, 0x5f, 0x59, 0x18, 0x05, 0x03, 0x15, 0x1b, + 0x1b, 0x0f, 0x04, 0x0f, 0x5f, 0x59, 0x14, 0x04, 0x12, 0x00, 0x3f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x18, 0x3f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x01, 0x10, 0x02, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x16, 0x12, 0x07, + 0x10, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x12, 0x01, 0x21, 0x35, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x02, 0x90, 0xc9, 0xc9, + 0xa5, 0x7a, 0xa3, 0xc1, 0x59, 0xa7, 0x6f, 0x7b, 0x04, 0x18, 0x63, + 0x73, 0x02, 0xda, 0xfd, 0xce, 0x01, 0x7c, 0xfe, 0xcd, 0x01, 0xe9, + 0xfe, 0x7f, 0x01, 0x81, 0x02, 0xb0, 0xfe, 0xa3, 0xfe, 0xad, 0x05, + 0x45, 0x84, 0xfe, 0xeb, 0xfc, 0x01, 0x02, 0xf7, 0xfb, 0xf3, 0x01, + 0x0c, 0xfe, 0x58, 0x8e, 0x04, 0x1b, 0x9c, 0x8a, 0xfb, 0xe1, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x59, 0x00, 0x00, 0x04, 0xc3, 0x05, + 0x45, 0x00, 0x09, 0x00, 0x12, 0x00, 0x1c, 0x00, 0x55, 0x40, 0x2c, + 0x0f, 0x04, 0x0a, 0x00, 0x1a, 0x16, 0x14, 0x1b, 0x15, 0x19, 0x19, + 0x14, 0x00, 0x04, 0x04, 0x1d, 0x1e, 0x19, 0x16, 0x17, 0x16, 0x60, + 0x59, 0x17, 0x17, 0x04, 0x05, 0x05, 0x0e, 0x5f, 0x59, 0x05, 0x03, + 0x14, 0x1a, 0x1a, 0x0f, 0x04, 0x0f, 0x5f, 0x59, 0x13, 0x04, 0x12, + 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, 0x2b, 0x01, + 0x11, 0x33, 0x32, 0x16, 0x12, 0x07, 0x10, 0x26, 0x2b, 0x01, 0x11, + 0x33, 0x32, 0x12, 0x13, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, + 0x21, 0x15, 0x02, 0x90, 0xc9, 0xc9, 0xa5, 0x7a, 0xa3, 0xc1, 0x59, + 0xa7, 0x6f, 0x7b, 0x04, 0x18, 0x63, 0x73, 0xa8, 0x01, 0x60, 0xfe, + 0xc8, 0x01, 0xe5, 0xfe, 0x9b, 0x01, 0x8a, 0x02, 0xb0, 0xfe, 0xa3, + 0xfe, 0xad, 0x05, 0x45, 0x84, 0xfe, 0xeb, 0xfc, 0x01, 0x02, 0xf7, + 0xfb, 0xf3, 0x01, 0x0c, 0xfe, 0x58, 0x84, 0x03, 0x2b, 0x8b, 0x84, + 0xfc, 0xd5, 0x8b, 0x00, 0x03, 0x00, 0x32, 0xff, 0xe6, 0x04, 0xcd, + 0x05, 0xcc, 0x00, 0x15, 0x00, 0x21, 0x00, 0x2b, 0x00, 0x64, 0x40, + 0x36, 0x2a, 0x24, 0x28, 0x29, 0x25, 0x23, 0x1c, 0x14, 0x0e, 0x0e, + 0x0f, 0x16, 0x06, 0x06, 0x0f, 0x23, 0x28, 0x04, 0x2d, 0x2c, 0x28, + 0x25, 0x26, 0x25, 0x50, 0x59, 0x26, 0x0f, 0x23, 0x29, 0x22, 0x29, + 0x50, 0x59, 0x22, 0x15, 0x13, 0x15, 0x0e, 0x01, 0x08, 0x1f, 0x50, + 0x59, 0x0b, 0x08, 0x10, 0x03, 0x19, 0x50, 0x59, 0x00, 0x03, 0x16, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x25, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x33, 0x32, 0x16, + 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, 0x14, 0x17, 0x23, 0x26, 0x35, + 0x03, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x01, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x15, + 0x01, 0xd1, 0x20, 0x4e, 0x45, 0x7a, 0x72, 0xee, 0x47, 0x4c, 0x1f, + 0x02, 0x02, 0xa0, 0x05, 0x98, 0x09, 0xfc, 0x3a, 0x44, 0x42, 0x38, + 0x38, 0x41, 0x42, 0x3d, 0x01, 0xcb, 0x01, 0x60, 0xfe, 0xc8, 0x01, + 0xe5, 0xfe, 0x9b, 0x01, 0x80, 0x7c, 0x57, 0x3f, 0x01, 0x15, 0x01, + 0x19, 0x02, 0x36, 0x3b, 0x55, 0x83, 0x01, 0x8f, 0xfb, 0x13, 0xb2, + 0x2d, 0x18, 0x64, 0x01, 0x9e, 0xe2, 0xc7, 0xd7, 0xe2, 0xd4, 0xc7, + 0xc7, 0xfd, 0x02, 0x84, 0x03, 0x2b, 0x8b, 0x84, 0xfc, 0xd5, 0x8b, + 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, 0x4f, 0x06, 0x9b, + 0x12, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x11, 0x07, 0x09, 0x62, 0x01, + 0xb6, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1f, 0x05, 0x26, + 0x01, 0x72, 0x1b, 0x1e, 0x05, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0xfe, 0x58, + 0x04, 0x1e, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x4a, 0x00, 0x00, 0x11, + 0x06, 0x00, 0x76, 0x42, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x35, + 0x11, 0x26, 0x02, 0x51, 0x31, 0x34, 0x11, 0x1c, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x01, 0x00, 0x5d, 0xff, 0xec, + 0x04, 0x78, 0x05, 0x45, 0x00, 0x17, 0x00, 0x43, 0x40, 0x22, 0x14, + 0x10, 0x10, 0x15, 0x00, 0x0d, 0x0d, 0x11, 0x06, 0x09, 0x11, 0x09, + 0x18, 0x19, 0x14, 0x0f, 0x5f, 0x59, 0x14, 0x07, 0x14, 0x07, 0x11, + 0x16, 0x12, 0x03, 0x11, 0x12, 0x0b, 0x03, 0x60, 0x59, 0x0b, 0x13, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x39, + 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x10, 0x21, 0x20, + 0x19, 0x01, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, + 0x02, 0xd4, 0x3c, 0x47, 0x47, 0x40, 0x9a, 0xfe, 0xde, 0xfe, 0xdb, + 0xfe, 0xcf, 0xa3, 0xa3, 0x01, 0x31, 0xa3, 0x01, 0x76, 0x8f, 0x72, + 0x73, 0x8e, 0x02, 0x88, 0xfd, 0x5b, 0xfe, 0x93, 0x01, 0x6a, 0x01, + 0x1e, 0xfd, 0x8c, 0x05, 0x45, 0xfd, 0xca, 0x02, 0x36, 0x00, 0x00, + 0x02, 0x00, 0xa2, 0xfe, 0x57, 0x04, 0x69, 0x05, 0x5a, 0x00, 0x0e, + 0x00, 0x19, 0x00, 0x3b, 0x40, 0x1d, 0x16, 0x09, 0x05, 0x05, 0x06, + 0x0f, 0x00, 0x06, 0x00, 0x1a, 0x1b, 0x06, 0x16, 0x40, 0x16, 0x04, + 0x5f, 0x59, 0x16, 0x12, 0x0c, 0x11, 0x5f, 0x59, 0x09, 0x0c, 0x04, + 0x07, 0x03, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x14, 0x02, + 0x00, 0x07, 0x11, 0x23, 0x11, 0x33, 0x17, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x07, 0x10, 0x21, 0x22, 0x0e, 0x01, 0x15, 0x03, 0x36, 0x00, + 0x12, 0x04, 0x69, 0xc5, 0xfe, 0x9f, 0xe2, 0xbf, 0xb8, 0x01, 0x3c, + 0xb4, 0x6a, 0xd3, 0xe1, 0xc3, 0xfe, 0xf4, 0x59, 0x8e, 0x51, 0x01, + 0x9b, 0x01, 0x13, 0x97, 0x03, 0x67, 0xd7, 0xfe, 0x68, 0xfe, 0xc2, + 0x5a, 0xfe, 0xf7, 0x06, 0xee, 0xa4, 0x58, 0x61, 0xf9, 0xf9, 0x01, + 0x57, 0x61, 0xaa, 0x63, 0xfc, 0xb1, 0x3c, 0x01, 0x17, 0x01, 0x64, + 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x06, 0x9c, + 0x12, 0x26, 0x00, 0x31, 0x00, 0x00, 0x11, 0x07, 0x09, 0x61, 0x00, + 0xc2, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x13, 0x05, 0x26, 0x01, + 0xb8, 0xff, 0x9a, 0xb4, 0x10, 0x13, 0x06, 0x0d, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xc6, 0x00, 0x00, + 0x04, 0x2c, 0x05, 0xb4, 0x10, 0x26, 0x00, 0x51, 0x13, 0x00, 0x11, + 0x06, 0x00, 0x43, 0xc0, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x19, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, + 0xcc, 0x06, 0xa9, 0x00, 0x10, 0x00, 0x19, 0x00, 0x1f, 0x00, 0x2b, + 0x00, 0xa3, 0x40, 0x40, 0x1c, 0x1d, 0x1d, 0x1f, 0x1a, 0x1a, 0x00, + 0x0b, 0x06, 0x16, 0x15, 0x03, 0x12, 0x07, 0x26, 0x0b, 0x0b, 0x09, + 0x12, 0x05, 0x17, 0x18, 0x03, 0x11, 0x04, 0x20, 0x00, 0x00, 0x02, + 0x11, 0x12, 0x11, 0x08, 0x04, 0x03, 0x07, 0x08, 0x03, 0x08, 0x2d, + 0x2c, 0x1f, 0x1c, 0x8c, 0x59, 0x1f, 0x0e, 0x05, 0x06, 0x16, 0x06, + 0x5f, 0x59, 0x17, 0x16, 0x12, 0x29, 0x8e, 0x59, 0x11, 0x09, 0x02, + 0x12, 0x12, 0xb8, 0xff, 0xc0, 0x40, 0x14, 0x09, 0x0c, 0x48, 0x16, + 0x12, 0x16, 0x12, 0x04, 0x0e, 0x0e, 0x23, 0x8e, 0x59, 0x0e, 0xdc, + 0x08, 0x07, 0x03, 0x04, 0x12, 0x00, 0x3f, 0x33, 0x33, 0x33, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, + 0x33, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x10, 0xc6, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x17, + 0x39, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x14, 0x07, 0x01, 0x23, 0x03, 0x21, 0x03, 0x23, 0x01, 0x26, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x03, 0x23, 0x07, 0x06, 0x07, + 0x03, 0x21, 0x03, 0x26, 0x03, 0x35, 0x37, 0x33, 0x15, 0x05, 0x17, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x03, 0x58, 0x57, 0x01, 0xcb, 0xc2, 0x8a, 0xfd, 0xcd, 0x89, 0xc4, + 0x01, 0xd1, 0x5d, 0x85, 0x6d, 0x6f, 0x83, 0xe7, 0x12, 0x0e, 0x25, + 0x15, 0x8c, 0x01, 0xb9, 0x87, 0x42, 0x6e, 0xe3, 0xc5, 0xfe, 0xd4, + 0x56, 0x41, 0x38, 0x37, 0x43, 0x43, 0x37, 0x38, 0x41, 0x04, 0xbb, + 0x67, 0x39, 0xfb, 0xe5, 0x01, 0x43, 0xfe, 0xbd, 0x04, 0x17, 0x39, + 0x6b, 0x59, 0x6e, 0x6f, 0xfe, 0xe0, 0x29, 0x70, 0x2f, 0xfe, 0xb1, + 0x01, 0x4f, 0xab, 0x01, 0xcf, 0x14, 0xf0, 0x1d, 0xe7, 0xea, 0x25, + 0x2e, 0x2e, 0x25, 0x26, 0x2e, 0x2e, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x80, 0xff, 0xec, 0x04, 0x88, 0x06, 0xa9, 0x00, 0x2d, 0x00, 0x3a, + 0x00, 0x40, 0x00, 0x4c, 0x00, 0xd2, 0x40, 0x59, 0x3d, 0x3e, 0x3e, + 0x40, 0x3b, 0x03, 0x25, 0x3b, 0x03, 0x28, 0x41, 0x00, 0x47, 0x28, + 0x22, 0x23, 0x00, 0x28, 0x23, 0x03, 0x06, 0x38, 0x18, 0x1b, 0x11, + 0x32, 0x32, 0x06, 0x18, 0x06, 0x4d, 0x4e, 0x1b, 0x33, 0x51, 0x59, + 0x0f, 0x22, 0x1f, 0x22, 0x2f, 0x22, 0x03, 0x16, 0x03, 0x22, 0x40, + 0x09, 0x0c, 0x48, 0x22, 0x22, 0x25, 0x25, 0x03, 0x03, 0x1f, 0x4a, + 0x40, 0x2b, 0x44, 0x8e, 0x59, 0x2b, 0x40, 0x19, 0x21, 0x48, 0x2b, + 0x3b, 0x9f, 0x1b, 0xaf, 0x1b, 0x02, 0x00, 0x1b, 0x40, 0x1b, 0x02, + 0x0b, 0x00, 0x4a, 0x70, 0x4a, 0x02, 0x11, 0x03, 0x4a, 0xb8, 0xff, + 0xc0, 0xb3, 0x09, 0x0d, 0x48, 0x3b, 0xb8, 0xff, 0xc0, 0xb3, 0x11, + 0x19, 0x48, 0x3b, 0xb8, 0xff, 0xc0, 0x40, 0x16, 0x0b, 0x0f, 0x48, + 0x1b, 0x4a, 0x3b, 0x3b, 0x4a, 0x1b, 0x03, 0x2e, 0x3d, 0x09, 0x2e, + 0x15, 0x2e, 0x50, 0x59, 0x11, 0x0e, 0x15, 0x16, 0x00, 0x3f, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x12, 0x17, 0x39, 0x2f, + 0x2f, 0x2f, 0x2b, 0x2b, 0x2b, 0x5f, 0x5e, 0x5d, 0x5e, 0x5d, 0x5d, + 0x10, 0xc6, 0x2b, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x07, + 0x04, 0x19, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x10, + 0x25, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, + 0x37, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x01, 0x32, + 0x3e, 0x01, 0x3d, 0x01, 0x07, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x13, + 0x35, 0x37, 0x33, 0x15, 0x05, 0x17, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x4e, 0x33, 0x35, 0x01, + 0x02, 0x2a, 0x3b, 0x1a, 0x21, 0x44, 0x47, 0x64, 0x5b, 0x06, 0x06, + 0x41, 0xb1, 0x82, 0x9e, 0xa0, 0x01, 0xc6, 0xec, 0x6a, 0x74, 0x76, + 0x68, 0x0a, 0xbc, 0x24, 0xf7, 0x31, 0x30, 0x85, 0x6d, 0x6f, 0x83, + 0xfe, 0x9e, 0x60, 0x94, 0x52, 0xbe, 0x76, 0x7c, 0x45, 0x59, 0x66, + 0xe3, 0xc5, 0xfe, 0xd4, 0x5d, 0x41, 0x38, 0x37, 0x43, 0x43, 0x37, + 0x38, 0x41, 0x04, 0xe8, 0x34, 0x5a, 0x1c, 0x3c, 0xfe, 0xe0, 0xfe, + 0x2e, 0x50, 0x51, 0x07, 0x70, 0x10, 0x69, 0x70, 0x79, 0x6a, 0xac, + 0x96, 0x01, 0x5d, 0x05, 0x04, 0x3b, 0x83, 0x73, 0x54, 0x58, 0x11, + 0xe9, 0x2f, 0x1c, 0x58, 0x32, 0x59, 0x6e, 0x6f, 0xfb, 0x35, 0x5c, + 0x9a, 0x52, 0x59, 0x04, 0x02, 0x30, 0x63, 0x52, 0x52, 0x64, 0x05, + 0x63, 0x14, 0xbd, 0x1d, 0xb4, 0xf0, 0x25, 0x2e, 0x2e, 0x25, 0x26, + 0x2e, 0x2e, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x04, + 0xab, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x88, 0x00, 0x00, 0x11, 0x07, + 0x00, 0x76, 0x00, 0xf5, 0x00, 0xf5, 0x00, 0x15, 0xb4, 0x02, 0x16, + 0x05, 0x26, 0x02, 0xb8, 0x01, 0x05, 0xb4, 0x16, 0x19, 0x03, 0x0d, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x14, 0xff, 0xec, 0x04, 0xb8, 0x05, 0xb4, 0x12, 0x26, 0x00, 0xa8, + 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x5a, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x03, 0x3d, 0x11, 0x26, 0x03, 0x5a, 0x3d, 0x40, 0x12, 0x27, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x38, 0xff, 0xda, 0x04, 0x92, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x9a, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x64, 0x00, 0xf5, 0x00, + 0x13, 0x40, 0x0b, 0x03, 0x23, 0x05, 0x26, 0x03, 0x65, 0x23, 0x26, + 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x6e, 0xff, 0xec, 0x04, 0x5d, 0x05, 0xb4, + 0x12, 0x26, 0x00, 0xba, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x64, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x03, 0x24, 0x11, 0x26, 0x03, 0x64, + 0x24, 0x27, 0x0a, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0x9c, + 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, 0x02, + 0x1c, 0x00, 0xf4, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x19, 0x05, 0x26, + 0x03, 0x02, 0xb8, 0xff, 0xb7, 0xb4, 0x16, 0x13, 0x04, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x5f, 0xff, 0xec, 0x04, 0x88, 0x05, 0xa8, 0x12, 0x26, 0x00, + 0x44, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, 0x01, 0xe0, 0x00, 0x00, + 0x00, 0x19, 0xb6, 0x03, 0x02, 0x3b, 0x11, 0x26, 0x03, 0x02, 0xb8, + 0xff, 0x5d, 0xb4, 0x38, 0x35, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x04, 0xcc, 0x06, 0xae, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, + 0x11, 0x07, 0x02, 0xd2, 0x02, 0x66, 0x00, 0xf4, 0x00, 0x13, 0x40, + 0x0b, 0x02, 0x19, 0x05, 0x26, 0x02, 0x00, 0x19, 0x11, 0x04, 0x07, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, 0xba, 0x12, 0x26, + 0x00, 0x44, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd2, 0x02, 0x51, 0x00, + 0x00, 0x00, 0x15, 0xb4, 0x02, 0x3b, 0x11, 0x26, 0x02, 0xb8, 0xff, + 0xcd, 0xb4, 0x3b, 0x33, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, + 0x06, 0x9c, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, 0x02, + 0xd0, 0x02, 0x24, 0x00, 0xf4, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x17, + 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xa3, 0xb4, 0x14, 0x11, 0x01, + 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x73, 0xff, 0xec, 0x04, 0x46, 0x05, 0xa8, 0x12, + 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, 0x01, 0xf4, + 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x26, 0x11, 0x26, 0x03, + 0x02, 0xb8, 0xff, 0x8f, 0xb4, 0x23, 0x20, 0x0d, 0x14, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, 0xae, 0x12, 0x26, 0x00, 0x28, + 0x00, 0x00, 0x11, 0x07, 0x02, 0xd2, 0x02, 0x7a, 0x00, 0xf4, 0x00, + 0x15, 0xb4, 0x01, 0x17, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xf8, 0xb4, + 0x17, 0x0f, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0xba, + 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd2, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x26, 0x11, 0x26, + 0x02, 0x00, 0x26, 0x1e, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x72, 0x00, 0x00, + 0x04, 0x01, 0x06, 0x9c, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xd0, 0x01, 0xf3, 0x00, 0xf4, 0x00, 0x19, 0xb6, 0x02, + 0x01, 0x17, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0x8e, 0xb4, 0x14, + 0x11, 0x0b, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x65, 0x05, + 0xa8, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, + 0x02, 0x02, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x15, 0x11, + 0x26, 0x02, 0x01, 0xb8, 0xff, 0x89, 0xb4, 0x12, 0x0f, 0x04, 0x02, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, + 0xff, 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x06, 0xae, 0x12, 0x26, + 0x00, 0x2c, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd2, 0x02, 0x66, 0x00, + 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x17, 0x05, 0x26, 0x01, 0x00, + 0x17, 0x0f, 0x0b, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, + 0x05, 0xba, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x11, 0x07, 0x02, + 0xd2, 0x02, 0x70, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x15, 0x11, + 0x26, 0x01, 0xb8, 0xff, 0xf6, 0xb4, 0x15, 0x0d, 0x04, 0x02, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x66, + 0xff, 0xec, 0x04, 0x66, 0x06, 0x9c, 0x12, 0x26, 0x00, 0x32, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xd0, 0x02, 0x0e, 0x00, 0xf4, 0x00, 0x19, + 0xb6, 0x03, 0x02, 0x21, 0x05, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xa9, + 0xb4, 0x1e, 0x1b, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x73, 0xff, 0xec, 0x04, + 0x49, 0x05, 0xa8, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, + 0x02, 0xd0, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, + 0x23, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0x8f, 0xb4, 0x20, 0x1d, + 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x06, 0xae, + 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd2, 0x02, + 0x66, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x21, 0x05, 0x26, + 0x02, 0x00, 0x21, 0x19, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, + 0x04, 0x49, 0x05, 0xba, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xd2, 0x02, 0x66, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x23, 0x11, 0x26, 0x02, 0x00, 0x23, 0x1b, 0x06, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x99, 0x06, 0x9c, 0x12, 0x26, 0x00, + 0x35, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, 0x02, 0x30, 0x00, 0xf4, + 0x00, 0x19, 0xb6, 0x03, 0x02, 0x21, 0x05, 0x26, 0x03, 0x02, 0xb8, + 0xff, 0x93, 0xb4, 0x1e, 0x1b, 0x05, 0x0d, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x73, 0x00, + 0x00, 0x04, 0x15, 0x05, 0xa8, 0x12, 0x26, 0x00, 0x55, 0x00, 0x00, + 0x11, 0x07, 0x02, 0xd0, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x19, 0xb6, + 0x02, 0x01, 0x21, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0x71, 0xb4, + 0x1e, 0x1b, 0x0b, 0x15, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x99, + 0x06, 0xae, 0x12, 0x26, 0x00, 0x35, 0x00, 0x00, 0x11, 0x07, 0x02, + 0xd2, 0x02, 0x6c, 0x00, 0xf4, 0x00, 0x15, 0xb4, 0x02, 0x21, 0x05, + 0x26, 0x02, 0xb8, 0xff, 0xcf, 0xb4, 0x21, 0x19, 0x05, 0x0d, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xf2, + 0x00, 0x00, 0x04, 0x15, 0x05, 0xba, 0x12, 0x26, 0x00, 0x55, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xd2, 0x02, 0x84, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x21, 0x11, 0x26, 0x01, 0x00, 0x21, 0x19, 0x0b, + 0x15, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, 0x3d, 0x06, 0x9c, 0x12, + 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, 0x02, 0x1c, + 0x00, 0xf4, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x1d, 0x05, 0x26, 0x02, + 0x01, 0xb8, 0xff, 0xb7, 0xb4, 0x1a, 0x17, 0x07, 0x11, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x7d, 0xff, 0xec, 0x04, 0x1f, 0x05, 0xa8, 0x12, 0x26, 0x00, 0x58, + 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, 0x01, 0xfe, 0x00, 0x00, 0x00, + 0x19, 0xb6, 0x02, 0x01, 0x25, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, + 0x93, 0xb4, 0x22, 0x1f, 0x19, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, + 0x04, 0x3d, 0x06, 0xae, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xd2, 0x02, 0x66, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x1d, 0x05, 0x26, 0x01, 0x00, 0x1d, 0x15, 0x07, 0x11, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x05, 0xba, 0x12, 0x26, 0x00, + 0x58, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd2, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x15, 0xb4, 0x01, 0x25, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xfa, + 0xb4, 0x25, 0x1d, 0x19, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x4f, 0xfe, 0x39, 0x04, 0x68, 0x05, + 0x5a, 0x12, 0x26, 0x00, 0x36, 0x00, 0x00, 0x11, 0x07, 0x02, 0xe7, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x10, 0x31, 0x36, + 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa7, 0xfe, 0x39, 0x04, 0x24, 0x04, 0x4b, 0x12, 0x26, 0x00, + 0x56, 0x00, 0x00, 0x11, 0x07, 0x02, 0xe7, 0x02, 0x6e, 0x00, 0x00, + 0x00, 0x0b, 0xb6, 0x01, 0x06, 0x2b, 0x30, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4c, 0xfe, 0x39, + 0x04, 0x80, 0x05, 0x45, 0x12, 0x26, 0x00, 0x37, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xe7, 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, + 0x05, 0x0c, 0x11, 0x05, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xbe, 0xfe, 0x39, 0x03, 0xf9, 0x05, 0x54, + 0x12, 0x26, 0x00, 0x57, 0x00, 0x00, 0x11, 0x07, 0x02, 0xe7, 0x02, + 0x6e, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x10, 0x1a, 0x1f, 0x01, + 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x78, 0xfe, 0x55, 0x04, 0x31, 0x05, 0x5a, 0x00, 0x22, 0x00, 0x57, + 0x40, 0x2d, 0x15, 0x16, 0x09, 0x20, 0x0b, 0x1d, 0x0b, 0x02, 0x0f, + 0x1d, 0x06, 0x00, 0x00, 0x1d, 0x02, 0x16, 0x04, 0x23, 0x24, 0x0b, + 0x0c, 0x5f, 0x59, 0x20, 0x09, 0x09, 0x15, 0x0b, 0x15, 0x0b, 0x15, + 0x02, 0x19, 0x02, 0x03, 0x5f, 0x59, 0x02, 0x19, 0x19, 0x12, 0x5f, + 0x59, 0x19, 0x04, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x12, 0x39, 0x11, + 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x10, 0x01, 0x35, 0x24, 0x00, 0x35, 0x34, 0x26, 0x27, 0x06, 0x05, + 0x35, 0x2c, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, + 0x3e, 0x01, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x1e, + 0x01, 0x04, 0x31, 0xfc, 0x8f, 0x01, 0x57, 0x01, 0x5e, 0x2a, 0x25, + 0xb0, 0xfe, 0x49, 0x01, 0x66, 0x01, 0x44, 0x8b, 0x7f, 0x73, 0x9d, + 0x3e, 0x99, 0x55, 0xf7, 0xa8, 0x84, 0xc5, 0x6d, 0x3b, 0x46, 0x40, + 0x50, 0x01, 0x68, 0xfd, 0xee, 0xfe, 0xff, 0xa6, 0x61, 0x01, 0x32, + 0xc5, 0x49, 0x84, 0x28, 0x87, 0x91, 0xad, 0x6e, 0xee, 0x9e, 0x6f, + 0x72, 0x54, 0x6c, 0x4f, 0x90, 0x83, 0x5b, 0xa8, 0x69, 0x5b, 0x8d, + 0x48, 0x3c, 0xad, 0x00, 0x01, 0x00, 0xa4, 0xfe, 0x56, 0x04, 0x10, + 0x04, 0x4e, 0x00, 0x26, 0x00, 0x5f, 0x40, 0x15, 0x1a, 0x1b, 0x24, + 0x0b, 0x21, 0x0e, 0x0e, 0x04, 0x08, 0x00, 0x14, 0x21, 0x21, 0x00, + 0x04, 0x1b, 0x04, 0x27, 0x28, 0x0e, 0x0f, 0xb8, 0x01, 0x0a, 0x40, + 0x0d, 0x59, 0x24, 0x0b, 0x0b, 0x1a, 0x0e, 0x1a, 0x0e, 0x1a, 0x04, + 0x1e, 0x04, 0x05, 0xb8, 0x01, 0x0a, 0x40, 0x09, 0x59, 0x04, 0x1e, + 0x1e, 0x17, 0x50, 0x59, 0x1e, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x12, 0x39, 0x11, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x25, 0x14, 0x06, 0x04, 0x05, 0x35, 0x2c, 0x01, 0x35, + 0x34, 0x26, 0x27, 0x06, 0x04, 0x07, 0x35, 0x3e, 0x03, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x04, 0x10, 0xb8, 0xfe, 0x81, + 0xfe, 0xfe, 0x01, 0x3e, 0x01, 0x48, 0x2d, 0x2b, 0x67, 0xfe, 0xd3, + 0x9a, 0xe3, 0xdc, 0x83, 0x44, 0x7b, 0x78, 0x72, 0x86, 0x25, 0xa9, + 0x34, 0xda, 0xbd, 0xcc, 0xd5, 0x40, 0x39, 0x37, 0x42, 0xe3, 0x95, + 0xfd, 0xc5, 0x36, 0x9b, 0x4d, 0xf3, 0x9d, 0x3f, 0x4c, 0x19, 0x34, + 0x5e, 0x1b, 0x94, 0x32, 0x51, 0x5e, 0x74, 0x49, 0x66, 0x6c, 0x55, + 0x5c, 0x21, 0x8e, 0x87, 0xae, 0xab, 0x50, 0x8e, 0x35, 0x2f, 0x79, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, + 0x06, 0xa8, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x64, 0x01, 0x1b, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0d, + 0x05, 0x26, 0x01, 0x00, 0x0f, 0x15, 0x05, 0x0b, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb9, + 0x00, 0x00, 0x04, 0x19, 0x06, 0xbc, 0x00, 0x14, 0x00, 0x1e, 0x00, + 0x51, 0x40, 0x2c, 0x04, 0x13, 0x13, 0x14, 0x19, 0x18, 0x16, 0x15, + 0x1a, 0x1c, 0x1d, 0x0b, 0x0a, 0x0a, 0x1d, 0x1a, 0x18, 0x14, 0x05, + 0x1f, 0x20, 0x1c, 0x18, 0x16, 0x18, 0x8c, 0x5b, 0x16, 0x1a, 0x8e, + 0x59, 0x16, 0x05, 0x0b, 0x14, 0x15, 0x07, 0x0f, 0x50, 0x59, 0x04, + 0x00, 0x07, 0x10, 0x00, 0x3f, 0xc4, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x3f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, 0x15, 0x14, 0x07, 0x33, + 0x36, 0x33, 0x20, 0x19, 0x01, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x11, 0x23, 0x01, 0x23, 0x27, 0x35, 0x33, 0x17, 0x33, + 0x37, 0x33, 0x15, 0xb9, 0xb5, 0x09, 0x03, 0x69, 0xea, 0x01, 0x5e, + 0xb5, 0x69, 0x73, 0x7c, 0x9f, 0xb4, 0x01, 0xf7, 0xa4, 0xfe, 0x68, + 0xe8, 0x02, 0xdb, 0x69, 0x05, 0x44, 0xfe, 0x3b, 0x8a, 0xcd, 0xfe, + 0x83, 0xfd, 0x2f, 0x02, 0xb7, 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0x8d, + 0x05, 0xb9, 0xef, 0x14, 0x8a, 0x8a, 0x14, 0x00, 0x01, 0x00, 0xa2, + 0xfe, 0x57, 0x04, 0x3d, 0x05, 0x5a, 0x00, 0x12, 0x00, 0x2f, 0x40, + 0x17, 0x0c, 0x08, 0x08, 0x09, 0x00, 0x12, 0x09, 0x12, 0x13, 0x14, + 0x0c, 0x0e, 0x0e, 0x04, 0x60, 0x59, 0x0e, 0x04, 0x0a, 0x03, 0x00, + 0x09, 0x12, 0x00, 0x3f, 0xc6, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, + 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x03, + 0x88, 0x72, 0x81, 0x55, 0xb2, 0x38, 0xb4, 0xb2, 0xab, 0xd9, 0xbb, + 0xaa, 0xfe, 0x57, 0x05, 0x4b, 0x9e, 0x8f, 0x67, 0x4d, 0xfb, 0xe5, + 0x05, 0x46, 0x97, 0xab, 0xd2, 0xe6, 0xfa, 0xb5, 0x00, 0x00, 0x03, + 0x00, 0x24, 0xfe, 0x56, 0x04, 0xca, 0x05, 0xcc, 0x00, 0x23, 0x00, + 0x2f, 0x00, 0x3b, 0x00, 0x6a, 0x40, 0x39, 0x24, 0x06, 0x1d, 0x22, + 0x36, 0x12, 0x12, 0x2a, 0x0d, 0x22, 0x30, 0x17, 0x17, 0x22, 0x20, + 0x06, 0x04, 0x3c, 0x3d, 0x22, 0x36, 0x1d, 0x03, 0x1b, 0x03, 0x1b, + 0x39, 0x50, 0x59, 0x1f, 0x1b, 0x1c, 0x0f, 0x01, 0x14, 0x33, 0x50, + 0x59, 0x12, 0x14, 0x14, 0x03, 0x09, 0x09, 0x2d, 0x50, 0x59, 0x0c, + 0x09, 0x10, 0x03, 0x27, 0x50, 0x59, 0x00, 0x03, 0x16, 0x00, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x39, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0xc6, 0x2b, 0x11, + 0x12, 0x00, 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, + 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, 0x17, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x06, 0x07, + 0x27, 0x36, 0x37, 0x35, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x07, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 0x8b, 0x2d, 0x84, 0x68, + 0xb1, 0x9d, 0xa2, 0xac, 0x6a, 0x84, 0x2b, 0x02, 0x02, 0xb4, 0x02, + 0x41, 0x3c, 0x80, 0x8c, 0x48, 0x7b, 0x4a, 0xb9, 0x4f, 0x48, 0x55, + 0x6e, 0x79, 0x6c, 0xfe, 0x52, 0x59, 0x6d, 0x7b, 0x69, 0x68, 0x7a, + 0x6d, 0x5b, 0x03, 0x4e, 0x39, 0x3a, 0x26, 0x3e, 0x20, 0x47, 0x3d, + 0x34, 0x3f, 0xae, 0x6b, 0x57, 0x01, 0x14, 0x01, 0x18, 0x01, 0x1c, + 0x01, 0x1a, 0x5a, 0x62, 0x79, 0x01, 0xc1, 0xfb, 0x13, 0x9f, 0x17, + 0x87, 0x77, 0x53, 0x71, 0x3e, 0xbd, 0x44, 0x7a, 0x75, 0xa9, 0x60, + 0xda, 0x01, 0x70, 0xe7, 0xc0, 0xd1, 0xe2, 0xd9, 0xc6, 0xc3, 0xfc, + 0x4f, 0x30, 0x41, 0x1d, 0x14, 0x50, 0x5e, 0x39, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x59, 0xff, 0xec, 0x04, 0x73, 0x05, 0x96, 0x00, + 0x27, 0x00, 0x32, 0x00, 0x63, 0x40, 0x34, 0x2e, 0x10, 0x1e, 0x06, + 0x14, 0x03, 0x17, 0x03, 0x24, 0x24, 0x27, 0x1b, 0x17, 0x04, 0x10, + 0x28, 0x0a, 0x10, 0x0a, 0x33, 0x34, 0x06, 0x14, 0x14, 0x2b, 0x21, + 0x21, 0x2b, 0x60, 0x59, 0x1a, 0x1b, 0x60, 0x59, 0x1a, 0x21, 0x1a, + 0x21, 0x00, 0x0d, 0x00, 0x27, 0x60, 0x59, 0x00, 0x0d, 0x0d, 0x31, + 0x60, 0x59, 0x0d, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x06, + 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x35, + 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x37, 0x15, + 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x27, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x20, 0x02, 0x7a, 0xdb, 0xf8, 0x8e, 0x7e, 0x91, 0xa1, 0xfe, 0xea, + 0xf6, 0xfd, 0xfe, 0xef, 0xaa, 0x84, 0x89, 0x81, 0xe5, 0xdc, 0x89, + 0x83, 0xa5, 0x8e, 0x92, 0x9e, 0x91, 0x8a, 0x01, 0x41, 0xb8, 0xa1, + 0x9c, 0xb6, 0xb2, 0xa7, 0x01, 0x52, 0x05, 0x96, 0x05, 0xc5, 0xa2, + 0x7c, 0xb1, 0x17, 0x04, 0x16, 0xb8, 0x8d, 0xc1, 0xda, 0xd8, 0xc1, + 0x8b, 0xbc, 0x14, 0x04, 0x25, 0x7d, 0x61, 0x8a, 0x97, 0x04, 0x82, + 0x04, 0x53, 0x54, 0x59, 0x5e, 0x7f, 0x79, 0x6c, 0x7f, 0x05, 0xfc, + 0x88, 0x7c, 0x8c, 0x98, 0x82, 0x81, 0x8d, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x80, 0xff, 0xec, 0x04, 0x4d, 0x05, 0xd2, 0x00, 0x27, + 0x00, 0x34, 0x00, 0x46, 0x40, 0x25, 0x2b, 0x17, 0x25, 0x1e, 0x0a, + 0x03, 0x31, 0x11, 0x11, 0x03, 0x0d, 0x06, 0x1b, 0x1e, 0x17, 0x07, + 0x35, 0x36, 0x0d, 0x1a, 0x00, 0x28, 0x00, 0x28, 0x51, 0x59, 0x00, + 0x00, 0x07, 0x21, 0x14, 0x14, 0x2e, 0x50, 0x59, 0x14, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x32, 0x39, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, + 0x15, 0x1e, 0x01, 0x15, 0x14, 0x04, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x37, 0x17, 0x0e, + 0x01, 0x15, 0x14, 0x16, 0x17, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x2e, 0x01, 0x02, 0x66, 0x7d, 0x8a, 0x51, + 0x49, 0x49, 0x8b, 0x7b, 0x7f, 0x70, 0x82, 0x98, 0xfe, 0xff, 0xe8, + 0xe6, 0xfe, 0x98, 0x82, 0x6f, 0x80, 0x7b, 0x8b, 0x49, 0x49, 0x51, + 0x89, 0x7d, 0x8b, 0xa6, 0x9b, 0x97, 0x97, 0x9a, 0x49, 0x8b, 0x03, + 0x6a, 0x88, 0x7d, 0x51, 0x7e, 0x23, 0x71, 0x44, 0xae, 0x70, 0x7f, + 0xae, 0x20, 0x04, 0x1f, 0xc9, 0x8f, 0xd5, 0xe7, 0xe8, 0xd4, 0x90, + 0xc7, 0x20, 0x04, 0x1f, 0xae, 0x80, 0x70, 0xae, 0x44, 0x71, 0x23, + 0x7e, 0x51, 0x7e, 0x87, 0x83, 0xa7, 0x89, 0x9d, 0xa1, 0xa2, 0x9c, + 0x57, 0x8b, 0x4e, 0x00, 0x01, 0x00, 0x49, 0xff, 0x01, 0x04, 0x8e, + 0x05, 0x45, 0x00, 0x13, 0x00, 0x3b, 0x40, 0x1d, 0x06, 0x03, 0x00, + 0x0f, 0x0a, 0x0a, 0x01, 0x05, 0x00, 0x05, 0x14, 0x15, 0x00, 0x06, + 0x13, 0x06, 0x5f, 0x59, 0x0c, 0x13, 0x12, 0x05, 0x02, 0x03, 0x02, + 0x5f, 0x59, 0x03, 0x03, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0xc4, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x37, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x32, 0x16, 0x15, 0x14, + 0x07, 0x27, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x49, 0x03, 0x32, + 0xfd, 0x17, 0x03, 0xc2, 0xfc, 0xce, 0x02, 0x53, 0x84, 0x95, 0x11, + 0x9b, 0x12, 0x47, 0x4d, 0xfc, 0xe9, 0x8f, 0x04, 0x1a, 0x9c, 0x8b, + 0xfb, 0xe2, 0x83, 0x7e, 0x4d, 0x4d, 0x22, 0x38, 0x20, 0x47, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x93, 0xff, 0x0b, 0x04, 0x3f, + 0x04, 0x3a, 0x00, 0x13, 0x00, 0x3b, 0x40, 0x1d, 0x06, 0x03, 0x00, + 0x0f, 0x0a, 0x0a, 0x01, 0x05, 0x00, 0x05, 0x14, 0x15, 0x00, 0x06, + 0x13, 0x06, 0x50, 0x59, 0x0c, 0x13, 0x15, 0x05, 0x02, 0x03, 0x02, + 0x50, 0x59, 0x03, 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0xc4, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x37, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x32, 0x16, 0x15, 0x14, + 0x07, 0x27, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x93, 0x02, 0xa9, + 0xfd, 0x7f, 0x03, 0x4c, 0xfd, 0x56, 0x01, 0xc9, 0x93, 0x86, 0x13, + 0x9b, 0x14, 0x47, 0x4d, 0xfd, 0x82, 0x89, 0x03, 0x26, 0x8b, 0x89, + 0xfc, 0xda, 0x70, 0x73, 0x47, 0x56, 0x22, 0x31, 0x27, 0x3f, 0x3c, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, + 0x06, 0x66, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x02, + 0x9a, 0x00, 0x0a, 0x00, 0x9a, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x11, + 0x05, 0x26, 0x02, 0x0b, 0x0f, 0x11, 0x04, 0x07, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, + 0xff, 0xec, 0x04, 0x88, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x44, 0x00, + 0x00, 0x11, 0x06, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x02, + 0x33, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xe3, 0xb4, 0x31, 0x33, 0x0f, + 0x03, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xa2, 0xfe, 0x44, 0x04, 0x62, 0x05, 0x45, 0x12, + 0x26, 0x00, 0x28, 0x00, 0x00, 0x10, 0x07, 0x00, 0x7a, 0x01, 0x76, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xfe, 0x44, 0x04, 0x46, 0x04, + 0x4e, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x10, 0x07, 0x00, 0x7a, + 0x01, 0x56, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, + 0x66, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x13, 0x02, 0x66, 0x00, 0x00, 0x00, 0x1b, 0x40, 0x0f, 0x04, + 0x03, 0x02, 0x1d, 0x05, 0x26, 0x04, 0x03, 0x02, 0x00, 0x1b, 0x19, + 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, + 0x04, 0x49, 0x06, 0x6a, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x10, + 0x26, 0x00, 0x6a, 0x01, 0x00, 0x11, 0x07, 0x09, 0x69, 0x00, 0x00, + 0x01, 0x18, 0x00, 0x3c, 0xb6, 0x04, 0x21, 0x40, 0x1a, 0x1c, 0x48, + 0x21, 0xb8, 0xff, 0xc0, 0x40, 0x09, 0x13, 0x13, 0x48, 0x21, 0x40, + 0x10, 0x12, 0x48, 0x21, 0xb8, 0xff, 0xc0, 0x40, 0x12, 0x0d, 0x0e, + 0x48, 0x21, 0x03, 0x02, 0x1c, 0x11, 0x26, 0x04, 0x03, 0x02, 0x00, + 0x1c, 0x1a, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x11, 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0xff, 0xff, + 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x07, 0x2b, 0x12, 0x26, 0x00, + 0x32, 0x00, 0x00, 0x11, 0x07, 0x09, 0x18, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x22, 0x05, 0x26, 0x03, 0x02, + 0x00, 0x22, 0x2e, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, + 0xec, 0x04, 0x49, 0x06, 0x9c, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, + 0x10, 0x26, 0x02, 0x9d, 0x01, 0x00, 0x11, 0x07, 0x09, 0x69, 0x00, + 0x00, 0x01, 0x4a, 0x00, 0x1f, 0x40, 0x13, 0x03, 0x33, 0x40, 0x09, + 0x09, 0x48, 0x33, 0x02, 0x18, 0x11, 0x26, 0x03, 0x02, 0x00, 0x22, + 0x2f, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x11, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, + 0x66, 0x06, 0x66, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x9a, 0x00, 0x0a, 0x00, 0x9a, 0x00, 0x13, 0x40, 0x0b, 0x02, + 0x19, 0x05, 0x26, 0x02, 0x0b, 0x17, 0x19, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x52, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x02, 0x1b, 0x11, 0x26, 0x02, 0x01, 0x19, 0x1b, 0x06, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x66, 0xff, 0xec, 0x04, 0x66, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x32, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x17, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x03, 0x02, 0x19, 0x05, 0x26, 0x03, 0x02, 0x00, + 0x1c, 0x1d, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, + 0x04, 0x49, 0x06, 0x6a, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x10, + 0x26, 0x02, 0x9a, 0x00, 0x00, 0x11, 0x07, 0x09, 0x69, 0x00, 0x00, + 0x01, 0x18, 0x00, 0x32, 0xb1, 0x03, 0x1d, 0xb8, 0xff, 0xc0, 0x40, + 0x09, 0x13, 0x13, 0x48, 0x1d, 0x40, 0x10, 0x12, 0x48, 0x1d, 0xb8, + 0xff, 0xc0, 0x40, 0x10, 0x0d, 0x0e, 0x48, 0x1d, 0x02, 0x18, 0x11, + 0x26, 0x03, 0x02, 0x01, 0x19, 0x1b, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x2b, 0x2b, 0x35, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, 0x06, 0x6a, + 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x11, 0x07, 0x09, 0x69, 0x00, + 0x00, 0x01, 0x18, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0a, 0x05, 0x26, + 0x01, 0x00, 0x0b, 0x0c, 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, + 0x04, 0x89, 0x05, 0x52, 0x12, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, + 0x06, 0x09, 0x69, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x16, + 0x11, 0x26, 0x01, 0x01, 0x17, 0x18, 0x0a, 0x11, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x02, 0x00, 0xd6, 0xfe, 0x56, + 0x03, 0xf6, 0x05, 0xcc, 0x00, 0x11, 0x00, 0x1d, 0x00, 0x41, 0x40, + 0x22, 0x0c, 0x11, 0x18, 0x00, 0x00, 0x0e, 0x11, 0x12, 0x06, 0x11, + 0x06, 0x1e, 0x1f, 0x03, 0x15, 0x50, 0x59, 0x01, 0x10, 0x18, 0x0c, + 0x04, 0x03, 0x03, 0x0a, 0x11, 0x01, 0x0a, 0x1b, 0x50, 0x59, 0x0d, + 0x0a, 0x1c, 0x00, 0x3f, 0xc6, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, + 0x2f, 0x17, 0x39, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x11, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x27, + 0x07, 0x27, 0x36, 0x37, 0x11, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x07, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 0x6b, 0x44, 0x3b, 0x80, + 0x8c, 0x48, 0x7b, 0x4a, 0xb9, 0x4f, 0x9d, 0x6e, 0x7f, 0x62, 0x01, + 0xa4, 0x39, 0x3a, 0x26, 0x3e, 0x20, 0x47, 0x3d, 0x34, 0x3f, 0x05, + 0xcc, 0xfa, 0x73, 0x18, 0x87, 0x77, 0x53, 0x71, 0x3e, 0xbd, 0xbe, + 0x75, 0xb3, 0x56, 0x05, 0xf8, 0xf9, 0x89, 0x30, 0x41, 0x1d, 0x14, + 0x50, 0x5e, 0x39, 0x00, 0x00, 0x02, 0x00, 0x88, 0xfe, 0x56, 0x04, + 0xcd, 0x04, 0x4e, 0x00, 0x27, 0x00, 0x33, 0x00, 0x63, 0x40, 0x34, + 0x10, 0x07, 0x07, 0x08, 0x2e, 0x18, 0x18, 0x23, 0x27, 0x28, 0x1d, + 0x1d, 0x27, 0x08, 0x03, 0x34, 0x35, 0x2e, 0x27, 0x18, 0x03, 0x1a, + 0x24, 0x21, 0x23, 0x21, 0x08, 0x21, 0x31, 0x50, 0x59, 0x21, 0x1c, + 0x10, 0x14, 0x14, 0x03, 0x50, 0x59, 0x14, 0x10, 0x1a, 0x2b, 0x51, + 0x59, 0x1a, 0x1a, 0x08, 0x0b, 0x0f, 0x08, 0x15, 0x00, 0x3f, 0x3f, + 0x12, 0x39, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x10, 0xc6, 0x11, + 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, + 0x1e, 0x02, 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x27, + 0x07, 0x27, 0x36, 0x37, 0x05, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 0x92, 0x40, 0x55, 0x56, 0x65, + 0xb4, 0x06, 0xaa, 0x01, 0x02, 0x03, 0x02, 0x02, 0x30, 0x7e, 0x59, + 0x89, 0x7b, 0x44, 0x3b, 0x7d, 0x8a, 0x48, 0x7b, 0x4a, 0xb9, 0x4f, + 0x9d, 0x6e, 0x79, 0x6c, 0x01, 0xa0, 0x39, 0x3a, 0x26, 0x3e, 0x20, + 0x47, 0x3d, 0x34, 0x3f, 0x02, 0xae, 0x9c, 0x79, 0xae, 0xa2, 0xfd, + 0x8d, 0x03, 0x53, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0x72, 0x5b, + 0xb5, 0xc8, 0xfd, 0x6e, 0x18, 0x85, 0x79, 0x53, 0x71, 0x3e, 0xbd, + 0xbe, 0x75, 0xa9, 0x60, 0x7f, 0x30, 0x41, 0x1d, 0x14, 0x50, 0x5e, + 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x81, 0xff, 0xeb, 0x03, 0xca, + 0x05, 0x54, 0x00, 0x19, 0x00, 0x25, 0x00, 0x54, 0x40, 0x2d, 0x20, + 0x16, 0x00, 0x00, 0x13, 0x0d, 0x0b, 0x0f, 0x1a, 0x17, 0x05, 0x0f, + 0x05, 0x26, 0x27, 0x19, 0x11, 0x12, 0x11, 0x50, 0x59, 0x02, 0x1d, + 0x50, 0x59, 0x00, 0x0f, 0x20, 0x0b, 0x04, 0x02, 0x02, 0x09, 0x16, + 0x14, 0x12, 0x0f, 0x0c, 0x16, 0x09, 0x23, 0x50, 0x59, 0x09, 0x16, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0xc6, 0x33, 0x12, 0x39, + 0x2f, 0x17, 0x39, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x0e, 0x01, 0x23, 0x22, 0x27, 0x07, 0x27, 0x36, 0x37, 0x11, 0x23, + 0x35, 0x33, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x13, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 0x1a, + 0x44, 0x42, 0x7f, 0x89, 0x48, 0x7b, 0x4a, 0xbe, 0x51, 0x9d, 0x6e, + 0x79, 0x6c, 0xa8, 0xaa, 0x3a, 0x78, 0x01, 0xb0, 0xfe, 0x50, 0xf3, + 0x39, 0x3a, 0x26, 0x3a, 0x20, 0x44, 0x3c, 0x34, 0x3f, 0x01, 0xd4, + 0x18, 0x87, 0x77, 0x53, 0x71, 0x3e, 0xbd, 0xbe, 0x75, 0xa9, 0x60, + 0x02, 0x43, 0x8e, 0x01, 0x1a, 0xfe, 0xe6, 0x8e, 0xfd, 0x3e, 0x30, + 0x41, 0x1d, 0x14, 0x54, 0x5a, 0x39, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x46, 0xff, 0xec, 0x04, 0x86, 0x05, 0xcc, 0x00, 0x23, 0x00, + 0x2d, 0x00, 0x37, 0x00, 0x5d, 0x40, 0x30, 0x24, 0x08, 0x20, 0x33, + 0x33, 0x29, 0x14, 0x21, 0x21, 0x0f, 0x02, 0x02, 0x29, 0x2e, 0x1b, + 0x1b, 0x03, 0x29, 0x08, 0x04, 0x38, 0x39, 0x11, 0x01, 0x31, 0x2b, + 0x0b, 0x2b, 0x50, 0x59, 0x18, 0x14, 0x0e, 0x0b, 0x10, 0x35, 0x27, + 0x05, 0x27, 0x50, 0x59, 0x20, 0x1e, 0x02, 0x05, 0x16, 0x00, 0x15, + 0x00, 0x3f, 0x3f, 0x33, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x33, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, + 0x26, 0x35, 0x23, 0x06, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, + 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, 0x07, 0x33, 0x3e, + 0x01, 0x33, 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x27, 0x23, + 0x14, 0x07, 0x01, 0x14, 0x16, 0x33, 0x32, 0x11, 0x10, 0x23, 0x22, + 0x06, 0x05, 0x34, 0x26, 0x23, 0x22, 0x11, 0x10, 0x33, 0x32, 0x36, + 0x02, 0x22, 0x05, 0x03, 0x37, 0xa4, 0x85, 0x74, 0x85, 0x7b, 0x49, + 0x65, 0x22, 0x02, 0x02, 0xa0, 0x02, 0x02, 0x22, 0x65, 0x49, 0x7b, + 0x85, 0x74, 0x85, 0xa2, 0x39, 0x03, 0x05, 0xfe, 0x43, 0x41, 0x47, + 0xa1, 0x9f, 0x47, 0x43, 0x02, 0xf2, 0x42, 0x48, 0x9f, 0xa1, 0x46, + 0x42, 0x32, 0x5e, 0xa4, 0x01, 0x03, 0x01, 0x29, 0x01, 0x1c, 0x01, + 0x1a, 0x42, 0x52, 0x71, 0x01, 0xa1, 0xfe, 0x5f, 0x71, 0x52, 0x42, + 0xfe, 0xe6, 0xfe, 0xe4, 0xfe, 0xd6, 0xfe, 0xfe, 0xa4, 0x5e, 0x32, + 0x02, 0x1e, 0xd8, 0xcf, 0x01, 0xb3, 0x01, 0x9f, 0xd4, 0xd7, 0xd5, + 0xd6, 0xfe, 0x61, 0xfe, 0x4d, 0xcd, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x46, 0xfe, 0x57, 0x04, 0x86, 0x04, 0x4e, 0x00, 0x21, 0x00, + 0x2a, 0x00, 0x33, 0x00, 0x56, 0x40, 0x2c, 0x22, 0x19, 0x2f, 0x02, + 0x10, 0x10, 0x27, 0x1f, 0x1e, 0x11, 0x2b, 0x08, 0x08, 0x11, 0x19, + 0x03, 0x34, 0x35, 0x21, 0x0f, 0x2d, 0x29, 0x1c, 0x29, 0x50, 0x59, + 0x1e, 0x05, 0x02, 0x1c, 0x10, 0x31, 0x25, 0x17, 0x25, 0x50, 0x59, + 0x13, 0x0d, 0x0a, 0x17, 0x16, 0x11, 0x1c, 0x00, 0x3f, 0x3f, 0x33, + 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x16, 0x15, 0x33, 0x36, 0x33, 0x32, 0x12, + 0x11, 0x10, 0x21, 0x22, 0x26, 0x27, 0x23, 0x17, 0x11, 0x23, 0x11, + 0x37, 0x23, 0x0e, 0x01, 0x23, 0x20, 0x11, 0x10, 0x12, 0x33, 0x32, + 0x17, 0x33, 0x34, 0x37, 0x01, 0x14, 0x16, 0x33, 0x32, 0x11, 0x10, + 0x23, 0x22, 0x01, 0x10, 0x23, 0x22, 0x11, 0x10, 0x33, 0x32, 0x36, + 0x02, 0xaa, 0x05, 0x03, 0x39, 0xa2, 0x82, 0x77, 0xff, 0x00, 0x4f, + 0x61, 0x20, 0x02, 0x02, 0xa0, 0x02, 0x02, 0x20, 0x61, 0x4f, 0xff, + 0x00, 0x76, 0x83, 0xa4, 0x37, 0x03, 0x05, 0xfe, 0xcb, 0x41, 0x49, + 0x9f, 0xa1, 0x88, 0x02, 0xf2, 0x88, 0xa1, 0x9f, 0x48, 0x42, 0x04, + 0x3a, 0x32, 0x5e, 0xa4, 0xfe, 0xef, 0xfe, 0xd1, 0xfd, 0xde, 0x46, + 0x4e, 0x70, 0xfe, 0x47, 0x01, 0xb9, 0x70, 0x4d, 0x47, 0x02, 0x22, + 0x01, 0x2f, 0x01, 0x11, 0xa4, 0x5e, 0x32, 0xfd, 0xd8, 0xd2, 0xcf, + 0x01, 0x9f, 0x01, 0xb3, 0xfe, 0x4f, 0x01, 0xb1, 0xfe, 0x4d, 0xfe, + 0x61, 0xcc, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x8c, 0x04, + 0xcc, 0x05, 0xcc, 0x00, 0x0d, 0x00, 0x14, 0x00, 0x17, 0x00, 0x70, + 0x40, 0x3b, 0x0c, 0x09, 0x0d, 0x08, 0x08, 0x12, 0x16, 0x0f, 0x0e, + 0x0f, 0x02, 0x03, 0x03, 0x10, 0x15, 0x17, 0x01, 0x04, 0x00, 0x07, + 0x12, 0x12, 0x06, 0x00, 0x0b, 0x0d, 0x0d, 0x19, 0x03, 0x04, 0x04, + 0x06, 0x06, 0x18, 0x01, 0x02, 0x0e, 0x02, 0x5f, 0x59, 0x17, 0x16, + 0x09, 0x0c, 0x10, 0x15, 0x04, 0x07, 0x0e, 0x0e, 0x06, 0x12, 0x0a, + 0x07, 0x03, 0x04, 0x00, 0x06, 0x12, 0x00, 0x3f, 0x33, 0xc6, 0x3f, + 0xc6, 0x33, 0x12, 0x39, 0x2f, 0x12, 0x17, 0x39, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x11, 0x33, 0x12, 0x17, 0x39, + 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x31, 0x30, 0x21, 0x03, 0x21, 0x01, 0x23, 0x37, 0x23, 0x01, 0x33, + 0x17, 0x13, 0x33, 0x09, 0x02, 0x33, 0x01, 0x2f, 0x01, 0x0f, 0x01, + 0x17, 0x07, 0x21, 0x04, 0x0a, 0x8a, 0xfe, 0x6d, 0xfe, 0xb4, 0xa2, + 0x4d, 0x4c, 0x01, 0xfe, 0xd9, 0x58, 0xfa, 0xa2, 0xfe, 0x9e, 0x01, + 0x63, 0xfc, 0xb4, 0x2e, 0x01, 0x12, 0x37, 0x21, 0x0c, 0x45, 0xe1, + 0xa8, 0x00, 0xff, 0x01, 0x7e, 0xfe, 0x0e, 0x74, 0x05, 0x45, 0xef, + 0x01, 0x76, 0xfd, 0xed, 0xfc, 0x47, 0x02, 0x13, 0x01, 0x9c, 0xa2, + 0x64, 0x27, 0xd4, 0xab, 0xfc, 0x00, 0x00, 0x00, 0x02, 0x00, 0x29, + 0xff, 0x77, 0x04, 0xab, 0x05, 0xcc, 0x00, 0x1c, 0x00, 0x24, 0x00, + 0x6d, 0x40, 0x3d, 0x1b, 0x1c, 0x1c, 0x1d, 0x06, 0x20, 0x1f, 0x00, + 0x04, 0x02, 0x0c, 0x0b, 0x0b, 0x15, 0x07, 0x08, 0x08, 0x14, 0x15, + 0x15, 0x0f, 0x1a, 0x02, 0x04, 0x25, 0x26, 0x06, 0x09, 0x20, 0x0e, + 0x1f, 0x0f, 0x00, 0x1a, 0x08, 0x04, 0x1c, 0x18, 0x00, 0x14, 0x01, + 0x0f, 0x03, 0x14, 0x14, 0x18, 0x18, 0x11, 0x5f, 0x59, 0x18, 0x13, + 0x04, 0x22, 0x5f, 0x59, 0x0c, 0x0c, 0x07, 0x04, 0x04, 0x00, 0x3f, + 0xc6, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x10, 0xc4, 0x12, 0x17, 0x39, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x17, 0x39, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, + 0x37, 0x26, 0x11, 0x10, 0x21, 0x32, 0x17, 0x37, 0x33, 0x03, 0x16, + 0x17, 0x07, 0x26, 0x27, 0x01, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, + 0x0e, 0x01, 0x23, 0x22, 0x27, 0x07, 0x23, 0x01, 0x14, 0x17, 0x01, + 0x26, 0x23, 0x22, 0x02, 0xed, 0x7c, 0x02, 0x18, 0x9d, 0x70, 0x73, + 0xa2, 0xad, 0x3a, 0x23, 0xa8, 0x0d, 0x0e, 0xfe, 0x14, 0x54, 0x95, + 0x65, 0xa4, 0x39, 0x9f, 0x50, 0xf2, 0xa1, 0xc2, 0x82, 0x84, 0xa2, + 0x01, 0x11, 0x27, 0x01, 0xdc, 0x4c, 0x67, 0xab, 0xa5, 0xb8, 0xb5, + 0x01, 0x3c, 0x02, 0xb1, 0x49, 0xbb, 0xfe, 0xe5, 0x4a, 0x5c, 0x41, + 0x25, 0x1c, 0xfc, 0xdc, 0x60, 0x89, 0x91, 0x41, 0xc1, 0xb3, 0x63, + 0xd8, 0x03, 0x32, 0xba, 0x7b, 0x03, 0x0b, 0x3f, 0xfe, 0xfe, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x75, 0xfe, 0x57, 0x04, 0x57, 0x05, 0xcc, + 0x00, 0x1d, 0x00, 0x25, 0x00, 0x6c, 0x40, 0x3e, 0x1c, 0x1d, 0x1d, + 0x0d, 0x0c, 0x0c, 0x16, 0x0a, 0x0f, 0x07, 0x21, 0x10, 0x1b, 0x20, + 0x00, 0x08, 0x02, 0x08, 0x09, 0x09, 0x16, 0x02, 0x16, 0x26, 0x27, + 0x07, 0x0a, 0x21, 0x0f, 0x20, 0x10, 0x00, 0x1b, 0x08, 0x05, 0x1d, + 0x19, 0x00, 0x15, 0x60, 0x15, 0x02, 0x0f, 0x03, 0x15, 0x15, 0x19, + 0x19, 0x12, 0x50, 0x59, 0x19, 0x16, 0x05, 0x23, 0x50, 0x59, 0x0d, + 0x0d, 0x08, 0x05, 0x10, 0x00, 0x3f, 0xc6, 0x33, 0x2f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x10, 0xc4, 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x2f, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x32, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x26, 0x11, 0x10, 0x12, 0x33, 0x32, + 0x17, 0x13, 0x33, 0x03, 0x16, 0x17, 0x07, 0x26, 0x27, 0x01, 0x16, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x03, + 0x23, 0x01, 0x14, 0x17, 0x01, 0x26, 0x23, 0x22, 0x06, 0x01, 0x5a, + 0x98, 0xf0, 0xe0, 0x49, 0x3c, 0xb2, 0x8e, 0xc9, 0x81, 0x20, 0xb9, + 0x0b, 0x22, 0xfe, 0xbe, 0x37, 0x51, 0x60, 0x81, 0x0f, 0xb6, 0x15, + 0xe0, 0xac, 0x74, 0x58, 0xc5, 0x8e, 0x01, 0x09, 0x2d, 0x01, 0x30, + 0x22, 0x2c, 0x8f, 0x80, 0x59, 0x90, 0x01, 0x35, 0x01, 0x11, 0x01, + 0x1f, 0x10, 0x01, 0x8e, 0xfe, 0x3d, 0x56, 0xa8, 0x0e, 0x44, 0x2e, + 0xfd, 0x2e, 0x23, 0x68, 0x6c, 0x0c, 0x9c, 0xba, 0x25, 0xfe, 0x46, + 0x03, 0xcb, 0xb0, 0x65, 0x02, 0xaa, 0x0a, 0xbe, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x63, 0x00, 0x00, 0x04, 0x4c, 0x05, 0x45, 0x00, 0x0d, + 0x00, 0x3b, 0x40, 0x1d, 0x07, 0x0b, 0x0b, 0x04, 0x09, 0x00, 0x0c, + 0x00, 0x0c, 0x0e, 0x0f, 0x0a, 0x02, 0x03, 0x02, 0x5f, 0x59, 0x07, + 0x03, 0x03, 0x00, 0x05, 0x03, 0x00, 0x0b, 0x5f, 0x59, 0x00, 0x12, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, + 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x23, 0x35, 0x33, + 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0xed, 0x8a, + 0x8a, 0xbf, 0x01, 0x93, 0xfe, 0x6d, 0x02, 0xa0, 0x02, 0x5c, 0x9c, + 0x02, 0x4d, 0xfd, 0xb3, 0x9c, 0xfe, 0x40, 0x9c, 0x00, 0x02, 0x00, + 0x29, 0xff, 0x77, 0x04, 0xab, 0x05, 0xcc, 0x00, 0x10, 0x00, 0x13, + 0x00, 0x4d, 0x40, 0x27, 0x05, 0x06, 0x06, 0x09, 0x09, 0x03, 0x0c, + 0x0d, 0x0d, 0x10, 0x10, 0x11, 0x02, 0x02, 0x07, 0x03, 0x03, 0x14, + 0x15, 0x13, 0x00, 0x09, 0x0a, 0x09, 0x5f, 0x59, 0x11, 0x01, 0x07, + 0x04, 0x04, 0x03, 0x0e, 0x0c, 0x0a, 0x03, 0x06, 0x03, 0x12, 0x00, + 0x3f, 0xc4, 0x3f, 0xc6, 0x33, 0x12, 0x17, 0x39, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x09, 0x01, 0x11, 0x23, 0x11, 0x01, 0x23, 0x01, 0x11, + 0x21, 0x35, 0x21, 0x37, 0x33, 0x07, 0x33, 0x15, 0x05, 0x37, 0x23, + 0x03, 0xf9, 0xfe, 0xcc, 0xbe, 0xfe, 0xc4, 0xa2, 0x01, 0xde, 0xfe, + 0x45, 0x03, 0x6a, 0x53, 0xa2, 0x53, 0x28, 0xfe, 0x45, 0x92, 0x92, + 0x04, 0xa9, 0xfe, 0x09, 0xfd, 0x4e, 0x01, 0x7b, 0xfd, 0xfc, 0x03, + 0x0d, 0x02, 0x25, 0x9c, 0x87, 0x87, 0x9c, 0xef, 0xef, 0x00, 0x00, + 0x01, 0x00, 0xaf, 0xfe, 0x56, 0x04, 0x1e, 0x04, 0x4b, 0x00, 0x3b, + 0x00, 0x62, 0x40, 0x27, 0x18, 0x17, 0x33, 0x26, 0x2d, 0x2c, 0x1e, + 0x00, 0x00, 0x0d, 0x2c, 0x05, 0x26, 0x17, 0x06, 0x3c, 0x3d, 0x33, + 0x37, 0x22, 0x1e, 0x04, 0x03, 0x29, 0x29, 0x30, 0x50, 0x59, 0x00, + 0x2d, 0x01, 0x12, 0x03, 0x2d, 0x2d, 0x29, 0x10, 0x10, 0x09, 0xb8, + 0x01, 0x0a, 0x40, 0x0c, 0x59, 0x10, 0x03, 0x03, 0x1b, 0x50, 0x59, + 0x18, 0x18, 0x05, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0x2b, + 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x27, 0x17, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x2f, 0x01, 0x26, + 0x27, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x2f, 0x01, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x01, + 0x17, 0x1e, 0x03, 0x04, 0x1e, 0xe7, 0xd0, 0x21, 0x46, 0xc3, 0x1b, + 0x45, 0x1b, 0x22, 0x36, 0x1d, 0x60, 0x38, 0x67, 0x38, 0x9a, 0x7e, + 0x8d, 0x49, 0x43, 0x4d, 0x0f, 0x85, 0x39, 0x85, 0x75, 0x89, 0x7f, + 0x58, 0x62, 0x81, 0x9b, 0x83, 0x4a, 0xd3, 0xca, 0xb3, 0xd3, 0x1c, + 0xa2, 0x0f, 0x83, 0x6e, 0x7a, 0x74, 0x30, 0x5e, 0x97, 0x8f, 0x7e, + 0x49, 0x28, 0x01, 0x2b, 0x99, 0xa6, 0x0a, 0xd2, 0x1d, 0x18, 0x1c, + 0x21, 0x71, 0x3b, 0x2a, 0x9a, 0xa5, 0x52, 0x54, 0x61, 0x17, 0x57, + 0x58, 0x3d, 0x54, 0x54, 0x40, 0x50, 0x1a, 0x22, 0x28, 0x4d, 0x6e, + 0x50, 0x94, 0x9b, 0x7e, 0x8b, 0x14, 0x48, 0x4d, 0x4a, 0x4b, 0x2e, + 0x3c, 0x2a, 0x25, 0x24, 0x3d, 0x4a, 0x61, 0x00, 0x01, 0x00, 0xaa, + 0xfe, 0x56, 0x04, 0x72, 0x04, 0x3a, 0x00, 0x1d, 0x00, 0x43, 0x40, + 0x15, 0x00, 0x17, 0x19, 0x1d, 0x0b, 0x1d, 0x1a, 0x17, 0x04, 0x1e, + 0x1f, 0x1d, 0x1a, 0x1b, 0x1a, 0x50, 0x59, 0x1b, 0x0f, 0x0e, 0x08, + 0xb8, 0x01, 0x0a, 0x40, 0x0b, 0x59, 0x0e, 0x17, 0x18, 0x00, 0x17, + 0x00, 0x50, 0x59, 0x17, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x32, 0x1e, 0x01, 0x1f, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x37, + 0x17, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x2f, 0x01, 0x2e, 0x01, + 0x2b, 0x01, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x74, 0x3e, + 0x51, 0x42, 0x44, 0xaa, 0x1d, 0x32, 0x20, 0x34, 0x3c, 0x60, 0x38, + 0x67, 0x38, 0x31, 0x4e, 0x45, 0x3a, 0xa0, 0x25, 0x44, 0x4e, 0x9c, + 0x02, 0x95, 0xfd, 0x93, 0x03, 0x38, 0x8b, 0x15, 0x2f, 0x50, 0xc9, + 0x23, 0x1c, 0x44, 0x71, 0x3b, 0x31, 0x1e, 0x38, 0x47, 0xc1, 0x2c, + 0x20, 0x8b, 0x03, 0x24, 0x8b, 0x89, 0x00, 0x01, 0x00, 0x33, 0x00, + 0x00, 0x04, 0x4c, 0x05, 0x96, 0x00, 0x16, 0x00, 0x37, 0x40, 0x1c, + 0x16, 0x00, 0x05, 0x12, 0x12, 0x00, 0x0c, 0x03, 0x17, 0x18, 0x03, + 0x15, 0x60, 0x59, 0x03, 0x03, 0x0f, 0x00, 0x0b, 0x0b, 0x0f, 0x0f, + 0x08, 0x60, 0x59, 0x0f, 0x00, 0x12, 0x00, 0x3f, 0xc4, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, + 0x16, 0x33, 0x20, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, + 0x36, 0x24, 0x33, 0x20, 0x00, 0x11, 0x14, 0x02, 0x07, 0x11, 0x01, + 0xbd, 0x34, 0x4b, 0x01, 0x54, 0xad, 0xb4, 0x84, 0xa9, 0x1a, 0xb5, + 0x24, 0x01, 0x09, 0xd3, 0x01, 0x05, 0x01, 0x14, 0xff, 0xdc, 0x02, + 0x18, 0x0e, 0x01, 0x80, 0xc6, 0xb9, 0x75, 0x76, 0x1d, 0xa5, 0xb6, + 0xfe, 0xf5, 0xfe, 0xfb, 0xea, 0xfe, 0xe8, 0x08, 0xfe, 0x84, 0x00, + 0x01, 0x00, 0xc8, 0x00, 0x00, 0x04, 0x04, 0x04, 0x4e, 0x00, 0x14, + 0x00, 0x38, 0x40, 0x1d, 0x14, 0x00, 0x04, 0x10, 0x10, 0x00, 0x0a, + 0x03, 0x15, 0x16, 0x01, 0x13, 0x51, 0x59, 0x01, 0x01, 0x0d, 0x00, + 0x09, 0x09, 0x0d, 0x0d, 0x07, 0x50, 0x59, 0x0d, 0x10, 0x00, 0x15, + 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, + 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x11, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x11, 0x02, 0x16, 0x8f, 0xa3, 0x6d, 0x7f, 0xbf, 0x1c, 0xb9, + 0x1a, 0xd7, 0xa3, 0xcd, 0xdb, 0xa3, 0x97, 0x01, 0xb0, 0x90, 0x7b, + 0x85, 0x81, 0xc4, 0x0e, 0x96, 0xad, 0xd2, 0xc3, 0x8f, 0xca, 0x26, + 0xfe, 0xc6, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x04, 0x80, 0x05, + 0x45, 0x00, 0x11, 0x00, 0x1e, 0x00, 0x26, 0x00, 0x7d, 0x40, 0x48, + 0x0f, 0x0c, 0x24, 0x17, 0x1b, 0x1b, 0x08, 0x04, 0x1f, 0x0c, 0x12, + 0x00, 0x00, 0x0c, 0x18, 0x04, 0x04, 0x27, 0x28, 0x1a, 0x06, 0x07, + 0x06, 0x60, 0x59, 0x17, 0x07, 0x0f, 0x24, 0x16, 0x24, 0x16, 0x5f, + 0x59, 0x7f, 0x24, 0x01, 0x00, 0x24, 0x20, 0x24, 0x30, 0x24, 0x03, + 0x50, 0x24, 0xf0, 0x24, 0x02, 0x0f, 0x07, 0x01, 0x0f, 0x03, 0x07, + 0x24, 0x07, 0x24, 0x04, 0x09, 0x09, 0x23, 0x5f, 0x59, 0x09, 0x03, + 0x04, 0x1b, 0x5f, 0x59, 0x04, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, + 0x5e, 0x5d, 0x5d, 0x71, 0x71, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, + 0x31, 0x30, 0x01, 0x14, 0x04, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, + 0x11, 0x21, 0x20, 0x11, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x07, 0x34, + 0x26, 0x2b, 0x01, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x32, 0x36, + 0x03, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x20, 0x04, 0x80, 0xfe, + 0xee, 0xf4, 0xfe, 0x28, 0x81, 0x81, 0x01, 0x9c, 0x01, 0xf0, 0x8f, + 0x7d, 0xa7, 0xb7, 0xc1, 0xb2, 0xb0, 0xfc, 0x01, 0x62, 0xfe, 0x9e, + 0x01, 0x0a, 0xaf, 0xa5, 0x51, 0x97, 0x97, 0xdf, 0xe1, 0x01, 0x2c, + 0x01, 0x7c, 0xb4, 0xc8, 0x01, 0x48, 0x85, 0x03, 0x78, 0xfe, 0xb9, + 0x7a, 0xa3, 0x1a, 0x12, 0xb2, 0x76, 0x72, 0x78, 0xaa, 0x85, 0xaf, + 0x79, 0x02, 0xd4, 0x6b, 0x5b, 0xfe, 0x60, 0x00, 0x00, 0x02, 0x00, + 0x0b, 0xff, 0xec, 0x04, 0xc2, 0x05, 0x45, 0x00, 0x14, 0x00, 0x1e, + 0x00, 0x47, 0x40, 0x23, 0x1a, 0x10, 0x10, 0x0b, 0x0f, 0x19, 0x13, + 0x13, 0x03, 0x14, 0x0f, 0x14, 0x1f, 0x20, 0x1a, 0x03, 0x0c, 0x0d, + 0x0c, 0x5f, 0x59, 0x11, 0x00, 0x0d, 0x0d, 0x07, 0x13, 0x0f, 0x03, + 0x07, 0x15, 0x5f, 0x59, 0x07, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, 0x23, + 0x15, 0x10, 0x06, 0x23, 0x22, 0x26, 0x11, 0x35, 0x23, 0x35, 0x33, + 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x01, 0x32, 0x36, 0x3d, 0x01, + 0x21, 0x15, 0x14, 0x1e, 0x01, 0x04, 0x3d, 0x85, 0x85, 0xe4, 0xfc, + 0xf2, 0xdd, 0x83, 0x83, 0xbf, 0x02, 0x32, 0xbe, 0xfe, 0x1f, 0xa1, + 0x82, 0xfd, 0xce, 0x34, 0x75, 0x02, 0xed, 0x99, 0x6a, 0xfe, 0xf5, + 0xf3, 0xe9, 0x01, 0x03, 0x7c, 0x99, 0x02, 0x58, 0xfd, 0xa8, 0x02, + 0x58, 0xfb, 0x42, 0xa4, 0xd4, 0x55, 0x62, 0x93, 0x95, 0x43, 0x00, + 0xff, 0xff, 0x00, 0x0a, 0x00, 0x00, 0x04, 0xc2, 0x05, 0x45, 0x12, + 0x06, 0x03, 0x4d, 0x00, 0x00, 0x00, 0x03, 0x00, 0xa2, 0xff, 0x20, + 0x04, 0x62, 0x05, 0xcc, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, + 0x8f, 0x40, 0x56, 0x14, 0x18, 0x18, 0x04, 0x06, 0x16, 0x15, 0x1a, + 0x19, 0x03, 0x06, 0x02, 0x07, 0x00, 0x11, 0x10, 0x0d, 0x0c, 0x09, + 0x06, 0x08, 0x01, 0x01, 0x02, 0x02, 0x04, 0x07, 0x08, 0x08, 0x13, + 0x04, 0x13, 0x1c, 0x1d, 0x0c, 0x17, 0x05, 0x17, 0x5f, 0x59, 0x10, + 0x1b, 0x14, 0x1b, 0x5f, 0x59, 0x0d, 0x1f, 0x14, 0x2f, 0x14, 0x02, + 0x0f, 0x14, 0x2f, 0x14, 0x3f, 0x14, 0x5f, 0x14, 0x7f, 0x14, 0xaf, + 0x14, 0xdf, 0x14, 0x07, 0x1f, 0x03, 0x14, 0x14, 0x04, 0x09, 0x07, + 0x05, 0x03, 0x11, 0x18, 0x04, 0x18, 0x5f, 0x59, 0x02, 0x00, 0x04, + 0x12, 0x00, 0x3f, 0x33, 0xc6, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0xc6, 0x33, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x17, 0x39, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x21, 0x07, 0x23, 0x37, 0x23, 0x11, 0x21, 0x37, 0x33, 0x07, + 0x33, 0x15, 0x23, 0x03, 0x33, 0x15, 0x21, 0x03, 0x21, 0x15, 0x01, + 0x21, 0x13, 0x21, 0x11, 0x33, 0x13, 0x23, 0x01, 0xd6, 0x61, 0x8f, + 0x61, 0xa5, 0x02, 0xea, 0x3a, 0x8e, 0x3a, 0x1f, 0x62, 0xb6, 0xdc, + 0xfe, 0xe1, 0xc6, 0x02, 0x4a, 0xfc, 0xff, 0x01, 0x32, 0xb6, 0xfe, + 0x18, 0x29, 0xc6, 0xef, 0xe0, 0xe0, 0x05, 0x45, 0x87, 0x87, 0x9c, + 0xfe, 0x5a, 0x9a, 0xfe, 0x33, 0x9c, 0x03, 0x03, 0x01, 0xa6, 0xfb, + 0xf3, 0x01, 0xcd, 0x00, 0x04, 0x00, 0x79, 0xfe, 0x58, 0x04, 0x5b, + 0x05, 0xcc, 0x00, 0x1c, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, + 0x99, 0x40, 0x58, 0x20, 0x24, 0x24, 0x11, 0x16, 0x22, 0x21, 0x27, + 0x26, 0x0f, 0x06, 0x0e, 0x17, 0x0c, 0x01, 0x00, 0x2b, 0x2a, 0x19, + 0x06, 0x18, 0x0d, 0x0d, 0x0e, 0x0e, 0x11, 0x06, 0x07, 0x17, 0x18, + 0x18, 0x28, 0x1c, 0x1c, 0x07, 0x11, 0x03, 0x2c, 0x2d, 0x17, 0x01, + 0x22, 0x2a, 0x26, 0x01, 0x04, 0x03, 0x1d, 0x14, 0x1d, 0x50, 0x59, + 0x00, 0x24, 0x20, 0x24, 0x50, 0x59, 0x2b, 0x0c, 0x0f, 0x0a, 0x19, + 0x16, 0x14, 0x20, 0x20, 0x0a, 0x14, 0x10, 0x0e, 0x1b, 0x0a, 0x03, + 0x50, 0x59, 0xdf, 0x06, 0xef, 0x06, 0x02, 0x80, 0x06, 0x01, 0x06, + 0x06, 0x0a, 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x5d, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x12, 0x39, 0x2f, 0x12, 0x39, 0x39, 0x12, 0x39, + 0x39, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x17, + 0x39, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x17, + 0x39, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x03, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, + 0x22, 0x27, 0x03, 0x23, 0x13, 0x26, 0x11, 0x10, 0x12, 0x33, 0x32, + 0x17, 0x13, 0x33, 0x03, 0x16, 0x11, 0x15, 0x01, 0x22, 0x06, 0x07, + 0x21, 0x13, 0x26, 0x01, 0x14, 0x17, 0x13, 0x25, 0x26, 0x27, 0x07, + 0x02, 0xa6, 0xa5, 0x35, 0x39, 0x67, 0x9b, 0x1a, 0x9e, 0x2c, 0xeb, + 0xa3, 0x5c, 0x4c, 0xbf, 0x8f, 0xd7, 0xcb, 0xf9, 0xeb, 0x5f, 0x4f, + 0xb6, 0x8e, 0xcf, 0xba, 0xfe, 0x25, 0x86, 0x9c, 0x05, 0x01, 0x10, + 0x8a, 0x34, 0xfe, 0x98, 0x54, 0x81, 0x01, 0x75, 0x0e, 0x37, 0x64, + 0x01, 0xf7, 0xfe, 0x8f, 0x13, 0x59, 0x4d, 0x2d, 0x7c, 0x84, 0x16, + 0xfe, 0x56, 0x01, 0xe2, 0x87, 0x01, 0x63, 0x01, 0x0b, 0x01, 0x1f, + 0x19, 0x01, 0x97, 0xfe, 0x30, 0x89, 0xfe, 0x9c, 0x18, 0x01, 0xd2, + 0xaf, 0x99, 0x01, 0x33, 0x15, 0xfe, 0x2e, 0xb9, 0x68, 0x01, 0x21, + 0x8a, 0x91, 0x4e, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb0, + 0xff, 0xec, 0x04, 0x60, 0x05, 0x45, 0x00, 0x18, 0x00, 0x48, 0x40, + 0x24, 0x0b, 0x0a, 0x14, 0x10, 0x10, 0x00, 0x04, 0x0a, 0x04, 0x19, + 0x1a, 0x03, 0x12, 0x13, 0x12, 0x5f, 0x59, 0x00, 0x13, 0x13, 0x07, + 0x17, 0x17, 0x16, 0x5f, 0x59, 0x17, 0x03, 0x07, 0x0e, 0x5f, 0x59, + 0x0b, 0x0b, 0x07, 0x13, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, 0x23, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x11, + 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x03, 0xda, 0x86, + 0x86, 0xd2, 0xbe, 0xab, 0xcc, 0x23, 0xbb, 0x12, 0x72, 0x5c, 0xd1, + 0xfe, 0xf9, 0x01, 0x07, 0xfe, 0xc9, 0x01, 0xf5, 0x02, 0xed, 0x98, + 0xb1, 0xd1, 0xe7, 0xb2, 0xc0, 0x1f, 0x75, 0x81, 0x01, 0x19, 0xb5, + 0x98, 0x01, 0xbc, 0x9c, 0x00, 0x00, 0x02, 0x00, 0x75, 0xfe, 0x57, + 0x04, 0x46, 0x05, 0xcc, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x50, 0x40, + 0x24, 0x19, 0x14, 0x10, 0x10, 0x1c, 0x00, 0x04, 0x0a, 0x04, 0x1d, + 0x1e, 0x1a, 0x19, 0x53, 0x59, 0x1a, 0x01, 0x03, 0x12, 0x13, 0x12, + 0x50, 0x59, 0x00, 0x13, 0x13, 0x07, 0x17, 0x17, 0x16, 0x50, 0x59, + 0x17, 0x0f, 0x07, 0x0d, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x07, 0x1c, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x21, 0x15, 0x21, 0x11, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x35, + 0x21, 0x11, 0x21, 0x35, 0x21, 0x27, 0x35, 0x33, 0x15, 0x03, 0x44, + 0x01, 0x02, 0xfe, 0xfe, 0xe0, 0xcf, 0x4f, 0xa4, 0x2d, 0x96, 0x7b, + 0x80, 0x8a, 0xfe, 0x86, 0x01, 0x7a, 0xfe, 0x69, 0x02, 0x4b, 0xc8, + 0xc8, 0x02, 0x69, 0x85, 0xfe, 0x00, 0xbb, 0xd2, 0x1a, 0x11, 0x8c, + 0x22, 0x84, 0x77, 0x01, 0xfd, 0x85, 0x01, 0x43, 0x8e, 0xd2, 0xc0, + 0xc0, 0x00, 0x02, 0x00, 0x71, 0xfe, 0x57, 0x05, 0x18, 0x05, 0x5a, + 0x00, 0x17, 0x00, 0x22, 0x00, 0x44, 0x40, 0x22, 0x18, 0x08, 0x1d, + 0x0d, 0x02, 0x02, 0x16, 0x10, 0x08, 0x10, 0x23, 0x24, 0x0e, 0x03, + 0x0b, 0x20, 0x5f, 0x59, 0x0d, 0x0b, 0x04, 0x00, 0x13, 0x5f, 0x59, + 0x00, 0x05, 0x05, 0x1b, 0x5f, 0x59, 0x03, 0x05, 0x13, 0x00, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x20, 0x11, + 0x35, 0x06, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x21, 0x32, 0x17, + 0x37, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x01, + 0x10, 0x12, 0x33, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x02, 0x04, + 0x90, 0xfe, 0xf9, 0x66, 0xa3, 0xfe, 0xfe, 0xef, 0x01, 0x11, 0x01, + 0x07, 0xb1, 0x69, 0x85, 0x1f, 0x38, 0x37, 0x33, 0x2f, 0x3a, 0xfc, + 0x5c, 0xab, 0xb0, 0x99, 0x5a, 0x4f, 0xaf, 0xab, 0xa5, 0xfe, 0x57, + 0x01, 0x20, 0xd4, 0x5f, 0x01, 0x70, 0x01, 0x4d, 0x01, 0x51, 0x01, + 0x60, 0x5c, 0x4d, 0xfa, 0x42, 0x51, 0x43, 0x0e, 0xa2, 0x0e, 0x04, + 0x52, 0xfe, 0xef, 0xfe, 0xef, 0x79, 0x03, 0x3e, 0x80, 0xfe, 0xfe, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x84, 0xfe, 0x57, 0x04, 0xdc, 0x04, + 0x4e, 0x00, 0x20, 0x00, 0x2c, 0x00, 0x41, 0x40, 0x22, 0x27, 0x08, + 0x21, 0x0e, 0x20, 0x20, 0x1b, 0x15, 0x08, 0x15, 0x2d, 0x2e, 0x1d, + 0x18, 0x52, 0x59, 0x1d, 0x1c, 0x11, 0x10, 0x0a, 0x24, 0x50, 0x59, + 0x0d, 0x0a, 0x10, 0x05, 0x2a, 0x50, 0x59, 0x01, 0x05, 0x16, 0x00, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x37, 0x23, 0x0e, 0x01, + 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, 0x33, 0x34, + 0x36, 0x37, 0x33, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, + 0x15, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x63, 0x04, 0x02, + 0x36, 0x9e, 0x7f, 0xce, 0xc0, 0x01, 0x8e, 0x7b, 0xa0, 0x36, 0x02, + 0x08, 0x04, 0xad, 0x07, 0x38, 0x37, 0x26, 0x30, 0x32, 0x4a, 0x7c, + 0x81, 0x8a, 0x97, 0x89, 0x78, 0x79, 0x86, 0x99, 0x8a, 0x31, 0x81, + 0x6b, 0x5b, 0x01, 0x16, 0x01, 0x16, 0x02, 0x36, 0x57, 0x65, 0x1e, + 0x93, 0x05, 0x3b, 0xec, 0xfc, 0x6c, 0x51, 0x43, 0x0c, 0xa2, 0x0c, + 0x95, 0x93, 0x02, 0xab, 0xd3, 0xcc, 0xcc, 0xdf, 0xe3, 0xc4, 0xda, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x99, 0x05, 0x45, 0x00, + 0x11, 0x00, 0x19, 0x00, 0x4d, 0x40, 0x27, 0x16, 0x03, 0x03, 0x08, + 0x04, 0x10, 0x01, 0x00, 0x11, 0x11, 0x12, 0x0d, 0x0d, 0x01, 0x04, + 0x03, 0x1a, 0x1b, 0x10, 0x02, 0x06, 0x07, 0x06, 0x5f, 0x59, 0x16, + 0x07, 0x07, 0x04, 0x09, 0x09, 0x15, 0x5f, 0x59, 0x09, 0x03, 0x00, + 0x04, 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x01, 0x23, 0x11, 0x23, 0x11, + 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, + 0x01, 0x03, 0x34, 0x29, 0x01, 0x11, 0x21, 0x32, 0x36, 0x03, 0xbd, + 0xfe, 0x92, 0xee, 0xbf, 0xa2, 0xa2, 0x01, 0xe2, 0xe9, 0xf4, 0xbb, + 0x9d, 0x01, 0x90, 0xf8, 0xfe, 0xd0, 0xfe, 0xf0, 0x01, 0x18, 0x92, + 0x96, 0x02, 0x3f, 0xfd, 0xc1, 0x02, 0x3f, 0x96, 0x02, 0x70, 0xc1, + 0xb4, 0x95, 0xcc, 0x1a, 0xfd, 0xab, 0x03, 0xcd, 0xdf, 0xfe, 0x2a, + 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0xaa, 0x00, 0x00, 0x04, 0x15, + 0x04, 0x4e, 0x00, 0x1c, 0x00, 0x48, 0x40, 0x18, 0x06, 0x1c, 0x15, + 0x05, 0x09, 0x09, 0x0e, 0x0a, 0x0a, 0x1c, 0x1d, 0x1e, 0x15, 0x1a, + 0x1a, 0x02, 0x52, 0x59, 0x1a, 0x10, 0x08, 0x0c, 0x0d, 0x0c, 0xb8, + 0x01, 0x0a, 0x40, 0x09, 0x59, 0x05, 0x0d, 0x0d, 0x0a, 0x12, 0x0f, + 0x0a, 0x15, 0x00, 0x3f, 0x3f, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x31, + 0x30, 0x01, 0x26, 0x23, 0x22, 0x06, 0x07, 0x21, 0x15, 0x21, 0x11, + 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x26, 0x27, 0x33, 0x16, + 0x17, 0x33, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x04, 0x15, 0x70, 0x64, + 0x82, 0xb8, 0x20, 0x01, 0x71, 0xfe, 0x82, 0xb4, 0x7c, 0x7c, 0x1b, + 0x19, 0xab, 0x28, 0x08, 0x05, 0x32, 0x60, 0x84, 0x5f, 0x68, 0x66, + 0x03, 0x96, 0x13, 0xa5, 0x8c, 0x92, 0xfe, 0x1a, 0x01, 0xe6, 0x92, + 0x45, 0x4c, 0xce, 0x63, 0x8a, 0x70, 0x70, 0x69, 0x35, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x00, 0x04, 0xc3, 0x05, + 0x45, 0x00, 0x11, 0x00, 0x14, 0x00, 0x68, 0x40, 0x33, 0x0f, 0x13, + 0x10, 0x0e, 0x14, 0x0d, 0x12, 0x12, 0x11, 0x0d, 0x0b, 0x08, 0x06, + 0x0a, 0x0c, 0x0c, 0x06, 0x10, 0x00, 0x03, 0x05, 0x01, 0x11, 0x11, + 0x05, 0x05, 0x06, 0x06, 0x15, 0x16, 0x07, 0x04, 0x12, 0x14, 0x03, + 0x09, 0x0a, 0x09, 0x60, 0x59, 0x0e, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x10, 0x0c, 0x03, 0x06, 0x12, 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, + 0x2f, 0x39, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x39, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, + 0x33, 0x12, 0x39, 0x11, 0x12, 0x39, 0x39, 0x12, 0x39, 0x39, 0x31, + 0x30, 0x01, 0x33, 0x15, 0x21, 0x03, 0x11, 0x23, 0x11, 0x03, 0x21, + 0x35, 0x33, 0x27, 0x33, 0x17, 0x21, 0x37, 0x33, 0x01, 0x37, 0x21, + 0x04, 0x09, 0xba, 0xfe, 0xe9, 0xe8, 0xbc, 0xe9, 0xfe, 0xec, 0xb8, + 0x9f, 0xcd, 0x99, 0x01, 0xb8, 0x99, 0xcd, 0xfd, 0xbf, 0x82, 0xfe, + 0xfb, 0x04, 0x4a, 0x92, 0xfe, 0x90, 0xfd, 0xb8, 0x02, 0x48, 0x01, + 0x70, 0x92, 0xfb, 0xfb, 0xfb, 0xfd, 0x9d, 0xd6, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x25, 0xfe, 0x57, 0x04, 0xab, 0x04, 0x3a, 0x00, 0x1b, + 0x00, 0x20, 0x00, 0x72, 0x40, 0x27, 0x18, 0x1f, 0x17, 0x1c, 0x17, + 0x14, 0x15, 0x12, 0x16, 0x11, 0x11, 0x1c, 0x00, 0x03, 0x1b, 0x04, + 0x04, 0x1e, 0x19, 0x1c, 0x1a, 0x1a, 0x01, 0x1b, 0x1b, 0x1c, 0x0a, + 0x16, 0x04, 0x21, 0x22, 0x11, 0x04, 0x1c, 0x1f, 0x03, 0x13, 0x14, + 0x13, 0xb8, 0x01, 0x0a, 0x40, 0x10, 0x59, 0x18, 0x00, 0x1c, 0x14, + 0x14, 0x08, 0x1a, 0x16, 0x0f, 0x08, 0x0d, 0x50, 0x59, 0x08, 0x1c, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x39, + 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x32, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x32, 0x32, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x33, 0x15, + 0x23, 0x03, 0x0e, 0x02, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x36, 0x3f, 0x01, 0x01, 0x23, 0x35, 0x33, 0x03, 0x33, 0x13, 0x21, + 0x13, 0x33, 0x01, 0x37, 0x13, 0x21, 0x12, 0x03, 0xf9, 0xb2, 0xef, + 0xfb, 0x43, 0x74, 0x8d, 0x59, 0x4a, 0x32, 0x26, 0x2e, 0x4f, 0x8b, + 0x30, 0x12, 0xfe, 0xff, 0xf2, 0xb2, 0x95, 0xc0, 0x8c, 0x01, 0xb7, + 0x86, 0xbe, 0xfd, 0xe3, 0x29, 0x76, 0xfe, 0xbf, 0x9a, 0x02, 0xe5, + 0x92, 0xfd, 0xad, 0xad, 0xa9, 0x53, 0x0b, 0x87, 0x06, 0x76, 0x81, + 0x31, 0x02, 0x48, 0x92, 0x01, 0x55, 0xfe, 0xab, 0x01, 0x55, 0xfc, + 0x80, 0x6e, 0x01, 0x2b, 0xfe, 0x8b, 0x00, 0x00, 0x02, 0x00, 0x31, + 0xff, 0xec, 0x04, 0x39, 0x04, 0x4e, 0x00, 0x22, 0x00, 0x2f, 0x00, + 0x56, 0x40, 0x2d, 0x28, 0x08, 0x13, 0x13, 0x1f, 0x19, 0x1a, 0x2d, + 0x0f, 0x0f, 0x1a, 0x1f, 0x03, 0x30, 0x31, 0x28, 0x12, 0x51, 0x59, + 0x19, 0x28, 0x19, 0x28, 0x1c, 0x05, 0x1c, 0x16, 0x50, 0x59, 0x1c, + 0x16, 0x0c, 0x23, 0x50, 0x59, 0x08, 0x0c, 0x0c, 0x05, 0x05, 0x00, + 0x51, 0x59, 0x05, 0x10, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, + 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x3e, 0x01, + 0x33, 0x32, 0x16, 0x15, 0x10, 0x05, 0x07, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x02, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, + 0x26, 0x05, 0x22, 0x0e, 0x01, 0x1d, 0x01, 0x37, 0x3e, 0x02, 0x35, + 0x34, 0x26, 0x6c, 0x1a, 0x21, 0x44, 0x47, 0x64, 0x5b, 0x06, 0x06, + 0x41, 0xb1, 0x82, 0x9e, 0xa0, 0xfe, 0x3a, 0xec, 0x6a, 0x74, 0x76, + 0x68, 0x0a, 0xbc, 0x2e, 0xfe, 0x87, 0xc8, 0xc9, 0x2a, 0x02, 0x26, + 0x60, 0x94, 0x52, 0xbe, 0x76, 0x7c, 0x45, 0x59, 0x03, 0xcb, 0x07, + 0x70, 0x10, 0x69, 0x70, 0x79, 0x6a, 0xac, 0x96, 0xfe, 0xa3, 0x05, + 0x04, 0x3b, 0x83, 0x73, 0x54, 0x58, 0x11, 0xfe, 0xdc, 0xbb, 0xb1, + 0x01, 0xd2, 0x50, 0x51, 0x06, 0x5c, 0x9a, 0x52, 0x59, 0x04, 0x02, + 0x30, 0x63, 0x52, 0x52, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x8a, 0xff, 0xe6, 0x04, 0x1b, 0x04, 0x4a, 0x00, 0x18, 0x00, 0x24, + 0x00, 0x3a, 0x40, 0x1d, 0x1f, 0x06, 0x0b, 0x00, 0x19, 0x19, 0x12, + 0x06, 0x12, 0x25, 0x26, 0x16, 0x15, 0x0f, 0x0f, 0x08, 0x1c, 0x50, + 0x59, 0x0b, 0x08, 0x10, 0x03, 0x22, 0x50, 0x59, 0x00, 0x03, 0x16, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x0e, 0x01, 0x23, 0x22, 0x02, + 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, 0x33, 0x34, 0x36, 0x37, 0x33, + 0x06, 0x15, 0x11, 0x14, 0x17, 0x23, 0x26, 0x27, 0x03, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x61, + 0x35, 0x9d, 0x7d, 0xcb, 0xbd, 0x01, 0x87, 0x81, 0x9a, 0x31, 0x02, + 0x08, 0x04, 0xaf, 0x06, 0x07, 0xad, 0x07, 0x04, 0x04, 0x88, 0x94, + 0x86, 0x79, 0x78, 0x85, 0x93, 0x8b, 0xb6, 0x6b, 0x65, 0x01, 0x18, + 0x01, 0x16, 0x02, 0x36, 0x59, 0x5f, 0x1f, 0x84, 0x06, 0x33, 0xe7, + 0xfd, 0xbe, 0x4f, 0x90, 0x4a, 0x6c, 0x01, 0x74, 0xd4, 0xc7, 0xcc, + 0xdf, 0xdb, 0xce, 0xda, 0x00, 0x02, 0x00, 0xb3, 0xff, 0xec, 0x04, + 0x42, 0x04, 0x50, 0x00, 0x16, 0x00, 0x22, 0x00, 0x38, 0x40, 0x1d, + 0x12, 0x05, 0x1d, 0x1d, 0x0d, 0x17, 0x00, 0x0d, 0x00, 0x23, 0x24, + 0x15, 0x1a, 0x50, 0x59, 0x12, 0x15, 0x10, 0x0f, 0x0f, 0x0a, 0x15, + 0x03, 0x20, 0x50, 0x59, 0x05, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, + 0x10, 0x02, 0x23, 0x22, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, + 0x35, 0x11, 0x34, 0x27, 0x33, 0x16, 0x15, 0x33, 0x36, 0x33, 0x20, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x42, 0xcb, 0xbd, 0xf4, 0x5a, 0x02, 0x07, 0x02, 0xae, + 0x06, 0x06, 0xac, 0x0a, 0x04, 0x5b, 0xf3, 0x01, 0x87, 0xba, 0x7a, + 0x84, 0x95, 0x88, 0x85, 0x96, 0x87, 0x79, 0x02, 0x22, 0xfe, 0xe4, + 0xfe, 0xe6, 0xb8, 0x30, 0x68, 0x0c, 0x36, 0xa9, 0x02, 0x69, 0x97, + 0x5b, 0x39, 0x79, 0xc8, 0xfd, 0xcc, 0xde, 0xcb, 0xdc, 0xdd, 0xd2, + 0xc9, 0xd1, 0x00, 0x00, 0x02, 0x00, 0xb3, 0xff, 0xec, 0x04, 0x42, + 0x05, 0xcc, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x43, 0x40, 0x23, 0x12, + 0x00, 0x1b, 0x05, 0x26, 0x26, 0x0c, 0x20, 0x00, 0x0c, 0x00, 0x2c, + 0x2d, 0x1e, 0x23, 0x50, 0x59, 0x1b, 0x1e, 0x10, 0x10, 0x15, 0x52, + 0x59, 0x10, 0x01, 0x0a, 0x15, 0x03, 0x29, 0x50, 0x59, 0x05, 0x03, + 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x10, + 0x02, 0x23, 0x22, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, + 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, + 0x1d, 0x01, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, 0x03, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x04, 0x42, + 0xcb, 0xbd, 0xf4, 0x5a, 0x02, 0x07, 0x02, 0xae, 0x06, 0x94, 0x92, + 0x42, 0x4f, 0x3a, 0x45, 0x3f, 0x45, 0x04, 0x04, 0x5b, 0xf3, 0x01, + 0x87, 0xba, 0x7a, 0x84, 0x95, 0x88, 0x85, 0x96, 0x87, 0x79, 0x02, + 0x22, 0xfe, 0xe4, 0xfe, 0xe6, 0xb8, 0x30, 0x68, 0x0c, 0x36, 0xa9, + 0x03, 0xc5, 0x8e, 0x9a, 0x11, 0xa6, 0x15, 0x4c, 0x48, 0x71, 0x41, + 0x5c, 0xc8, 0xfd, 0xcc, 0xde, 0xcb, 0xdc, 0xdd, 0xd2, 0xc9, 0xd1, + 0x00, 0x00, 0x01, 0x00, 0x8b, 0xff, 0xec, 0x04, 0x41, 0x04, 0x4e, + 0x00, 0x17, 0x00, 0x3c, 0x40, 0x1d, 0x11, 0x12, 0x12, 0x07, 0x06, + 0x0b, 0x00, 0x06, 0x00, 0x18, 0x19, 0x07, 0x11, 0x07, 0x11, 0x03, + 0x16, 0x16, 0x0e, 0x50, 0x59, 0x16, 0x10, 0x03, 0x09, 0x50, 0x59, + 0x03, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, + 0x00, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x20, 0x11, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x02, 0x33, 0x20, 0x04, + 0x41, 0xfe, 0xf8, 0xf3, 0xb5, 0xe8, 0x1c, 0xc0, 0x23, 0xdd, 0x01, + 0x37, 0x92, 0x9e, 0x6c, 0x8e, 0x11, 0xbe, 0x0d, 0x7c, 0xca, 0x7b, + 0x01, 0xe8, 0x02, 0x27, 0xfe, 0xf0, 0xfe, 0xd5, 0xae, 0x95, 0x0e, + 0xc4, 0x01, 0xaa, 0xdb, 0xc5, 0x6a, 0x6d, 0x0c, 0x5e, 0x9e, 0x5a, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x82, 0xff, 0xa7, 0x04, 0x45, 0x04, + 0x4e, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x4f, 0x40, 0x2c, 0x16, 0x0a, + 0x11, 0x10, 0x10, 0x24, 0x1d, 0x1d, 0x29, 0x18, 0x02, 0x08, 0x0a, + 0x06, 0x2c, 0x2d, 0x1b, 0x26, 0x50, 0x59, 0x18, 0x29, 0x08, 0x02, + 0x04, 0x1b, 0x11, 0x1b, 0x11, 0x00, 0x0d, 0x0d, 0x13, 0x50, 0x59, + 0x0d, 0x10, 0x00, 0x20, 0x50, 0x59, 0x05, 0x00, 0x16, 0x00, 0x3f, + 0xc6, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x17, 0x39, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, + 0x27, 0x0e, 0x01, 0x07, 0x27, 0x36, 0x37, 0x26, 0x35, 0x10, 0x00, + 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x17, 0x3e, 0x01, 0x33, 0x20, 0x15, 0x14, 0x06, 0x27, 0x32, 0x3e, + 0x01, 0x35, 0x34, 0x23, 0x22, 0x06, 0x07, 0x1e, 0x01, 0x02, 0x8c, + 0xb6, 0x7d, 0x0a, 0x1a, 0x38, 0x7b, 0x48, 0x25, 0x5f, 0x01, 0x02, + 0xf4, 0xb5, 0xea, 0x1f, 0xc0, 0x22, 0xe5, 0x9e, 0x92, 0x1d, 0x59, + 0xe5, 0x7f, 0x01, 0x1e, 0xe7, 0xd0, 0x5e, 0x81, 0x44, 0x90, 0x5a, + 0xb9, 0x56, 0x1f, 0x77, 0x14, 0x4f, 0x0e, 0x25, 0x61, 0x59, 0x74, + 0x32, 0x8a, 0xee, 0x01, 0x0e, 0x01, 0x22, 0xab, 0x98, 0x0e, 0xc4, + 0xc5, 0xdb, 0x95, 0x52, 0x5a, 0x6a, 0xe5, 0x91, 0x9c, 0x86, 0x28, + 0x44, 0x2b, 0x6b, 0x5f, 0x5d, 0x1f, 0x27, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x8a, 0xfe, 0x57, 0x04, 0xd8, 0x05, 0xcc, 0x00, 0x1b, 0x00, + 0x27, 0x00, 0x43, 0x40, 0x22, 0x1c, 0x0c, 0x22, 0x12, 0x04, 0x04, + 0x00, 0x16, 0x0c, 0x16, 0x28, 0x29, 0x14, 0x01, 0x0e, 0x25, 0x50, + 0x59, 0x11, 0x0e, 0x10, 0x09, 0x1f, 0x50, 0x59, 0x05, 0x09, 0x16, + 0x02, 0x19, 0x52, 0x59, 0x02, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x06, 0x23, 0x22, 0x19, 0x01, 0x23, + 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, + 0x33, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x01, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x04, 0xd8, 0x32, 0x4a, 0xf7, 0x07, 0x31, 0xa2, 0x79, 0xca, 0xbe, + 0x01, 0x88, 0x79, 0xa3, 0x31, 0x02, 0x02, 0xb4, 0x38, 0x37, 0x26, + 0x30, 0xfc, 0x6c, 0x77, 0x86, 0x92, 0x8c, 0x86, 0x96, 0x87, 0x78, + 0xfe, 0x63, 0x0c, 0x01, 0x28, 0x01, 0x2f, 0x69, 0x5f, 0x01, 0x16, + 0x01, 0x18, 0x02, 0x36, 0x56, 0x62, 0x97, 0x01, 0xa3, 0xf9, 0xc1, + 0x51, 0x43, 0x0c, 0x03, 0x15, 0xe0, 0xc9, 0xd3, 0xe6, 0xd6, 0xc5, + 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8a, 0xff, 0xe6, 0x05, 0x01, + 0x05, 0xda, 0x00, 0x1e, 0x00, 0x2a, 0x00, 0x44, 0x40, 0x22, 0x1f, + 0x06, 0x0b, 0x00, 0x25, 0x25, 0x12, 0x18, 0x06, 0x18, 0x2b, 0x2c, + 0x1b, 0x15, 0x10, 0x15, 0x52, 0x59, 0x10, 0x08, 0x08, 0x28, 0x50, + 0x59, 0x0b, 0x08, 0x10, 0x03, 0x22, 0x50, 0x59, 0x00, 0x03, 0x16, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, + 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, + 0x33, 0x27, 0x35, 0x10, 0x21, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, + 0x15, 0x11, 0x14, 0x17, 0x23, 0x2e, 0x01, 0x35, 0x01, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x03, 0x5e, + 0x31, 0xa2, 0x79, 0xca, 0xbe, 0x01, 0x88, 0x79, 0xa3, 0x31, 0x02, + 0x02, 0x01, 0x1b, 0x41, 0x46, 0x3a, 0x3b, 0x79, 0x06, 0xac, 0x03, + 0x07, 0xfd, 0xe1, 0x77, 0x86, 0x92, 0x8c, 0x86, 0x96, 0x87, 0x78, + 0xae, 0x69, 0x5f, 0x01, 0x16, 0x01, 0x18, 0x02, 0x36, 0x56, 0x62, + 0x97, 0x89, 0x01, 0x28, 0x0f, 0xa8, 0x15, 0x94, 0xfc, 0x3b, 0xa9, + 0x36, 0x06, 0x7e, 0x2a, 0x01, 0x6c, 0xe0, 0xc9, 0xd3, 0xe6, 0xd6, + 0xc5, 0xce, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x85, 0xff, 0xec, + 0x04, 0x46, 0x04, 0x4e, 0x00, 0x14, 0x00, 0x1b, 0x00, 0x45, 0x40, + 0x23, 0x0e, 0x0d, 0x0d, 0x18, 0x00, 0x19, 0x14, 0x14, 0x07, 0x00, + 0x07, 0x1c, 0x1d, 0x18, 0x00, 0x50, 0x59, 0x0e, 0x18, 0x0e, 0x18, + 0x0a, 0x04, 0x0a, 0x11, 0x50, 0x59, 0x0a, 0x16, 0x04, 0x15, 0x50, + 0x59, 0x04, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x35, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x10, + 0x02, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x35, 0x01, 0x22, 0x06, 0x07, 0x21, 0x2e, 0x01, 0x85, 0xfa, 0xed, + 0xe7, 0xf3, 0xfe, 0xec, 0xa5, 0xe9, 0x2c, 0x9e, 0x1a, 0x9b, 0x67, + 0x8d, 0xa0, 0xfe, 0xe1, 0x87, 0x99, 0x0c, 0x02, 0x49, 0x05, 0x96, + 0x01, 0xf7, 0x18, 0x01, 0x19, 0x01, 0x26, 0xfe, 0xe4, 0xfe, 0xf2, + 0xfe, 0xed, 0xfe, 0xdb, 0x84, 0x7c, 0x2d, 0x4d, 0x59, 0xce, 0xb6, + 0x01, 0xd2, 0xa9, 0x9f, 0x9a, 0xae, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x85, 0xff, 0xec, 0x04, 0x46, 0x04, 0x4e, 0x00, 0x14, 0x00, 0x1a, + 0x00, 0x45, 0x40, 0x23, 0x06, 0x07, 0x07, 0x19, 0x13, 0x00, 0x18, + 0x18, 0x0d, 0x13, 0x0d, 0x1b, 0x1c, 0x14, 0x19, 0x50, 0x59, 0x14, + 0x06, 0x14, 0x06, 0x10, 0x0a, 0x10, 0x15, 0x50, 0x59, 0x10, 0x16, + 0x0a, 0x03, 0x50, 0x59, 0x0a, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, + 0x22, 0x02, 0x11, 0x35, 0x01, 0x32, 0x36, 0x37, 0x21, 0x12, 0x03, + 0x89, 0xa1, 0x8c, 0x67, 0x9b, 0x1a, 0x9e, 0x2c, 0xeb, 0xa3, 0xec, + 0xfe, 0xf9, 0xeb, 0xeb, 0xf2, 0x01, 0xdb, 0x86, 0x9c, 0x05, 0xfd, + 0xb8, 0x1c, 0x02, 0x43, 0xb6, 0xce, 0x59, 0x4d, 0x2d, 0x7c, 0x84, + 0xfe, 0xda, 0xfe, 0xee, 0xfe, 0xf5, 0xfe, 0xe1, 0x01, 0x1e, 0x01, + 0x21, 0x18, 0xfe, 0x2e, 0xaf, 0x99, 0xfe, 0xb8, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x2f, 0xff, 0xec, 0x05, 0x05, 0x04, 0x4e, 0x00, + 0x21, 0x00, 0x29, 0x00, 0x69, 0x40, 0x14, 0x06, 0x07, 0x07, 0x22, + 0x20, 0x00, 0x28, 0x28, 0x1b, 0x0d, 0x0c, 0x0c, 0x14, 0x1b, 0x20, + 0x1b, 0x2a, 0x2b, 0x16, 0x11, 0xb8, 0x01, 0x0a, 0x40, 0x20, 0x59, + 0x22, 0x19, 0x29, 0x00, 0x29, 0x50, 0x59, 0x21, 0x0c, 0x00, 0x16, + 0x00, 0x06, 0x06, 0x00, 0x16, 0x03, 0x1e, 0x0a, 0x1e, 0x25, 0x50, + 0x59, 0x1e, 0x16, 0x0a, 0x03, 0x50, 0x59, 0x0a, 0x10, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, 0x18, + 0x2f, 0x2f, 0x2f, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, + 0x20, 0x13, 0x37, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x17, 0x06, + 0x23, 0x22, 0x26, 0x27, 0x16, 0x15, 0x10, 0x02, 0x23, 0x20, 0x11, + 0x35, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x27, 0x02, 0xd4, + 0x1a, 0x7e, 0x5f, 0x5c, 0x81, 0x16, 0x9e, 0x2b, 0xce, 0x99, 0x01, + 0x5a, 0x50, 0x72, 0x16, 0x0b, 0x28, 0x26, 0x29, 0x3d, 0x36, 0x56, + 0x4b, 0x4d, 0x6c, 0x0f, 0x04, 0xe4, 0xd8, 0xfe, 0x4b, 0xb7, 0x0d, + 0x7b, 0x79, 0x79, 0x88, 0x03, 0x02, 0xd3, 0x81, 0x73, 0x57, 0x4f, + 0x2d, 0x80, 0x80, 0xfe, 0xa4, 0x1a, 0x81, 0x44, 0x43, 0x28, 0x8c, + 0x3b, 0x94, 0x7a, 0x28, 0x35, 0xfe, 0xf6, 0xfe, 0xe0, 0x02, 0x3f, + 0x18, 0x6f, 0xb8, 0xab, 0xc9, 0xba, 0x4f, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x04, 0x4e, 0x12, 0x06, 0x03, + 0x66, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8a, 0xff, 0xec, 0x04, 0x25, + 0x04, 0x4e, 0x12, 0x06, 0x03, 0xe7, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x35, 0xff, 0xed, 0x05, 0x07, 0x04, 0x4e, 0x00, 0x33, 0x00, 0x72, + 0x40, 0x17, 0x1a, 0x1b, 0x1b, 0x07, 0x06, 0x22, 0x21, 0x21, 0x15, + 0x2f, 0x2a, 0x0c, 0x00, 0x00, 0x2f, 0x31, 0x11, 0x06, 0x05, 0x34, + 0x35, 0x2c, 0x26, 0xb8, 0x01, 0x0a, 0x40, 0x24, 0x59, 0x31, 0x11, + 0x10, 0x11, 0x10, 0x50, 0x59, 0x2f, 0x21, 0x21, 0x1a, 0x1e, 0x07, + 0x2c, 0x11, 0x1a, 0x1a, 0x11, 0x2c, 0x07, 0x04, 0x03, 0x1e, 0x1e, + 0x18, 0x50, 0x59, 0x1e, 0x10, 0x03, 0x09, 0x50, 0x59, 0x03, 0x16, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, + 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, + 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x17, 0x37, 0x17, 0x1e, 0x01, 0x33, 0x32, + 0x36, 0x37, 0x17, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x07, 0x1e, + 0x01, 0x03, 0x63, 0xd4, 0xc0, 0xb7, 0xd3, 0x10, 0xb1, 0x14, 0xd5, + 0x6c, 0x74, 0x70, 0x74, 0x60, 0x5a, 0x5d, 0x70, 0x69, 0x5e, 0xad, + 0x1f, 0xb3, 0x15, 0xca, 0xa2, 0x8a, 0xba, 0x22, 0x89, 0x1c, 0x0f, + 0x2f, 0x32, 0x25, 0x3d, 0x22, 0x3b, 0x7e, 0x55, 0x5b, 0x80, 0x1a, + 0x21, 0xb4, 0x79, 0x80, 0x01, 0x21, 0x8f, 0xa5, 0xa8, 0xad, 0x0e, + 0xdf, 0x5e, 0x5d, 0x57, 0x60, 0x8d, 0x5c, 0x4e, 0x52, 0x5d, 0xcc, + 0x10, 0x98, 0xa9, 0x65, 0x5c, 0x18, 0x81, 0x44, 0x43, 0x17, 0x11, + 0x93, 0x34, 0x79, 0x70, 0x82, 0x37, 0x14, 0x8a, 0x00, 0x02, 0x00, + 0x86, 0xff, 0xed, 0x04, 0x4d, 0x04, 0x4e, 0x00, 0x15, 0x00, 0x27, + 0x00, 0x46, 0x40, 0x25, 0x00, 0x16, 0x10, 0x1c, 0x07, 0x21, 0x21, + 0x1c, 0x1e, 0x0b, 0x16, 0x05, 0x28, 0x29, 0x1e, 0x0c, 0x0b, 0x0c, + 0x0b, 0x50, 0x59, 0x0c, 0x0c, 0x25, 0x19, 0x25, 0x04, 0x50, 0x59, + 0x25, 0x16, 0x19, 0x13, 0x50, 0x59, 0x19, 0x10, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x10, 0x00, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x01, 0x23, + 0x20, 0x00, 0x01, 0x43, 0x42, 0x8e, 0x82, 0x78, 0x8c, 0x6e, 0x76, + 0x60, 0x5a, 0x5d, 0x70, 0x80, 0x6b, 0xae, 0xa0, 0xbd, 0x01, 0x02, + 0xf3, 0xca, 0xeb, 0xdb, 0x78, 0x80, 0x6e, 0xcb, 0x81, 0xfe, 0xf3, + 0xff, 0x00, 0x02, 0x26, 0x94, 0xc1, 0x60, 0x73, 0x59, 0x52, 0x54, + 0x8d, 0x5c, 0x4e, 0x50, 0x5f, 0xd1, 0xdb, 0x01, 0x0a, 0x01, 0x27, + 0xa0, 0x8a, 0xb0, 0x3f, 0x14, 0x79, 0x72, 0x5e, 0x98, 0x53, 0x01, + 0x17, 0x00, 0x00, 0x01, 0x00, 0x78, 0xfe, 0x6e, 0x04, 0x39, 0x04, + 0x3a, 0x00, 0x18, 0x00, 0x34, 0x40, 0x11, 0x03, 0x07, 0x07, 0x00, + 0x16, 0x0d, 0x16, 0x19, 0x1a, 0x03, 0x18, 0x17, 0x18, 0x50, 0x59, + 0x0a, 0x11, 0xb8, 0x01, 0x0a, 0xb6, 0x59, 0x0a, 0x06, 0x17, 0x15, + 0x01, 0x0f, 0x00, 0x3f, 0x3f, 0x33, 0xc4, 0x2b, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x25, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x01, 0x33, 0x32, 0x3e, + 0x01, 0x3d, 0x01, 0x21, 0x35, 0x02, 0x7f, 0xb4, 0x01, 0x06, 0xfe, + 0xfa, 0xc1, 0xe1, 0x48, 0xa7, 0x2a, 0x1e, 0xb7, 0x2f, 0x68, 0x6a, + 0x31, 0xfe, 0x15, 0x8e, 0x03, 0xac, 0xfc, 0x54, 0x8e, 0x19, 0xcd, + 0xac, 0x0d, 0x08, 0x91, 0x05, 0x0c, 0x2e, 0x68, 0x5d, 0x0a, 0x8e, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x8f, 0xfe, 0x58, 0x05, 0x04, 0x05, + 0xda, 0x00, 0x26, 0x00, 0x34, 0x00, 0x5a, 0x40, 0x2e, 0x04, 0x03, + 0x03, 0x2d, 0x10, 0x27, 0x17, 0x09, 0x09, 0x1e, 0x25, 0x10, 0x25, + 0x35, 0x36, 0x1b, 0x21, 0x52, 0x59, 0x1b, 0x13, 0x0a, 0x0d, 0x31, + 0x0d, 0x50, 0x59, 0x04, 0x31, 0x04, 0x31, 0x00, 0x13, 0x13, 0x2a, + 0x50, 0x59, 0x16, 0x13, 0x10, 0x00, 0x07, 0x50, 0x59, 0x00, 0x1b, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x10, + 0xc4, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, + 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x11, 0x35, 0x23, 0x06, + 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x33, + 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x11, 0x10, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x14, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x02, 0x67, 0xa8, 0xcc, + 0x1c, 0xb8, 0x11, 0x71, 0x5c, 0xf8, 0x02, 0x66, 0xf1, 0xc6, 0xb7, + 0xc4, 0xcc, 0x71, 0xa7, 0x2d, 0x02, 0x92, 0x8f, 0x20, 0x26, 0x37, + 0x32, 0x39, 0x40, 0x41, 0xb3, 0x96, 0x83, 0x89, 0x7a, 0x33, 0x6c, + 0x61, 0x55, 0x81, 0x46, 0xfe, 0x58, 0x8a, 0x81, 0x19, 0x4b, 0x51, + 0x01, 0x3b, 0xc2, 0xd1, 0x01, 0x03, 0x01, 0x16, 0x01, 0x1b, 0x01, + 0x0b, 0x69, 0x61, 0x01, 0x31, 0x91, 0x97, 0x03, 0x0b, 0xa6, 0x12, + 0x4e, 0x46, 0xfb, 0x7c, 0xfe, 0x38, 0x03, 0xcf, 0xc1, 0xdd, 0xbf, + 0xdf, 0x97, 0xaf, 0x50, 0x5f, 0xb7, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x8f, 0xfe, 0x58, 0x04, 0x1e, 0x04, 0x4b, 0x12, 0x06, 0x00, 0x4a, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x82, 0xff, 0xec, 0x04, 0x28, 0x04, + 0x4e, 0x00, 0x1c, 0x00, 0x45, 0x40, 0x23, 0x15, 0x1c, 0x07, 0x02, + 0x0f, 0x0e, 0x0e, 0x1a, 0x02, 0x07, 0x02, 0x1d, 0x1e, 0x00, 0x1c, + 0x50, 0x59, 0x00, 0x0f, 0x00, 0x0f, 0x05, 0x0b, 0x0b, 0x12, 0x50, + 0x59, 0x0b, 0x10, 0x05, 0x18, 0x50, 0x59, 0x05, 0x16, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, + 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x32, 0x31, 0x30, 0x01, 0x21, 0x11, + 0x0e, 0x01, 0x23, 0x20, 0x11, 0x34, 0x12, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x37, 0x35, 0x23, 0x02, 0x79, 0x01, 0xaf, 0x4f, 0xdf, 0x7b, + 0xfe, 0x03, 0x75, 0xe6, 0x93, 0xa9, 0xde, 0x1d, 0xb9, 0x0f, 0x75, + 0x6c, 0x96, 0x99, 0x9a, 0xa5, 0x8d, 0x6a, 0xf9, 0x02, 0x1d, 0xfe, + 0x5e, 0x45, 0x4a, 0x02, 0x1e, 0xb1, 0x01, 0x02, 0x91, 0xac, 0x97, + 0x0e, 0x5a, 0x6a, 0xdf, 0xd4, 0xd4, 0xc4, 0x43, 0xdb, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x31, 0xfe, 0x57, 0x04, 0x9b, 0x04, 0x3a, + 0x00, 0x11, 0x00, 0x1b, 0x00, 0x45, 0x40, 0x24, 0x02, 0x01, 0x16, + 0x0e, 0x06, 0x00, 0x03, 0x12, 0x08, 0x04, 0x05, 0x05, 0x08, 0x03, + 0x14, 0x0e, 0x01, 0x06, 0x1c, 0x1d, 0x06, 0x00, 0x03, 0x14, 0x03, + 0x0b, 0x01, 0x0b, 0x19, 0x50, 0x59, 0x0b, 0x1c, 0x04, 0x01, 0x0f, + 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x01, + 0x33, 0x09, 0x01, 0x33, 0x01, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x3e, 0x01, 0x17, 0x34, 0x27, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x01, 0xf6, 0xfe, 0x3b, 0xcd, 0x01, 0x64, + 0x01, 0x6e, 0xcb, 0xfe, 0x30, 0x7f, 0x7d, 0x6b, 0x6a, 0x7d, 0x17, + 0x25, 0xf7, 0x4c, 0x4b, 0x27, 0x24, 0x25, 0x27, 0x96, 0x03, 0xa4, + 0xfd, 0x06, 0x02, 0xfa, 0xfc, 0x5d, 0xde, 0x75, 0x6d, 0x80, 0x80, + 0x6d, 0x28, 0x5a, 0x5c, 0xd8, 0x53, 0x88, 0x8a, 0x51, 0x2e, 0x34, + 0x33, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0xff, 0xe8, 0x04, + 0xc6, 0x04, 0x41, 0x00, 0x0c, 0x00, 0x38, 0x00, 0x4e, 0x40, 0x14, + 0x24, 0x18, 0x34, 0x34, 0x04, 0x21, 0x00, 0x1b, 0x10, 0x1b, 0x2c, + 0x03, 0x39, 0x3a, 0x09, 0x21, 0x14, 0x28, 0x2f, 0x28, 0xb8, 0x01, + 0x0a, 0x40, 0x10, 0x59, 0x11, 0x04, 0x34, 0x2b, 0x2b, 0x1e, 0x0d, + 0x2f, 0x0f, 0x1e, 0x0b, 0x50, 0x59, 0x1e, 0x16, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x39, 0x39, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x01, 0x18, 0x2f, 0x33, 0x11, 0x12, 0x17, 0x39, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x25, + 0x34, 0x2e, 0x01, 0x27, 0x0e, 0x03, 0x15, 0x14, 0x33, 0x32, 0x01, + 0x32, 0x16, 0x17, 0x07, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x03, + 0x17, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3f, + 0x01, 0x03, 0x2e, 0x01, 0x23, 0x22, 0x0f, 0x01, 0x27, 0x3e, 0x01, + 0x33, 0x32, 0x16, 0x1f, 0x02, 0x3f, 0x01, 0x3e, 0x01, 0x02, 0xb0, + 0x0a, 0x15, 0x29, 0x0c, 0x1a, 0x14, 0x0d, 0x47, 0x48, 0x01, 0x02, + 0x4c, 0x90, 0x38, 0x72, 0x21, 0x3f, 0x3f, 0x23, 0x2d, 0x17, 0x83, + 0x33, 0x52, 0x7d, 0x6b, 0x6a, 0x7d, 0x50, 0x31, 0x83, 0x17, 0x2d, + 0x23, 0x3f, 0x3e, 0x22, 0x72, 0x38, 0x90, 0x4c, 0x61, 0x75, 0x29, + 0x37, 0x16, 0x15, 0x37, 0x28, 0x75, 0xd6, 0x15, 0x2a, 0x33, 0x4c, + 0x17, 0x30, 0x30, 0x2f, 0x18, 0x5d, 0x03, 0xc8, 0x60, 0x5c, 0x6f, + 0x32, 0x5b, 0x35, 0x35, 0xfe, 0xd1, 0x5e, 0x91, 0x51, 0x6a, 0x78, + 0x78, 0x6a, 0x56, 0x8c, 0x5d, 0x01, 0x30, 0x35, 0x35, 0x5b, 0x32, + 0x6f, 0x5c, 0x60, 0x57, 0x6e, 0x97, 0x46, 0x46, 0x97, 0x6d, 0x58, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 0xfe, 0x57, 0x04, 0x14, + 0x04, 0x3a, 0x00, 0x16, 0x00, 0x30, 0x40, 0x17, 0x09, 0x06, 0x16, + 0x0f, 0x13, 0x13, 0x12, 0x06, 0x12, 0x17, 0x18, 0x13, 0x1c, 0x10, + 0x07, 0x0f, 0x03, 0x0c, 0x50, 0x59, 0x00, 0x03, 0x16, 0x00, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x11, 0x3f, 0x01, + 0x03, 0x65, 0x3e, 0xa3, 0x79, 0xb2, 0xa5, 0xb4, 0x62, 0x7e, 0x81, + 0x96, 0xb5, 0xb4, 0x04, 0x04, 0xb9, 0x70, 0x5d, 0xb1, 0xcc, 0x02, + 0xd1, 0xfd, 0x52, 0x9c, 0x79, 0xb0, 0xa0, 0x02, 0x73, 0xfa, 0x1d, + 0x01, 0x99, 0x7f, 0x4a, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb9, 0x00, + 0x00, 0x04, 0x19, 0x05, 0xda, 0x00, 0x1c, 0x00, 0x3a, 0x40, 0x1c, + 0x04, 0x12, 0x0c, 0x1b, 0x1b, 0x1c, 0x13, 0x12, 0x1c, 0x12, 0x1d, + 0x1e, 0x13, 0x1c, 0x15, 0x02, 0x07, 0x52, 0x59, 0x02, 0x0f, 0x0f, + 0x17, 0x50, 0x59, 0x0c, 0x0f, 0x10, 0x00, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, + 0x30, 0x13, 0x10, 0x21, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x1d, + 0x01, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, 0x19, 0x01, 0x23, 0x11, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0xb9, 0x01, 0x1c, + 0x45, 0x49, 0x35, 0x42, 0x7e, 0x09, 0x03, 0x69, 0xea, 0x01, 0x5e, + 0xb5, 0x69, 0x73, 0x7c, 0x9f, 0xb4, 0x04, 0xb2, 0x01, 0x28, 0x10, + 0xa5, 0x13, 0x8e, 0x64, 0x3b, 0x8a, 0xcd, 0xfe, 0x83, 0xfd, 0x2f, + 0x02, 0xb7, 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0x8d, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xb9, 0xfe, 0x57, 0x04, 0x19, 0x05, 0xda, 0x00, + 0x25, 0x00, 0x44, 0x40, 0x23, 0x04, 0x12, 0x0c, 0x24, 0x24, 0x25, + 0x1c, 0x12, 0x12, 0x17, 0x25, 0x03, 0x26, 0x27, 0x25, 0x15, 0x15, + 0x19, 0x50, 0x59, 0x15, 0x1c, 0x02, 0x07, 0x52, 0x59, 0x02, 0x0f, + 0x0f, 0x20, 0x50, 0x59, 0x0c, 0x0f, 0x10, 0x00, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x31, 0x30, 0x13, 0x10, 0x21, 0x32, 0x17, 0x15, + 0x26, 0x23, 0x22, 0x1d, 0x01, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, + 0x19, 0x01, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, + 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0xb9, + 0x01, 0x1c, 0x45, 0x49, 0x35, 0x42, 0x7e, 0x09, 0x03, 0x69, 0xea, + 0x01, 0x5e, 0x78, 0x79, 0x4d, 0x32, 0x3e, 0x45, 0x38, 0x69, 0x73, + 0x7c, 0x9f, 0xb4, 0x04, 0xb2, 0x01, 0x28, 0x10, 0xa5, 0x13, 0x8e, + 0x64, 0x3b, 0x8a, 0xcd, 0xfe, 0x83, 0xfc, 0xa9, 0x97, 0x8c, 0x09, + 0x8b, 0x06, 0x48, 0x68, 0x03, 0x22, 0x88, 0x84, 0xb5, 0x9b, 0xfd, + 0x8d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8f, 0x00, 0x00, 0x04, + 0x65, 0x05, 0xcc, 0x00, 0x11, 0x00, 0x15, 0x00, 0x53, 0x40, 0x2b, + 0x15, 0x05, 0x00, 0x04, 0x04, 0x12, 0x0d, 0x08, 0x09, 0x09, 0x16, + 0x17, 0x13, 0x12, 0x53, 0x5b, 0x13, 0x01, 0x03, 0x0b, 0x0c, 0x0b, + 0x50, 0x59, 0x00, 0x0c, 0x0c, 0x07, 0x10, 0x10, 0x0f, 0x50, 0x59, + 0x10, 0x0f, 0x04, 0x08, 0x07, 0x08, 0x50, 0x59, 0x07, 0x15, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, 0x23, 0x11, 0x21, 0x15, + 0x21, 0x35, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x35, 0x21, + 0x27, 0x35, 0x33, 0x15, 0x02, 0xe9, 0xd6, 0xd6, 0x01, 0x7c, 0xfc, + 0x2a, 0x01, 0xa6, 0xe9, 0xe9, 0xfe, 0xc1, 0x01, 0xf3, 0xc8, 0xc8, + 0x02, 0x69, 0x85, 0xfe, 0xaa, 0x8e, 0x8e, 0x01, 0x56, 0x85, 0x01, + 0x43, 0x8e, 0xd2, 0xc0, 0xc0, 0x00, 0x00, 0x01, 0x00, 0xf6, 0xff, + 0xef, 0x03, 0x73, 0x04, 0x3a, 0x00, 0x0e, 0x00, 0x25, 0x40, 0x0d, + 0x00, 0x0a, 0x0a, 0x0f, 0x10, 0x0d, 0x0c, 0x50, 0x59, 0x0d, 0x0f, + 0x08, 0x03, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x08, 0x16, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, + 0x20, 0x19, 0x01, 0x21, 0x35, 0x21, 0x02, 0xb6, 0x39, 0x37, 0x21, + 0x2c, 0x32, 0x2d, 0xfe, 0xee, 0xfe, 0xf4, 0x01, 0xc0, 0x01, 0x25, + 0x51, 0x46, 0x0b, 0xa0, 0x0a, 0x01, 0x28, 0x02, 0x95, 0x8e, 0x00, + 0x01, 0x00, 0xcd, 0x00, 0x00, 0x04, 0x00, 0x04, 0x3a, 0x00, 0x0b, + 0x00, 0x31, 0x40, 0x18, 0x05, 0x04, 0x04, 0x08, 0x09, 0x09, 0x0c, + 0x0d, 0x04, 0x08, 0x07, 0x08, 0x50, 0x59, 0x07, 0x15, 0x03, 0x0b, + 0x00, 0x0b, 0x50, 0x59, 0x00, 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, 0x15, 0x21, + 0x11, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x21, 0xcd, 0x03, 0x33, + 0xfe, 0xc0, 0x01, 0x40, 0xfc, 0xcd, 0x01, 0x3f, 0xfe, 0xc1, 0x04, + 0x3a, 0x8e, 0xfc, 0xe2, 0x8e, 0x8e, 0x03, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x86, 0x00, 0x00, 0x04, 0x5c, 0x05, 0xcc, 0x00, + 0x20, 0x00, 0x51, 0x40, 0x2a, 0x0d, 0x00, 0x0c, 0x0c, 0x1c, 0x10, + 0x11, 0x11, 0x21, 0x22, 0x18, 0x09, 0x09, 0x02, 0x50, 0x59, 0x1b, + 0x14, 0x50, 0x59, 0x06, 0x1b, 0x09, 0x1b, 0x09, 0x1b, 0x0f, 0x1f, + 0x1f, 0x1e, 0x50, 0x59, 0x1f, 0x01, 0x0c, 0x10, 0x0f, 0x10, 0x50, + 0x59, 0x0f, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x33, + 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x16, 0x33, 0x32, + 0x36, 0x37, 0x33, 0x14, 0x06, 0x23, 0x22, 0x27, 0x11, 0x21, 0x15, + 0x21, 0x35, 0x21, 0x11, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x3e, + 0x01, 0x33, 0x17, 0x11, 0x21, 0x35, 0x21, 0x02, 0xe0, 0x10, 0x20, + 0x1f, 0x1a, 0x06, 0x82, 0x5a, 0x60, 0x23, 0x14, 0x01, 0x7c, 0xfc, + 0x2a, 0x01, 0xa6, 0x1a, 0x1a, 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, + 0x37, 0xfe, 0xdf, 0x01, 0xd5, 0x03, 0x0e, 0x06, 0x2f, 0x30, 0x72, + 0x72, 0x05, 0xfe, 0x06, 0x8e, 0x8e, 0x02, 0x3d, 0x08, 0x30, 0x2f, + 0x68, 0x7c, 0x05, 0x01, 0xeb, 0x8e, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x86, 0x00, 0x00, 0x04, 0x5c, 0x05, 0xcc, 0x00, 0x16, 0x00, 0x1e, + 0x00, 0x62, 0x40, 0x32, 0x1c, 0x0e, 0x0e, 0x07, 0x07, 0x09, 0x06, + 0x00, 0x04, 0x04, 0x17, 0x12, 0x09, 0x09, 0x1f, 0x20, 0x03, 0x0a, + 0x17, 0x0a, 0x51, 0x59, 0x00, 0x17, 0x18, 0x19, 0x12, 0x19, 0x51, + 0x59, 0x17, 0x12, 0x17, 0x12, 0x07, 0x15, 0x15, 0x14, 0x50, 0x59, + 0x15, 0x01, 0x04, 0x08, 0x07, 0x08, 0x50, 0x59, 0x07, 0x15, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x33, 0x15, 0x23, 0x11, 0x21, 0x15, 0x21, 0x35, 0x21, + 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x21, + 0x35, 0x21, 0x03, 0x35, 0x23, 0x22, 0x06, 0x15, 0x14, 0x33, 0x02, + 0xe0, 0xa9, 0xa9, 0x01, 0x7c, 0xfc, 0x2a, 0x01, 0xa6, 0x05, 0x64, + 0x85, 0x81, 0x66, 0x07, 0xfe, 0xdf, 0x01, 0xd5, 0xb4, 0x07, 0x33, + 0x3b, 0x6e, 0x02, 0xda, 0x81, 0xfe, 0x35, 0x8e, 0x8e, 0x01, 0xcb, + 0x83, 0x6b, 0x63, 0x7b, 0x01, 0x19, 0x8e, 0xfd, 0x0e, 0xd8, 0x3c, + 0x33, 0x69, 0x00, 0x01, 0x00, 0xe1, 0xfe, 0x57, 0x03, 0x8d, 0x05, + 0xcc, 0x00, 0x0e, 0x00, 0x22, 0x40, 0x11, 0x00, 0x0a, 0x0a, 0x0f, + 0x10, 0x0d, 0x0c, 0x50, 0x59, 0x0d, 0x01, 0x08, 0x03, 0x52, 0x59, + 0x08, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x05, 0x1e, 0x01, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x20, 0x19, 0x01, 0x21, 0x35, 0x21, 0x02, + 0xb6, 0x01, 0x39, 0x37, 0x37, 0x2f, 0x45, 0x2d, 0xfe, 0xe7, 0xfe, + 0xdf, 0x01, 0xd5, 0x73, 0x51, 0x43, 0x0f, 0xa2, 0x0f, 0x01, 0x28, + 0x05, 0xbf, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb9, 0xfe, + 0x57, 0x04, 0x85, 0x05, 0xcc, 0x00, 0x1f, 0x00, 0x64, 0x40, 0x33, + 0x03, 0x1f, 0x1f, 0x00, 0x06, 0x1b, 0x1d, 0x05, 0x1b, 0x05, 0x09, + 0x11, 0x10, 0x10, 0x00, 0x17, 0x09, 0x00, 0x09, 0x20, 0x21, 0x11, + 0x11, 0x0d, 0x00, 0x0d, 0x13, 0x50, 0x59, 0x0d, 0x1c, 0x05, 0x1e, + 0x03, 0x1e, 0x50, 0x59, 0x1c, 0x06, 0x1a, 0x06, 0x51, 0x59, 0x1a, + 0x1a, 0x03, 0x0f, 0x01, 0x01, 0x00, 0x15, 0x00, 0x3f, 0x3f, 0x3f, + 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, + 0x11, 0x33, 0x11, 0x21, 0x15, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x3e, 0x01, + 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x01, 0x21, 0x11, 0xb9, 0xb4, + 0x02, 0xf4, 0xfe, 0x8f, 0xbd, 0xd8, 0x7f, 0xe7, 0x92, 0xbc, 0xe9, + 0x27, 0xb1, 0x37, 0xe3, 0x61, 0x94, 0x4f, 0xbd, 0x9d, 0x52, 0x01, + 0x7f, 0xfd, 0xca, 0x05, 0xcc, 0xfe, 0x6e, 0xb2, 0xfe, 0x94, 0x18, + 0xfe, 0xc1, 0x89, 0xe4, 0x81, 0x98, 0x96, 0x15, 0xb6, 0x5f, 0xa7, + 0x61, 0x98, 0xb8, 0x90, 0x01, 0x82, 0xfc, 0x53, 0x00, 0x01, 0x00, + 0x68, 0xff, 0xec, 0x04, 0x69, 0x04, 0x3a, 0x00, 0x27, 0x00, 0x44, + 0x40, 0x22, 0x20, 0x1d, 0x16, 0x01, 0x01, 0x26, 0x0f, 0x07, 0x07, + 0x0a, 0x0a, 0x26, 0x1d, 0x03, 0x28, 0x29, 0x27, 0x08, 0x1e, 0x0f, + 0x04, 0x23, 0x1a, 0x23, 0x50, 0x59, 0x0f, 0x13, 0x13, 0x16, 0x1a, + 0x16, 0x0d, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x33, 0x11, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, + 0x33, 0x11, 0x14, 0x17, 0x23, 0x2f, 0x01, 0x23, 0x0e, 0x01, 0x23, + 0x22, 0x26, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, + 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0xb9, + 0x31, 0x41, 0x40, 0x4f, 0xa9, 0x06, 0x95, 0x05, 0x01, 0x02, 0x22, + 0x68, 0x4e, 0x58, 0x57, 0x13, 0x02, 0x28, 0x6f, 0x55, 0x76, 0x66, + 0xa8, 0x31, 0x41, 0x42, 0x4d, 0x04, 0x3a, 0xfd, 0x52, 0x9a, 0x7b, + 0xc0, 0xa4, 0x02, 0x5f, 0xfc, 0xad, 0xbd, 0x2a, 0x7f, 0x30, 0x66, + 0x5d, 0x60, 0x64, 0x6a, 0x5a, 0xac, 0xd1, 0x02, 0xd1, 0xfd, 0x52, + 0x9a, 0x7b, 0xa8, 0xa8, 0x02, 0x73, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x68, 0xfe, 0x57, 0x04, 0x63, 0x04, 0x3a, 0x00, 0x26, 0x00, + 0x44, 0x40, 0x22, 0x1f, 0x1c, 0x15, 0x01, 0x01, 0x25, 0x07, 0x0b, + 0x0b, 0x0a, 0x0a, 0x25, 0x1c, 0x03, 0x27, 0x28, 0x26, 0x08, 0x1d, + 0x0f, 0x04, 0x22, 0x19, 0x22, 0x50, 0x59, 0x0e, 0x12, 0x12, 0x15, + 0x19, 0x16, 0x0b, 0x1c, 0x00, 0x3f, 0x3f, 0x33, 0x33, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x11, 0x33, 0x11, 0x23, 0x11, 0x34, 0x37, 0x23, 0x0e, 0x01, 0x23, + 0x22, 0x26, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, + 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0xb9, + 0x31, 0x41, 0x40, 0x4f, 0xa9, 0xa7, 0x07, 0x02, 0x23, 0x65, 0x45, + 0x58, 0x57, 0x13, 0x02, 0x28, 0x6f, 0x55, 0x76, 0x66, 0xa8, 0x31, + 0x41, 0x42, 0x4d, 0x04, 0x3a, 0xfd, 0x52, 0x9a, 0x7b, 0xc0, 0xa4, + 0x02, 0x5f, 0xfa, 0x1d, 0x01, 0x23, 0x9d, 0x7c, 0x59, 0x4e, 0x60, + 0x64, 0x6a, 0x5a, 0xac, 0xd1, 0x02, 0xd1, 0xfd, 0x52, 0x9a, 0x7b, + 0xa8, 0xa8, 0x02, 0x73, 0x00, 0x00, 0x00, 0x01, 0x00, 0x63, 0xfe, + 0x57, 0x04, 0x64, 0x04, 0x4e, 0x00, 0x30, 0x00, 0x50, 0x40, 0x2a, + 0x0f, 0x08, 0x08, 0x0c, 0x09, 0x16, 0x30, 0x30, 0x00, 0x28, 0x23, + 0x1e, 0x1e, 0x00, 0x09, 0x03, 0x31, 0x32, 0x21, 0x25, 0x50, 0x59, + 0x21, 0x1c, 0x16, 0x1a, 0x1a, 0x13, 0x2c, 0x04, 0x13, 0x04, 0x50, + 0x59, 0x0f, 0x13, 0x10, 0x0c, 0x0f, 0x00, 0x09, 0x15, 0x00, 0x3f, + 0x33, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, + 0x11, 0x34, 0x27, 0x33, 0x17, 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, + 0x06, 0x23, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x35, 0x11, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x02, 0x13, 0x31, 0x41, 0x40, + 0x4f, 0xa9, 0x06, 0x95, 0x06, 0x02, 0x22, 0x69, 0x4d, 0x58, 0x57, + 0x13, 0x02, 0x28, 0x6f, 0x55, 0x76, 0x66, 0x78, 0x79, 0x40, 0x32, + 0x3e, 0x45, 0x38, 0x31, 0x41, 0x42, 0x4d, 0x02, 0xae, 0x9a, 0x7b, + 0xc0, 0xa4, 0xfd, 0xa1, 0x03, 0x53, 0xbd, 0x2a, 0x7f, 0x30, 0x66, + 0x5d, 0x60, 0x64, 0x6a, 0x5a, 0xac, 0xd1, 0xfc, 0xa9, 0x97, 0x8c, + 0x09, 0x8b, 0x06, 0x48, 0x68, 0x03, 0x19, 0x9a, 0x7b, 0xa8, 0xa8, + 0xfd, 0x8d, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0x57, 0x04, 0x19, 0x04, + 0x4e, 0x00, 0x21, 0x00, 0x39, 0x40, 0x1d, 0x1a, 0x08, 0x08, 0x0d, + 0x12, 0x00, 0x21, 0x12, 0x21, 0x22, 0x23, 0x1a, 0x1d, 0x1d, 0x04, + 0x50, 0x59, 0x1d, 0x10, 0x15, 0x0f, 0x0b, 0x0f, 0x50, 0x59, 0x0b, + 0x1c, 0x00, 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, + 0x17, 0x32, 0x36, 0x35, 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x17, + 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x03, 0x64, 0x69, 0x73, + 0x7c, 0x9f, 0x78, 0x78, 0x4d, 0x32, 0x3e, 0x45, 0x38, 0x06, 0xaa, + 0x01, 0x02, 0x03, 0x02, 0x03, 0x69, 0xf1, 0xad, 0xaa, 0x02, 0xb7, + 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0x07, 0x99, 0x8a, 0x09, 0x8b, 0x06, + 0x48, 0x68, 0x03, 0xbe, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0xcd, + 0xbb, 0xc2, 0xfd, 0x2f, 0x00, 0x01, 0x00, 0xb3, 0xfe, 0x57, 0x04, + 0xf8, 0x04, 0x4e, 0x00, 0x20, 0x00, 0x37, 0x40, 0x1c, 0x05, 0x00, + 0x1a, 0x11, 0x11, 0x12, 0x00, 0x12, 0x22, 0x21, 0x1a, 0x1d, 0x1d, + 0x0d, 0x50, 0x59, 0x1d, 0x10, 0x15, 0x0f, 0x12, 0x15, 0x07, 0x02, + 0x52, 0x59, 0x07, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x14, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x20, 0x19, 0x01, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x17, + 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x04, 0x19, 0x75, 0x3e, 0x2c, + 0x40, 0x3b, 0xfe, 0xe7, 0x69, 0x73, 0x7c, 0x9f, 0xb4, 0x06, 0xaa, + 0x01, 0x02, 0x03, 0x02, 0x03, 0x69, 0xf1, 0xad, 0xaa, 0x73, 0x94, + 0x10, 0xa4, 0x0e, 0x01, 0x28, 0x03, 0x38, 0x88, 0x84, 0xb5, 0x9b, + 0xfd, 0x8d, 0x03, 0x53, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0xcd, + 0xbb, 0xc2, 0x00, 0x01, 0x00, 0xb9, 0x00, 0x00, 0x04, 0x14, 0x04, + 0x3a, 0x00, 0x10, 0x00, 0x30, 0x40, 0x16, 0x0b, 0x00, 0x0e, 0x0e, + 0x0f, 0x08, 0x05, 0x05, 0x06, 0x0f, 0x06, 0x11, 0x12, 0x03, 0x0b, + 0x0f, 0x05, 0x10, 0x0f, 0x08, 0x0f, 0x15, 0x00, 0x3f, 0x33, 0x3f, + 0x33, 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x09, 0x01, + 0x16, 0x17, 0x27, 0x11, 0x33, 0x11, 0x23, 0x01, 0x26, 0x27, 0x16, + 0x15, 0x11, 0x23, 0x11, 0x01, 0x67, 0x01, 0xcd, 0x15, 0x25, 0x04, + 0xaa, 0xa7, 0xfe, 0x37, 0x28, 0x21, 0x07, 0xa9, 0x04, 0x3a, 0xfd, + 0x53, 0x1e, 0x4a, 0x7d, 0x02, 0x98, 0xfb, 0xc6, 0x02, 0xbb, 0x3a, + 0x47, 0x62, 0x41, 0xfd, 0x67, 0x04, 0x3a, 0x00, 0xff, 0xff, 0x00, + 0x82, 0xff, 0xec, 0x04, 0x49, 0x04, 0x4e, 0x12, 0x06, 0x04, 0x99, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x38, 0xff, 0xec, 0x04, 0xa0, 0x04, + 0x4e, 0x00, 0x17, 0x00, 0x22, 0x00, 0x66, 0x40, 0x38, 0x1e, 0x0c, + 0x17, 0x03, 0x03, 0x18, 0x12, 0x06, 0x15, 0x04, 0x04, 0x01, 0x06, + 0x0c, 0x04, 0x23, 0x24, 0x17, 0x02, 0x51, 0x59, 0x0f, 0x17, 0x01, + 0x0b, 0x03, 0x17, 0x17, 0x06, 0x13, 0x13, 0x16, 0x50, 0x59, 0x13, + 0x0f, 0x0f, 0x1b, 0x50, 0x59, 0x12, 0x0f, 0x10, 0x09, 0x20, 0x50, + 0x59, 0x07, 0x09, 0x16, 0x06, 0x03, 0x50, 0x59, 0x06, 0x15, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x35, 0x06, 0x23, 0x22, 0x02, + 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x35, 0x21, 0x15, 0x21, + 0x11, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x10, 0x33, 0x32, + 0x36, 0x04, 0x62, 0xfe, 0x76, 0x01, 0xc8, 0xfd, 0xa0, 0x41, 0x82, + 0x9f, 0xa6, 0xa8, 0xa1, 0x42, 0x59, 0x24, 0x02, 0x4c, 0xfe, 0x4c, + 0x9d, 0x4f, 0x5b, 0x5b, 0x55, 0xa9, 0x5f, 0x52, 0x02, 0x71, 0x82, + 0xfe, 0x96, 0x85, 0x4b, 0x5f, 0x01, 0x20, 0x01, 0x12, 0x01, 0x16, + 0x01, 0x1a, 0x23, 0x30, 0x3f, 0x89, 0xfe, 0xc0, 0x53, 0xe0, 0xcb, + 0xce, 0xdd, 0xfe, 0x53, 0xd2, 0x00, 0x02, 0x00, 0x34, 0xff, 0xec, + 0x04, 0x98, 0x04, 0x4e, 0x00, 0x14, 0x00, 0x26, 0x00, 0x44, 0x40, + 0x22, 0x0d, 0x24, 0x1e, 0x01, 0x01, 0x13, 0x07, 0x18, 0x18, 0x13, + 0x24, 0x03, 0x27, 0x28, 0x1e, 0x14, 0x14, 0x21, 0x15, 0x04, 0x10, + 0x21, 0x10, 0x50, 0x59, 0x1b, 0x21, 0x16, 0x15, 0x0a, 0x50, 0x59, + 0x15, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x39, 0x18, 0x2f, 0x39, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x02, + 0x23, 0x22, 0x02, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x01, + 0x13, 0x20, 0x00, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x35, 0x10, 0x00, 0x02, 0xb6, 0x4e, 0x4e, + 0x54, 0x47, 0xca, 0xbd, 0xbe, 0xc9, 0x48, 0x54, 0x4e, 0x4e, 0x4f, + 0x01, 0x07, 0x01, 0x2b, 0xa2, 0x96, 0x61, 0x84, 0x18, 0x19, 0x83, + 0x5b, 0x9b, 0x9d, 0x01, 0x2c, 0x02, 0x4d, 0x6a, 0xc3, 0xb0, 0xb4, + 0xb7, 0xe8, 0x01, 0x02, 0xfe, 0xfa, 0xe4, 0xb8, 0xb3, 0xb0, 0xc3, + 0x6a, 0x02, 0x01, 0xfe, 0xb4, 0xfe, 0xd9, 0xf2, 0xfd, 0x86, 0x7b, + 0x84, 0x7d, 0xfe, 0xf1, 0x01, 0x27, 0x01, 0x4c, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x82, 0xfe, 0x57, 0x04, 0x49, 0x05, 0xcc, 0x00, 0x0f, + 0x00, 0x16, 0x00, 0x1d, 0x00, 0x4e, 0x40, 0x29, 0x17, 0x14, 0x09, + 0x0f, 0x0f, 0x1a, 0x06, 0x00, 0x00, 0x04, 0x10, 0x0c, 0x04, 0x0c, + 0x1e, 0x1f, 0x09, 0x13, 0x50, 0x59, 0x09, 0x10, 0x07, 0x01, 0x06, + 0x1b, 0x50, 0x59, 0x06, 0x10, 0x14, 0x1a, 0x01, 0x1a, 0x50, 0x59, + 0x0e, 0x01, 0x16, 0x00, 0x1c, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x32, 0x31, 0x30, 0x01, 0x11, 0x26, 0x02, + 0x11, 0x10, 0x25, 0x11, 0x33, 0x11, 0x16, 0x12, 0x11, 0x10, 0x05, + 0x11, 0x13, 0x34, 0x26, 0x27, 0x11, 0x3e, 0x01, 0x25, 0x14, 0x16, + 0x17, 0x11, 0x0e, 0x01, 0x02, 0x0e, 0xbd, 0xcf, 0x01, 0x8c, 0xa4, + 0xd4, 0xc3, 0xfe, 0x69, 0xda, 0x68, 0x72, 0x71, 0x69, 0xfd, 0xb3, + 0x65, 0x6a, 0x6c, 0x63, 0xfe, 0x57, 0x01, 0x9a, 0x17, 0x01, 0x13, + 0x01, 0x03, 0x01, 0xf9, 0x32, 0x01, 0x83, 0xfe, 0x7e, 0x14, 0xfe, + 0xeb, 0xfe, 0xfd, 0xfe, 0x00, 0x2d, 0xfe, 0x66, 0x03, 0xc7, 0xc7, + 0xca, 0x14, 0xfc, 0xb5, 0x16, 0xcf, 0xc1, 0xb8, 0xd0, 0x1c, 0x03, + 0x44, 0x1a, 0xcc, 0x00, 0x00, 0x01, 0x00, 0xb8, 0xff, 0xec, 0x03, + 0xdb, 0x04, 0x3a, 0x00, 0x15, 0x00, 0x29, 0x40, 0x14, 0x0e, 0x06, + 0x06, 0x07, 0x15, 0x07, 0x16, 0x17, 0x0e, 0x13, 0x13, 0x02, 0x52, + 0x59, 0x13, 0x16, 0x0c, 0x15, 0x06, 0x0f, 0x00, 0x3f, 0x3f, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, + 0x33, 0x11, 0x14, 0x16, 0x17, 0x23, 0x26, 0x27, 0x23, 0x0e, 0x02, + 0x23, 0x22, 0x27, 0xb8, 0x70, 0x64, 0xa1, 0xc6, 0xb4, 0x1b, 0x19, + 0xab, 0x28, 0x08, 0x05, 0x32, 0x60, 0x84, 0x5f, 0x68, 0x66, 0xa4, + 0x13, 0xf2, 0xbb, 0x01, 0xfc, 0xfd, 0x43, 0x4c, 0xce, 0x63, 0x8a, + 0x70, 0x70, 0x69, 0x35, 0x11, 0x00, 0x00, 0x01, 0x00, 0xb8, 0xff, + 0xec, 0x03, 0xdb, 0x05, 0xcc, 0x00, 0x15, 0x00, 0x29, 0x40, 0x14, + 0x0e, 0x06, 0x06, 0x07, 0x15, 0x07, 0x16, 0x17, 0x0e, 0x13, 0x13, + 0x02, 0x52, 0x59, 0x13, 0x16, 0x0c, 0x15, 0x06, 0x01, 0x00, 0x3f, + 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x37, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x17, 0x23, 0x26, 0x27, 0x23, + 0x0e, 0x02, 0x23, 0x22, 0x27, 0xb8, 0x70, 0x64, 0xa1, 0xc6, 0xb4, + 0x1b, 0x19, 0xab, 0x28, 0x08, 0x05, 0x32, 0x60, 0x84, 0x5f, 0x68, + 0x66, 0xa4, 0x13, 0xf2, 0xbb, 0x03, 0x8e, 0xfb, 0xb1, 0x4c, 0xce, + 0x63, 0x8a, 0x70, 0x70, 0x69, 0x35, 0x11, 0x00, 0x00, 0x01, 0x00, + 0xb8, 0xfe, 0x57, 0x04, 0x78, 0x04, 0x3a, 0x00, 0x1a, 0x00, 0x35, + 0x40, 0x13, 0x13, 0x06, 0x06, 0x0e, 0x07, 0x1a, 0x07, 0x1b, 0x1c, + 0x13, 0x18, 0x18, 0x02, 0x52, 0x59, 0x18, 0x16, 0x10, 0x0b, 0xb8, + 0x01, 0x0a, 0xb4, 0x59, 0x10, 0x1c, 0x06, 0x0f, 0x00, 0x3f, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x37, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x22, 0x19, 0x01, 0x23, 0x0e, 0x02, 0x23, + 0x22, 0x27, 0xb8, 0x70, 0x64, 0xa1, 0xc6, 0xb4, 0x38, 0x37, 0x33, + 0x2f, 0x3b, 0x47, 0xfe, 0x05, 0x2e, 0x60, 0x83, 0x5c, 0x68, 0x66, + 0xa4, 0x13, 0xf2, 0xbb, 0x01, 0xfc, 0xfb, 0x4e, 0x51, 0x43, 0x0e, + 0xa0, 0x0b, 0x01, 0x28, 0x01, 0x6b, 0x66, 0x65, 0x33, 0x11, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xf2, 0xfe, 0x57, 0x04, 0x15, 0x04, 0x4e, + 0x00, 0x15, 0x00, 0x29, 0x40, 0x14, 0x0e, 0x06, 0x06, 0x07, 0x07, + 0x15, 0x16, 0x17, 0x0e, 0x13, 0x13, 0x02, 0x52, 0x59, 0x13, 0x10, + 0x0b, 0x0f, 0x07, 0x1c, 0x00, 0x3f, 0x3f, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, + 0x26, 0x27, 0x33, 0x16, 0x17, 0x33, 0x3e, 0x02, 0x33, 0x32, 0x17, + 0x04, 0x15, 0x70, 0x64, 0xa1, 0xc6, 0xb4, 0x1b, 0x19, 0xab, 0x28, + 0x08, 0x05, 0x32, 0x60, 0x84, 0x5f, 0x68, 0x66, 0x03, 0x96, 0x13, + 0xf2, 0xbb, 0xfc, 0x5b, 0x04, 0x66, 0x4c, 0xce, 0x63, 0x8a, 0x70, + 0x70, 0x69, 0x35, 0x11, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xf2, + 0xfe, 0x57, 0x04, 0x15, 0x04, 0x4e, 0x00, 0x1f, 0x00, 0x32, 0x40, + 0x19, 0x18, 0x0c, 0x06, 0x06, 0x11, 0x11, 0x1f, 0x20, 0x21, 0x18, + 0x1d, 0x1d, 0x02, 0x52, 0x59, 0x1d, 0x10, 0x15, 0x0f, 0x0f, 0x09, + 0x52, 0x59, 0x0f, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x07, 0x06, 0x23, 0x20, + 0x19, 0x01, 0x34, 0x26, 0x27, 0x33, 0x16, 0x17, 0x33, 0x3e, 0x02, + 0x33, 0x32, 0x17, 0x04, 0x15, 0x70, 0x64, 0xa1, 0xc6, 0x38, 0x37, + 0x36, 0x2b, 0x22, 0x1f, 0x2e, 0xfe, 0xeb, 0x1b, 0x19, 0xab, 0x28, + 0x08, 0x05, 0x32, 0x60, 0x84, 0x5f, 0x68, 0x66, 0x03, 0x96, 0x13, + 0xf2, 0xbb, 0xfd, 0x91, 0x51, 0x43, 0x0d, 0xa4, 0x05, 0x06, 0x01, + 0x28, 0x03, 0x3e, 0x4c, 0xce, 0x63, 0x8a, 0x70, 0x70, 0x69, 0x35, + 0x11, 0x00, 0x01, 0x01, 0x1c, 0x00, 0x00, 0x04, 0x15, 0x04, 0x4e, + 0x00, 0x0d, 0x00, 0x1d, 0x40, 0x0e, 0x0d, 0x00, 0x00, 0x06, 0x0e, + 0x0f, 0x04, 0x09, 0x52, 0x59, 0x04, 0x10, 0x00, 0x15, 0x00, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x21, 0x11, 0x10, 0x00, 0x21, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x11, 0x01, 0x1c, 0x01, 0x1e, 0x01, 0x0b, 0x69, 0x67, + 0x64, 0x68, 0xc1, 0xbc, 0x02, 0x04, 0x01, 0x1b, 0x01, 0x2f, 0x13, + 0xa7, 0x15, 0xd2, 0xda, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xb8, 0xfe, 0x57, 0x03, 0xb1, 0x04, 0x4e, 0x00, 0x0d, 0x00, 0x1d, + 0x40, 0x0e, 0x00, 0x0d, 0x07, 0x0d, 0x0e, 0x0f, 0x09, 0x04, 0x52, + 0x59, 0x09, 0x10, 0x00, 0x1c, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x20, 0x00, 0x19, 0x01, 0x03, + 0x01, 0xbd, 0xc0, 0x68, 0x64, 0x67, 0x69, 0x01, 0x09, 0x01, 0x20, + 0xfe, 0x57, 0x03, 0xa6, 0xdb, 0xd1, 0x15, 0xa7, 0x13, 0xfe, 0xd2, + 0xfe, 0xe4, 0xfc, 0x53, 0x00, 0x02, 0x00, 0xb8, 0x00, 0x00, 0x04, + 0x6e, 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x15, 0x00, 0x49, 0x40, 0x24, + 0x09, 0x0c, 0x0c, 0x06, 0x0f, 0x00, 0x00, 0x01, 0x0b, 0x0a, 0x0a, + 0x12, 0x06, 0x01, 0x06, 0x16, 0x17, 0x09, 0x0d, 0x0f, 0x0d, 0x50, + 0x59, 0x0f, 0x0f, 0x01, 0x02, 0x02, 0x0e, 0x50, 0x59, 0x02, 0x0f, + 0x0b, 0x01, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x21, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x07, 0x01, 0x23, 0x01, 0x23, 0x19, 0x01, 0x21, + 0x32, 0x35, 0x34, 0x26, 0x23, 0x01, 0x6c, 0xb4, 0x01, 0xd3, 0xbb, + 0xd0, 0x7d, 0x8c, 0x01, 0x61, 0xda, 0xfe, 0xb4, 0xdc, 0x01, 0x12, + 0xdb, 0x74, 0x6b, 0x04, 0x3a, 0xa2, 0x95, 0x7f, 0x9e, 0x23, 0xfe, + 0x3d, 0x01, 0xb7, 0x01, 0xfa, 0xfe, 0x8e, 0xbb, 0x5c, 0x5b, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0xb8, 0x00, 0x00, 0x04, 0x6e, 0x04, + 0x3a, 0x00, 0x07, 0x00, 0x15, 0x00, 0x49, 0x40, 0x24, 0x0c, 0x09, + 0x09, 0x08, 0x0f, 0x08, 0x07, 0x07, 0x13, 0x0a, 0x0b, 0x0b, 0x03, + 0x0f, 0x13, 0x0f, 0x16, 0x17, 0x0c, 0x08, 0x08, 0x06, 0x50, 0x59, + 0x08, 0x08, 0x13, 0x0a, 0x14, 0x0f, 0x13, 0x07, 0x50, 0x59, 0x13, + 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x23, 0x21, 0x19, + 0x01, 0x33, 0x01, 0x33, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, + 0x21, 0x11, 0x33, 0x02, 0x7a, 0x6c, 0x73, 0xdb, 0xfe, 0xee, 0xdc, + 0x01, 0x4c, 0xda, 0xfe, 0x9f, 0x8c, 0x7d, 0xcf, 0xbc, 0xfe, 0x2d, + 0xb4, 0x89, 0x5b, 0x5c, 0xbb, 0xfe, 0x8e, 0x01, 0xfa, 0x01, 0xb7, + 0xfe, 0x3d, 0x22, 0x9f, 0x7f, 0x94, 0xa3, 0x04, 0x3a, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xa7, 0xfe, 0x57, 0x04, 0x24, 0x04, 0x4b, 0x00, + 0x34, 0x00, 0x63, 0x40, 0x34, 0x0b, 0x10, 0x00, 0x12, 0x06, 0x06, + 0x10, 0x10, 0x2b, 0x1f, 0x26, 0x25, 0x25, 0x18, 0x00, 0x1f, 0x00, + 0x35, 0x36, 0x18, 0x2b, 0x03, 0x22, 0x22, 0x29, 0x50, 0x59, 0x00, + 0x26, 0x70, 0x26, 0x02, 0x0b, 0x03, 0x26, 0x26, 0x22, 0x10, 0x0e, + 0x08, 0x52, 0x59, 0x0e, 0x1c, 0x03, 0x16, 0x50, 0x59, 0x12, 0x12, + 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x27, 0x15, 0x14, + 0x33, 0x32, 0x37, 0x15, 0x07, 0x06, 0x23, 0x20, 0x19, 0x01, 0x37, + 0x1e, 0x02, 0x33, 0x20, 0x35, 0x34, 0x26, 0x27, 0x24, 0x2e, 0x01, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, + 0x22, 0x15, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x03, 0x04, 0x24, 0xe9, + 0xce, 0xb7, 0x65, 0x7a, 0x39, 0x2a, 0x22, 0x24, 0x2b, 0xfe, 0xea, + 0x9f, 0x0d, 0x44, 0x68, 0x6e, 0x01, 0x0e, 0x62, 0x66, 0xfe, 0xfe, + 0x92, 0x4d, 0xd4, 0xc9, 0xb0, 0xd2, 0x1a, 0xa2, 0x0d, 0x75, 0x78, + 0xf5, 0x2b, 0x4e, 0x6c, 0x41, 0x41, 0x89, 0x71, 0x49, 0x01, 0x35, + 0x9a, 0xaf, 0x3b, 0x9f, 0x8f, 0x0c, 0xa2, 0x05, 0x07, 0x01, 0x28, + 0x01, 0x79, 0x1f, 0x3d, 0x48, 0x20, 0xab, 0x3f, 0x50, 0x19, 0x40, + 0x4a, 0x6f, 0x54, 0x93, 0xa6, 0x85, 0x7f, 0x14, 0x49, 0x49, 0x97, + 0x2e, 0x39, 0x26, 0x1c, 0x10, 0x11, 0x29, 0x46, 0x6d, 0x00, 0x00, + 0x01, 0x00, 0xff, 0xfe, 0x57, 0x03, 0xc3, 0x05, 0xcc, 0x00, 0x18, + 0x00, 0x2e, 0x40, 0x0a, 0x0f, 0x16, 0x16, 0x02, 0x09, 0x09, 0x19, + 0x1a, 0x0d, 0x12, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x0d, 0x01, 0x00, + 0x05, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x00, 0x1c, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x3e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x06, 0x01, 0x85, 0x4f, 0x37, + 0x3c, 0x39, 0x36, 0x3d, 0x1b, 0x97, 0x93, 0x6b, 0x2c, 0x31, 0x42, + 0x4d, 0x4b, 0x98, 0xfe, 0x57, 0x13, 0xa0, 0x18, 0x2c, 0x55, 0x68, + 0x04, 0x8f, 0xad, 0xb5, 0x12, 0xa7, 0x1b, 0x69, 0x80, 0xfb, 0x75, + 0xb4, 0xaf, 0x00, 0x01, 0x00, 0xff, 0xfe, 0x57, 0x03, 0xc3, 0x05, + 0xcc, 0x00, 0x20, 0x00, 0x43, 0x40, 0x15, 0x0e, 0x07, 0x11, 0x11, + 0x17, 0x01, 0x1f, 0x1f, 0x21, 0x22, 0x0e, 0x00, 0x20, 0x00, 0x50, + 0x59, 0x11, 0x20, 0x15, 0x15, 0x1a, 0xb8, 0x01, 0x0a, 0xb4, 0x59, + 0x15, 0x1c, 0x05, 0x0a, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x05, 0x01, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x25, 0x33, 0x11, 0x34, 0x36, + 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x33, + 0x15, 0x23, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x3e, 0x01, 0x3d, 0x01, 0x23, 0x01, 0x41, 0xc1, 0x98, 0x9e, + 0x5a, 0x31, 0x31, 0x42, 0x4d, 0x4b, 0xaa, 0xaa, 0x98, 0x9b, 0x4f, + 0x37, 0x3c, 0x39, 0x36, 0x3d, 0x1b, 0xc1, 0x8c, 0x03, 0xde, 0xb2, + 0xb0, 0x12, 0xa7, 0x1b, 0x69, 0x80, 0xfc, 0x47, 0x8c, 0x46, 0xb4, + 0xaf, 0x13, 0xa0, 0x18, 0x2c, 0x55, 0x68, 0x25, 0x00, 0x01, 0x01, + 0x02, 0xfe, 0x57, 0x03, 0xba, 0x04, 0x4e, 0x00, 0x18, 0x00, 0x2e, + 0x40, 0x0a, 0x17, 0x10, 0x10, 0x0a, 0x03, 0x03, 0x19, 0x1a, 0x0c, + 0x07, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x0c, 0x10, 0x00, 0x14, 0xb8, + 0x01, 0x0a, 0xb2, 0x59, 0x00, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, + 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x1e, 0x01, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x03, 0x34, 0x99, 0x90, 0x4b, 0x4b, + 0x42, 0x31, 0x2c, 0x57, 0xa2, 0x9a, 0x18, 0x38, 0x34, 0x39, 0x3c, + 0x37, 0xfe, 0x57, 0xac, 0xb7, 0x03, 0x0d, 0x83, 0x66, 0x1b, 0xa7, + 0x12, 0xa9, 0xae, 0xfc, 0xe4, 0x66, 0x57, 0x2c, 0x18, 0xa0, 0x13, + 0x00, 0x02, 0x00, 0x72, 0xfe, 0x56, 0x03, 0xc3, 0x05, 0xcc, 0x00, + 0x1c, 0x00, 0x27, 0x00, 0x52, 0x40, 0x1e, 0x05, 0x23, 0x23, 0x10, + 0x1d, 0x0b, 0x0b, 0x10, 0x16, 0x00, 0x00, 0x10, 0x10, 0x28, 0x29, + 0x0e, 0x25, 0x50, 0x59, 0x10, 0x00, 0x23, 0x05, 0x04, 0x0e, 0x0e, + 0x07, 0x14, 0x14, 0x19, 0xb8, 0x01, 0x0a, 0x40, 0x0a, 0x59, 0x14, + 0x01, 0x07, 0x20, 0x50, 0x59, 0x03, 0x07, 0x1c, 0x00, 0x3f, 0xc6, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x17, 0x39, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, + 0x16, 0x17, 0x07, 0x2f, 0x01, 0x06, 0x23, 0x22, 0x2e, 0x01, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, + 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x26, 0x23, 0x22, 0x06, 0x02, 0xb8, 0x66, 0x79, 0x6e, + 0x46, 0x54, 0x51, 0xbf, 0x49, 0x7b, 0x49, 0x8b, 0x81, 0x40, 0x44, + 0x97, 0x93, 0x6b, 0x2c, 0x31, 0x42, 0x4d, 0x4b, 0xfe, 0x55, 0x41, + 0x2f, 0x3e, 0x49, 0x4e, 0x39, 0x3a, 0x36, 0x31, 0x5a, 0xaa, 0x75, + 0x58, 0x65, 0xbc, 0x3d, 0x71, 0x54, 0x76, 0x88, 0x18, 0x04, 0x2b, + 0xad, 0xb5, 0x12, 0xa7, 0x1b, 0x69, 0x80, 0xfb, 0x10, 0x38, 0x36, + 0x5f, 0x4f, 0x31, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb1, 0x00, + 0x00, 0x03, 0xec, 0x05, 0x64, 0x00, 0x15, 0x00, 0x3b, 0x40, 0x16, + 0x02, 0x15, 0x15, 0x05, 0x08, 0x0f, 0x08, 0x16, 0x17, 0x02, 0x06, + 0x07, 0x06, 0x50, 0x59, 0x15, 0x07, 0x07, 0x11, 0x04, 0x11, 0x0c, + 0xb8, 0x01, 0x0a, 0xb3, 0x59, 0x11, 0x04, 0x15, 0x00, 0x3f, 0xc4, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x15, 0x23, 0x03, 0x23, 0x11, 0x21, 0x35, 0x21, + 0x11, 0x34, 0x26, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x11, 0x03, 0xec, 0xaa, 0x3a, 0x78, 0xfe, 0x50, 0x01, 0xb0, + 0x55, 0x61, 0x86, 0xa3, 0xa9, 0xa6, 0xa2, 0xa2, 0x01, 0xa8, 0x8e, + 0xfe, 0xe6, 0x01, 0x1a, 0x8e, 0x02, 0x8c, 0x4f, 0x4c, 0x22, 0x89, + 0x2e, 0x89, 0x94, 0xfd, 0x61, 0x00, 0x00, 0x01, 0x00, 0xbe, 0xfe, + 0x57, 0x03, 0xf9, 0x05, 0x54, 0x00, 0x15, 0x00, 0x36, 0x40, 0x0b, + 0x05, 0x09, 0x09, 0x02, 0x14, 0x14, 0x0f, 0x16, 0x17, 0x11, 0x0c, + 0xb8, 0x01, 0x0a, 0x40, 0x0d, 0x59, 0x11, 0x1c, 0x08, 0x00, 0x01, + 0x00, 0x50, 0x59, 0x05, 0x03, 0x01, 0x0f, 0x00, 0x3f, 0xc6, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, + 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0xbe, 0xaa, 0x3a, + 0x78, 0x01, 0xb0, 0xfe, 0x50, 0x55, 0x61, 0x86, 0xa3, 0xa9, 0xa6, + 0xa2, 0xa2, 0x03, 0xac, 0x8e, 0x01, 0x1a, 0xfe, 0xe6, 0x8e, 0xfb, + 0xdb, 0x4f, 0x4c, 0x22, 0x89, 0x2e, 0x89, 0x94, 0x04, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x49, 0xff, 0xec, 0x04, 0x80, 0x04, + 0x3a, 0x00, 0x1c, 0x00, 0x25, 0x00, 0x4e, 0x40, 0x27, 0x22, 0x00, + 0x00, 0x18, 0x1c, 0x21, 0x10, 0x03, 0x03, 0x08, 0x04, 0x1c, 0x04, + 0x26, 0x27, 0x22, 0x08, 0x19, 0x1a, 0x19, 0x50, 0x59, 0x05, 0x01, + 0x1a, 0x1a, 0x0c, 0x03, 0x1c, 0x0f, 0x14, 0x1d, 0x50, 0x59, 0x10, + 0x14, 0x16, 0x0c, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, + 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x17, 0x23, 0x2e, + 0x02, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x23, + 0x35, 0x33, 0x11, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x21, 0x15, 0x14, + 0x16, 0x01, 0x68, 0x01, 0xf7, 0xb5, 0x6c, 0x6c, 0x06, 0xaa, 0x01, + 0x02, 0x03, 0x02, 0x03, 0x3e, 0xa3, 0x79, 0xb2, 0xa5, 0x6b, 0x6b, + 0x01, 0x94, 0x81, 0x96, 0xfe, 0x09, 0x62, 0x04, 0x3a, 0xfe, 0x2f, + 0x01, 0xd1, 0xfe, 0x2f, 0x85, 0xfd, 0xbd, 0x2a, 0x05, 0x2c, 0x39, + 0x4f, 0x70, 0x5d, 0xb1, 0xcc, 0x7b, 0x85, 0x01, 0xd1, 0xfc, 0x3d, + 0xb0, 0xa0, 0x1d, 0x58, 0x9c, 0x79, 0x00, 0x00, 0x01, 0x00, 0x75, + 0xff, 0xec, 0x04, 0x57, 0x04, 0x3a, 0x00, 0x2f, 0x00, 0x3f, 0x40, + 0x1f, 0x15, 0x0d, 0x11, 0x08, 0x1f, 0x28, 0x08, 0x28, 0x03, 0x23, + 0x1b, 0x2d, 0x03, 0x2d, 0x30, 0x31, 0x25, 0x0c, 0x0d, 0x0c, 0x50, + 0x59, 0x22, 0x0d, 0x0f, 0x00, 0x18, 0x50, 0x59, 0x00, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x32, 0x32, 0x31, 0x30, 0x05, 0x22, 0x00, 0x35, + 0x34, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x07, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x27, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x15, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 0x15, 0x14, 0x00, + 0x02, 0x66, 0xe1, 0xfe, 0xf0, 0x54, 0x33, 0x21, 0x2b, 0x2b, 0x52, + 0x7c, 0x59, 0x6d, 0x43, 0x44, 0xa7, 0x8f, 0x8e, 0xa8, 0x43, 0x44, + 0x6e, 0x58, 0x7c, 0x52, 0x2b, 0x2b, 0x20, 0x34, 0x54, 0xfe, 0xf2, + 0x14, 0x01, 0x00, 0xd4, 0x8c, 0x76, 0x48, 0x40, 0x1c, 0x1f, 0x2a, + 0x8b, 0x67, 0x57, 0x5f, 0x74, 0x74, 0x5d, 0x9f, 0xbe, 0xbe, 0x9f, + 0x5d, 0x74, 0x74, 0x5f, 0x58, 0x66, 0x8b, 0x2a, 0x1f, 0x1d, 0x3e, + 0x49, 0x76, 0x8c, 0xd1, 0xfe, 0xfd, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x04, 0x3a, 0x12, 0x06, 0x03, + 0x76, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0x00, 0x00, 0x04, 0x87, + 0x04, 0x3a, 0x00, 0x0a, 0x00, 0x28, 0x40, 0x13, 0x09, 0x0a, 0x01, + 0x00, 0x06, 0x03, 0x02, 0x02, 0x06, 0x0a, 0x03, 0x0b, 0x0c, 0x03, + 0x0a, 0x15, 0x06, 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x33, 0x01, 0x23, 0x01, 0x2f, 0x01, 0x0f, 0x01, + 0x01, 0x23, 0x02, 0x01, 0xd5, 0x01, 0xb1, 0xca, 0xfe, 0xf4, 0x11, + 0x34, 0x23, 0x27, 0xfe, 0xec, 0xc9, 0x04, 0x3a, 0xfb, 0xc6, 0x02, + 0xc0, 0x36, 0xb7, 0x75, 0x76, 0xfd, 0x3e, 0x00, 0x01, 0x00, 0x15, + 0x00, 0x00, 0x04, 0xb8, 0x04, 0x3a, 0x00, 0x1a, 0x00, 0x2a, 0x40, + 0x14, 0x10, 0x0f, 0x03, 0x08, 0x03, 0x1a, 0x03, 0x1b, 0x1c, 0x03, + 0x10, 0x10, 0x09, 0x1a, 0x15, 0x13, 0x0c, 0x06, 0x00, 0x0f, 0x00, + 0x3f, 0x32, 0x32, 0x32, 0x3f, 0x33, 0x39, 0x2f, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x33, 0x13, + 0x17, 0x3e, 0x01, 0x13, 0x33, 0x13, 0x23, 0x03, 0x02, 0x35, 0x06, + 0x07, 0x03, 0x23, 0x03, 0x26, 0x27, 0x14, 0x0e, 0x02, 0x07, 0x03, + 0x23, 0xd3, 0xcc, 0x8f, 0x39, 0x0a, 0x32, 0x93, 0xcb, 0xb7, 0xb2, + 0x5d, 0x21, 0x27, 0x13, 0x87, 0xc1, 0x82, 0x20, 0x17, 0x08, 0x0c, + 0x0c, 0x03, 0x65, 0xb0, 0x04, 0x3a, 0xfe, 0x29, 0xca, 0x2b, 0xa9, + 0x01, 0xcd, 0xfb, 0xc6, 0x02, 0x5f, 0x01, 0x08, 0x3e, 0xa0, 0x36, + 0xfe, 0x58, 0x01, 0xa9, 0x69, 0x6c, 0x1e, 0x5a, 0x5f, 0x56, 0x19, + 0xfd, 0xa1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x00, 0x00, 0x04, + 0x8b, 0x05, 0xe3, 0x00, 0x14, 0x00, 0x2e, 0x40, 0x17, 0x12, 0x09, + 0x0e, 0x0a, 0x03, 0x0e, 0x11, 0x04, 0x15, 0x16, 0x09, 0x0e, 0x0e, + 0x00, 0x11, 0x00, 0x05, 0x50, 0x59, 0x00, 0x0b, 0x11, 0x15, 0x00, + 0x3f, 0x33, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x32, + 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x0f, 0x01, 0x01, 0x23, 0x01, + 0x26, 0x27, 0x07, 0x01, 0x23, 0x01, 0x3e, 0x01, 0x03, 0xa9, 0x4a, + 0x32, 0x26, 0x2e, 0x4f, 0x8b, 0x30, 0x12, 0x01, 0xd6, 0xc0, 0xfe, + 0xf8, 0x5b, 0x07, 0x29, 0xfe, 0xca, 0xbe, 0x01, 0xc8, 0x59, 0xbf, + 0x05, 0xe3, 0x0b, 0x87, 0x06, 0x76, 0x81, 0x31, 0xfb, 0xd1, 0x02, + 0x82, 0xe0, 0x1e, 0x6d, 0xfc, 0xed, 0x04, 0x3a, 0xeb, 0xbe, 0x00, + 0x00, 0x01, 0x00, 0x3b, 0x00, 0x00, 0x04, 0x91, 0x04, 0x3a, 0x00, + 0x08, 0x00, 0x32, 0x40, 0x17, 0x05, 0x06, 0x06, 0x04, 0x08, 0x08, + 0x00, 0x03, 0x02, 0x02, 0x00, 0x00, 0x09, 0x0a, 0x07, 0x01, 0x04, + 0x04, 0x05, 0x02, 0x0f, 0x00, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x32, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, + 0x01, 0x33, 0x09, 0x01, 0x33, 0x01, 0x11, 0x02, 0x06, 0xfe, 0x35, + 0xd1, 0x01, 0x57, 0x01, 0x60, 0xce, 0xfe, 0x29, 0x01, 0xb8, 0x02, + 0x82, 0xfe, 0x0e, 0x01, 0xf2, 0xfd, 0x7b, 0xfe, 0x4b, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x93, 0xfe, 0x57, 0x04, 0xe8, 0x04, 0x3a, + 0x00, 0x14, 0x00, 0x43, 0x40, 0x22, 0x13, 0x10, 0x0d, 0x0b, 0x14, + 0x14, 0x0e, 0x12, 0x0d, 0x12, 0x15, 0x16, 0x12, 0x0f, 0x10, 0x0f, + 0x50, 0x59, 0x10, 0x0f, 0x0d, 0x13, 0x0c, 0x13, 0x50, 0x59, 0x0c, + 0x15, 0x08, 0x03, 0x52, 0x59, 0x08, 0x1c, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x05, 0x14, 0x16, 0x33, 0x32, 0x37, + 0x15, 0x06, 0x23, 0x22, 0x11, 0x35, 0x21, 0x35, 0x01, 0x21, 0x35, + 0x21, 0x15, 0x01, 0x21, 0x04, 0x2c, 0x2b, 0x37, 0x35, 0x25, 0x43, + 0x3a, 0xf0, 0xfd, 0x18, 0x02, 0xa9, 0xfd, 0x7f, 0x03, 0x4c, 0xfd, + 0x56, 0x02, 0xcf, 0x73, 0x51, 0x43, 0x0b, 0xa1, 0x0c, 0x01, 0x28, + 0x81, 0x89, 0x03, 0x26, 0x8b, 0x89, 0xfc, 0xda, 0x00, 0x00, 0x02, + 0x00, 0x93, 0xff, 0x4e, 0x04, 0x8b, 0x04, 0x3a, 0x00, 0x16, 0x00, + 0x20, 0x00, 0x51, 0x40, 0x2b, 0x16, 0x13, 0x1a, 0x0a, 0x00, 0x0e, + 0x04, 0x10, 0x1e, 0x06, 0x06, 0x11, 0x15, 0x10, 0x15, 0x21, 0x22, + 0x15, 0x12, 0x13, 0x12, 0x50, 0x59, 0x03, 0x17, 0x50, 0x59, 0x03, + 0x03, 0x0f, 0x13, 0x0f, 0x1a, 0x10, 0x16, 0x0f, 0x16, 0x50, 0x59, + 0x0c, 0x0a, 0x0f, 0x15, 0x00, 0x3f, 0x33, 0xc4, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x12, 0x17, 0x39, 0x32, 0x32, 0x31, 0x30, 0x25, 0x3e, 0x01, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x06, 0x07, 0x27, 0x37, + 0x21, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x25, 0x22, 0x06, + 0x07, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x02, 0x0a, 0x65, 0xbd, + 0x61, 0x76, 0x88, 0x8c, 0x98, 0xfd, 0x30, 0x22, 0x8b, 0x37, 0xfe, + 0xcf, 0x02, 0x95, 0xfd, 0x93, 0x03, 0x38, 0xfd, 0x6a, 0x02, 0x2e, + 0x2f, 0x64, 0x46, 0xac, 0x4d, 0x46, 0x36, 0x8b, 0xaa, 0x9e, 0x7b, + 0x67, 0x78, 0x79, 0x5e, 0x54, 0x3d, 0x75, 0x89, 0x03, 0x26, 0x8b, + 0x89, 0xfc, 0xda, 0xb7, 0x51, 0x66, 0x2c, 0x37, 0x27, 0x2d, 0x00, + 0x01, 0x00, 0x7a, 0xfe, 0x57, 0x04, 0x41, 0x04, 0x3a, 0x00, 0x1b, + 0x00, 0x4c, 0x40, 0x28, 0x03, 0x19, 0x1a, 0x02, 0x14, 0x06, 0x06, + 0x02, 0x19, 0x1b, 0x0d, 0x05, 0x1c, 0x1d, 0x19, 0x03, 0x03, 0x18, + 0x50, 0x59, 0x0e, 0x03, 0x0e, 0x03, 0x0a, 0x00, 0x0a, 0x11, 0x50, + 0x59, 0x0a, 0x1c, 0x02, 0x1b, 0x00, 0x1b, 0x50, 0x59, 0x00, 0x0f, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x21, 0x15, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x01, + 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x2b, 0x01, 0x35, 0x01, 0x21, 0xb4, 0x03, 0x69, 0xfe, + 0x81, 0xc4, 0xdf, 0x76, 0xd8, 0x8c, 0xd8, 0xfe, 0x17, 0xb2, 0x13, + 0x9a, 0x88, 0x89, 0xa2, 0xb7, 0xa3, 0x52, 0x01, 0x89, 0xfd, 0x4b, + 0x04, 0x3a, 0xb0, 0xfe, 0x96, 0x19, 0xfb, 0xc7, 0x8b, 0xe4, 0x7f, + 0xbe, 0xbb, 0x0c, 0x85, 0x77, 0xc7, 0xa4, 0x9c, 0xb4, 0x90, 0x01, + 0x82, 0x00, 0x00, 0x02, 0x00, 0xa2, 0xfe, 0x56, 0x04, 0x81, 0x04, + 0x3a, 0x00, 0x20, 0x00, 0x2a, 0x00, 0x5e, 0x40, 0x36, 0x19, 0x06, + 0x1f, 0x02, 0x28, 0x12, 0x12, 0x00, 0x1e, 0x23, 0x17, 0x0c, 0x08, + 0x02, 0x06, 0x09, 0x2c, 0x2b, 0x15, 0x25, 0x50, 0x59, 0x1e, 0x03, + 0x03, 0x1d, 0x50, 0x59, 0x17, 0x08, 0x23, 0x0c, 0x04, 0x15, 0x03, + 0x15, 0x03, 0x0e, 0x00, 0x0e, 0x21, 0x51, 0x59, 0x0b, 0x0e, 0x1c, + 0x02, 0x20, 0x00, 0x20, 0x50, 0x59, 0x00, 0x0f, 0x00, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0xc6, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x39, 0x18, 0x2f, 0x2f, 0x17, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x21, 0x15, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x07, + 0x16, 0x17, 0x07, 0x27, 0x06, 0x23, 0x22, 0x2e, 0x01, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x17, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, + 0x01, 0x21, 0x01, 0x32, 0x37, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x16, 0xb4, 0x03, 0x69, 0xfe, 0x81, 0xc4, 0xdf, 0x41, 0x3e, 0x43, + 0x64, 0x7c, 0x94, 0xd9, 0x7f, 0xb4, 0x5f, 0xaa, 0x9d, 0xbb, 0xd6, + 0x12, 0xb9, 0xa0, 0x53, 0x01, 0x89, 0xfd, 0x4b, 0x01, 0x69, 0xb5, + 0x61, 0xae, 0xa4, 0x49, 0x53, 0x78, 0x04, 0x3a, 0xb0, 0xfe, 0x96, + 0x18, 0xfd, 0xc6, 0x83, 0x6e, 0x38, 0x49, 0x7d, 0x88, 0x87, 0x45, + 0x7a, 0x4a, 0x75, 0x82, 0x95, 0x3f, 0x4a, 0x9d, 0xb3, 0x90, 0x01, + 0x82, 0xfb, 0x2c, 0x69, 0x8d, 0x3a, 0x35, 0x3d, 0x4a, 0x00, 0x00, + 0x01, 0x00, 0x85, 0x00, 0x00, 0x04, 0x31, 0x05, 0xcc, 0x00, 0x17, + 0x00, 0x3a, 0x40, 0x1e, 0x0c, 0x0d, 0x17, 0x00, 0x06, 0x13, 0x13, + 0x00, 0x0d, 0x03, 0x18, 0x19, 0x03, 0x16, 0x50, 0x59, 0x03, 0x0c, + 0x03, 0x0c, 0x00, 0x10, 0x10, 0x09, 0x50, 0x59, 0x10, 0x01, 0x00, + 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, + 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, + 0x32, 0x12, 0x11, 0x14, 0x02, 0x07, 0x11, 0x01, 0xb8, 0x34, 0x45, + 0xa1, 0xa3, 0x8e, 0x9e, 0x6b, 0x8a, 0x16, 0xb9, 0x1e, 0xf5, 0xb7, + 0xf2, 0xf0, 0xea, 0xdb, 0x02, 0x1e, 0x12, 0xd6, 0xc8, 0xd7, 0xbe, + 0x69, 0x63, 0x0e, 0x94, 0xb7, 0xfe, 0xec, 0xfe, 0xf4, 0xf8, 0xfe, + 0xdf, 0x11, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x85, + 0x00, 0x00, 0x04, 0x31, 0x05, 0xcc, 0x00, 0x17, 0x00, 0x3a, 0x40, + 0x1e, 0x0c, 0x0b, 0x17, 0x00, 0x11, 0x04, 0x04, 0x00, 0x0b, 0x03, + 0x19, 0x18, 0x14, 0x01, 0x50, 0x59, 0x14, 0x0c, 0x14, 0x0c, 0x00, + 0x08, 0x08, 0x0f, 0x50, 0x59, 0x08, 0x01, 0x00, 0x15, 0x00, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x21, 0x11, 0x26, 0x02, 0x11, 0x34, 0x3e, 0x01, 0x33, + 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x20, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x11, 0x02, 0x4a, 0xe4, 0xe1, 0x7d, 0xe1, 0x93, + 0xb2, 0xea, 0x1f, 0xb9, 0x16, 0x89, 0x6c, 0xfe, 0xd4, 0xa3, 0xa1, + 0x45, 0x34, 0x01, 0x82, 0x11, 0x01, 0x0e, 0x01, 0x03, 0xb0, 0xf7, + 0x81, 0xb2, 0x99, 0x0e, 0x63, 0x69, 0xfe, 0x6b, 0xc8, 0xd6, 0x12, + 0xfd, 0xe2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x85, 0xff, 0xec, 0x04, + 0x31, 0x05, 0xcc, 0x00, 0x17, 0x00, 0x3b, 0x40, 0x1e, 0x0c, 0x0b, + 0x01, 0x16, 0x11, 0x04, 0x04, 0x16, 0x0b, 0x03, 0x18, 0x19, 0x17, + 0x01, 0x0c, 0x0c, 0x08, 0x01, 0x08, 0x0f, 0x50, 0x59, 0x08, 0x16, + 0x01, 0x14, 0x50, 0x59, 0x01, 0x0f, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x3f, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x11, 0x16, 0x12, 0x11, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x27, 0x37, 0x1e, 0x01, 0x33, 0x20, 0x11, 0x34, 0x26, 0x23, 0x22, + 0x07, 0x11, 0x02, 0x6c, 0xe4, 0xe1, 0x7d, 0xe1, 0x93, 0xb2, 0xea, + 0x1f, 0xb9, 0x16, 0x89, 0x6c, 0x01, 0x2c, 0xa3, 0xa1, 0x45, 0x34, + 0x05, 0xcc, 0xfe, 0x6a, 0x11, 0xfe, 0xf2, 0xfe, 0xfd, 0xb0, 0xf7, + 0x81, 0xb2, 0x99, 0x0e, 0x63, 0x69, 0x01, 0x95, 0xc8, 0xd6, 0x12, + 0x02, 0x32, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8a, 0xfe, 0x56, + 0x04, 0x40, 0x04, 0x4e, 0x00, 0x16, 0x00, 0x3d, 0x40, 0x1d, 0x0b, + 0x00, 0x06, 0x05, 0x05, 0x10, 0x11, 0x00, 0x11, 0x17, 0x18, 0x10, + 0x06, 0x10, 0x06, 0x14, 0x02, 0x14, 0x0e, 0x50, 0x59, 0x14, 0x02, + 0x02, 0x08, 0x50, 0x59, 0x02, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x10, 0x21, 0x32, 0x16, 0x17, 0x07, 0x26, + 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x37, 0x17, 0x0e, + 0x01, 0x23, 0x20, 0x02, 0x8a, 0x01, 0xfe, 0xb1, 0xe5, 0x20, 0xc0, + 0x28, 0xd6, 0x9e, 0x9b, 0x9a, 0xa0, 0xdf, 0x22, 0xbe, 0x17, 0xf1, + 0xb9, 0xfe, 0xfe, 0xf3, 0x01, 0x53, 0x02, 0xfb, 0xa8, 0x9b, 0x0e, + 0xc4, 0xfe, 0xd3, 0xfe, 0xc6, 0xfe, 0xbe, 0xfe, 0xcc, 0xd4, 0x0c, + 0x9b, 0xbb, 0x01, 0x72, 0x00, 0x00, 0x00, 0x03, 0x00, 0x66, 0xff, + 0xec, 0x04, 0x66, 0x05, 0x5a, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x19, + 0x00, 0x43, 0x40, 0x13, 0x10, 0x19, 0x16, 0x16, 0x06, 0x0c, 0x00, + 0x06, 0x00, 0x1a, 0x1b, 0x16, 0x40, 0x17, 0x17, 0x09, 0x03, 0x09, + 0x0e, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x09, 0x03, 0x03, 0x13, 0xb8, + 0x01, 0x0a, 0xb2, 0x59, 0x03, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x1a, 0xcd, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x32, 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 0x10, + 0x00, 0x33, 0x32, 0x00, 0x03, 0x10, 0x21, 0x20, 0x11, 0x10, 0x12, + 0x33, 0x32, 0x12, 0x25, 0x35, 0x33, 0x15, 0x04, 0x66, 0xfe, 0xf7, + 0xf8, 0xf9, 0xfe, 0xfa, 0x01, 0x09, 0xf8, 0xf7, 0x01, 0x08, 0xc9, + 0xfe, 0xca, 0xfe, 0xc8, 0x9e, 0x99, 0xa3, 0x94, 0xfe, 0x68, 0xc3, + 0x02, 0xa9, 0xfe, 0xaf, 0xfe, 0x94, 0x01, 0x66, 0x01, 0x57, 0x01, + 0x59, 0x01, 0x58, 0xfe, 0xa5, 0xfe, 0xaa, 0x02, 0x15, 0xfd, 0xeb, + 0xfe, 0xf2, 0xfe, 0xec, 0x01, 0x18, 0xbf, 0xdb, 0xdb, 0xff, 0xff, + 0x00, 0xb9, 0x00, 0x00, 0x04, 0x3a, 0x04, 0x3a, 0x12, 0x06, 0x03, + 0xe2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x7a, 0xff, 0xed, 0x04, 0x49, + 0x04, 0x4e, 0x00, 0x15, 0x00, 0x27, 0x00, 0x50, 0x40, 0x2c, 0x0f, + 0x1c, 0x07, 0x22, 0x00, 0x16, 0x16, 0x0c, 0x1f, 0x22, 0x1c, 0x05, + 0x28, 0x29, 0x1f, 0x0a, 0x0d, 0x0a, 0x0d, 0x50, 0x59, 0x0f, 0x0a, + 0xdf, 0x0a, 0x02, 0x0b, 0x03, 0x0a, 0x0a, 0x19, 0x25, 0x25, 0x04, + 0x50, 0x59, 0x25, 0x10, 0x19, 0x12, 0x50, 0x59, 0x19, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x3b, + 0x01, 0x15, 0x23, 0x20, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, + 0x37, 0x10, 0x02, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x2e, + 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x00, 0x03, 0x8c, 0x49, 0x8c, + 0x7b, 0x6f, 0x82, 0x85, 0x7a, 0x3b, 0x40, 0xfe, 0xe9, 0x8d, 0x88, + 0x78, 0x89, 0x48, 0xbd, 0xff, 0xfe, 0xfb, 0xd8, 0xf3, 0x80, 0x79, + 0x6f, 0x6d, 0xee, 0xce, 0xf5, 0x01, 0x01, 0x02, 0x2c, 0x91, 0xb5, + 0x57, 0x5e, 0x51, 0x4e, 0x5c, 0x8d, 0xba, 0x52, 0x66, 0x5d, 0xc4, + 0x9a, 0xfe, 0xde, 0xfe, 0xe3, 0xa3, 0x92, 0x6f, 0x89, 0x14, 0x22, + 0x71, 0x58, 0x8c, 0xa9, 0xfe, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x82, 0xff, 0xec, 0x04, 0xdc, 0x05, 0x03, 0x00, 0x27, 0x00, + 0x60, 0x40, 0x12, 0x00, 0x20, 0x02, 0x20, 0x07, 0x1a, 0x0d, 0x25, + 0x25, 0x19, 0x12, 0x02, 0x07, 0x02, 0x28, 0x29, 0x10, 0x15, 0xb8, + 0x01, 0x0a, 0x40, 0x1c, 0x59, 0x10, 0x0b, 0x00, 0x27, 0x50, 0x59, + 0x0d, 0x1a, 0x0b, 0x00, 0x1a, 0x00, 0x1a, 0x05, 0x0b, 0x0b, 0x1d, + 0x50, 0x59, 0x0b, 0x10, 0x05, 0x23, 0x50, 0x59, 0x05, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x2b, 0x00, 0x18, 0x10, 0xc4, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x21, + 0x11, 0x0e, 0x01, 0x23, 0x20, 0x11, 0x34, 0x12, 0x36, 0x33, 0x32, + 0x17, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, + 0x1d, 0x01, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x35, 0x23, 0x02, 0x79, 0x01, 0xaf, 0x4f, 0xdf, + 0x7b, 0xfe, 0x03, 0x75, 0xe6, 0x93, 0xa0, 0x66, 0x07, 0x89, 0x73, + 0x2f, 0x34, 0x24, 0x2b, 0x42, 0x37, 0xb9, 0x0f, 0x75, 0x6c, 0x96, + 0x99, 0x9a, 0xa5, 0x8d, 0x6a, 0xf9, 0x02, 0x1d, 0xfe, 0x5e, 0x45, + 0x4a, 0x02, 0x1e, 0xb1, 0x01, 0x02, 0x91, 0x4f, 0x7d, 0x87, 0x0c, + 0x96, 0x10, 0x47, 0x4d, 0xd2, 0x0e, 0x5a, 0x6a, 0xdf, 0xd4, 0xd4, + 0xc4, 0x43, 0xdb, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb5, 0x00, 0x00, + 0x04, 0x18, 0x04, 0x3a, 0x12, 0x06, 0x03, 0xed, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x49, 0xfe, 0x57, 0x04, 0x39, 0x05, 0xcc, 0x00, 0x13, + 0x00, 0x1e, 0x00, 0x22, 0x00, 0x51, 0x40, 0x2a, 0x22, 0x05, 0x02, + 0x02, 0x1f, 0x18, 0x11, 0x1c, 0x0d, 0x11, 0x0d, 0x24, 0x23, 0x20, + 0x1f, 0x53, 0x5b, 0x20, 0x01, 0x05, 0x19, 0x10, 0x19, 0x50, 0x59, + 0x02, 0x10, 0x10, 0x0a, 0x00, 0x0a, 0x14, 0x50, 0x59, 0x0a, 0x1c, + 0x00, 0x13, 0x50, 0x59, 0x00, 0x0f, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, + 0x21, 0x11, 0x21, 0x15, 0x21, 0x15, 0x14, 0x0e, 0x01, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x21, 0x13, 0x32, 0x36, + 0x3d, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x35, 0x33, + 0x15, 0xf9, 0x01, 0xf0, 0x01, 0x50, 0xfe, 0xb0, 0x4f, 0x94, 0x67, + 0x9f, 0xb7, 0x92, 0x9d, 0xbd, 0xfe, 0xc4, 0x8a, 0x56, 0x5c, 0xb7, + 0x4d, 0x41, 0x51, 0xe0, 0xc8, 0x04, 0x3a, 0xfc, 0x24, 0x8b, 0x25, + 0x62, 0x9c, 0x59, 0x8b, 0x7d, 0x7e, 0x81, 0x03, 0x4e, 0xfb, 0x39, + 0x6b, 0x6b, 0x18, 0x3c, 0x39, 0x38, 0x41, 0x06, 0x27, 0xc0, 0xc0, + 0x00, 0x01, 0x00, 0x68, 0xfe, 0x6e, 0x03, 0xe1, 0x04, 0x3a, 0x00, + 0x0b, 0x00, 0x3d, 0x40, 0x1d, 0x08, 0x09, 0x09, 0x0a, 0x01, 0x01, + 0x0b, 0x07, 0x03, 0x03, 0x04, 0x0b, 0x04, 0x0c, 0x0d, 0x02, 0x07, + 0x0a, 0x01, 0x07, 0x01, 0x09, 0x03, 0x0b, 0x0f, 0x06, 0x1b, 0x09, + 0x15, 0x00, 0x3f, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x32, 0x11, 0x33, 0x31, 0x30, 0x09, 0x01, + 0x37, 0x11, 0x33, 0x11, 0x23, 0x11, 0x01, 0x23, 0x09, 0x01, 0x01, + 0x3b, 0x01, 0x6e, 0x84, 0xb4, 0xb4, 0xfe, 0x25, 0xd3, 0x01, 0xb7, + 0xfe, 0x32, 0x04, 0x3a, 0xfe, 0x0d, 0x62, 0x01, 0x91, 0xfa, 0x34, + 0x03, 0x9f, 0xfd, 0xf3, 0x01, 0xd1, 0x02, 0x69, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x09, 0x00, 0x00, 0x04, 0x15, 0x04, 0x3a, 0x00, 0x05, + 0x00, 0x22, 0x40, 0x0a, 0x04, 0x01, 0x01, 0x00, 0x06, 0x07, 0x02, + 0x0f, 0x01, 0x04, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x01, 0x15, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x29, 0x01, 0x11, 0x33, 0x11, 0x21, 0x04, 0x15, + 0xfc, 0xf4, 0xb4, 0x02, 0x58, 0x04, 0x3a, 0xfc, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x8a, 0xfe, 0x57, 0x05, 0x05, 0x05, 0xda, + 0x00, 0x1c, 0x00, 0x28, 0x00, 0x41, 0x40, 0x22, 0x23, 0x1b, 0x1d, + 0x04, 0x12, 0x12, 0x0b, 0x11, 0x1b, 0x11, 0x29, 0x2a, 0x18, 0x26, + 0x50, 0x59, 0x14, 0x18, 0x16, 0x12, 0x1c, 0x08, 0x0e, 0x52, 0x59, + 0x08, 0x01, 0x00, 0x20, 0x50, 0x59, 0x03, 0x00, 0x10, 0x00, 0x3f, + 0x32, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x16, 0x17, 0x33, 0x11, + 0x34, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x15, 0x26, 0x23, 0x22, 0x15, + 0x11, 0x23, 0x11, 0x37, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, + 0x10, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x02, 0x11, 0x7d, 0x9e, 0x33, 0x02, 0x92, 0x8f, 0x37, + 0x27, 0x25, 0x38, 0x3c, 0x7d, 0xb5, 0x04, 0x02, 0x35, 0x9d, 0x7d, + 0xcb, 0xbd, 0x02, 0xd5, 0x88, 0x94, 0x86, 0x79, 0x78, 0x85, 0x93, + 0x8b, 0x04, 0x4a, 0x56, 0x64, 0x01, 0x22, 0x91, 0x97, 0x08, 0x08, + 0xa6, 0x14, 0x94, 0xf9, 0xb3, 0x01, 0xb7, 0xa8, 0x6b, 0x65, 0x01, + 0x18, 0x01, 0x16, 0x02, 0x36, 0xfd, 0xe0, 0xd4, 0xc7, 0xcc, 0xdf, + 0xdb, 0xce, 0xda, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x85, 0x00, + 0x00, 0x04, 0x31, 0x05, 0xcc, 0x00, 0x1f, 0x00, 0x5b, 0x40, 0x32, + 0x0d, 0x0e, 0x18, 0x1c, 0x1c, 0x01, 0x1d, 0x07, 0x14, 0x14, 0x1d, + 0x0e, 0x03, 0x20, 0x21, 0x1b, 0x1f, 0x00, 0x1f, 0x51, 0x59, 0x18, + 0x00, 0x04, 0x17, 0x50, 0x59, 0x0f, 0x04, 0x1f, 0x04, 0x02, 0x09, + 0x03, 0x00, 0x04, 0x0d, 0x0d, 0x04, 0x00, 0x03, 0x11, 0x1d, 0x15, + 0x11, 0x0a, 0x50, 0x59, 0x11, 0x01, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x12, 0x17, 0x39, 0x2f, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, + 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x21, 0x11, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x11, + 0x14, 0x02, 0x07, 0x15, 0x21, 0x15, 0x21, 0x15, 0x23, 0x35, 0x21, + 0x85, 0x01, 0x33, 0x34, 0x45, 0xa1, 0xa3, 0x8e, 0x9e, 0x6b, 0x8a, + 0x16, 0xb9, 0x1e, 0xf5, 0xb7, 0xf2, 0xf0, 0xea, 0xdb, 0x01, 0x55, + 0xfe, 0xab, 0xb4, 0xfe, 0xcd, 0x01, 0x14, 0x01, 0x0a, 0x12, 0xd6, + 0xc8, 0xd7, 0xbe, 0x69, 0x63, 0x0e, 0x94, 0xb7, 0xfe, 0xec, 0xfe, + 0xf4, 0xf8, 0xfe, 0xdf, 0x11, 0x6e, 0x7b, 0x99, 0x99, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x85, 0x00, 0x00, 0x04, 0x31, 0x05, 0xcc, 0x00, + 0x1f, 0x00, 0x5d, 0x40, 0x33, 0x10, 0x0f, 0x1b, 0x1f, 0x1f, 0x04, + 0x00, 0x15, 0x08, 0x08, 0x00, 0x0f, 0x03, 0x21, 0x20, 0x1e, 0x02, + 0x03, 0x02, 0x51, 0x59, 0x1b, 0x03, 0x18, 0x05, 0x50, 0x59, 0x0f, + 0x18, 0x1f, 0x18, 0x02, 0x09, 0x03, 0x03, 0x18, 0x10, 0x10, 0x18, + 0x03, 0x03, 0x00, 0x0c, 0x0c, 0x13, 0x50, 0x59, 0x0c, 0x01, 0x00, + 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, 0x18, + 0x2f, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x35, 0x21, + 0x35, 0x21, 0x35, 0x26, 0x02, 0x11, 0x34, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x20, 0x11, 0x14, 0x16, 0x33, + 0x32, 0x37, 0x11, 0x21, 0x15, 0x21, 0x15, 0x02, 0x4a, 0xfe, 0xab, + 0x01, 0x55, 0xe4, 0xe1, 0x7d, 0xe1, 0x93, 0xb2, 0xea, 0x1f, 0xb9, + 0x16, 0x89, 0x6c, 0xfe, 0xd4, 0xa3, 0xa1, 0x45, 0x34, 0x01, 0x33, + 0xfe, 0xcd, 0x99, 0x7b, 0x6e, 0x11, 0x01, 0x0e, 0x01, 0x03, 0xb0, + 0xf7, 0x81, 0xb2, 0x99, 0x0e, 0x63, 0x69, 0xfe, 0x6b, 0xc8, 0xd6, + 0x12, 0xfe, 0xf6, 0x7b, 0x99, 0x00, 0x03, 0x00, 0x32, 0xff, 0xec, + 0x04, 0xcd, 0x05, 0xcc, 0x00, 0x18, 0x00, 0x22, 0x00, 0x25, 0x00, + 0x64, 0x40, 0x35, 0x19, 0x08, 0x16, 0x23, 0x23, 0x12, 0x12, 0x1e, + 0x0e, 0x02, 0x11, 0x24, 0x17, 0x15, 0x15, 0x11, 0x08, 0x03, 0x26, + 0x27, 0x15, 0x25, 0x13, 0x25, 0x50, 0x59, 0x13, 0x0f, 0x11, 0x01, + 0x0f, 0x0b, 0x0b, 0x20, 0x50, 0x59, 0x0b, 0x10, 0x05, 0x1c, 0x50, + 0x59, 0x02, 0x05, 0x15, 0x23, 0x16, 0x00, 0x16, 0x50, 0x59, 0x00, + 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x21, 0x26, 0x35, 0x23, 0x06, 0x23, 0x22, 0x02, 0x11, + 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, + 0x21, 0x15, 0x01, 0x21, 0x15, 0x01, 0x14, 0x16, 0x33, 0x32, 0x11, + 0x10, 0x23, 0x22, 0x06, 0x09, 0x01, 0x21, 0x02, 0x0e, 0x05, 0x03, + 0x37, 0xa4, 0x85, 0x74, 0x85, 0x7b, 0x49, 0x65, 0x22, 0x02, 0x02, + 0xa0, 0x02, 0x10, 0xfe, 0x9b, 0x01, 0x80, 0xfc, 0x0c, 0x41, 0x47, + 0xa1, 0x9f, 0x47, 0x43, 0x01, 0xc9, 0x01, 0x63, 0xfe, 0x9d, 0x32, + 0x5e, 0xa4, 0x01, 0x03, 0x01, 0x29, 0x01, 0x1c, 0x01, 0x1a, 0x42, + 0x52, 0x71, 0x01, 0xa1, 0xfe, 0x6e, 0x84, 0xfc, 0xd5, 0x8b, 0x02, + 0x1e, 0xd8, 0xcf, 0x01, 0xb3, 0x01, 0x9f, 0xd4, 0xfd, 0x88, 0x03, + 0x32, 0x00, 0x00, 0x02, 0x00, 0x32, 0xfe, 0x57, 0x04, 0xc3, 0x05, + 0xcc, 0x00, 0x2f, 0x00, 0x39, 0x00, 0x84, 0x40, 0x47, 0x30, 0x18, + 0x0d, 0x22, 0x22, 0x35, 0x12, 0x21, 0x00, 0x2f, 0x26, 0x0b, 0x0c, + 0x25, 0x06, 0x29, 0x29, 0x25, 0x0b, 0x2f, 0x21, 0x18, 0x06, 0x3a, + 0x3b, 0x00, 0x00, 0x2c, 0x15, 0x2c, 0x03, 0x50, 0x59, 0x2c, 0x1c, + 0x25, 0x0d, 0x23, 0x0d, 0x50, 0x59, 0x23, 0x0f, 0x21, 0x01, 0x0b, + 0x26, 0x26, 0x0a, 0x51, 0x59, 0x26, 0x26, 0x15, 0x1f, 0x1b, 0x1b, + 0x37, 0x50, 0x59, 0x1b, 0x10, 0x15, 0x33, 0x50, 0x59, 0x12, 0x15, + 0x16, 0x10, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x12, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x27, 0x13, 0x21, 0x11, + 0x17, 0x23, 0x26, 0x35, 0x23, 0x06, 0x23, 0x22, 0x02, 0x11, 0x10, + 0x12, 0x33, 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, 0x21, + 0x15, 0x03, 0x1e, 0x01, 0x15, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, + 0x01, 0x14, 0x16, 0x33, 0x32, 0x11, 0x10, 0x23, 0x22, 0x06, 0x02, + 0xc1, 0x18, 0x4d, 0x42, 0x53, 0x61, 0x70, 0x5f, 0x2e, 0x05, 0xe9, + 0xfe, 0x9f, 0x0a, 0x9e, 0x05, 0x03, 0x37, 0xa4, 0x85, 0x74, 0x85, + 0x7b, 0x49, 0x65, 0x22, 0x02, 0x02, 0xa0, 0x02, 0x14, 0xee, 0x80, + 0x7b, 0xb4, 0xa3, 0x87, 0x97, 0x2a, 0xfe, 0xb5, 0x41, 0x47, 0xa1, + 0x9f, 0x47, 0x43, 0x84, 0x57, 0x45, 0xc4, 0xac, 0xa7, 0xa4, 0x74, + 0x01, 0xa0, 0xfc, 0xce, 0x7d, 0x32, 0x5e, 0xa4, 0x01, 0x03, 0x01, + 0x29, 0x01, 0x1c, 0x01, 0x1a, 0x42, 0x52, 0x71, 0x01, 0xa1, 0xfe, + 0x6e, 0x7f, 0xfe, 0x5d, 0x21, 0xe0, 0xc9, 0xf1, 0xfe, 0xfa, 0x75, + 0x98, 0x02, 0xba, 0xd8, 0xcf, 0x01, 0xb3, 0x01, 0x9f, 0xd4, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x1e, 0xff, 0x53, 0x04, 0xcd, 0x05, + 0xcc, 0x00, 0x24, 0x00, 0x2e, 0x00, 0x31, 0x00, 0x39, 0x00, 0x7e, + 0x40, 0x44, 0x25, 0x0d, 0x00, 0x35, 0x35, 0x1c, 0x38, 0x04, 0x1b, + 0x1b, 0x2f, 0x17, 0x17, 0x2a, 0x07, 0x16, 0x30, 0x1a, 0x38, 0x22, + 0x22, 0x1a, 0x16, 0x0d, 0x04, 0x3a, 0x3b, 0x1a, 0x31, 0x18, 0x31, + 0x50, 0x59, 0x1f, 0x32, 0x50, 0x59, 0x2f, 0x1f, 0x1f, 0x05, 0x18, + 0x0f, 0x16, 0x01, 0x10, 0x2c, 0x50, 0x59, 0x10, 0x10, 0x0a, 0x28, + 0x50, 0x59, 0x07, 0x02, 0x0a, 0x16, 0x35, 0x1b, 0x05, 0x1b, 0x50, + 0x59, 0x00, 0x05, 0x15, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0xc6, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x12, 0x39, 0x2f, 0x39, 0x2b, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x06, 0x07, 0x27, 0x37, 0x23, + 0x26, 0x35, 0x23, 0x06, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, + 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, 0x21, 0x15, 0x01, + 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x21, 0x01, 0x14, + 0x16, 0x33, 0x32, 0x11, 0x10, 0x23, 0x22, 0x06, 0x09, 0x01, 0x21, + 0x01, 0x22, 0x06, 0x07, 0x33, 0x32, 0x35, 0x34, 0x03, 0x29, 0x32, + 0x12, 0x83, 0x2d, 0x95, 0x05, 0x03, 0x37, 0xa4, 0x85, 0x74, 0x85, + 0x7b, 0x49, 0x65, 0x22, 0x02, 0x02, 0xa0, 0x02, 0x10, 0xfd, 0xf1, + 0x3b, 0x4c, 0x8c, 0x5f, 0x65, 0x67, 0xfe, 0xe6, 0xfd, 0x12, 0x41, + 0x47, 0xa1, 0x9f, 0x47, 0x43, 0x01, 0xc9, 0x01, 0x5e, 0xfe, 0xa2, + 0x01, 0x70, 0x2d, 0x46, 0x27, 0x4b, 0x8d, 0x78, 0x35, 0x38, 0x75, + 0x32, 0x5e, 0xa4, 0x01, 0x03, 0x01, 0x29, 0x01, 0x1c, 0x01, 0x1a, + 0x42, 0x52, 0x71, 0x01, 0xa1, 0xfe, 0x6e, 0x84, 0xfc, 0xd5, 0x9a, + 0x80, 0x63, 0x5c, 0xe6, 0x02, 0x1e, 0xd8, 0xcf, 0x01, 0xb3, 0x01, + 0x9f, 0xd4, 0xfe, 0x92, 0x02, 0x28, 0xfd, 0x70, 0x49, 0x4b, 0x5b, + 0x39, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x9b, 0x05, + 0x2c, 0x00, 0x22, 0x00, 0x34, 0x00, 0x61, 0x40, 0x33, 0x0e, 0x31, + 0x31, 0x0b, 0x07, 0x1a, 0x2d, 0x15, 0x14, 0x14, 0x25, 0x00, 0x00, + 0x2d, 0x07, 0x03, 0x35, 0x36, 0x1a, 0x25, 0x11, 0x04, 0x11, 0x18, + 0x50, 0x59, 0x00, 0x15, 0x01, 0x12, 0x03, 0x15, 0x15, 0x11, 0x10, + 0x30, 0x09, 0x0a, 0x09, 0x51, 0x59, 0x0e, 0x0c, 0x0a, 0x10, 0x04, + 0x34, 0x50, 0x59, 0x04, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0xc6, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2f, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, + 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x37, 0x33, 0x15, 0x21, 0x36, + 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x15, 0x14, + 0x1e, 0x02, 0x1f, 0x01, 0x1e, 0x01, 0x01, 0x32, 0x35, 0x34, 0x2e, + 0x01, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x37, 0x23, 0x11, 0x14, 0x16, + 0x33, 0x04, 0x9b, 0xd7, 0xbf, 0xfe, 0x59, 0x74, 0x6d, 0x7d, 0x84, + 0x21, 0x78, 0x01, 0x86, 0x42, 0x43, 0x97, 0xb2, 0x17, 0x9d, 0x0c, + 0x63, 0x52, 0xaa, 0x21, 0x3c, 0x55, 0x35, 0x6b, 0x64, 0x65, 0xfe, + 0x65, 0xf2, 0x23, 0x46, 0x6f, 0x86, 0x7c, 0x42, 0x2d, 0xe6, 0x3c, + 0x39, 0x01, 0x3f, 0x9a, 0xa5, 0x7a, 0x7b, 0x02, 0xc2, 0x83, 0xf2, + 0xf2, 0x11, 0x7e, 0x8b, 0x14, 0x49, 0x4c, 0x95, 0x2c, 0x38, 0x27, + 0x1d, 0x11, 0x23, 0x21, 0x87, 0xfe, 0xe2, 0xa5, 0x30, 0x3d, 0x2a, + 0x21, 0x26, 0x4d, 0x6e, 0x52, 0x53, 0x48, 0xfd, 0x65, 0x4e, 0x42, + 0x00, 0x00, 0x02, 0x00, 0x2f, 0xfe, 0x57, 0x04, 0xfc, 0x05, 0xcc, + 0x00, 0x26, 0x00, 0x2e, 0x00, 0x65, 0x40, 0x12, 0x05, 0x28, 0x28, + 0x02, 0x25, 0x2d, 0x06, 0x20, 0x20, 0x18, 0x0c, 0x13, 0x25, 0x13, + 0x2f, 0x30, 0x22, 0x2b, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x22, 0x16, + 0x16, 0x1b, 0xb8, 0x01, 0x0a, 0x40, 0x09, 0x59, 0x16, 0x1c, 0x03, + 0x03, 0x01, 0x0a, 0x0a, 0x0f, 0xb8, 0x01, 0x0a, 0x40, 0x0c, 0x59, + 0x0a, 0x01, 0x27, 0x00, 0x01, 0x00, 0x50, 0x59, 0x05, 0x01, 0x0f, + 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, + 0x13, 0x33, 0x11, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x3d, 0x01, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, + 0x2f, 0xaa, 0x3a, 0x78, 0x01, 0xb0, 0x97, 0x93, 0x6b, 0x2c, 0x31, + 0x42, 0x4d, 0x4b, 0x98, 0x9b, 0x4f, 0x37, 0x3c, 0x39, 0x36, 0x3d, + 0x1b, 0x93, 0x8d, 0xa2, 0xa2, 0xb4, 0x55, 0x61, 0x6a, 0x90, 0x03, + 0xac, 0x8e, 0x01, 0x1a, 0xfe, 0xe6, 0x30, 0xad, 0xb5, 0x12, 0xa7, + 0x1b, 0x69, 0x80, 0xfb, 0x75, 0xb4, 0xaf, 0x13, 0xa0, 0x18, 0x2c, + 0x55, 0x68, 0x37, 0x22, 0x89, 0x94, 0x02, 0x9f, 0xfd, 0x74, 0x4f, + 0x4c, 0x19, 0x03, 0x0e, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xff, + 0xec, 0x04, 0xc3, 0x05, 0x2c, 0x00, 0x30, 0x00, 0x3c, 0x00, 0x74, + 0x40, 0x36, 0x0e, 0x12, 0x12, 0x0b, 0x07, 0x24, 0x19, 0x1f, 0x1e, + 0x1e, 0x34, 0x2d, 0x2d, 0x3b, 0x26, 0x02, 0x17, 0x19, 0x07, 0x07, + 0x3d, 0x3e, 0x1c, 0x21, 0x50, 0x59, 0x1c, 0x10, 0x11, 0x09, 0x0a, + 0x09, 0x51, 0x59, 0x2a, 0x37, 0x50, 0x59, 0x26, 0x17, 0x3b, 0x02, + 0x04, 0x2a, 0x1f, 0x2a, 0x1f, 0x00, 0x0e, 0x0c, 0x0a, 0x10, 0x04, + 0x15, 0xb8, 0x01, 0x0a, 0x40, 0x09, 0x59, 0x04, 0x16, 0x00, 0x31, + 0x50, 0x59, 0x00, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0xc6, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x17, + 0x39, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, 0x27, 0x06, 0x23, + 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x37, 0x33, 0x15, 0x33, + 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x26, 0x35, 0x10, + 0x12, 0x33, 0x20, 0x13, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x17, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x27, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x0f, 0x01, 0x16, + 0x03, 0x5a, 0xa0, 0x64, 0x6f, 0x8c, 0x6e, 0x84, 0x7d, 0x84, 0x21, + 0x78, 0xb0, 0xb0, 0x38, 0x47, 0x3d, 0x3f, 0x4c, 0xd5, 0xc7, 0x01, + 0x30, 0x34, 0xa5, 0x1a, 0xac, 0x7d, 0x70, 0x22, 0x53, 0x60, 0x5f, + 0x37, 0x73, 0x85, 0x52, 0xa1, 0x6e, 0x63, 0x6b, 0x38, 0x32, 0x2f, + 0x5c, 0x37, 0x41, 0x2d, 0x14, 0x64, 0x64, 0x89, 0x7a, 0x02, 0xc8, + 0x83, 0xf2, 0xf2, 0x83, 0xfd, 0x6b, 0x55, 0x46, 0x35, 0x8e, 0xd4, + 0x01, 0x0e, 0x01, 0x22, 0xfe, 0xbd, 0x0e, 0xc4, 0xd1, 0xce, 0x8f, + 0x65, 0x57, 0x49, 0x26, 0x7d, 0x6b, 0x58, 0x81, 0x47, 0x86, 0x47, + 0x46, 0x30, 0x3b, 0x36, 0x3b, 0x41, 0x46, 0x00, 0x00, 0x01, 0x00, + 0x00, 0xfe, 0x57, 0x04, 0x64, 0x05, 0xca, 0x00, 0x31, 0x00, 0x63, + 0x40, 0x35, 0x2a, 0x31, 0x31, 0x1f, 0x1f, 0x24, 0x20, 0x01, 0x1a, + 0x1a, 0x1c, 0x1b, 0x0d, 0x12, 0x12, 0x09, 0x09, 0x1b, 0x20, 0x03, + 0x32, 0x33, 0x28, 0x2d, 0x50, 0x59, 0x28, 0x01, 0x1e, 0x22, 0x23, + 0x22, 0x51, 0x59, 0x31, 0x23, 0x10, 0x1b, 0x20, 0x15, 0x0b, 0x10, + 0x52, 0x59, 0x0b, 0x1c, 0x05, 0x16, 0x50, 0x59, 0x01, 0x05, 0x10, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x10, + 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x27, 0x23, 0x11, 0x23, + 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, + 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x02, 0x8e, 0x07, 0x02, 0x22, + 0x68, 0x5b, 0x7a, 0x6e, 0xfe, 0xfc, 0x3c, 0x42, 0x2e, 0x40, 0x6c, + 0x35, 0x4a, 0x4a, 0x56, 0xa6, 0x01, 0xd8, 0xa6, 0x78, 0x78, 0x78, + 0x7c, 0x44, 0x32, 0x2d, 0x1d, 0x41, 0x39, 0x04, 0x3a, 0x9a, 0x57, + 0x57, 0xb4, 0xc9, 0xfc, 0xae, 0xfe, 0xd8, 0x10, 0xa4, 0x12, 0x94, + 0x03, 0x21, 0x9e, 0x77, 0xae, 0xa2, 0xfd, 0x8d, 0x03, 0x84, 0x33, + 0xfc, 0x49, 0x03, 0xb7, 0x83, 0x7a, 0x95, 0x81, 0x0c, 0x89, 0x08, + 0x48, 0x5a, 0x61, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 0xff, + 0xec, 0x04, 0xb6, 0x05, 0xcc, 0x00, 0x2e, 0x00, 0x53, 0x40, 0x2c, + 0x03, 0x2e, 0x2e, 0x00, 0x1e, 0x11, 0x18, 0x17, 0x17, 0x09, 0x27, + 0x27, 0x11, 0x00, 0x03, 0x2f, 0x30, 0x2d, 0x2a, 0x2a, 0x06, 0x50, + 0x59, 0x2a, 0x16, 0x09, 0x1e, 0x00, 0x14, 0x14, 0x1b, 0x50, 0x59, + 0x90, 0x18, 0x01, 0x18, 0x18, 0x14, 0x10, 0x01, 0x01, 0x00, 0x15, + 0x00, 0x3f, 0x3f, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, 0x16, 0x04, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x01, 0x2e, 0x02, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, + 0x15, 0x14, 0x1e, 0x01, 0x17, 0x1e, 0x03, 0x15, 0x14, 0x04, 0x23, + 0x22, 0x26, 0x27, 0x15, 0x46, 0xb4, 0x4e, 0x00, 0xff, 0x8f, 0x94, + 0x9d, 0x58, 0x62, 0x81, 0x9b, 0x83, 0x4a, 0xd3, 0xca, 0xb3, 0xd3, + 0x1c, 0xa2, 0x0f, 0x83, 0x6e, 0x7a, 0x74, 0x30, 0x5e, 0x97, 0x8f, + 0x7e, 0x49, 0x28, 0xfe, 0xfa, 0xda, 0x8a, 0xff, 0x53, 0x05, 0xcc, + 0xfb, 0x52, 0x51, 0x58, 0x57, 0x51, 0x40, 0x50, 0x1a, 0x22, 0x28, + 0x4d, 0x6e, 0x50, 0x94, 0x9b, 0x7e, 0x8b, 0x14, 0x48, 0x4d, 0x4a, + 0x4b, 0x2e, 0x3c, 0x2a, 0x25, 0x24, 0x3d, 0x4a, 0x61, 0x3e, 0x92, + 0xad, 0x47, 0x3c, 0x6f, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb9, 0x00, + 0x00, 0x04, 0x94, 0x05, 0xcc, 0x00, 0x08, 0x00, 0x0b, 0x00, 0x3c, + 0x40, 0x1e, 0x06, 0x03, 0x0a, 0x0a, 0x00, 0x0b, 0x07, 0x05, 0x00, + 0x05, 0x0c, 0x0d, 0x05, 0x09, 0x03, 0x09, 0x50, 0x59, 0x03, 0x0f, + 0x01, 0x01, 0x0a, 0x06, 0x00, 0x06, 0x50, 0x59, 0x00, 0x15, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, + 0x01, 0x21, 0x15, 0x01, 0x11, 0x01, 0xb9, 0xb4, 0x03, 0x02, 0xfd, + 0xbc, 0x02, 0x69, 0xfc, 0xd9, 0x02, 0x3f, 0x05, 0xcc, 0xfe, 0x6e, + 0x89, 0xfc, 0xda, 0x8b, 0x03, 0xaf, 0xfc, 0xde, 0x03, 0x22, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x8e, 0x00, 0x01, 0x04, 0x3e, 0x05, 0xcc, + 0x00, 0x0c, 0x00, 0x19, 0x00, 0x67, 0x40, 0x34, 0x13, 0x12, 0x12, + 0x06, 0x05, 0x07, 0x14, 0x02, 0x0f, 0x0a, 0x17, 0x18, 0x19, 0x19, + 0x0b, 0x0c, 0x0c, 0x17, 0x0f, 0x14, 0x05, 0x05, 0x1a, 0x1b, 0x0a, + 0x01, 0x01, 0x07, 0x04, 0x04, 0x18, 0x12, 0x0f, 0x15, 0x12, 0x15, + 0x12, 0x15, 0x11, 0x08, 0x17, 0x0e, 0x0e, 0x14, 0x11, 0x15, 0x02, + 0x08, 0x01, 0x0b, 0x05, 0x01, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x3f, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x2f, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x23, 0x0b, 0x01, 0x23, 0x03, 0x33, 0x1b, 0x01, 0x33, 0x1b, 0x01, + 0x33, 0x03, 0x23, 0x0b, 0x01, 0x23, 0x03, 0x33, 0x1b, 0x01, 0x33, + 0x1b, 0x01, 0x33, 0x03, 0x7a, 0x85, 0x8f, 0x94, 0x85, 0xbf, 0x7c, + 0x86, 0x99, 0x7b, 0x9b, 0x85, 0x7a, 0xc4, 0x85, 0x8f, 0x94, 0x85, + 0xbf, 0x7c, 0x86, 0x99, 0x7b, 0x9b, 0x85, 0x7a, 0x03, 0x09, 0x02, + 0x23, 0xfd, 0xdd, 0x02, 0xc3, 0xfd, 0xc8, 0x02, 0x38, 0xfd, 0xc8, + 0x02, 0x38, 0xfa, 0x35, 0x02, 0x23, 0xfd, 0xdd, 0x02, 0xc3, 0xfd, + 0xc8, 0x02, 0x38, 0xfd, 0xc8, 0x02, 0x38, 0x00, 0x02, 0x00, 0xad, + 0x00, 0x00, 0x04, 0x1f, 0x05, 0xcc, 0x00, 0x07, 0x00, 0x0f, 0x00, + 0x44, 0x40, 0x22, 0x04, 0x0c, 0x0c, 0x05, 0x0d, 0x01, 0x09, 0x09, + 0x00, 0x08, 0x0d, 0x08, 0x10, 0x11, 0x0e, 0x0b, 0x52, 0x59, 0x01, + 0x05, 0x0e, 0x05, 0x0e, 0x05, 0x06, 0x09, 0x0d, 0x15, 0x06, 0x03, + 0x52, 0x59, 0x06, 0x01, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, + 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x04, 0x1f, 0xae, + 0xfd, 0xeb, 0xaf, 0x03, 0x72, 0xae, 0xfd, 0xeb, 0xaf, 0x03, 0x72, + 0x03, 0xe5, 0x01, 0x3f, 0xfe, 0xc1, 0x01, 0xe7, 0xfa, 0x34, 0x01, + 0x3f, 0xfe, 0xc1, 0x01, 0xe7, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0xfe, 0x56, 0x04, 0x27, 0x04, 0x4c, 0x00, 0x1e, 0x00, 0x39, 0x40, + 0x1c, 0x14, 0x0f, 0x07, 0x1a, 0x1e, 0x1e, 0x1d, 0x07, 0x1d, 0x1f, + 0x20, 0x1b, 0x0f, 0x11, 0x0c, 0x52, 0x59, 0x11, 0x10, 0x1e, 0x04, + 0x04, 0x17, 0x50, 0x59, 0x00, 0x04, 0x16, 0x00, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x10, 0xc6, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x25, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, + 0x2e, 0x01, 0x23, 0x22, 0x07, 0x27, 0x36, 0x33, 0x20, 0x19, 0x01, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, 0x03, + 0x72, 0x03, 0x30, 0x93, 0x70, 0xa1, 0x98, 0x18, 0x35, 0x30, 0x28, + 0x2e, 0x30, 0x3f, 0x68, 0x01, 0x11, 0x59, 0x6b, 0x6f, 0x88, 0xb4, + 0xb5, 0x90, 0x50, 0x55, 0xb1, 0xcc, 0x01, 0x10, 0x87, 0x70, 0x3b, + 0x1b, 0x94, 0x29, 0xfe, 0x5a, 0xfe, 0xe5, 0xa2, 0x73, 0xaf, 0x96, + 0x02, 0x7f, 0xfa, 0x1c, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfe, 0x57, + 0x05, 0x40, 0x04, 0x4c, 0x00, 0x28, 0x00, 0x3f, 0x40, 0x21, 0x14, + 0x0f, 0x07, 0x1a, 0x28, 0x28, 0x23, 0x1d, 0x07, 0x1d, 0x29, 0x2a, + 0x25, 0x20, 0x52, 0x59, 0x25, 0x1c, 0x1b, 0x0f, 0x11, 0x0c, 0x52, + 0x59, 0x11, 0x10, 0x04, 0x17, 0x50, 0x59, 0x00, 0x04, 0x16, 0x00, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x25, 0x23, 0x0e, 0x01, 0x23, 0x22, + 0x26, 0x35, 0x11, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x27, 0x36, + 0x33, 0x20, 0x19, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, + 0x33, 0x13, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x03, 0x72, 0x03, 0x30, 0x93, 0x70, 0xa1, 0x98, 0x18, + 0x35, 0x30, 0x28, 0x2e, 0x30, 0x3f, 0x68, 0x01, 0x11, 0x59, 0x6b, + 0x6f, 0x88, 0xb4, 0x01, 0x45, 0x53, 0x2f, 0x39, 0x18, 0x4d, 0x41, + 0xac, 0x94, 0x90, 0x50, 0x55, 0xb1, 0xcc, 0x01, 0x10, 0x87, 0x70, + 0x3b, 0x1b, 0x94, 0x29, 0xfe, 0x5a, 0xfe, 0xe5, 0xa2, 0x73, 0xaf, + 0x96, 0x02, 0x7f, 0xfb, 0xb2, 0x80, 0x73, 0x14, 0x9f, 0x17, 0xbb, + 0xd3, 0x00, 0xff, 0xff, 0x01, 0x43, 0x01, 0xea, 0x03, 0x8f, 0x06, + 0x00, 0x10, 0x07, 0x03, 0x2b, 0x02, 0x62, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x40, 0x01, 0xea, 0x03, 0x8c, 0x06, 0x0a, 0x00, + 0x1e, 0x00, 0x46, 0x40, 0x0f, 0x1e, 0x1c, 0x10, 0x10, 0x11, 0x08, + 0x07, 0x07, 0x17, 0x11, 0x03, 0x1f, 0x20, 0x14, 0x19, 0x41, 0x0a, + 0x01, 0x48, 0x00, 0x59, 0x00, 0x14, 0x01, 0x33, 0x00, 0x08, 0x00, + 0x11, 0x01, 0x2e, 0x00, 0x03, 0x00, 0x0c, 0x01, 0x49, 0xb2, 0x59, + 0x00, 0x03, 0xb8, 0x01, 0x31, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x3e, 0x01, 0x33, + 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x11, 0x23, 0x11, 0x34, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, + 0x22, 0x1d, 0x01, 0x14, 0x07, 0x01, 0xb7, 0x29, 0x6f, 0x54, 0x76, + 0x73, 0x7b, 0x46, 0x52, 0x58, 0x66, 0x7b, 0xc1, 0x31, 0x30, 0x22, + 0x2f, 0x56, 0x06, 0x04, 0x62, 0x4d, 0x44, 0x7b, 0x92, 0xfe, 0x04, + 0x01, 0xe4, 0x71, 0x52, 0x7d, 0x68, 0xfe, 0x3e, 0x03, 0x4f, 0xd1, + 0x0b, 0x75, 0x0e, 0x64, 0x44, 0x70, 0x1e, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x01, 0xaa, 0x00, 0xba, 0x02, 0xa4, 0x05, 0xcc, 0x00, 0x03, + 0x00, 0x10, 0x00, 0x3d, 0x40, 0x0f, 0x03, 0x04, 0x04, 0x09, 0x00, + 0x0e, 0x0e, 0x11, 0x12, 0x0f, 0x0f, 0x07, 0x01, 0x07, 0x0b, 0xb8, + 0x01, 0x49, 0xb4, 0x59, 0x07, 0x01, 0x01, 0x00, 0xbb, 0x01, 0x48, + 0x00, 0x5b, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x7d, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x35, 0x33, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x17, + 0x32, 0x36, 0x35, 0x11, 0x33, 0x02, 0x29, 0x7b, 0x50, 0x54, 0x39, + 0x1d, 0x2a, 0x34, 0x21, 0x7b, 0x05, 0x57, 0x75, 0x75, 0xfc, 0x29, + 0x65, 0x61, 0x06, 0x5f, 0x04, 0x39, 0x3e, 0x03, 0x29, 0x00, 0x01, + 0x01, 0xcc, 0x01, 0xea, 0x03, 0x28, 0x04, 0xf3, 0x00, 0x12, 0x00, + 0x31, 0x40, 0x0b, 0x0b, 0x05, 0x12, 0x12, 0x01, 0x00, 0x00, 0x13, + 0x14, 0x09, 0x0e, 0xb8, 0x01, 0x48, 0xb2, 0x59, 0x05, 0x09, 0xbc, + 0x01, 0x31, 0x00, 0x03, 0x01, 0x30, 0x00, 0x00, 0x01, 0x2e, 0x00, + 0x3f, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, 0x34, 0x27, 0x33, + 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x11, 0x01, 0xd0, 0x04, 0x74, 0x05, 0x03, 0x1e, 0x4a, + 0x46, 0x16, 0x1c, 0x1c, 0x25, 0x4e, 0x4f, 0x01, 0xea, 0x02, 0x4a, + 0x71, 0x40, 0x9b, 0x62, 0x47, 0x07, 0x74, 0x07, 0x8a, 0x7d, 0xfe, + 0x72, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x68, 0x01, 0xdc, 0x02, + 0xc4, 0x04, 0xe5, 0x00, 0x12, 0x00, 0x2f, 0xb7, 0x0b, 0x05, 0x00, + 0x12, 0x12, 0x13, 0x14, 0x12, 0xbb, 0x01, 0x30, 0x00, 0x09, 0x00, + 0x0e, 0x01, 0x48, 0xb2, 0x59, 0x05, 0x09, 0xba, 0x01, 0x2f, 0x00, + 0x04, 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x33, 0x31, 0x30, 0x01, + 0x11, 0x14, 0x17, 0x23, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0xc0, 0x04, 0x74, + 0x05, 0x03, 0x1c, 0x4c, 0x46, 0x16, 0x1c, 0x1c, 0x25, 0x4f, 0x4e, + 0x04, 0xe5, 0xfd, 0xb6, 0x71, 0x40, 0x9b, 0x60, 0x49, 0x07, 0x74, + 0x07, 0x8a, 0x7d, 0x01, 0x8e, 0x00, 0x00, 0x01, 0x01, 0x5f, 0x00, + 0xbe, 0x03, 0x46, 0x04, 0xe5, 0x00, 0x18, 0x00, 0x3d, 0x40, 0x0b, + 0x07, 0x00, 0x00, 0x11, 0x0c, 0x18, 0x18, 0x19, 0x1a, 0x0f, 0x14, + 0xb8, 0x01, 0x48, 0xb5, 0x59, 0x0c, 0x0f, 0x0f, 0x09, 0x18, 0xbe, + 0x01, 0x30, 0x00, 0x09, 0x00, 0x04, 0x01, 0x48, 0x00, 0x59, 0x00, + 0x09, 0x01, 0x34, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, + 0x2f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, + 0x15, 0x06, 0x23, 0x22, 0x3d, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0xb7, 0x26, 0x26, + 0x27, 0x1c, 0x33, 0x26, 0xad, 0x19, 0x4e, 0x48, 0x16, 0x1c, 0x1e, + 0x24, 0x4d, 0x4f, 0x04, 0xe5, 0xfc, 0xb0, 0x39, 0x2f, 0x0a, 0x71, + 0x08, 0xd1, 0xe2, 0x50, 0x45, 0x07, 0x74, 0x07, 0x8a, 0x7d, 0x01, + 0x8e, 0x00, 0x00, 0x00, 0x02, 0x01, 0x34, 0x01, 0xea, 0x03, 0xac, + 0x04, 0xe5, 0x00, 0x0d, 0x00, 0x14, 0x00, 0x58, 0x40, 0x14, 0x04, + 0x01, 0x01, 0x00, 0x07, 0x00, 0x14, 0x14, 0x0b, 0x02, 0x03, 0x03, + 0x10, 0x07, 0x0b, 0x07, 0x15, 0x16, 0x04, 0x13, 0xb8, 0x01, 0x49, + 0x40, 0x0c, 0x59, 0x01, 0x04, 0x40, 0x09, 0x0c, 0x48, 0x04, 0x04, + 0x0b, 0x02, 0x0c, 0xbe, 0x01, 0x30, 0x00, 0x0b, 0x00, 0x14, 0x01, + 0x49, 0x00, 0x59, 0x00, 0x0b, 0x01, 0x2e, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x33, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x13, + 0x33, 0x03, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x33, + 0x13, 0x32, 0x35, 0x34, 0x2b, 0x01, 0x11, 0x01, 0xae, 0x88, 0xe2, + 0x94, 0xf1, 0x5d, 0x66, 0x93, 0x7d, 0xfe, 0xc6, 0x7a, 0xb8, 0x97, + 0x94, 0xbb, 0x03, 0xb0, 0x01, 0x35, 0xfe, 0xc4, 0x12, 0x78, 0x5c, + 0x66, 0x73, 0x02, 0xfb, 0xfd, 0x65, 0x81, 0x85, 0xfe, 0xfa, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x6d, 0x01, 0xeb, 0x04, 0x60, 0x04, + 0xe5, 0x00, 0x16, 0x00, 0x49, 0x40, 0x17, 0x0a, 0x09, 0x08, 0x07, + 0x0d, 0x10, 0x0f, 0x04, 0x01, 0x00, 0x12, 0x15, 0x16, 0x16, 0x12, + 0x04, 0x0d, 0x09, 0x05, 0x17, 0x18, 0x04, 0x0f, 0xbb, 0x01, 0x30, + 0x00, 0x15, 0x00, 0x09, 0x01, 0x30, 0xb4, 0x12, 0x01, 0x01, 0x0d, + 0x08, 0xb8, 0x01, 0x2e, 0x00, 0x3f, 0x33, 0x33, 0x11, 0x33, 0x3f, + 0x33, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x23, 0x03, 0x26, 0x27, 0x0e, 0x01, 0x03, 0x23, 0x03, + 0x33, 0x13, 0x16, 0x17, 0x37, 0x13, 0x33, 0x13, 0x17, 0x3f, 0x01, + 0x13, 0x33, 0x03, 0x8d, 0x8e, 0x75, 0x0b, 0x19, 0x0a, 0x0f, 0x85, + 0x8d, 0xce, 0x79, 0x7c, 0x16, 0x08, 0x0e, 0x97, 0x83, 0x81, 0x1f, + 0x0d, 0x12, 0x81, 0x78, 0x01, 0xeb, 0x01, 0xec, 0x27, 0x7e, 0x30, + 0x49, 0xfd, 0xe8, 0x02, 0xfa, 0xfd, 0xfa, 0x52, 0x39, 0x3c, 0x02, + 0x55, 0xfd, 0xf5, 0x86, 0x3e, 0x4d, 0x02, 0x06, 0x00, 0x01, 0x01, + 0x0d, 0x00, 0xbe, 0x03, 0xc0, 0x04, 0xe5, 0x00, 0x11, 0x00, 0x38, + 0x40, 0x11, 0x0f, 0x07, 0x0b, 0x0e, 0x0b, 0x02, 0x08, 0x04, 0x12, + 0x13, 0x0f, 0x07, 0x0b, 0x0b, 0x00, 0x0d, 0x08, 0xbe, 0x01, 0x30, + 0x00, 0x00, 0x00, 0x04, 0x01, 0x49, 0x00, 0x59, 0x00, 0x00, 0x01, + 0x34, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x25, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x01, 0x33, + 0x13, 0x17, 0x37, 0x13, 0x33, 0x01, 0x0e, 0x01, 0x01, 0x8c, 0x31, + 0x23, 0x39, 0x38, 0x5d, 0x2b, 0xfe, 0xdc, 0x83, 0x9b, 0x43, 0x2f, + 0xa1, 0x82, 0xfe, 0xe5, 0x41, 0x7f, 0xbe, 0x08, 0x5f, 0x04, 0x58, + 0x74, 0x02, 0xf8, 0xfe, 0x5a, 0xcb, 0x8b, 0x01, 0xe6, 0xfd, 0x05, + 0xac, 0x80, 0x00, 0x00, 0xff, 0xff, 0x01, 0xf6, 0x03, 0x4d, 0x02, + 0xd6, 0x05, 0xcc, 0x12, 0x06, 0x00, 0x0a, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x15, 0x03, 0x4d, 0x03, 0xb6, 0x05, 0xcc, 0x12, 0x06, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x04, 0x03, 0x02, 0xcb, + 0x05, 0xcc, 0x00, 0x09, 0x00, 0x1b, 0x40, 0x0b, 0x09, 0x07, 0x00, + 0x00, 0x0a, 0x0b, 0x07, 0x07, 0x00, 0x05, 0x00, 0x00, 0x3f, 0xcc, + 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x01, 0x35, 0x34, 0x36, 0x37, 0x33, 0x06, 0x15, 0x33, 0x15, 0x02, + 0x02, 0x25, 0x2b, 0x79, 0x5f, 0x59, 0x04, 0x03, 0x92, 0x61, 0x93, + 0x43, 0x89, 0x7d, 0xc3, 0x00, 0x00, 0x01, 0x02, 0x02, 0x04, 0x03, + 0x02, 0xcb, 0x05, 0xcc, 0x00, 0x09, 0x00, 0x1b, 0x40, 0x0b, 0x09, + 0x07, 0x00, 0x00, 0x0a, 0x0b, 0x08, 0x08, 0x05, 0x00, 0x00, 0x00, + 0x3f, 0xcc, 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x15, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, 0x23, + 0x35, 0x02, 0xcb, 0x25, 0x2b, 0x79, 0x5f, 0x59, 0x05, 0xcc, 0x92, + 0x61, 0x93, 0x43, 0x89, 0x7d, 0xc3, 0x00, 0x00, 0x01, 0x02, 0x02, + 0x04, 0x03, 0x02, 0xcb, 0x05, 0xcc, 0x00, 0x09, 0x00, 0x1b, 0x40, + 0x0b, 0x02, 0x00, 0x09, 0x09, 0x0a, 0x0b, 0x02, 0x02, 0x05, 0x00, + 0x00, 0x00, 0x3f, 0xcc, 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x15, 0x23, 0x14, 0x17, 0x23, 0x2e, + 0x01, 0x3d, 0x01, 0x02, 0xc5, 0x59, 0x5f, 0x79, 0x2c, 0x24, 0x05, + 0xcc, 0xc3, 0x7d, 0x89, 0x46, 0x93, 0x5e, 0x92, 0x00, 0x00, 0x01, + 0x02, 0x26, 0x04, 0x78, 0x02, 0xdf, 0x05, 0xf3, 0x00, 0x0d, 0x00, + 0x1a, 0x40, 0x0a, 0x06, 0x00, 0x03, 0x0a, 0x00, 0x0a, 0x0e, 0x0f, + 0x07, 0x0d, 0x00, 0x2f, 0xce, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x23, 0x35, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x02, 0x26, 0x2a, + 0x37, 0x37, 0x2a, 0x54, 0x65, 0x65, 0x54, 0x04, 0xcd, 0x38, 0x31, + 0x31, 0x37, 0x55, 0x66, 0x57, 0x57, 0x67, 0x00, 0x00, 0x01, 0x01, + 0xee, 0x04, 0x78, 0x02, 0xa7, 0x05, 0xf3, 0x00, 0x0d, 0x00, 0x1d, + 0x40, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x03, 0x00, 0x0e, 0x0f, 0x00, + 0x06, 0xb8, 0x01, 0x47, 0x00, 0x3f, 0xce, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x15, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x02, + 0xa7, 0x55, 0x64, 0x64, 0x55, 0x2a, 0x37, 0x37, 0x2a, 0x04, 0x78, + 0x68, 0x56, 0x57, 0x66, 0x55, 0x37, 0x31, 0x31, 0x38, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x36, 0x01, 0xea, 0x03, 0x91, 0x05, 0xcc, 0x00, + 0x16, 0x00, 0x45, 0x40, 0x0e, 0x0b, 0x0c, 0x16, 0x00, 0x06, 0x12, + 0x12, 0x00, 0x0c, 0x03, 0x17, 0x18, 0x03, 0x15, 0xb8, 0x01, 0x49, + 0x40, 0x09, 0x59, 0x03, 0x03, 0x00, 0x0b, 0x0b, 0x0f, 0x0f, 0x09, + 0xbd, 0x01, 0x49, 0x00, 0x59, 0x00, 0x0f, 0x01, 0x2c, 0x00, 0x00, + 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x3e, 0x01, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x02, 0x07, 0x1e, 0x2a, + 0x69, 0x59, 0x57, 0x68, 0x89, 0x15, 0x7e, 0x14, 0x95, 0x70, 0x9e, + 0xa4, 0x8c, 0x84, 0x01, 0xea, 0x01, 0x62, 0x0d, 0x93, 0x87, 0x8e, + 0x85, 0x85, 0x0a, 0x68, 0x73, 0xc0, 0xb6, 0xa5, 0xc4, 0x0b, 0xf8, + 0x00, 0x00, 0x01, 0x01, 0x36, 0x01, 0xea, 0x03, 0x91, 0x05, 0xcc, + 0x00, 0x16, 0x00, 0x45, 0x40, 0x0e, 0x10, 0x04, 0x16, 0x00, 0x0b, + 0x0a, 0x0a, 0x00, 0x04, 0x03, 0x17, 0x18, 0x13, 0x01, 0xb8, 0x01, + 0x49, 0x40, 0x09, 0x59, 0x13, 0x13, 0x00, 0x0b, 0x0b, 0x07, 0x07, + 0x0d, 0xbd, 0x01, 0x49, 0x00, 0x59, 0x00, 0x07, 0x01, 0x2c, 0x00, + 0x00, 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x2e, 0x01, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x02, 0x46, 0x84, + 0x8c, 0xa4, 0x9e, 0x71, 0x94, 0x14, 0x7e, 0x15, 0x89, 0x68, 0x57, + 0x59, 0x69, 0x2a, 0x1e, 0x01, 0xea, 0xf8, 0x0b, 0xc4, 0xa5, 0xb5, + 0xc1, 0x73, 0x68, 0x0a, 0x85, 0x85, 0x8e, 0x87, 0x93, 0x0d, 0xfe, + 0x9e, 0x00, 0xff, 0xff, 0x00, 0x6b, 0x00, 0x9a, 0x04, 0x4e, 0x04, + 0xaa, 0x10, 0x06, 0x00, 0x1f, 0xf7, 0x00, 0xff, 0xff, 0x00, 0x80, + 0x00, 0x9a, 0x04, 0x63, 0x04, 0xaa, 0x10, 0x06, 0x00, 0x21, 0x0c, + 0x00, 0x00, 0x01, 0x00, 0x76, 0x00, 0xed, 0x04, 0x57, 0x04, 0xb8, + 0x00, 0x06, 0x00, 0x26, 0x40, 0x11, 0x03, 0x04, 0x06, 0x05, 0x02, + 0x01, 0x00, 0x00, 0x02, 0x04, 0x03, 0x07, 0x08, 0x02, 0x06, 0x04, + 0x01, 0x00, 0x2f, 0x33, 0xcd, 0x32, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x23, + 0x09, 0x01, 0x23, 0x01, 0x33, 0x04, 0x57, 0xa7, 0xfe, 0xb5, 0xfe, + 0xb8, 0xa7, 0x01, 0x9a, 0xa8, 0xed, 0x03, 0x0e, 0xfc, 0xf2, 0x03, + 0xcb, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x76, 0x00, 0xed, 0x04, + 0x57, 0x04, 0xb8, 0x00, 0x06, 0x00, 0x26, 0x40, 0x11, 0x03, 0x02, + 0x01, 0x00, 0x04, 0x05, 0x06, 0x06, 0x04, 0x02, 0x03, 0x07, 0x08, + 0x05, 0x03, 0x04, 0x01, 0x00, 0x2f, 0x33, 0xcd, 0x32, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x23, 0x01, 0x33, 0x09, 0x01, 0x33, 0x02, 0xb8, 0xa8, + 0xfe, 0x66, 0xa7, 0x01, 0x48, 0x01, 0x4b, 0xa7, 0xed, 0x03, 0xcb, + 0xfc, 0xf2, 0x03, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1b, + 0x04, 0xb1, 0x03, 0xb1, 0x05, 0xb4, 0x00, 0x09, 0x00, 0x1f, 0x40, + 0x10, 0x01, 0x06, 0x06, 0x0a, 0x0b, 0x09, 0x03, 0x8e, 0x59, 0x02, + 0x09, 0x8c, 0x5b, 0x05, 0x02, 0x93, 0x00, 0x3f, 0x33, 0x2b, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x23, + 0x27, 0x23, 0x07, 0x23, 0x35, 0x37, 0x33, 0x03, 0xb1, 0x69, 0xdb, + 0x02, 0xe8, 0x68, 0xfe, 0xa4, 0x04, 0xc5, 0x14, 0x8a, 0x8a, 0x14, + 0xef, 0x00, 0x00, 0x01, 0x01, 0x1b, 0x04, 0xb1, 0x03, 0xb1, 0x05, + 0xb4, 0x00, 0x09, 0x00, 0x22, 0x40, 0x11, 0x08, 0x03, 0x03, 0x0a, + 0x0b, 0x07, 0x04, 0x01, 0x04, 0x8c, 0x5b, 0x01, 0x06, 0x8e, 0x59, + 0x01, 0x93, 0x00, 0x3f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x27, 0x35, 0x33, + 0x17, 0x33, 0x37, 0x33, 0x15, 0x02, 0xbd, 0xa4, 0xfe, 0x68, 0xe8, + 0x02, 0xdb, 0x69, 0x04, 0xb1, 0xef, 0x14, 0x8a, 0x8a, 0x14, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x2e, 0x04, 0x80, 0x02, 0x9f, 0x05, 0xcc, + 0x00, 0x03, 0x00, 0x16, 0xb6, 0x00, 0x01, 0x01, 0x04, 0x05, 0x01, + 0x02, 0xb8, 0x01, 0x47, 0x00, 0x3f, 0xcd, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x11, 0x33, 0x02, 0x9f, 0x71, + 0x71, 0x04, 0x80, 0x01, 0x4c, 0x00, 0x01, 0x01, 0x51, 0x04, 0xd4, + 0x03, 0x78, 0x05, 0x53, 0x00, 0x03, 0x00, 0x16, 0x40, 0x0a, 0x01, + 0x00, 0x04, 0x05, 0x00, 0x03, 0x8f, 0x59, 0x00, 0x94, 0x00, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x31, 0x30, 0x01, 0x21, 0x35, + 0x21, 0x03, 0x78, 0xfd, 0xd9, 0x02, 0x27, 0x04, 0xd4, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0xba, 0x04, 0xb5, 0x03, 0x0b, 0x05, + 0xcc, 0x00, 0x05, 0x00, 0x1d, 0x40, 0x0a, 0x02, 0x03, 0x03, 0x05, + 0x00, 0x00, 0x06, 0x07, 0x05, 0x02, 0xb8, 0x01, 0x47, 0x00, 0x3f, + 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x35, 0x13, 0x33, 0x15, 0x07, 0x01, 0xba, 0x82, 0xcf, + 0xf3, 0x04, 0xb5, 0x14, 0x01, 0x03, 0x1d, 0xfa, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x60, 0x04, 0xb5, 0x02, 0xb1, 0x05, 0xcc, 0x00, + 0x05, 0x00, 0x1d, 0x40, 0x0a, 0x00, 0x05, 0x05, 0x03, 0x02, 0x02, + 0x06, 0x07, 0x00, 0x03, 0xb8, 0x01, 0x47, 0x00, 0x3f, 0xcd, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x27, 0x35, 0x33, 0x13, 0x15, 0x02, 0x53, 0xf3, 0xcf, 0x82, 0x04, + 0xb5, 0xfa, 0x1d, 0xfe, 0xfd, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x2e, 0xfe, 0x6a, 0x02, 0x9f, 0xff, 0xb6, 0x00, 0x03, 0x00, + 0x13, 0xb6, 0x00, 0x01, 0x01, 0x04, 0x05, 0x01, 0x03, 0x00, 0x2f, + 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x11, 0x33, 0x02, 0x9f, 0x71, 0x71, 0xfe, 0x6a, 0x01, 0x4c, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0xfe, 0xec, 0x03, 0x79, 0xff, + 0x6b, 0x00, 0x03, 0x00, 0x16, 0x40, 0x0a, 0x01, 0x00, 0x04, 0x05, + 0x03, 0x00, 0x8f, 0x59, 0x03, 0x95, 0x00, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x03, 0x79, + 0xfd, 0xdb, 0x02, 0x25, 0xfe, 0xec, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xbe, 0xfe, 0x6a, 0x03, 0x0f, 0xff, 0x81, 0x00, 0x05, + 0x00, 0x1a, 0x40, 0x0a, 0x00, 0x05, 0x05, 0x03, 0x02, 0x02, 0x06, + 0x07, 0x00, 0x03, 0x00, 0x2f, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x27, 0x35, 0x33, 0x13, + 0x15, 0x02, 0xb1, 0xf3, 0xcf, 0x82, 0xfe, 0x6a, 0xfa, 0x1d, 0xfe, + 0xfd, 0x14, 0x00, 0x00, 0x00, 0x01, 0x01, 0xbe, 0xfe, 0x6a, 0x03, + 0x0f, 0xff, 0x81, 0x00, 0x05, 0x00, 0x1a, 0x40, 0x0a, 0x02, 0x03, + 0x03, 0x05, 0x00, 0x00, 0x06, 0x07, 0x00, 0x03, 0x00, 0x2f, 0xcd, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x35, 0x13, 0x33, 0x15, 0x07, 0x01, 0xbe, 0x82, 0xcf, 0xf3, + 0xfe, 0x6a, 0x14, 0x01, 0x03, 0x1d, 0xfa, 0x00, 0x00, 0x00, 0x02, + 0x01, 0xfb, 0x00, 0x00, 0x02, 0xd2, 0x04, 0x3a, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x28, 0x40, 0x12, 0x05, 0x01, 0x01, 0x03, 0x07, 0x00, + 0x00, 0x04, 0x03, 0x03, 0x08, 0x09, 0x01, 0x06, 0x04, 0x15, 0x00, + 0x0f, 0x00, 0x3f, 0x3f, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x07, 0x23, 0x27, 0x11, 0x37, 0x33, 0x17, 0x02, 0xd2, 0x65, 0x0d, + 0x65, 0x65, 0x0d, 0x65, 0x04, 0x3a, 0xd7, 0xd7, 0xfb, 0xc6, 0xd7, + 0xd7, 0x00, 0x01, 0x01, 0xfb, 0x03, 0x63, 0x02, 0xd2, 0x04, 0x3a, + 0x00, 0x03, 0x00, 0x19, 0x40, 0x0a, 0x01, 0x00, 0x00, 0x03, 0x03, + 0x04, 0x05, 0x01, 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x07, 0x23, 0x27, + 0x02, 0xd2, 0x65, 0x0d, 0x65, 0x04, 0x3a, 0xd7, 0xd7, 0x00, 0x01, + 0x02, 0x26, 0x00, 0x5c, 0x02, 0xdf, 0x01, 0xd7, 0x00, 0x0d, 0x00, + 0x1a, 0x40, 0x0a, 0x06, 0x00, 0x03, 0x0a, 0x00, 0x0a, 0x0e, 0x0f, + 0x07, 0x0d, 0x00, 0x2f, 0xce, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x23, 0x35, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x02, 0x26, 0x2a, + 0x37, 0x37, 0x2a, 0x54, 0x65, 0x65, 0x54, 0xb1, 0x38, 0x31, 0x31, + 0x37, 0x55, 0x66, 0x57, 0x57, 0x67, 0x00, 0x00, 0x00, 0x01, 0x01, + 0xee, 0x00, 0x5c, 0x02, 0xa7, 0x01, 0xd7, 0x00, 0x0d, 0x00, 0x1a, + 0x40, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x03, 0x00, 0x0e, 0x0f, 0x06, + 0x00, 0x00, 0x2f, 0xce, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, + 0x15, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x02, 0xa7, 0x55, 0x64, + 0x64, 0x55, 0x2a, 0x37, 0x37, 0x2a, 0x5c, 0x68, 0x56, 0x57, 0x66, + 0x55, 0x37, 0x31, 0x31, 0x38, 0x00, 0x00, 0x00, 0x01, 0x01, 0xb3, + 0x00, 0xad, 0x03, 0x1a, 0x01, 0xfe, 0x00, 0x07, 0x00, 0x20, 0x40, + 0x0d, 0x07, 0x06, 0x06, 0x02, 0x03, 0x03, 0x09, 0x08, 0x06, 0x02, + 0x02, 0x05, 0x01, 0x00, 0x2f, 0xcc, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x21, + 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x03, 0x1a, 0xfe, 0x99, 0x7b, + 0x71, 0x7b, 0xad, 0x6c, 0xe5, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0xb3, 0x00, 0xad, 0x03, 0x1a, 0x01, 0xfe, 0x00, 0x07, 0x00, + 0x20, 0x40, 0x0d, 0x00, 0x02, 0x02, 0x05, 0x03, 0x03, 0x08, 0x09, + 0x01, 0x05, 0x05, 0x07, 0x03, 0x00, 0x2f, 0xcc, 0x32, 0x11, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x21, 0x03, 0x1a, 0x7b, + 0x71, 0x7b, 0x01, 0x67, 0x01, 0x92, 0xe5, 0xe5, 0x6c, 0x00, 0x00, + 0x00, 0x01, 0x01, 0xb3, 0x00, 0xa3, 0x03, 0x1a, 0x02, 0x08, 0x00, + 0x0b, 0x00, 0x2a, 0x40, 0x13, 0x0a, 0x00, 0x02, 0x05, 0x07, 0x02, + 0x03, 0x03, 0x03, 0x0c, 0x0d, 0x01, 0x05, 0x05, 0x0a, 0x06, 0x06, + 0x09, 0x03, 0x00, 0x2f, 0xcd, 0x39, 0x2f, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, + 0x15, 0x33, 0x03, 0x1a, 0x7b, 0x71, 0x7b, 0x7b, 0x71, 0x7b, 0x01, + 0x20, 0x7d, 0x7d, 0x6c, 0x7c, 0x7c, 0x00, 0x00, 0x01, 0x01, 0x2e, + 0x01, 0x13, 0x03, 0x9e, 0x01, 0xa0, 0x00, 0x03, 0x00, 0x11, 0xb5, + 0x01, 0x00, 0x04, 0x05, 0x02, 0x01, 0x00, 0x2f, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x03, 0x9e, + 0xfd, 0x90, 0x02, 0x70, 0x01, 0x13, 0x8d, 0x00, 0x01, 0x01, 0x2d, + 0x04, 0xb1, 0x03, 0x9f, 0x05, 0xb4, 0x00, 0x0d, 0x00, 0x28, 0x40, + 0x14, 0x04, 0x03, 0x0a, 0x0b, 0x03, 0x0b, 0x0e, 0x0f, 0x0a, 0x04, + 0x00, 0x04, 0x8c, 0x5b, 0x00, 0x07, 0x8f, 0x59, 0x00, 0x93, 0x00, + 0x3f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x27, 0x33, + 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x02, 0x65, + 0x7c, 0xa7, 0x15, 0x7f, 0x11, 0x56, 0x52, 0x55, 0x55, 0x11, 0x7f, + 0x18, 0xa5, 0x04, 0xb1, 0x8e, 0x75, 0x3f, 0x46, 0x46, 0x3f, 0x77, + 0x8c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x05, 0x0c, 0x02, + 0xcb, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x34, 0x40, 0x22, 0x03, 0x00, + 0x00, 0x04, 0x05, 0x01, 0x00, 0x00, 0x01, 0x39, 0x10, 0x00, 0x50, + 0x00, 0x60, 0x00, 0x90, 0x00, 0x04, 0x30, 0x00, 0x60, 0x00, 0xa0, + 0x00, 0xb0, 0x00, 0xe0, 0x00, 0x05, 0x80, 0x00, 0x01, 0x00, 0x00, + 0x2f, 0x5d, 0x71, 0x72, 0x5e, 0x5d, 0x2f, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x33, 0x15, 0x02, 0x03, 0xc8, + 0x05, 0x0c, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x74, + 0x04, 0x7c, 0x03, 0x58, 0x06, 0x0b, 0x00, 0x0b, 0x00, 0x17, 0x00, + 0x5a, 0x40, 0x3e, 0x0c, 0x00, 0x00, 0x12, 0x06, 0x06, 0x18, 0x19, + 0x09, 0x0f, 0x8e, 0x59, 0x0f, 0x09, 0x1f, 0x09, 0x02, 0x10, 0x03, + 0x09, 0x40, 0x09, 0x0c, 0x48, 0x09, 0x03, 0x03, 0x15, 0x8e, 0x59, + 0x2f, 0x03, 0x4f, 0x03, 0x6f, 0x03, 0xdf, 0x03, 0x04, 0x0f, 0x03, + 0x2f, 0x03, 0x3f, 0x03, 0x4f, 0x03, 0x6f, 0x03, 0x7f, 0x03, 0x9f, + 0x03, 0xbf, 0x03, 0x08, 0x03, 0x40, 0x16, 0x19, 0x48, 0x03, 0x00, + 0x2f, 0x2b, 0x5d, 0x71, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x58, 0x83, 0x6f, 0x70, 0x82, + 0x85, 0x6d, 0x6f, 0x83, 0x79, 0x41, 0x38, 0x37, 0x43, 0x43, 0x37, + 0x38, 0x41, 0x05, 0x44, 0x57, 0x71, 0x71, 0x57, 0x59, 0x6e, 0x6f, + 0x58, 0x25, 0x2e, 0x2e, 0x25, 0x26, 0x2e, 0x2e, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xb9, 0xfe, 0x55, 0x03, 0x17, 0x00, 0x00, 0x00, 0x11, + 0x00, 0x26, 0x40, 0x11, 0x08, 0x09, 0x09, 0x00, 0x00, 0x0c, 0x05, + 0x05, 0x12, 0x13, 0x08, 0x02, 0x0f, 0x8e, 0x59, 0x02, 0x95, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x03, 0x17, 0x3f, 0x4c, 0x69, 0x6a, 0x53, 0x48, + 0x85, 0x40, 0x53, 0x31, 0x2d, 0x36, 0x3d, 0xfe, 0x70, 0x1b, 0x66, + 0x55, 0x44, 0x83, 0x29, 0x24, 0x7d, 0x42, 0x2a, 0x30, 0x18, 0x00, + 0x00, 0x01, 0x00, 0xff, 0x04, 0xb1, 0x03, 0xcc, 0x05, 0xa9, 0x00, + 0x19, 0x00, 0x2f, 0x40, 0x19, 0x09, 0x0a, 0x16, 0x17, 0x0a, 0x17, + 0x1a, 0x1b, 0x16, 0x0e, 0x0e, 0x05, 0x8f, 0x59, 0x00, 0x0e, 0x8c, + 0x5b, 0x00, 0x13, 0x8f, 0x59, 0x09, 0x00, 0x93, 0x00, 0x3f, 0x32, + 0x2b, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x2e, 0x02, 0x23, + 0x22, 0x0e, 0x01, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x02, + 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x03, 0x02, 0x2a, 0x54, + 0x50, 0x4d, 0x23, 0x19, 0x1e, 0x14, 0x0b, 0x6f, 0x0b, 0x2f, 0x52, + 0x3f, 0x2c, 0x54, 0x50, 0x4a, 0x21, 0x25, 0x28, 0x0a, 0x70, 0x10, + 0x63, 0x04, 0xb1, 0x25, 0x2d, 0x25, 0x13, 0x24, 0x40, 0x60, 0x62, + 0x36, 0x25, 0x2d, 0x25, 0x2f, 0x48, 0x8a, 0x6e, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x1d, 0x04, 0xb1, 0x03, 0x13, 0x05, 0xb4, 0x00, + 0x05, 0x00, 0x0b, 0x00, 0x31, 0x40, 0x18, 0x08, 0x09, 0x02, 0x03, + 0x03, 0x05, 0x00, 0x0b, 0x00, 0x09, 0x03, 0x06, 0x06, 0x0c, 0x0d, + 0x08, 0x02, 0x05, 0x02, 0x8c, 0x5b, 0x0b, 0x05, 0x93, 0x00, 0x3f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x35, 0x37, 0x33, 0x15, 0x05, 0x21, 0x35, 0x37, 0x33, 0x15, 0x05, + 0x01, 0x89, 0xcf, 0xbb, 0xfe, 0xd4, 0xfe, 0x36, 0xcf, 0xbb, 0xfe, + 0xd4, 0x04, 0xb1, 0x14, 0xef, 0x1d, 0xe6, 0x14, 0xef, 0x1d, 0xe6, + 0x00, 0x00, 0x01, 0xff, 0xe6, 0x01, 0x65, 0x02, 0x1a, 0x03, 0x0c, + 0x00, 0x0d, 0x00, 0x1e, 0x40, 0x0c, 0x01, 0x00, 0x0c, 0x0c, 0x08, + 0x0e, 0x0f, 0x0c, 0x01, 0xc0, 0x05, 0x0a, 0x00, 0x2f, 0x33, 0x1a, + 0xcc, 0x32, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x03, 0x37, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x17, 0x06, + 0x23, 0x22, 0x03, 0x07, 0x1a, 0xe5, 0x1d, 0x0e, 0x33, 0x32, 0x34, + 0x50, 0x3b, 0x7e, 0x55, 0xd2, 0x2a, 0x4e, 0x02, 0xe9, 0x23, 0x88, + 0x44, 0x3c, 0x28, 0x93, 0x34, 0x01, 0x0c, 0x13, 0x00, 0x01, 0x01, + 0x14, 0x03, 0x2d, 0x03, 0xb8, 0x05, 0xd1, 0x00, 0x0b, 0x00, 0x2a, + 0x40, 0x16, 0x0a, 0x00, 0x06, 0x04, 0x04, 0x05, 0x08, 0x02, 0x0b, + 0x00, 0x06, 0x0d, 0x0c, 0x08, 0x0b, 0x05, 0x02, 0x04, 0x09, 0x07, + 0x03, 0x01, 0x00, 0x2f, 0x33, 0xcd, 0x32, 0x17, 0x39, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x07, + 0x27, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x07, 0x03, + 0xb8, 0x58, 0xfa, 0xfa, 0x58, 0xfb, 0xfb, 0x58, 0xfa, 0xfa, 0x58, + 0xfb, 0x03, 0x85, 0x58, 0xfb, 0xfb, 0x58, 0xfa, 0xfa, 0x58, 0xfb, + 0xfb, 0x58, 0xfa, 0x00, 0x00, 0x00, 0x02, 0x01, 0x20, 0x00, 0xba, + 0x03, 0xac, 0x04, 0xbb, 0x00, 0x11, 0x00, 0x1a, 0x00, 0x47, 0x40, + 0x1d, 0x02, 0x01, 0x16, 0x0f, 0x14, 0x06, 0x00, 0x03, 0x12, 0x09, + 0x04, 0x05, 0x05, 0x09, 0x03, 0x0f, 0x01, 0x05, 0x1b, 0x1c, 0x06, + 0x00, 0x14, 0x14, 0x03, 0x19, 0x02, 0x0c, 0x19, 0xb8, 0x01, 0x49, + 0xb3, 0x59, 0x0c, 0x04, 0x02, 0x00, 0x2f, 0x33, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x03, 0x33, 0x1b, 0x01, 0x33, 0x01, + 0x17, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, + 0x17, 0x34, 0x27, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x02, 0x1b, + 0xfb, 0x82, 0xc1, 0xc7, 0x82, 0xfe, 0xfd, 0x0a, 0x4a, 0x51, 0x49, + 0x49, 0x52, 0x4a, 0x83, 0x32, 0x33, 0x1b, 0x18, 0x32, 0x02, 0x41, + 0x02, 0x7a, 0xfe, 0x02, 0x01, 0xfe, 0xfd, 0x87, 0x13, 0x81, 0x53, + 0x48, 0x59, 0x59, 0x48, 0x53, 0x81, 0xd0, 0x3c, 0x59, 0x60, 0x35, + 0x1f, 0x23, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0xe9, 0x03, + 0xcc, 0x05, 0xff, 0x00, 0x09, 0x00, 0x37, 0x40, 0x0a, 0x01, 0x00, + 0x00, 0x04, 0x05, 0x05, 0x0a, 0x0b, 0x08, 0x07, 0xbb, 0x01, 0x49, + 0x00, 0x59, 0x00, 0x08, 0x01, 0x32, 0xb3, 0x00, 0x04, 0x03, 0x04, + 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x03, 0x01, 0x2e, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x21, + 0x35, 0x21, 0x11, 0x23, 0x35, 0x21, 0x02, 0xb6, 0x01, 0x16, 0xfd, + 0x34, 0x01, 0x3c, 0xfa, 0x01, 0x74, 0x02, 0x41, 0x58, 0x58, 0x03, + 0x66, 0x58, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x37, 0x01, 0xde, + 0x03, 0x96, 0x04, 0xf3, 0x00, 0x27, 0x00, 0x4c, 0x40, 0x14, 0x07, + 0x06, 0x06, 0x20, 0x14, 0x1b, 0x1a, 0x1a, 0x0c, 0x00, 0x14, 0x00, + 0x28, 0x29, 0x0c, 0x20, 0x03, 0x17, 0x17, 0x1d, 0xb8, 0x01, 0x49, + 0xb2, 0x59, 0x1b, 0x17, 0xbb, 0x01, 0x31, 0x00, 0x03, 0x00, 0x0a, + 0x01, 0x49, 0xb2, 0x59, 0x07, 0x03, 0xb8, 0x01, 0x2f, 0x00, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x35, 0x34, 0x2e, + 0x01, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, + 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x1f, 0x01, 0x1e, + 0x02, 0x03, 0x96, 0x9b, 0x8f, 0x80, 0x9c, 0x19, 0x6c, 0x10, 0x62, + 0x57, 0xb3, 0x21, 0x3d, 0x78, 0x67, 0x5b, 0x33, 0x90, 0x89, 0x7a, + 0x8f, 0x13, 0x6e, 0x15, 0x99, 0x53, 0x4f, 0x36, 0x41, 0x50, 0x79, + 0x57, 0x34, 0x02, 0xbf, 0x6c, 0x75, 0x56, 0x6b, 0x16, 0x3d, 0x39, + 0x76, 0x24, 0x2d, 0x1f, 0x20, 0x1c, 0x36, 0x4d, 0x39, 0x69, 0x6d, + 0x58, 0x63, 0x0e, 0x69, 0x33, 0x36, 0x28, 0x32, 0x12, 0x16, 0x21, + 0x36, 0x54, 0x00, 0x00, 0x01, 0x01, 0x1a, 0x01, 0xea, 0x03, 0xb3, + 0x04, 0xe5, 0x00, 0x0b, 0x00, 0x3f, 0x40, 0x19, 0x06, 0x05, 0x05, + 0x03, 0x0a, 0x07, 0x04, 0x01, 0x08, 0x09, 0x09, 0x0b, 0x0b, 0x01, + 0x03, 0x03, 0x0c, 0x0d, 0x07, 0x0a, 0x01, 0x03, 0x03, 0x08, 0x05, + 0xbb, 0x01, 0x30, 0x00, 0x00, 0x00, 0x03, 0x01, 0x2e, 0x00, 0x3f, + 0x33, 0x3f, 0x33, 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x0b, 0x01, 0x23, 0x01, 0x03, 0x33, 0x1b, + 0x01, 0x33, 0x03, 0x01, 0x03, 0x2b, 0xc6, 0xc7, 0x84, 0x01, 0x05, + 0xf9, 0x87, 0xb8, 0xb6, 0x89, 0xfa, 0x01, 0x09, 0x01, 0xea, 0x01, + 0x3a, 0xfe, 0xc6, 0x01, 0x89, 0x01, 0x72, 0xfe, 0xd8, 0x01, 0x28, + 0xfe, 0x8f, 0xfe, 0x76, 0x00, 0x00, 0xff, 0xff, 0x01, 0x36, 0x01, + 0xea, 0x03, 0x91, 0x05, 0xcc, 0x12, 0x06, 0x02, 0x82, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x74, 0x00, 0x00, 0x03, 0x58, 0x05, 0xcc, 0x00, + 0x05, 0x00, 0x18, 0x40, 0x09, 0x03, 0x00, 0x01, 0x01, 0x06, 0x07, + 0x03, 0x04, 0x01, 0x00, 0x2f, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, + 0x03, 0x58, 0x96, 0xfe, 0xb2, 0x01, 0xe4, 0x05, 0x46, 0x86, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x74, 0x00, 0x00, 0x03, 0x58, 0x05, 0xcc, + 0x00, 0x07, 0x00, 0x20, 0x40, 0x0e, 0x00, 0x03, 0x05, 0x03, 0x01, + 0x01, 0x08, 0x09, 0x03, 0x04, 0x04, 0x01, 0x07, 0x01, 0x00, 0x2f, + 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, + 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, + 0x03, 0x58, 0x96, 0xfe, 0xb2, 0x01, 0x4e, 0x96, 0x03, 0xe4, 0x86, + 0x01, 0x62, 0x00, 0x00, 0x01, 0x01, 0x74, 0x00, 0x00, 0x03, 0x58, + 0x05, 0xcc, 0x00, 0x07, 0x00, 0x20, 0x40, 0x0d, 0x05, 0x03, 0x00, + 0x01, 0x01, 0x08, 0x09, 0x03, 0x04, 0x04, 0x01, 0x07, 0x01, 0x00, + 0x2f, 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, + 0x11, 0x33, 0x03, 0x58, 0x96, 0xfe, 0xb2, 0x01, 0x4e, 0x96, 0x02, + 0x9c, 0x86, 0x02, 0xaa, 0x00, 0x00, 0x01, 0x01, 0x74, 0x00, 0x00, + 0x03, 0x58, 0x05, 0xcc, 0x00, 0x07, 0x00, 0x20, 0x40, 0x0d, 0x05, + 0x03, 0x00, 0x01, 0x01, 0x08, 0x09, 0x03, 0x04, 0x04, 0x01, 0x07, + 0x01, 0x00, 0x2f, 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x21, + 0x35, 0x21, 0x11, 0x33, 0x03, 0x58, 0x96, 0xfe, 0xb2, 0x01, 0x4e, + 0x96, 0x01, 0x57, 0x86, 0x03, 0xef, 0x00, 0x00, 0x01, 0x01, 0x74, + 0x00, 0x00, 0x03, 0x58, 0x05, 0xcb, 0x00, 0x05, 0x00, 0x18, 0x40, + 0x09, 0x02, 0x00, 0x03, 0x03, 0x06, 0x07, 0x05, 0x02, 0x01, 0x00, + 0x2f, 0x33, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x29, 0x01, 0x35, 0x21, 0x11, 0x33, 0x03, 0x58, 0xfe, 0x1c, + 0x01, 0x4e, 0x96, 0x86, 0x05, 0x45, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x73, 0x00, 0x00, 0x03, 0x5a, 0x03, 0x70, 0x00, 0x05, 0x00, 0x18, + 0x40, 0x09, 0x04, 0x00, 0x01, 0x01, 0x06, 0x07, 0x03, 0x04, 0x01, + 0x00, 0x2f, 0x33, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x29, 0x01, 0x11, 0x33, 0x11, 0x21, 0x03, 0x5a, 0xfe, + 0x19, 0x6e, 0x01, 0x79, 0x03, 0x70, 0xfc, 0xf9, 0x00, 0x00, 0x01, + 0x01, 0x73, 0x00, 0x00, 0x03, 0x5a, 0x03, 0x70, 0x00, 0x07, 0x00, + 0x22, 0x40, 0x0e, 0x06, 0x02, 0x02, 0x00, 0x03, 0x03, 0x08, 0x09, + 0x01, 0x06, 0x06, 0x03, 0x05, 0x03, 0x00, 0x2f, 0x2f, 0x12, 0x39, + 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x03, + 0x5a, 0xfe, 0x87, 0x6e, 0x6e, 0x01, 0x79, 0x01, 0x8c, 0xfe, 0x74, + 0x03, 0x70, 0xfe, 0x7a, 0x00, 0x01, 0x01, 0x2a, 0xfe, 0x57, 0x03, + 0xa3, 0xff, 0x6f, 0x00, 0x06, 0x00, 0x2a, 0x40, 0x12, 0x02, 0x01, + 0x05, 0x05, 0x00, 0x04, 0x03, 0x06, 0x00, 0x03, 0x00, 0x07, 0x08, + 0x05, 0x02, 0x80, 0x03, 0x00, 0x00, 0x2f, 0x32, 0x1a, 0xcd, 0x32, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x05, 0x03, 0x23, 0x03, 0x33, 0x17, + 0x37, 0x03, 0xa3, 0xe1, 0xc0, 0xd8, 0xb0, 0x8f, 0x8c, 0x91, 0xfe, + 0xe8, 0x01, 0x18, 0xbe, 0xbe, 0x00, 0x00, 0x00, 0x02, 0x01, 0x2e, + 0x04, 0xd7, 0x03, 0x9e, 0x06, 0x1c, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x20, 0x40, 0x0d, 0x05, 0x01, 0x04, 0x00, 0x01, 0x00, 0x08, 0x09, + 0x01, 0x03, 0x80, 0x06, 0x05, 0x00, 0x2f, 0x33, 0x1a, 0xcc, 0x32, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x03, 0x9e, 0xfd, + 0x90, 0x02, 0x70, 0xfd, 0x90, 0x02, 0x70, 0x05, 0xa6, 0x76, 0xfe, + 0xbb, 0x76, 0x00, 0x02, 0x01, 0x1b, 0x04, 0x03, 0x03, 0x19, 0x05, + 0xcc, 0x00, 0x09, 0x00, 0x13, 0x00, 0x2b, 0x40, 0x13, 0x07, 0x00, + 0x00, 0x09, 0x13, 0x11, 0x0a, 0x09, 0x0a, 0x14, 0x15, 0x12, 0x08, + 0x08, 0x0f, 0x05, 0x13, 0x00, 0x00, 0x00, 0x3f, 0x32, 0xcc, 0x32, + 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x14, 0x06, 0x07, + 0x23, 0x36, 0x35, 0x23, 0x35, 0x21, 0x15, 0x14, 0x06, 0x07, 0x23, + 0x36, 0x35, 0x23, 0x35, 0x01, 0xe4, 0x25, 0x2b, 0x79, 0x5f, 0x59, + 0x01, 0xf8, 0x25, 0x2b, 0x79, 0x5f, 0x59, 0x05, 0xcc, 0x92, 0x61, + 0x93, 0x43, 0x89, 0x7d, 0xc3, 0x92, 0x61, 0x93, 0x43, 0x89, 0x7d, + 0xc3, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 0xfe, 0x9f, 0x02, + 0x25, 0xff, 0xb8, 0x00, 0x06, 0x00, 0x26, 0x40, 0x10, 0x03, 0x01, + 0x00, 0x04, 0x05, 0x04, 0x02, 0x06, 0x02, 0x06, 0x07, 0x08, 0x04, + 0x01, 0x05, 0x03, 0x00, 0x2f, 0x33, 0xcd, 0x32, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x12, 0x39, 0x33, 0x11, 0x33, 0x33, 0x32, 0x31, + 0x30, 0x01, 0x23, 0x03, 0x33, 0x17, 0x37, 0x33, 0x01, 0x7c, 0x52, + 0xa9, 0x72, 0x60, 0x60, 0x72, 0xfe, 0x9f, 0x01, 0x19, 0xaa, 0xaa, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 0xfe, 0x9f, 0x02, 0x25, + 0xff, 0xb8, 0x00, 0x06, 0x00, 0x26, 0x40, 0x10, 0x03, 0x06, 0x05, + 0x02, 0x01, 0x02, 0x04, 0x00, 0x04, 0x00, 0x07, 0x08, 0x04, 0x01, + 0x02, 0x06, 0x00, 0x2f, 0x33, 0xcd, 0x32, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x12, 0x39, 0x33, 0x11, 0x33, 0x33, 0x32, 0x31, 0x30, + 0x01, 0x23, 0x27, 0x07, 0x23, 0x13, 0x33, 0x02, 0x25, 0x72, 0x60, + 0x60, 0x72, 0xa9, 0x52, 0xfe, 0x9f, 0xaa, 0xaa, 0x01, 0x19, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, 0xfe, 0x56, 0x01, 0xe1, 0xff, + 0xfa, 0x00, 0x06, 0x00, 0x22, 0x40, 0x0e, 0x02, 0x05, 0x04, 0x00, + 0x05, 0x00, 0x07, 0x08, 0x06, 0x05, 0x02, 0x02, 0x04, 0x00, 0x00, + 0x2f, 0xce, 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x15, 0x07, 0x17, 0x15, + 0x25, 0x35, 0x01, 0xe1, 0xaa, 0xaa, 0xfe, 0xe7, 0x06, 0x72, 0x60, + 0x60, 0x72, 0xa9, 0x52, 0x00, 0x01, 0x00, 0xc8, 0xfe, 0x56, 0x01, + 0xe1, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x22, 0x40, 0x0e, 0x05, 0x02, + 0x04, 0x00, 0x02, 0x00, 0x07, 0x08, 0x01, 0x00, 0x04, 0x04, 0x02, + 0x06, 0x00, 0x2f, 0xce, 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x15, 0x05, + 0x35, 0x37, 0x27, 0x35, 0x01, 0xe1, 0xfe, 0xe7, 0xaa, 0xaa, 0xaf, + 0x52, 0xa9, 0x72, 0x60, 0x60, 0x72, 0x00, 0x02, 0x00, 0x8d, 0xfe, + 0x57, 0x02, 0x1d, 0xff, 0xd4, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x1e, + 0x40, 0x0c, 0x0c, 0x00, 0x00, 0x12, 0x06, 0x06, 0x18, 0x19, 0x15, + 0x03, 0x0f, 0x09, 0x00, 0x2f, 0x33, 0xcc, 0x32, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x14, 0x06, + 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, + 0x1d, 0x78, 0x50, 0x50, 0x78, 0x77, 0x51, 0x52, 0x76, 0x60, 0x3b, + 0x2d, 0x2d, 0x3c, 0x3c, 0x2d, 0x2d, 0x3b, 0xea, 0x51, 0x6e, 0x6f, + 0x50, 0x50, 0x6e, 0x6e, 0x50, 0x2d, 0x37, 0x37, 0x2d, 0x2d, 0x39, + 0x39, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8d, 0x01, 0x0f, 0x02, + 0x0d, 0x02, 0x42, 0x00, 0x05, 0x00, 0x1a, 0x40, 0x0a, 0x00, 0x05, + 0x05, 0x03, 0x02, 0x02, 0x06, 0x07, 0x03, 0x00, 0x00, 0x2f, 0xcd, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x09, 0x01, 0x35, 0x33, 0x13, 0x15, 0x01, 0xaf, 0xfe, 0xde, 0xcf, + 0xb1, 0x01, 0x0f, 0x01, 0x16, 0x1d, 0xfe, 0xe1, 0x14, 0x00, 0x02, + 0xff, 0xe6, 0x01, 0x0f, 0x02, 0xc1, 0x02, 0x42, 0x00, 0x05, 0x00, + 0x0b, 0x00, 0x28, 0x40, 0x11, 0x00, 0x05, 0x05, 0x03, 0x02, 0x02, + 0x06, 0x0b, 0x0b, 0x09, 0x08, 0x08, 0x0c, 0x08, 0x03, 0x06, 0x00, + 0x00, 0x2f, 0x32, 0xcd, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x09, + 0x01, 0x35, 0x33, 0x13, 0x15, 0x21, 0x01, 0x35, 0x33, 0x13, 0x15, + 0x02, 0x63, 0xfe, 0xde, 0xcf, 0xb1, 0xfe, 0x47, 0xfe, 0xde, 0xcf, + 0xb1, 0x01, 0x0f, 0x01, 0x16, 0x1d, 0xfe, 0xe1, 0x14, 0x01, 0x16, + 0x1d, 0xfe, 0xe1, 0x14, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe7, 0x01, + 0x0f, 0x02, 0xc2, 0x02, 0x42, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x26, + 0x40, 0x10, 0x08, 0x09, 0x09, 0x0b, 0x06, 0x06, 0x02, 0x03, 0x05, + 0x00, 0x00, 0x0c, 0x08, 0x03, 0x06, 0x00, 0x00, 0x2f, 0x32, 0xcd, + 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x32, 0x32, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x13, 0x33, 0x15, 0x01, + 0x33, 0x35, 0x13, 0x33, 0x15, 0x01, 0x19, 0xb1, 0xcf, 0xfe, 0xde, + 0xfd, 0xb1, 0xcf, 0xfe, 0xde, 0x01, 0x0f, 0x14, 0x01, 0x1f, 0x1d, + 0xfe, 0xea, 0x14, 0x01, 0x1f, 0x1d, 0xfe, 0xea, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xe9, 0xfe, 0x6c, 0x02, 0xb6, 0xff, 0x78, 0x00, 0x17, + 0x00, 0x20, 0x40, 0x0d, 0x14, 0x15, 0x15, 0x08, 0x09, 0x09, 0x18, + 0x12, 0x09, 0x00, 0x15, 0x05, 0x0d, 0x00, 0x2f, 0x33, 0x33, 0xcd, + 0x32, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, + 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x33, 0x0e, 0x01, + 0x01, 0xec, 0x2a, 0x54, 0x4e, 0x47, 0x1f, 0x37, 0x36, 0x09, 0x5b, + 0x0b, 0x30, 0x51, 0x3f, 0x2c, 0x54, 0x4e, 0x45, 0x1e, 0x64, 0x11, + 0x5c, 0x11, 0x64, 0xfe, 0x6c, 0x25, 0x2d, 0x25, 0x3e, 0x39, 0x66, + 0x69, 0x3d, 0x25, 0x2d, 0x25, 0x77, 0x94, 0x78, 0x00, 0x02, 0x02, + 0x05, 0x01, 0x92, 0x02, 0xc8, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x2a, 0x40, 0x14, 0x07, 0x03, 0x03, 0x04, 0x00, 0x00, 0x08, + 0x09, 0x02, 0x03, 0x91, 0x5b, 0x02, 0x04, 0x40, 0x04, 0x05, 0x91, + 0x5b, 0x04, 0x00, 0x2f, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xcc, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, 0x15, 0x02, 0x05, 0xc3, + 0xc3, 0xc3, 0x04, 0xfd, 0xcf, 0xcf, 0xfc, 0x95, 0xcf, 0xcf, 0x00, + 0x00, 0x01, 0x01, 0x9b, 0x04, 0x7c, 0x03, 0x31, 0x05, 0xcc, 0x00, + 0x05, 0x00, 0x18, 0x40, 0x09, 0x02, 0x03, 0x03, 0x05, 0x06, 0x07, + 0x01, 0x05, 0x03, 0x00, 0x2f, 0xcc, 0x32, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x23, 0x11, 0x21, + 0x03, 0x31, 0xfe, 0xec, 0x82, 0x01, 0x96, 0x05, 0x51, 0xd5, 0x01, + 0x50, 0x00, 0x01, 0x01, 0x9b, 0x04, 0x7c, 0x03, 0x31, 0x05, 0xcc, + 0x00, 0x05, 0x00, 0x18, 0x40, 0x09, 0x03, 0x01, 0x00, 0x01, 0x06, + 0x07, 0x05, 0x01, 0x03, 0x00, 0x2f, 0xcd, 0x32, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x23, 0x35, + 0x21, 0x01, 0x9b, 0x01, 0x96, 0x82, 0xfe, 0xec, 0x05, 0xcc, 0xfe, + 0xb0, 0xd5, 0x00, 0x01, 0x01, 0x9b, 0xfe, 0x57, 0x03, 0x31, 0xff, + 0xa7, 0x00, 0x05, 0x00, 0x18, 0x40, 0x09, 0x04, 0x01, 0x01, 0x00, + 0x06, 0x07, 0x04, 0x01, 0x03, 0x00, 0x2f, 0xcd, 0x32, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x33, + 0x15, 0x21, 0x03, 0x31, 0xfe, 0x6a, 0x82, 0x01, 0x14, 0xfe, 0x57, + 0x01, 0x50, 0xd5, 0x00, 0x01, 0x01, 0x9b, 0xfe, 0x57, 0x03, 0x31, + 0xff, 0xa7, 0x00, 0x05, 0x00, 0x18, 0x40, 0x09, 0x01, 0x03, 0x05, + 0x03, 0x06, 0x07, 0x00, 0x05, 0x03, 0x00, 0x2f, 0xcc, 0x32, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, + 0x33, 0x11, 0x21, 0x01, 0x9b, 0x01, 0x14, 0x82, 0xfe, 0x6a, 0xfe, + 0xd2, 0xd5, 0xfe, 0xb0, 0x00, 0x01, 0x00, 0xed, 0xfe, 0x57, 0x03, + 0xdf, 0xff, 0xa7, 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x04, 0x01, + 0x05, 0x00, 0x01, 0x00, 0x08, 0x09, 0x04, 0x01, 0x06, 0x03, 0x00, + 0x2f, 0x33, 0xcd, 0x32, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x33, 0x15, 0x21, 0x35, + 0x33, 0x03, 0xdf, 0xfd, 0x0e, 0x88, 0x01, 0xe1, 0x89, 0xfe, 0x57, + 0x01, 0x50, 0xc9, 0xc9, 0x00, 0x00, 0x00, 0x01, 0x00, 0xea, 0xfe, + 0x58, 0x03, 0xe2, 0xff, 0xa7, 0x00, 0x05, 0x00, 0x18, 0x40, 0x09, + 0x02, 0x00, 0x00, 0x03, 0x06, 0x07, 0x02, 0x05, 0x01, 0x00, 0x2f, + 0xcd, 0x32, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x17, 0x33, 0x15, 0x21, 0x15, 0x21, 0xea, 0x8f, 0x02, 0x69, 0xfd, + 0x08, 0x59, 0xc8, 0x87, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x4b, + 0xfe, 0x58, 0x03, 0x82, 0x00, 0x9c, 0x00, 0x09, 0x00, 0x2e, 0x40, + 0x14, 0x08, 0x01, 0x01, 0x06, 0x07, 0x07, 0x03, 0x02, 0x02, 0x04, + 0x00, 0x04, 0x00, 0x0a, 0x0b, 0x01, 0x08, 0x08, 0x03, 0x07, 0x00, + 0x2f, 0xcc, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x32, 0x11, 0x33, 0x31, + 0x30, 0x05, 0x21, 0x17, 0x23, 0x03, 0x35, 0x13, 0x33, 0x07, 0x21, + 0x03, 0x82, 0xfe, 0x56, 0xb9, 0x70, 0xd6, 0xd6, 0x70, 0xb9, 0x01, + 0xaa, 0xb5, 0xf3, 0x01, 0x1b, 0x0e, 0x01, 0x1b, 0xf3, 0x00, 0x00, + 0x00, 0x01, 0xfd, 0xfc, 0x06, 0x0c, 0xff, 0x4d, 0x07, 0x23, 0x00, + 0x05, 0x00, 0x18, 0x40, 0x09, 0x00, 0x05, 0x05, 0x03, 0x01, 0x01, + 0x06, 0x03, 0x00, 0x00, 0x2f, 0xcd, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x27, 0x35, 0x33, 0x13, 0x15, + 0xfe, 0xef, 0xf3, 0xcf, 0x82, 0x06, 0x0c, 0xfa, 0x1d, 0xfe, 0xfd, + 0x14, 0x00, 0x01, 0xfe, 0x95, 0x06, 0x0c, 0xff, 0xe6, 0x07, 0x23, + 0x00, 0x05, 0x00, 0x15, 0xb7, 0x02, 0x03, 0x05, 0x00, 0x00, 0x06, + 0x03, 0x00, 0x00, 0x2f, 0xcd, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x32, 0x31, 0x30, 0x01, 0x35, 0x13, 0x33, 0x15, 0x07, 0xfe, 0x95, + 0x82, 0xcf, 0xf3, 0x06, 0x0c, 0x14, 0x01, 0x03, 0x1d, 0xfa, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xfe, 0xb5, 0x04, 0xb1, 0x01, 0x4b, 0x05, + 0xd3, 0x00, 0x09, 0x00, 0x29, 0x40, 0x12, 0x09, 0x08, 0x03, 0x03, + 0x06, 0x02, 0x01, 0x05, 0x06, 0x01, 0x06, 0x0a, 0x04, 0x09, 0x80, + 0x06, 0x02, 0x93, 0x00, 0x3f, 0x33, 0x1a, 0xcd, 0x32, 0x11, 0x01, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, 0x35, 0x13, + 0x33, 0x01, 0x4b, 0x69, 0xdb, 0x02, 0xe8, 0x68, 0xea, 0xcc, 0x04, + 0xc5, 0x14, 0xa9, 0xa9, 0x14, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x01, + 0xfc, 0x43, 0x05, 0xfc, 0xff, 0x10, 0x07, 0x08, 0x00, 0x17, 0x00, + 0x22, 0x40, 0x0e, 0x14, 0x15, 0x15, 0x08, 0x09, 0x09, 0x18, 0x14, + 0x05, 0x0d, 0x80, 0x12, 0x09, 0x00, 0x00, 0x2f, 0xc4, 0x33, 0x1a, + 0xdd, 0x32, 0xc4, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, + 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x33, 0x0e, + 0x01, 0xfe, 0x46, 0x2a, 0x54, 0x4e, 0x47, 0x1f, 0x37, 0x36, 0x09, + 0x5b, 0x0b, 0x30, 0x51, 0x3f, 0x2c, 0x54, 0x4e, 0x45, 0x1e, 0x64, + 0x11, 0x5c, 0x11, 0x64, 0x05, 0xfc, 0x25, 0x2d, 0x25, 0x3e, 0x39, + 0x66, 0x69, 0x3d, 0x25, 0x2d, 0x25, 0x77, 0x94, 0x78, 0x00, 0x00, + 0x00, 0x01, 0xfe, 0xed, 0x04, 0xd4, 0x01, 0x12, 0x05, 0x53, 0x00, + 0x03, 0x00, 0x0f, 0xb4, 0x03, 0x02, 0x04, 0x02, 0x01, 0x00, 0x2f, + 0x33, 0x11, 0x01, 0x33, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, + 0x01, 0x12, 0xfd, 0xdb, 0x02, 0x25, 0x04, 0xd4, 0x7f, 0x00, 0x00, + 0x00, 0x01, 0xfd, 0xab, 0x06, 0x23, 0x02, 0x54, 0x06, 0xa5, 0x00, + 0x03, 0x00, 0x0f, 0xb4, 0x02, 0x01, 0x04, 0x01, 0x00, 0x00, 0x2f, + 0x32, 0x11, 0x01, 0x33, 0x33, 0x31, 0x30, 0x01, 0x35, 0x21, 0x15, + 0xfd, 0xab, 0x04, 0xa9, 0x06, 0x23, 0x82, 0x82, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xfe, 0xdc, 0x04, 0x8f, 0x01, 0x24, 0x05, 0x93, 0x00, + 0x0d, 0x00, 0x38, 0x40, 0x23, 0x0a, 0x0b, 0x0b, 0x0e, 0x04, 0x03, + 0x03, 0x0e, 0x0a, 0x04, 0x80, 0x07, 0x0f, 0x00, 0x2f, 0x00, 0x02, + 0x0f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x7f, 0x00, 0x9f, + 0x00, 0xbf, 0x00, 0xef, 0x00, 0x08, 0x00, 0x00, 0x2f, 0x5d, 0x71, + 0x32, 0x1a, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x11, 0x22, 0x26, 0x27, 0x33, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x78, 0x9d, 0x0f, 0x69, + 0x0c, 0x63, 0x4c, 0x4a, 0x63, 0x0e, 0x69, 0x12, 0x9a, 0x04, 0x8f, + 0x8d, 0x77, 0x3b, 0x49, 0x47, 0x3d, 0x7a, 0x8a, 0x00, 0x00, 0x01, + 0xff, 0xa6, 0x04, 0xd5, 0x00, 0x5a, 0x05, 0x81, 0x00, 0x03, 0x00, + 0x11, 0xb5, 0x03, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x2f, 0xcd, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x33, 0x15, + 0x5a, 0xb4, 0x04, 0xd5, 0xac, 0xac, 0x00, 0x00, 0x00, 0x00, 0x02, + 0xfe, 0xe9, 0x04, 0xc3, 0x01, 0x16, 0x05, 0x7b, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x1d, 0x40, 0x0c, 0x00, 0x03, 0x07, 0x04, 0x03, 0x04, + 0x08, 0x05, 0x02, 0x04, 0x00, 0x94, 0x00, 0x3f, 0x32, 0xcd, 0x32, + 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x73, 0xa3, 0xfd, 0xd3, + 0xa5, 0x04, 0xc3, 0xb8, 0xb8, 0xb8, 0xb8, 0x00, 0x01, 0xfe, 0x17, + 0x05, 0xc9, 0xff, 0xc8, 0x07, 0x2b, 0x00, 0x12, 0x00, 0x26, 0x40, + 0x10, 0x0e, 0x0f, 0x0f, 0x06, 0x00, 0x0a, 0x0a, 0x06, 0x06, 0x13, + 0x05, 0x03, 0x03, 0x08, 0x0d, 0x0f, 0x00, 0x2f, 0x33, 0xcc, 0x32, + 0x10, 0xc6, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, + 0x36, 0x33, 0x32, 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 0x35, 0x3e, + 0x01, 0xdf, 0x33, 0x2a, 0x48, 0x46, 0x1f, 0x5a, 0x6a, 0xed, 0x51, + 0x5b, 0x70, 0x45, 0x30, 0x06, 0x81, 0x1f, 0x22, 0x18, 0x63, 0x1e, + 0x95, 0x3b, 0x55, 0x0b, 0x32, 0x78, 0x03, 0x1e, 0x00, 0x02, 0xff, + 0x38, 0x04, 0xe5, 0x00, 0xc8, 0x06, 0x62, 0x00, 0x0b, 0x00, 0x17, + 0x00, 0x1e, 0x40, 0x0c, 0x12, 0x06, 0x0c, 0x00, 0x00, 0x06, 0x06, + 0x18, 0x0f, 0x09, 0x15, 0x03, 0x00, 0x2f, 0x33, 0xcc, 0x32, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0xc8, 0x78, 0x50, 0x50, 0x78, 0x77, 0x51, 0x52, 0x76, 0x60, + 0x3b, 0x2d, 0x2d, 0x3c, 0x3c, 0x2d, 0x2d, 0x3b, 0x05, 0xa4, 0x51, + 0x6e, 0x6f, 0x50, 0x50, 0x6e, 0x6e, 0x50, 0x2d, 0x37, 0x37, 0x2d, + 0x2d, 0x39, 0x39, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfe, 0x7f, 0x04, + 0xb1, 0x01, 0x82, 0x05, 0xe4, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x29, + 0x40, 0x13, 0x08, 0x09, 0x09, 0x0b, 0x06, 0x02, 0x05, 0x03, 0x06, + 0x03, 0x00, 0x00, 0x0c, 0x08, 0x03, 0x80, 0x06, 0x00, 0x93, 0x00, + 0x3f, 0x32, 0x1a, 0xcd, 0x32, 0x11, 0x01, 0x33, 0x11, 0x17, 0x33, + 0x32, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x13, + 0x33, 0x15, 0x01, 0x33, 0x35, 0x13, 0x33, 0x15, 0x01, 0xfe, 0x7f, + 0xd9, 0xcf, 0xfe, 0xb6, 0xfd, 0xd9, 0xcf, 0xfe, 0xb6, 0x04, 0xb1, + 0x14, 0x01, 0x1f, 0x1d, 0xfe, 0xea, 0x14, 0x01, 0x1f, 0x1d, 0xfe, + 0xea, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xb5, 0x04, 0xb1, 0x01, 0x4b, + 0x05, 0xd3, 0x00, 0x09, 0x00, 0x29, 0x40, 0x12, 0x01, 0x00, 0x05, + 0x05, 0x03, 0x07, 0x08, 0x04, 0x03, 0x08, 0x03, 0x0a, 0x07, 0x04, + 0x80, 0x06, 0x01, 0x93, 0x00, 0x3f, 0x33, 0x1a, 0xcd, 0x32, 0x11, + 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x13, 0x23, 0x03, 0x35, 0x33, 0x17, 0x33, 0x37, + 0x33, 0x15, 0x6b, 0xcc, 0xea, 0x68, 0xe8, 0x02, 0xdb, 0x69, 0x04, + 0xb1, 0x01, 0x0e, 0x14, 0xa9, 0xa9, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xc9, 0x04, 0x80, 0x00, 0x3a, 0x05, 0xcc, 0x00, 0x03, + 0x00, 0x10, 0xb5, 0x00, 0x01, 0x04, 0x01, 0x02, 0x00, 0x00, 0x3f, + 0xcd, 0x11, 0x01, 0x33, 0x32, 0x31, 0x30, 0x13, 0x23, 0x11, 0x33, + 0x3a, 0x71, 0x71, 0x04, 0x80, 0x01, 0x4c, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xff, 0x59, 0x04, 0x80, 0x00, 0xa7, 0x05, 0xcc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x1b, 0x40, 0x0b, 0x05, 0x04, 0x04, 0x00, 0x01, + 0x08, 0x06, 0x05, 0x01, 0x02, 0x00, 0x00, 0x3f, 0xcd, 0x32, 0x33, + 0x11, 0x01, 0x33, 0x32, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x23, + 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x36, 0x71, 0x71, 0xdd, 0x71, + 0x71, 0x04, 0x80, 0x01, 0x4c, 0xfe, 0xb4, 0x01, 0x4c, 0x00, 0x00, + 0x00, 0x00, 0x02, 0xfe, 0x7f, 0x04, 0xb1, 0x01, 0x82, 0x05, 0xa8, + 0x00, 0x05, 0x00, 0x0b, 0x00, 0x2b, 0x40, 0x14, 0x00, 0x05, 0x05, + 0x03, 0x02, 0x06, 0x0b, 0x09, 0x0b, 0x02, 0x03, 0x08, 0x08, 0x0c, + 0x08, 0x03, 0x80, 0x06, 0x00, 0x93, 0x00, 0x3f, 0x32, 0x1a, 0xcd, + 0x32, 0x11, 0x01, 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x25, 0x35, 0x33, 0x17, 0x15, + 0x21, 0x25, 0x35, 0x33, 0x17, 0x15, 0x01, 0x24, 0xfe, 0xb6, 0xcf, + 0xd9, 0xfe, 0x47, 0xfe, 0xb6, 0xcf, 0xd9, 0x04, 0xb1, 0xda, 0x1d, + 0xe3, 0x14, 0xda, 0x1d, 0xe3, 0x14, 0x00, 0x00, 0x00, 0x00, 0x02, + 0xfe, 0xdc, 0x04, 0xb3, 0x01, 0x24, 0x06, 0x64, 0x00, 0x0d, 0x00, + 0x11, 0x00, 0x2d, 0x40, 0x14, 0x0f, 0x10, 0x10, 0x03, 0x0a, 0x0b, + 0x04, 0x03, 0x0b, 0x03, 0x12, 0x0a, 0x03, 0x03, 0x07, 0x10, 0x0e, + 0x07, 0x00, 0x93, 0x00, 0x3f, 0x32, 0xcc, 0x32, 0x11, 0x39, 0x2f, + 0x33, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x11, 0x22, 0x26, 0x27, 0x33, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x03, 0x15, 0x23, 0x35, + 0x78, 0x9d, 0x0f, 0x69, 0x0c, 0x63, 0x4c, 0x4a, 0x63, 0x0e, 0x69, + 0x12, 0x9a, 0x1d, 0xb4, 0x04, 0xb3, 0x8d, 0x77, 0x3b, 0x49, 0x47, + 0x3d, 0x7a, 0x8a, 0x01, 0xb1, 0xac, 0xac, 0x00, 0x01, 0xfe, 0xdc, + 0x04, 0xb6, 0x01, 0x24, 0x05, 0xba, 0x00, 0x0d, 0x00, 0x1f, 0x40, + 0x0d, 0x04, 0x03, 0x0a, 0x0b, 0x03, 0x0b, 0x0e, 0x07, 0x00, 0x80, + 0x0b, 0x04, 0x93, 0x00, 0x3f, 0x33, 0x1a, 0xcc, 0x32, 0x11, 0x01, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x11, 0x32, 0x16, + 0x17, 0x23, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x01, + 0x77, 0x9b, 0x12, 0x69, 0x0f, 0x62, 0x4a, 0x4c, 0x63, 0x0c, 0x69, + 0x0f, 0x9e, 0x05, 0xba, 0x89, 0x7b, 0x3e, 0x46, 0x49, 0x3b, 0x77, + 0x8d, 0x00, 0x00, 0x00, 0x01, 0xff, 0x9b, 0x03, 0xeb, 0x00, 0x64, + 0x05, 0xcc, 0x00, 0x09, 0x00, 0x17, 0x40, 0x09, 0x09, 0x07, 0x00, + 0x0a, 0x07, 0x07, 0x00, 0x05, 0x00, 0x00, 0x3f, 0xcc, 0x39, 0x2f, + 0x11, 0x01, 0x33, 0x32, 0x32, 0x31, 0x30, 0x03, 0x35, 0x34, 0x36, + 0x37, 0x33, 0x06, 0x15, 0x33, 0x15, 0x65, 0x26, 0x28, 0x7b, 0x5e, + 0x58, 0x03, 0xeb, 0xa8, 0x6a, 0x8e, 0x41, 0x88, 0x7e, 0xdb, 0x00, + 0x00, 0x00, 0x01, 0xff, 0x9b, 0x03, 0xeb, 0x00, 0x64, 0x05, 0xcc, + 0x00, 0x09, 0x00, 0x1b, 0x40, 0x0b, 0x07, 0x00, 0x00, 0x09, 0x09, + 0x0a, 0x08, 0x08, 0x05, 0x00, 0x00, 0x00, 0x3f, 0xcc, 0x39, 0x2f, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x15, + 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, 0x23, 0x35, 0x64, 0x26, 0x28, + 0x7b, 0x5e, 0x58, 0x05, 0xcc, 0xa8, 0x6a, 0x8e, 0x41, 0x88, 0x7e, + 0xdb, 0x00, 0x00, 0x00, 0x01, 0xff, 0x9b, 0x03, 0xeb, 0x00, 0x64, + 0x05, 0xcc, 0x00, 0x09, 0x00, 0x1b, 0x40, 0x0b, 0x02, 0x00, 0x00, + 0x09, 0x09, 0x0a, 0x02, 0x02, 0x05, 0x00, 0x00, 0x00, 0x3f, 0xcc, + 0x39, 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x15, 0x23, 0x14, 0x17, 0x23, 0x2e, 0x01, 0x3d, 0x01, 0x5e, + 0x58, 0x5e, 0x7b, 0x28, 0x26, 0x05, 0xcc, 0xdb, 0x7e, 0x88, 0x40, + 0x91, 0x68, 0xa8, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf4, 0x03, 0xe9, + 0x00, 0xc5, 0x05, 0xc9, 0x00, 0x09, 0x00, 0x1b, 0x40, 0x0b, 0x06, + 0x09, 0x09, 0x08, 0x08, 0x0a, 0x07, 0x07, 0x03, 0x09, 0x00, 0x00, + 0x3f, 0xcc, 0x39, 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x14, 0x06, 0x07, 0x27, 0x36, 0x37, 0x23, 0x35, + 0x33, 0xc5, 0x55, 0x50, 0x2c, 0x68, 0x06, 0x5e, 0xc1, 0x05, 0x24, + 0x93, 0x83, 0x25, 0x47, 0x2a, 0x9e, 0xd1, 0x00, 0x01, 0xff, 0x5b, + 0xfe, 0x69, 0x00, 0xac, 0xff, 0x80, 0x00, 0x05, 0x00, 0x18, 0x40, + 0x09, 0x00, 0x05, 0x05, 0x03, 0x02, 0x02, 0x06, 0x00, 0x03, 0x00, + 0x2f, 0xcd, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x27, 0x35, 0x33, 0x13, 0x15, 0x4e, 0xf3, 0xcf, 0x82, + 0xfe, 0x69, 0xfa, 0x1d, 0xfe, 0xfd, 0x14, 0x00, 0x00, 0x01, 0xff, + 0x4f, 0xfe, 0x6a, 0x00, 0xa0, 0xff, 0x81, 0x00, 0x05, 0x00, 0x15, + 0xb7, 0x02, 0x03, 0x03, 0x05, 0x00, 0x06, 0x00, 0x03, 0x00, 0x2f, + 0xcd, 0x11, 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x03, + 0x35, 0x13, 0x33, 0x15, 0x07, 0xb1, 0x82, 0xcf, 0xf3, 0xfe, 0x6a, + 0x14, 0x01, 0x03, 0x1d, 0xfa, 0x00, 0x01, 0xff, 0x3f, 0xfe, 0x5f, + 0x00, 0xa2, 0xff, 0xb5, 0x00, 0x07, 0x00, 0x1c, 0x40, 0x0b, 0x03, + 0x05, 0x01, 0x00, 0x00, 0x08, 0x03, 0x04, 0x04, 0x01, 0x07, 0x00, + 0x2f, 0xcd, 0x39, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x32, + 0x32, 0x31, 0x30, 0x13, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, + 0xa2, 0x6f, 0xf4, 0xf4, 0x6f, 0xfe, 0x5f, 0x73, 0x71, 0x72, 0x00, + 0x01, 0xff, 0x5e, 0xfe, 0x5f, 0x00, 0xc1, 0xff, 0xb5, 0x00, 0x07, + 0x00, 0x1e, 0x40, 0x0c, 0x03, 0x06, 0x01, 0x01, 0x00, 0x00, 0x08, + 0x05, 0x02, 0x02, 0x07, 0x01, 0x00, 0x2f, 0xcd, 0x39, 0x2f, 0x33, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x07, + 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0xa2, 0x6f, 0xf4, 0xf4, + 0x6f, 0x4b, 0x72, 0x71, 0x73, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, + 0x87, 0x04, 0xc5, 0x01, 0x79, 0x06, 0x88, 0x00, 0x05, 0x00, 0x17, + 0x40, 0x09, 0x02, 0x05, 0x04, 0x04, 0x06, 0x03, 0x05, 0x01, 0x94, + 0x00, 0x3f, 0xcd, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x32, 0x31, + 0x30, 0x01, 0x23, 0x11, 0x21, 0x35, 0x21, 0x01, 0x79, 0x8f, 0xfd, + 0x9d, 0x02, 0xf2, 0x04, 0xc5, 0x01, 0x39, 0x8a, 0x00, 0x00, 0x01, + 0x00, 0x3e, 0x04, 0x03, 0x01, 0x07, 0x05, 0xcc, 0x00, 0x09, 0x00, + 0x1b, 0x40, 0x0b, 0x07, 0x00, 0x00, 0x09, 0x09, 0x0a, 0x08, 0x08, + 0x05, 0x00, 0x00, 0x00, 0x3f, 0xcc, 0x39, 0x2f, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x14, 0x06, 0x07, + 0x23, 0x36, 0x35, 0x23, 0x35, 0x01, 0x07, 0x25, 0x2b, 0x79, 0x5f, + 0x59, 0x05, 0xcc, 0x92, 0x61, 0x93, 0x43, 0x89, 0x7d, 0xc3, 0x00, + 0x00, 0x01, 0xff, 0xa6, 0xfe, 0x57, 0x00, 0x5f, 0xff, 0xd2, 0x00, + 0x0d, 0x00, 0x13, 0xb6, 0x0a, 0x06, 0x03, 0x03, 0x0e, 0x00, 0x06, + 0x00, 0x2f, 0xce, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x13, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x15, 0x22, 0x06, 0x15, + 0x14, 0x16, 0x33, 0x5f, 0x55, 0x64, 0x64, 0x55, 0x2a, 0x37, 0x37, + 0x2a, 0xfe, 0x57, 0x68, 0x56, 0x57, 0x66, 0x55, 0x37, 0x31, 0x31, + 0x38, 0x00, 0x00, 0x01, 0xff, 0x4c, 0xfe, 0x57, 0x00, 0xb3, 0xff, + 0xa8, 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x06, 0x03, 0x03, 0x00, + 0x00, 0x01, 0x08, 0x06, 0x02, 0x02, 0x01, 0x05, 0x00, 0x2f, 0xcc, + 0x32, 0x11, 0x33, 0x11, 0x01, 0x33, 0x32, 0x11, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x21, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0xb3, + 0xfe, 0x99, 0x7b, 0x71, 0x7b, 0xfe, 0x57, 0x6c, 0xe5, 0xe5, 0x00, + 0x00, 0x01, 0xff, 0x4d, 0xfe, 0x57, 0x00, 0xb4, 0xff, 0xa8, 0x00, + 0x07, 0x00, 0x20, 0x40, 0x0d, 0x02, 0x03, 0x03, 0x00, 0x00, 0x05, + 0x05, 0x08, 0x01, 0x05, 0x05, 0x03, 0x07, 0x00, 0x2f, 0xcc, 0x33, + 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x17, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x21, 0xb4, + 0x7b, 0x71, 0x7b, 0x01, 0x67, 0xc4, 0xe5, 0xe5, 0x6c, 0x00, 0x01, + 0xff, 0x4b, 0xfe, 0x57, 0x00, 0xb2, 0xff, 0xbc, 0x00, 0x0b, 0x00, + 0x2e, 0x40, 0x14, 0x0a, 0x02, 0x02, 0x07, 0x03, 0x03, 0x00, 0x00, + 0x05, 0x05, 0x0c, 0x01, 0x05, 0x05, 0x0a, 0x06, 0x06, 0x03, 0xc0, + 0x09, 0x00, 0x2f, 0x1a, 0xcd, 0x39, 0x2f, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, + 0x35, 0x33, 0x15, 0x33, 0xb2, 0x7b, 0x71, 0x7b, 0x7b, 0x71, 0x7b, + 0xfe, 0xd4, 0x7d, 0x7d, 0x6c, 0x7c, 0x7c, 0x00, 0x00, 0x00, 0x01, + 0xfe, 0xc9, 0xfe, 0xd6, 0x01, 0x39, 0xff, 0x63, 0x00, 0x03, 0x00, + 0x0f, 0xb4, 0x00, 0x01, 0x04, 0x01, 0x03, 0x00, 0x2f, 0x33, 0x11, + 0x01, 0x33, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x01, 0x39, + 0xfd, 0x90, 0x02, 0x70, 0xfe, 0xd6, 0x8d, 0x00, 0x00, 0x00, 0x01, + 0xff, 0x11, 0xfe, 0x57, 0x00, 0xb2, 0x00, 0x9b, 0x00, 0x0b, 0x00, + 0x15, 0xb7, 0x06, 0x00, 0x0b, 0x0b, 0x0c, 0x08, 0x03, 0x00, 0x00, + 0x2f, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x37, 0x11, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, + 0x11, 0xb2, 0xfe, 0xe7, 0x33, 0x55, 0x32, 0x45, 0x78, 0x9b, 0xfe, + 0xe4, 0xfe, 0xd8, 0x10, 0xa4, 0x12, 0x94, 0x01, 0x0e, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0xfe, 0x57, 0x01, 0xa1, 0x00, 0x9b, 0x00, + 0x0b, 0x00, 0x15, 0xb7, 0x06, 0x00, 0x0b, 0x0b, 0x0c, 0x03, 0x08, + 0x00, 0x00, 0x2f, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x37, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, + 0x20, 0x19, 0x01, 0xb2, 0x78, 0x45, 0x32, 0x55, 0x33, 0xfe, 0xe7, + 0x9b, 0xfe, 0xf2, 0x94, 0x12, 0xa4, 0x10, 0x01, 0x28, 0x01, 0x1c, + 0x00, 0x00, 0xff, 0xff, 0xfc, 0xf5, 0xfe, 0xe7, 0xfd, 0xbd, 0xff, + 0xa7, 0x10, 0x07, 0x09, 0x10, 0xfd, 0xf0, 0x00, 0x28, 0x00, 0x00, + 0x00, 0x02, 0xfe, 0xe9, 0xfe, 0x57, 0x01, 0x16, 0xff, 0x0f, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x1c, 0x40, 0x0b, 0x00, 0x03, 0x07, 0x04, + 0x03, 0x04, 0x08, 0x04, 0x00, 0x05, 0x02, 0x00, 0x2f, 0x33, 0xcd, + 0x32, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x73, 0xa3, 0xfd, + 0xd3, 0xa5, 0xfe, 0x57, 0xb8, 0xb8, 0xb8, 0xb8, 0x00, 0x00, 0x02, + 0xff, 0x38, 0xfe, 0x57, 0x00, 0xc8, 0xff, 0xd4, 0x00, 0x0b, 0x00, + 0x17, 0x00, 0x1e, 0x40, 0x0c, 0x0c, 0x00, 0x00, 0x12, 0x06, 0x06, + 0x18, 0x15, 0x03, 0xc0, 0x0f, 0x09, 0x00, 0x2f, 0x33, 0x1a, 0xcc, + 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x17, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0xc8, 0x78, 0x50, 0x50, 0x78, 0x77, 0x51, 0x52, 0x76, + 0x60, 0x3b, 0x2d, 0x2d, 0x3c, 0x3c, 0x2d, 0x2d, 0x3b, 0xea, 0x51, + 0x6e, 0x6f, 0x50, 0x50, 0x6e, 0x6e, 0x50, 0x2d, 0x37, 0x37, 0x2d, + 0x2d, 0x39, 0x39, 0x00, 0x01, 0xff, 0x99, 0xfe, 0x39, 0x00, 0x62, + 0xff, 0x9e, 0x00, 0x09, 0x00, 0x1e, 0x40, 0x0e, 0x06, 0x09, 0x09, + 0x08, 0x08, 0x0a, 0x07, 0x04, 0x00, 0x09, 0x10, 0x09, 0x02, 0x09, + 0x00, 0x2f, 0x5d, 0xcc, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x17, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, 0x23, + 0x35, 0x33, 0x62, 0x2c, 0x28, 0x75, 0x5e, 0x58, 0xc3, 0xcc, 0x57, + 0x75, 0x2f, 0x64, 0x5a, 0xa7, 0x00, 0x01, 0xff, 0x4a, 0xfe, 0x44, + 0x00, 0xb6, 0x00, 0x00, 0x00, 0x13, 0x00, 0x3b, 0x40, 0x20, 0x10, + 0x11, 0x11, 0x0f, 0x0e, 0x0e, 0x04, 0x09, 0x00, 0x04, 0x09, 0x03, + 0x15, 0x11, 0x0c, 0x92, 0x59, 0x11, 0x40, 0x0d, 0x10, 0x48, 0x11, + 0x11, 0x07, 0x0f, 0x02, 0x07, 0x8d, 0x59, 0x02, 0x95, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x2f, 0x12, 0x39, 0x2f, 0x2b, 0x2b, 0x11, 0x01, + 0x17, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x14, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, + 0x34, 0x26, 0x2b, 0x01, 0x07, 0x37, 0x33, 0x07, 0x1e, 0x01, 0xb6, + 0xfe, 0xee, 0x39, 0x21, 0x31, 0x25, 0x93, 0x3d, 0x48, 0x1c, 0x1d, + 0x41, 0x6b, 0x27, 0x5e, 0x5e, 0xfe, 0xfe, 0xba, 0x04, 0x62, 0x06, + 0x56, 0x28, 0x2a, 0x02, 0xb6, 0x64, 0x03, 0x53, 0x00, 0x01, 0xff, + 0x4c, 0xfe, 0x55, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x11, 0x00, 0x22, + 0x40, 0x10, 0x08, 0x09, 0x09, 0x00, 0x05, 0x0c, 0x00, 0x03, 0x12, + 0x08, 0x02, 0x0f, 0x8e, 0x59, 0x02, 0x95, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x2f, 0x11, 0x01, 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x33, + 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0xaa, 0x3f, 0x4c, + 0x69, 0x6a, 0x57, 0x44, 0x85, 0x40, 0x53, 0x31, 0x2d, 0x36, 0x3d, + 0xfe, 0x70, 0x1b, 0x66, 0x55, 0x46, 0x84, 0x26, 0x24, 0x7d, 0x42, + 0x2a, 0x30, 0x18, 0x00, 0x00, 0x00, 0x01, 0xff, 0xbd, 0xfe, 0x57, + 0x00, 0x43, 0xff, 0xb5, 0x00, 0x03, 0x00, 0x0f, 0xb4, 0x00, 0x01, + 0x04, 0x01, 0x03, 0x00, 0x2f, 0xcd, 0x11, 0x01, 0x33, 0x32, 0x31, + 0x30, 0x13, 0x23, 0x11, 0x33, 0x43, 0x86, 0x86, 0xfe, 0x57, 0x01, + 0x5e, 0x00, 0x01, 0xfe, 0x87, 0xfe, 0x57, 0x01, 0x79, 0xff, 0xa7, + 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x01, 0x00, 0x00, 0x04, 0x05, + 0x05, 0x08, 0x05, 0x01, 0x80, 0x03, 0x07, 0x00, 0x2f, 0x33, 0x1a, + 0xcd, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x21, 0x01, 0x79, + 0x89, 0xfe, 0x1f, 0x88, 0x02, 0xf2, 0xfe, 0x57, 0xc9, 0xc9, 0x01, + 0x50, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x9d, 0xfe, 0x90, 0x01, 0x63, + 0xff, 0x7d, 0x00, 0x19, 0x00, 0x30, 0x40, 0x15, 0x00, 0x0e, 0x0e, + 0x0d, 0x0d, 0x06, 0x14, 0x15, 0x15, 0x07, 0x06, 0x06, 0x1a, 0x11, + 0x0a, 0x0a, 0x03, 0x18, 0x14, 0x0d, 0x07, 0x00, 0x2f, 0x33, 0x33, + 0xcc, 0x32, 0x32, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x11, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, + 0x06, 0x23, 0x22, 0x18, 0x4d, 0x44, 0x5e, 0x5c, 0x61, 0x2e, 0x2e, + 0x37, 0x41, 0x5c, 0x41, 0x37, 0x2e, 0x2e, 0x61, 0x5c, 0x5e, 0x72, + 0xfe, 0xeb, 0x26, 0x35, 0x81, 0x6c, 0x4c, 0x43, 0x4a, 0x45, 0x45, + 0x4a, 0x44, 0x4b, 0x6c, 0x81, 0x00, 0x00, 0x01, 0xfe, 0xb9, 0xfe, + 0x57, 0x01, 0x45, 0xff, 0x5b, 0x00, 0x09, 0x00, 0x26, 0x40, 0x10, + 0x01, 0x00, 0x05, 0x03, 0x07, 0x08, 0x08, 0x04, 0x03, 0x03, 0x0a, + 0x06, 0x01, 0x80, 0x07, 0x04, 0x00, 0x2f, 0x33, 0x1a, 0xcd, 0x32, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x33, + 0x33, 0x31, 0x30, 0x13, 0x23, 0x27, 0x35, 0x33, 0x17, 0x33, 0x37, + 0x33, 0x15, 0x65, 0xcc, 0xe0, 0x68, 0xde, 0x02, 0xdb, 0x69, 0xfe, + 0x57, 0xef, 0x15, 0x8b, 0x8b, 0x15, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xfe, 0xb5, 0xfe, 0x57, 0x01, 0x41, 0xff, 0x5b, 0x00, 0x09, 0x00, + 0x28, 0x40, 0x11, 0x09, 0x08, 0x03, 0x03, 0x06, 0x02, 0x01, 0x01, + 0x05, 0x06, 0x06, 0x0a, 0x06, 0x02, 0x80, 0x04, 0x09, 0x00, 0x2f, + 0x33, 0x1a, 0xcd, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x15, 0x23, + 0x27, 0x23, 0x07, 0x23, 0x35, 0x37, 0x33, 0x01, 0x41, 0x69, 0xdb, + 0x02, 0xde, 0x68, 0xe0, 0xcc, 0xfe, 0x6c, 0x15, 0x8b, 0x8b, 0x15, + 0xef, 0x00, 0x01, 0xfe, 0xdc, 0xfe, 0x72, 0x01, 0x24, 0xff, 0x76, + 0x00, 0x0d, 0x00, 0x1e, 0x40, 0x0c, 0x0a, 0x0b, 0x0b, 0x04, 0x03, + 0x03, 0x0e, 0x07, 0x00, 0x80, 0x0a, 0x04, 0x00, 0x2f, 0x33, 0x1a, + 0xcc, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x11, 0x22, 0x26, 0x27, 0x33, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x37, 0x33, 0x0e, 0x01, 0x78, 0x9d, 0x0f, 0x69, 0x0c, 0x63, 0x4c, + 0x4a, 0x63, 0x0e, 0x69, 0x12, 0x9a, 0xfe, 0x72, 0x8d, 0x77, 0x3b, + 0x49, 0x47, 0x3d, 0x7a, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, + 0xdc, 0xfe, 0x72, 0x01, 0x24, 0xff, 0x76, 0x00, 0x0d, 0x00, 0x1e, + 0x40, 0x0c, 0x04, 0x03, 0x03, 0x0a, 0x0b, 0x0b, 0x0e, 0x0b, 0x04, + 0x80, 0x07, 0x00, 0x00, 0x2f, 0x32, 0x1a, 0xcc, 0x32, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x15, 0x32, 0x16, + 0x17, 0x23, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x01, + 0x77, 0x9b, 0x12, 0x69, 0x0f, 0x62, 0x4a, 0x4c, 0x63, 0x0c, 0x69, + 0x0f, 0x9e, 0x8a, 0x89, 0x7b, 0x3e, 0x46, 0x49, 0x3b, 0x77, 0x8d, + 0x00, 0x01, 0xfe, 0x9a, 0xfe, 0x57, 0x01, 0x67, 0xff, 0x63, 0x00, + 0x17, 0x00, 0x22, 0x40, 0x0e, 0x14, 0x15, 0x15, 0x08, 0x09, 0x09, + 0x18, 0x12, 0x08, 0x00, 0x80, 0x14, 0x05, 0x0d, 0x00, 0x2f, 0x33, + 0x33, 0x1a, 0xcd, 0x32, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, + 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x37, + 0x33, 0x0e, 0x01, 0x9d, 0x2a, 0x54, 0x4e, 0x47, 0x1f, 0x37, 0x36, + 0x09, 0x5b, 0x0b, 0x30, 0x51, 0x3f, 0x2c, 0x54, 0x4e, 0x45, 0x1e, + 0x64, 0x11, 0x5c, 0x11, 0x64, 0xfe, 0x57, 0x25, 0x2d, 0x25, 0x3e, + 0x39, 0x66, 0x69, 0x3d, 0x25, 0x2d, 0x25, 0x77, 0x94, 0x78, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xfe, 0xed, 0xfe, 0xbc, 0x01, 0x12, 0xff, + 0x3b, 0x00, 0x03, 0x00, 0x0f, 0xb4, 0x00, 0x01, 0x04, 0x01, 0x03, + 0x00, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x33, 0x31, 0x30, 0x01, 0x21, + 0x35, 0x21, 0x01, 0x12, 0xfd, 0xdb, 0x02, 0x25, 0xfe, 0xbc, 0x7f, + 0x00, 0x00, 0x00, 0x01, 0xfd, 0xab, 0xfe, 0x69, 0x02, 0x54, 0xfe, + 0xeb, 0x00, 0x03, 0x00, 0x0f, 0xb4, 0x02, 0x01, 0x04, 0x00, 0x02, + 0x00, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x33, 0x31, 0x30, 0x01, 0x35, + 0x21, 0x15, 0xfd, 0xab, 0x04, 0xa9, 0xfe, 0x69, 0x82, 0x82, 0x00, + 0x00, 0x00, 0x00, 0x02, 0xfe, 0xc9, 0xfe, 0x57, 0x01, 0x39, 0xff, + 0x9c, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x05, 0x01, + 0x04, 0x00, 0x00, 0x01, 0x08, 0x06, 0x05, 0x80, 0x01, 0x03, 0x00, + 0x2f, 0x33, 0x1a, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x05, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, + 0x21, 0x01, 0x39, 0xfd, 0x90, 0x02, 0x70, 0xfd, 0x90, 0x02, 0x70, + 0xda, 0x76, 0xfe, 0xbb, 0x76, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, + 0x9a, 0x00, 0xf1, 0x01, 0x67, 0x01, 0xfd, 0x00, 0x17, 0x00, 0x22, + 0x40, 0x0e, 0x14, 0x15, 0x15, 0x08, 0x09, 0x09, 0x18, 0x14, 0x05, + 0x0d, 0x80, 0x12, 0x08, 0x00, 0x00, 0x2f, 0x32, 0x32, 0x1a, 0xcd, + 0x32, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x37, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, + 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x33, 0x0e, 0x01, + 0x9d, 0x2a, 0x54, 0x4e, 0x47, 0x1f, 0x37, 0x36, 0x09, 0x5b, 0x0b, + 0x30, 0x51, 0x3f, 0x2c, 0x54, 0x4e, 0x45, 0x1e, 0x64, 0x11, 0x5c, + 0x11, 0x64, 0xf1, 0x25, 0x2d, 0x25, 0x3e, 0x39, 0x66, 0x69, 0x3d, + 0x25, 0x2d, 0x25, 0x77, 0x94, 0x78, 0x00, 0x01, 0xfe, 0xa1, 0x01, + 0x12, 0x01, 0x5f, 0x01, 0xa1, 0x00, 0x03, 0x00, 0x0f, 0xb4, 0x00, + 0x01, 0x04, 0x02, 0x01, 0x00, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x01, 0x5f, 0xfd, 0x42, 0x02, + 0xbe, 0x01, 0x12, 0x8f, 0x00, 0x00, 0x00, 0x01, 0xfd, 0xad, 0x01, + 0x1c, 0x02, 0x56, 0x01, 0x99, 0x00, 0x03, 0x00, 0x0f, 0xb4, 0x00, + 0x01, 0x04, 0x02, 0x01, 0x00, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x02, 0x56, 0xfb, 0x57, 0x04, + 0xa9, 0x01, 0x1c, 0x7d, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x00, 0xff, + 0xe4, 0x02, 0x00, 0x03, 0xe3, 0x00, 0x03, 0x00, 0x0f, 0xb4, 0x00, + 0x02, 0x04, 0x03, 0x01, 0x00, 0x2f, 0xcd, 0x11, 0x01, 0x33, 0x33, + 0x31, 0x30, 0x09, 0x01, 0x27, 0x01, 0x02, 0x00, 0xfc, 0x63, 0x63, + 0x03, 0x9d, 0x03, 0x82, 0xfc, 0x62, 0x61, 0x03, 0x9e, 0x00, 0x00, + 0x01, 0xfe, 0xe6, 0xff, 0xdd, 0x01, 0x1f, 0x05, 0xe7, 0x00, 0x03, + 0x00, 0x0f, 0xb4, 0x00, 0x02, 0x04, 0x00, 0x02, 0x00, 0x2f, 0xcd, + 0x11, 0x01, 0x33, 0x33, 0x31, 0x30, 0x09, 0x01, 0x23, 0x01, 0x01, + 0x1f, 0xfe, 0x58, 0x91, 0x01, 0xa9, 0x05, 0xe7, 0xf9, 0xf6, 0x06, + 0x0a, 0x00, 0x00, 0x00, 0x01, 0xff, 0xa3, 0xfe, 0x4e, 0x00, 0x5c, + 0xff, 0xc9, 0x00, 0x0d, 0x00, 0x18, 0x40, 0x09, 0x03, 0x0a, 0x0a, + 0x07, 0x00, 0x00, 0x0e, 0x0d, 0x07, 0x00, 0x2f, 0xce, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x5d, 0x2a, 0x37, 0x37, 0x2a, 0x54, 0x65, 0x65, 0x54, 0xfe, 0xa3, + 0x38, 0x31, 0x31, 0x37, 0x55, 0x66, 0x57, 0x57, 0x67, 0x00, 0x01, + 0xfe, 0x87, 0xfe, 0x57, 0x01, 0x79, 0xff, 0xa7, 0x00, 0x07, 0x00, + 0x1c, 0x40, 0x0b, 0x05, 0x00, 0x04, 0x00, 0x01, 0x08, 0x04, 0x01, + 0x80, 0x06, 0x03, 0x00, 0x2f, 0x33, 0x1a, 0xcd, 0x32, 0x11, 0x01, + 0x33, 0x33, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x33, + 0x15, 0x21, 0x35, 0x33, 0x01, 0x79, 0xfd, 0x0e, 0x88, 0x01, 0xe1, + 0x89, 0xfe, 0x57, 0x01, 0x50, 0xc9, 0xc9, 0x00, 0x02, 0xff, 0x44, + 0xfe, 0x57, 0x00, 0xbc, 0xff, 0xcf, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x1a, 0x40, 0x0a, 0x04, 0x00, 0x07, 0x00, 0x01, 0x08, 0x07, 0x01, + 0x06, 0x03, 0x00, 0x2f, 0x33, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x33, + 0x32, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, 0x11, 0x21, 0x03, 0x35, + 0x23, 0x15, 0xbc, 0xfe, 0x88, 0x01, 0x78, 0x5f, 0xba, 0xfe, 0x57, + 0x01, 0x78, 0xfe, 0xe7, 0xba, 0xba, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xfe, 0xa2, 0xfe, 0x95, 0x01, 0x5e, 0xff, 0x82, 0x00, 0x17, 0x00, + 0x30, 0x40, 0x15, 0x11, 0x05, 0x05, 0x06, 0x06, 0x00, 0x17, 0x17, + 0x0b, 0x0c, 0x18, 0x11, 0x06, 0x06, 0x00, 0x0c, 0x02, 0x09, 0x09, + 0x14, 0x0f, 0x00, 0x2f, 0x33, 0x33, 0x11, 0x33, 0xcd, 0x32, 0x32, + 0x11, 0x33, 0x11, 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x39, 0x11, + 0x33, 0x12, 0x39, 0x31, 0x30, 0x13, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x23, 0x34, 0x26, 0x23, 0x22, 0x07, 0x23, 0x3e, 0x01, 0x33, 0x32, + 0x17, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0xfc, 0x11, 0x4a, 0x37, + 0x3c, 0x5c, 0x3c, 0x37, 0x4a, 0x11, 0x62, 0x0d, 0x5a, 0x4e, 0x70, + 0x39, 0x20, 0x4e, 0x36, 0x4e, 0x5f, 0x0d, 0xfe, 0xda, 0x4a, 0x4a, + 0x45, 0x45, 0x4a, 0x4a, 0x4e, 0x5a, 0x5b, 0x33, 0x28, 0x5a, 0x4e, + 0x00, 0x00, 0x01, 0xff, 0x25, 0x04, 0x72, 0x00, 0xda, 0x06, 0x25, + 0x00, 0x0b, 0x00, 0x2e, 0x40, 0x17, 0x05, 0x02, 0x08, 0x0b, 0x04, + 0x00, 0x06, 0x04, 0x04, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x08, 0x0b, + 0x05, 0x02, 0x04, 0x09, 0x07, 0x03, 0x01, 0x00, 0x2f, 0x33, 0xcd, + 0x32, 0x17, 0x39, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x17, 0x39, 0x31, 0x30, 0x13, 0x07, 0x27, 0x07, 0x27, + 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x07, 0xda, 0x57, 0x84, 0x83, + 0x56, 0x83, 0x84, 0x57, 0x84, 0x84, 0x56, 0x84, 0x04, 0xc7, 0x55, + 0x86, 0x85, 0x53, 0x85, 0x85, 0x55, 0x85, 0x84, 0x53, 0x84, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0x97, 0x04, 0x6c, 0x00, 0x69, 0x06, + 0x89, 0x00, 0x18, 0x00, 0x28, 0x40, 0x11, 0x14, 0x0d, 0x0d, 0x04, + 0x11, 0x08, 0x00, 0x00, 0x04, 0x04, 0x19, 0x14, 0x08, 0x11, 0x10, + 0x05, 0x04, 0x00, 0x2f, 0x33, 0xcc, 0x32, 0x39, 0x39, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x14, 0x0e, 0x01, 0x07, 0x35, 0x3e, 0x01, 0x35, 0x34, + 0x2e, 0x02, 0x35, 0x34, 0x36, 0x37, 0x15, 0x0e, 0x01, 0x15, 0x14, + 0x1e, 0x02, 0x69, 0x2f, 0x50, 0x53, 0x2c, 0x31, 0x1d, 0x23, 0x1d, + 0x5f, 0x73, 0x2d, 0x30, 0x1d, 0x23, 0x1d, 0x05, 0x0a, 0x31, 0x3f, + 0x24, 0x0a, 0x4d, 0x06, 0x26, 0x2a, 0x17, 0x31, 0x35, 0x3c, 0x22, + 0x44, 0x4e, 0x0d, 0x4c, 0x08, 0x24, 0x2c, 0x18, 0x32, 0x35, 0x3b, + 0x00, 0x00, 0x02, 0xfd, 0xac, 0x06, 0x0c, 0x02, 0x55, 0x07, 0x30, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x07, 0x03, 0x04, + 0x00, 0x03, 0x00, 0x08, 0x04, 0x06, 0x80, 0x01, 0x00, 0x00, 0x2f, + 0x32, 0x1a, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x35, 0x21, 0x15, 0x25, 0x35, 0x21, 0x15, + 0xfd, 0xac, 0x04, 0xa9, 0xfb, 0x57, 0x04, 0xa9, 0x06, 0x0c, 0x66, + 0x66, 0xbe, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xb3, + 0x04, 0xaa, 0xff, 0xef, 0x05, 0xc2, 0x00, 0x05, 0x00, 0x1b, 0x40, + 0x0b, 0x03, 0x02, 0x02, 0x00, 0x05, 0x05, 0x06, 0x00, 0x80, 0x03, + 0x93, 0x00, 0x3f, 0x1a, 0xcd, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x13, 0x15, 0x23, 0x03, 0x35, 0x9a, + 0x89, 0x78, 0xc4, 0x05, 0xc2, 0xfe, 0xf4, 0x0c, 0x01, 0x09, 0x0f, + 0x00, 0x00, 0x01, 0x00, 0x12, 0x04, 0xaa, 0x01, 0x4e, 0x05, 0xc2, + 0x00, 0x05, 0x00, 0x19, 0x40, 0x0a, 0x05, 0x02, 0x00, 0x03, 0x03, + 0x06, 0x00, 0x80, 0x03, 0x93, 0x00, 0x3f, 0x1a, 0xcd, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x32, 0x31, 0x30, 0x01, 0x15, 0x03, 0x23, + 0x35, 0x13, 0x01, 0x4e, 0xc4, 0x78, 0x89, 0x05, 0xc2, 0x0f, 0xfe, + 0xf7, 0x0c, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xa4, 0x04, + 0xb1, 0x01, 0x5d, 0x05, 0xbd, 0x00, 0x15, 0x00, 0x27, 0x40, 0x11, + 0x12, 0x13, 0x08, 0x09, 0x09, 0x16, 0x10, 0x00, 0x00, 0x09, 0x05, + 0x0b, 0x0b, 0x13, 0x80, 0x09, 0x93, 0x00, 0x3f, 0x1a, 0xcc, 0x32, + 0x2f, 0x33, 0x11, 0x33, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x33, 0x32, 0x31, 0x30, 0x13, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, + 0x07, 0x23, 0x12, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x33, + 0x0e, 0x01, 0x8c, 0x2a, 0x47, 0x41, 0x41, 0x25, 0x2f, 0x33, 0x09, + 0x65, 0x1d, 0xae, 0x2c, 0x49, 0x44, 0x41, 0x24, 0x5b, 0x0f, 0x66, + 0x0f, 0x69, 0x04, 0xbb, 0x1f, 0x25, 0x1f, 0x34, 0x39, 0x01, 0x02, + 0x1f, 0x25, 0x1f, 0x6d, 0x88, 0x7a, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x9c, 0x04, 0x03, 0x00, 0x65, 0x05, 0xcc, 0x00, 0x09, 0x00, 0x1b, + 0x40, 0x0b, 0x07, 0x00, 0x00, 0x09, 0x09, 0x0a, 0x08, 0x08, 0x05, + 0x00, 0x00, 0x00, 0x3f, 0xcc, 0x39, 0x2f, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x15, 0x14, 0x06, 0x07, 0x23, + 0x36, 0x35, 0x23, 0x35, 0x65, 0x25, 0x2b, 0x79, 0x5f, 0x59, 0x05, + 0xcc, 0x92, 0x61, 0x93, 0x43, 0x89, 0x7d, 0xc3, 0x00, 0x00, 0x00, + 0x03, 0xfe, 0xab, 0x04, 0xcf, 0x01, 0x53, 0x05, 0xe3, 0x00, 0x05, + 0x00, 0x09, 0x00, 0x0d, 0x00, 0x32, 0x40, 0x16, 0x05, 0x00, 0x00, + 0x02, 0x03, 0x03, 0x06, 0x0a, 0x0d, 0x09, 0x06, 0x0d, 0x06, 0x0e, + 0x0b, 0x07, 0x07, 0x0a, 0x06, 0x00, 0x80, 0x03, 0x00, 0x2f, 0x1a, + 0xcd, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x15, 0x03, 0x23, 0x35, 0x13, 0x01, 0x35, 0x33, 0x15, + 0x21, 0x35, 0x33, 0x15, 0xb1, 0xbd, 0x75, 0x83, 0xfe, 0xa9, 0x96, + 0x01, 0x7c, 0x96, 0x05, 0xe3, 0x0f, 0xfe, 0xfb, 0x0c, 0x01, 0x08, + 0xfe, 0xec, 0xac, 0xac, 0xac, 0xac, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xba, 0xfe, 0x57, 0x00, 0x9a, 0xff, 0x81, 0x00, 0x0c, 0x00, 0x18, + 0x40, 0x09, 0x0c, 0x06, 0x0b, 0x0b, 0x0d, 0x03, 0x08, 0x80, 0x0c, + 0x00, 0x2f, 0x1a, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x17, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, + 0x22, 0x3d, 0x01, 0x33, 0x3e, 0x15, 0x18, 0x0e, 0x21, 0x2c, 0x26, + 0x8e, 0x84, 0xfc, 0x21, 0x17, 0x06, 0x70, 0x0b, 0x98, 0x92, 0x00, + 0x01, 0xfe, 0x87, 0x04, 0xd2, 0x01, 0x79, 0x06, 0x22, 0x00, 0x07, + 0x00, 0x1e, 0x40, 0x0c, 0x04, 0x05, 0x01, 0x00, 0x05, 0x00, 0x08, + 0x03, 0x07, 0x80, 0x05, 0x01, 0x00, 0x2f, 0x33, 0x1a, 0xcd, 0x32, + 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x21, 0x01, 0x79, 0x89, 0xfe, + 0x1f, 0x88, 0x02, 0xf2, 0x04, 0xd2, 0xc9, 0xc9, 0x01, 0x50, 0x00, + 0x00, 0x00, 0x02, 0xfe, 0x0d, 0xfe, 0x57, 0x01, 0xf0, 0xff, 0x7e, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x07, 0x02, 0x04, + 0x01, 0x02, 0x01, 0x08, 0x05, 0x04, 0x80, 0x00, 0x02, 0x00, 0x2f, + 0x33, 0x1a, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x05, 0x35, 0x21, 0x15, 0x05, 0x35, 0x21, 0x15, + 0xfe, 0x0d, 0x03, 0xe3, 0xfc, 0x1d, 0x03, 0xe3, 0xec, 0x6a, 0x6a, + 0xbd, 0x6a, 0x6a, 0x00, 0x02, 0xff, 0x47, 0xfe, 0x57, 0x00, 0xbe, + 0xff, 0xb5, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1a, 0x40, 0x0a, 0x05, + 0x04, 0x00, 0x04, 0x01, 0x08, 0x05, 0x01, 0x06, 0x03, 0x00, 0x2f, + 0x33, 0xcd, 0x32, 0x11, 0x01, 0x33, 0x33, 0x32, 0x11, 0x33, 0x31, + 0x30, 0x03, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x33, 0x86, + 0x86, 0xf1, 0x86, 0x86, 0xfe, 0x57, 0x01, 0x5e, 0xfe, 0xa2, 0x01, + 0x5e, 0x00, 0x01, 0xff, 0x35, 0xfe, 0x57, 0x00, 0xcb, 0xff, 0xa7, + 0x00, 0x05, 0x00, 0x18, 0x40, 0x09, 0x04, 0x01, 0x01, 0x00, 0x06, + 0x05, 0x03, 0x80, 0x01, 0x00, 0x2f, 0x1a, 0xcd, 0x33, 0x11, 0x01, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x07, 0x21, 0x11, 0x23, 0x35, + 0x21, 0xcb, 0x01, 0x96, 0x82, 0xfe, 0xec, 0x59, 0xfe, 0xb0, 0xd5, + 0x00, 0x00, 0x00, 0x01, 0xfe, 0x9a, 0x04, 0x75, 0x01, 0x67, 0x05, + 0xf9, 0x00, 0x1a, 0x00, 0x5d, 0x40, 0x2e, 0x00, 0x0c, 0x1a, 0x0c, + 0x0e, 0x18, 0x0d, 0x19, 0x19, 0x1a, 0x1a, 0x0b, 0x0d, 0x03, 0x12, + 0x04, 0x12, 0x13, 0x13, 0x04, 0x05, 0x05, 0x1b, 0x0b, 0x00, 0x18, + 0x00, 0x0e, 0x03, 0x0c, 0x19, 0x19, 0x05, 0x10, 0x16, 0x16, 0x05, + 0x0c, 0x0c, 0x02, 0x09, 0x09, 0x12, 0x80, 0x05, 0x93, 0x00, 0x3f, + 0x1a, 0xcc, 0x32, 0x2f, 0x33, 0x32, 0x2f, 0x11, 0x33, 0x2f, 0x33, + 0x11, 0x33, 0x2f, 0x12, 0x17, 0x39, 0x11, 0x39, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x32, 0x11, 0x12, 0x39, 0x31, 0x30, 0x03, + 0x26, 0x23, 0x22, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x37, + 0x17, 0x07, 0x16, 0x33, 0x32, 0x37, 0x33, 0x0e, 0x01, 0x23, 0x22, + 0x27, 0x07, 0x27, 0x50, 0x28, 0x1d, 0x63, 0x13, 0x5b, 0x0b, 0x30, + 0x51, 0x3f, 0x3e, 0x4f, 0x3d, 0x61, 0x3d, 0x2a, 0x19, 0x64, 0x11, + 0x5c, 0x11, 0x64, 0x55, 0x3b, 0x51, 0x3d, 0x61, 0x05, 0x18, 0x13, + 0x7a, 0x66, 0x69, 0x3d, 0x30, 0x6c, 0x36, 0x6c, 0x14, 0x7a, 0x94, + 0x78, 0x31, 0x6d, 0x37, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x98, 0x04, + 0x62, 0x01, 0x69, 0x07, 0x02, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x20, + 0x00, 0x42, 0x40, 0x1e, 0x1f, 0x1c, 0x1c, 0x1e, 0x19, 0x19, 0x09, + 0x15, 0x16, 0x16, 0x08, 0x09, 0x09, 0x21, 0x05, 0x0d, 0x0d, 0x15, + 0x12, 0x00, 0x00, 0x08, 0x15, 0x08, 0x15, 0x08, 0x1d, 0x1f, 0x1a, + 0x19, 0x00, 0x2f, 0x33, 0xcc, 0x32, 0x39, 0x39, 0x2f, 0x2f, 0x11, + 0x33, 0x2f, 0x33, 0x11, 0x33, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, + 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x36, 0x37, 0x33, + 0x0e, 0x01, 0x05, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, 0x15, 0x9e, + 0x2b, 0x51, 0x4c, 0x45, 0x1f, 0x37, 0x32, 0x09, 0x68, 0x0b, 0x30, + 0x52, 0x3f, 0x2c, 0x52, 0x4b, 0x44, 0x1e, 0x36, 0x32, 0x08, 0x6a, + 0x11, 0x65, 0xfe, 0xac, 0xb4, 0xb4, 0xb4, 0x05, 0x37, 0x20, 0x27, + 0x21, 0x35, 0x33, 0x59, 0x5d, 0x36, 0x21, 0x27, 0x21, 0x37, 0x32, + 0x81, 0x6b, 0xd5, 0xac, 0xac, 0x01, 0xf4, 0xac, 0xac, 0x00, 0x02, + 0xfe, 0x9f, 0x04, 0xc1, 0x01, 0x70, 0x06, 0xb5, 0x00, 0x18, 0x00, + 0x31, 0x00, 0x47, 0x40, 0x21, 0x21, 0x22, 0x22, 0x09, 0x2e, 0x2f, + 0x15, 0x16, 0x16, 0x08, 0x09, 0x09, 0x32, 0x1e, 0x26, 0x26, 0x2f, + 0x22, 0x2b, 0x19, 0x19, 0x22, 0x22, 0x05, 0x0d, 0x0d, 0x16, 0x09, + 0x12, 0x00, 0x00, 0x09, 0x94, 0x00, 0x3f, 0x33, 0x2f, 0x32, 0x10, + 0xcc, 0x32, 0x2f, 0x33, 0x32, 0x2f, 0x33, 0x2f, 0x33, 0x10, 0xcc, + 0x32, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x32, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x22, 0x2e, + 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x1e, + 0x02, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x03, 0x22, 0x2e, + 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x1e, + 0x02, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0xa5, 0x2b, 0x51, + 0x4c, 0x45, 0x1f, 0x37, 0x32, 0x09, 0x68, 0x0b, 0x30, 0x52, 0x3f, + 0x2c, 0x52, 0x4b, 0x44, 0x1e, 0x36, 0x32, 0x08, 0x6a, 0x11, 0x65, + 0x55, 0x2b, 0x51, 0x4c, 0x45, 0x1f, 0x37, 0x32, 0x09, 0x68, 0x0b, + 0x30, 0x52, 0x3f, 0x2c, 0x52, 0x4b, 0x44, 0x1e, 0x36, 0x32, 0x08, + 0x6a, 0x11, 0x65, 0x04, 0xc1, 0x20, 0x27, 0x21, 0x35, 0x33, 0x59, + 0x5d, 0x36, 0x21, 0x27, 0x21, 0x37, 0x32, 0x81, 0x6b, 0x01, 0x08, + 0x20, 0x27, 0x21, 0x35, 0x33, 0x59, 0x5d, 0x36, 0x21, 0x27, 0x21, + 0x37, 0x32, 0x81, 0x6b, 0x00, 0x00, 0x01, 0xfe, 0xef, 0xfe, 0x57, + 0x01, 0x11, 0xff, 0xb9, 0x00, 0x09, 0x00, 0x28, 0x40, 0x11, 0x06, + 0x04, 0x04, 0x05, 0x09, 0x01, 0x00, 0x00, 0x05, 0x0a, 0x03, 0x07, + 0x07, 0x04, 0x01, 0x09, 0x06, 0x00, 0x2f, 0x33, 0xcc, 0x32, 0x39, + 0x2f, 0x33, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x32, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x05, 0x07, 0x35, 0x23, 0x15, 0x27, 0x37, + 0x15, 0x33, 0x35, 0x01, 0x11, 0x96, 0xf6, 0x96, 0x96, 0xf6, 0xf6, + 0xb3, 0x80, 0x80, 0xb3, 0xaf, 0x76, 0x76, 0x00, 0x00, 0x01, 0xff, + 0x4f, 0xfe, 0x57, 0x00, 0xb1, 0xff, 0xd4, 0x00, 0x06, 0x00, 0x20, + 0x40, 0x0d, 0x06, 0x00, 0x00, 0x02, 0x04, 0x04, 0x02, 0x07, 0x05, + 0x02, 0x02, 0x00, 0x03, 0x00, 0x2f, 0xcd, 0x33, 0x11, 0x33, 0x11, + 0x01, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x03, + 0x35, 0x23, 0x37, 0x17, 0x23, 0x15, 0x3b, 0x76, 0xb1, 0xb1, 0x7c, + 0xfe, 0x57, 0xee, 0x8f, 0x8f, 0xee, 0x00, 0x18, 0xfd, 0x16, 0x00, + 0x00, 0x02, 0xea, 0x05, 0xcc, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, + 0x00, 0x15, 0x00, 0x1d, 0x00, 0x25, 0x00, 0x2d, 0x00, 0x35, 0x00, + 0x3d, 0x00, 0x45, 0x00, 0x4b, 0x00, 0x51, 0x00, 0x59, 0x00, 0x61, + 0x00, 0x69, 0x00, 0x71, 0x00, 0x79, 0x00, 0x81, 0x00, 0x89, 0x00, + 0x91, 0x00, 0x99, 0x00, 0x9d, 0x00, 0xa1, 0x00, 0xa7, 0x01, 0x3c, + 0x40, 0xa7, 0x9a, 0x48, 0xa6, 0xa6, 0xa3, 0x72, 0x76, 0x6a, 0x82, + 0x82, 0x6e, 0x86, 0x46, 0xa2, 0x52, 0x92, 0x92, 0x56, 0x96, 0x36, + 0x8a, 0x8a, 0x3a, 0x8e, 0x07, 0x9f, 0x2e, 0x7a, 0x7a, 0x32, 0x7e, + 0x16, 0x62, 0x62, 0x1a, 0x66, 0x06, 0x9e, 0x0e, 0x5a, 0x5a, 0x12, + 0x5e, 0x1e, 0x3e, 0x3e, 0x22, 0x42, 0x26, 0x2a, 0x03, 0x4d, 0x4d, + 0x2a, 0x42, 0x5e, 0x9e, 0x66, 0x7e, 0x9f, 0x8e, 0x96, 0xa2, 0x86, + 0x76, 0x0d, 0x4c, 0x9b, 0x49, 0xa3, 0x0b, 0x01, 0x4f, 0x00, 0x0a, + 0x4f, 0x03, 0x4c, 0xa3, 0x4c, 0xa8, 0x0b, 0x9b, 0xa6, 0x7c, 0x80, + 0x50, 0xa4, 0x64, 0x8c, 0x8c, 0x68, 0x90, 0x5c, 0x94, 0x94, 0x60, + 0x98, 0x40, 0x84, 0x84, 0x44, 0x88, 0x28, 0x74, 0x74, 0x2c, 0x78, + 0x20, 0x6c, 0x6c, 0x24, 0x70, 0x10, 0x54, 0x54, 0x14, 0x58, 0x01, + 0x49, 0x18, 0x38, 0x38, 0x1c, 0x3c, 0x30, 0x34, 0x80, 0xa4, 0x90, + 0x98, 0x88, 0x78, 0x70, 0x58, 0x49, 0x3c, 0x34, 0x34, 0x3c, 0x49, + 0x58, 0x70, 0x78, 0x88, 0x98, 0x90, 0xa4, 0x80, 0x0b, 0x4a, 0xa0, + 0x4e, 0xa6, 0xa6, 0x9f, 0x4d, 0xa3, 0x0c, 0x9c, 0x07, 0x03, 0x47, + 0x47, 0x08, 0x04, 0x4a, 0x00, 0x2f, 0x33, 0x33, 0x33, 0x11, 0x33, + 0x33, 0xc6, 0x32, 0x2f, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, + 0x17, 0x39, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2f, 0x2f, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x10, 0xc4, 0x32, 0x11, 0x01, 0x33, 0x33, 0x11, 0x17, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x23, 0x35, + 0x23, 0x35, 0x21, 0x05, 0x21, 0x35, 0x21, 0x01, 0x23, 0x11, 0x33, + 0x25, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x27, 0x14, 0x23, + 0x22, 0x35, 0x34, 0x33, 0x32, 0x13, 0x14, 0x23, 0x22, 0x35, 0x34, + 0x33, 0x32, 0x17, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x01, + 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x07, 0x14, 0x23, 0x22, + 0x35, 0x34, 0x33, 0x32, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, + 0x32, 0x01, 0x23, 0x15, 0x23, 0x11, 0x21, 0x01, 0x21, 0x35, 0x33, + 0x35, 0x33, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x01, + 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x07, 0x14, 0x23, 0x22, + 0x35, 0x34, 0x33, 0x32, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, + 0x32, 0x07, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x01, 0x14, + 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x25, 0x14, 0x23, 0x22, 0x35, + 0x34, 0x33, 0x32, 0x13, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, + 0x27, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x25, 0x23, 0x11, + 0x33, 0x01, 0x21, 0x35, 0x21, 0x05, 0x21, 0x11, 0x33, 0x15, 0x33, + 0x02, 0xea, 0x6d, 0xe0, 0x01, 0x4d, 0xfd, 0xbd, 0xfe, 0xb2, 0x01, + 0x4e, 0x02, 0x43, 0x6d, 0x6d, 0xfe, 0x91, 0x34, 0x38, 0x38, 0x34, + 0x95, 0x34, 0x39, 0x39, 0x34, 0xf9, 0x37, 0x36, 0x38, 0x35, 0x24, + 0x34, 0x38, 0x38, 0x34, 0xfe, 0x34, 0x36, 0x37, 0x37, 0x36, 0xae, + 0x38, 0x35, 0x35, 0x38, 0x02, 0x56, 0x37, 0x36, 0x36, 0x37, 0xfc, + 0x84, 0xe0, 0x6d, 0x01, 0x4d, 0x04, 0x87, 0xfe, 0xb3, 0xe0, 0x6d, + 0xfc, 0x09, 0x36, 0x36, 0x36, 0x36, 0x02, 0x8a, 0x36, 0x36, 0x36, + 0x36, 0x96, 0x35, 0x38, 0x38, 0x35, 0xfd, 0xa9, 0x35, 0x38, 0x36, + 0x37, 0x23, 0x36, 0x36, 0x36, 0x36, 0x01, 0xca, 0x36, 0x37, 0x37, + 0x36, 0xfe, 0x59, 0x37, 0x36, 0x36, 0x37, 0xf9, 0x38, 0x35, 0x35, + 0x38, 0x96, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x90, 0x6d, 0x6d, 0x03, + 0x24, 0xfe, 0xb2, 0x01, 0x4e, 0xfd, 0xbc, 0xfe, 0xb3, 0x6d, 0xe0, + 0x04, 0x83, 0xdc, 0x6d, 0x6d, 0x6d, 0xfc, 0x73, 0x01, 0x4e, 0x93, + 0x36, 0x36, 0x37, 0x2c, 0x36, 0x36, 0x37, 0xfe, 0xd1, 0x38, 0x38, + 0x35, 0xe5, 0x36, 0x36, 0x37, 0x01, 0x96, 0x38, 0x38, 0x35, 0x5a, + 0x36, 0x36, 0x37, 0xfd, 0x72, 0x35, 0x35, 0x38, 0x02, 0xfb, 0xdc, + 0x01, 0x49, 0xfa, 0x34, 0x6d, 0xdc, 0x02, 0xd7, 0x36, 0x33, 0x3a, + 0xfd, 0x3e, 0x35, 0x35, 0x37, 0x9a, 0x34, 0x34, 0x39, 0x02, 0x20, + 0x38, 0x38, 0x35, 0xe5, 0x36, 0x36, 0x37, 0xfd, 0xff, 0x37, 0x37, + 0x35, 0xe6, 0x35, 0x35, 0x38, 0xfe, 0xd2, 0x38, 0x34, 0x39, 0x2a, + 0x35, 0x35, 0x37, 0x73, 0x01, 0x4e, 0xfc, 0x73, 0x6d, 0x6d, 0x01, + 0x49, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x74, 0x04, 0x7d, + 0x00, 0x8d, 0x06, 0x21, 0x00, 0x06, 0x00, 0x22, 0x40, 0x0e, 0x05, + 0x02, 0x02, 0x07, 0x04, 0x00, 0x00, 0x07, 0x01, 0x00, 0x04, 0x04, + 0x06, 0x02, 0x00, 0x2f, 0xce, 0x39, 0x11, 0x33, 0x33, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x15, + 0x05, 0x35, 0x37, 0x27, 0x35, 0x8d, 0xfe, 0xe7, 0xaa, 0xaa, 0x05, + 0x78, 0x52, 0xa9, 0x72, 0x60, 0x60, 0x72, 0x00, 0x01, 0xff, 0xa3, + 0x04, 0x78, 0x00, 0x5c, 0x05, 0xf3, 0x00, 0x0d, 0x00, 0x15, 0xb7, + 0x0a, 0x03, 0x07, 0x00, 0x00, 0x0e, 0x06, 0x00, 0x00, 0x2f, 0xce, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x33, 0x15, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x5c, 0x55, 0x64, 0x64, 0x55, 0x2a, 0x37, 0x37, 0x2a, 0x04, + 0x78, 0x68, 0x56, 0x57, 0x66, 0x55, 0x37, 0x31, 0x31, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x02, 0xfe, 0xdc, 0x04, 0xd5, 0x01, 0x24, 0x06, + 0x86, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x36, 0x40, 0x19, 0x11, 0x0e, + 0x0e, 0x03, 0x0a, 0x0b, 0x0b, 0x12, 0x04, 0x03, 0x03, 0x12, 0x04, + 0x0b, 0x0b, 0x0f, 0x00, 0x0e, 0x0f, 0x90, 0x5b, 0x07, 0x00, 0x0e, + 0xa1, 0x00, 0x3f, 0xcc, 0x32, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x11, 0x32, 0x16, 0x17, 0x23, + 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x01, 0x13, 0x35, + 0x33, 0x15, 0x77, 0x9b, 0x12, 0x69, 0x0f, 0x62, 0x4a, 0x4c, 0x63, + 0x0c, 0x69, 0x0f, 0x9e, 0x1e, 0xb4, 0x06, 0x86, 0x89, 0x7b, 0x3e, + 0x46, 0x49, 0x3b, 0x77, 0x8d, 0xfe, 0x4f, 0xac, 0xac, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xff, 0x25, 0xfe, 0x42, 0x00, 0xda, 0xff, 0xf5, + 0x00, 0x0b, 0x00, 0x31, 0x40, 0x17, 0x0b, 0x08, 0x02, 0x05, 0x02, + 0x00, 0x04, 0x06, 0x06, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x08, 0x0b, + 0x05, 0x02, 0x04, 0x03, 0x01, 0x09, 0x07, 0x00, 0x2f, 0x33, 0xcd, + 0x32, 0x17, 0x39, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x07, + 0x27, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x07, 0xda, + 0x57, 0x84, 0x83, 0x56, 0x83, 0x84, 0x57, 0x84, 0x84, 0x56, 0x84, + 0xfe, 0x97, 0x55, 0x86, 0x85, 0x53, 0x85, 0x85, 0x55, 0x85, 0x84, + 0x53, 0x84, 0x00, 0x01, 0xff, 0x74, 0xfe, 0x56, 0x00, 0x8d, 0xff, + 0xfa, 0x00, 0x06, 0x00, 0x20, 0x40, 0x0d, 0x02, 0x05, 0x04, 0x00, + 0x05, 0x00, 0x07, 0x06, 0x05, 0x02, 0x02, 0x04, 0x00, 0x00, 0x2f, + 0xce, 0x39, 0x11, 0x33, 0x33, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x17, 0x15, 0x07, 0x17, 0x15, 0x25, 0x35, + 0x8d, 0xaa, 0xaa, 0xfe, 0xe7, 0x06, 0x72, 0x60, 0x60, 0x72, 0xa9, + 0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x74, 0xfe, 0x56, 0x00, + 0x8d, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x1e, 0x40, 0x0c, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x07, 0x01, 0x00, 0x04, 0x04, 0x02, 0x06, 0x00, + 0x2f, 0xce, 0x39, 0x11, 0x33, 0x33, 0x11, 0x01, 0x33, 0x33, 0x11, + 0x33, 0x32, 0x31, 0x30, 0x17, 0x15, 0x05, 0x35, 0x37, 0x27, 0x35, + 0x8d, 0xfe, 0xe7, 0xaa, 0xaa, 0xaf, 0x52, 0xa9, 0x72, 0x60, 0x60, + 0x72, 0x00, 0x00, 0x02, 0xfe, 0xe8, 0xfe, 0x56, 0x01, 0xad, 0xff, + 0xfa, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x48, 0x40, 0x21, 0x0d, 0x0c, + 0x09, 0x09, 0x07, 0x04, 0x00, 0x0a, 0x0b, 0x00, 0x0b, 0x02, 0x08, + 0x07, 0x07, 0x0f, 0x05, 0x02, 0x02, 0x0e, 0x01, 0x00, 0x04, 0x07, + 0x09, 0x04, 0x0c, 0x0b, 0x0c, 0x0b, 0x0c, 0x02, 0x06, 0x00, 0x2f, + 0xce, 0x39, 0x39, 0x2f, 0x2f, 0x12, 0x39, 0x32, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x17, 0x15, 0x05, 0x35, 0x37, 0x27, 0x35, 0x01, 0x23, + 0x27, 0x07, 0x23, 0x13, 0x33, 0x01, 0xfe, 0xe7, 0xaa, 0xaa, 0x02, + 0xc5, 0x72, 0x60, 0x60, 0x72, 0xa9, 0x52, 0xaf, 0x52, 0xa9, 0x72, + 0x60, 0x60, 0x72, 0xfe, 0xa5, 0xaa, 0xaa, 0x01, 0x19, 0x00, 0x01, + 0xff, 0xa4, 0x04, 0x78, 0x00, 0x5d, 0x05, 0xf3, 0x00, 0x0d, 0x00, + 0x18, 0x40, 0x09, 0x03, 0x0a, 0x0a, 0x06, 0x00, 0x00, 0x0e, 0x07, + 0x0d, 0x00, 0x2f, 0xce, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x03, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x5c, 0x2a, 0x37, 0x37, 0x2a, + 0x54, 0x65, 0x65, 0x54, 0x04, 0xcd, 0x38, 0x31, 0x31, 0x37, 0x55, + 0x66, 0x57, 0x57, 0x67, 0x00, 0x01, 0x00, 0xf5, 0x04, 0xa7, 0x01, + 0xb3, 0x05, 0x65, 0x00, 0x0b, 0x00, 0x16, 0x40, 0x0a, 0x06, 0x00, + 0x00, 0x0c, 0x09, 0x03, 0x91, 0x5b, 0x09, 0x93, 0x00, 0x3f, 0x2b, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0xf5, 0x38, 0x27, + 0x27, 0x38, 0x39, 0x26, 0x27, 0x38, 0x05, 0x06, 0x27, 0x38, 0x39, + 0x26, 0x27, 0x38, 0x38, 0x00, 0x00, 0x00, 0x01, 0xff, 0x41, 0xfe, + 0x56, 0x00, 0xbe, 0xff, 0xc3, 0x00, 0x0e, 0x00, 0x41, 0x40, 0x21, + 0x0e, 0x0d, 0x06, 0x00, 0x00, 0x0c, 0x04, 0x03, 0x0c, 0x0d, 0x09, + 0x08, 0x06, 0x0a, 0x02, 0x0a, 0x02, 0x0f, 0x01, 0x0b, 0x03, 0x09, + 0x00, 0x0c, 0x06, 0x09, 0x0c, 0x03, 0x0b, 0x0b, 0x07, 0x05, 0x0e, + 0x00, 0x2f, 0xcc, 0x32, 0x39, 0x2f, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x33, 0x11, 0x12, 0x17, 0x39, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x17, 0x37, 0x17, + 0x07, 0x17, 0x07, 0x27, 0x07, 0x27, 0x37, 0x27, 0x37, 0x17, 0x27, + 0x33, 0x20, 0x85, 0x19, 0x8e, 0x5d, 0x43, 0x4b, 0x4e, 0x42, 0x5e, + 0x8c, 0x19, 0x86, 0x09, 0x53, 0xca, 0x33, 0x4b, 0x25, 0x7a, 0x29, + 0x7f, 0x7e, 0x29, 0x79, 0x25, 0x4c, 0x35, 0x8e, 0x00, 0x00, 0x03, + 0xfe, 0xbf, 0xfe, 0x57, 0x01, 0x45, 0xff, 0xbd, 0x00, 0x13, 0x00, + 0x1f, 0x00, 0x2b, 0x00, 0x3c, 0x40, 0x1b, 0x05, 0x0f, 0x26, 0x26, + 0x1a, 0x1a, 0x0a, 0x20, 0x00, 0x00, 0x14, 0x0a, 0x0a, 0x2c, 0x23, + 0x1d, 0x1d, 0x0d, 0x29, 0x17, 0x17, 0x07, 0x05, 0x03, 0x11, 0x0f, + 0x0d, 0x00, 0x2f, 0x33, 0x33, 0xcd, 0x32, 0x32, 0x32, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, 0x05, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x05, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x05, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x01, + 0x45, 0x69, 0x4e, 0x59, 0x33, 0x33, 0x59, 0x4f, 0x68, 0x69, 0x4e, + 0x5a, 0x32, 0x32, 0x5a, 0x4f, 0x68, 0xfd, 0xc8, 0x3d, 0x2c, 0x2c, + 0x3b, 0x3b, 0x2c, 0x2c, 0x3d, 0x01, 0xea, 0x3d, 0x2c, 0x2c, 0x3b, + 0x3b, 0x2c, 0x2c, 0x3d, 0xf6, 0x4e, 0x65, 0x49, 0x49, 0x65, 0x4e, + 0x4e, 0x65, 0x48, 0x48, 0x65, 0x4e, 0x33, 0x36, 0x3d, 0x2c, 0x2c, + 0x3d, 0x36, 0x33, 0x33, 0x36, 0x3d, 0x2c, 0x2c, 0x3d, 0x36, 0x00, + 0x01, 0xff, 0x38, 0x04, 0x67, 0x00, 0xc8, 0x06, 0x34, 0x00, 0x07, + 0x00, 0x1e, 0x40, 0x0c, 0x07, 0x04, 0x03, 0x00, 0x00, 0x04, 0x08, + 0x04, 0x07, 0x07, 0x06, 0x02, 0x00, 0x2f, 0xcc, 0x39, 0x2f, 0x33, + 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x03, 0x23, 0x37, 0x21, 0x13, 0x33, 0x07, 0xc8, 0x5f, 0x71, 0x40, + 0xff, 0x00, 0x5f, 0x71, 0x40, 0x05, 0x81, 0xfe, 0xe6, 0xb3, 0x01, + 0x1a, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x53, 0xfe, 0x57, + 0x05, 0x86, 0xff, 0xca, 0x00, 0x0b, 0x00, 0x1f, 0x40, 0x0e, 0x0b, + 0x00, 0x00, 0x05, 0x04, 0x04, 0x0c, 0x02, 0x08, 0x8f, 0x59, 0x02, + 0x04, 0x00, 0x00, 0x2f, 0x32, 0xcc, 0x2b, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x02, 0x21, 0x20, 0x03, + 0x33, 0x16, 0x04, 0x33, 0x32, 0x24, 0x37, 0x05, 0x86, 0xe9, 0xfd, + 0xd0, 0xfd, 0xcf, 0xe9, 0x85, 0x5e, 0x01, 0x4a, 0xec, 0xec, 0x01, + 0x4b, 0x5e, 0x36, 0xfe, 0x8d, 0x01, 0x73, 0x82, 0x76, 0x76, 0x82, + 0x00, 0x00, 0x01, 0xff, 0x53, 0x04, 0xbf, 0x05, 0x86, 0x06, 0x32, + 0x00, 0x0b, 0x00, 0x24, 0x40, 0x10, 0x0b, 0x00, 0x05, 0x04, 0x04, + 0x0c, 0x04, 0x00, 0x02, 0x40, 0x02, 0x08, 0x8f, 0x59, 0x02, 0x94, + 0x00, 0x3f, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xcc, 0x32, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x32, 0x31, 0x30, 0x01, 0x02, 0x21, 0x20, + 0x03, 0x33, 0x16, 0x04, 0x33, 0x32, 0x24, 0x37, 0x05, 0x86, 0xe9, + 0xfd, 0xd0, 0xfd, 0xcf, 0xe9, 0x85, 0x5e, 0x01, 0x4a, 0xec, 0xec, + 0x01, 0x4b, 0x5e, 0x06, 0x32, 0xfe, 0x8d, 0x01, 0x73, 0x82, 0x76, + 0x76, 0x82, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x53, 0x05, 0x1d, + 0x03, 0x9d, 0x05, 0x9c, 0x00, 0x03, 0x00, 0x15, 0x40, 0x09, 0x00, + 0x01, 0x01, 0x04, 0x01, 0x02, 0x8f, 0x59, 0x01, 0x00, 0x2f, 0x2b, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, + 0x03, 0x9d, 0xfb, 0xb6, 0x04, 0x4a, 0x05, 0x1d, 0x7f, 0x00, 0x01, + 0xff, 0x53, 0xfe, 0xd6, 0x03, 0x9d, 0xff, 0x55, 0x00, 0x03, 0x00, + 0x15, 0x40, 0x09, 0x00, 0x01, 0x01, 0x04, 0x03, 0x00, 0x8f, 0x59, + 0x03, 0x00, 0x2f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x21, 0x35, 0x21, 0x03, 0x9d, 0xfb, 0xb6, 0x04, 0x4a, 0xfe, + 0xd6, 0x7f, 0x00, 0x01, 0xff, 0x53, 0x04, 0xc3, 0x05, 0x85, 0x05, + 0xff, 0x00, 0x15, 0x00, 0x26, 0x40, 0x10, 0x15, 0x00, 0x0a, 0x0b, + 0x0b, 0x16, 0x13, 0x03, 0x03, 0x0b, 0x07, 0x0e, 0x0e, 0x00, 0x80, + 0x0b, 0x00, 0x2f, 0x1a, 0xcc, 0x39, 0x2f, 0x33, 0x11, 0x33, 0x2f, + 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x32, 0x31, 0x30, 0x01, + 0x0e, 0x01, 0x23, 0x22, 0x25, 0x24, 0x23, 0x22, 0x06, 0x07, 0x23, + 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x04, 0x33, 0x32, 0x37, 0x05, + 0x85, 0x2d, 0xb4, 0x86, 0x99, 0xfe, 0xe9, 0xfe, 0xe8, 0x8e, 0x5e, + 0x74, 0x1e, 0x85, 0x2d, 0xc2, 0x7b, 0x59, 0xcd, 0x91, 0x01, 0x0f, + 0xaa, 0x9a, 0x39, 0x05, 0xff, 0xa0, 0x97, 0x56, 0x55, 0x54, 0x5c, + 0x94, 0xa3, 0x28, 0x2d, 0x56, 0xb0, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x53, 0x04, 0xc3, 0x05, 0x86, 0x06, 0x36, 0x00, 0x0b, 0x00, 0x1c, + 0x40, 0x0b, 0x00, 0x0b, 0x0b, 0x06, 0x07, 0x07, 0x0c, 0x03, 0x09, + 0x07, 0x00, 0x00, 0x2f, 0x32, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x26, 0x24, 0x23, 0x22, + 0x04, 0x07, 0x23, 0x12, 0x21, 0x20, 0x13, 0x05, 0x01, 0x5e, 0xfe, + 0xb5, 0xec, 0xec, 0xfe, 0xb6, 0x5e, 0x85, 0xea, 0x02, 0x30, 0x02, + 0x2f, 0xea, 0x04, 0xc3, 0x82, 0x76, 0x76, 0x82, 0x01, 0x73, 0xfe, + 0x8d, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x53, 0xfe, 0x57, 0x03, + 0xcf, 0xff, 0xb9, 0x00, 0x06, 0x00, 0x1e, 0x40, 0x0c, 0x06, 0x01, + 0x00, 0x00, 0x04, 0x04, 0x07, 0x03, 0x04, 0x04, 0x01, 0x06, 0x00, + 0x2f, 0xcd, 0x39, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x32, 0x31, 0x30, 0x05, 0x07, 0x35, 0x21, 0x35, 0x21, 0x35, + 0x03, 0xcf, 0x96, 0xfc, 0x1a, 0x03, 0xe6, 0xf6, 0xb3, 0x80, 0x6c, + 0x76, 0x00, 0x00, 0x02, 0xfe, 0xb8, 0x01, 0xdc, 0x01, 0x84, 0x04, + 0xf3, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x60, 0x40, 0x11, 0x0e, 0x0f, + 0x0f, 0x14, 0x03, 0x29, 0x20, 0x08, 0x08, 0x14, 0x14, 0x2d, 0x03, + 0x03, 0x30, 0x06, 0x2a, 0xb8, 0x01, 0x49, 0x40, 0x0a, 0x59, 0x21, + 0x06, 0x0e, 0x06, 0x0e, 0x00, 0x11, 0x11, 0x0b, 0xbb, 0x01, 0x49, + 0x00, 0x59, 0x00, 0x11, 0x01, 0x31, 0xb3, 0x18, 0x24, 0x00, 0x24, + 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x1d, 0x00, 0xb8, 0x01, 0x2e, 0x00, + 0x3f, 0x32, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x39, 0x2b, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3f, + 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x21, + 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, + 0x23, 0x22, 0x26, 0x27, 0x23, 0x0e, 0x01, 0x27, 0x32, 0x3e, 0x01, + 0x3d, 0x01, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x69, 0x70, 0x6f, + 0x9a, 0xa4, 0xa5, 0x4d, 0x51, 0x51, 0x4c, 0x07, 0x80, 0x20, 0x01, + 0x07, 0x8a, 0x8d, 0x1c, 0x28, 0x13, 0x16, 0x33, 0x2c, 0x46, 0x3b, + 0x05, 0x04, 0x2f, 0x79, 0x40, 0x42, 0x69, 0x3d, 0x86, 0x7d, 0x62, + 0x41, 0x01, 0xdc, 0x79, 0x6a, 0x78, 0x7e, 0x03, 0x03, 0x2a, 0x5f, + 0x4e, 0x3a, 0x3f, 0x0c, 0xce, 0x84, 0x7d, 0xfe, 0xb8, 0x39, 0x39, + 0x05, 0x4f, 0x0b, 0x4c, 0x4d, 0x56, 0x4a, 0x5f, 0x40, 0x6d, 0x3c, + 0x3e, 0x02, 0x03, 0x4f, 0x51, 0x3f, 0x43, 0x00, 0x02, 0xfe, 0xbc, + 0x01, 0xdc, 0x01, 0x4a, 0x04, 0xf3, 0x00, 0x13, 0x00, 0x1a, 0x00, + 0x59, 0x40, 0x0e, 0x06, 0x07, 0x07, 0x14, 0x13, 0x1a, 0x00, 0x13, + 0x00, 0x0d, 0x0d, 0x1b, 0x1a, 0x00, 0xb8, 0x01, 0x49, 0x40, 0x0e, + 0x59, 0x1a, 0x40, 0x09, 0x0c, 0x48, 0x06, 0x1a, 0x06, 0x1a, 0x0a, + 0x10, 0x10, 0x17, 0x41, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, 0x10, + 0x01, 0x31, 0x00, 0x0a, 0x00, 0x03, 0x01, 0x49, 0x00, 0x59, 0x00, + 0x0a, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x03, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x15, + 0x27, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0xc3, 0x69, 0x64, 0x50, + 0x60, 0x11, 0x6b, 0x1f, 0x9c, 0x71, 0xa4, 0xaa, 0xaa, 0xa0, 0x01, + 0x44, 0x7e, 0x0b, 0x61, 0x5d, 0x59, 0x67, 0x05, 0x03, 0x4d, 0x84, + 0x8e, 0x42, 0x33, 0x20, 0x5b, 0x59, 0xc8, 0xc8, 0xbd, 0xca, 0xfe, + 0x6b, 0x11, 0x61, 0x79, 0x6e, 0x79, 0x6e, 0x00, 0x02, 0xff, 0xc4, + 0x01, 0xea, 0x00, 0x3d, 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x2e, 0xb7, 0x03, 0x07, 0x07, 0x00, 0x04, 0x04, 0x08, 0x05, 0x41, + 0x09, 0x01, 0x30, 0x00, 0x04, 0x01, 0x2e, 0x00, 0x01, 0x00, 0x00, + 0x01, 0x48, 0x00, 0x5b, 0x00, 0x01, 0x01, 0x32, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x03, 0x35, 0x33, 0x15, 0x03, 0x11, 0x33, 0x11, + 0x3c, 0x79, 0x79, 0x79, 0x05, 0x87, 0x79, 0x79, 0xfc, 0x63, 0x02, + 0xfb, 0xfd, 0x05, 0x00, 0x02, 0xfe, 0xb3, 0x01, 0xdc, 0x01, 0x44, + 0x04, 0xf3, 0x00, 0x09, 0x00, 0x15, 0x00, 0x32, 0x40, 0x09, 0x0a, + 0x00, 0x00, 0x10, 0x05, 0x05, 0x16, 0x07, 0x0d, 0x41, 0x0a, 0x01, + 0x49, 0x00, 0x59, 0x00, 0x07, 0x01, 0x31, 0x00, 0x02, 0x00, 0x13, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x02, 0x01, 0x2f, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x10, 0x21, 0x22, 0x26, 0x35, 0x10, 0x21, + 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x01, 0x44, 0xfe, 0xb4, 0x9a, 0xab, 0x01, 0x4a, + 0xac, 0x9b, 0x80, 0x5b, 0x6a, 0x6c, 0x60, 0x5e, 0x66, 0x6e, 0x5f, + 0x03, 0x68, 0xfe, 0x74, 0xc3, 0xc9, 0x01, 0x8b, 0xc5, 0xc6, 0x9e, + 0x8f, 0x92, 0x9b, 0x96, 0x98, 0x93, 0x00, 0x01, 0xfe, 0xd8, 0x01, + 0xdc, 0x01, 0x27, 0x04, 0xe5, 0x00, 0x15, 0x00, 0x39, 0x40, 0x0d, + 0x0d, 0x08, 0x08, 0x09, 0x09, 0x00, 0x15, 0x15, 0x16, 0x0e, 0x0c, + 0x08, 0x15, 0x41, 0x09, 0x01, 0x30, 0x00, 0x11, 0x00, 0x04, 0x01, + 0x49, 0x00, 0x59, 0x00, 0x11, 0x01, 0x2f, 0x00, 0x0c, 0x01, 0x2e, + 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x03, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, + 0x17, 0x23, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, + 0xae, 0x42, 0x57, 0x57, 0x67, 0x7a, 0x04, 0x74, 0x04, 0x02, 0x2a, + 0x6e, 0x54, 0x7b, 0x6e, 0x04, 0xe5, 0xfe, 0x1c, 0x6e, 0x55, 0x7a, + 0x73, 0x01, 0xba, 0xfd, 0xa8, 0xa3, 0x82, 0x4c, 0x44, 0x7f, 0x8e, + 0x01, 0xfc, 0x00, 0x01, 0xfe, 0xcd, 0x01, 0xdc, 0x01, 0x26, 0x04, + 0xf4, 0x00, 0x17, 0x00, 0x46, 0x40, 0x12, 0x13, 0x12, 0x12, 0x05, + 0x06, 0x06, 0x00, 0x0c, 0x0c, 0x18, 0x05, 0x13, 0x05, 0x13, 0x09, + 0x0f, 0x0f, 0x15, 0x41, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, 0x0f, + 0x01, 0x31, 0x00, 0x09, 0x00, 0x02, 0x01, 0x49, 0x00, 0x59, 0x00, + 0x09, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x10, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, + 0xb3, 0xba, 0x42, 0x56, 0x0b, 0x7c, 0x0e, 0x97, 0x77, 0x98, 0xa5, + 0xa1, 0x9b, 0x72, 0x93, 0x14, 0x7e, 0x16, 0x89, 0x62, 0x56, 0x03, + 0x6c, 0xfe, 0xd5, 0x49, 0x4c, 0x08, 0x6d, 0x85, 0xc9, 0xc4, 0xbe, + 0xcd, 0x78, 0x6c, 0x0a, 0x8a, 0x88, 0x00, 0x00, 0x02, 0xfe, 0xc8, + 0x01, 0xdc, 0x01, 0x3a, 0x06, 0x00, 0x00, 0x16, 0x00, 0x22, 0x00, + 0x4b, 0x40, 0x0e, 0x16, 0x1d, 0x0f, 0x0f, 0x10, 0x10, 0x17, 0x06, + 0x06, 0x23, 0x00, 0x0c, 0x08, 0x14, 0x41, 0x0f, 0x01, 0x2e, 0x00, + 0x0f, 0x01, 0x32, 0x00, 0x08, 0x00, 0x20, 0x01, 0x49, 0x00, 0x59, + 0x00, 0x08, 0x01, 0x31, 0x00, 0x03, 0x00, 0x1a, 0x01, 0x49, 0x00, + 0x59, 0x00, 0x03, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x12, 0x39, 0x39, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x10, 0x21, 0x32, 0x16, 0x17, + 0x33, 0x35, 0x27, 0x11, 0x33, 0x11, 0x14, 0x17, 0x23, 0x26, 0x35, + 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0xbc, 0x23, 0x6f, 0x54, 0x8c, 0x82, 0x01, 0x0e, 0x54, 0x6f, + 0x23, 0x01, 0x01, 0x7a, 0x04, 0x75, 0x06, 0xfe, 0x89, 0x51, 0x5d, + 0x68, 0x5e, 0x5e, 0x67, 0x5c, 0x53, 0x02, 0x65, 0x4a, 0x3f, 0xc2, + 0xc6, 0x01, 0x8f, 0x40, 0x45, 0x17, 0x3f, 0x01, 0x3c, 0xfc, 0x87, + 0x65, 0x38, 0x2a, 0x51, 0x01, 0x03, 0xa1, 0x89, 0x96, 0x9d, 0x97, + 0x8d, 0x8c, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xe1, 0x01, 0xea, 0x01, + 0x2d, 0x06, 0x00, 0x00, 0x16, 0x00, 0x39, 0x40, 0x0a, 0x08, 0x07, + 0x16, 0x10, 0x07, 0x10, 0x11, 0x11, 0x17, 0x12, 0xb8, 0x01, 0x32, + 0xb3, 0x16, 0x03, 0x08, 0x11, 0xbe, 0x01, 0x2e, 0x00, 0x03, 0x00, + 0x0c, 0x01, 0x49, 0x00, 0x59, 0x00, 0x03, 0x01, 0x31, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x3f, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11, 0x14, 0x07, 0xa8, + 0x29, 0x6f, 0x54, 0x76, 0x73, 0x7b, 0x46, 0x52, 0x58, 0x66, 0x7b, + 0x7b, 0x06, 0x04, 0x62, 0x4d, 0x44, 0x7b, 0x92, 0xfe, 0x04, 0x01, + 0xe4, 0x71, 0x52, 0x7d, 0x68, 0xfe, 0x3e, 0x04, 0x16, 0xfe, 0xf0, + 0x70, 0x1e, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x18, 0x01, 0xea, 0x01, + 0xe8, 0x04, 0xf3, 0x00, 0x25, 0x00, 0x4e, 0x40, 0x12, 0x16, 0x25, + 0x00, 0x00, 0x09, 0x1d, 0x1c, 0x0e, 0x08, 0x1c, 0x08, 0x09, 0x09, + 0x26, 0x21, 0x04, 0x12, 0x04, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x18, + 0x12, 0xb8, 0x01, 0x31, 0xb4, 0x15, 0x0e, 0x0e, 0x09, 0x0b, 0xb8, + 0x01, 0x30, 0xb2, 0x1d, 0x00, 0x09, 0xb8, 0x01, 0x2e, 0x00, 0x3f, + 0x33, 0x33, 0x3f, 0x12, 0x39, 0x11, 0x33, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x11, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x27, 0x33, 0x17, + 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x11, 0x3b, 0x38, 0x4e, 0x4e, 0x5c, 0x7a, 0x03, 0x73, 0x05, + 0x02, 0x26, 0x65, 0x4c, 0x54, 0x61, 0x14, 0x02, 0x43, 0x9c, 0x70, + 0x65, 0x79, 0x38, 0x4f, 0x4e, 0x5b, 0x01, 0xea, 0x01, 0xe4, 0x6b, + 0x58, 0x7a, 0x73, 0xfe, 0x46, 0x02, 0x58, 0xa3, 0x60, 0x23, 0x4e, + 0x43, 0x46, 0x4b, 0x91, 0x7f, 0x8e, 0xfe, 0x04, 0x01, 0xe4, 0x6b, + 0x58, 0x77, 0x76, 0xfe, 0x46, 0x00, 0x01, 0xff, 0x4f, 0x01, 0xea, + 0x00, 0xab, 0x04, 0xf3, 0x00, 0x12, 0x00, 0x2f, 0x40, 0x09, 0x05, + 0x12, 0x12, 0x0b, 0x00, 0x00, 0x13, 0x09, 0x0e, 0x41, 0x09, 0x01, + 0x48, 0x00, 0x59, 0x00, 0x09, 0x01, 0x31, 0x00, 0x05, 0x00, 0x03, + 0x01, 0x30, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x39, 0x3f, + 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x03, 0x11, 0x34, 0x27, 0x33, 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, + 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0xad, 0x04, 0x74, + 0x05, 0x03, 0x1e, 0x4a, 0x46, 0x16, 0x1c, 0x1c, 0x25, 0x4e, 0x4f, + 0x01, 0xea, 0x02, 0x4a, 0x71, 0x40, 0x9b, 0x62, 0x47, 0x07, 0x74, + 0x07, 0x8a, 0x7d, 0xfe, 0x72, 0x00, 0x00, 0x00, 0x01, 0xff, 0x57, + 0x01, 0xdf, 0x00, 0xbb, 0x05, 0x8f, 0x00, 0x14, 0x00, 0x3c, 0x40, + 0x0c, 0x0b, 0x0f, 0x0f, 0x08, 0x00, 0x04, 0x04, 0x15, 0x0e, 0x06, + 0x07, 0x06, 0xb8, 0x01, 0x49, 0xb3, 0x59, 0x0b, 0x09, 0x07, 0xbe, + 0x01, 0x30, 0x00, 0x02, 0x00, 0x12, 0x01, 0x49, 0x00, 0x59, 0x00, + 0x02, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0xc6, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x06, 0x23, 0x22, 0x35, 0x11, 0x23, + 0x35, 0x33, 0x37, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x37, 0xbb, 0x3b, 0x41, 0x93, 0x55, 0x5a, 0x24, 0x52, + 0x88, 0x88, 0x22, 0x2b, 0x1a, 0x2d, 0x01, 0xf0, 0x11, 0xac, 0x01, + 0xfd, 0x5d, 0xaa, 0xaa, 0x5d, 0xfe, 0x1f, 0x37, 0x2c, 0x09, 0x00, + 0x01, 0xfe, 0xa9, 0x01, 0xea, 0x01, 0x58, 0x04, 0xe5, 0x00, 0x09, + 0x00, 0x2f, 0x40, 0x0f, 0x01, 0x00, 0x05, 0x05, 0x02, 0x08, 0x09, + 0x09, 0x0a, 0x03, 0x02, 0x02, 0x0a, 0x08, 0x02, 0xbb, 0x01, 0x30, + 0x00, 0x05, 0x00, 0x01, 0x01, 0x2e, 0x00, 0x3f, 0x33, 0x3f, 0x33, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x23, 0x01, 0x33, 0x13, 0x17, + 0x3e, 0x01, 0x13, 0x33, 0x45, 0x91, 0xfe, 0xf5, 0x82, 0xa2, 0x30, + 0x0e, 0x14, 0xb7, 0x82, 0x01, 0xea, 0x02, 0xfb, 0xfe, 0x0f, 0xa7, + 0x34, 0x43, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xb6, + 0x01, 0xea, 0x01, 0x4f, 0x04, 0xe5, 0x00, 0x0b, 0x00, 0x3f, 0x40, + 0x1a, 0x08, 0x09, 0x09, 0x04, 0x07, 0x01, 0x0a, 0x04, 0x05, 0x00, + 0x0b, 0x0b, 0x06, 0x05, 0x05, 0x02, 0x03, 0x0c, 0x07, 0x0a, 0x04, + 0x01, 0x04, 0x03, 0x08, 0x05, 0xbb, 0x01, 0x30, 0x00, 0x00, 0x00, + 0x03, 0x01, 0x2e, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x17, 0x39, + 0x11, 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x32, 0x11, 0x33, 0x12, + 0x17, 0x39, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x0b, 0x01, 0x23, + 0x01, 0x03, 0x33, 0x1b, 0x01, 0x33, 0x03, 0x01, 0xc7, 0xc6, 0xc7, + 0x84, 0x01, 0x05, 0xf9, 0x87, 0xb8, 0xb6, 0x89, 0xfa, 0x01, 0x09, + 0x01, 0xea, 0x01, 0x3a, 0xfe, 0xc6, 0x01, 0x89, 0x01, 0x72, 0xfe, + 0xd8, 0x01, 0x28, 0xfe, 0x8f, 0xfe, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xf9, 0x04, 0xab, 0x02, 0x36, 0x05, 0xcc, 0x00, 0x05, + 0x00, 0x1b, 0x40, 0x0b, 0x02, 0x03, 0x03, 0x05, 0x00, 0x00, 0x06, + 0x05, 0x80, 0x02, 0x00, 0x00, 0x3f, 0x1a, 0xcd, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x13, 0x33, + 0x15, 0x03, 0xf9, 0x6e, 0xcf, 0xdf, 0x04, 0xab, 0x14, 0x01, 0x0d, + 0x1d, 0xfe, 0xfc, 0x00, 0x00, 0x01, 0x00, 0x75, 0xfe, 0x57, 0x01, + 0xb2, 0xff, 0x78, 0x00, 0x05, 0x00, 0x18, 0x40, 0x09, 0x05, 0x00, + 0x00, 0x02, 0x03, 0x06, 0x03, 0x80, 0x00, 0x00, 0x2f, 0x1a, 0xcd, + 0x11, 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x05, 0x15, + 0x03, 0x23, 0x35, 0x13, 0x01, 0xb2, 0x6e, 0xcf, 0xdf, 0x88, 0x14, + 0xfe, 0xf3, 0x1d, 0x01, 0x04, 0xff, 0xff, 0x00, 0xf0, 0xfe, 0x57, + 0x01, 0xd0, 0xff, 0x81, 0x10, 0x07, 0x03, 0x06, 0x01, 0x36, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xec, 0x04, 0x41, + 0x04, 0x4e, 0x12, 0x06, 0x02, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x82, 0xff, 0xec, 0x04, 0x38, 0x04, 0x4e, 0x00, 0x1a, 0x00, 0x1e, + 0x00, 0x66, 0x40, 0x3e, 0x0d, 0x00, 0x1e, 0x1b, 0x07, 0x06, 0x13, + 0x14, 0x14, 0x06, 0x1b, 0x00, 0x04, 0x1f, 0x20, 0x1c, 0x1b, 0x52, + 0x59, 0x1c, 0x1c, 0x18, 0x03, 0x00, 0x13, 0x10, 0x13, 0x60, 0x13, + 0x70, 0x13, 0x80, 0x13, 0xc0, 0x13, 0x06, 0x09, 0x03, 0x13, 0x13, + 0x18, 0x18, 0x10, 0x50, 0x59, 0x18, 0x16, 0x03, 0x0a, 0x50, 0x59, + 0x1f, 0x07, 0x7f, 0x07, 0x8f, 0x07, 0x03, 0x07, 0x07, 0x03, 0x10, + 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x2f, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x10, 0x00, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x0e, 0x02, 0x23, 0x22, 0x00, 0x25, 0x35, + 0x33, 0x15, 0x82, 0x01, 0x02, 0xf4, 0xb3, 0xec, 0x1f, 0xc0, 0x10, + 0x80, 0x76, 0x9e, 0x93, 0x93, 0x9d, 0x6c, 0x8e, 0x11, 0xbe, 0x0d, + 0x77, 0xc4, 0x79, 0xf5, 0xff, 0x00, 0x01, 0x9f, 0xb4, 0x02, 0x1e, + 0x01, 0x0e, 0x01, 0x22, 0xab, 0x98, 0x0e, 0x5b, 0x69, 0xc4, 0xdb, + 0xde, 0xcd, 0x6a, 0x6d, 0x0c, 0x60, 0x9d, 0x59, 0x01, 0x20, 0xc7, + 0xac, 0xac, 0x00, 0x00, 0x02, 0x00, 0x8b, 0xff, 0xec, 0x04, 0x41, + 0x04, 0x4e, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x68, 0x40, 0x3f, 0x11, + 0x12, 0x07, 0x06, 0x1b, 0x18, 0x0b, 0x00, 0x00, 0x18, 0x06, 0x12, + 0x04, 0x1c, 0x1d, 0x19, 0x18, 0x52, 0x59, 0x19, 0x19, 0x03, 0x16, + 0x2f, 0x11, 0x01, 0x0f, 0x11, 0x1f, 0x11, 0x7f, 0x11, 0x8f, 0x11, + 0x04, 0x09, 0x03, 0x11, 0x11, 0x16, 0x16, 0x0e, 0x50, 0x59, 0x16, + 0x10, 0x03, 0x09, 0x50, 0x59, 0x10, 0x07, 0x70, 0x07, 0x80, 0x07, + 0xd0, 0x07, 0x04, 0x07, 0x07, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2f, + 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x71, 0x11, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, + 0x33, 0x20, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, + 0x02, 0x33, 0x20, 0x01, 0x35, 0x33, 0x15, 0x04, 0x41, 0xfe, 0xf8, + 0xf3, 0xb5, 0xe8, 0x1c, 0xc0, 0x23, 0xdd, 0x01, 0x37, 0x92, 0x9e, + 0x6c, 0x8e, 0x11, 0xbe, 0x0d, 0x7c, 0xca, 0x7b, 0x01, 0xe8, 0xfd, + 0xb2, 0xb4, 0x02, 0x27, 0xfe, 0xf0, 0xfe, 0xd5, 0xae, 0x95, 0x0e, + 0xc4, 0x01, 0xaa, 0xdb, 0xc5, 0x6a, 0x6d, 0x0c, 0x5e, 0x9e, 0x5a, + 0xfd, 0x85, 0xac, 0xac, 0x00, 0xff, 0xff, 0x01, 0x60, 0xfe, 0x95, + 0x03, 0x12, 0x04, 0x3a, 0x10, 0x06, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xdb, 0x04, 0xb1, 0x02, 0xef, 0x05, 0xf6, 0x00, 0x05, + 0x00, 0x21, 0x40, 0x0a, 0x02, 0x03, 0x03, 0x05, 0x00, 0x00, 0x06, + 0x07, 0x05, 0x02, 0xb8, 0x01, 0x0c, 0xb2, 0x5b, 0x05, 0x93, 0x00, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x35, 0x13, 0x33, 0x15, 0x03, 0x01, 0xdb, 0x4f, + 0xc5, 0xab, 0x04, 0xb1, 0x21, 0x01, 0x24, 0x25, 0xfe, 0xe0, 0x00, + 0x00, 0x00, 0x03, 0x01, 0x37, 0x04, 0xb1, 0x03, 0x96, 0x06, 0x41, + 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x3f, 0x40, 0x1a, 0x02, + 0x03, 0x03, 0x05, 0x00, 0x06, 0x09, 0x0d, 0x0a, 0x0a, 0x09, 0x00, + 0x03, 0x0f, 0x0e, 0x08, 0x0b, 0x0a, 0x0b, 0x90, 0x59, 0x09, 0x0a, + 0x05, 0x05, 0x02, 0xb8, 0x01, 0x0c, 0xb2, 0x5b, 0x05, 0x93, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x32, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x13, 0x33, 0x15, 0x03, + 0x37, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x02, 0x09, 0x36, + 0xc5, 0x92, 0x95, 0x8f, 0xfd, 0xa1, 0x91, 0x04, 0xb1, 0x21, 0x01, + 0x6f, 0x25, 0xfe, 0x95, 0x12, 0xb8, 0xb8, 0xb8, 0xb8, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x05, 0x46, 0x12, + 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x03, 0x38, 0xfe, 0x26, + 0xff, 0x50, 0x00, 0x14, 0xb3, 0x02, 0x10, 0x03, 0x02, 0xb8, 0xfe, + 0x25, 0xb4, 0x0e, 0x11, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x3f, 0x35, 0x00, 0x00, 0x00, 0x01, 0x01, 0xf0, 0x01, 0xa4, 0x02, + 0xdb, 0x02, 0xcf, 0x00, 0x03, 0x00, 0x25, 0x40, 0x17, 0x03, 0x00, + 0x00, 0x04, 0x05, 0x01, 0x00, 0x9b, 0x5b, 0x0f, 0x01, 0x3f, 0x01, + 0x6f, 0x01, 0x9f, 0x01, 0xcf, 0x01, 0xef, 0x01, 0x06, 0x01, 0x00, + 0x2f, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x11, 0x33, 0x11, 0x01, 0xf0, 0xeb, 0x01, 0xa4, 0x01, 0x2b, + 0xfe, 0xd5, 0xff, 0xff, 0xff, 0xcf, 0x00, 0x00, 0x04, 0xc3, 0x05, + 0x46, 0x10, 0x26, 0x00, 0x28, 0x61, 0x00, 0x11, 0x07, 0x03, 0x38, + 0xfd, 0xf4, 0xff, 0x50, 0x00, 0x26, 0xb4, 0x01, 0x0e, 0x03, 0x01, + 0x0f, 0xb8, 0xff, 0xc0, 0xb3, 0x15, 0x1c, 0x48, 0x0f, 0xb8, 0xff, + 0xc0, 0xb2, 0x09, 0x12, 0x48, 0xb8, 0xff, 0xe0, 0xb4, 0x0f, 0x0f, + 0x00, 0x00, 0x25, 0x01, 0x2b, 0x2b, 0x2b, 0x35, 0x00, 0x3f, 0x35, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x69, 0x05, 0x45, 0x00, + 0x0b, 0x00, 0x11, 0x00, 0x5a, 0x40, 0x15, 0x11, 0x0c, 0x0c, 0x0e, + 0x0f, 0x0f, 0x04, 0x07, 0x03, 0x03, 0x04, 0x08, 0x00, 0x00, 0x0b, + 0x04, 0x0b, 0x12, 0x13, 0x0e, 0x11, 0xb8, 0x01, 0x0c, 0x40, 0x18, + 0x59, 0x0e, 0x0e, 0x05, 0x07, 0x02, 0x5f, 0x59, 0x50, 0x07, 0x01, + 0xa0, 0x07, 0xb0, 0x07, 0x02, 0x07, 0x07, 0x09, 0x05, 0x03, 0x04, + 0x00, 0x12, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x39, 0x2f, 0x5d, 0x71, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x21, 0x11, + 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x01, 0x35, 0x13, + 0x33, 0x15, 0x03, 0x03, 0xaf, 0xfe, 0x58, 0xbf, 0xbf, 0x01, 0xa8, + 0xba, 0xfb, 0x97, 0x4f, 0xc5, 0xab, 0x02, 0x6f, 0xfd, 0x91, 0x05, + 0x45, 0xfd, 0xca, 0x02, 0x36, 0xfa, 0xbb, 0x04, 0x00, 0x21, 0x01, + 0x24, 0x25, 0xfe, 0xe0, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, + 0x00, 0x04, 0x80, 0x05, 0x46, 0x10, 0x26, 0x00, 0x2c, 0x7f, 0x00, + 0x11, 0x07, 0x03, 0x38, 0xfe, 0x26, 0xff, 0x50, 0x00, 0x26, 0xb4, + 0x01, 0x0e, 0x03, 0x01, 0x0f, 0xb8, 0xff, 0xc0, 0xb3, 0x12, 0x13, + 0x48, 0x0f, 0xb8, 0xff, 0xc0, 0xb2, 0x09, 0x0f, 0x48, 0xb8, 0xff, + 0xcc, 0xb4, 0x0f, 0x0f, 0x00, 0x00, 0x25, 0x01, 0x2b, 0x2b, 0x2b, + 0x35, 0x00, 0x3f, 0x35, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xec, 0x04, + 0xac, 0x05, 0x5a, 0x10, 0x26, 0x00, 0x32, 0x46, 0x00, 0x11, 0x07, + 0x03, 0x38, 0xfd, 0xf4, 0xff, 0x50, 0x00, 0x14, 0xb3, 0x02, 0x18, + 0x03, 0x02, 0xb8, 0xfd, 0xad, 0xb4, 0x16, 0x19, 0x06, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x3f, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x04, 0xaf, 0x05, 0x45, 0x00, 0x08, 0x00, 0x0e, + 0x00, 0x59, 0x40, 0x16, 0x0e, 0x09, 0x09, 0x0b, 0x0c, 0x0c, 0x05, + 0x04, 0x04, 0x02, 0x07, 0x08, 0x08, 0x06, 0x01, 0x01, 0x02, 0x02, + 0x0f, 0x10, 0x0b, 0x0e, 0xb8, 0x01, 0x0c, 0x40, 0x17, 0x59, 0x0b, + 0x04, 0x06, 0x03, 0x40, 0x00, 0x50, 0x00, 0x60, 0x00, 0x03, 0x3f, + 0x00, 0x01, 0x00, 0x00, 0x01, 0x07, 0x04, 0x03, 0x01, 0x12, 0x00, + 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x5d, 0x33, 0x33, 0x11, + 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x12, 0x39, 0x32, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x01, 0x33, 0x1b, 0x01, + 0x33, 0x01, 0x35, 0x13, 0x33, 0x15, 0x03, 0x03, 0x4d, 0xbc, 0xfe, + 0x9e, 0xc9, 0xf8, 0xf6, 0xc9, 0xfb, 0x51, 0x4f, 0xc5, 0xab, 0x02, + 0x48, 0xfd, 0xb8, 0x02, 0x48, 0x02, 0xfd, 0xfd, 0xa7, 0x02, 0x59, + 0xfe, 0xbb, 0x21, 0x01, 0x24, 0x25, 0xfe, 0xe0, 0x00, 0x00, 0x00, + 0x02, 0xff, 0xce, 0x00, 0x00, 0x04, 0x9b, 0x05, 0x5a, 0x00, 0x24, + 0x00, 0x2a, 0x00, 0x62, 0x40, 0x1a, 0x27, 0x28, 0x28, 0x25, 0x2a, + 0x25, 0x21, 0x1e, 0x19, 0x06, 0x0b, 0x19, 0x0b, 0x03, 0x1b, 0x15, + 0x21, 0x09, 0x0f, 0x03, 0x21, 0x03, 0x2b, 0x2c, 0x27, 0x2a, 0xb8, + 0x01, 0x0c, 0x40, 0x15, 0x59, 0x27, 0x03, 0x0c, 0x18, 0x18, 0x09, + 0x1b, 0x1a, 0x1b, 0x5f, 0x59, 0x0b, 0x1a, 0x12, 0x00, 0x12, 0x5f, + 0x59, 0x00, 0x04, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x33, 0x18, 0x2f, 0x33, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x32, 0x00, 0x11, 0x14, 0x02, 0x07, 0x36, + 0x3b, 0x01, 0x15, 0x21, 0x35, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x15, 0x21, 0x35, 0x33, 0x32, + 0x17, 0x26, 0x02, 0x35, 0x34, 0x12, 0x36, 0x01, 0x35, 0x13, 0x33, + 0x15, 0x03, 0x02, 0x8d, 0xe3, 0x01, 0x13, 0xa5, 0x98, 0x5f, 0x2e, + 0xc8, 0xfe, 0x31, 0x7c, 0x78, 0x9e, 0x94, 0x94, 0xa0, 0x78, 0x7c, + 0xfe, 0x31, 0xc8, 0x2e, 0x5f, 0x98, 0xa5, 0x7e, 0xe4, 0xfd, 0xd5, + 0x4f, 0xc5, 0xab, 0x05, 0x5a, 0xfe, 0xb8, 0xfe, 0xf1, 0xcb, 0xfe, + 0xbf, 0x66, 0x0b, 0x9c, 0xe0, 0x5b, 0xfe, 0xbd, 0xd7, 0xf1, 0xef, + 0xd9, 0xbd, 0xfd, 0x5c, 0xe0, 0x9c, 0x0b, 0x65, 0x01, 0x41, 0xcc, + 0xb1, 0x01, 0x12, 0x94, 0xfe, 0xa6, 0x21, 0x01, 0x24, 0x25, 0xfe, + 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, + 0x5d, 0x06, 0x41, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, 0x06, + 0x03, 0x39, 0xf3, 0x00, 0x00, 0x19, 0xb5, 0x03, 0x02, 0x01, 0x03, + 0x02, 0x01, 0xb8, 0xff, 0xe1, 0xb4, 0x1a, 0x18, 0x0d, 0x06, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x35, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x05, 0x45, + 0x12, 0x06, 0x00, 0x24, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x80, 0x05, 0x45, 0x12, 0x06, 0x00, 0x25, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xe0, 0x00, 0x00, 0x04, 0x5b, 0x05, 0x45, 0x00, + 0x05, 0x00, 0x1d, 0x40, 0x0e, 0x00, 0x01, 0x01, 0x03, 0x06, 0x07, + 0x02, 0x05, 0x5f, 0x59, 0x02, 0x03, 0x00, 0x12, 0x00, 0x3f, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x21, + 0x23, 0x11, 0x21, 0x15, 0x21, 0x01, 0x9f, 0xbf, 0x03, 0x7b, 0xfd, + 0x44, 0x05, 0x45, 0x9c, 0x00, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x00, + 0x04, 0xc0, 0x05, 0x45, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x49, 0x40, + 0x27, 0x03, 0x02, 0x06, 0x0b, 0x04, 0x0a, 0x01, 0x01, 0x04, 0x06, + 0x03, 0x10, 0x0f, 0x1d, 0x06, 0x01, 0x0f, 0x06, 0x01, 0x0d, 0x04, + 0x06, 0x03, 0x02, 0x03, 0x0b, 0x04, 0x01, 0x01, 0x04, 0x0b, 0x03, + 0x0a, 0x00, 0x0a, 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x11, + 0x00, 0x17, 0x33, 0x18, 0x2f, 0x2f, 0x2f, 0x3f, 0x33, 0x33, 0x5f, + 0x5e, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x33, 0x35, 0x01, 0x33, 0x01, + 0x15, 0x01, 0x0e, 0x02, 0x01, 0x21, 0x01, 0x26, 0x27, 0x0c, 0x01, + 0xdd, 0xf4, 0x01, 0xe3, 0xfd, 0xa4, 0x03, 0x3f, 0x2f, 0xfe, 0xd9, + 0x03, 0x34, 0xfe, 0xc6, 0x33, 0x24, 0x91, 0x04, 0xb4, 0xfb, 0x4e, + 0x93, 0x04, 0xbe, 0x0a, 0xb9, 0x79, 0xfd, 0x1a, 0x03, 0x0d, 0x83, + 0x73, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x05, + 0x45, 0x12, 0x06, 0x00, 0x28, 0x00, 0x00, 0xff, 0xff, 0x00, 0x49, + 0x00, 0x00, 0x04, 0x83, 0x05, 0x45, 0x12, 0x06, 0x00, 0x3d, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x45, + 0x12, 0x06, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x66, 0xff, + 0xec, 0x04, 0x66, 0x05, 0x5a, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x19, + 0x00, 0x58, 0x40, 0x39, 0x10, 0x06, 0x0c, 0x00, 0x00, 0x16, 0x19, + 0x06, 0x04, 0x1a, 0x1b, 0x19, 0x18, 0x5f, 0x59, 0x2f, 0x19, 0x5f, + 0x19, 0x9f, 0x19, 0xaf, 0x19, 0x04, 0x0f, 0x19, 0x8f, 0x19, 0xaf, + 0x19, 0xbf, 0x19, 0xdf, 0x19, 0xef, 0x19, 0xff, 0x19, 0x07, 0x17, + 0x03, 0x19, 0x19, 0x09, 0x03, 0x09, 0x0e, 0x5f, 0x59, 0x09, 0x04, + 0x03, 0x13, 0x5f, 0x59, 0x03, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x71, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, + 0x33, 0x32, 0x00, 0x03, 0x10, 0x21, 0x20, 0x11, 0x10, 0x12, 0x33, + 0x32, 0x12, 0x03, 0x15, 0x21, 0x35, 0x04, 0x66, 0xfe, 0xf7, 0xf8, + 0xf9, 0xfe, 0xfa, 0x01, 0x04, 0xfd, 0xf7, 0x01, 0x08, 0xc9, 0xfe, + 0xca, 0xfe, 0xc8, 0x9e, 0x99, 0xa3, 0x94, 0x8f, 0xfe, 0xb1, 0x02, + 0xa9, 0xfe, 0xaf, 0xfe, 0x94, 0x01, 0x66, 0x01, 0x57, 0x01, 0x51, + 0x01, 0x60, 0xfe, 0xa5, 0xfe, 0xaa, 0x02, 0x15, 0xfd, 0xeb, 0xfe, + 0xf2, 0xfe, 0xec, 0x01, 0x18, 0x01, 0x56, 0x9a, 0x9a, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x05, 0x45, 0x12, + 0x06, 0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0xcb, 0x05, 0x45, 0x12, 0x06, 0x00, 0x2e, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x0a, 0x00, 0x00, 0x04, 0xc2, 0x05, 0x45, 0x00, 0x0a, + 0x00, 0x32, 0x40, 0x1a, 0x0a, 0x09, 0x04, 0x01, 0x00, 0x07, 0x08, + 0x08, 0x04, 0x00, 0x03, 0x0c, 0x0b, 0x5a, 0x04, 0x01, 0x4b, 0x04, + 0x01, 0x04, 0x0a, 0x09, 0x03, 0x08, 0x00, 0x12, 0x00, 0x3f, 0x32, + 0x3f, 0x33, 0x33, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x01, + 0x26, 0x27, 0x06, 0x07, 0x01, 0x23, 0x01, 0x33, 0x04, 0xc2, 0xc9, + 0xfe, 0xc2, 0x30, 0x24, 0x35, 0x1f, 0xfe, 0xc0, 0xc9, 0x01, 0xf9, + 0xc6, 0x03, 0x86, 0x90, 0x87, 0xc1, 0x56, 0xfc, 0x7a, 0x05, 0x45, + 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4b, 0x05, 0x45, 0x12, + 0x06, 0x00, 0x30, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x2a, 0x05, 0x45, 0x12, 0x06, 0x00, 0x31, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x87, 0x00, 0x00, 0x04, 0x46, 0x05, 0x45, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x57, 0x40, 0x35, 0x0b, 0x08, 0x04, + 0x02, 0x07, 0x01, 0x04, 0x07, 0x04, 0x0d, 0x0c, 0x0b, 0x0a, 0x5f, + 0x59, 0x1f, 0x0b, 0x2f, 0x0b, 0x02, 0x0f, 0x0b, 0x2f, 0x0b, 0x3f, + 0x0b, 0x5f, 0x0b, 0x7f, 0x0b, 0xaf, 0x0b, 0xdf, 0x0b, 0x07, 0x1f, + 0x03, 0x0b, 0x0b, 0x05, 0x01, 0x04, 0x05, 0x5f, 0x59, 0x04, 0x12, + 0x01, 0x00, 0x5f, 0x59, 0x01, 0x03, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x71, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x39, 0x31, 0x30, 0x13, 0x35, 0x21, 0x15, 0x01, 0x35, + 0x21, 0x15, 0x03, 0x15, 0x21, 0x35, 0x9b, 0x03, 0x97, 0xfc, 0x55, + 0x03, 0xbf, 0x91, 0xfd, 0x63, 0x04, 0xa9, 0x9c, 0x9c, 0xfb, 0x57, + 0x9c, 0x9c, 0x03, 0x03, 0x9a, 0x9a, 0x00, 0xff, 0xff, 0x00, 0x66, + 0xff, 0xec, 0x04, 0x66, 0x05, 0x5a, 0x12, 0x06, 0x00, 0x32, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xa3, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x45, + 0x00, 0x07, 0x00, 0x23, 0x40, 0x11, 0x07, 0x00, 0x04, 0x03, 0x00, + 0x03, 0x08, 0x09, 0x01, 0x06, 0x5f, 0x59, 0x01, 0x03, 0x04, 0x00, + 0x12, 0x00, 0x3f, 0x32, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x21, 0x11, 0x23, + 0x11, 0x21, 0x11, 0xa3, 0x03, 0x87, 0xbf, 0xfd, 0xf7, 0x05, 0x45, + 0xfa, 0xbb, 0x04, 0xa9, 0xfb, 0x57, 0x00, 0xff, 0xff, 0x00, 0xa2, + 0x00, 0x00, 0x04, 0x5f, 0x05, 0x45, 0x12, 0x06, 0x00, 0x33, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x6c, 0x00, 0x00, 0x04, 0xa1, 0x05, 0x45, + 0x00, 0x0c, 0x00, 0x53, 0x40, 0x2a, 0x07, 0x03, 0x03, 0x01, 0x08, + 0x02, 0x02, 0x0e, 0x0a, 0x01, 0x05, 0x0b, 0x01, 0x0b, 0x0d, 0x0e, + 0x03, 0x07, 0x04, 0x07, 0x5f, 0x59, 0x09, 0x08, 0x00, 0x02, 0x01, + 0x1d, 0x03, 0x02, 0x02, 0x00, 0x04, 0x03, 0x01, 0x0a, 0x00, 0x0a, + 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, + 0x35, 0x09, 0x01, 0x35, 0x21, 0x15, 0x21, 0x01, 0x15, 0x01, 0x21, + 0x15, 0x6c, 0x02, 0x1a, 0xfd, 0xf7, 0x03, 0xe7, 0xfc, 0xf0, 0x01, + 0xca, 0xfe, 0x16, 0x03, 0x6d, 0xa2, 0x02, 0x25, 0x01, 0xdd, 0xa1, + 0x9c, 0xfe, 0x61, 0x7c, 0xfe, 0x0e, 0x9c, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x4c, 0x00, 0x00, 0x04, 0x80, 0x05, 0x45, 0x12, 0x06, 0x00, + 0x37, 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, + 0x05, 0x45, 0x12, 0x06, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x08, 0xff, 0xf5, 0x04, 0xc5, 0x05, 0x4f, 0x00, 0x17, 0x00, 0x20, + 0x00, 0x29, 0x00, 0x56, 0x40, 0x2e, 0x1d, 0x14, 0x06, 0x11, 0x25, + 0x06, 0x03, 0x07, 0x21, 0x0d, 0x18, 0x00, 0x0d, 0x07, 0x00, 0x03, + 0x2b, 0x2a, 0x1b, 0x26, 0x11, 0x26, 0x60, 0x59, 0x14, 0x11, 0x1e, + 0x25, 0x08, 0x25, 0x60, 0x59, 0x05, 0x08, 0x90, 0x11, 0x01, 0x11, + 0x08, 0x11, 0x08, 0x06, 0x12, 0x03, 0x06, 0x13, 0x00, 0x3f, 0x3f, + 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x5d, 0x11, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x14, 0x0e, 0x01, 0x2b, 0x01, 0x15, 0x23, 0x35, + 0x23, 0x22, 0x2e, 0x01, 0x35, 0x34, 0x00, 0x3b, 0x01, 0x35, 0x33, + 0x15, 0x33, 0x32, 0x00, 0x07, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, + 0x32, 0x36, 0x25, 0x14, 0x16, 0x3b, 0x01, 0x11, 0x23, 0x22, 0x06, + 0x04, 0xc5, 0x78, 0xd7, 0x8c, 0x29, 0xb5, 0x29, 0x8b, 0xd8, 0x78, + 0x01, 0x06, 0xe0, 0x1e, 0xb5, 0x1d, 0xe0, 0x01, 0x07, 0xc2, 0xa5, + 0x98, 0x05, 0x0c, 0x93, 0xa3, 0xfc, 0xc7, 0xa3, 0x93, 0x0c, 0x08, + 0x95, 0xa5, 0x02, 0xc2, 0x8a, 0xe7, 0x83, 0xd9, 0xd9, 0x82, 0xe9, + 0x89, 0xdc, 0x01, 0x05, 0xac, 0xac, 0xfe, 0xfc, 0xe1, 0xa4, 0xb2, + 0xfd, 0x48, 0xc1, 0xa1, 0xa2, 0xc0, 0x02, 0xb8, 0xb0, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa9, 0x05, 0x45, 0x12, + 0x06, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x31, 0x00, 0x00, + 0x04, 0x9c, 0x05, 0x45, 0x00, 0x1b, 0x00, 0x3c, 0x40, 0x1e, 0x0f, + 0x1b, 0x1b, 0x0c, 0x00, 0x13, 0x16, 0x08, 0x05, 0x00, 0x05, 0x16, + 0x03, 0x1d, 0x1c, 0x0f, 0x0c, 0x01, 0x0c, 0x60, 0x59, 0x1a, 0x01, + 0x01, 0x14, 0x0d, 0x06, 0x03, 0x00, 0x12, 0x00, 0x3f, 0x3f, 0x33, + 0x33, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x21, 0x11, 0x23, 0x22, 0x02, 0x35, 0x11, 0x33, 0x11, + 0x14, 0x16, 0x3b, 0x01, 0x11, 0x33, 0x11, 0x33, 0x32, 0x36, 0x35, + 0x11, 0x33, 0x11, 0x14, 0x02, 0x2b, 0x01, 0x11, 0x02, 0x19, 0x3a, + 0xcb, 0xe3, 0xa1, 0x90, 0x84, 0x33, 0x9b, 0x33, 0x85, 0x8f, 0xa1, + 0xe4, 0xca, 0x3a, 0x01, 0x8d, 0x01, 0x17, 0xf0, 0x01, 0xb1, 0xfe, + 0x4b, 0xb6, 0xc5, 0x03, 0x30, 0xfc, 0xd0, 0xc8, 0xb3, 0x01, 0xb5, + 0xfe, 0x4f, 0xf0, 0xfe, 0xe9, 0xfe, 0x73, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x3b, 0x00, 0x00, 0x04, 0x93, 0x05, 0x5a, 0x00, 0x23, + 0x00, 0x44, 0x40, 0x23, 0x1b, 0x15, 0x21, 0x1e, 0x19, 0x06, 0x0b, + 0x0f, 0x09, 0x03, 0x03, 0x0b, 0x19, 0x21, 0x04, 0x24, 0x25, 0x0c, + 0x18, 0x18, 0x09, 0x1b, 0x1a, 0x1b, 0x5f, 0x59, 0x0b, 0x1a, 0x12, + 0x00, 0x12, 0x5f, 0x59, 0x00, 0x04, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x32, 0x00, 0x11, 0x14, 0x02, 0x07, + 0x36, 0x3b, 0x01, 0x15, 0x21, 0x35, 0x36, 0x12, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x12, 0x17, 0x15, 0x21, 0x35, 0x33, + 0x32, 0x17, 0x26, 0x02, 0x35, 0x10, 0x00, 0x02, 0x67, 0xf5, 0x01, + 0x1f, 0xae, 0xa3, 0x75, 0x2c, 0xc8, 0xfe, 0x1d, 0x86, 0x82, 0xac, + 0xa4, 0xa8, 0xaa, 0x83, 0x85, 0xfe, 0x1d, 0xc8, 0x2c, 0x75, 0xa3, + 0xae, 0x01, 0x1f, 0x05, 0x5a, 0xfe, 0xbc, 0xfe, 0xed, 0xbd, 0xfe, + 0xb7, 0x6c, 0x0b, 0x9c, 0xe0, 0x62, 0x01, 0x08, 0xac, 0xe0, 0xe8, + 0xec, 0xdc, 0xad, 0xfe, 0xf9, 0x62, 0xe0, 0x9c, 0x0b, 0x6d, 0x01, + 0x49, 0xbc, 0x01, 0x14, 0x01, 0x43, 0x00, 0xff, 0xff, 0x00, 0xca, + 0x00, 0x00, 0x04, 0x01, 0x06, 0x86, 0x12, 0x26, 0x00, 0x2c, 0x00, + 0x00, 0x11, 0x07, 0x00, 0x6a, 0x00, 0x02, 0x01, 0x0b, 0x00, 0x17, + 0x40, 0x0d, 0x02, 0x01, 0x0c, 0x05, 0x26, 0x02, 0x01, 0x02, 0x10, + 0x0e, 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, + 0xa8, 0x06, 0x86, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x11, 0x07, + 0x00, 0x6a, 0x00, 0x12, 0x01, 0x0b, 0x00, 0x17, 0x40, 0x0d, 0x02, + 0x01, 0x09, 0x05, 0x26, 0x02, 0x01, 0x11, 0x0d, 0x0b, 0x04, 0x08, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x05, 0xf6, + 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, 0x06, 0x03, 0x38, 0x3c, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x26, 0x11, 0x26, 0x02, 0x18, + 0x26, 0x29, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x05, 0xf6, + 0x12, 0x26, 0x03, 0x66, 0x00, 0x00, 0x11, 0x06, 0x03, 0x38, 0x50, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x28, 0x11, 0x26, 0x01, 0x3d, + 0x28, 0x2b, 0x0a, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x05, 0xf6, + 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x11, 0x06, 0x03, 0x38, 0x50, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x19, 0x11, 0x26, 0x01, 0x4f, + 0x19, 0x1c, 0x0c, 0x17, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x05, 0xf6, + 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, 0x06, 0x03, 0x38, 0x1e, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x10, 0x11, 0x26, 0x01, 0x0a, + 0x10, 0x13, 0x0d, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x06, 0x41, + 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x06, 0x03, 0x39, 0xf1, + 0x00, 0x00, 0x19, 0xb5, 0x03, 0x02, 0x01, 0x03, 0x02, 0x01, 0xb8, + 0xff, 0xe4, 0xb4, 0x1f, 0x1d, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x35, 0x35, 0x35, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x04, 0x4e, 0x00, 0x19, 0x00, + 0x25, 0x00, 0x58, 0x40, 0x30, 0x1a, 0x05, 0x0b, 0x00, 0x20, 0x20, + 0x12, 0x16, 0x15, 0x15, 0x0e, 0x0f, 0x0f, 0x12, 0x05, 0x12, 0x26, + 0x27, 0x16, 0x15, 0x0e, 0x0f, 0x08, 0x23, 0x50, 0x59, 0x00, 0x0b, + 0x10, 0x0b, 0x02, 0x10, 0x04, 0x0b, 0x08, 0x10, 0x02, 0x1d, 0x50, + 0x59, 0x7b, 0x19, 0x8b, 0x19, 0x02, 0x19, 0x02, 0x16, 0x00, 0x3f, + 0x33, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x5f, 0x5e, 0x5d, 0x2b, + 0x00, 0x18, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, + 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x37, 0x33, 0x06, 0x02, 0x07, + 0x16, 0x12, 0x17, 0x23, 0x2e, 0x01, 0x27, 0x01, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x03, 0x76, 0x73, + 0xf4, 0xcd, 0xc1, 0xd9, 0xd1, 0x7e, 0xb3, 0x2d, 0x02, 0x17, 0x32, + 0xbc, 0x32, 0x54, 0x08, 0x05, 0x3b, 0x2f, 0xb7, 0x18, 0x23, 0x05, + 0xfd, 0xc4, 0x72, 0x84, 0x78, 0xa5, 0x1a, 0x1d, 0x98, 0x77, 0x88, + 0x79, 0xed, 0xfe, 0xff, 0x01, 0x14, 0x01, 0x18, 0x01, 0x1c, 0x01, + 0x1a, 0x86, 0x79, 0x77, 0x74, 0x6a, 0xfe, 0xcd, 0x62, 0xa0, 0xfe, + 0xcc, 0x67, 0x3d, 0x8f, 0x21, 0x01, 0x31, 0xde, 0xc9, 0xe7, 0xc4, + 0xd3, 0xd4, 0xc9, 0x00, 0x00, 0x00, 0x02, 0x00, 0xac, 0xfe, 0x57, + 0x04, 0x67, 0x05, 0xcc, 0x00, 0x15, 0x00, 0x29, 0x00, 0x4d, 0x40, + 0x29, 0x1d, 0x09, 0x09, 0x0a, 0x16, 0x11, 0x23, 0x00, 0x00, 0x11, + 0x13, 0x27, 0x0a, 0x05, 0x2a, 0x2b, 0x13, 0x27, 0x26, 0x27, 0x26, + 0x50, 0x59, 0x27, 0x27, 0x0e, 0x03, 0x0e, 0x19, 0x50, 0x59, 0x0e, + 0x00, 0x09, 0x1b, 0x03, 0x20, 0x50, 0x59, 0x03, 0x16, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x23, 0x16, 0x15, 0x11, 0x23, 0x11, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x01, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x1e, 0x01, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x3e, 0x01, 0x04, 0x67, 0xed, + 0xdc, 0xb7, 0x87, 0x06, 0x06, 0xb4, 0xe4, 0xe2, 0xc5, 0xd1, 0xdf, + 0x94, 0xaa, 0xfe, 0xf4, 0x79, 0x6e, 0x93, 0x81, 0x40, 0xa5, 0x51, + 0x8d, 0x98, 0xce, 0xc5, 0x97, 0x9c, 0x01, 0x95, 0xc6, 0xe3, 0x5e, + 0x72, 0x58, 0xfe, 0xd7, 0x05, 0xac, 0xed, 0xdc, 0xb7, 0xa6, 0xfd, + 0x57, 0x1d, 0xcc, 0x02, 0x3b, 0x62, 0x70, 0x9b, 0xa7, 0xfc, 0xd0, + 0x2b, 0x31, 0x9a, 0x87, 0x8f, 0x9e, 0x8e, 0x0b, 0x92, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x35, 0xfe, 0x58, 0x04, 0x90, 0x04, 0x3a, 0x00, + 0x0f, 0x00, 0x40, 0x40, 0x24, 0x0e, 0x04, 0x07, 0x0b, 0x0c, 0x07, + 0x08, 0x00, 0x0f, 0x0f, 0x0c, 0x08, 0x03, 0x11, 0x10, 0x76, 0x04, + 0x86, 0x04, 0x02, 0x3b, 0x09, 0x4b, 0x09, 0x5b, 0x09, 0x03, 0x09, + 0x04, 0x0e, 0x0e, 0x0b, 0x1b, 0x07, 0x00, 0x0f, 0x00, 0x3f, 0x32, + 0x3f, 0x39, 0x2f, 0x33, 0x33, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, + 0x30, 0x09, 0x01, 0x1e, 0x01, 0x17, 0x3e, 0x01, 0x01, 0x33, 0x01, + 0x06, 0x03, 0x23, 0x36, 0x37, 0x01, 0x00, 0xff, 0x01, 0x0f, 0x0d, + 0x4a, 0x04, 0x06, 0x36, 0x01, 0x26, 0xc5, 0xfe, 0x4b, 0x45, 0x24, + 0xbf, 0x19, 0x40, 0xfe, 0x29, 0x04, 0x3a, 0xfd, 0x6f, 0x20, 0xcc, + 0x12, 0x15, 0x8e, 0x02, 0xec, 0xfb, 0xfb, 0xb6, 0xfe, 0xd9, 0xc0, + 0xf3, 0x04, 0x2f, 0x00, 0x00, 0x02, 0x00, 0x70, 0xff, 0xec, 0x04, + 0x55, 0x05, 0xcc, 0x00, 0x0c, 0x00, 0x20, 0x00, 0x3f, 0x40, 0x22, + 0x07, 0x19, 0x0e, 0x1d, 0x20, 0x00, 0x13, 0x13, 0x04, 0x1c, 0x1d, + 0x19, 0x05, 0x21, 0x22, 0x1d, 0x20, 0x1f, 0x20, 0x50, 0x59, 0x04, + 0x1c, 0x0f, 0x03, 0x16, 0x1f, 0x00, 0x16, 0x0a, 0x50, 0x59, 0x16, + 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x17, 0x39, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x2e, 0x01, 0x27, + 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x01, 0x27, 0x01, + 0x1e, 0x02, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x34, 0x12, + 0x37, 0x01, 0x35, 0x21, 0x15, 0x03, 0x98, 0x38, 0x51, 0x62, 0xb8, + 0xc8, 0xa7, 0x90, 0x93, 0xa1, 0xfe, 0xf0, 0x9a, 0x01, 0x3c, 0x80, + 0x6f, 0x3c, 0xfe, 0xf4, 0xe5, 0xe6, 0xfe, 0xf2, 0xf2, 0xee, 0xfe, + 0xc1, 0x02, 0xec, 0x01, 0xd7, 0x56, 0x94, 0x7a, 0x66, 0x41, 0xf0, + 0x99, 0xa3, 0xc3, 0xb8, 0x04, 0x14, 0x08, 0xfe, 0xc7, 0x7e, 0x9f, + 0xac, 0x68, 0xde, 0xfe, 0xef, 0x01, 0x09, 0xe4, 0xbd, 0x01, 0x1a, + 0x52, 0x01, 0x48, 0x82, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xaf, 0xff, 0xec, 0x04, 0x41, 0x04, 0x4e, 0x00, 0x27, 0x00, 0x5d, + 0x40, 0x32, 0x25, 0x0a, 0x1e, 0x11, 0x18, 0x17, 0x03, 0x04, 0x04, + 0x17, 0x21, 0x0d, 0x11, 0x0a, 0x06, 0x28, 0x29, 0x0d, 0x21, 0x22, + 0x21, 0x22, 0x50, 0x59, 0x21, 0x21, 0x14, 0x07, 0x14, 0x1b, 0x50, + 0x59, 0x00, 0x18, 0x01, 0x0b, 0x03, 0x18, 0x18, 0x14, 0x10, 0x03, + 0x03, 0x07, 0x07, 0x00, 0x50, 0x59, 0x07, 0x16, 0x00, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x32, 0x36, 0x37, 0x17, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x15, 0x20, 0x06, 0x15, 0x14, + 0x16, 0x02, 0x6d, 0x6c, 0xbf, 0x40, 0x69, 0x50, 0xf5, 0x9b, 0xd6, + 0xdc, 0x9b, 0x77, 0x6b, 0x86, 0xe8, 0xc4, 0x94, 0xd3, 0x43, 0x80, + 0x2f, 0x91, 0x69, 0x80, 0x77, 0xbf, 0xed, 0xff, 0x00, 0xc8, 0x84, + 0x72, 0x54, 0x4d, 0x64, 0x61, 0x62, 0xa4, 0x97, 0x6c, 0x96, 0x0b, + 0x02, 0x0d, 0x88, 0x62, 0x85, 0x9c, 0x56, 0x63, 0x58, 0x47, 0x44, + 0x55, 0x4a, 0x58, 0x58, 0x87, 0x63, 0x65, 0x5b, 0x5d, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xb8, 0xfe, 0x95, 0x04, 0x4e, 0x05, 0xcc, 0x00, + 0x22, 0x00, 0x42, 0x40, 0x21, 0x18, 0x1f, 0x1f, 0x0e, 0x08, 0x08, + 0x24, 0x1d, 0x00, 0x15, 0x15, 0x23, 0x24, 0x1f, 0x1c, 0x1d, 0x1c, + 0x50, 0x59, 0x66, 0x04, 0x76, 0x04, 0x86, 0x04, 0x03, 0x04, 0x11, + 0x11, 0x0a, 0x1d, 0x00, 0x0a, 0xb8, 0x01, 0x09, 0x00, 0x3f, 0x3f, + 0x12, 0x39, 0x2f, 0x33, 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x16, 0x1f, 0x01, 0x1e, 0x02, 0x15, + 0x14, 0x07, 0x27, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x02, + 0x35, 0x34, 0x00, 0x01, 0x35, 0x06, 0x23, 0x21, 0x35, 0x21, 0x15, + 0x04, 0x00, 0x02, 0x01, 0x77, 0x73, 0x73, 0x7c, 0x99, 0x95, 0x47, + 0x53, 0x7e, 0x17, 0x20, 0x86, 0xb3, 0xae, 0xb9, 0x5c, 0x01, 0x4e, + 0x01, 0x6e, 0x48, 0x55, 0xfe, 0x32, 0x03, 0x22, 0xfe, 0xf4, 0xfe, + 0xe0, 0x88, 0x01, 0x7b, 0x4e, 0x63, 0x18, 0x1d, 0x23, 0x48, 0x63, + 0x40, 0x65, 0x8d, 0x38, 0x1f, 0x52, 0x1c, 0x33, 0x4a, 0x23, 0x23, + 0x5f, 0x90, 0x5d, 0xbd, 0x01, 0xdc, 0x01, 0x3c, 0x06, 0x06, 0x8e, + 0x8a, 0xf3, 0xfe, 0xac, 0xfe, 0xef, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x04, 0x4e, 0x00, 0x18, 0x00, 0x30, + 0x40, 0x18, 0x11, 0x08, 0x08, 0x09, 0x00, 0x18, 0x09, 0x18, 0x19, + 0x1a, 0x11, 0x14, 0x14, 0x04, 0x50, 0x59, 0x14, 0x10, 0x0c, 0x0f, + 0x09, 0x15, 0x00, 0x1b, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x17, 0x33, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x03, 0x64, 0x69, 0x73, 0x7c, + 0x9f, 0xb4, 0x06, 0xaa, 0x01, 0x02, 0x03, 0x02, 0x03, 0x69, 0xf1, + 0xad, 0xaa, 0xfe, 0x57, 0x04, 0x60, 0x88, 0x84, 0xb5, 0x9b, 0xfd, + 0x8d, 0x03, 0x53, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0xcd, 0xbb, + 0xc2, 0xfb, 0x86, 0x00, 0x00, 0x03, 0x00, 0x97, 0xff, 0xec, 0x04, + 0x36, 0x05, 0xcb, 0x00, 0x0a, 0x00, 0x11, 0x00, 0x18, 0x00, 0x3e, + 0x40, 0x1f, 0x15, 0x0f, 0x0f, 0x06, 0x16, 0x0e, 0x0e, 0x00, 0x06, + 0x00, 0x19, 0x1a, 0x15, 0x0f, 0x51, 0x59, 0x15, 0x15, 0x03, 0x08, + 0x08, 0x12, 0x51, 0x59, 0x08, 0x03, 0x0b, 0x50, 0x59, 0x03, 0x16, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, + 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x12, 0x01, 0x32, 0x12, 0x13, + 0x21, 0x1a, 0x01, 0x13, 0x22, 0x02, 0x03, 0x21, 0x0a, 0x01, 0x04, + 0x36, 0xf0, 0xe4, 0xe0, 0xeb, 0x01, 0xd1, 0xef, 0xdf, 0xfe, 0x2a, + 0x8f, 0x84, 0x05, 0xfd, 0xdd, 0x05, 0x81, 0x90, 0x8e, 0x82, 0x06, + 0x02, 0x23, 0x05, 0x7d, 0x02, 0xdd, 0xfe, 0x83, 0xfe, 0x8c, 0x01, + 0x7d, 0x01, 0x74, 0x02, 0xee, 0xfe, 0x8f, 0xfc, 0x17, 0x01, 0x11, + 0x01, 0x1f, 0xfe, 0xec, 0xfe, 0xe4, 0x04, 0xd9, 0xfe, 0xf5, 0xfe, + 0xe5, 0x01, 0x1b, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x95, + 0xff, 0xec, 0x04, 0x5d, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x3a, 0x40, + 0x20, 0x06, 0x00, 0x00, 0x0e, 0x0b, 0x0b, 0x10, 0x11, 0x0e, 0x0d, + 0x50, 0x59, 0x0e, 0x0f, 0x00, 0x05, 0x10, 0x05, 0x20, 0x05, 0x03, + 0x0c, 0x03, 0x05, 0x05, 0x08, 0x08, 0x03, 0x50, 0x59, 0x08, 0x16, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, + 0x22, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x02, 0x88, 0x50, 0x54, + 0x6e, 0x65, 0x5e, 0x7f, 0xb3, 0xb1, 0xa6, 0xfe, 0xc1, 0x01, 0xf3, + 0x01, 0x5a, 0x6f, 0x65, 0x6a, 0x78, 0x8c, 0xb1, 0xc0, 0x02, 0x4f, + 0x8e, 0x00, 0xff, 0xff, 0x00, 0xec, 0x00, 0x00, 0x04, 0x65, 0x04, + 0x3a, 0x12, 0x06, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x01, 0x00, 0x72, + 0x00, 0x00, 0x04, 0x52, 0x05, 0xcc, 0x00, 0x18, 0x00, 0x46, 0x40, + 0x26, 0x17, 0x18, 0x0e, 0x00, 0x14, 0x10, 0x0f, 0x0f, 0x14, 0x07, + 0x18, 0x04, 0x19, 0x1a, 0x0f, 0x14, 0x01, 0x0e, 0x04, 0x14, 0x0e, + 0x00, 0x40, 0x0f, 0x12, 0x48, 0x00, 0x00, 0x0a, 0x18, 0x0f, 0x15, + 0x0a, 0x04, 0x50, 0x59, 0x0a, 0x00, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x33, 0x33, 0x5f, 0x5e, 0x5d, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x2e, 0x02, 0x23, 0x22, 0x07, 0x27, 0x3e, + 0x01, 0x33, 0x32, 0x1e, 0x01, 0x17, 0x01, 0x23, 0x03, 0x2e, 0x01, + 0x27, 0x06, 0x07, 0x01, 0x23, 0x02, 0x33, 0x56, 0x35, 0x3a, 0x32, + 0x1e, 0x33, 0x23, 0x1b, 0x62, 0x24, 0x4b, 0x64, 0x54, 0x3b, 0x01, + 0xab, 0xbe, 0xcf, 0x0a, 0x2f, 0x08, 0x1e, 0x38, 0xfe, 0xff, 0xbb, + 0x03, 0xc5, 0xec, 0x64, 0x27, 0x0c, 0x84, 0x08, 0x10, 0x38, 0x83, + 0x9c, 0xfb, 0x8b, 0x02, 0x41, 0x1b, 0x97, 0x24, 0x5a, 0x7e, 0xfd, + 0xc1, 0x00, 0x00, 0x01, 0x00, 0x9c, 0xfe, 0x57, 0x04, 0x7d, 0x04, + 0x3a, 0x00, 0x1e, 0x00, 0x37, 0x40, 0x1b, 0x1d, 0x02, 0x02, 0x01, + 0x17, 0x0a, 0x0a, 0x0b, 0x01, 0x0b, 0x1f, 0x20, 0x0f, 0x06, 0x1a, + 0x06, 0x50, 0x59, 0x17, 0x14, 0x1a, 0x16, 0x0a, 0x01, 0x0f, 0x00, + 0x1b, 0x00, 0x3f, 0x3f, 0x33, 0x3f, 0x33, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x11, 0x33, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x11, 0x9c, 0xb5, 0x6b, 0x77, 0x80, 0x92, 0xb4, 0x23, + 0x2b, 0x19, 0x1d, 0x41, 0x30, 0x5b, 0x5f, 0x05, 0x03, 0x6a, 0xc1, + 0x43, 0x6d, 0x1f, 0xfe, 0x57, 0x05, 0xe3, 0xfd, 0x52, 0x8a, 0x8b, + 0xae, 0xa2, 0x02, 0x73, 0xfc, 0xd0, 0x4b, 0x46, 0x08, 0x81, 0x14, + 0x5e, 0x64, 0xc2, 0x29, 0x26, 0xfe, 0x1c, 0x00, 0x01, 0x00, 0x5c, + 0x00, 0x00, 0x04, 0x36, 0x04, 0x3a, 0x00, 0x0e, 0x00, 0x28, 0x40, + 0x13, 0x04, 0x03, 0x07, 0x06, 0x05, 0x0a, 0x00, 0x00, 0x05, 0x07, + 0x03, 0x0f, 0x10, 0x0c, 0x05, 0x0f, 0x07, 0x04, 0x15, 0x00, 0x3f, + 0x33, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x14, 0x02, 0x07, 0x23, + 0x01, 0x33, 0x01, 0x36, 0x12, 0x35, 0x34, 0x27, 0x33, 0x16, 0x04, + 0x36, 0xd4, 0xc2, 0xaa, 0xfe, 0x66, 0xbd, 0x01, 0x4b, 0x95, 0x89, + 0x31, 0xb1, 0x34, 0x03, 0x4e, 0xb3, 0xfe, 0x46, 0xe1, 0x04, 0x3a, + 0xfc, 0x60, 0xb9, 0x01, 0x4f, 0xa3, 0x87, 0x6e, 0x61, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xbf, 0xfe, 0x9a, 0x04, 0x23, 0x05, 0xcc, + 0x00, 0x30, 0x00, 0x53, 0x40, 0x1a, 0x1c, 0x00, 0x15, 0x08, 0x2a, + 0x24, 0x24, 0x12, 0x18, 0x04, 0x0b, 0x08, 0x10, 0x00, 0x08, 0x31, + 0x32, 0x04, 0x18, 0x19, 0x18, 0x19, 0x51, 0x59, 0x2d, 0x20, 0xb8, + 0x01, 0x0a, 0xb6, 0x59, 0x18, 0x2d, 0x18, 0x2d, 0x10, 0x26, 0xb8, + 0x01, 0x09, 0xb7, 0x12, 0x0f, 0x10, 0x0f, 0x50, 0x59, 0x10, 0x00, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x12, 0x39, 0x39, + 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x34, 0x3e, 0x01, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x37, + 0x35, 0x07, 0x05, 0x23, 0x35, 0x21, 0x15, 0x04, 0x06, 0x15, 0x14, + 0x16, 0x17, 0x15, 0x06, 0x04, 0x15, 0x14, 0x16, 0x1f, 0x01, 0x1e, + 0x02, 0x15, 0x14, 0x07, 0x27, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x27, + 0x2e, 0x02, 0xbf, 0x79, 0xe5, 0xa1, 0xb1, 0xc5, 0x91, 0x9e, 0x1c, + 0xff, 0x00, 0x5e, 0x02, 0xde, 0xfe, 0xfd, 0xde, 0xc5, 0xf1, 0xfb, + 0xfe, 0xc9, 0x70, 0x6e, 0x7a, 0x94, 0x76, 0x43, 0x53, 0x7e, 0x17, + 0x20, 0x77, 0x9a, 0xaa, 0xb7, 0x58, 0x01, 0x62, 0x74, 0xbf, 0x7f, + 0x16, 0x02, 0x0b, 0x8f, 0x74, 0x6a, 0x80, 0x1a, 0x08, 0x01, 0x07, + 0x8e, 0x88, 0x1f, 0x79, 0x60, 0x61, 0x6d, 0x11, 0x83, 0x1e, 0xc1, + 0x90, 0x4f, 0x66, 0x1b, 0x1e, 0x24, 0x3e, 0x5e, 0x46, 0x60, 0x8d, + 0x38, 0x1f, 0x52, 0x1c, 0x37, 0x46, 0x1e, 0x22, 0x5e, 0x8d, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x04, + 0x4e, 0x12, 0x06, 0x00, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x16, + 0xff, 0xec, 0x04, 0xa2, 0x04, 0x3a, 0x00, 0x1f, 0x00, 0x32, 0x40, + 0x19, 0x0e, 0x16, 0x0d, 0x00, 0x16, 0x00, 0x20, 0x21, 0x0e, 0x00, + 0x16, 0x1d, 0x16, 0x50, 0x59, 0x1d, 0x0f, 0x12, 0x15, 0x09, 0x04, + 0x50, 0x59, 0x09, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x37, 0x17, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x15, 0x10, + 0x03, 0x23, 0x36, 0x12, 0x3d, 0x01, 0x22, 0x06, 0x07, 0x35, 0x3e, + 0x01, 0x33, 0x21, 0x15, 0x03, 0xd6, 0x2a, 0x34, 0x1f, 0x23, 0x14, + 0x4d, 0x42, 0x73, 0x66, 0xfe, 0x8c, 0x44, 0xbc, 0x27, 0x29, 0x50, + 0x82, 0x16, 0x18, 0x6b, 0x34, 0x03, 0xd5, 0x03, 0xac, 0xfd, 0x5e, + 0x4c, 0x45, 0x08, 0x81, 0x14, 0x71, 0x86, 0x02, 0xc9, 0x48, 0xfd, + 0xa5, 0xfe, 0xf7, 0x9b, 0x01, 0xc8, 0xf9, 0x50, 0x18, 0x0d, 0x96, + 0x0c, 0x11, 0x8e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x9d, 0xfe, 0x57, + 0x04, 0x54, 0x04, 0x4f, 0x00, 0x12, 0x00, 0x1e, 0x00, 0x31, 0x40, + 0x19, 0x19, 0x0a, 0x0a, 0x0b, 0x13, 0x00, 0x0b, 0x00, 0x1f, 0x20, + 0x0f, 0x16, 0x50, 0x59, 0x0f, 0x10, 0x0a, 0x1b, 0x03, 0x1c, 0x50, + 0x59, 0x06, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, + 0x23, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, + 0x12, 0x07, 0x34, 0x26, 0x23, 0x20, 0x19, 0x01, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x04, 0x54, 0xf3, 0xc2, 0x6b, 0x9f, 0x44, 0x04, 0x04, + 0xb4, 0xf2, 0xd5, 0x8e, 0xe4, 0x7e, 0xc1, 0xab, 0x90, 0xfe, 0xf9, + 0x3b, 0xa6, 0x56, 0x7f, 0x8c, 0x02, 0x04, 0xee, 0xfe, 0xd6, 0x41, + 0x4e, 0x3c, 0x3f, 0xfe, 0x57, 0x03, 0xee, 0xf5, 0x01, 0x15, 0x91, + 0xfe, 0xf3, 0xa5, 0xd1, 0xed, 0xfe, 0x77, 0xfe, 0xc3, 0x48, 0x4b, + 0xd4, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb0, 0xfe, 0x9c, 0x04, 0x28, + 0x04, 0x4e, 0x00, 0x24, 0x00, 0x43, 0x40, 0x21, 0x03, 0x1b, 0x22, + 0x13, 0x0c, 0x1b, 0x0c, 0x25, 0x26, 0x02, 0x07, 0x12, 0x07, 0x22, + 0x07, 0x03, 0x0f, 0x04, 0x07, 0x17, 0x17, 0x1f, 0x0f, 0x23, 0x23, + 0x1f, 0x1f, 0x00, 0x50, 0x59, 0x1f, 0x10, 0x0f, 0xb8, 0x01, 0x09, + 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, + 0x39, 0x2f, 0x33, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x02, 0x15, + 0x14, 0x1e, 0x01, 0x17, 0x1e, 0x03, 0x15, 0x14, 0x06, 0x07, 0x27, + 0x3e, 0x01, 0x35, 0x34, 0x2e, 0x01, 0x27, 0x2e, 0x02, 0x35, 0x34, + 0x12, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x02, 0xb0, 0x96, + 0xab, 0x3d, 0x8b, 0x9a, 0x39, 0x79, 0x64, 0x41, 0x24, 0x2f, 0x7e, + 0x17, 0x20, 0x34, 0x6a, 0x7d, 0xbd, 0xb1, 0x55, 0x8a, 0xe3, 0x93, + 0x71, 0xb9, 0x3e, 0x71, 0x73, 0x03, 0xc1, 0xfe, 0xe8, 0xd8, 0x52, + 0x6b, 0x51, 0x2e, 0x11, 0x26, 0x3c, 0x5a, 0x44, 0x2c, 0x6d, 0x4f, + 0x38, 0x1f, 0x52, 0x1c, 0x22, 0x33, 0x2c, 0x20, 0x30, 0x6f, 0xa9, + 0x80, 0xb0, 0x01, 0x39, 0x9b, 0x4e, 0x4a, 0x72, 0x7d, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x5c, 0xff, 0xec, 0x04, 0xcd, 0x04, 0x3a, 0x00, + 0x10, 0x00, 0x1b, 0x00, 0x30, 0x40, 0x19, 0x17, 0x06, 0x0a, 0x00, + 0x00, 0x0d, 0x13, 0x06, 0x04, 0x1c, 0x1d, 0x0b, 0x14, 0x09, 0x14, + 0x50, 0x59, 0x09, 0x0f, 0x03, 0x19, 0x50, 0x59, 0x03, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x00, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x29, 0x01, 0x15, 0x23, + 0x27, 0x15, 0x1e, 0x01, 0x07, 0x34, 0x27, 0x23, 0x22, 0x06, 0x15, + 0x10, 0x21, 0x32, 0x36, 0x04, 0x36, 0xfe, 0xfb, 0xe5, 0xf0, 0xff, + 0x00, 0x01, 0x2c, 0x01, 0x16, 0x02, 0x2f, 0x9b, 0x94, 0x54, 0x44, + 0xbd, 0x7c, 0x59, 0xba, 0xd0, 0x01, 0x2a, 0x97, 0x9e, 0x01, 0xeb, + 0xf1, 0xfe, 0xf2, 0x01, 0x19, 0x01, 0x07, 0x01, 0x09, 0x01, 0x25, + 0x8e, 0x06, 0x04, 0x7e, 0xd3, 0x75, 0xf4, 0xd0, 0xd7, 0xc7, 0xfe, + 0x63, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x95, 0xff, 0xec, + 0x04, 0x1c, 0x04, 0x3a, 0x00, 0x17, 0x00, 0x30, 0x40, 0x18, 0x0f, + 0x08, 0x08, 0x0b, 0x0b, 0x03, 0x16, 0x16, 0x18, 0x19, 0x13, 0x0d, + 0x50, 0x59, 0x13, 0x16, 0x0a, 0x00, 0x07, 0x00, 0x50, 0x59, 0x07, + 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, + 0x30, 0x01, 0x22, 0x06, 0x07, 0x35, 0x3e, 0x01, 0x33, 0x21, 0x15, + 0x21, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x0e, 0x01, 0x23, 0x22, + 0x26, 0x35, 0x11, 0x01, 0x91, 0x52, 0x94, 0x16, 0x18, 0x6b, 0x34, + 0x02, 0xd0, 0xfe, 0x8a, 0x7c, 0x38, 0x50, 0x17, 0x72, 0x38, 0x80, + 0x77, 0x03, 0xac, 0x18, 0x0d, 0x96, 0x0c, 0x11, 0x8e, 0xfd, 0x54, + 0x87, 0x0a, 0x83, 0x06, 0x0e, 0x77, 0x80, 0x02, 0xc9, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x04, 0x3a, + 0x00, 0x14, 0x00, 0x2f, 0x40, 0x18, 0x09, 0x06, 0x0e, 0x00, 0x06, + 0x00, 0x15, 0x16, 0x0f, 0x03, 0x1f, 0x03, 0x02, 0x10, 0x05, 0x11, + 0x07, 0x0f, 0x03, 0x0b, 0x50, 0x59, 0x03, 0x16, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, + 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x10, 0x21, 0x32, 0x36, 0x35, + 0x34, 0x02, 0x27, 0x33, 0x16, 0x12, 0x04, 0x44, 0xfa, 0xeb, 0xe3, + 0xd9, 0xb5, 0x01, 0x0f, 0x98, 0x8c, 0x49, 0x29, 0xbc, 0x35, 0x3a, + 0x02, 0x3b, 0xfe, 0xe2, 0xfe, 0xcf, 0xd8, 0xdf, 0x02, 0x97, 0xfd, + 0x63, 0xfe, 0xda, 0xd7, 0xe9, 0x82, 0x01, 0x33, 0x4e, 0x76, 0xfe, + 0xec, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0xfe, 0x57, 0x04, + 0x99, 0x04, 0x52, 0x00, 0x18, 0x00, 0x20, 0x00, 0x45, 0x40, 0x24, + 0x10, 0x09, 0x1f, 0x04, 0x04, 0x12, 0x05, 0x19, 0x00, 0x00, 0x05, + 0x0d, 0x09, 0x04, 0x21, 0x22, 0x0d, 0x1c, 0x16, 0x1c, 0x51, 0x59, + 0x0c, 0x16, 0x10, 0x1f, 0x12, 0x06, 0x12, 0x51, 0x59, 0x03, 0x06, + 0x15, 0x04, 0x1b, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x10, 0x02, 0x07, 0x11, 0x23, 0x11, 0x26, 0x02, 0x11, + 0x34, 0x12, 0x37, 0x17, 0x0e, 0x01, 0x15, 0x10, 0x05, 0x11, 0x34, + 0x36, 0x33, 0x32, 0x12, 0x07, 0x34, 0x26, 0x23, 0x22, 0x19, 0x01, + 0x24, 0x04, 0x99, 0xfb, 0xef, 0xa0, 0xe9, 0xf4, 0xd5, 0xc0, 0x15, + 0x7a, 0x87, 0x01, 0x34, 0x9e, 0x95, 0xa0, 0xb7, 0xa9, 0x5b, 0x51, + 0x95, 0x01, 0x41, 0x02, 0x35, 0xfe, 0xef, 0xfe, 0xd7, 0x0d, 0xfe, + 0x69, 0x01, 0x97, 0x0b, 0x01, 0x1c, 0x01, 0x0c, 0xe5, 0x01, 0x2b, + 0x21, 0x88, 0x1c, 0xe4, 0xad, 0xfe, 0x60, 0x10, 0x02, 0x44, 0xc3, + 0xdc, 0xfe, 0xdd, 0xf6, 0xbf, 0xdf, 0xfe, 0xdf, 0xfd, 0xb9, 0x0d, + 0x00, 0x00, 0x01, 0x00, 0x3a, 0xfe, 0x58, 0x04, 0x8e, 0x04, 0x50, + 0x00, 0x15, 0x00, 0x62, 0x40, 0x3d, 0x01, 0x02, 0x02, 0x0a, 0x11, + 0x12, 0x12, 0x15, 0x14, 0x14, 0x13, 0x10, 0x00, 0x03, 0x0a, 0x06, + 0x16, 0x17, 0x11, 0x0f, 0x04, 0x10, 0x54, 0x10, 0x64, 0x10, 0x03, + 0x5f, 0x00, 0x6f, 0x00, 0x02, 0x2b, 0x00, 0x3b, 0x00, 0x02, 0x19, + 0x00, 0x01, 0x0d, 0x00, 0x01, 0x0b, 0x03, 0x00, 0x13, 0x03, 0x10, + 0x04, 0x0c, 0x01, 0x0c, 0x07, 0x50, 0x59, 0x0c, 0x10, 0x15, 0x01, + 0x1b, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, + 0x5f, 0x5e, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x18, 0x3f, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x01, 0x23, 0x01, 0x03, 0x2e, 0x01, 0x23, + 0x22, 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, 0x17, 0x13, 0x01, 0x33, + 0x09, 0x01, 0x23, 0x02, 0x73, 0xfe, 0x95, 0xbc, 0x01, 0xd6, 0xbe, + 0x3b, 0x5e, 0x33, 0x1f, 0x1d, 0x22, 0x37, 0x49, 0x5a, 0x7c, 0x55, + 0xa2, 0x01, 0x26, 0xbb, 0xfe, 0x72, 0x01, 0xb4, 0xbe, 0xef, 0xfd, + 0x69, 0x03, 0x39, 0x01, 0x57, 0x6b, 0x70, 0x0f, 0x83, 0x19, 0x6e, + 0x9c, 0xfe, 0xd9, 0x02, 0x1b, 0xfd, 0x47, 0xfc, 0xd7, 0x00, 0x01, + 0x00, 0x58, 0xfe, 0x57, 0x04, 0x71, 0x05, 0x3c, 0x00, 0x17, 0x00, + 0x3e, 0x40, 0x1f, 0x00, 0x0a, 0x0a, 0x15, 0x0b, 0x12, 0x0f, 0x03, + 0x06, 0x06, 0x0b, 0x0f, 0x03, 0x18, 0x19, 0x16, 0x16, 0x04, 0x10, + 0x0f, 0x00, 0x15, 0x0c, 0x15, 0x50, 0x59, 0x09, 0x0c, 0x16, 0x0a, + 0x1b, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x33, 0x33, 0x2f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x3e, 0x01, + 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x07, 0x11, 0x23, 0x11, 0x2e, + 0x01, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x17, 0x11, 0x33, 0x02, + 0xb4, 0xa1, 0x7d, 0x9f, 0xd0, 0xed, 0xa0, 0xec, 0xd0, 0xa1, 0x7b, + 0xa0, 0xa0, 0x72, 0x02, 0x94, 0xac, 0x02, 0x86, 0xfd, 0x7c, 0xf3, + 0xd5, 0x02, 0xfe, 0x6b, 0x01, 0x95, 0x02, 0xd5, 0xf3, 0x02, 0x84, + 0xfd, 0x7a, 0xab, 0x92, 0x05, 0x04, 0xca, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, 0x04, 0x4f, 0x00, 0x29, + 0x00, 0x52, 0x40, 0x2b, 0x13, 0x00, 0x1e, 0x27, 0x21, 0x09, 0x06, + 0x00, 0x00, 0x27, 0x21, 0x1a, 0x06, 0x0d, 0x0d, 0x1e, 0x27, 0x1a, + 0x04, 0x2a, 0x2b, 0x28, 0x28, 0x17, 0x0a, 0x03, 0x24, 0x17, 0x24, + 0x50, 0x59, 0x70, 0x13, 0x80, 0x13, 0x02, 0x13, 0x10, 0x17, 0x16, + 0x1d, 0x0a, 0x10, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x33, 0x5d, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x12, 0x39, 0x11, 0x39, 0x31, 0x30, 0x01, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x12, 0x15, 0x14, + 0x02, 0x23, 0x22, 0x26, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, + 0x35, 0x34, 0x12, 0x37, 0x17, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x3d, 0x01, 0x33, 0x02, 0xb7, 0x5c, 0x49, 0x47, 0x4b, + 0x67, 0x61, 0x1f, 0x9c, 0xb8, 0xa2, 0x8e, 0x64, 0x84, 0x18, 0x04, + 0x18, 0x85, 0x63, 0x8d, 0xa3, 0xb7, 0x9d, 0x1f, 0x61, 0x67, 0x4b, + 0x47, 0x4b, 0x5b, 0x9f, 0x01, 0xc1, 0x9a, 0xb6, 0xd1, 0xbe, 0xc2, + 0xed, 0x1a, 0x86, 0x20, 0xfe, 0xbd, 0xe7, 0xf8, 0xfe, 0xdf, 0x93, + 0x78, 0x79, 0x92, 0x01, 0x20, 0xf9, 0xe6, 0x01, 0x43, 0x21, 0x86, + 0x1a, 0xe8, 0xc7, 0xbd, 0xd2, 0xb7, 0x99, 0xfc, 0x00, 0xff, 0xff, + 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x05, 0x7b, 0x12, 0x26, 0x03, + 0x6a, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0xe4, 0x00, 0x00, 0x19, + 0xb6, 0x02, 0x01, 0x10, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xd1, + 0xb4, 0x14, 0x12, 0x0d, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, + 0xec, 0x04, 0x44, 0x05, 0x7b, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, + 0x11, 0x06, 0x00, 0x6a, 0xe4, 0x00, 0x00, 0x19, 0xb6, 0x02, 0x01, + 0x15, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xd6, 0xb4, 0x19, 0x17, + 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, + 0x05, 0xf6, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x03, + 0x38, 0x3c, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x18, 0x11, 0x26, + 0x02, 0x3b, 0x18, 0x1b, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, + 0x05, 0xf6, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x06, 0x03, + 0x38, 0x14, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x15, 0x11, 0x26, + 0x01, 0x05, 0x15, 0x18, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, + 0x05, 0xf6, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x11, 0x06, 0x03, + 0x38, 0x2d, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x2a, 0x11, 0x26, + 0x01, 0x2b, 0x2a, 0x2d, 0x1a, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x03, 0x00, 0x82, 0xff, 0xec, 0x04, 0x4b, + 0x05, 0xcc, 0x00, 0x1b, 0x00, 0x27, 0x00, 0x30, 0x00, 0x60, 0x40, + 0x38, 0x00, 0x2d, 0x02, 0x28, 0x02, 0x11, 0x28, 0x17, 0x22, 0x0a, + 0x0a, 0x17, 0x11, 0x03, 0x31, 0x32, 0x07, 0x25, 0x50, 0x59, 0x2f, + 0x1a, 0x50, 0x59, 0x04, 0x00, 0x07, 0x10, 0x07, 0x20, 0x07, 0xb0, + 0x07, 0xc0, 0x07, 0x05, 0x09, 0x03, 0x07, 0x2f, 0x07, 0x2f, 0x0d, + 0x14, 0x14, 0x2b, 0x50, 0x59, 0x14, 0x01, 0x0d, 0x1f, 0x51, 0x59, + 0x0d, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x39, 0x2b, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x06, 0x15, 0x14, + 0x17, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x02, 0x11, 0x10, 0x12, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x23, 0x22, 0x03, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x01, 0x34, 0x26, 0x23, 0x22, 0x07, 0x16, 0x33, + 0x32, 0x01, 0x4b, 0x27, 0x04, 0x35, 0xb7, 0x6a, 0xdd, 0xf0, 0xf3, + 0xda, 0xac, 0xe3, 0x6d, 0xfe, 0x01, 0x01, 0xa1, 0xb8, 0xb7, 0x95, + 0xa9, 0x80, 0x94, 0x84, 0x87, 0x92, 0x8e, 0x88, 0x89, 0x92, 0x01, + 0xce, 0x61, 0x53, 0xb1, 0x56, 0x76, 0x9b, 0xaa, 0x04, 0x2a, 0x80, + 0x98, 0x3f, 0x38, 0x50, 0x5b, 0xdc, 0xcd, 0xce, 0xe3, 0x97, 0x01, + 0x3e, 0x01, 0x21, 0x01, 0x7b, 0x01, 0x6f, 0x88, 0x7a, 0x72, 0x85, + 0xfd, 0xc6, 0x92, 0x99, 0x9d, 0x90, 0x90, 0x96, 0x99, 0x02, 0xa6, + 0x37, 0x3c, 0x90, 0x4f, 0x00, 0x00, 0x02, 0x00, 0x30, 0xff, 0xec, + 0x04, 0x77, 0x05, 0xcc, 0x00, 0x2b, 0x00, 0x33, 0x00, 0x60, 0x40, + 0x15, 0x19, 0x10, 0x07, 0x31, 0x24, 0x15, 0x0b, 0x2c, 0x20, 0x20, + 0x2a, 0x01, 0x01, 0x0b, 0x24, 0x07, 0x04, 0x34, 0x35, 0x12, 0x0d, + 0xb8, 0x01, 0x0a, 0x40, 0x1b, 0x59, 0x01, 0x20, 0x2c, 0x20, 0x50, + 0x59, 0x2a, 0x2c, 0x12, 0x2c, 0x12, 0x2c, 0x05, 0x27, 0x27, 0x2f, + 0x51, 0x59, 0x27, 0x01, 0x05, 0x1c, 0x50, 0x59, 0x05, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x23, 0x14, 0x02, + 0x06, 0x23, 0x20, 0x11, 0x34, 0x37, 0x36, 0x35, 0x34, 0x23, 0x22, + 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x06, 0x15, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x12, 0x35, 0x26, 0x24, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x12, 0x13, 0x33, 0x07, 0x34, 0x26, 0x23, + 0x22, 0x15, 0x14, 0x16, 0x04, 0x77, 0x61, 0x85, 0xe9, 0x96, 0xfe, + 0xd1, 0x18, 0x18, 0x3a, 0x31, 0x60, 0x18, 0x6a, 0x4f, 0x5d, 0x68, + 0x18, 0x19, 0x52, 0x46, 0x67, 0x9e, 0x5e, 0xc7, 0xfe, 0xe1, 0x8a, + 0xcc, 0xaa, 0xc4, 0xcf, 0x05, 0x61, 0xff, 0x84, 0x76, 0xce, 0xed, + 0x02, 0xf9, 0xde, 0xfe, 0x91, 0xc0, 0x01, 0x0c, 0x31, 0x5d, 0x5d, + 0x23, 0x3c, 0x31, 0x8d, 0x36, 0x63, 0x58, 0x32, 0x5d, 0x5d, 0x32, + 0x42, 0x49, 0x9d, 0x01, 0x3b, 0xb1, 0x03, 0x61, 0xac, 0x76, 0x99, + 0xb4, 0xfe, 0xd9, 0xfe, 0xdf, 0x01, 0xc9, 0xfe, 0xc9, 0x7b, 0x83, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3f, 0x05, 0x5a, 0x00, + 0x14, 0x00, 0x38, 0x40, 0x1b, 0x10, 0x0f, 0x0f, 0x11, 0x0d, 0x03, + 0x0c, 0x0c, 0x0d, 0x0d, 0x15, 0x16, 0x0e, 0x0b, 0x11, 0x11, 0x0d, + 0x0f, 0x03, 0x0d, 0x12, 0x00, 0x07, 0x5f, 0x59, 0x00, 0x04, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x32, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, + 0x23, 0x22, 0x06, 0x07, 0x01, 0x11, 0x23, 0x11, 0x01, 0x33, 0x09, + 0x01, 0x3e, 0x01, 0x04, 0x61, 0x41, 0x63, 0x3a, 0x5b, 0x1b, 0x35, + 0x26, 0x2b, 0x35, 0x16, 0xfe, 0xa8, 0xbc, 0xfe, 0x1c, 0xcd, 0x01, + 0x76, 0x01, 0x1c, 0x31, 0x79, 0x05, 0x5a, 0x2a, 0x31, 0x82, 0x17, + 0x23, 0x2c, 0x23, 0xfd, 0xe0, 0xfd, 0xb8, 0x02, 0x48, 0x02, 0xfd, + 0xfd, 0x9d, 0x01, 0xd2, 0x50, 0x56, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0x7b, 0x00, 0x00, 0x05, 0x3f, 0x05, 0xcc, 0x12, 0x26, 0x03, 0x82, + 0x00, 0x00, 0x10, 0x07, 0x03, 0x31, 0xfd, 0x82, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x05, 0x3f, 0x06, 0x86, 0x12, 0x26, + 0x03, 0x82, 0x00, 0x00, 0x11, 0x07, 0x09, 0x65, 0x01, 0x23, 0x00, + 0x00, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x1c, 0x05, 0x26, 0x02, 0x01, + 0xb8, 0xff, 0xc7, 0xb4, 0x1a, 0x18, 0x0f, 0x03, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, + 0xfe, 0x57, 0x04, 0x49, 0x05, 0xcc, 0x12, 0x06, 0x02, 0x39, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x28, 0xff, 0xeb, 0x04, 0xa5, 0x04, 0x3a, + 0x00, 0x15, 0x00, 0x27, 0x00, 0x53, 0x40, 0x2c, 0x1d, 0x12, 0x0b, + 0x25, 0x25, 0x22, 0x18, 0x06, 0x06, 0x22, 0x12, 0x03, 0x28, 0x29, + 0x16, 0x1f, 0x0f, 0x1f, 0x50, 0x59, 0x0c, 0x0f, 0x00, 0x23, 0x10, + 0x23, 0x02, 0x09, 0x03, 0x23, 0x23, 0x00, 0x09, 0x0f, 0x16, 0x1b, + 0x03, 0x15, 0x00, 0x15, 0x50, 0x59, 0x00, 0x0f, 0x00, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x33, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5f, + 0x5e, 0x5d, 0x12, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x21, 0x15, 0x23, 0x1e, 0x01, 0x15, 0x14, 0x02, 0x23, + 0x22, 0x03, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x35, 0x34, 0x37, + 0x23, 0x01, 0x32, 0x11, 0x10, 0x27, 0x21, 0x06, 0x11, 0x10, 0x33, + 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x28, 0x04, 0x7d, + 0x7d, 0x33, 0x3d, 0xa2, 0x95, 0xc7, 0x32, 0x04, 0x19, 0x76, 0x6a, + 0x94, 0xa3, 0x70, 0x7c, 0x03, 0x25, 0xa0, 0x65, 0xfd, 0xbb, 0x64, + 0xa1, 0x48, 0x4f, 0x9f, 0x51, 0x04, 0x3a, 0x8b, 0x58, 0xe9, 0x7e, + 0xf9, 0xfe, 0xf4, 0x01, 0x0b, 0x80, 0x8b, 0x01, 0x0a, 0xfb, 0xee, + 0xd1, 0xfc, 0xc7, 0x01, 0x75, 0x01, 0x0b, 0xb9, 0xb7, 0xfe, 0xf8, + 0xfe, 0x86, 0xad, 0x9d, 0x01, 0x61, 0xfe, 0x9f, 0x9c, 0xae, 0x00, + 0x00, 0x01, 0x00, 0x36, 0xfe, 0x57, 0x04, 0x91, 0x04, 0x3e, 0x00, + 0x2d, 0x00, 0x70, 0x40, 0x1e, 0x11, 0x0e, 0x02, 0x0e, 0x04, 0x01, + 0x02, 0x02, 0x09, 0x09, 0x04, 0x2d, 0x14, 0x2a, 0x2a, 0x17, 0x27, + 0x1b, 0x1b, 0x17, 0x13, 0x14, 0x14, 0x17, 0x04, 0x17, 0x2e, 0x2f, + 0x27, 0x19, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x27, 0x16, 0x1e, 0x23, + 0xb8, 0x01, 0x0a, 0x40, 0x0a, 0x59, 0x1e, 0x1c, 0x12, 0x00, 0x02, + 0x13, 0x0f, 0x0b, 0x06, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x0b, 0x0f, + 0x02, 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, + 0x39, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x31, 0x30, 0x09, 0x01, 0x21, 0x12, 0x11, 0x34, + 0x23, 0x22, 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x02, + 0x07, 0x17, 0x01, 0x21, 0x06, 0x02, 0x15, 0x14, 0x33, 0x32, 0x37, + 0x11, 0x10, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x3d, + 0x01, 0x2e, 0x01, 0x35, 0x34, 0x12, 0x37, 0x03, 0x66, 0xfd, 0xd9, + 0xfe, 0xf7, 0xee, 0x77, 0x1d, 0x38, 0x22, 0x42, 0x4b, 0x7c, 0x7a, + 0x36, 0x24, 0x05, 0x02, 0x20, 0x01, 0x0d, 0x6f, 0x79, 0x77, 0x2a, + 0x32, 0xf0, 0x40, 0x43, 0x2b, 0x35, 0x37, 0x38, 0x63, 0x61, 0x35, + 0x22, 0x03, 0x1f, 0xfc, 0xe1, 0x01, 0x50, 0x01, 0x69, 0xe7, 0x0e, + 0x99, 0x13, 0x98, 0xb5, 0x75, 0xfe, 0xee, 0x49, 0x02, 0x03, 0x1b, + 0x96, 0xfe, 0x8c, 0xbf, 0xe7, 0x0d, 0xfe, 0xe8, 0xfe, 0xd8, 0x0c, + 0xa1, 0x0d, 0x44, 0x51, 0x64, 0x0e, 0x95, 0xa6, 0x8c, 0x01, 0x16, + 0x42, 0x00, 0x00, 0x00, 0x02, 0x00, 0x66, 0xfe, 0x57, 0x04, 0x66, + 0x05, 0x5a, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x32, 0x40, 0x19, 0x13, + 0x0e, 0x00, 0x00, 0x04, 0x0f, 0x0a, 0x04, 0x0a, 0x19, 0x1a, 0x07, + 0x11, 0x5f, 0x59, 0x07, 0x04, 0x01, 0x16, 0x60, 0x59, 0x0d, 0x00, + 0x01, 0x13, 0x00, 0x3f, 0xcd, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x32, 0x31, 0x30, 0x01, 0x11, 0x26, 0x02, 0x11, 0x10, 0x00, 0x33, + 0x32, 0x00, 0x11, 0x10, 0x02, 0x07, 0x11, 0x13, 0x10, 0x21, 0x20, + 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, 0x02, 0x08, 0xcb, 0xd7, 0x01, + 0x09, 0xf8, 0xf7, 0x01, 0x08, 0xd7, 0xc8, 0xd6, 0xfe, 0xca, 0xfe, + 0xc8, 0x9e, 0x99, 0xa3, 0x94, 0xfe, 0x57, 0x01, 0x9c, 0x1f, 0x01, + 0x61, 0x01, 0x36, 0x01, 0x59, 0x01, 0x58, 0xfe, 0xa5, 0xfe, 0xaa, + 0xfe, 0xd1, 0xfe, 0x9c, 0x22, 0xfe, 0x63, 0x04, 0x52, 0x02, 0x15, + 0xfd, 0xeb, 0xfe, 0xf2, 0xfe, 0xec, 0x01, 0x18, 0x00, 0x02, 0x00, + 0x82, 0xfe, 0x57, 0x04, 0x49, 0x04, 0x4e, 0x00, 0x0e, 0x00, 0x1a, + 0x00, 0x33, 0x40, 0x1a, 0x15, 0x0e, 0x00, 0x00, 0x04, 0x0f, 0x0a, + 0x04, 0x0a, 0x1b, 0x1c, 0x07, 0x12, 0x50, 0x59, 0x07, 0x10, 0x01, + 0x18, 0x51, 0x59, 0x0d, 0x01, 0x16, 0x00, 0x1c, 0x00, 0x3f, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x32, 0x31, 0x30, 0x01, 0x11, + 0x26, 0x02, 0x35, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x14, 0x02, + 0x07, 0x11, 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x02, 0x08, 0xbe, 0xc8, 0xfd, 0xe8, 0xf4, 0xee, + 0xca, 0xc3, 0xd0, 0x89, 0x99, 0x99, 0x92, 0x90, 0x90, 0x9f, 0x8e, + 0xfe, 0x57, 0x01, 0x9b, 0x1c, 0x01, 0x1f, 0xf1, 0x01, 0x17, 0x01, + 0x19, 0xfe, 0xea, 0xfe, 0xe6, 0xf6, 0xfe, 0xe5, 0x1b, 0xfe, 0x65, + 0x03, 0xc7, 0xd7, 0xd4, 0xd2, 0xd9, 0xd2, 0xdb, 0xd6, 0x00, 0x01, + 0x00, 0x71, 0x00, 0x00, 0x04, 0x5b, 0x05, 0x5a, 0x00, 0x17, 0x00, + 0x38, 0x40, 0x1d, 0x10, 0x03, 0x16, 0x17, 0x0a, 0x09, 0x09, 0x17, + 0x03, 0x03, 0x18, 0x19, 0x13, 0x00, 0x5f, 0x59, 0x13, 0x0a, 0x13, + 0x0a, 0x06, 0x17, 0x12, 0x06, 0x0d, 0x5f, 0x59, 0x06, 0x04, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x26, 0x02, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x37, 0x11, 0x23, 0x02, 0x34, 0xdf, 0xe4, 0x01, 0x22, 0xf4, + 0xa5, 0xeb, 0x44, 0xa8, 0x27, 0x9c, 0x68, 0xa0, 0xae, 0xa2, 0xaf, + 0x3a, 0x2e, 0xbf, 0x01, 0x1c, 0x15, 0x01, 0x0d, 0xf5, 0xf9, 0x01, + 0x2e, 0xa3, 0xac, 0x41, 0x76, 0x7e, 0xc6, 0xbe, 0xc7, 0xbe, 0x0a, + 0xfe, 0x41, 0x00, 0x01, 0x00, 0x82, 0xfe, 0x57, 0x04, 0x36, 0x04, + 0x4e, 0x00, 0x2c, 0x00, 0x4b, 0x40, 0x0f, 0x16, 0x09, 0x10, 0x0f, + 0x0f, 0x00, 0x20, 0x20, 0x26, 0x09, 0x03, 0x2d, 0x2e, 0x04, 0x1b, + 0xb8, 0x01, 0x0a, 0x40, 0x09, 0x59, 0x04, 0x10, 0x04, 0x10, 0x23, + 0x0c, 0x23, 0x2a, 0xb8, 0x01, 0x0a, 0x40, 0x09, 0x59, 0x23, 0x1c, + 0x0c, 0x13, 0x50, 0x59, 0x0c, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x05, 0x34, 0x2e, 0x01, 0x27, 0x2e, 0x03, 0x35, + 0x10, 0x00, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x03, 0x15, 0x14, 0x06, + 0x23, 0x22, 0x26, 0x27, 0x35, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x03, + 0x58, 0x2e, 0x5b, 0x6c, 0x9a, 0xaa, 0x67, 0x36, 0x01, 0x04, 0xf1, + 0xb2, 0xed, 0x20, 0xc0, 0x10, 0x7f, 0x75, 0x9f, 0x94, 0x37, 0x64, + 0x8f, 0x57, 0x3e, 0x79, 0x5f, 0x3a, 0xe6, 0xea, 0x66, 0xb3, 0x34, + 0x7a, 0x9a, 0x49, 0x84, 0x84, 0x77, 0x2a, 0x37, 0x24, 0x13, 0x19, + 0x50, 0x77, 0xac, 0x72, 0x01, 0x11, 0x01, 0x1e, 0xa9, 0x9a, 0x0e, + 0x5a, 0x6a, 0xc8, 0xde, 0x6d, 0x7d, 0x47, 0x23, 0x12, 0x0d, 0x20, + 0x3e, 0x65, 0x52, 0x9a, 0xa2, 0x1e, 0x16, 0xa8, 0x2b, 0x1d, 0x4a, + 0x00, 0x00, 0x01, 0x00, 0xc2, 0x00, 0x00, 0x04, 0x3d, 0x05, 0x45, + 0x00, 0x0b, 0x00, 0x3e, 0x40, 0x1f, 0x0a, 0x08, 0x03, 0x01, 0x07, + 0x07, 0x08, 0x04, 0x03, 0x08, 0x03, 0x0c, 0x0d, 0x01, 0x06, 0x5f, + 0x59, 0x04, 0x01, 0x04, 0x01, 0x08, 0x09, 0x09, 0x00, 0x5f, 0x59, + 0x09, 0x03, 0x08, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, + 0x01, 0x11, 0x21, 0x03, 0x23, 0x35, 0x21, 0x11, 0x23, 0x11, 0x21, + 0x15, 0x01, 0x81, 0x02, 0xa4, 0x01, 0xb5, 0xfe, 0x12, 0xbf, 0x03, + 0x7b, 0x04, 0xa9, 0xfe, 0x12, 0xfe, 0x91, 0xd1, 0xfd, 0xe3, 0x05, + 0x45, 0x9c, 0x00, 0x00, 0x01, 0x01, 0x09, 0xfe, 0x58, 0x04, 0x1a, + 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x40, 0x40, 0x0e, 0x02, 0x08, 0x08, + 0x05, 0x04, 0x04, 0x09, 0x0b, 0x09, 0x0b, 0x0c, 0x0d, 0x02, 0x07, + 0xb8, 0x01, 0x0a, 0x40, 0x0f, 0x59, 0x05, 0x02, 0x05, 0x02, 0x09, + 0x0a, 0x0a, 0x01, 0x50, 0x59, 0x0a, 0x0f, 0x09, 0x1b, 0x00, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x33, 0x32, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x21, 0x11, 0x23, 0x35, + 0x21, 0x11, 0x23, 0x11, 0x21, 0x04, 0x1a, 0xfd, 0xa3, 0x02, 0x2b, + 0x9e, 0xfe, 0x73, 0xb4, 0x03, 0x11, 0x03, 0xac, 0xfe, 0xe2, 0xfe, + 0xb2, 0xb9, 0xfc, 0x5f, 0x05, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xff, 0xf6, 0xff, 0xed, 0x04, 0xeb, 0x05, 0xcd, 0x00, 0x2a, 0x00, + 0x4a, 0x40, 0x24, 0x29, 0x16, 0x16, 0x26, 0x19, 0x11, 0x00, 0x00, + 0x0e, 0x03, 0x19, 0x03, 0x2b, 0x2c, 0x11, 0x2a, 0x29, 0x15, 0x2a, + 0x15, 0x2a, 0x15, 0x22, 0x0b, 0x22, 0x1d, 0x5f, 0x59, 0x22, 0x01, + 0x0b, 0x06, 0x5f, 0x59, 0x0b, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x06, + 0x02, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x12, 0x37, 0x06, 0x07, 0x06, 0x07, 0x27, 0x36, + 0x12, 0x35, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x27, 0x36, 0x33, + 0x32, 0x1e, 0x01, 0x15, 0x14, 0x02, 0x07, 0x01, 0x04, 0x57, 0x25, + 0x3f, 0x3f, 0x3b, 0x1f, 0x3b, 0x24, 0x40, 0x54, 0x82, 0x87, 0x1f, + 0x15, 0x85, 0xf0, 0xe4, 0x90, 0x1d, 0x20, 0x40, 0x14, 0x2d, 0x27, + 0x20, 0x3a, 0x24, 0x40, 0x54, 0x5a, 0x6b, 0x32, 0x1e, 0x12, 0x02, + 0xe7, 0x04, 0x4e, 0x94, 0xfe, 0x3d, 0x94, 0x64, 0x6d, 0x0f, 0xa0, + 0x14, 0xa2, 0xb1, 0x75, 0x01, 0x13, 0x65, 0x5e, 0x9c, 0x95, 0x66, + 0x0b, 0x7d, 0x01, 0xea, 0xad, 0x55, 0x4f, 0x2d, 0x0f, 0xa0, 0x14, + 0x49, 0x8a, 0x80, 0x77, 0xfe, 0xca, 0x57, 0x01, 0xe8, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x7a, 0x00, 0x00, 0x04, 0x52, 0x05, 0x81, + 0x00, 0x09, 0x00, 0x24, 0x40, 0x11, 0x08, 0x05, 0x03, 0x00, 0x05, + 0x00, 0x0a, 0x0b, 0x08, 0x04, 0x52, 0x59, 0x08, 0x08, 0x06, 0x02, + 0x15, 0x00, 0x3f, 0xc4, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x09, 0x01, 0x23, 0x13, + 0x21, 0x35, 0x01, 0x33, 0x03, 0x21, 0x04, 0x52, 0xfe, 0xec, 0xc2, + 0xe8, 0xfd, 0x16, 0x01, 0x14, 0xc2, 0xe8, 0x02, 0xea, 0x02, 0xfc, + 0xfd, 0x04, 0x02, 0x8c, 0x31, 0x02, 0xc4, 0xfd, 0xac, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x28, 0xfe, 0x59, 0x04, 0x74, 0x05, 0x5a, + 0x00, 0x1e, 0x00, 0x63, 0x40, 0x34, 0x11, 0x0e, 0x0c, 0x09, 0x04, + 0x08, 0x17, 0x17, 0x18, 0x0f, 0x10, 0x03, 0x04, 0x0a, 0x0b, 0x08, + 0x00, 0x00, 0x0b, 0x04, 0x10, 0x18, 0x05, 0x1f, 0x20, 0x0b, 0x0a, + 0x0c, 0x09, 0x10, 0x11, 0x0e, 0x09, 0x0a, 0x0e, 0x0f, 0x17, 0x0a, + 0x0f, 0x17, 0x17, 0x0f, 0x0a, 0x03, 0x03, 0x1b, 0x1b, 0x14, 0x5f, + 0x59, 0x1b, 0x04, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x17, + 0x39, 0x2f, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x11, 0x39, 0x11, 0x33, + 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x17, 0x39, 0x31, 0x30, 0x01, 0x10, 0x00, 0x05, 0x27, 0x3e, 0x01, + 0x12, 0x3d, 0x01, 0x05, 0x27, 0x01, 0x26, 0x27, 0x01, 0x27, 0x01, + 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, + 0x04, 0x12, 0x04, 0x74, 0xfe, 0xca, 0xfe, 0xad, 0x37, 0xc9, 0xdf, + 0x67, 0xfe, 0x5f, 0x3d, 0x01, 0xd2, 0x12, 0x2a, 0xfe, 0x30, 0x3d, + 0x01, 0xd1, 0x4a, 0x9e, 0x68, 0x62, 0xa4, 0x4e, 0x73, 0x68, 0xe0, + 0x92, 0xb9, 0x01, 0x1e, 0x9b, 0x01, 0xd0, 0xfe, 0x9c, 0xfe, 0x51, + 0x64, 0x98, 0x47, 0xc1, 0x01, 0x11, 0xb7, 0x21, 0xff, 0x7c, 0x01, + 0x16, 0x7e, 0x6e, 0xfe, 0xec, 0x7c, 0x01, 0x16, 0x7b, 0x64, 0x67, + 0x75, 0x6d, 0x92, 0x79, 0xeb, 0xfe, 0x5e, 0x00, 0x00, 0x01, 0x00, + 0x14, 0xfe, 0x56, 0x04, 0x1a, 0x05, 0xd4, 0x00, 0x14, 0x00, 0x50, + 0x40, 0x28, 0x12, 0x0d, 0x0e, 0x08, 0x09, 0x07, 0x0a, 0x0c, 0x0f, + 0x04, 0x11, 0x05, 0x05, 0x00, 0x00, 0x09, 0x0e, 0x11, 0x04, 0x15, + 0x16, 0x09, 0x08, 0x07, 0x0a, 0x0e, 0x0c, 0x0f, 0x0a, 0x08, 0x0f, + 0x0d, 0x12, 0x08, 0x0d, 0x08, 0x0d, 0x03, 0x12, 0x03, 0x00, 0x2f, + 0x2f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x11, 0x39, + 0x11, 0x33, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x32, 0x31, 0x30, 0x25, 0x14, 0x03, 0x07, 0x12, 0x35, 0x34, 0x27, + 0x05, 0x27, 0x25, 0x26, 0x27, 0x05, 0x27, 0x25, 0x02, 0x25, 0x37, + 0x04, 0x00, 0x04, 0x1a, 0x2e, 0xc2, 0x37, 0x2c, 0xfe, 0x9c, 0x46, + 0x01, 0x7e, 0x2d, 0x47, 0xfe, 0x84, 0x47, 0x01, 0x70, 0xd2, 0xfe, + 0xa4, 0xac, 0x01, 0x9c, 0x01, 0xbe, 0x6a, 0xdc, 0xfe, 0xfe, 0x36, + 0x01, 0x1b, 0xea, 0xce, 0x92, 0xad, 0x8f, 0xbb, 0x77, 0x71, 0xb9, + 0x90, 0xb5, 0x01, 0x08, 0xab, 0x55, 0xc4, 0xfd, 0x33, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x55, 0xfe, 0x58, 0x04, 0x70, 0x05, 0x45, 0x00, + 0x29, 0x00, 0x50, 0x40, 0x27, 0x0a, 0x09, 0x02, 0x13, 0x13, 0x12, + 0x21, 0x12, 0x09, 0x27, 0x1a, 0x1a, 0x1b, 0x09, 0x1b, 0x2a, 0x2b, + 0x28, 0x02, 0x05, 0x1a, 0x12, 0x09, 0x03, 0x21, 0x22, 0x60, 0x59, + 0x21, 0x05, 0x17, 0x0e, 0x05, 0x0e, 0x5f, 0x59, 0x00, 0x05, 0x13, + 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x10, 0xc4, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x33, 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, 0x27, 0x0e, 0x01, + 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x19, 0x01, + 0x33, 0x11, 0x14, 0x0e, 0x01, 0x23, 0x21, 0x35, 0x21, 0x32, 0x36, + 0x3d, 0x01, 0x23, 0x06, 0x03, 0x1f, 0x88, 0x3e, 0x20, 0x75, 0x4d, + 0x98, 0x8a, 0xa3, 0x3f, 0x50, 0x49, 0x42, 0xa2, 0x3d, 0x48, 0x95, + 0xa2, 0x53, 0xb5, 0x99, 0xfd, 0xc1, 0x02, 0x3f, 0x8f, 0x7c, 0x03, + 0x40, 0x14, 0xa7, 0x4c, 0x5b, 0xd5, 0xdb, 0x03, 0xa9, 0xfc, 0x67, + 0x9b, 0x8a, 0x82, 0x87, 0x03, 0xb5, 0xfc, 0x5b, 0x92, 0x87, 0x01, + 0x1b, 0x03, 0xa3, 0xfb, 0x19, 0xc3, 0xda, 0x69, 0x93, 0x9d, 0xba, + 0x33, 0x89, 0x00, 0x01, 0x00, 0x68, 0xfe, 0x58, 0x04, 0x63, 0x04, + 0x3a, 0x00, 0x2c, 0x00, 0x4f, 0x40, 0x27, 0x24, 0x23, 0x1b, 0x00, + 0x00, 0x2c, 0x0e, 0x2c, 0x23, 0x14, 0x08, 0x08, 0x09, 0x23, 0x09, + 0x2d, 0x2e, 0x15, 0x1c, 0x1f, 0x2c, 0x08, 0x23, 0x0f, 0x04, 0x28, + 0x1f, 0x28, 0x50, 0x59, 0x18, 0x1f, 0x16, 0x0e, 0x0f, 0x50, 0x59, + 0x0e, 0x1b, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x12, 0x39, 0x39, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, 0x21, + 0x35, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x23, 0x0e, 0x01, 0x23, 0x22, + 0x26, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0xb9, 0x31, + 0x41, 0x40, 0x4f, 0xa9, 0xdf, 0xe4, 0xfd, 0xe4, 0x02, 0x1f, 0x9a, + 0x85, 0x01, 0x23, 0x65, 0x45, 0x58, 0x57, 0x13, 0x02, 0x28, 0x6f, + 0x55, 0x76, 0x66, 0xa8, 0x31, 0x41, 0x42, 0x4d, 0x04, 0x3a, 0xfd, + 0x52, 0x9a, 0x7b, 0xc0, 0xa4, 0x02, 0x5f, 0xfb, 0xd9, 0xe4, 0xd7, + 0x8b, 0x8b, 0xa2, 0x83, 0x59, 0x4e, 0x60, 0x64, 0x6a, 0x5a, 0xac, + 0xd1, 0x02, 0xd1, 0xfd, 0x52, 0x9a, 0x7b, 0xa8, 0xa8, 0x02, 0x73, + 0x00, 0x00, 0x01, 0x00, 0x6e, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x5a, + 0x00, 0x1a, 0x00, 0x3f, 0x40, 0x21, 0x04, 0x14, 0x0a, 0x0e, 0x0e, + 0x0d, 0x0d, 0x1a, 0x14, 0x03, 0x1b, 0x1c, 0x17, 0x02, 0x5f, 0x59, + 0x17, 0x04, 0x0f, 0x11, 0x07, 0x11, 0x5f, 0x59, 0x07, 0x00, 0x07, + 0x00, 0x0b, 0x0e, 0x12, 0x0b, 0x03, 0x00, 0x3f, 0x3f, 0x12, 0x39, + 0x39, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x26, 0x23, 0x22, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x37, 0x11, 0x33, 0x11, 0x23, 0x11, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x02, 0x66, 0x39, 0x44, 0xbd, + 0x89, 0x7d, 0x4d, 0xa8, 0x44, 0xbf, 0xbf, 0xa6, 0xa8, 0xcb, 0xe4, + 0xbf, 0xac, 0x47, 0x67, 0x2e, 0x04, 0x8c, 0x34, 0xfe, 0xd5, 0x96, + 0xa3, 0x2f, 0x2b, 0x02, 0x8f, 0xfa, 0xbb, 0x02, 0x18, 0x56, 0xf4, + 0xd9, 0xda, 0xf1, 0x27, 0x26, 0x00, 0x00, 0x01, 0x00, 0x8e, 0x00, + 0x00, 0x04, 0x2a, 0x05, 0x5a, 0x00, 0x1c, 0x00, 0x3e, 0x40, 0x20, + 0x12, 0x07, 0x19, 0x00, 0x00, 0x1c, 0x1c, 0x0d, 0x07, 0x03, 0x1d, + 0x1e, 0x04, 0x16, 0x50, 0x59, 0x01, 0x04, 0x1a, 0x04, 0x1a, 0x04, + 0x0a, 0x00, 0x0a, 0x0f, 0x52, 0x59, 0x0a, 0x04, 0x00, 0x15, 0x00, + 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x11, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x0e, 0x01, 0x23, 0x22, + 0x26, 0x35, 0x11, 0x10, 0x21, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, + 0x15, 0x11, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, + 0x11, 0x03, 0x75, 0x38, 0xb3, 0x87, 0xc0, 0xb5, 0x01, 0x19, 0x48, + 0x40, 0x3a, 0x3d, 0x75, 0x2f, 0x6b, 0x60, 0x8d, 0xac, 0xb4, 0x02, + 0x29, 0x5b, 0x50, 0xb0, 0xcd, 0x01, 0x37, 0x01, 0x28, 0x10, 0xa7, + 0x15, 0x94, 0xfe, 0xfa, 0x72, 0x6f, 0x34, 0xae, 0x97, 0x01, 0xf7, + 0xfa, 0xbb, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa2, 0xfe, 0x58, 0x04, + 0x65, 0x05, 0x45, 0x00, 0x1d, 0x00, 0x3b, 0x40, 0x1d, 0x11, 0x0d, + 0x0d, 0x1d, 0x0e, 0x07, 0x17, 0x0e, 0x17, 0x1e, 0x1f, 0x11, 0x14, + 0x14, 0x0a, 0x5f, 0x59, 0x14, 0x14, 0x0e, 0x0f, 0x03, 0x1d, 0x00, + 0x5f, 0x59, 0x1d, 0x0e, 0x12, 0x00, 0x3f, 0xc6, 0x2b, 0x00, 0x18, + 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x33, 0x32, 0x3e, 0x03, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, + 0x11, 0x23, 0x11, 0x33, 0x11, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x11, + 0x14, 0x02, 0x0e, 0x01, 0x23, 0x21, 0xa2, 0xfc, 0x99, 0x8f, 0x6b, + 0x4b, 0x29, 0x95, 0x8d, 0x90, 0x92, 0xbf, 0xbf, 0x5e, 0x8e, 0x46, + 0xe3, 0xef, 0x4c, 0x90, 0xee, 0xce, 0xfe, 0xd5, 0xfe, 0xed, 0x22, + 0x4d, 0x87, 0xcf, 0x93, 0xdd, 0xe8, 0x5a, 0xfd, 0x50, 0x05, 0x45, + 0xfe, 0x07, 0x33, 0x25, 0xfe, 0xd1, 0xfe, 0xd6, 0xc5, 0xfe, 0xe7, + 0xb6, 0x5f, 0x00, 0x02, 0x00, 0x1e, 0xff, 0xec, 0x04, 0x35, 0x04, + 0x96, 0x00, 0x28, 0x00, 0x33, 0x00, 0x5b, 0x40, 0x12, 0x13, 0x14, + 0x14, 0x2c, 0x25, 0x1d, 0x09, 0x09, 0x07, 0x02, 0x1f, 0x31, 0x25, + 0x06, 0x34, 0x35, 0x17, 0x11, 0xb8, 0x01, 0x0a, 0x40, 0x1f, 0x59, + 0x2f, 0x22, 0x50, 0x59, 0x02, 0x07, 0x31, 0x1f, 0x04, 0x2f, 0x17, + 0x2f, 0x17, 0x2f, 0x00, 0x14, 0x15, 0x0c, 0x1b, 0x50, 0x59, 0x0c, + 0x16, 0x00, 0x29, 0x50, 0x59, 0x04, 0x00, 0x10, 0x00, 0x3f, 0xc6, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, + 0x2f, 0x2f, 0x11, 0x17, 0x39, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x32, 0x17, 0x36, 0x37, 0x17, 0x06, 0x07, 0x16, 0x15, 0x10, 0x02, + 0x23, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x15, 0x23, 0x34, 0x36, 0x33, + 0x32, 0x17, 0x16, 0x33, 0x20, 0x11, 0x34, 0x27, 0x0e, 0x01, 0x23, + 0x22, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x17, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x37, 0x2e, 0x01, 0x02, 0x2b, 0xa8, 0x80, 0x34, + 0x23, 0x7c, 0x48, 0x25, 0x7c, 0xf8, 0xee, 0x48, 0x68, 0x4e, 0x3c, + 0x1d, 0x42, 0x98, 0x75, 0x5d, 0x55, 0x5f, 0x5e, 0x56, 0x01, 0x21, + 0x36, 0x5f, 0xd8, 0x6e, 0x87, 0x96, 0x6d, 0xbd, 0x7b, 0x7f, 0x92, + 0x48, 0x41, 0xb3, 0xa3, 0x23, 0x6d, 0x04, 0x4f, 0x50, 0x4e, 0x49, + 0x5c, 0x74, 0x32, 0x92, 0xe6, 0xfe, 0xf1, 0xfe, 0xdf, 0x1e, 0x23, + 0x1e, 0x4b, 0x65, 0x7a, 0x32, 0x32, 0x01, 0xa1, 0x8e, 0x56, 0x5f, + 0x65, 0x71, 0x79, 0x59, 0x8c, 0x44, 0x87, 0x51, 0x46, 0x34, 0x37, + 0xba, 0x22, 0x26, 0x00, 0x00, 0x01, 0x00, 0x5a, 0xff, 0xec, 0x04, + 0x6e, 0x05, 0x5a, 0x00, 0x2c, 0x00, 0x53, 0x40, 0x2c, 0x22, 0x27, + 0x0a, 0x15, 0x0e, 0x0f, 0x1d, 0x00, 0x00, 0x0f, 0x15, 0x27, 0x04, + 0x2e, 0x2d, 0x0a, 0x1d, 0x12, 0x2a, 0x00, 0x25, 0x10, 0x25, 0x02, + 0x0d, 0x03, 0x25, 0x25, 0x2a, 0x2a, 0x20, 0x5f, 0x59, 0x2a, 0x13, + 0x0e, 0x0e, 0x12, 0x12, 0x0c, 0x60, 0x59, 0x12, 0x04, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x34, 0x3e, 0x02, 0x37, 0x3e, 0x03, 0x35, 0x34, + 0x21, 0x20, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x33, 0x20, 0x11, + 0x34, 0x27, 0x37, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x5a, + 0x33, 0x5f, 0xa1, 0xa1, 0x45, 0x7f, 0x63, 0x3b, 0xfe, 0xe5, 0xfe, + 0xf4, 0x2d, 0xb7, 0x2f, 0xed, 0xd9, 0xe1, 0xef, 0x55, 0xb6, 0xaf, + 0xad, 0x82, 0x4a, 0xa9, 0xa2, 0x01, 0x52, 0x24, 0xac, 0x32, 0xfe, + 0xe5, 0xf5, 0xf9, 0xfe, 0xf5, 0x01, 0x6d, 0x51, 0x7f, 0x5e, 0x4a, + 0x26, 0x10, 0x20, 0x32, 0x4c, 0x3c, 0xd5, 0xd5, 0x21, 0xac, 0x98, + 0xbb, 0xad, 0x61, 0x90, 0x62, 0x26, 0x26, 0x3e, 0x5e, 0x48, 0x71, + 0x7d, 0x01, 0x13, 0x49, 0x53, 0x38, 0x6a, 0x62, 0xc5, 0xeb, 0xc8, + 0x00, 0x01, 0x00, 0x64, 0xff, 0xec, 0x04, 0x54, 0x05, 0x5a, 0x00, + 0x28, 0x00, 0x48, 0x40, 0x1f, 0x22, 0x05, 0x13, 0x14, 0x0f, 0x1a, + 0x1a, 0x00, 0x14, 0x05, 0x04, 0x29, 0x2a, 0x22, 0x0f, 0x02, 0x17, + 0x13, 0x13, 0x17, 0x17, 0x11, 0x50, 0x59, 0x17, 0x04, 0x28, 0x28, + 0x02, 0x02, 0x25, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x02, 0x16, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x06, + 0x23, 0x22, 0x24, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x3e, 0x03, 0x35, + 0x34, 0x21, 0x20, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x37, 0x04, 0x46, 0xea, 0xf5, 0xf7, 0xfe, 0xf4, 0x33, 0x5f, + 0xa1, 0xa1, 0x45, 0x7f, 0x63, 0x3b, 0xfe, 0xe5, 0xfe, 0xf4, 0x2d, + 0xb7, 0x2f, 0xed, 0xd9, 0xe1, 0xef, 0x55, 0xb6, 0xaf, 0xad, 0x82, + 0x4a, 0xab, 0x9f, 0x79, 0xd9, 0x7b, 0x36, 0x4a, 0xc6, 0xbb, 0x51, + 0x7f, 0x5e, 0x4a, 0x26, 0x10, 0x20, 0x32, 0x4c, 0x3c, 0xd5, 0xd5, + 0x21, 0xac, 0x98, 0xbb, 0xad, 0x61, 0x90, 0x62, 0x26, 0x26, 0x3e, + 0x5e, 0x48, 0x73, 0x7b, 0x26, 0x23, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x0a, 0x00, 0x00, 0x04, 0xc3, 0x05, 0x96, 0x00, 0x21, 0x00, + 0x24, 0x00, 0x50, 0x40, 0x2b, 0x17, 0x18, 0x22, 0x0e, 0x1e, 0x0f, + 0x0a, 0x24, 0x23, 0x0b, 0x03, 0x02, 0x02, 0x0b, 0x24, 0x0e, 0x18, + 0x05, 0x25, 0x26, 0x06, 0x13, 0x1a, 0x13, 0x5f, 0x59, 0x03, 0x17, + 0x24, 0x0a, 0x0f, 0x1e, 0x17, 0x05, 0x0d, 0x00, 0x1a, 0x0d, 0x22, + 0x5f, 0x59, 0x0d, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x2f, 0x33, + 0x12, 0x17, 0x39, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x17, 0x07, 0x27, + 0x26, 0x23, 0x22, 0x06, 0x07, 0x03, 0x01, 0x15, 0x21, 0x35, 0x01, + 0x03, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, 0x07, 0x27, 0x36, 0x33, + 0x32, 0x16, 0x1f, 0x01, 0x37, 0x3e, 0x01, 0x01, 0x21, 0x03, 0x03, + 0xac, 0xa1, 0x76, 0x6a, 0x20, 0x3a, 0x40, 0x29, 0x31, 0x14, 0x7c, + 0x01, 0x3b, 0xfc, 0xb2, 0x01, 0x36, 0x7c, 0x13, 0x32, 0x29, 0x1a, + 0x2e, 0x2c, 0x26, 0x6a, 0x76, 0xa4, 0x5c, 0x74, 0x2c, 0x47, 0x47, + 0x26, 0x76, 0xfe, 0x36, 0x01, 0xd6, 0xee, 0x05, 0x96, 0xc6, 0x64, + 0x30, 0x54, 0x26, 0x2e, 0xfe, 0xd6, 0xfd, 0x1f, 0x91, 0x91, 0x02, + 0xe1, 0x01, 0x2a, 0x2e, 0x26, 0x1a, 0x2f, 0x3a, 0x63, 0xc6, 0x5b, + 0x73, 0xc0, 0xc0, 0x68, 0x66, 0xfb, 0x0b, 0x02, 0x48, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x1b, 0x00, 0x00, 0x04, 0xb2, 0x04, 0x41, + 0x00, 0x02, 0x00, 0x23, 0x00, 0x54, 0x40, 0x18, 0x19, 0x1a, 0x01, + 0x11, 0x21, 0x12, 0x0d, 0x00, 0x02, 0x0e, 0x07, 0x06, 0x06, 0x0e, + 0x00, 0x11, 0x1a, 0x05, 0x24, 0x25, 0x0a, 0x16, 0x1d, 0x16, 0xb8, + 0x01, 0x0a, 0x40, 0x12, 0x59, 0x07, 0x19, 0x19, 0x0d, 0x12, 0x00, + 0x04, 0x10, 0x03, 0x1d, 0x0f, 0x10, 0x01, 0x50, 0x59, 0x10, 0x15, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x17, 0x39, 0x11, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x03, 0x33, 0x13, 0x32, 0x16, 0x17, 0x07, 0x27, + 0x26, 0x23, 0x22, 0x07, 0x03, 0x13, 0x15, 0x21, 0x35, 0x13, 0x03, + 0x2e, 0x01, 0x23, 0x22, 0x0f, 0x01, 0x27, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x1f, 0x01, 0x37, 0x36, 0x02, 0x68, 0x6d, 0xdc, 0xc7, 0x4c, + 0x90, 0x38, 0x68, 0x21, 0x42, 0x3c, 0x4c, 0x25, 0x79, 0xa9, 0xfd, + 0xfb, 0xa7, 0x7a, 0x15, 0x38, 0x23, 0x3c, 0x41, 0x22, 0x68, 0x38, + 0x90, 0x4c, 0x62, 0x79, 0x24, 0x38, 0x39, 0x4a, 0x01, 0x94, 0xfe, + 0xfd, 0x03, 0xb0, 0x60, 0x5c, 0x6f, 0x33, 0x62, 0x5e, 0xfe, 0xd1, + 0xfe, 0x6d, 0x8b, 0x8b, 0x01, 0x92, 0x01, 0x33, 0x35, 0x26, 0x62, + 0x33, 0x6f, 0x5c, 0x60, 0x76, 0x6d, 0xab, 0xab, 0xe3, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x05, 0x45, 0x00, + 0x14, 0x00, 0x1f, 0x00, 0x3f, 0x40, 0x21, 0x10, 0x1b, 0x1b, 0x05, + 0x15, 0x00, 0x00, 0x0a, 0x05, 0x03, 0x20, 0x21, 0x12, 0x18, 0x60, + 0x59, 0x10, 0x12, 0x12, 0x03, 0x09, 0x09, 0x0c, 0x5f, 0x59, 0x09, + 0x03, 0x03, 0x1d, 0x60, 0x59, 0x03, 0x13, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x20, 0x11, 0x10, 0x12, 0x36, + 0x33, 0x21, 0x15, 0x21, 0x22, 0x0e, 0x01, 0x07, 0x36, 0x33, 0x32, + 0x12, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x10, 0x21, 0x32, + 0x36, 0x04, 0x66, 0xfe, 0xf1, 0xf2, 0xfe, 0x01, 0x6b, 0xe6, 0xcd, + 0x01, 0x4e, 0xfe, 0xc6, 0x79, 0x7f, 0x50, 0x11, 0x79, 0xcb, 0xe9, + 0xfa, 0xc8, 0x92, 0xa5, 0xa4, 0x96, 0x01, 0x38, 0xa0, 0x99, 0x02, + 0x0d, 0xfe, 0xfd, 0xfe, 0xe2, 0x02, 0x54, 0x01, 0x0a, 0x01, 0x55, + 0xa6, 0x95, 0x3a, 0x7f, 0x6d, 0x88, 0xfe, 0xfd, 0xfe, 0xfe, 0xc2, + 0xba, 0xbb, 0xc1, 0xfe, 0x66, 0xc5, 0x00, 0x00, 0x01, 0x00, 0x82, + 0xff, 0xec, 0x04, 0x53, 0x04, 0x4e, 0x00, 0x22, 0x00, 0x3e, 0x40, + 0x15, 0x11, 0x06, 0x17, 0x00, 0x00, 0x0b, 0x1e, 0x06, 0x04, 0x23, + 0x24, 0x20, 0x1a, 0x50, 0x59, 0x20, 0x20, 0x03, 0x09, 0x09, 0x0d, + 0xb8, 0x01, 0x0a, 0x40, 0x09, 0x59, 0x09, 0x10, 0x03, 0x14, 0x50, + 0x59, 0x03, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x04, 0x23, 0x22, + 0x02, 0x11, 0x10, 0x00, 0x25, 0x36, 0x33, 0x15, 0x05, 0x0e, 0x02, + 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x0f, 0x01, 0x35, 0x36, 0x33, 0x32, 0x16, 0x04, 0x53, 0xfe, 0xff, + 0xe5, 0xee, 0xfd, 0x01, 0x37, 0x01, 0x41, 0x9b, 0x7d, 0xfe, 0xda, + 0xc1, 0xa6, 0x4a, 0x9d, 0xa0, 0x94, 0x96, 0x80, 0x9d, 0x48, 0x3b, + 0x2f, 0x73, 0x65, 0xdc, 0xcc, 0x01, 0x7a, 0xbb, 0xd3, 0x01, 0x24, + 0x01, 0x16, 0x01, 0x0a, 0x01, 0x0f, 0x0a, 0x05, 0x96, 0x07, 0x08, + 0x50, 0xae, 0x9e, 0xc9, 0xd4, 0x8d, 0x7f, 0x77, 0x6e, 0x0b, 0x08, + 0x86, 0x17, 0xb6, 0x00, 0x01, 0x00, 0x6e, 0x00, 0x00, 0x04, 0x5f, + 0x05, 0x45, 0x00, 0x1b, 0x00, 0x42, 0x40, 0x20, 0x0e, 0x13, 0x13, + 0x0a, 0x05, 0x00, 0x00, 0x19, 0x09, 0x09, 0x16, 0x0a, 0x0a, 0x1c, + 0x1d, 0x02, 0x11, 0x08, 0x0c, 0x15, 0x0c, 0x5f, 0x59, 0x19, 0x11, + 0x15, 0x15, 0x0a, 0x17, 0x03, 0x0a, 0x12, 0x00, 0x3f, 0x3f, 0x12, + 0x39, 0x2f, 0x39, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x07, 0x27, 0x36, + 0x35, 0x34, 0x2b, 0x01, 0x11, 0x23, 0x11, 0x23, 0x22, 0x15, 0x14, + 0x17, 0x07, 0x26, 0x35, 0x10, 0x21, 0x33, 0x35, 0x33, 0x15, 0x33, + 0x20, 0x04, 0x5f, 0x13, 0x93, 0x0e, 0x9a, 0x68, 0xbe, 0x68, 0x99, + 0x0e, 0x93, 0x13, 0x01, 0x39, 0x60, 0xbe, 0x62, 0x01, 0x38, 0x03, + 0x4a, 0x42, 0x41, 0x1f, 0x38, 0x1d, 0x82, 0xfc, 0x43, 0x03, 0xbd, + 0x82, 0x1d, 0x38, 0x1f, 0x41, 0x42, 0x01, 0x10, 0xeb, 0xeb, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x87, 0xff, 0xf1, 0x04, 0x46, 0x05, 0xd8, + 0x00, 0x11, 0x00, 0x39, 0x40, 0x1b, 0x02, 0x00, 0x10, 0x10, 0x09, + 0x05, 0x0b, 0x0b, 0x12, 0x13, 0x0f, 0x0c, 0x0a, 0x01, 0x07, 0x0a, + 0x07, 0x50, 0x59, 0x04, 0x09, 0x02, 0x10, 0x0a, 0x0f, 0x02, 0x16, + 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x39, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x10, 0xc6, 0x32, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x25, 0x35, + 0x33, 0x11, 0x21, 0x07, 0x23, 0x11, 0x21, 0x11, 0x05, 0x15, 0x23, + 0x11, 0x21, 0x04, 0x46, 0xfe, 0x7b, 0xfe, 0xed, 0x65, 0xfe, 0xd6, + 0x4a, 0x18, 0x01, 0x8c, 0x01, 0x13, 0x65, 0x01, 0x85, 0x03, 0xae, + 0xfc, 0x43, 0x64, 0x1c, 0x03, 0x3d, 0x94, 0x01, 0x20, 0x01, 0x9e, + 0x64, 0x1b, 0xfe, 0xe1, 0x00, 0x01, 0x00, 0x36, 0xff, 0xec, 0x04, + 0x97, 0x04, 0x3e, 0x00, 0x24, 0x00, 0x4a, 0x40, 0x13, 0x09, 0x01, + 0x02, 0x02, 0x0e, 0x04, 0x13, 0x14, 0x14, 0x1c, 0x1c, 0x21, 0x17, + 0x04, 0x17, 0x25, 0x26, 0x1e, 0x19, 0xb8, 0x01, 0x0a, 0xb7, 0x59, + 0x1e, 0x16, 0x00, 0x13, 0x0f, 0x0b, 0x06, 0xb8, 0x01, 0x0a, 0xb5, + 0x59, 0x0b, 0x0f, 0x11, 0x02, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x09, 0x01, 0x21, 0x12, 0x11, 0x34, 0x23, + 0x22, 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x02, 0x07, + 0x17, 0x01, 0x21, 0x06, 0x02, 0x15, 0x14, 0x33, 0x32, 0x37, 0x17, + 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x37, 0x03, 0x66, 0xfd, + 0xd9, 0xfe, 0xf7, 0xee, 0x77, 0x1d, 0x38, 0x22, 0x42, 0x4b, 0x7c, + 0x7a, 0x36, 0x24, 0x05, 0x02, 0x20, 0x01, 0x0d, 0x6f, 0x79, 0x77, + 0x1d, 0x38, 0x22, 0x42, 0x4b, 0x7c, 0x7a, 0x35, 0x22, 0x03, 0x1f, + 0xfc, 0xe1, 0x01, 0x50, 0x01, 0x69, 0xe7, 0x0e, 0x99, 0x13, 0x98, + 0xb5, 0x75, 0xfe, 0xee, 0x49, 0x02, 0x03, 0x1b, 0x96, 0xfe, 0x8c, + 0xbf, 0xe7, 0x0e, 0x99, 0x13, 0x98, 0xb5, 0x8c, 0x01, 0x16, 0x42, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x82, 0xfe, 0x57, 0x04, 0x54, 0x04, + 0x4e, 0x00, 0x20, 0x00, 0x2c, 0x00, 0x48, 0x40, 0x0f, 0x0e, 0x27, + 0x27, 0x00, 0x17, 0x16, 0x16, 0x21, 0x08, 0x00, 0x08, 0x2d, 0x2e, + 0x1b, 0x12, 0xb8, 0x01, 0x0a, 0x40, 0x13, 0x59, 0x1b, 0x1b, 0x0b, + 0x17, 0x1c, 0x0b, 0x2a, 0x50, 0x59, 0x0e, 0x0b, 0x15, 0x05, 0x24, + 0x50, 0x59, 0x05, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x34, 0x12, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x11, + 0x10, 0x02, 0x23, 0x22, 0x26, 0x27, 0x1e, 0x02, 0x33, 0x32, 0x1e, + 0x01, 0x17, 0x23, 0x2e, 0x02, 0x23, 0x22, 0x2e, 0x03, 0x01, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x82, + 0x36, 0x74, 0xbc, 0x88, 0xf8, 0xec, 0xf6, 0xf3, 0x70, 0xa4, 0x3e, + 0x06, 0x5d, 0xae, 0xb0, 0x98, 0x87, 0x40, 0x07, 0x9f, 0x06, 0x24, + 0x4f, 0x8f, 0x85, 0xb8, 0x79, 0x43, 0x1e, 0x03, 0x15, 0x87, 0x9d, + 0x9f, 0x8e, 0x8a, 0x98, 0xa3, 0x8c, 0x01, 0x61, 0xf1, 0x01, 0x08, + 0xa2, 0x52, 0xfe, 0xf2, 0xfe, 0xe8, 0xfe, 0xee, 0xfe, 0xea, 0x4d, + 0x4e, 0x87, 0xa1, 0x49, 0x24, 0x55, 0x5a, 0x16, 0x16, 0x09, 0x3e, + 0x6b, 0x9d, 0xc6, 0x01, 0x90, 0xda, 0xc7, 0xca, 0xd7, 0xd0, 0xd3, + 0xcb, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x38, 0x04, 0x4e, + 0x12, 0x06, 0x00, 0x46, 0x00, 0x00, 0xff, 0xff, 0x00, 0x75, 0xfe, + 0x57, 0x03, 0x44, 0x05, 0xcc, 0x12, 0x06, 0x00, 0x4d, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x05, 0x5a, 0x12, + 0x06, 0x04, 0x98, 0x00, 0x00, 0x00, 0x01, 0x00, 0x82, 0x00, 0x00, + 0x04, 0x37, 0x04, 0x3a, 0x00, 0x13, 0x00, 0x51, 0x40, 0x2f, 0x0d, + 0x10, 0x10, 0x0f, 0x04, 0x09, 0x00, 0x04, 0x00, 0x14, 0x15, 0x0d, + 0x10, 0x50, 0x59, 0xaf, 0x0d, 0xdf, 0x0d, 0xef, 0x0d, 0x03, 0x0f, + 0x0d, 0xcf, 0x0d, 0xdf, 0x0d, 0x03, 0x0b, 0x03, 0x0d, 0x0d, 0x01, + 0x07, 0x07, 0x0a, 0x50, 0x59, 0x07, 0x0f, 0x01, 0x12, 0x50, 0x59, + 0x01, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x32, 0x11, 0x33, 0x31, + 0x30, 0x29, 0x01, 0x22, 0x02, 0x11, 0x10, 0x00, 0x33, 0x21, 0x15, + 0x21, 0x22, 0x06, 0x15, 0x21, 0x15, 0x21, 0x10, 0x29, 0x01, 0x04, + 0x37, 0xfe, 0x1d, 0xe5, 0xed, 0x00, 0xff, 0xe4, 0x01, 0xd2, 0xfe, + 0x26, 0x8b, 0x97, 0x02, 0x7f, 0xfd, 0x81, 0x01, 0x23, 0x01, 0xd9, + 0x01, 0x0f, 0x01, 0x04, 0x01, 0x00, 0x01, 0x27, 0x8c, 0xae, 0x9b, + 0x84, 0xfe, 0xab, 0x00, 0x01, 0x00, 0x96, 0x00, 0x00, 0x04, 0x4b, + 0x04, 0x3a, 0x00, 0x14, 0x00, 0x53, 0x40, 0x30, 0x0b, 0x05, 0x00, + 0x10, 0x07, 0x04, 0x04, 0x10, 0x00, 0x10, 0x15, 0x16, 0x06, 0x05, + 0x50, 0x59, 0xaf, 0x06, 0xdf, 0x06, 0xef, 0x06, 0x03, 0x0f, 0x06, + 0xcf, 0x06, 0xdf, 0x06, 0x03, 0x0b, 0x03, 0x06, 0x06, 0x14, 0x0c, + 0x14, 0x00, 0x50, 0x59, 0x14, 0x15, 0x0c, 0x0b, 0x50, 0x59, 0x0c, + 0x0f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x32, 0x31, + 0x30, 0x37, 0x21, 0x32, 0x36, 0x35, 0x21, 0x35, 0x21, 0x34, 0x26, + 0x23, 0x21, 0x35, 0x21, 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, 0x21, + 0x96, 0x01, 0xd9, 0x8e, 0x95, 0xfd, 0x81, 0x02, 0x7f, 0x94, 0x8e, + 0xfe, 0x26, 0x01, 0xdc, 0xec, 0xed, 0xfc, 0xe0, 0xfe, 0x27, 0x8c, + 0xae, 0xa7, 0x84, 0xa2, 0xa7, 0x8c, 0xfe, 0xf5, 0xfe, 0xfa, 0xfe, + 0xff, 0xfe, 0xd8, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x5f, 0x05, 0x45, 0x12, 0x06, 0x00, 0xa0, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xb9, 0xfe, 0x57, 0x04, 0x42, 0x05, 0xcc, 0x12, 0x06, + 0x00, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, + 0x76, 0x05, 0x5a, 0x12, 0x06, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x87, 0x00, 0x00, 0x04, 0x45, 0x05, 0x45, 0x00, 0x0c, 0x00, + 0x40, 0x40, 0x1f, 0x08, 0x05, 0x05, 0x06, 0x03, 0x02, 0x09, 0x0a, + 0x00, 0x00, 0x0c, 0x0c, 0x09, 0x06, 0x03, 0x0d, 0x0e, 0x01, 0x04, + 0x04, 0x07, 0x09, 0x03, 0x03, 0x06, 0x0a, 0x07, 0x03, 0x00, 0x06, + 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, + 0x11, 0x03, 0x23, 0x03, 0x11, 0x23, 0x11, 0x33, 0x1b, 0x01, 0x33, + 0x11, 0x03, 0x99, 0xe8, 0x86, 0xfa, 0xaa, 0xfb, 0xed, 0xe1, 0xf5, + 0x04, 0x90, 0xfd, 0xdc, 0x02, 0x24, 0xfb, 0x70, 0x05, 0x45, 0xfd, + 0xe7, 0x02, 0x19, 0xfa, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x66, 0xfe, 0x57, 0x04, 0x67, 0x04, 0x3a, 0x00, 0x14, 0x00, 0x3c, + 0x40, 0x1e, 0x0c, 0x09, 0x09, 0x0a, 0x05, 0x04, 0x0f, 0x12, 0x00, + 0x00, 0x14, 0x14, 0x0f, 0x0a, 0x03, 0x15, 0x16, 0x03, 0x06, 0x06, + 0x12, 0x0b, 0x0f, 0x0a, 0x1c, 0x0f, 0x05, 0x15, 0x00, 0x15, 0x00, + 0x3f, 0x3f, 0x33, 0x3f, 0x3f, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x3f, 0x01, 0x01, 0x23, + 0x01, 0x16, 0x15, 0x11, 0x23, 0x11, 0x33, 0x13, 0x16, 0x17, 0x36, + 0x37, 0x13, 0x33, 0x11, 0x03, 0xce, 0x03, 0x05, 0xfe, 0xe3, 0x99, + 0xfe, 0xda, 0x06, 0x9a, 0xfa, 0xc8, 0x35, 0x0f, 0x16, 0x2e, 0xc8, + 0xef, 0x02, 0xd4, 0x72, 0x73, 0xfc, 0x47, 0x03, 0xb7, 0x9c, 0x47, + 0xfb, 0x83, 0x05, 0xe3, 0xfd, 0x7f, 0xa9, 0x89, 0x9f, 0x93, 0x02, + 0x81, 0xfb, 0xc6, 0x00, 0x00, 0x00, 0x02, 0x00, 0x4b, 0xfe, 0x57, + 0x04, 0x54, 0x04, 0x4f, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4a, 0x40, + 0x27, 0x22, 0x0a, 0x0e, 0x0e, 0x13, 0x0f, 0x1b, 0x00, 0x00, 0x0c, + 0x0f, 0x03, 0x28, 0x29, 0x17, 0x1e, 0x50, 0x59, 0x17, 0x10, 0x0d, + 0x11, 0x12, 0x11, 0x50, 0x59, 0x0a, 0x12, 0x12, 0x03, 0x0f, 0x1c, + 0x03, 0x25, 0x50, 0x59, 0x06, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x14, 0x02, 0x23, + 0x22, 0x26, 0x27, 0x23, 0x16, 0x1d, 0x01, 0x21, 0x15, 0x21, 0x15, + 0x23, 0x35, 0x23, 0x35, 0x33, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, + 0x12, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x04, 0x54, 0xd2, 0xbb, 0x6e, 0xa0, 0x40, 0x04, + 0x04, 0x01, 0x3f, 0xfe, 0xc1, 0xb4, 0x7a, 0x7a, 0xe2, 0xd1, 0x8c, + 0xdb, 0x75, 0xc1, 0x9b, 0x8c, 0x7e, 0x75, 0x37, 0xa8, 0x58, 0x75, + 0x6e, 0x02, 0x04, 0xf8, 0xfe, 0xe0, 0x44, 0x4b, 0x3c, 0x3f, 0x7d, + 0x87, 0xa5, 0xa5, 0x87, 0x02, 0xc2, 0xfa, 0x01, 0x10, 0x90, 0xfe, + 0xf5, 0xa8, 0xd6, 0xe8, 0xb9, 0xd0, 0xfe, 0xc3, 0x45, 0x4e, 0xc1, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x57, 0xff, 0xec, 0x04, 0x5c, + 0x05, 0x5a, 0x12, 0x06, 0x01, 0x48, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x71, 0xff, 0xec, 0x04, 0x76, 0x05, 0x5a, 0x12, 0x26, 0x00, 0x26, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x11, 0x00, 0x3e, 0x02, 0x13, 0x00, + 0x19, 0x40, 0x11, 0x01, 0x18, 0x40, 0x10, 0x11, 0x48, 0x18, 0x40, + 0x0d, 0x0d, 0x48, 0x18, 0x40, 0x09, 0x09, 0x48, 0x18, 0x00, 0x11, + 0x2b, 0x2b, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x57, 0xff, 0xec, + 0x04, 0x5c, 0x05, 0x5a, 0x12, 0x26, 0x01, 0x48, 0x00, 0x00, 0x11, + 0x07, 0x00, 0x11, 0xff, 0xd4, 0x02, 0x13, 0x00, 0x19, 0x40, 0x11, + 0x01, 0x18, 0x40, 0x10, 0x11, 0x48, 0x18, 0x40, 0x0d, 0x0d, 0x48, + 0x18, 0x40, 0x09, 0x09, 0x48, 0x18, 0x00, 0x11, 0x2b, 0x2b, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, 0x00, 0x43, + 0xff, 0xb9, 0x00, 0xf4, 0x00, 0x15, 0xb4, 0x01, 0x11, 0x05, 0x26, + 0x01, 0xb8, 0xff, 0x9d, 0xb4, 0x0e, 0x11, 0x01, 0x0b, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x62, 0x06, 0x5d, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, + 0x11, 0x07, 0x00, 0x6a, 0x00, 0x14, 0x00, 0xe2, 0x00, 0x19, 0xb6, + 0x02, 0x01, 0x0c, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xf8, 0xb4, + 0x10, 0x0e, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xec, 0x04, 0x8a, + 0x05, 0x45, 0x00, 0x22, 0x00, 0x58, 0x40, 0x2f, 0x03, 0x0a, 0x19, + 0x17, 0x11, 0x11, 0x14, 0x12, 0x0a, 0x20, 0x12, 0x20, 0x23, 0x24, + 0x1c, 0x0e, 0x5f, 0x59, 0x00, 0x1c, 0xb0, 0x1c, 0x02, 0x0c, 0x03, + 0x1c, 0x1c, 0x00, 0x15, 0x18, 0x14, 0x15, 0x14, 0x5f, 0x59, 0x15, + 0x03, 0x12, 0x12, 0x00, 0x07, 0x5f, 0x59, 0x04, 0x04, 0x00, 0x13, + 0x00, 0x3f, 0x32, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x12, 0x39, 0x31, 0x30, 0x05, 0x22, 0x26, 0x27, 0x37, + 0x1e, 0x01, 0x33, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x26, 0x23, 0x22, + 0x07, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x03, 0x65, 0x4e, + 0x82, 0x21, 0x65, 0x1d, 0x41, 0x2d, 0x2c, 0x3c, 0x50, 0x60, 0x73, + 0xc5, 0xbe, 0xfe, 0xda, 0x03, 0x37, 0xfe, 0xad, 0x81, 0x87, 0x38, + 0xb6, 0xb0, 0x9a, 0x14, 0x50, 0x3e, 0x72, 0x33, 0x33, 0x66, 0x6e, + 0xc7, 0x7a, 0x6d, 0x32, 0xfd, 0x2a, 0x04, 0xa9, 0x9c, 0x9c, 0xfe, + 0xbe, 0x24, 0x17, 0xb1, 0xbc, 0xe0, 0xab, 0xbe, 0xff, 0xff, 0x00, + 0xe0, 0x00, 0x00, 0x04, 0x5b, 0x06, 0xa9, 0x12, 0x26, 0x03, 0x45, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x78, 0x00, 0xf5, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x06, 0x05, 0x26, 0x01, 0x40, 0x06, 0x09, + 0x01, 0x03, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x71, 0xff, 0xec, 0x04, 0x76, 0x05, 0x5a, + 0x00, 0x18, 0x00, 0x92, 0x40, 0x60, 0x18, 0x06, 0x0b, 0x16, 0x00, + 0x00, 0x0b, 0x10, 0x0f, 0x0f, 0x05, 0x06, 0x0b, 0x06, 0x19, 0x1a, + 0x00, 0x0d, 0x10, 0x0d, 0x20, 0x0d, 0x03, 0x0f, 0x08, 0x1f, 0x08, + 0x02, 0x0d, 0x05, 0x16, 0x00, 0x60, 0x59, 0x2f, 0x16, 0x5f, 0x16, + 0x02, 0x0f, 0x16, 0x8f, 0x16, 0xaf, 0x16, 0xbf, 0x16, 0xdf, 0x16, + 0xef, 0x16, 0xff, 0x16, 0x07, 0x17, 0x03, 0x16, 0x16, 0x08, 0x0d, + 0x0d, 0x13, 0x5f, 0x59, 0x10, 0x10, 0x0d, 0x04, 0x08, 0x02, 0x5f, + 0x59, 0x10, 0x05, 0x20, 0x05, 0x30, 0x05, 0x60, 0x05, 0x70, 0x05, + 0x05, 0x30, 0x05, 0x80, 0x05, 0xd0, 0x05, 0xe0, 0x05, 0x04, 0x05, + 0x05, 0x08, 0x13, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x71, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x71, 0x2b, 0x00, 0x5f, 0x5e, 0x5d, 0x5d, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x12, 0x21, 0x32, + 0x36, 0x37, 0x17, 0x02, 0x21, 0x20, 0x00, 0x11, 0x10, 0x21, 0x20, + 0x13, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x21, 0x15, 0x01, + 0x3b, 0x15, 0x01, 0x45, 0x65, 0xa4, 0x39, 0x9f, 0x95, 0xfe, 0xb2, + 0xfe, 0xf9, 0xfe, 0xe5, 0x02, 0x18, 0x01, 0x53, 0x7f, 0xa8, 0x25, + 0x9d, 0x67, 0xa0, 0xa5, 0x0a, 0x01, 0xab, 0x02, 0x61, 0xfe, 0x26, + 0x89, 0x91, 0x41, 0xfe, 0x8c, 0x01, 0x6a, 0x01, 0x53, 0x02, 0xb1, + 0xfe, 0xb1, 0x41, 0x71, 0x83, 0xe3, 0xe9, 0x91, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x4f, 0xff, 0xec, 0x04, 0x68, 0x05, 0x5a, 0x12, 0x06, + 0x00, 0x36, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, 0x04, + 0x01, 0x05, 0x45, 0x12, 0x06, 0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x06, 0x5d, 0x12, 0x26, 0x00, + 0x2c, 0x00, 0x00, 0x11, 0x07, 0x00, 0x6a, 0x00, 0x01, 0x00, 0xe2, + 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x0c, 0x05, 0x26, 0x02, 0x01, + 0x01, 0x10, 0x0e, 0x00, 0x01, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb0, 0xff, + 0xec, 0x03, 0xda, 0x05, 0x45, 0x12, 0x06, 0x00, 0x2d, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0xff, 0xf0, 0x04, 0xb1, 0x05, 0x45, 0x00, + 0x1a, 0x00, 0x23, 0x00, 0x4c, 0x40, 0x29, 0x06, 0x15, 0x17, 0x20, + 0x20, 0x04, 0x1b, 0x00, 0x04, 0x15, 0x0d, 0x00, 0x04, 0x25, 0x24, + 0x17, 0x1f, 0x60, 0x59, 0x17, 0x17, 0x04, 0x15, 0x15, 0x06, 0x60, + 0x59, 0x15, 0x03, 0x0b, 0x10, 0x60, 0x59, 0x0b, 0x13, 0x04, 0x20, + 0x60, 0x59, 0x04, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x23, + 0x03, 0x0a, 0x01, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x3e, 0x01, 0x12, 0x13, 0x21, 0x11, 0x33, 0x32, 0x16, 0x07, 0x34, + 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, 0x04, 0xb1, 0xcc, 0xa1, + 0xe1, 0xb5, 0x1d, 0x16, 0x3f, 0x73, 0x78, 0x35, 0x1c, 0x13, 0x20, + 0x3a, 0x39, 0x27, 0x20, 0x36, 0x01, 0xeb, 0x2a, 0xab, 0xce, 0xa2, + 0x76, 0x5a, 0x31, 0x39, 0x5a, 0x6e, 0x01, 0x89, 0xad, 0xdc, 0x04, + 0xb9, 0xfe, 0x54, 0xfe, 0xae, 0xfe, 0xb7, 0x82, 0x0a, 0x84, 0x07, + 0x41, 0x9f, 0x01, 0x15, 0x02, 0xd9, 0xfd, 0xc0, 0xcd, 0xb1, 0x6c, + 0x86, 0xfe, 0x14, 0x88, 0x00, 0x00, 0x02, 0x00, 0x47, 0x00, 0x00, + 0x04, 0xb1, 0x05, 0x45, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x4d, 0x40, + 0x26, 0x01, 0x18, 0x18, 0x11, 0x09, 0x09, 0x0d, 0x13, 0x05, 0x10, + 0x0c, 0x0c, 0x0d, 0x0d, 0x05, 0x1c, 0x1d, 0x17, 0x0b, 0x10, 0x0b, + 0x60, 0x59, 0x01, 0x10, 0x10, 0x09, 0x00, 0x09, 0x18, 0x60, 0x59, + 0x0d, 0x09, 0x12, 0x0e, 0x00, 0x03, 0x00, 0x3f, 0x32, 0x3f, 0x33, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x21, + 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x01, 0x34, 0x26, 0x2b, + 0x01, 0x11, 0x33, 0x32, 0x36, 0x02, 0xdc, 0x5c, 0xab, 0xce, 0xcc, + 0xa1, 0xfe, 0xed, 0xfe, 0xb7, 0xa1, 0xa1, 0x01, 0x49, 0x01, 0xde, + 0x76, 0x5a, 0x63, 0x6b, 0x5a, 0x6e, 0x05, 0x45, 0xfd, 0xc0, 0xcd, + 0xaf, 0xad, 0xdc, 0x02, 0x79, 0xfd, 0x87, 0x05, 0x45, 0xfd, 0xc0, + 0x02, 0x40, 0xfc, 0x42, 0x6c, 0x86, 0xfe, 0x14, 0x88, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8a, 0x05, 0x45, + 0x00, 0x16, 0x00, 0x4a, 0x40, 0x27, 0x0f, 0x0d, 0x07, 0x07, 0x0a, + 0x08, 0x00, 0x16, 0x08, 0x16, 0x17, 0x18, 0x12, 0x04, 0x5f, 0x59, + 0x80, 0x12, 0x01, 0x00, 0x12, 0x01, 0x0c, 0x03, 0x12, 0x12, 0x00, + 0x0b, 0x0e, 0x0a, 0x0b, 0x0a, 0x5f, 0x59, 0x0b, 0x03, 0x08, 0x00, + 0x12, 0x00, 0x3f, 0x32, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x07, 0x11, 0x23, 0x11, + 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x3e, 0x01, 0x33, 0x32, 0x16, + 0x15, 0x11, 0x03, 0xcc, 0x50, 0x60, 0x73, 0xc5, 0xbe, 0xfe, 0xda, + 0x03, 0x37, 0xfe, 0xad, 0x81, 0x87, 0x38, 0xb6, 0xb0, 0x02, 0x21, + 0x7a, 0x6d, 0x32, 0xfd, 0x2a, 0x04, 0xa9, 0x9c, 0x9c, 0xfe, 0xbe, + 0x24, 0x17, 0xb1, 0xbc, 0xfd, 0xcb, 0xff, 0xff, 0x00, 0xa8, 0x00, + 0x00, 0x04, 0x9d, 0x06, 0xa9, 0x12, 0x26, 0x03, 0xca, 0x00, 0x00, + 0x11, 0x07, 0x00, 0x76, 0x00, 0x57, 0x00, 0xf5, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x14, 0x05, 0x26, 0x01, 0x1a, 0x14, 0x17, 0x00, 0x0c, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x06, 0x9c, 0x12, 0x26, + 0x03, 0xc8, 0x00, 0x00, 0x11, 0x07, 0x09, 0x61, 0x00, 0xcd, 0x00, + 0x00, 0x00, 0x15, 0xb4, 0x01, 0x13, 0x05, 0x26, 0x01, 0xb8, 0xff, + 0xa5, 0xb4, 0x10, 0x13, 0x01, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x14, 0xff, 0xec, 0x04, 0xb6, + 0x06, 0xa9, 0x12, 0x26, 0x03, 0xd3, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x05, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x15, + 0x05, 0x26, 0x01, 0x0f, 0x17, 0x1f, 0x0c, 0x10, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9c, + 0xfe, 0x57, 0x04, 0x30, 0x05, 0x45, 0x00, 0x0b, 0x00, 0x34, 0x40, + 0x19, 0x0b, 0x00, 0x00, 0x02, 0x06, 0x09, 0x05, 0x02, 0x02, 0x09, + 0x0c, 0x0d, 0x07, 0x03, 0x03, 0x0a, 0x02, 0x02, 0x05, 0x5f, 0x59, + 0x02, 0x12, 0x00, 0x1b, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, + 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x02, 0x0c, 0xfe, + 0x90, 0xbf, 0x02, 0x16, 0xbf, 0xfe, 0x90, 0xfe, 0x57, 0x01, 0xa9, + 0x05, 0x45, 0xfb, 0x5b, 0x04, 0xa5, 0xfa, 0xbb, 0xfe, 0x57, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x05, 0x45, + 0x12, 0x06, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x94, 0x05, 0x45, 0x00, 0x0c, 0x00, 0x15, 0x00, 0x47, + 0x40, 0x25, 0x06, 0x00, 0x09, 0x12, 0x12, 0x04, 0x0d, 0x00, 0x04, + 0x00, 0x16, 0x17, 0x09, 0x11, 0x5f, 0x59, 0x00, 0x09, 0x01, 0x1e, + 0x03, 0x09, 0x09, 0x04, 0x05, 0x05, 0x08, 0x5f, 0x59, 0x05, 0x03, + 0x04, 0x12, 0x5f, 0x59, 0x04, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x21, 0x11, + 0x21, 0x15, 0x21, 0x11, 0x21, 0x32, 0x04, 0x07, 0x34, 0x26, 0x23, + 0x21, 0x11, 0x21, 0x32, 0x36, 0x04, 0x94, 0xff, 0xe6, 0xfd, 0xf3, + 0x03, 0x96, 0xfd, 0x29, 0x01, 0x42, 0xf2, 0x00, 0xff, 0xc0, 0xa4, + 0xa4, 0xfe, 0xd5, 0x01, 0x33, 0xa4, 0x9c, 0x01, 0x89, 0xb7, 0xd2, + 0x05, 0x45, 0x9c, 0xfe, 0x66, 0xcc, 0xc0, 0x79, 0x73, 0xfe, 0x28, + 0x70, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, + 0x80, 0x05, 0x45, 0x12, 0x06, 0x00, 0x25, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xe0, 0x00, 0x00, 0x04, 0x5b, 0x05, 0x45, 0x12, 0x06, 0x03, + 0x45, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0xfe, 0x68, 0x04, 0xaf, + 0x05, 0x45, 0x00, 0x0e, 0x00, 0x15, 0x00, 0x49, 0x40, 0x24, 0x15, + 0x00, 0x10, 0x0d, 0x14, 0x09, 0x09, 0x0d, 0x00, 0x03, 0x02, 0x06, + 0x07, 0x03, 0x02, 0x07, 0x02, 0x16, 0x17, 0x0d, 0x10, 0x5f, 0x59, + 0x0d, 0x03, 0x14, 0x00, 0x08, 0x05, 0x08, 0x5f, 0x59, 0x05, 0x12, + 0x07, 0x02, 0xb8, 0x01, 0x08, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, + 0x23, 0x11, 0x33, 0x36, 0x12, 0x37, 0x13, 0x21, 0x07, 0x21, 0x03, + 0x06, 0x02, 0x07, 0x21, 0x04, 0x00, 0xaf, 0xa0, 0xfc, 0x96, 0xa0, + 0x77, 0x5d, 0x69, 0x1f, 0x43, 0x02, 0x5c, 0xa6, 0xfe, 0xd9, 0x31, + 0x21, 0x59, 0x49, 0x02, 0x1b, 0x96, 0xfd, 0xd2, 0x01, 0x98, 0xfe, + 0x68, 0x02, 0x2e, 0x74, 0x01, 0x49, 0xf4, 0x01, 0xfe, 0x96, 0xfe, + 0x86, 0xf3, 0xfe, 0xc9, 0x75, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, + 0x04, 0x62, 0x05, 0x45, 0x12, 0x06, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x05, 0x45, 0x00, 0x1f, + 0x00, 0x82, 0x40, 0x47, 0x19, 0x1c, 0x1a, 0x1f, 0x03, 0x06, 0x00, + 0x05, 0x11, 0x1f, 0x1f, 0x0e, 0x00, 0x15, 0x16, 0x16, 0x1b, 0x1a, + 0x0a, 0x09, 0x09, 0x04, 0x05, 0x00, 0x05, 0x1a, 0x03, 0x21, 0x20, + 0x19, 0x06, 0x1c, 0x03, 0x06, 0x03, 0x01, 0x11, 0x0e, 0x00, 0x0e, + 0x10, 0x0e, 0x20, 0x0e, 0x03, 0x0f, 0x05, 0x1e, 0x01, 0x0e, 0x01, + 0x60, 0x59, 0x1f, 0x0e, 0x01, 0x3f, 0x0e, 0xef, 0x0e, 0x02, 0x0e, + 0x0e, 0x15, 0x0f, 0x09, 0x03, 0x1b, 0x05, 0x00, 0x12, 0x00, 0x3f, + 0x32, 0x32, 0x3f, 0x33, 0x33, 0x39, 0x2f, 0x5d, 0x71, 0x2b, 0x11, + 0x00, 0x33, 0x5f, 0x5e, 0x5d, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, + 0x21, 0x11, 0x2f, 0x01, 0x03, 0x23, 0x01, 0x26, 0x27, 0x03, 0x33, + 0x13, 0x1e, 0x01, 0x17, 0x11, 0x33, 0x11, 0x3e, 0x01, 0x37, 0x13, + 0x33, 0x03, 0x06, 0x07, 0x01, 0x23, 0x03, 0x0f, 0x01, 0x11, 0x02, + 0x16, 0x19, 0x4d, 0xf7, 0xb9, 0x01, 0x3a, 0x3d, 0x2b, 0xc9, 0xad, + 0x94, 0x29, 0x5f, 0x44, 0xa0, 0x44, 0x5f, 0x29, 0x94, 0xad, 0xc9, + 0x28, 0x41, 0x01, 0x3b, 0xb9, 0xf7, 0x10, 0x56, 0x02, 0x5f, 0x06, + 0x14, 0xfd, 0x87, 0x02, 0xcf, 0x3d, 0x61, 0x01, 0xd8, 0xfe, 0x7e, + 0x67, 0x62, 0x10, 0x02, 0x5b, 0xfd, 0xa5, 0x10, 0x62, 0x67, 0x01, + 0x82, 0xfe, 0x28, 0x5c, 0x41, 0xfd, 0x30, 0x02, 0x79, 0x05, 0x15, + 0xfd, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0xff, 0xec, + 0x04, 0x70, 0x05, 0x59, 0x00, 0x28, 0x00, 0x7e, 0x40, 0x4b, 0x22, + 0x0d, 0x12, 0x1f, 0x18, 0x19, 0x19, 0x0d, 0x1f, 0x03, 0x25, 0x04, + 0x03, 0x09, 0x25, 0x03, 0x25, 0x29, 0x2a, 0x22, 0x0e, 0x0d, 0x0e, + 0x0d, 0x60, 0x59, 0x2f, 0x0e, 0x5f, 0x0e, 0x02, 0x8f, 0x0e, 0xaf, + 0x0e, 0xbf, 0x0e, 0xdf, 0x0e, 0xff, 0x0e, 0x05, 0x0e, 0x0e, 0x00, + 0x1c, 0x0f, 0x18, 0x01, 0x17, 0x03, 0x18, 0x18, 0x1c, 0x1c, 0x15, + 0x5f, 0x59, 0x1c, 0x04, 0x00, 0x06, 0x5f, 0x59, 0x80, 0x04, 0xd0, + 0x04, 0xe0, 0x04, 0x03, 0x04, 0x04, 0x00, 0x13, 0x00, 0x3f, 0x32, + 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x2f, 0x5d, 0x71, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x31, 0x30, 0x05, 0x22, 0x24, 0x27, 0x37, 0x12, 0x21, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x24, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x01, 0x02, + 0x6d, 0xcb, 0xfe, 0xf6, 0x55, 0xa5, 0x77, 0x01, 0x07, 0x99, 0xb0, + 0xc0, 0xca, 0x47, 0x47, 0xb4, 0xae, 0x98, 0x80, 0x7e, 0xb0, 0x32, + 0xaf, 0x46, 0x01, 0x08, 0xc8, 0xd3, 0xfd, 0x90, 0x88, 0x94, 0xae, + 0x7d, 0xec, 0x14, 0xa2, 0xba, 0x4d, 0xfe, 0xf0, 0x8a, 0x75, 0x7a, + 0x72, 0x94, 0x7a, 0x69, 0x65, 0x72, 0x76, 0x81, 0x3d, 0xad, 0xa8, + 0xc2, 0x9f, 0x76, 0x9f, 0x21, 0x16, 0xa9, 0x7c, 0x79, 0xbb, 0x67, + 0x00, 0x01, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x45, 0x00, + 0x0d, 0x00, 0x44, 0x40, 0x26, 0x0d, 0x02, 0x02, 0x01, 0x06, 0x09, + 0x09, 0x08, 0x01, 0x08, 0x0e, 0x0f, 0x8c, 0x0c, 0x01, 0x7a, 0x0c, + 0x01, 0x69, 0x0c, 0x01, 0x0c, 0x06, 0x01, 0x03, 0x09, 0x83, 0x05, + 0x01, 0x75, 0x05, 0x01, 0x66, 0x05, 0x01, 0x05, 0x00, 0x12, 0x00, + 0x3f, 0x32, 0x5d, 0x5d, 0x5d, 0x32, 0x3f, 0x33, 0x33, 0x5d, 0x5d, + 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, 0x14, 0x07, + 0x01, 0x33, 0x11, 0x23, 0x11, 0x34, 0x37, 0x01, 0xa2, 0xac, 0x12, + 0x02, 0x10, 0xde, 0xaa, 0x10, 0xfd, 0xf8, 0x05, 0x45, 0xfc, 0xa0, + 0x82, 0x90, 0x04, 0x72, 0xfa, 0xbb, 0x03, 0x6c, 0x52, 0xac, 0xfb, + 0x96, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, + 0x06, 0xa9, 0x12, 0x26, 0x03, 0xc8, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x05, 0xff, 0xee, 0x00, 0xf5, 0x00, 0x15, 0xb4, 0x01, 0x0e, 0x05, + 0x26, 0x01, 0xb8, 0xff, 0xfc, 0xb4, 0x10, 0x18, 0x00, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x01, 0x00, 0xa8, + 0x00, 0x00, 0x04, 0x9d, 0x05, 0x45, 0x00, 0x13, 0x00, 0x50, 0x40, + 0x2a, 0x0b, 0x0e, 0x0c, 0x12, 0x06, 0x07, 0x07, 0x0d, 0x0c, 0x02, + 0x12, 0x12, 0x13, 0x0c, 0x13, 0x15, 0x14, 0x00, 0x0b, 0x10, 0x0b, + 0x20, 0x0b, 0x03, 0x0a, 0x05, 0x0b, 0x0e, 0x02, 0x11, 0x02, 0x11, + 0x5f, 0x59, 0x02, 0x02, 0x13, 0x0c, 0x12, 0x06, 0x00, 0x03, 0x00, + 0x3f, 0x32, 0x3f, 0x33, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x39, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x31, 0x30, 0x13, 0x33, 0x11, 0x32, 0x36, 0x37, 0x13, 0x33, 0x01, + 0x0e, 0x01, 0x07, 0x01, 0x23, 0x01, 0x0e, 0x01, 0x23, 0x11, 0x23, + 0xa8, 0xbf, 0x5d, 0x9e, 0x49, 0xfb, 0xca, 0xfe, 0xd8, 0x29, 0x48, + 0x37, 0x01, 0xfd, 0xde, 0xfe, 0x55, 0x24, 0x66, 0x23, 0xbf, 0x05, + 0x45, 0xfd, 0xb3, 0x65, 0x6d, 0x01, 0x7b, 0xfe, 0x52, 0x3c, 0x53, + 0x29, 0xfd, 0x21, 0x02, 0x87, 0x0f, 0x17, 0xfd, 0x9f, 0x00, 0x01, + 0xff, 0xfe, 0xff, 0xf0, 0x04, 0x5d, 0x05, 0x45, 0x00, 0x14, 0x00, + 0x31, 0x40, 0x18, 0x01, 0x11, 0x11, 0x08, 0x14, 0x13, 0x13, 0x16, + 0x08, 0x15, 0x13, 0x12, 0x11, 0x01, 0x5f, 0x59, 0x11, 0x03, 0x06, + 0x0b, 0x5f, 0x59, 0x06, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x01, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x03, 0x0a, 0x01, + 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x12, + 0x37, 0x13, 0x21, 0x11, 0x23, 0x03, 0xa3, 0xfe, 0x86, 0x2b, 0x32, + 0x62, 0x92, 0x84, 0x3a, 0x1c, 0x13, 0x25, 0x3d, 0x4c, 0x3a, 0x36, + 0x1a, 0x3d, 0x02, 0xd7, 0xba, 0x04, 0xa5, 0xfe, 0xae, 0xfe, 0x75, + 0xfe, 0xaf, 0x87, 0x0a, 0x98, 0x07, 0x4c, 0xa3, 0x01, 0x1c, 0xcf, + 0x01, 0xe0, 0xfa, 0xbb, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, + 0x04, 0x4b, 0x05, 0x45, 0x12, 0x06, 0x00, 0x30, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x45, 0x12, 0x06, + 0x00, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, + 0x66, 0x05, 0x5a, 0x12, 0x06, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x05, 0x45, 0x00, 0x07, 0x00, + 0x23, 0x40, 0x11, 0x03, 0x04, 0x00, 0x07, 0x04, 0x07, 0x08, 0x09, + 0x05, 0x02, 0x5f, 0x59, 0x05, 0x03, 0x04, 0x00, 0x12, 0x00, 0x3f, + 0x32, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, + 0x03, 0x6b, 0xfd, 0xf6, 0xbf, 0x03, 0x88, 0x04, 0xa5, 0xfb, 0x5b, + 0x05, 0x45, 0xfa, 0xbb, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, + 0x5f, 0x05, 0x45, 0x12, 0x06, 0x00, 0x33, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x71, 0xff, 0xec, 0x04, 0x76, 0x05, 0x5a, 0x12, 0x06, 0x00, + 0x26, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4c, 0x00, 0x00, 0x04, 0x80, + 0x05, 0x45, 0x12, 0x06, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x14, 0xff, 0xec, 0x04, 0xb6, 0x05, 0x45, 0x00, 0x14, 0x00, 0x49, + 0x40, 0x28, 0x0e, 0x0b, 0x11, 0x03, 0x10, 0x0d, 0x03, 0x0c, 0x0f, + 0x10, 0x0c, 0x10, 0x15, 0x16, 0x20, 0x0e, 0x30, 0x0e, 0x02, 0x03, + 0x00, 0x0e, 0x10, 0x0e, 0x02, 0x0e, 0x04, 0x0e, 0x0b, 0x0b, 0x00, + 0x0f, 0x0c, 0x03, 0x00, 0x06, 0x5f, 0x59, 0x00, 0x13, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x5f, 0x5e, + 0x5d, 0x5f, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x12, 0x17, 0x39, 0x31, 0x30, 0x05, 0x22, 0x26, 0x27, + 0x37, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x37, 0x01, 0x33, 0x09, 0x01, + 0x33, 0x01, 0x0e, 0x02, 0x01, 0x10, 0x3e, 0x87, 0x2e, 0x51, 0x5e, + 0x48, 0x26, 0x3a, 0x36, 0x39, 0x4b, 0xfd, 0xe6, 0xd7, 0x01, 0xa1, + 0x01, 0x5d, 0xcd, 0xfd, 0xec, 0x4e, 0x6c, 0x7d, 0x14, 0x26, 0x20, + 0x90, 0x3b, 0x14, 0x35, 0x58, 0x90, 0x03, 0x8d, 0xfd, 0x1d, 0x02, + 0xe3, 0xfb, 0xf9, 0x98, 0x80, 0x3a, 0xff, 0xff, 0x00, 0x08, 0xff, + 0xf5, 0x04, 0xc5, 0x05, 0x4f, 0x12, 0x06, 0x03, 0x57, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa9, 0x05, 0x45, 0x12, + 0x06, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0xfe, 0x57, + 0x04, 0xb7, 0x05, 0x45, 0x00, 0x0b, 0x00, 0x32, 0x40, 0x19, 0x08, + 0x0b, 0x07, 0x04, 0x03, 0x00, 0x00, 0x04, 0x0b, 0x03, 0x0c, 0x0d, + 0x09, 0x05, 0x03, 0x0b, 0x07, 0x04, 0x07, 0x5f, 0x59, 0x04, 0x12, + 0x01, 0x1b, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, + 0x21, 0x11, 0x33, 0x11, 0x04, 0xb7, 0xb4, 0xfc, 0x7d, 0xbf, 0x02, + 0x0a, 0xbf, 0xa0, 0xfd, 0xb7, 0x01, 0xa9, 0x05, 0x45, 0xfb, 0x5b, + 0x04, 0xa5, 0xfb, 0x5b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5f, 0x00, + 0x00, 0x04, 0x31, 0x05, 0x45, 0x00, 0x11, 0x00, 0x2d, 0x40, 0x16, + 0x08, 0x07, 0x00, 0x0e, 0x0e, 0x0f, 0x07, 0x0f, 0x12, 0x13, 0x0b, + 0x03, 0x5f, 0x59, 0x0b, 0x0b, 0x07, 0x10, 0x12, 0x0e, 0x07, 0x03, + 0x00, 0x3f, 0x33, 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, + 0x32, 0x37, 0x11, 0x33, 0x11, 0x23, 0x03, 0x73, 0xa7, 0x95, 0x3e, + 0xce, 0xcc, 0xbe, 0xea, 0x77, 0xf5, 0xbe, 0xbe, 0x01, 0xde, 0x25, + 0x15, 0xbb, 0xb2, 0x02, 0x34, 0xfd, 0xe0, 0xe7, 0x31, 0x02, 0xd6, + 0xfa, 0xbb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0x00, 0x00, 0x04, + 0x73, 0x05, 0x45, 0x00, 0x0b, 0x00, 0x33, 0x40, 0x18, 0x07, 0x04, + 0x04, 0x0b, 0x03, 0x00, 0x08, 0x0b, 0x00, 0x0b, 0x0c, 0x0d, 0x09, + 0x05, 0x01, 0x03, 0x07, 0x03, 0x00, 0x03, 0x60, 0x59, 0x00, 0x12, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, + 0x21, 0x11, 0x33, 0x11, 0x59, 0xa2, 0x01, 0x1a, 0xa2, 0x01, 0x1a, + 0xa2, 0x05, 0x45, 0xfb, 0x47, 0x04, 0xb9, 0xfb, 0x47, 0x04, 0xb9, + 0xfa, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0xfe, 0x57, + 0x04, 0xcc, 0x05, 0x45, 0x00, 0x0f, 0x00, 0x3e, 0x40, 0x1e, 0x09, + 0x06, 0x06, 0x0d, 0x05, 0x02, 0x0f, 0x00, 0x00, 0x0a, 0x0d, 0x02, + 0x0d, 0x10, 0x11, 0x0b, 0x07, 0x03, 0x03, 0x0d, 0x09, 0x05, 0x02, + 0x05, 0x60, 0x59, 0x02, 0x12, 0x00, 0x1b, 0x00, 0x3f, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, + 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x04, 0x3e, + 0xfc, 0x18, 0xa2, 0x01, 0x01, 0xa2, 0x01, 0x01, 0xa2, 0x8e, 0xfe, + 0x57, 0x01, 0xa9, 0x05, 0x45, 0xfb, 0x47, 0x04, 0xb9, 0xfb, 0x47, + 0x04, 0xb9, 0xfb, 0x47, 0xfd, 0xcb, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x83, 0x05, 0x45, 0x00, 0x0c, 0x00, 0x15, + 0x00, 0x3d, 0x40, 0x1f, 0x00, 0x12, 0x12, 0x0a, 0x08, 0x0d, 0x04, + 0x08, 0x04, 0x16, 0x17, 0x00, 0x11, 0x5f, 0x59, 0x00, 0x00, 0x08, + 0x0b, 0x0b, 0x0a, 0x5f, 0x59, 0x0b, 0x03, 0x08, 0x12, 0x5f, 0x59, + 0x08, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x32, + 0x04, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x21, 0x35, 0x21, 0x01, + 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, 0x02, 0x0e, 0x84, + 0xf2, 0x00, 0xff, 0xff, 0xe6, 0xfe, 0xb1, 0xfe, 0xb1, 0x02, 0x0e, + 0x01, 0xb5, 0xa4, 0xa4, 0x6d, 0x75, 0xa4, 0x9c, 0x03, 0x0f, 0xcc, + 0xba, 0xb7, 0xd2, 0x04, 0xa9, 0x9c, 0xfc, 0x42, 0x79, 0x6f, 0xfe, + 0x28, 0x74, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x69, 0x00, 0x00, + 0x04, 0x63, 0x05, 0x45, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x16, 0x00, + 0x40, 0x40, 0x20, 0x0b, 0x00, 0x00, 0x04, 0x16, 0x07, 0x0f, 0x0f, + 0x04, 0x13, 0x16, 0x04, 0x16, 0x17, 0x18, 0x07, 0x0e, 0x60, 0x59, + 0x07, 0x07, 0x04, 0x14, 0x05, 0x03, 0x04, 0x0f, 0x60, 0x59, 0x13, + 0x04, 0x12, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, + 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x04, 0x2b, 0x01, 0x11, 0x33, 0x11, 0x33, 0x32, 0x16, 0x07, + 0x34, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x01, 0x11, 0x33, 0x11, + 0x03, 0x43, 0xfe, 0xff, 0xe4, 0xf5, 0xab, 0x3e, 0xf6, 0xfb, 0xa2, + 0xfe, 0xb8, 0x45, 0x4d, 0xa5, 0x9b, 0x01, 0x17, 0xab, 0x01, 0x89, + 0xb7, 0xd2, 0x05, 0x45, 0xfd, 0xc0, 0xc8, 0xb6, 0xf2, 0xfe, 0x14, + 0x7d, 0xfe, 0xf6, 0x05, 0x45, 0xfa, 0xbb, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x94, 0x05, 0x45, 0x00, 0x0a, + 0x00, 0x13, 0x00, 0x32, 0x40, 0x19, 0x07, 0x10, 0x10, 0x04, 0x0b, + 0x00, 0x04, 0x00, 0x14, 0x15, 0x07, 0x0f, 0x5f, 0x59, 0x07, 0x07, + 0x04, 0x05, 0x03, 0x04, 0x10, 0x5f, 0x59, 0x04, 0x12, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x06, 0x23, 0x21, 0x11, 0x33, 0x11, 0x21, 0x32, 0x04, 0x07, + 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, 0x04, 0x94, 0xff, + 0xe6, 0xfd, 0xf3, 0xbf, 0x01, 0x42, 0xf2, 0x00, 0xff, 0xc0, 0xa4, + 0xa4, 0xfe, 0xd5, 0x01, 0x33, 0xa4, 0x9c, 0x01, 0x89, 0xb7, 0xd2, + 0x05, 0x45, 0xfd, 0xca, 0xcc, 0xc0, 0x79, 0x73, 0xfe, 0x28, 0x70, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x57, 0xff, 0xec, 0x04, 0x5c, 0x05, + 0x5a, 0x00, 0x1b, 0x00, 0x9c, 0x40, 0x66, 0x08, 0x09, 0x01, 0x09, + 0x0e, 0x15, 0x14, 0x02, 0x1b, 0x1b, 0x0e, 0x14, 0x0e, 0x1c, 0x1d, + 0x0f, 0x11, 0x1f, 0x11, 0x2f, 0x11, 0x03, 0x00, 0x0c, 0x10, 0x0c, + 0x20, 0x0c, 0x03, 0x0d, 0x05, 0x01, 0x00, 0x60, 0x59, 0x0f, 0x01, + 0x01, 0x3f, 0x01, 0x5f, 0x01, 0x6f, 0x01, 0x03, 0x0f, 0x01, 0xbf, + 0x01, 0xef, 0x01, 0x03, 0x0c, 0x03, 0x01, 0x40, 0x24, 0x29, 0x48, + 0x01, 0x01, 0x11, 0x0c, 0x11, 0x18, 0x5f, 0x59, 0x00, 0x15, 0x30, + 0x15, 0x40, 0x15, 0x03, 0x00, 0x15, 0x50, 0x15, 0xa0, 0x15, 0xb0, + 0x15, 0xe0, 0x15, 0xf0, 0x15, 0x06, 0x0c, 0x03, 0x15, 0x15, 0x11, + 0x13, 0x08, 0x08, 0x0c, 0x0c, 0x05, 0x5f, 0x59, 0x0c, 0x04, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x33, 0x2f, 0x5f, + 0x5e, 0x5d, 0x71, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x5f, 0x5e, 0x5d, 0x71, 0x72, 0x2b, 0x00, 0x5f, 0x5e, 0x5d, 0x5d, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x21, 0x2e, + 0x01, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x20, 0x11, + 0x10, 0x00, 0x21, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, + 0x36, 0x37, 0x01, 0xe7, 0x01, 0xaa, 0x0a, 0x9f, 0xa5, 0x67, 0x9d, + 0x25, 0xa8, 0x44, 0xe8, 0xa6, 0x02, 0x18, 0xfe, 0xe5, 0xfe, 0xf9, + 0xa2, 0xf2, 0x4f, 0x9f, 0x38, 0xa5, 0x65, 0xa2, 0xac, 0x0b, 0x02, + 0x61, 0x91, 0xe2, 0xea, 0x83, 0x71, 0x41, 0xad, 0xa2, 0xfd, 0x4f, + 0xfe, 0xad, 0xfe, 0x96, 0xb4, 0xc0, 0x41, 0x90, 0x8a, 0xe8, 0xf2, + 0x00, 0x00, 0x02, 0x00, 0x56, 0xff, 0xec, 0x04, 0x97, 0x05, 0x5a, + 0x00, 0x12, 0x00, 0x1c, 0x00, 0x57, 0x40, 0x2f, 0x19, 0x0d, 0x06, + 0x06, 0x00, 0x09, 0x0c, 0x08, 0x08, 0x09, 0x13, 0x00, 0x09, 0x00, + 0x1d, 0x1e, 0x0c, 0x07, 0x60, 0x59, 0x0f, 0x0c, 0xbf, 0x0c, 0x02, + 0x0c, 0x03, 0x0c, 0x0c, 0x09, 0x0a, 0x10, 0x16, 0x60, 0x59, 0x10, + 0x04, 0x0a, 0x03, 0x09, 0x12, 0x03, 0x1b, 0x60, 0x59, 0x03, 0x13, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, 0x22, 0x02, + 0x03, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1a, 0x01, 0x33, + 0x32, 0x12, 0x03, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x33, + 0x32, 0x04, 0x97, 0xc8, 0xbe, 0xb2, 0xc4, 0x0b, 0x99, 0xa1, 0xa1, + 0x99, 0x0b, 0xc6, 0xb2, 0xbc, 0xc8, 0xac, 0x6a, 0x6f, 0x6d, 0x6a, + 0xd7, 0xd9, 0x02, 0xa9, 0xfe, 0xaa, 0xfe, 0x99, 0x01, 0x42, 0x01, + 0x33, 0xfd, 0x9f, 0x05, 0x45, 0xfd, 0xad, 0x01, 0x34, 0x01, 0x34, + 0xfe, 0xa8, 0xfe, 0xa7, 0x01, 0x16, 0x01, 0x09, 0xfe, 0xf7, 0xfe, + 0xea, 0xfd, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x34, 0x00, + 0x00, 0x04, 0x2b, 0x05, 0x45, 0x00, 0x0d, 0x00, 0x15, 0x00, 0x5d, + 0x40, 0x34, 0x0c, 0x01, 0x01, 0x0a, 0x0d, 0x00, 0x00, 0x0e, 0x04, + 0x12, 0x0a, 0x0a, 0x09, 0x04, 0x09, 0x16, 0x17, 0x01, 0x0c, 0x11, + 0x0c, 0x5f, 0x59, 0x4f, 0x11, 0x01, 0x0f, 0x11, 0x3f, 0x11, 0x6f, + 0x11, 0xbf, 0x11, 0xef, 0x11, 0x05, 0x0c, 0x03, 0x11, 0x11, 0x00, + 0x07, 0x07, 0x14, 0x5f, 0x59, 0x07, 0x03, 0x0a, 0x00, 0x12, 0x00, + 0x3f, 0x32, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x71, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x33, 0x01, 0x2e, 0x01, 0x35, 0x34, + 0x36, 0x33, 0x21, 0x11, 0x23, 0x11, 0x23, 0x01, 0x13, 0x14, 0x16, + 0x33, 0x21, 0x11, 0x21, 0x20, 0x34, 0x01, 0x90, 0x9d, 0xbb, 0xf5, + 0xe8, 0x01, 0xe2, 0xbf, 0xee, 0xfe, 0x92, 0x1c, 0x98, 0x90, 0x01, + 0x18, 0xfe, 0xf0, 0xfe, 0xd0, 0x02, 0x55, 0x1a, 0xcc, 0x95, 0xb4, + 0xc1, 0xfa, 0xbb, 0x02, 0x3f, 0xfd, 0xc1, 0x03, 0xcd, 0x78, 0x7f, + 0x01, 0xd6, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x04, + 0x4e, 0x12, 0x06, 0x00, 0x44, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8c, + 0xff, 0xec, 0x04, 0x53, 0x05, 0xde, 0x00, 0x0b, 0x00, 0x25, 0x00, + 0x52, 0x40, 0x15, 0x1c, 0x0f, 0x15, 0x23, 0x06, 0x06, 0x15, 0x00, + 0x0f, 0x0f, 0x15, 0x26, 0x27, 0x23, 0x0c, 0x0c, 0x03, 0x50, 0x59, + 0x19, 0x1e, 0xb8, 0x01, 0x0a, 0x40, 0x12, 0x59, 0x0c, 0x19, 0x0c, + 0x19, 0x12, 0x1b, 0x1b, 0x1c, 0x52, 0x59, 0x1b, 0x12, 0x09, 0x50, + 0x59, 0x12, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x32, 0x12, 0x11, + 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x36, 0x37, 0x36, + 0x37, 0x15, 0x06, 0x07, 0x0e, 0x03, 0x07, 0x3e, 0x01, 0x03, 0x96, + 0x84, 0x95, 0x9f, 0x95, 0x8b, 0x95, 0xa1, 0x8c, 0xf3, 0xde, 0xd2, + 0xfa, 0xee, 0xf6, 0xe9, 0x6c, 0xe6, 0xc9, 0x8a, 0xef, 0xce, 0x84, + 0x9b, 0x94, 0x54, 0x29, 0x04, 0x2e, 0xca, 0x01, 0xf6, 0xca, 0xbf, + 0xc1, 0xc8, 0xc2, 0xc3, 0xbb, 0x02, 0xd7, 0xfe, 0xfb, 0xfe, 0xfa, + 0xfe, 0xf7, 0xfe, 0xfd, 0x01, 0x42, 0x01, 0x4e, 0x01, 0x06, 0x01, + 0x43, 0xb6, 0x27, 0x1b, 0x21, 0xa1, 0x1a, 0x19, 0x1c, 0x44, 0x6f, + 0xb1, 0x90, 0x80, 0x89, 0x00, 0x00, 0x00, 0x03, 0x00, 0xb9, 0x00, + 0x00, 0x04, 0x3a, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x18, 0x00, 0x21, + 0x00, 0x50, 0x40, 0x28, 0x06, 0x10, 0x1e, 0x03, 0x03, 0x0e, 0x0a, + 0x1a, 0x10, 0x10, 0x0e, 0x14, 0x0a, 0x0e, 0x0a, 0x22, 0x23, 0x06, + 0x1a, 0x18, 0x1a, 0x18, 0x51, 0x59, 0x1a, 0x1a, 0x0e, 0x0f, 0x0f, + 0x19, 0x50, 0x59, 0x0f, 0x0f, 0x0e, 0x10, 0x50, 0x59, 0x0e, 0x15, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, + 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x13, + 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x19, 0x01, 0x21, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x02, 0x87, 0xc8, 0xc8, 0x74, + 0x6b, 0x81, 0x81, 0xdb, 0xc1, 0xfe, 0x1b, 0xb4, 0x01, 0x14, 0x8a, + 0x70, 0x77, 0x8f, 0xfe, 0xf8, 0x01, 0x00, 0x80, 0x6d, 0x66, 0x79, + 0x04, 0x3a, 0x8c, 0x83, 0x5e, 0x7c, 0x14, 0x07, 0x11, 0x83, 0x6a, + 0x93, 0xa5, 0x04, 0x3a, 0xfc, 0x4b, 0x55, 0x5d, 0x65, 0x53, 0x01, + 0xc2, 0xfe, 0xc0, 0x48, 0x5a, 0x52, 0x4c, 0x00, 0x01, 0x01, 0x09, + 0x00, 0x00, 0x04, 0x1a, 0x04, 0x3a, 0x00, 0x05, 0x00, 0x1d, 0x40, + 0x0e, 0x03, 0x04, 0x04, 0x00, 0x06, 0x07, 0x05, 0x02, 0x50, 0x59, + 0x05, 0x0f, 0x03, 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x21, 0x11, 0x23, + 0x11, 0x04, 0x1a, 0xfd, 0xa3, 0xb4, 0x04, 0x3a, 0x8e, 0xfc, 0x54, + 0x04, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x16, 0xfe, 0x68, + 0x04, 0x76, 0x04, 0x3a, 0x00, 0x05, 0x00, 0x13, 0x00, 0x4b, 0x40, + 0x24, 0x04, 0x0d, 0x01, 0x10, 0x0d, 0x10, 0x13, 0x0a, 0x0b, 0x05, + 0x12, 0x12, 0x08, 0x08, 0x13, 0x0b, 0x13, 0x14, 0x15, 0x10, 0x01, + 0x50, 0x59, 0x10, 0x0f, 0x12, 0x04, 0x0c, 0x09, 0x0c, 0x50, 0x59, + 0x09, 0x15, 0x0b, 0x06, 0xb8, 0x01, 0x08, 0x00, 0x3f, 0x33, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x0a, + 0x01, 0x07, 0x21, 0x01, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, + 0x36, 0x12, 0x13, 0x21, 0x11, 0x33, 0x03, 0x3f, 0xfe, 0xc4, 0x24, + 0x5b, 0x40, 0x01, 0xfb, 0x01, 0x37, 0xa3, 0xfc, 0xe6, 0xa3, 0x77, + 0x4e, 0x6e, 0x2b, 0x02, 0x70, 0x92, 0x03, 0xac, 0xfe, 0xf5, 0xfe, + 0x79, 0x8c, 0xfd, 0xda, 0x01, 0x98, 0xfe, 0x68, 0x02, 0x26, 0x80, + 0x01, 0xcc, 0x01, 0x60, 0xfc, 0x54, 0x00, 0xff, 0xff, 0x00, 0x85, + 0xff, 0xec, 0x04, 0x46, 0x04, 0x4e, 0x12, 0x06, 0x00, 0x48, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x04, 0xcb, 0x04, 0x3a, + 0x00, 0x21, 0x00, 0x74, 0x40, 0x28, 0x1a, 0x1d, 0x1b, 0x21, 0x04, + 0x07, 0x00, 0x12, 0x21, 0x21, 0x0f, 0x00, 0x00, 0x06, 0x1b, 0x16, + 0x17, 0x17, 0x1c, 0x1b, 0x0b, 0x0a, 0x0a, 0x05, 0x06, 0x1b, 0x06, + 0x23, 0x22, 0x1a, 0x07, 0x1d, 0x04, 0x07, 0x04, 0x0f, 0x20, 0x01, + 0x0f, 0x01, 0xb8, 0x01, 0x0a, 0x40, 0x0f, 0x59, 0x12, 0x2f, 0x0f, + 0x01, 0x0f, 0x0f, 0x17, 0x0a, 0x10, 0x0f, 0x1b, 0x06, 0x00, 0x15, + 0x00, 0x3f, 0x32, 0x32, 0x3f, 0x33, 0x33, 0x39, 0x2f, 0x5d, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x21, + 0x11, 0x2e, 0x01, 0x27, 0x03, 0x23, 0x01, 0x2e, 0x01, 0x03, 0x33, + 0x17, 0x1e, 0x01, 0x17, 0x11, 0x33, 0x11, 0x3e, 0x01, 0x3f, 0x01, + 0x33, 0x03, 0x06, 0x07, 0x01, 0x23, 0x03, 0x0e, 0x01, 0x07, 0x11, + 0x02, 0x19, 0x1e, 0x37, 0x0d, 0xfd, 0xb9, 0x01, 0x4f, 0x15, 0x3c, + 0xf5, 0xb2, 0x94, 0x41, 0x5a, 0x2e, 0x9a, 0x30, 0x59, 0x40, 0x94, + 0xb2, 0xd8, 0x47, 0x28, 0x01, 0x50, 0xb9, 0xfd, 0x0c, 0x37, 0x1f, + 0x01, 0xe0, 0x04, 0x17, 0x0a, 0xfd, 0xfb, 0x02, 0x60, 0x17, 0x51, + 0x01, 0x72, 0xef, 0x68, 0x60, 0x11, 0x01, 0xc8, 0xfe, 0x38, 0x12, + 0x61, 0x66, 0xef, 0xfe, 0xbb, 0x6a, 0x2b, 0xfd, 0xa0, 0x02, 0x05, + 0x09, 0x18, 0x04, 0xfe, 0x20, 0x00, 0x00, 0x01, 0x00, 0x8a, 0xff, + 0xec, 0x04, 0x25, 0x04, 0x4e, 0x00, 0x26, 0x00, 0x72, 0x40, 0x41, + 0x20, 0x0c, 0x10, 0x1c, 0x15, 0x16, 0x16, 0x0c, 0x1c, 0x03, 0x24, + 0x04, 0x03, 0x09, 0x24, 0x03, 0x24, 0x27, 0x28, 0x20, 0x0d, 0x0c, + 0x0d, 0x0c, 0x50, 0x59, 0x0d, 0x0d, 0x19, 0x00, 0x40, 0x15, 0x50, + 0x15, 0x60, 0x15, 0x03, 0x00, 0x15, 0x70, 0x15, 0xd0, 0x15, 0xe0, + 0x15, 0x04, 0x0b, 0x03, 0x15, 0x15, 0x19, 0x19, 0x12, 0x50, 0x59, + 0x19, 0x10, 0x00, 0x07, 0x50, 0x59, 0x04, 0x04, 0x00, 0x16, 0x00, + 0x3f, 0x32, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x11, 0x12, 0x39, 0x2f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x31, 0x30, 0x05, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x20, + 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, + 0x01, 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x02, 0x5a, 0xc5, + 0xda, 0x31, 0x9f, 0x1a, 0x98, 0x83, 0x01, 0x08, 0xd3, 0xb9, 0xb7, + 0xc3, 0xf7, 0x81, 0x80, 0x0c, 0xa2, 0x18, 0xd7, 0xc1, 0xc6, 0xe7, + 0x49, 0x80, 0x48, 0x80, 0xab, 0xed, 0x14, 0x77, 0x87, 0x2c, 0x54, + 0x50, 0xb9, 0x5f, 0x69, 0x89, 0x5a, 0x52, 0xa0, 0x47, 0x49, 0x14, + 0x89, 0x79, 0x99, 0x84, 0x41, 0x6a, 0x43, 0x08, 0x02, 0x0e, 0x92, + 0x69, 0x9a, 0xaa, 0x00, 0x01, 0x00, 0xb9, 0x00, 0x00, 0x04, 0x15, + 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x34, 0x40, 0x1a, 0x0b, 0x00, 0x00, + 0x0d, 0x03, 0x06, 0x06, 0x05, 0x0d, 0x05, 0x0e, 0x0f, 0x8a, 0x0a, + 0x01, 0x0a, 0x03, 0x0d, 0x0f, 0x06, 0x85, 0x02, 0x01, 0x02, 0x0c, + 0x15, 0x00, 0x3f, 0x33, 0x5d, 0x33, 0x3f, 0x33, 0x33, 0x5d, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x11, 0x03, 0x01, 0x33, 0x11, 0x23, 0x11, + 0x34, 0x3f, 0x01, 0x01, 0x23, 0x11, 0x01, 0x67, 0x0a, 0x01, 0xf3, + 0xc5, 0xac, 0x07, 0x03, 0xfe, 0x06, 0xc0, 0x04, 0x3a, 0xfd, 0xb0, + 0xfe, 0xeb, 0x03, 0x65, 0xfb, 0xc6, 0x02, 0x94, 0x41, 0x64, 0x30, + 0xfc, 0x97, 0x04, 0x3a, 0x00, 0xff, 0xff, 0x00, 0xb9, 0x00, 0x00, + 0x04, 0x15, 0x05, 0xb4, 0x12, 0x26, 0x03, 0xe8, 0x00, 0x00, 0x11, + 0x06, 0x09, 0x05, 0xf3, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0e, + 0x11, 0x26, 0x01, 0x00, 0x10, 0x18, 0x0c, 0x04, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x01, 0x00, 0xda, 0x00, 0x00, + 0x04, 0x5c, 0x04, 0x3a, 0x00, 0x12, 0x00, 0x46, 0x40, 0x23, 0x0d, + 0x0a, 0x0b, 0x02, 0x11, 0x11, 0x12, 0x06, 0x07, 0x07, 0x0c, 0x0b, + 0x12, 0x0b, 0x13, 0x14, 0x0a, 0x0d, 0x02, 0x10, 0x02, 0x10, 0x50, + 0x59, 0x2f, 0x02, 0x01, 0x02, 0x02, 0x12, 0x0b, 0x15, 0x07, 0x00, + 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x39, 0x2f, 0x5d, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, + 0x30, 0x13, 0x33, 0x11, 0x32, 0x36, 0x37, 0x13, 0x33, 0x03, 0x06, + 0x07, 0x01, 0x23, 0x01, 0x0e, 0x01, 0x23, 0x11, 0x23, 0xda, 0xb4, + 0x71, 0x94, 0x4a, 0xb4, 0xc2, 0xe2, 0x4e, 0x48, 0x01, 0x81, 0xcc, + 0xfe, 0xc3, 0x22, 0x6e, 0x35, 0xb4, 0x04, 0x3a, 0xfe, 0x26, 0x5e, + 0x6f, 0x01, 0x0d, 0xfe, 0xbb, 0x6f, 0x34, 0xfd, 0xae, 0x01, 0xfd, + 0x0f, 0x14, 0xfe, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0xff, + 0xec, 0x04, 0x18, 0x04, 0x3a, 0x00, 0x12, 0x00, 0x2f, 0x40, 0x18, + 0x02, 0x10, 0x10, 0x09, 0x00, 0x12, 0x09, 0x12, 0x13, 0x14, 0x10, + 0x02, 0x50, 0x59, 0x10, 0x0f, 0x07, 0x0c, 0x50, 0x59, 0x07, 0x16, + 0x00, 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x21, 0x11, 0x21, 0x03, 0x0a, 0x01, 0x06, 0x23, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x36, 0x12, 0x13, 0x21, 0x11, 0x03, 0x63, + 0xfe, 0x83, 0x2e, 0x24, 0x4f, 0x77, 0x6a, 0x32, 0x2c, 0x19, 0x2b, + 0x3a, 0x49, 0x42, 0x43, 0x02, 0xc6, 0x03, 0xac, 0xfe, 0xba, 0xfe, + 0xff, 0xfe, 0xf5, 0x6e, 0x0d, 0x81, 0x09, 0x94, 0x01, 0x4d, 0x01, + 0xe8, 0xfb, 0xc6, 0x00, 0x00, 0x00, 0x01, 0x00, 0x66, 0x00, 0x00, + 0x04, 0x67, 0x04, 0x3a, 0x00, 0x14, 0x00, 0x48, 0x40, 0x25, 0x05, + 0x04, 0x0f, 0x0f, 0x14, 0x0a, 0x0c, 0x09, 0x09, 0x0a, 0x12, 0x00, + 0x00, 0x14, 0x14, 0x0a, 0x15, 0x16, 0x03, 0x06, 0x06, 0x12, 0x0b, + 0x0f, 0x40, 0x0f, 0x50, 0x0f, 0x02, 0x3f, 0x0f, 0x01, 0x0f, 0x05, + 0x00, 0x0a, 0x15, 0x00, 0x3f, 0x33, 0x33, 0x33, 0x5d, 0x5d, 0x3f, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x21, 0x11, 0x34, 0x37, 0x01, 0x23, 0x01, 0x16, + 0x15, 0x11, 0x23, 0x11, 0x33, 0x13, 0x16, 0x17, 0x36, 0x37, 0x13, + 0x33, 0x11, 0x03, 0xce, 0x08, 0xfe, 0xe3, 0x99, 0xfe, 0xda, 0x06, + 0x9a, 0xfa, 0xc8, 0x35, 0x0f, 0x16, 0x2e, 0xc8, 0xef, 0x02, 0xd4, + 0x35, 0xb0, 0xfc, 0x47, 0x03, 0xb7, 0x4b, 0x98, 0xfd, 0x2c, 0x04, + 0x3a, 0xfd, 0x7f, 0xa9, 0x89, 0x9f, 0x93, 0x02, 0x81, 0xfb, 0xc6, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb5, 0x00, 0x00, 0x04, 0x18, + 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x35, 0x40, 0x1b, 0x01, 0x09, 0x09, + 0x0a, 0x02, 0x06, 0x06, 0x05, 0x0a, 0x05, 0x0c, 0x0d, 0x01, 0x08, + 0x51, 0x59, 0x2f, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x05, 0x15, 0x03, + 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x39, 0x2f, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, + 0x11, 0x21, 0x11, 0x23, 0x11, 0x01, 0x69, 0x01, 0xfb, 0xb4, 0xb4, + 0xfe, 0x05, 0xb4, 0x04, 0x3a, 0xfe, 0x36, 0x01, 0xca, 0xfb, 0xc6, + 0x01, 0xed, 0xfe, 0x13, 0x04, 0x3a, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x82, 0xff, 0xec, 0x04, 0x49, 0x04, 0x4e, 0x12, 0x06, 0x00, 0x52, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xb5, 0x00, 0x00, 0x04, 0x18, 0x04, + 0x3a, 0x00, 0x07, 0x00, 0x23, 0x40, 0x11, 0x05, 0x06, 0x02, 0x01, + 0x06, 0x01, 0x08, 0x09, 0x07, 0x04, 0x50, 0x59, 0x07, 0x0f, 0x06, + 0x01, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, + 0x21, 0x11, 0x23, 0x11, 0x04, 0x18, 0xb4, 0xfe, 0x05, 0xb4, 0x04, + 0x3a, 0xfb, 0xc6, 0x03, 0xac, 0xfc, 0x54, 0x04, 0x3a, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x42, 0x04, 0x50, + 0x12, 0x06, 0x00, 0x53, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, + 0xec, 0x04, 0x38, 0x04, 0x4e, 0x12, 0x06, 0x00, 0x46, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x82, 0x00, 0x00, 0x04, 0x4a, 0x04, 0x3a, 0x00, + 0x07, 0x00, 0x27, 0x40, 0x12, 0x01, 0x04, 0x04, 0x00, 0x05, 0x05, + 0x08, 0x09, 0x04, 0x15, 0x03, 0x07, 0x00, 0x07, 0x50, 0x59, 0x00, + 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, + 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x82, 0x03, 0xc8, 0xfe, 0x76, + 0xb4, 0xfe, 0x76, 0x04, 0x3a, 0x8e, 0xfc, 0x54, 0x03, 0xac, 0xff, + 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x04, 0x3a, 0x12, 0x06, + 0x00, 0x5c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x46, 0xfe, 0x57, 0x04, + 0x85, 0x05, 0xcc, 0x00, 0x11, 0x00, 0x17, 0x00, 0x1d, 0x00, 0x4e, + 0x40, 0x28, 0x1c, 0x0f, 0x04, 0x0c, 0x14, 0x04, 0x03, 0x05, 0x05, + 0x00, 0x12, 0x09, 0x18, 0x00, 0x09, 0x00, 0x1e, 0x1f, 0x0d, 0x00, + 0x1b, 0x15, 0x0c, 0x15, 0x50, 0x59, 0x0f, 0x0c, 0x10, 0x1c, 0x14, + 0x06, 0x14, 0x50, 0x59, 0x03, 0x06, 0x16, 0x04, 0x1b, 0x00, 0x3f, + 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x14, 0x02, 0x07, 0x11, 0x23, 0x11, 0x26, 0x02, 0x35, + 0x34, 0x12, 0x37, 0x11, 0x33, 0x11, 0x16, 0x12, 0x01, 0x10, 0x05, + 0x11, 0x0e, 0x01, 0x05, 0x34, 0x26, 0x27, 0x11, 0x24, 0x04, 0x85, + 0xee, 0xe2, 0x9b, 0xe2, 0xf2, 0xf0, 0xe4, 0x9b, 0xeb, 0xe5, 0xfc, + 0x7e, 0x01, 0x17, 0x8d, 0x8a, 0x02, 0xc5, 0x86, 0x8d, 0x01, 0x13, + 0x02, 0x1e, 0xfc, 0xfe, 0xe3, 0x15, 0xfe, 0x67, 0x01, 0x98, 0x13, + 0x01, 0x21, 0xfb, 0xfd, 0x01, 0x1c, 0x14, 0x01, 0x81, 0xfe, 0x7f, + 0x13, 0xfe, 0xeb, 0xfe, 0xfb, 0xfe, 0x82, 0x2b, 0x03, 0x4e, 0x14, + 0xd1, 0xc0, 0xc3, 0xd1, 0x12, 0xfc, 0xb3, 0x29, 0x00, 0xff, 0xff, + 0x00, 0x5e, 0x00, 0x00, 0x04, 0x6d, 0x04, 0x3a, 0x12, 0x06, 0x00, + 0x5b, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb0, 0xfe, 0x68, 0x04, 0xa6, + 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x36, 0x40, 0x15, 0x02, 0x05, 0x05, + 0x09, 0x01, 0x0a, 0x09, 0x06, 0x0a, 0x06, 0x0c, 0x0d, 0x05, 0x01, + 0x0a, 0x01, 0x51, 0x59, 0x0a, 0x15, 0x08, 0xb8, 0x01, 0x08, 0xb2, + 0x03, 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x01, 0x64, 0x01, 0xfb, 0xb4, + 0x93, 0xa3, 0xfc, 0xad, 0x04, 0x3a, 0xfc, 0x49, 0x03, 0xb7, 0xfc, + 0x49, 0xfd, 0xe5, 0x01, 0x98, 0x04, 0x3a, 0x00, 0x00, 0x01, 0x00, + 0x9a, 0x00, 0x00, 0x03, 0xfd, 0x04, 0x3a, 0x00, 0x11, 0x00, 0x2b, + 0x40, 0x15, 0x00, 0x11, 0x0b, 0x07, 0x07, 0x08, 0x11, 0x08, 0x12, + 0x13, 0x0d, 0x04, 0x50, 0x59, 0x0d, 0x0d, 0x09, 0x15, 0x07, 0x00, + 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x23, 0x11, + 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x01, 0x4e, 0x65, 0x61, 0x75, + 0xc0, 0xb4, 0xb4, 0xe7, 0xa2, 0x92, 0x94, 0x04, 0x3a, 0xfe, 0x6e, + 0x4e, 0x54, 0x34, 0x02, 0x00, 0xfb, 0xc6, 0x01, 0xd2, 0x5b, 0x9e, + 0x8a, 0x01, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x66, 0x00, + 0x00, 0x04, 0x67, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x33, 0x40, 0x18, + 0x07, 0x04, 0x04, 0x0b, 0x03, 0x00, 0x08, 0x0b, 0x00, 0x0b, 0x0c, + 0x0d, 0x09, 0x05, 0x01, 0x0f, 0x07, 0x03, 0x00, 0x03, 0x51, 0x59, + 0x00, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, + 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x66, 0xa0, 0x01, 0x10, 0xa0, + 0x01, 0x11, 0xa0, 0x04, 0x3a, 0xfc, 0x49, 0x03, 0xb7, 0xfc, 0x49, + 0x03, 0xb7, 0xfb, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5c, + 0xfe, 0x68, 0x04, 0xbd, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x42, 0x40, + 0x10, 0x07, 0x04, 0x04, 0x0b, 0x03, 0x00, 0x0d, 0x0e, 0x0e, 0x08, + 0x0b, 0x00, 0x0b, 0x10, 0x11, 0x0e, 0xb8, 0x01, 0x08, 0x40, 0x0d, + 0x09, 0x05, 0x01, 0x0f, 0x0b, 0x07, 0x03, 0x00, 0x03, 0x51, 0x59, + 0x00, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x18, 0x3f, + 0x33, 0x33, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x23, 0x11, 0x5c, 0xa0, 0xf9, 0xa0, 0xf9, 0xa0, 0x8f, + 0x8f, 0x04, 0x3a, 0xfc, 0x49, 0x03, 0xb7, 0xfc, 0x49, 0x03, 0xb7, + 0xfc, 0x49, 0xfd, 0xe5, 0x01, 0x98, 0x00, 0x02, 0xff, 0xff, 0x00, + 0x00, 0x04, 0x7e, 0x04, 0x3a, 0x00, 0x0c, 0x00, 0x15, 0x00, 0x45, + 0x40, 0x24, 0x0c, 0x0d, 0x0d, 0x09, 0x07, 0x11, 0x03, 0x07, 0x03, + 0x16, 0x17, 0x0c, 0x15, 0x51, 0x59, 0x0f, 0x0c, 0x01, 0x0b, 0x03, + 0x0c, 0x0c, 0x07, 0x0a, 0x0a, 0x09, 0x50, 0x59, 0x0a, 0x0f, 0x07, + 0x0d, 0x51, 0x59, 0x07, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, + 0x11, 0x21, 0x35, 0x21, 0x19, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x2b, 0x01, 0x02, 0xdf, 0xcd, 0xd2, 0xd8, 0xc6, 0xfe, 0x67, + 0xfe, 0xb8, 0x01, 0xfc, 0xca, 0x82, 0x78, 0x74, 0x85, 0xcb, 0x02, + 0x70, 0x93, 0x9f, 0x9a, 0xa4, 0x03, 0xac, 0x8e, 0xfe, 0x36, 0xfe, + 0x0f, 0x5c, 0x63, 0x5e, 0x57, 0x00, 0x00, 0x00, 0x03, 0x00, 0x6a, + 0x00, 0x00, 0x04, 0x62, 0x04, 0x3a, 0x00, 0x0a, 0x00, 0x13, 0x00, + 0x17, 0x00, 0x46, 0x40, 0x24, 0x0f, 0x03, 0x03, 0x07, 0x14, 0x17, + 0x0a, 0x0b, 0x0b, 0x07, 0x07, 0x17, 0x18, 0x19, 0x0a, 0x13, 0x51, + 0x59, 0x0f, 0x0a, 0x01, 0x0b, 0x03, 0x0a, 0x0a, 0x07, 0x15, 0x08, + 0x0f, 0x07, 0x0b, 0x51, 0x59, 0x14, 0x07, 0x15, 0x00, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x21, 0x11, 0x33, 0x19, 0x01, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x2b, 0x01, 0x01, 0x11, 0x33, 0x11, 0x01, 0xa9, + 0xcd, 0xd2, 0xd8, 0xc6, 0xfe, 0xc0, 0xa4, 0x9b, 0x7d, 0x73, 0x71, + 0x7e, 0x9c, 0x02, 0xb0, 0xa4, 0x02, 0x70, 0x93, 0x9f, 0x9a, 0xa4, + 0x04, 0x3a, 0xfe, 0x36, 0xfe, 0x0f, 0x5e, 0x61, 0x5e, 0x57, 0xfe, + 0x0d, 0x04, 0x3a, 0xfb, 0xc6, 0x00, 0x02, 0x00, 0xcc, 0x00, 0x00, + 0x04, 0x29, 0x04, 0x3a, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x3a, 0x40, + 0x1e, 0x0a, 0x0b, 0x0b, 0x07, 0x0f, 0x03, 0x07, 0x03, 0x14, 0x15, + 0x0a, 0x13, 0x51, 0x59, 0x0f, 0x0a, 0x01, 0x0b, 0x03, 0x0a, 0x0a, + 0x07, 0x08, 0x0f, 0x07, 0x0b, 0x51, 0x59, 0x07, 0x15, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, + 0x33, 0x19, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, + 0x02, 0x8a, 0xcd, 0xd2, 0xd8, 0xc6, 0xfe, 0x41, 0xb4, 0xf0, 0x82, + 0x78, 0x74, 0x85, 0xf1, 0x02, 0x70, 0x93, 0x9f, 0x9a, 0xa4, 0x04, + 0x3a, 0xfe, 0x36, 0xfe, 0x0f, 0x5c, 0x63, 0x5e, 0x57, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x7c, 0xff, 0xec, 0x04, 0x3c, 0x04, 0x4e, + 0x00, 0x1d, 0x00, 0x7d, 0x40, 0x4f, 0x17, 0x18, 0x18, 0x10, 0x00, + 0x08, 0x07, 0x11, 0x0e, 0x0e, 0x00, 0x07, 0x00, 0x1e, 0x1f, 0x10, + 0x0f, 0x51, 0x59, 0x1f, 0x10, 0x2f, 0x10, 0xbf, 0x10, 0xef, 0x10, + 0xff, 0x10, 0x05, 0x1f, 0x10, 0xdf, 0x10, 0xef, 0x10, 0x03, 0x10, + 0x10, 0x03, 0x1b, 0x0f, 0x17, 0x01, 0x0a, 0x03, 0x17, 0x17, 0x1b, + 0x1b, 0x14, 0x50, 0x59, 0x1b, 0x10, 0x03, 0x0b, 0x50, 0x59, 0x20, + 0x08, 0x70, 0x08, 0x80, 0x08, 0x03, 0x00, 0x08, 0x10, 0x08, 0x60, + 0x08, 0xc0, 0x08, 0x04, 0x08, 0x08, 0x03, 0x16, 0x00, 0x3f, 0x33, + 0x2f, 0x5d, 0x71, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x2f, 0x5d, 0x71, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x00, + 0x23, 0x22, 0x2e, 0x01, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x37, 0x21, 0x35, 0x21, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x27, + 0x3e, 0x01, 0x33, 0x32, 0x00, 0x04, 0x3c, 0xfe, 0xff, 0xf4, 0x79, + 0xc9, 0x7c, 0x0d, 0xbe, 0x0f, 0x94, 0x72, 0x91, 0x94, 0x09, 0xfe, + 0x82, 0x01, 0x7e, 0x08, 0x94, 0x93, 0x76, 0x8a, 0x10, 0xc0, 0x1f, + 0xf5, 0xb4, 0xf4, 0x01, 0x02, 0x02, 0x1e, 0xfe, 0xee, 0xfe, 0xe0, + 0x59, 0x9e, 0x5f, 0x0c, 0x66, 0x71, 0xb0, 0xbb, 0x83, 0xb2, 0xaa, + 0x69, 0x5b, 0x0e, 0x96, 0xad, 0xfe, 0xde, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x46, 0xff, 0xec, 0x04, 0x98, 0x04, 0x4e, 0x00, 0x12, 0x00, + 0x1f, 0x00, 0x5b, 0x40, 0x31, 0x13, 0x0d, 0x01, 0x01, 0x10, 0x07, + 0x00, 0x0f, 0x0f, 0x10, 0x19, 0x07, 0x10, 0x07, 0x20, 0x21, 0x11, + 0x0f, 0x10, 0x15, 0x00, 0x0e, 0x51, 0x59, 0x0f, 0x00, 0xcf, 0x00, + 0xdf, 0x00, 0x03, 0x0b, 0x03, 0x00, 0x00, 0x0a, 0x04, 0x0a, 0x16, + 0x50, 0x59, 0x0a, 0x16, 0x04, 0x1d, 0x50, 0x59, 0x04, 0x10, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x33, 0x3e, 0x01, 0x33, + 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x02, 0x27, 0x23, 0x11, + 0x23, 0x11, 0x33, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x2e, 0x01, 0x23, 0x22, 0x06, 0xea, 0xa9, 0x11, 0xce, 0xa7, 0xb1, + 0xce, 0xca, 0xb6, 0xb2, 0xcf, 0x06, 0xa7, 0xa4, 0xa4, 0x01, 0x54, + 0x6f, 0x68, 0x68, 0x6e, 0x35, 0x5e, 0x3d, 0x6c, 0x71, 0x02, 0x70, + 0xe2, 0xfc, 0xfe, 0xd0, 0xfe, 0xfe, 0xfe, 0xf9, 0xfe, 0xd7, 0x01, + 0x13, 0xee, 0xfe, 0x13, 0x04, 0x3a, 0xfd, 0xe2, 0xcb, 0xe0, 0xdc, + 0xcf, 0x8b, 0xbd, 0x65, 0xdd, 0x00, 0x00, 0x00, 0x02, 0x00, 0x45, + 0x00, 0x00, 0x03, 0xfb, 0x04, 0x3a, 0x00, 0x0c, 0x00, 0x15, 0x00, + 0x4b, 0x40, 0x25, 0x00, 0x03, 0x03, 0x05, 0x0a, 0x15, 0x0b, 0x0b, + 0x0a, 0x01, 0x02, 0x02, 0x11, 0x05, 0x0a, 0x05, 0x17, 0x16, 0x03, + 0x00, 0x14, 0x00, 0x51, 0x59, 0x14, 0x14, 0x01, 0x08, 0x08, 0x0e, + 0x51, 0x59, 0x08, 0x0f, 0x0b, 0x01, 0x15, 0x00, 0x3f, 0x33, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x09, + 0x01, 0x23, 0x01, 0x26, 0x11, 0x34, 0x36, 0x33, 0x21, 0x11, 0x23, + 0x19, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x3b, 0x01, 0x02, + 0x4b, 0xfe, 0xc5, 0xcb, 0x01, 0x58, 0xf9, 0xd8, 0xcf, 0x01, 0xb0, + 0xb4, 0xea, 0x82, 0x78, 0x6b, 0x7c, 0xfd, 0x01, 0xca, 0xfe, 0x36, + 0x01, 0xd7, 0x34, 0x01, 0x04, 0x95, 0x96, 0xfb, 0xc6, 0x01, 0xca, + 0x01, 0xf1, 0x5c, 0x5d, 0x5e, 0x5d, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x48, 0x00, 0x00, 0x11, 0x06, 0x00, 0x43, 0xb1, 0x00, 0x00, 0x15, + 0xb4, 0x02, 0x20, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xb2, 0xb4, 0x1d, + 0x20, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, + 0x7b, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, + 0x08, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x1b, 0x11, 0x26, + 0x03, 0x02, 0x08, 0x1f, 0x1d, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x01, 0x00, 0x35, 0xfe, + 0x57, 0x04, 0x19, 0x05, 0xcc, 0x00, 0x25, 0x00, 0x60, 0x40, 0x1e, + 0x13, 0x0e, 0x21, 0x05, 0x02, 0x20, 0x20, 0x25, 0x21, 0x18, 0x0e, + 0x21, 0x0e, 0x26, 0x27, 0x05, 0x23, 0x24, 0x23, 0x51, 0x59, 0x02, + 0x24, 0x0b, 0x1c, 0x50, 0x59, 0x08, 0x0b, 0x0b, 0xb8, 0xff, 0xc0, + 0x40, 0x12, 0x09, 0x0c, 0x48, 0x24, 0x0b, 0x24, 0x0b, 0x00, 0x21, + 0x15, 0x11, 0x15, 0x50, 0x59, 0x11, 0x1b, 0x00, 0x00, 0x00, 0x3f, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x2b, + 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x13, 0x33, 0x15, 0x21, 0x15, + 0x21, 0x15, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, 0x19, 0x01, 0x14, + 0x06, 0x23, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x35, 0x11, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, + 0xb9, 0xb5, 0x01, 0x2b, 0xfe, 0xd5, 0x09, 0x03, 0x69, 0xea, 0x01, + 0x5e, 0x78, 0x78, 0x4d, 0x32, 0x3e, 0x46, 0x36, 0x69, 0x73, 0x7c, + 0x9f, 0xb4, 0x84, 0x84, 0x05, 0xcc, 0x9d, 0x83, 0x84, 0x3b, 0x8a, + 0xcd, 0xfe, 0x83, 0xfc, 0xc7, 0x99, 0x8a, 0x09, 0x8b, 0x06, 0x48, + 0x68, 0x03, 0x04, 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0xab, 0x04, 0xac, + 0x83, 0xff, 0xff, 0x01, 0x09, 0x00, 0x00, 0x04, 0x1a, 0x05, 0xb4, + 0x12, 0x26, 0x03, 0xe3, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, + 0x93, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x06, 0x11, 0x26, + 0x01, 0x67, 0x06, 0x09, 0x04, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x91, 0xff, 0xec, + 0x04, 0x51, 0x04, 0x4e, 0x00, 0x1d, 0x00, 0x83, 0x40, 0x53, 0x17, + 0x0e, 0x00, 0x03, 0x1f, 0x0d, 0x10, 0x10, 0x00, 0x07, 0x06, 0x06, + 0x16, 0x17, 0x00, 0x17, 0x1e, 0x1f, 0x0d, 0x10, 0x51, 0x59, 0x0f, + 0x0d, 0x1f, 0x0d, 0xaf, 0x0d, 0xdf, 0x0d, 0xef, 0x0d, 0x05, 0x0f, + 0x0d, 0xcf, 0x0d, 0xdf, 0x0d, 0x03, 0x0b, 0x03, 0x0d, 0x0d, 0x1b, + 0x03, 0x1b, 0x13, 0x50, 0x59, 0x20, 0x16, 0x70, 0x16, 0x80, 0x16, + 0x03, 0x00, 0x16, 0x10, 0x16, 0x60, 0x16, 0xc0, 0x16, 0x04, 0x09, + 0x03, 0x16, 0x16, 0x1b, 0x16, 0x03, 0x0a, 0x50, 0x59, 0x1f, 0x07, + 0x01, 0x07, 0x07, 0x03, 0x10, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x17, 0x39, 0x31, 0x30, 0x13, 0x10, 0x00, 0x33, + 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x21, + 0x15, 0x21, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x02, + 0x23, 0x22, 0x00, 0x91, 0x01, 0x02, 0xf4, 0xb7, 0xf5, 0x1c, 0xc0, + 0x10, 0x8a, 0x76, 0x90, 0x94, 0x0b, 0x01, 0x7e, 0xfe, 0x82, 0x0b, + 0x94, 0x8f, 0x71, 0x94, 0x10, 0xbe, 0x0d, 0x7c, 0xc8, 0x7a, 0xf5, + 0xff, 0x00, 0x02, 0x1e, 0x01, 0x0e, 0x01, 0x22, 0xb1, 0x92, 0x0e, + 0x5b, 0x69, 0xa4, 0xb8, 0x83, 0xc0, 0xab, 0x70, 0x67, 0x0c, 0x5f, + 0x9e, 0x59, 0x01, 0x20, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa7, 0xff, + 0xec, 0x04, 0x24, 0x04, 0x4b, 0x12, 0x06, 0x00, 0x56, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x05, 0xcc, 0x12, + 0x06, 0x00, 0x4c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, + 0x04, 0x65, 0x05, 0x7b, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x11, + 0x06, 0x00, 0x6a, 0x29, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, + 0x0a, 0x11, 0x26, 0x02, 0x01, 0x14, 0x0e, 0x0c, 0x03, 0x01, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x75, 0xfe, 0x57, 0x03, 0x44, 0x05, 0xcc, 0x12, 0x06, 0x00, + 0x4d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x19, 0xff, 0xec, 0x04, 0xa7, + 0x04, 0x3a, 0x00, 0x19, 0x00, 0x20, 0x00, 0x57, 0x40, 0x2e, 0x08, + 0x17, 0x19, 0x1a, 0x1a, 0x06, 0x17, 0x06, 0x0f, 0x1d, 0x02, 0x0f, + 0x02, 0x21, 0x22, 0x19, 0x20, 0x51, 0x59, 0x0f, 0x19, 0x01, 0x0b, + 0x03, 0x19, 0x19, 0x17, 0x06, 0x17, 0x08, 0x51, 0x59, 0x17, 0x0f, + 0x0d, 0x12, 0x50, 0x59, 0x0d, 0x16, 0x06, 0x1a, 0x51, 0x59, 0x06, + 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x20, 0x11, 0x14, + 0x06, 0x2b, 0x01, 0x11, 0x23, 0x03, 0x0e, 0x02, 0x23, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x37, 0x13, 0x21, 0x19, 0x01, + 0x33, 0x32, 0x35, 0x34, 0x2b, 0x01, 0x03, 0x1c, 0x01, 0x8b, 0xce, + 0xbc, 0xcf, 0xa5, 0x28, 0x14, 0x3e, 0x64, 0x5e, 0x2f, 0x25, 0x15, + 0x25, 0x30, 0x34, 0x23, 0x12, 0x35, 0x01, 0xc8, 0x33, 0xe6, 0xe5, + 0x34, 0x02, 0x70, 0xfe, 0xce, 0x96, 0xa8, 0x03, 0xc1, 0xfe, 0x45, + 0xd7, 0xe4, 0x5f, 0x0b, 0x81, 0x07, 0x45, 0xac, 0xbb, 0x02, 0x1d, + 0xfe, 0x36, 0xfe, 0x05, 0xc9, 0xbf, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x5c, 0x00, 0x00, 0x04, 0xb0, 0x04, 0x3a, 0x00, 0x12, 0x00, 0x1b, + 0x00, 0x57, 0x40, 0x2c, 0x05, 0x13, 0x13, 0x02, 0x0d, 0x0d, 0x11, + 0x09, 0x01, 0x10, 0x10, 0x11, 0x17, 0x09, 0x11, 0x09, 0x1c, 0x1d, + 0x1b, 0x0f, 0x01, 0x0f, 0x51, 0x59, 0x05, 0x0f, 0x01, 0x01, 0x0b, + 0x03, 0x01, 0x01, 0x0d, 0x00, 0x0d, 0x13, 0x51, 0x59, 0x11, 0x0d, + 0x15, 0x03, 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x2b, 0x01, 0x11, 0x21, 0x11, 0x23, 0x11, 0x01, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0xf6, 0x01, 0x4b, 0x9a, + 0x36, 0xcd, 0xd2, 0xd8, 0xc6, 0xd1, 0xfe, 0xb5, 0x9a, 0x02, 0x7f, + 0x36, 0x80, 0x7a, 0x74, 0x85, 0x37, 0x04, 0x3a, 0xfe, 0x36, 0x01, + 0xca, 0xfe, 0x36, 0x93, 0x9f, 0x9a, 0xa4, 0x01, 0xf7, 0xfe, 0x09, + 0x04, 0x3a, 0xfc, 0x3b, 0x64, 0x65, 0x5e, 0x61, 0x00, 0x01, 0x00, + 0x35, 0x00, 0x00, 0x04, 0x19, 0x05, 0xcc, 0x00, 0x1c, 0x00, 0x54, + 0x40, 0x1d, 0x03, 0x0e, 0x05, 0x02, 0x17, 0x17, 0x1c, 0x18, 0x0f, + 0x0e, 0x18, 0x0e, 0x1d, 0x1e, 0x05, 0x1a, 0x1b, 0x1a, 0x51, 0x59, + 0x02, 0x1b, 0x0b, 0x13, 0x50, 0x59, 0x08, 0x0b, 0x0b, 0xb8, 0xff, + 0xc0, 0x40, 0x0c, 0x09, 0x0c, 0x48, 0x1b, 0x0b, 0x1b, 0x0b, 0x0e, + 0x18, 0x15, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x33, 0x39, 0x39, 0x2f, + 0x2f, 0x2b, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x12, 0x39, 0x31, 0x30, 0x13, 0x33, 0x15, 0x21, + 0x15, 0x21, 0x15, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, 0x19, 0x01, + 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, + 0x23, 0x35, 0x33, 0xb9, 0xb5, 0x01, 0x2b, 0xfe, 0xd5, 0x09, 0x03, + 0x69, 0xea, 0x01, 0x5e, 0xb5, 0x69, 0x73, 0x7c, 0x9f, 0xb4, 0x84, + 0x84, 0x05, 0xcc, 0x9d, 0x83, 0x84, 0x3b, 0x8a, 0xcd, 0xfe, 0x83, + 0xfd, 0x4d, 0x02, 0x99, 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0xab, 0x04, + 0xac, 0x83, 0x00, 0x00, 0xff, 0xff, 0x00, 0xda, 0x00, 0x00, 0x04, + 0x5c, 0x05, 0xb4, 0x12, 0x26, 0x03, 0xea, 0x00, 0x00, 0x11, 0x06, + 0x00, 0x76, 0x6a, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x13, 0x11, + 0x26, 0x01, 0x35, 0x13, 0x16, 0x00, 0x0b, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xb9, 0x00, 0x00, 0x04, + 0x15, 0x05, 0xb4, 0x12, 0x26, 0x03, 0xe8, 0x00, 0x00, 0x11, 0x06, + 0x00, 0x43, 0xda, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x13, 0x11, 0x26, + 0x01, 0xb8, 0xff, 0xd9, 0xb4, 0x10, 0x13, 0x0d, 0x05, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x5c, + 0x00, 0x00, 0x11, 0x06, 0x09, 0x05, 0xf1, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x15, 0x11, 0x26, 0x01, 0x00, 0x17, 0x1f, 0x0a, 0x11, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x01, 0x00, + 0xb5, 0xfe, 0x57, 0x04, 0x18, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x34, + 0x40, 0x19, 0x09, 0x0a, 0x0a, 0x00, 0x04, 0x07, 0x03, 0x00, 0x00, + 0x07, 0x0c, 0x0d, 0x09, 0x1b, 0x05, 0x01, 0x0f, 0x08, 0x00, 0x00, + 0x03, 0x51, 0x59, 0x00, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x33, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, + 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x23, 0x11, 0xb5, 0xb4, + 0x01, 0xfb, 0xb4, 0xfe, 0xa0, 0xa3, 0x04, 0x3a, 0xfc, 0x49, 0x03, + 0xb7, 0xfb, 0xc6, 0xfe, 0x57, 0x01, 0xa9, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x48, 0xff, 0xec, 0x04, 0x85, 0x05, 0x5a, 0x00, 0x2e, 0x00, + 0x51, 0x40, 0x2a, 0x29, 0x1d, 0x18, 0x01, 0x01, 0x00, 0x24, 0x23, + 0x0d, 0x0e, 0x08, 0x13, 0x13, 0x0e, 0x23, 0x00, 0x1d, 0x05, 0x2f, + 0x30, 0x0b, 0x26, 0x20, 0x26, 0x5f, 0x59, 0x00, 0x00, 0x1a, 0x10, + 0x20, 0x04, 0x05, 0x2c, 0x1a, 0x2c, 0x5f, 0x59, 0x18, 0x16, 0x1a, + 0x13, 0x00, 0x3f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x1e, 0x01, 0x33, + 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x07, 0x27, 0x36, 0x33, + 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, + 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, + 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x37, 0x02, 0x1e, 0x96, + 0x16, 0x3f, 0x30, 0x4b, 0x53, 0x52, 0x4a, 0x2b, 0x23, 0x5b, 0x46, + 0x7d, 0x8d, 0xa3, 0xa2, 0x93, 0x93, 0x57, 0x54, 0x96, 0x99, 0x9b, + 0xa3, 0x8f, 0x3f, 0x58, 0x28, 0x59, 0x21, 0x2d, 0x4a, 0x52, 0x52, + 0x4a, 0x54, 0x38, 0x02, 0x9d, 0xfe, 0x6e, 0x3a, 0x4e, 0x01, 0x25, + 0x01, 0x01, 0x01, 0x04, 0x01, 0x17, 0x32, 0x56, 0x72, 0xfe, 0x8b, + 0xfe, 0xba, 0xfe, 0xb9, 0xfe, 0x94, 0xab, 0xab, 0x01, 0x64, 0x01, + 0x4f, 0x01, 0x48, 0x01, 0x73, 0x36, 0x3b, 0x57, 0x32, 0xfe, 0xea, + 0xfe, 0xfb, 0xfe, 0xfa, 0xfe, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xec, 0x00, 0x00, 0x04, 0xa6, 0x04, 0x3a, 0x00, 0x15, + 0x00, 0x4f, 0x40, 0x27, 0x09, 0x08, 0x0c, 0x0f, 0x0e, 0x0d, 0x07, + 0x06, 0x05, 0x10, 0x10, 0x07, 0x0e, 0x0c, 0x04, 0x0a, 0x13, 0x02, + 0x02, 0x16, 0x17, 0x0b, 0x0a, 0x0a, 0x16, 0x10, 0x0c, 0x0d, 0x07, + 0x0c, 0x07, 0x09, 0x15, 0x0e, 0x0a, 0x0f, 0x06, 0x09, 0x15, 0x00, + 0x3f, 0x33, 0x3f, 0x33, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x12, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x16, 0x15, 0x14, 0x02, 0x07, 0x23, + 0x0b, 0x01, 0x23, 0x01, 0x33, 0x01, 0x13, 0x03, 0x33, 0x13, 0x36, + 0x12, 0x35, 0x34, 0x27, 0x04, 0x74, 0x32, 0x90, 0x8c, 0xa0, 0x6f, + 0x87, 0xaa, 0xfe, 0xa2, 0xb7, 0x01, 0x0b, 0x92, 0x89, 0xb7, 0xe0, + 0x53, 0x5c, 0x30, 0x04, 0x3a, 0x79, 0x8e, 0xa7, 0xfe, 0x5d, 0xe9, + 0x01, 0x88, 0xfe, 0x78, 0x04, 0x3a, 0xfc, 0x6e, 0x01, 0xae, 0x01, + 0xe4, 0xfc, 0x6e, 0x9a, 0x01, 0x4b, 0x97, 0x9c, 0x7a, 0x00, 0x02, + 0x00, 0x15, 0x00, 0x00, 0x04, 0x94, 0x05, 0x45, 0x00, 0x12, 0x00, + 0x1b, 0x00, 0x48, 0x40, 0x25, 0x0f, 0x00, 0x18, 0x18, 0x0c, 0x08, + 0x13, 0x04, 0x08, 0x04, 0x1c, 0x1d, 0x00, 0x17, 0x5f, 0x59, 0x12, + 0x0a, 0x0b, 0x0a, 0x60, 0x59, 0x0f, 0x0b, 0x00, 0x0b, 0x00, 0x0b, + 0x08, 0x0d, 0x03, 0x08, 0x18, 0x5f, 0x59, 0x08, 0x12, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x21, + 0x32, 0x04, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, + 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x01, 0x34, 0x26, 0x23, 0x21, + 0x11, 0x21, 0x32, 0x36, 0x01, 0x61, 0x01, 0x42, 0xf2, 0x00, 0xff, + 0xff, 0xe6, 0xfd, 0xf3, 0x8d, 0x8d, 0xbf, 0x01, 0xcb, 0xfe, 0x35, + 0x02, 0x73, 0xa4, 0xa4, 0xfe, 0xd5, 0x01, 0x33, 0xa4, 0x9c, 0x03, + 0x0f, 0xcc, 0xba, 0xb7, 0xd2, 0x03, 0xe6, 0x93, 0xcc, 0xcc, 0x93, + 0xfd, 0x9d, 0x79, 0x73, 0xfe, 0x28, 0x70, 0x00, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x04, 0xa6, 0x05, 0xcb, 0x00, 0x12, 0x00, 0x1a, + 0x00, 0x47, 0x40, 0x24, 0x08, 0x04, 0x13, 0x13, 0x01, 0x10, 0x16, + 0x0c, 0x10, 0x0c, 0x1b, 0x1c, 0x08, 0x1a, 0x51, 0x59, 0x08, 0x08, + 0x10, 0x00, 0x10, 0x13, 0x51, 0x59, 0x10, 0x15, 0x07, 0x12, 0x00, + 0x12, 0x50, 0x59, 0x04, 0x02, 0x00, 0x0f, 0x00, 0x3f, 0xc6, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x21, 0x11, 0x33, + 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x23, 0x21, 0x11, 0x21, 0x01, 0x33, 0x32, 0x35, 0x34, 0x26, 0x2b, + 0x01, 0x15, 0x01, 0x2d, 0xb4, 0x01, 0x2a, 0xfe, 0xd6, 0x01, 0x11, + 0xcd, 0xd2, 0xd9, 0xc5, 0xfe, 0x3a, 0xfe, 0xd3, 0x01, 0xe1, 0xf7, + 0xfa, 0x74, 0x85, 0xf8, 0x04, 0x3a, 0x01, 0x91, 0xfe, 0x6f, 0x8b, + 0xfe, 0xe5, 0xa8, 0x9f, 0x9d, 0xb0, 0x03, 0xaf, 0xfc, 0xd0, 0xce, + 0x5e, 0x66, 0x00, 0x00, 0x01, 0x00, 0x3f, 0xff, 0xec, 0x04, 0xcc, + 0x05, 0x5a, 0x00, 0x24, 0x00, 0x69, 0x40, 0x37, 0x1b, 0x1a, 0x1a, + 0x08, 0x22, 0x00, 0x00, 0x15, 0x0e, 0x0e, 0x24, 0x11, 0x08, 0x14, + 0x10, 0x10, 0x11, 0x07, 0x08, 0x11, 0x08, 0x25, 0x26, 0x17, 0x1f, + 0x5f, 0x59, 0x17, 0x04, 0x00, 0x0f, 0x14, 0x0f, 0x5f, 0x59, 0x22, + 0x14, 0x07, 0x14, 0x1b, 0x1b, 0x14, 0x07, 0x03, 0x11, 0x12, 0x03, + 0x11, 0x12, 0x0b, 0x03, 0x5f, 0x59, 0x0b, 0x13, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x3f, 0x12, 0x17, 0x39, 0x2f, 0x2f, 0x2f, 0x11, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x37, 0x17, 0x0e, + 0x01, 0x23, 0x22, 0x02, 0x03, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x21, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x02, 0x23, 0x22, + 0x06, 0x07, 0x21, 0x15, 0x02, 0x42, 0x09, 0x7a, 0x7d, 0x33, 0x4d, + 0x40, 0x31, 0x99, 0x46, 0xbd, 0x89, 0xc8, 0xdf, 0x0d, 0xaa, 0xa3, + 0xa3, 0xaa, 0x19, 0x01, 0x93, 0x8b, 0xc1, 0x38, 0xa1, 0x23, 0x3b, + 0x4f, 0x35, 0x7b, 0x73, 0x09, 0x01, 0x46, 0x02, 0x61, 0xfc, 0xde, + 0x32, 0x61, 0x7e, 0x38, 0xc6, 0xae, 0x01, 0x3e, 0x01, 0x33, 0xfd, + 0xa3, 0x05, 0x45, 0xfd, 0xb3, 0x02, 0x62, 0xa3, 0xaf, 0x3e, 0x6a, + 0x5c, 0x2e, 0xd6, 0xf6, 0x91, 0x00, 0x00, 0x00, 0x01, 0x00, 0x63, + 0xff, 0xec, 0x04, 0x9f, 0x04, 0x4e, 0x00, 0x22, 0x00, 0x69, 0x40, + 0x38, 0x05, 0x01, 0x01, 0x13, 0x16, 0x16, 0x06, 0x22, 0x22, 0x15, + 0x02, 0x1c, 0x0d, 0x0c, 0x0c, 0x1b, 0x1c, 0x02, 0x1c, 0x23, 0x24, + 0x1f, 0x18, 0x50, 0x59, 0x1f, 0x16, 0x09, 0x10, 0x50, 0x59, 0x09, + 0x10, 0x16, 0x00, 0x05, 0x00, 0x51, 0x59, 0x13, 0x05, 0x2f, 0x05, + 0x01, 0x1b, 0x05, 0x0d, 0x0d, 0x05, 0x1b, 0x03, 0x02, 0x03, 0x0f, + 0x02, 0x15, 0x00, 0x3f, 0x3f, 0x12, 0x17, 0x39, 0x2f, 0x2f, 0x2f, + 0x5d, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x33, 0x11, + 0x33, 0x36, 0x12, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, + 0x22, 0x06, 0x07, 0x21, 0x15, 0x21, 0x12, 0x33, 0x32, 0x36, 0x37, + 0x17, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x27, 0x01, 0x07, 0xa4, 0xa4, + 0xaa, 0x0c, 0xca, 0xb6, 0x8d, 0xb9, 0x18, 0xad, 0x0b, 0x5b, 0x54, + 0x6c, 0x66, 0x06, 0x01, 0x4e, 0xfe, 0xb2, 0x0d, 0xcd, 0x4d, 0x65, + 0x0c, 0xab, 0x13, 0xbd, 0x93, 0xb6, 0xcd, 0x0b, 0x01, 0xe2, 0xfe, + 0x1e, 0x04, 0x3a, 0xfe, 0x2b, 0xea, 0x00, 0xff, 0xa7, 0x95, 0x0e, + 0x5a, 0x6a, 0xaa, 0xb9, 0x83, 0xfe, 0x91, 0x67, 0x6d, 0x0c, 0x9b, + 0xb4, 0x01, 0x02, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, + 0x00, 0x00, 0x04, 0xc2, 0x05, 0x45, 0x00, 0x0b, 0x00, 0x14, 0x00, + 0x4b, 0x40, 0x26, 0x11, 0x02, 0x01, 0x01, 0x00, 0x0b, 0x0a, 0x04, + 0x05, 0x10, 0x07, 0x0c, 0x08, 0x08, 0x09, 0x09, 0x05, 0x0c, 0x00, + 0x04, 0x16, 0x15, 0x03, 0x07, 0x10, 0x07, 0x5f, 0x59, 0x10, 0x10, + 0x09, 0x0c, 0x0a, 0x03, 0x05, 0x01, 0x09, 0x12, 0x00, 0x3f, 0x33, + 0x33, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x32, 0x32, 0x11, 0x33, 0x11, 0x39, 0x39, 0x31, 0x30, 0x21, + 0x23, 0x03, 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 0x23, 0x01, 0x33, + 0x0f, 0x01, 0x06, 0x0f, 0x01, 0x21, 0x27, 0x26, 0x27, 0x04, 0xc2, + 0xc9, 0xbc, 0x82, 0xaf, 0x7d, 0xbc, 0xc9, 0x01, 0xf9, 0xc6, 0x62, + 0x08, 0x27, 0x25, 0x4f, 0x01, 0x45, 0x4e, 0x2b, 0x21, 0x02, 0x14, + 0xfd, 0xec, 0x02, 0x14, 0xfd, 0xec, 0x05, 0x45, 0xa9, 0x1e, 0x8f, + 0x69, 0xdd, 0xdd, 0x7c, 0x7d, 0x00, 0x02, 0x00, 0x45, 0x00, 0x00, + 0x04, 0x87, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x12, 0x00, 0x4b, 0x40, + 0x26, 0x0c, 0x02, 0x01, 0x01, 0x00, 0x0b, 0x0a, 0x04, 0x05, 0x12, + 0x07, 0x0f, 0x08, 0x08, 0x09, 0x09, 0x05, 0x0f, 0x00, 0x04, 0x14, + 0x13, 0x03, 0x07, 0x12, 0x07, 0x50, 0x59, 0x12, 0x12, 0x09, 0x0f, + 0x0a, 0x0f, 0x05, 0x01, 0x09, 0x15, 0x00, 0x3f, 0x33, 0x33, 0x3f, + 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x32, + 0x32, 0x11, 0x33, 0x11, 0x39, 0x39, 0x31, 0x30, 0x21, 0x23, 0x03, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 0x23, 0x01, 0x33, 0x13, 0x27, + 0x26, 0x27, 0x0f, 0x02, 0x04, 0x87, 0xc9, 0x90, 0x7b, 0xa4, 0x74, + 0x8c, 0xca, 0x01, 0xb1, 0xd5, 0x2e, 0x4f, 0x20, 0x2a, 0x0e, 0x37, + 0x4c, 0x01, 0x70, 0xfe, 0x90, 0x01, 0x70, 0xfe, 0x90, 0x04, 0x3a, + 0xfd, 0xbe, 0xca, 0x58, 0x93, 0x34, 0xb9, 0xc8, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x3f, 0x00, 0x00, 0x04, 0xcd, 0x05, 0x45, 0x00, 0x13, + 0x00, 0x1c, 0x00, 0x67, 0x40, 0x35, 0x10, 0x0c, 0x0c, 0x0d, 0x18, + 0x07, 0x14, 0x08, 0x08, 0x09, 0x04, 0x05, 0x11, 0x0a, 0x12, 0x09, + 0x12, 0x13, 0x19, 0x02, 0x14, 0x01, 0x01, 0x00, 0x00, 0x14, 0x05, + 0x09, 0x0d, 0x05, 0x1d, 0x1e, 0x07, 0x03, 0x0b, 0x10, 0x0b, 0x5f, + 0x59, 0x18, 0x10, 0x10, 0x0d, 0x14, 0x12, 0x03, 0x0e, 0x03, 0x09, + 0x05, 0x01, 0x0d, 0x12, 0x00, 0x3f, 0x33, 0x33, 0x33, 0x3f, 0x3f, + 0x33, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x32, + 0x32, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x23, 0x03, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 0x23, 0x13, 0x23, 0x11, 0x23, + 0x11, 0x33, 0x11, 0x33, 0x13, 0x33, 0x0f, 0x01, 0x06, 0x0f, 0x01, + 0x21, 0x27, 0x26, 0x27, 0x04, 0xcd, 0xa2, 0x99, 0x5f, 0xa2, 0x5b, + 0x99, 0xa2, 0xa1, 0xba, 0xa3, 0xa3, 0xe9, 0xc9, 0xa0, 0x4f, 0x07, + 0x1d, 0x20, 0x40, 0x01, 0x07, 0x3f, 0x19, 0x15, 0x02, 0x14, 0xfd, + 0xec, 0x02, 0x14, 0xfd, 0xec, 0x02, 0x14, 0xfd, 0xec, 0x05, 0x45, + 0xfd, 0x6a, 0x02, 0x96, 0xa9, 0x1e, 0x85, 0x73, 0xdd, 0xdd, 0x58, + 0x5e, 0x00, 0x02, 0x00, 0x63, 0x00, 0x00, 0x04, 0xc2, 0x04, 0x3a, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x6b, 0x40, 0x36, 0x00, 0x07, 0x01, + 0x06, 0x06, 0x05, 0x16, 0x0f, 0x03, 0x0e, 0x03, 0x02, 0x0c, 0x0d, + 0x04, 0x01, 0x01, 0x09, 0x09, 0x0a, 0x0d, 0x0e, 0x15, 0x11, 0x11, + 0x12, 0x12, 0x0e, 0x0a, 0x05, 0x04, 0x18, 0x17, 0x13, 0x0f, 0x0c, + 0x08, 0x10, 0x15, 0x10, 0x51, 0x59, 0x02, 0x15, 0x15, 0x03, 0x0e, + 0x0a, 0x06, 0x12, 0x15, 0x01, 0x03, 0x0f, 0x00, 0x3f, 0x33, 0x3f, + 0x33, 0x33, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, + 0x39, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x39, 0x31, 0x30, 0x01, 0x0b, 0x01, 0x13, 0x33, 0x01, 0x23, 0x03, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 0x23, 0x13, 0x23, 0x11, 0x23, + 0x11, 0x33, 0x11, 0x21, 0x03, 0x8e, 0x7b, 0x78, 0x35, 0x88, 0x01, + 0x6a, 0x9e, 0x71, 0x54, 0x99, 0x51, 0x6e, 0xa3, 0x7d, 0xda, 0xa4, + 0xa4, 0x01, 0x05, 0x01, 0xf8, 0x01, 0x92, 0xfe, 0x6e, 0x02, 0x42, + 0xfb, 0xc6, 0x01, 0x70, 0xfe, 0x90, 0x01, 0x70, 0xfe, 0x90, 0x01, + 0x71, 0xfe, 0x8f, 0x04, 0x3a, 0xfd, 0xba, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x16, 0x00, 0x00, 0x04, 0xb8, 0x05, 0x45, 0x00, 0x1b, + 0x00, 0x1e, 0x00, 0x5f, 0x40, 0x2f, 0x1d, 0x1b, 0x1e, 0x1a, 0x1b, + 0x1a, 0x05, 0x14, 0x19, 0x00, 0x1c, 0x1c, 0x0c, 0x0c, 0x0d, 0x0d, + 0x05, 0x13, 0x14, 0x06, 0x05, 0x05, 0x14, 0x20, 0x1f, 0x0b, 0x0e, + 0x19, 0x0e, 0x60, 0x59, 0x1c, 0x00, 0x19, 0x19, 0x14, 0x1a, 0x1a, + 0x1e, 0x5f, 0x59, 0x1a, 0x03, 0x0d, 0x06, 0x14, 0x12, 0x00, 0x3f, + 0x33, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x1e, 0x02, 0x1d, 0x01, 0x23, 0x35, 0x34, 0x2e, 0x01, 0x27, + 0x11, 0x23, 0x11, 0x0e, 0x02, 0x1d, 0x01, 0x23, 0x35, 0x34, 0x3e, + 0x01, 0x37, 0x01, 0x21, 0x01, 0x13, 0x21, 0x03, 0x30, 0x93, 0xaa, + 0x4b, 0xb4, 0x38, 0x86, 0x7b, 0xbe, 0x7f, 0x8a, 0x3a, 0xb4, 0x4f, + 0xae, 0x95, 0xfe, 0xc9, 0x03, 0xee, 0xfe, 0x0f, 0xc1, 0xfe, 0x72, + 0x03, 0x05, 0x0e, 0x77, 0xd4, 0xdf, 0xcd, 0xd2, 0xc2, 0x94, 0x46, + 0x04, 0xfd, 0x8e, 0x02, 0x72, 0x05, 0x49, 0x99, 0xb9, 0xd2, 0xcd, + 0xda, 0xd7, 0x78, 0x0f, 0x02, 0x40, 0xfd, 0xb9, 0x01, 0xab, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x04, 0xaa, 0x04, 0x3a, + 0x00, 0x1a, 0x00, 0x1d, 0x00, 0x5b, 0x40, 0x2f, 0x0e, 0x0f, 0x1c, + 0x14, 0x16, 0x13, 0x1d, 0x1d, 0x07, 0x07, 0x08, 0x1b, 0x15, 0x01, + 0x00, 0x00, 0x15, 0x08, 0x14, 0x0f, 0x05, 0x1e, 0x1f, 0x16, 0x13, + 0x13, 0x1d, 0x06, 0x09, 0x1d, 0x09, 0x51, 0x59, 0x1d, 0x1d, 0x0f, + 0x14, 0x14, 0x1c, 0x50, 0x59, 0x14, 0x0f, 0x08, 0x01, 0x0f, 0x15, + 0x00, 0x3f, 0x33, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x23, + 0x35, 0x34, 0x2e, 0x01, 0x27, 0x11, 0x23, 0x11, 0x22, 0x0e, 0x01, + 0x1d, 0x01, 0x23, 0x35, 0x34, 0x36, 0x37, 0x01, 0x21, 0x01, 0x1e, + 0x02, 0x15, 0x01, 0x21, 0x13, 0x04, 0xaa, 0xaa, 0x3b, 0x88, 0x83, + 0xa9, 0x7c, 0x8a, 0x3e, 0xaa, 0xb6, 0xd9, 0xfe, 0xca, 0x03, 0xd8, + 0xfe, 0xc8, 0x94, 0xad, 0x4d, 0xfe, 0x98, 0xfe, 0x4f, 0xd6, 0x46, + 0x90, 0x91, 0x44, 0x04, 0xfe, 0x51, 0x01, 0xaf, 0x45, 0x95, 0x8f, + 0x46, 0x46, 0xfe, 0xdc, 0x14, 0x02, 0x06, 0xfd, 0xfa, 0x0e, 0x6b, + 0xc6, 0xaf, 0x03, 0x69, 0xfe, 0x7e, 0x00, 0x02, 0x00, 0x3f, 0x00, + 0x00, 0x04, 0xa3, 0x05, 0x45, 0x00, 0x22, 0x00, 0x25, 0x00, 0x74, + 0x40, 0x3a, 0x24, 0x22, 0x25, 0x21, 0x22, 0x21, 0x06, 0x15, 0x20, + 0x00, 0x23, 0x23, 0x0e, 0x0d, 0x14, 0x15, 0x0d, 0x0e, 0x15, 0x0e, + 0x1c, 0x06, 0x1f, 0x1b, 0x1b, 0x1c, 0x07, 0x06, 0x06, 0x1c, 0x27, + 0x26, 0x0f, 0x0c, 0x1a, 0x1f, 0x1a, 0x5f, 0x59, 0x23, 0x00, 0x1f, + 0x1f, 0x1c, 0x21, 0x21, 0x25, 0x5f, 0x59, 0x21, 0x03, 0x1d, 0x03, + 0x15, 0x0e, 0x07, 0x1c, 0x12, 0x00, 0x3f, 0x33, 0x33, 0x33, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x1e, 0x03, 0x1d, 0x01, + 0x23, 0x35, 0x34, 0x2e, 0x01, 0x27, 0x11, 0x23, 0x11, 0x0e, 0x02, + 0x1d, 0x01, 0x23, 0x35, 0x34, 0x36, 0x37, 0x23, 0x11, 0x23, 0x11, + 0x33, 0x11, 0x21, 0x03, 0x21, 0x01, 0x13, 0x23, 0x03, 0x84, 0x6b, + 0x75, 0x36, 0x09, 0xa6, 0x21, 0x50, 0x4b, 0xa4, 0x4e, 0x53, 0x23, + 0xa6, 0x1a, 0x1a, 0x86, 0xa2, 0xa2, 0x01, 0x79, 0xd3, 0x02, 0xca, + 0xfe, 0xa0, 0x74, 0xf3, 0x03, 0x05, 0x0d, 0x5d, 0x94, 0xc5, 0x75, + 0xcd, 0xd2, 0xd7, 0x85, 0x40, 0x04, 0xfd, 0x8e, 0x02, 0x72, 0x05, + 0x43, 0x8c, 0xcc, 0xd2, 0xcd, 0xbe, 0xa8, 0x38, 0xfd, 0x95, 0x05, + 0x45, 0xfd, 0xc1, 0x02, 0x3f, 0xfd, 0xb9, 0x01, 0xab, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x2e, 0x00, 0x00, 0x04, 0xb4, 0x04, 0x3a, 0x00, + 0x21, 0x00, 0x24, 0x00, 0x72, 0x40, 0x39, 0x22, 0x06, 0x23, 0x05, + 0x06, 0x05, 0x0c, 0x1b, 0x07, 0x04, 0x24, 0x24, 0x14, 0x13, 0x1a, + 0x1b, 0x13, 0x14, 0x1b, 0x14, 0x00, 0x0d, 0x0c, 0x03, 0x21, 0x21, + 0x00, 0x0c, 0x00, 0x26, 0x25, 0x15, 0x12, 0x20, 0x03, 0x20, 0x50, + 0x59, 0x24, 0x07, 0x03, 0x03, 0x00, 0x05, 0x05, 0x23, 0x50, 0x59, + 0x05, 0x0f, 0x01, 0x0f, 0x1b, 0x14, 0x0d, 0x00, 0x15, 0x00, 0x3f, + 0x32, 0x32, 0x32, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, + 0x33, 0x11, 0x21, 0x03, 0x21, 0x03, 0x1e, 0x02, 0x1d, 0x01, 0x23, + 0x35, 0x34, 0x2e, 0x01, 0x27, 0x11, 0x23, 0x11, 0x22, 0x0e, 0x01, + 0x1d, 0x01, 0x23, 0x35, 0x34, 0x36, 0x37, 0x23, 0x11, 0x01, 0x23, + 0x13, 0x2e, 0xb4, 0x01, 0x84, 0xd2, 0x02, 0xca, 0xca, 0x71, 0x7a, + 0x35, 0xaa, 0x20, 0x4d, 0x4d, 0xa9, 0x4b, 0x4c, 0x21, 0xaa, 0x38, + 0x3c, 0xd7, 0x02, 0x92, 0xf3, 0x7c, 0x04, 0x3a, 0xfd, 0xfa, 0x02, + 0x06, 0xfd, 0xfa, 0x0d, 0x5c, 0xaf, 0xd6, 0x46, 0x46, 0xbb, 0x77, + 0x34, 0x03, 0xfe, 0x51, 0x01, 0xaf, 0x36, 0x7e, 0xb5, 0x46, 0x46, + 0x9a, 0xa4, 0x2b, 0xfe, 0x51, 0x03, 0xaf, 0xfe, 0x7e, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x4c, 0xfe, 0x57, 0x04, 0x5c, 0x06, 0xeb, + 0x00, 0x54, 0x00, 0x8d, 0x40, 0x51, 0x0f, 0x10, 0x36, 0x4b, 0x15, + 0x14, 0x23, 0x13, 0x16, 0x41, 0x40, 0x09, 0x26, 0x00, 0x2c, 0x2c, + 0x26, 0x40, 0x1c, 0x29, 0x16, 0x05, 0x14, 0x4b, 0x10, 0x0a, 0x55, + 0x56, 0x3d, 0x43, 0x5f, 0x59, 0x32, 0x4f, 0x60, 0x59, 0x29, 0x05, + 0x04, 0x05, 0x04, 0x60, 0x59, 0x23, 0x13, 0x13, 0x16, 0x16, 0x0c, + 0x5f, 0x59, 0x0f, 0x05, 0x01, 0x0e, 0x03, 0x3d, 0x32, 0x05, 0x0f, + 0x16, 0x16, 0x0f, 0x05, 0x32, 0x3d, 0x05, 0x48, 0x1a, 0x48, 0x38, + 0x5f, 0x59, 0x41, 0x48, 0x1a, 0x1f, 0x60, 0x59, 0x14, 0x1a, 0x00, + 0x2f, 0xc4, 0x2b, 0x00, 0x18, 0x2f, 0xc4, 0x2b, 0x11, 0x12, 0x00, + 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x37, + 0x03, 0x33, 0x13, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x07, 0x26, + 0x23, 0x22, 0x06, 0x0f, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, + 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x03, 0x07, 0x0e, 0x02, 0x15, 0x14, + 0x33, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x23, + 0x22, 0x0e, 0x02, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x37, + 0x3e, 0x04, 0x03, 0x9b, 0xc0, 0xca, 0x47, 0x47, 0xb5, 0xad, 0x91, + 0x87, 0x7e, 0xac, 0x33, 0xb2, 0x37, 0xc1, 0x97, 0xb8, 0x9c, 0xa3, + 0x5b, 0x1d, 0x48, 0x36, 0x53, 0x2d, 0x42, 0x11, 0x1c, 0x0e, 0x15, + 0x0d, 0x58, 0x9d, 0xb4, 0x90, 0x88, 0x98, 0xaa, 0x30, 0x52, 0x75, + 0x8e, 0x9b, 0x97, 0x6d, 0x3b, 0xa4, 0x3a, 0x6b, 0x63, 0x5d, 0x2d, + 0x5e, 0x6d, 0x98, 0x4a, 0x1d, 0x56, 0x6c, 0x7e, 0x43, 0x88, 0xa2, + 0x54, 0x9c, 0xa1, 0x93, 0x6c, 0x57, 0x3f, 0x23, 0x01, 0x93, 0x85, + 0x76, 0x94, 0x77, 0x7b, 0x6b, 0x7b, 0x75, 0x82, 0x3d, 0x89, 0xa7, + 0x1a, 0x01, 0x53, 0xfe, 0xbb, 0xd8, 0x43, 0x38, 0x4d, 0x3e, 0x1e, + 0x0f, 0x1d, 0xc8, 0x1c, 0xbd, 0x8c, 0x7f, 0xa6, 0x20, 0x17, 0xaf, + 0x84, 0x5b, 0x83, 0x5c, 0x3b, 0x24, 0x12, 0x11, 0x20, 0x33, 0x29, + 0x6c, 0x1b, 0x21, 0x1c, 0x82, 0x64, 0x4d, 0x1c, 0x22, 0x1c, 0x90, + 0x7a, 0x57, 0x6e, 0x3e, 0x0f, 0x0e, 0x16, 0x25, 0x3e, 0x59, 0x00, + 0x01, 0x00, 0x96, 0xfe, 0x57, 0x03, 0xfa, 0x05, 0xa9, 0x00, 0x4d, + 0x00, 0x8d, 0x40, 0x1e, 0x39, 0x00, 0x14, 0x15, 0x19, 0x18, 0x27, + 0x17, 0x1a, 0x0e, 0x2a, 0x08, 0x31, 0x44, 0x43, 0x43, 0x31, 0x20, + 0x2a, 0x2d, 0x1a, 0x0a, 0x18, 0x15, 0x00, 0x0a, 0x4e, 0x4f, 0x40, + 0x46, 0xb8, 0x01, 0x0a, 0x40, 0x15, 0x59, 0x2d, 0x0b, 0x0a, 0x0b, + 0x0a, 0x50, 0x59, 0x44, 0x40, 0x0b, 0x14, 0x14, 0x0b, 0x40, 0x44, + 0x04, 0x4b, 0x17, 0x4b, 0x3b, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x4b, + 0x1c, 0x1e, 0x23, 0xb8, 0x01, 0x19, 0x40, 0x0e, 0x59, 0x1e, 0x27, + 0x17, 0x17, 0x18, 0x1a, 0x40, 0x1a, 0x11, 0x50, 0x59, 0x1a, 0x10, + 0x00, 0x3f, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xdd, 0x33, 0x11, 0x33, + 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, + 0x18, 0x2f, 0x2f, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x17, 0x34, 0x3e, 0x01, 0x37, 0x3e, 0x02, 0x35, 0x34, 0x21, 0x35, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, + 0x37, 0x03, 0x33, 0x13, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x07, + 0x26, 0x23, 0x22, 0x06, 0x0f, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x06, + 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x02, + 0x15, 0x14, 0x33, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x15, 0x23, + 0x34, 0x23, 0x22, 0x0e, 0x02, 0x23, 0x22, 0x26, 0x96, 0x48, 0x85, + 0x8a, 0x84, 0x6b, 0x39, 0xfe, 0xb5, 0xa1, 0x98, 0x63, 0x5d, 0x59, + 0x71, 0x0c, 0xa2, 0x24, 0xd4, 0xbc, 0x9c, 0xa3, 0x5b, 0x1d, 0x48, + 0x36, 0x53, 0x2d, 0x42, 0x11, 0x1c, 0x0e, 0x15, 0x0d, 0x5b, 0x70, + 0x88, 0x91, 0x67, 0x79, 0x99, 0x52, 0xac, 0xb3, 0x70, 0x4f, 0x2a, + 0x98, 0x3a, 0x5c, 0x52, 0x4e, 0x2d, 0x5b, 0x6a, 0x98, 0x4a, 0x1d, + 0x45, 0x57, 0x6c, 0x44, 0x7b, 0x9e, 0x9f, 0x4e, 0x63, 0x3c, 0x14, + 0x13, 0x2d, 0x4c, 0x3d, 0xc8, 0x89, 0x54, 0x58, 0x4a, 0x56, 0x4a, + 0x46, 0x14, 0xca, 0x2c, 0x01, 0x59, 0xfe, 0xbb, 0xd8, 0x43, 0x38, + 0x4d, 0x3e, 0x1e, 0x0f, 0x1d, 0xd0, 0x1a, 0x8f, 0x66, 0x65, 0x88, + 0x09, 0x02, 0x0d, 0x8f, 0x6d, 0x5f, 0x85, 0x50, 0x1a, 0x13, 0x1f, + 0x2e, 0x24, 0x74, 0x1f, 0x24, 0x1f, 0x7d, 0x68, 0x4d, 0x1d, 0x23, + 0x1d, 0x96, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x04, 0x9c, + 0x05, 0x45, 0x00, 0x1d, 0x00, 0x44, 0x40, 0x22, 0x1d, 0x11, 0x10, + 0x00, 0x0e, 0x10, 0x03, 0x0f, 0x0f, 0x07, 0x16, 0x17, 0x17, 0x1e, + 0x1f, 0x08, 0x07, 0x07, 0x1e, 0x1c, 0x01, 0x0e, 0x01, 0x60, 0x59, + 0x11, 0x0e, 0x0e, 0x16, 0x0f, 0x07, 0x03, 0x00, 0x12, 0x00, 0x3f, + 0x3f, 0x33, 0x33, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, 0x11, 0x22, + 0x2e, 0x02, 0x27, 0x03, 0x33, 0x13, 0x1e, 0x03, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x02, 0x2b, + 0x01, 0x11, 0x02, 0x19, 0x84, 0x74, 0x4e, 0x46, 0x2a, 0x64, 0xa1, + 0x64, 0x20, 0x2d, 0x31, 0x46, 0x51, 0x9b, 0x33, 0x85, 0x8f, 0xa1, + 0xe5, 0xc9, 0x3a, 0x01, 0x8d, 0x28, 0x63, 0xc4, 0xb8, 0x01, 0xb1, + 0xfe, 0x4b, 0x8e, 0x86, 0x49, 0x1e, 0x03, 0x30, 0xfc, 0xd0, 0xc8, + 0xb3, 0x01, 0xb5, 0xfe, 0x4f, 0xf2, 0xfe, 0xeb, 0xfe, 0x73, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x15, 0xfe, 0x57, 0x04, 0x5e, 0x04, + 0x3a, 0x00, 0x19, 0x00, 0x3e, 0x40, 0x1e, 0x0a, 0x19, 0x19, 0x0b, + 0x18, 0x18, 0x05, 0x12, 0x11, 0x04, 0x05, 0x11, 0x05, 0x1a, 0x1b, + 0x18, 0x04, 0x11, 0x0f, 0x00, 0x17, 0x0c, 0x17, 0x50, 0x59, 0x09, + 0x0c, 0x16, 0x0b, 0x1c, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x3e, 0x01, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x07, + 0x11, 0x23, 0x11, 0x2e, 0x02, 0x27, 0x03, 0x33, 0x13, 0x1e, 0x02, + 0x17, 0x11, 0x33, 0x02, 0x90, 0xa2, 0x8c, 0xa0, 0xe1, 0xed, 0x9f, + 0x6c, 0x82, 0x52, 0x25, 0x77, 0xa7, 0x80, 0x16, 0x2a, 0x3e, 0x37, + 0x9f, 0x77, 0x02, 0x9e, 0xb1, 0x02, 0x72, 0xfd, 0x90, 0xf7, 0xe5, + 0x02, 0xfe, 0x6b, 0x01, 0x95, 0x02, 0x51, 0xae, 0xc9, 0x02, 0x84, + 0xfd, 0x52, 0x78, 0x6d, 0x2f, 0x01, 0x03, 0xc3, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x05, 0x5a, 0x00, + 0x0b, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x48, 0x40, 0x26, 0x21, 0x0e, + 0x0e, 0x06, 0x14, 0x1d, 0x1d, 0x00, 0x06, 0x00, 0x28, 0x29, 0x1b, + 0x16, 0x5f, 0x59, 0x23, 0x0c, 0x5f, 0x59, 0x1b, 0x23, 0x1b, 0x23, + 0x03, 0x09, 0x09, 0x1f, 0x5f, 0x59, 0x09, 0x04, 0x03, 0x11, 0x5f, + 0x59, 0x03, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, + 0x33, 0x32, 0x00, 0x01, 0x22, 0x07, 0x1a, 0x01, 0x33, 0x32, 0x36, + 0x37, 0x06, 0x23, 0x22, 0x2e, 0x02, 0x25, 0x32, 0x37, 0x02, 0x21, + 0x20, 0x03, 0x36, 0x33, 0x32, 0x1e, 0x02, 0x04, 0x66, 0xfe, 0xf7, + 0xf8, 0xf9, 0xfe, 0xfa, 0x01, 0x09, 0xf8, 0xf7, 0x01, 0x08, 0xfd, + 0x4f, 0x49, 0x3d, 0x04, 0x9e, 0x95, 0x8e, 0x94, 0x10, 0x2b, 0x26, + 0x3c, 0x67, 0x60, 0x5d, 0x01, 0x65, 0x2a, 0x27, 0x08, 0xfe, 0xd2, + 0xfe, 0xef, 0x22, 0x3d, 0x43, 0x3f, 0x65, 0x5c, 0x5f, 0x02, 0xa9, + 0xfe, 0xaf, 0xfe, 0x94, 0x01, 0x66, 0x01, 0x57, 0x01, 0x59, 0x01, + 0x58, 0xfe, 0xa5, 0xfe, 0xa8, 0x18, 0xfe, 0xff, 0xfe, 0xf9, 0xd5, + 0xcd, 0x0d, 0x2b, 0x35, 0x2b, 0x0e, 0x0b, 0x01, 0xfe, 0xfe, 0x6c, + 0x17, 0x2c, 0x34, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x81, + 0xff, 0xec, 0x04, 0x48, 0x04, 0x4e, 0x00, 0x0a, 0x00, 0x19, 0x00, + 0x28, 0x00, 0x48, 0x40, 0x26, 0x22, 0x0d, 0x0d, 0x06, 0x1c, 0x13, + 0x13, 0x00, 0x06, 0x00, 0x29, 0x2a, 0x1a, 0x15, 0x50, 0x59, 0x24, + 0x0b, 0x50, 0x59, 0x1a, 0x24, 0x1a, 0x24, 0x03, 0x08, 0x08, 0x1f, + 0x50, 0x59, 0x08, 0x10, 0x03, 0x10, 0x50, 0x59, 0x03, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, + 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x12, 0x01, 0x22, + 0x07, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x06, 0x23, 0x22, 0x2e, + 0x02, 0x25, 0x32, 0x37, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x36, + 0x33, 0x32, 0x1e, 0x02, 0x04, 0x48, 0xfa, 0xee, 0xed, 0xf2, 0x01, + 0xe5, 0xf8, 0xea, 0xfd, 0x78, 0x45, 0x3d, 0x05, 0x8d, 0x8e, 0x97, + 0x8b, 0x09, 0x49, 0x36, 0x34, 0x57, 0x4e, 0x4a, 0x01, 0x26, 0x3f, + 0x3d, 0x0b, 0x86, 0x8f, 0x89, 0x8c, 0x11, 0x3e, 0x3f, 0x32, 0x4f, + 0x4b, 0x4f, 0x02, 0x1e, 0xfe, 0xe4, 0xfe, 0xea, 0x01, 0x21, 0x01, + 0x11, 0x02, 0x30, 0xfe, 0xef, 0xfe, 0xe8, 0x23, 0xce, 0xc3, 0xb0, + 0xb9, 0x20, 0x21, 0x29, 0x21, 0x1f, 0x21, 0xb6, 0xae, 0x99, 0xa0, + 0x1e, 0x21, 0x28, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x00, + 0x00, 0x05, 0x31, 0x05, 0x4f, 0x00, 0x13, 0x00, 0x30, 0x40, 0x18, + 0x01, 0x00, 0x06, 0x06, 0x02, 0x0d, 0x0d, 0x15, 0x03, 0x02, 0x02, + 0x14, 0x15, 0x0a, 0x10, 0x5f, 0x59, 0x0a, 0x03, 0x02, 0x03, 0x06, + 0x01, 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x21, 0x23, 0x01, 0x33, 0x01, 0x16, 0x17, 0x1b, 0x01, + 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x07, + 0x02, 0xcd, 0xca, 0xfe, 0x07, 0xc9, 0x01, 0x40, 0x28, 0x2c, 0x51, + 0xc9, 0x3b, 0x9f, 0x48, 0x63, 0x2b, 0x61, 0x2b, 0x2c, 0x1e, 0x2d, + 0x14, 0x05, 0x45, 0xfc, 0x7a, 0x78, 0x9f, 0x01, 0x2c, 0x02, 0xb1, + 0xca, 0x35, 0x2b, 0x71, 0x2e, 0x3c, 0x42, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x53, 0x00, 0x00, 0x04, 0xce, 0x04, 0x4e, 0x00, 0x14, 0x00, + 0x2e, 0x40, 0x16, 0x0b, 0x0a, 0x10, 0x10, 0x03, 0x0d, 0x0c, 0x0c, + 0x15, 0x03, 0x16, 0x0c, 0x0f, 0x10, 0x0b, 0x15, 0x00, 0x06, 0x52, + 0x59, 0x00, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x3f, + 0x11, 0x01, 0x33, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x01, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, + 0x06, 0x07, 0x03, 0x23, 0x01, 0x33, 0x13, 0x16, 0x17, 0x37, 0x13, + 0x3e, 0x01, 0x03, 0xf8, 0x48, 0x63, 0x2b, 0x61, 0x2b, 0x2c, 0x1e, + 0x2d, 0x14, 0xfc, 0xdf, 0xfe, 0x77, 0xc0, 0xee, 0x0d, 0x38, 0x40, + 0x97, 0x20, 0x74, 0x04, 0x4e, 0x35, 0x2b, 0x71, 0x2e, 0x3c, 0x42, + 0xfc, 0xd3, 0x04, 0x3a, 0xfd, 0x40, 0x28, 0xc5, 0xeb, 0x02, 0x0a, + 0x6d, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x00, + 0x05, 0x31, 0x06, 0x9d, 0x12, 0x26, 0x04, 0x24, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xd0, 0x02, 0x18, 0x00, 0xf5, 0x00, 0x19, 0xb6, 0x02, + 0x01, 0x1f, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0x7b, 0xb4, 0x1c, + 0x19, 0x02, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x53, 0x00, 0x00, 0x04, 0xce, 0x05, + 0xa8, 0x12, 0x26, 0x04, 0x25, 0x00, 0x00, 0x11, 0x07, 0x02, 0xd0, + 0x02, 0x32, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x20, 0x11, + 0x26, 0x02, 0x01, 0xb8, 0xff, 0xa2, 0xb4, 0x1d, 0x1a, 0x0c, 0x03, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x03, 0x00, 0x1f, 0xfe, 0x57, 0x04, 0xc9, 0x05, 0x57, 0x00, 0x11, + 0x00, 0x1e, 0x00, 0x2e, 0x00, 0x51, 0x40, 0x2d, 0x27, 0x18, 0x0b, + 0x0a, 0x1f, 0x12, 0x0f, 0x09, 0x0c, 0x0d, 0x0e, 0x0e, 0x0c, 0x02, + 0x12, 0x0a, 0x18, 0x06, 0x2f, 0x30, 0x1b, 0x23, 0x60, 0x59, 0x1b, + 0x04, 0x15, 0x2b, 0x60, 0x59, 0x15, 0x13, 0x0d, 0x0a, 0x0f, 0x0f, + 0x0c, 0x09, 0x12, 0x00, 0x05, 0x60, 0x59, 0x00, 0x1c, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x33, 0x3f, 0x33, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x3f, 0x01, 0x01, 0x33, + 0x1b, 0x01, 0x33, 0x03, 0x0e, 0x01, 0x03, 0x10, 0x02, 0x23, 0x22, + 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x12, 0x03, 0x34, 0x2e, + 0x01, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x14, 0x1e, 0x01, 0x33, 0x32, + 0x3e, 0x01, 0x02, 0xbe, 0x34, 0x26, 0x1c, 0x22, 0x39, 0x4f, 0x25, + 0x0d, 0xfe, 0xf1, 0xa0, 0xb0, 0x8d, 0x9f, 0xf1, 0x34, 0x82, 0xc7, + 0x85, 0x9b, 0x98, 0x84, 0x85, 0x9a, 0x6b, 0x7b, 0x37, 0x9f, 0x16, + 0x34, 0x32, 0x34, 0x35, 0x17, 0x16, 0x34, 0x30, 0x35, 0x35, 0x18, + 0xfe, 0x57, 0x0b, 0x87, 0x06, 0x77, 0x80, 0x2b, 0x04, 0x35, 0xfc, + 0xee, 0x03, 0x12, 0xfb, 0xc6, 0xea, 0xbf, 0x04, 0x4c, 0xfe, 0x85, + 0xfe, 0xc4, 0x01, 0x42, 0x01, 0x75, 0x01, 0x81, 0x01, 0x33, 0x83, + 0xfe, 0xe7, 0xfe, 0xe8, 0xee, 0xe2, 0x64, 0x6a, 0xea, 0xe0, 0xdb, + 0xec, 0x6f, 0x67, 0xef, 0x00, 0x03, 0x00, 0x1f, 0xfe, 0x57, 0x04, + 0xc9, 0x04, 0x4e, 0x00, 0x09, 0x00, 0x19, 0x00, 0x2b, 0x00, 0x53, + 0x40, 0x2d, 0x12, 0x04, 0x25, 0x24, 0x0a, 0x00, 0x29, 0x23, 0x26, + 0x27, 0x28, 0x28, 0x26, 0x1c, 0x00, 0x24, 0x04, 0x06, 0x2c, 0x2d, + 0x27, 0x24, 0x0f, 0x29, 0x26, 0x23, 0x15, 0x1a, 0x1f, 0x50, 0x59, + 0x1a, 0x1c, 0x07, 0x0e, 0x51, 0x59, 0x07, 0x10, 0x02, 0x16, 0x51, + 0x59, 0x02, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x33, 0x3f, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x21, 0x20, 0x11, + 0x10, 0x12, 0x33, 0x32, 0x12, 0x03, 0x34, 0x2e, 0x01, 0x23, 0x22, + 0x0e, 0x01, 0x15, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x01, + 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x3f, 0x01, 0x01, 0x33, + 0x1b, 0x01, 0x33, 0x03, 0x0e, 0x01, 0x02, 0x5b, 0xfe, 0xe0, 0xfe, + 0xe4, 0x8b, 0x94, 0x93, 0x8a, 0x9f, 0x16, 0x34, 0x32, 0x34, 0x36, + 0x16, 0x16, 0x33, 0x31, 0x35, 0x36, 0x17, 0x01, 0x02, 0x34, 0x26, + 0x1c, 0x22, 0x39, 0x4f, 0x25, 0x0d, 0xfe, 0xf1, 0xa0, 0xb0, 0x8d, + 0x9f, 0xf1, 0x34, 0x82, 0x02, 0x1e, 0xfd, 0xce, 0x02, 0x32, 0x01, + 0x19, 0x01, 0x17, 0xfe, 0xf5, 0xfe, 0xdb, 0xb6, 0xac, 0x4d, 0x53, + 0xb6, 0xa6, 0xa7, 0xb5, 0x55, 0x4f, 0xb8, 0xfc, 0xe3, 0x0b, 0x87, + 0x06, 0x77, 0x80, 0x2b, 0x04, 0x35, 0xfc, 0xee, 0x03, 0x12, 0xfb, + 0xc6, 0xea, 0xbf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x66, 0xff, 0x9f, + 0x04, 0x66, 0x05, 0xa3, 0x00, 0x17, 0x00, 0x2b, 0x00, 0x65, 0x40, + 0x37, 0x22, 0x0c, 0x20, 0x24, 0x1a, 0x2a, 0x18, 0x00, 0x00, 0x2a, + 0x24, 0x0c, 0x04, 0x2c, 0x2d, 0x1d, 0x1d, 0x1a, 0x20, 0x0f, 0x20, + 0x5f, 0x59, 0x15, 0x0f, 0x0f, 0x12, 0x1f, 0x12, 0x02, 0x09, 0x03, + 0x12, 0x12, 0x0f, 0x03, 0x2a, 0x24, 0x27, 0x27, 0x24, 0x09, 0x24, + 0x5f, 0x59, 0x00, 0x06, 0x10, 0x06, 0x02, 0x06, 0x06, 0x03, 0x09, + 0x12, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0x5d, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x11, 0x33, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x10, 0x02, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, + 0x26, 0x02, 0x11, 0x10, 0x12, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x16, + 0x17, 0x16, 0x12, 0x03, 0x10, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x27, 0x06, 0x11, 0x10, 0x17, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, + 0x36, 0x04, 0x66, 0xb2, 0xad, 0x16, 0x56, 0x35, 0x36, 0x55, 0x17, + 0xaf, 0xaf, 0xb6, 0xac, 0x17, 0x54, 0x33, 0x33, 0x53, 0x17, 0xae, + 0xb5, 0xc9, 0x9e, 0x17, 0x52, 0x30, 0x31, 0x52, 0x18, 0x9c, 0xa0, + 0x18, 0x4f, 0x30, 0x30, 0x50, 0x18, 0x9f, 0x02, 0xa9, 0xfe, 0xed, + 0xfe, 0xa6, 0x38, 0x2d, 0x38, 0x37, 0x2c, 0x36, 0x01, 0x5c, 0x01, + 0x15, 0x01, 0x1d, 0x01, 0x4d, 0x32, 0x2a, 0x34, 0x34, 0x2a, 0x32, + 0xfe, 0xb2, 0xfe, 0xe4, 0x01, 0x7b, 0x6d, 0x27, 0x2f, 0x2f, 0x27, + 0x6c, 0xfe, 0x84, 0xfe, 0x7f, 0x73, 0x26, 0x2c, 0x2f, 0x26, 0x6f, + 0x00, 0x02, 0x00, 0x3c, 0xff, 0x8f, 0x04, 0x90, 0x04, 0xad, 0x00, + 0x12, 0x00, 0x2a, 0x00, 0x6d, 0x40, 0x3c, 0x13, 0x00, 0x28, 0x16, + 0x22, 0x1c, 0x1f, 0x09, 0x09, 0x1c, 0x16, 0x00, 0x04, 0x2b, 0x2c, + 0x1c, 0x16, 0x00, 0x19, 0x01, 0x0a, 0x03, 0x19, 0x19, 0x16, 0x10, + 0x16, 0x50, 0x59, 0x00, 0x0e, 0x10, 0x0e, 0x02, 0x09, 0x03, 0x0e, + 0x0e, 0x0c, 0x10, 0x16, 0x25, 0x25, 0x22, 0x28, 0x03, 0x28, 0x50, + 0x59, 0x07, 0x03, 0x0f, 0x05, 0x1f, 0x05, 0x02, 0x05, 0x05, 0x03, + 0x10, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x11, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x18, 0x2f, 0x3f, 0x33, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x12, 0x37, 0x36, 0x33, 0x32, + 0x17, 0x04, 0x11, 0x14, 0x02, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, + 0x02, 0x13, 0x14, 0x16, 0x17, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, + 0x3e, 0x01, 0x35, 0x34, 0x26, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x27, 0x0e, 0x01, 0x3c, 0xcf, 0xcc, 0x2c, 0x64, 0x62, 0x2d, 0x01, + 0x9a, 0xd2, 0xc8, 0x2d, 0x62, 0x61, 0x2d, 0xc6, 0xd7, 0xbd, 0x6a, + 0x71, 0x12, 0x4b, 0x36, 0x35, 0x49, 0x13, 0x74, 0x67, 0x68, 0x72, + 0x13, 0x4a, 0x35, 0x35, 0x49, 0x13, 0x75, 0x68, 0x02, 0x1e, 0xf8, + 0x01, 0x1b, 0x18, 0x64, 0x63, 0x2d, 0xfe, 0x01, 0xfb, 0xfe, 0xe8, + 0x19, 0x63, 0x60, 0x13, 0x01, 0x1b, 0x01, 0x01, 0xc2, 0xd2, 0x17, + 0x30, 0x3c, 0x3a, 0x2e, 0x1b, 0xcd, 0xbf, 0xc2, 0xcd, 0x18, 0x2e, + 0x3a, 0x39, 0x2d, 0x1a, 0xd1, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, + 0xec, 0x04, 0xcb, 0x07, 0xd9, 0x00, 0x2f, 0x00, 0x3a, 0x00, 0x4d, + 0x00, 0x7d, 0x40, 0x44, 0x1d, 0x10, 0x43, 0x44, 0x38, 0x30, 0x30, + 0x3a, 0x23, 0x0b, 0x29, 0x06, 0x06, 0x4d, 0x00, 0x0b, 0x3a, 0x16, + 0x44, 0x10, 0x08, 0x4e, 0x4f, 0x3a, 0x39, 0x60, 0x59, 0x4d, 0x3b, + 0x3b, 0x44, 0x2c, 0x1a, 0x13, 0x1a, 0x5f, 0x59, 0x03, 0x13, 0x3a, + 0x44, 0x36, 0x13, 0x13, 0x36, 0x44, 0x3a, 0x04, 0x47, 0x0d, 0x47, + 0x41, 0x8e, 0x59, 0x47, 0x0d, 0x26, 0x20, 0x0d, 0x20, 0x5f, 0x59, + 0x23, 0x0b, 0x0b, 0x09, 0x0d, 0x13, 0x00, 0x3f, 0x33, 0x33, 0x11, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x10, 0xc4, 0x2b, 0x11, 0x12, + 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x2f, 0x11, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x33, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x3e, 0x01, 0x33, 0x32, + 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, 0x02, + 0x11, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, + 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x36, 0x37, 0x1e, 0x01, + 0x33, 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x06, 0x07, 0x03, + 0x15, 0x14, 0x0e, 0x01, 0x07, 0x23, 0x36, 0x35, 0x23, 0x35, 0x05, + 0x22, 0x26, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x23, 0x3e, 0x01, + 0x33, 0x32, 0x16, 0x17, 0x1e, 0x01, 0x33, 0x02, 0xea, 0x20, 0x42, + 0x31, 0x9d, 0xb1, 0xc7, 0xb1, 0x96, 0x58, 0x57, 0x96, 0xb1, 0xc7, + 0xb3, 0x9d, 0x31, 0x43, 0x20, 0x37, 0x0d, 0x36, 0x14, 0x47, 0x4d, + 0x7b, 0x68, 0x3a, 0x68, 0x1e, 0x1f, 0x68, 0x3a, 0x69, 0x7a, 0x4b, + 0x47, 0x13, 0x36, 0x0d, 0x68, 0x0b, 0x16, 0x25, 0x6a, 0x53, 0x4e, + 0x02, 0x43, 0x4b, 0x8f, 0x52, 0x57, 0x74, 0x37, 0xb6, 0x24, 0x81, + 0x1a, 0xb6, 0x84, 0x3c, 0x7b, 0x60, 0x5c, 0x81, 0x41, 0x05, 0x57, + 0x1d, 0x22, 0xfe, 0x83, 0xfe, 0xae, 0xfe, 0xac, 0xfe, 0x79, 0x6d, + 0x6d, 0x01, 0x86, 0x01, 0x55, 0x01, 0x54, 0x01, 0x7b, 0x22, 0x1d, + 0x94, 0x15, 0x22, 0xfe, 0xd8, 0xfe, 0xf5, 0xfe, 0xfc, 0xfe, 0xc1, + 0x55, 0x46, 0x46, 0x55, 0x01, 0x41, 0x01, 0x02, 0x01, 0x02, 0x01, + 0x31, 0x20, 0x17, 0x02, 0x40, 0x62, 0x2a, 0x3c, 0x34, 0x3a, 0x62, + 0x47, 0x8d, 0x80, 0x35, 0x38, 0x3c, 0x31, 0xdd, 0xa5, 0xb4, 0x2e, + 0x3c, 0x3a, 0x30, 0x00, 0x03, 0x00, 0x27, 0xff, 0xec, 0x04, 0xa7, + 0x06, 0x94, 0x00, 0x23, 0x00, 0x2e, 0x00, 0x41, 0x00, 0x77, 0x40, + 0x2c, 0x18, 0x11, 0x37, 0x38, 0x2c, 0x24, 0x24, 0x2e, 0x1e, 0x0c, + 0x00, 0x07, 0x07, 0x41, 0x03, 0x0c, 0x2e, 0x15, 0x38, 0x11, 0x08, + 0x42, 0x43, 0x3b, 0x35, 0x8e, 0x59, 0x3b, 0x14, 0x41, 0x2f, 0x2f, + 0x38, 0x14, 0x2e, 0x2d, 0x50, 0x59, 0x2e, 0x14, 0x03, 0x15, 0x14, + 0x15, 0xb8, 0x01, 0x0a, 0x40, 0x11, 0x59, 0x2a, 0x04, 0x14, 0x10, + 0x21, 0x1b, 0x0e, 0x1b, 0x50, 0x59, 0x1e, 0x0c, 0x0c, 0x0a, 0x0e, + 0x16, 0x00, 0x3f, 0x33, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x33, 0xc6, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x10, 0xc6, + 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x32, 0x2f, 0x33, 0x10, 0xc4, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, + 0x23, 0x35, 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x27, 0x06, + 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x15, 0x22, 0x06, 0x15, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x01, 0x15, 0x14, 0x0e, 0x01, 0x07, 0x23, 0x36, 0x35, 0x23, 0x35, + 0x05, 0x22, 0x26, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x23, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x01, 0x33, 0x03, 0xe9, 0x7c, + 0x92, 0xe1, 0xeb, 0xa7, 0xa7, 0x8e, 0x64, 0x67, 0x8b, 0xa6, 0xa8, + 0xeb, 0xe1, 0x92, 0x7c, 0x55, 0x5d, 0x3d, 0x75, 0x1e, 0x1f, 0x74, + 0x3d, 0x5d, 0x55, 0xfe, 0xd0, 0x0b, 0x16, 0x25, 0x6a, 0x53, 0x4e, + 0x02, 0x43, 0x4b, 0x8f, 0x52, 0x57, 0x74, 0x37, 0xb6, 0x24, 0x81, + 0x1a, 0xb6, 0x84, 0x3c, 0x7b, 0x60, 0x5c, 0x81, 0x41, 0x02, 0x22, + 0xdd, 0xb9, 0x96, 0xfe, 0xdf, 0xfe, 0xf1, 0xfe, 0xe2, 0xfe, 0xec, + 0x53, 0x53, 0x01, 0x13, 0x01, 0x1f, 0x01, 0x0f, 0x01, 0x21, 0x96, + 0xb8, 0xde, 0xe9, 0xbf, 0x3c, 0x2b, 0x2b, 0x3c, 0xc0, 0x04, 0x84, + 0x62, 0x2a, 0x3c, 0x34, 0x3a, 0x62, 0x47, 0x8d, 0x80, 0x35, 0x38, + 0x3c, 0x31, 0xdd, 0xa5, 0xb4, 0x2e, 0x3c, 0x3a, 0x30, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x48, 0xff, 0xec, 0x04, 0x85, 0x06, 0xe9, 0x12, + 0x26, 0x04, 0x10, 0x00, 0x00, 0x11, 0x07, 0x09, 0x19, 0x02, 0x66, + 0x01, 0x68, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x3a, 0x2f, 0x1d, 0x13, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xec, + 0x00, 0x00, 0x04, 0xa6, 0x05, 0x81, 0x12, 0x26, 0x04, 0x11, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x19, 0x02, 0x49, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x20, 0x11, 0x26, 0x01, 0x00, 0x21, 0x16, 0x0a, + 0x02, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x71, 0xfe, 0x55, 0x04, 0x5b, 0x05, 0x5a, 0x00, + 0x16, 0x00, 0x3b, 0x40, 0x1e, 0x14, 0x08, 0x03, 0x04, 0x0e, 0x0d, + 0x0d, 0x04, 0x08, 0x03, 0x17, 0x18, 0x0e, 0x0e, 0x05, 0x0a, 0x0a, + 0x11, 0x5f, 0x59, 0x0a, 0x04, 0x04, 0x1b, 0x05, 0x00, 0x5f, 0x59, + 0x05, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x32, 0x37, 0x11, + 0x23, 0x11, 0x26, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, 0x07, + 0x2e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x02, 0x95, 0x41, + 0x2d, 0xbf, 0xe4, 0xef, 0x02, 0x18, 0xa6, 0xe7, 0x45, 0xa8, 0x25, + 0x9d, 0x67, 0xab, 0xa5, 0xab, 0x87, 0x0f, 0xfd, 0xbf, 0x01, 0x9c, + 0x1b, 0x01, 0x68, 0x01, 0x35, 0x02, 0xb1, 0xa2, 0xad, 0x41, 0x71, + 0x83, 0xfe, 0xfe, 0xfe, 0xed, 0xfe, 0xef, 0xfe, 0xef, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xa4, 0xfe, 0x57, 0x04, 0x29, 0x04, 0x4c, + 0x00, 0x17, 0x00, 0x3b, 0x40, 0x1e, 0x11, 0x04, 0x17, 0x00, 0x0b, + 0x0a, 0x0a, 0x00, 0x04, 0x03, 0x18, 0x19, 0x0b, 0x0b, 0x01, 0x07, + 0x07, 0x0e, 0x50, 0x59, 0x07, 0x10, 0x01, 0x14, 0x50, 0x59, 0x01, + 0x15, 0x00, 0x1c, 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x26, + 0x02, 0x35, 0x10, 0x00, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x02, + 0x44, 0xce, 0xd2, 0x01, 0x00, 0xe8, 0xa6, 0xdb, 0x1c, 0xb9, 0x0e, + 0x72, 0x69, 0x99, 0x8e, 0x99, 0x94, 0x3d, 0x2e, 0xfe, 0x57, 0x01, + 0x9f, 0x12, 0x01, 0x22, 0xfc, 0x01, 0x0d, 0x01, 0x19, 0xac, 0x97, + 0x0e, 0x5a, 0x6a, 0xc3, 0xd2, 0xd1, 0xd9, 0x12, 0xfd, 0xc5, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x6e, 0xff, 0xe0, 0x04, 0x5f, 0x05, + 0xda, 0x00, 0x13, 0x00, 0x50, 0x40, 0x29, 0x07, 0x08, 0x11, 0x12, + 0x00, 0x04, 0x12, 0x08, 0x0e, 0x0a, 0x06, 0x14, 0x15, 0x06, 0x09, + 0x09, 0x03, 0x0c, 0x02, 0x0d, 0x0d, 0x13, 0x10, 0x0c, 0x05, 0x0b, + 0x10, 0x01, 0x0f, 0x05, 0x0b, 0x01, 0x0f, 0x0f, 0x01, 0x0b, 0x05, + 0x04, 0x08, 0x12, 0x08, 0x00, 0x2f, 0x2f, 0x12, 0x17, 0x39, 0x2f, + 0x2f, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x07, 0x25, + 0x03, 0x05, 0x07, 0x25, 0x03, 0x23, 0x13, 0x25, 0x37, 0x05, 0x13, + 0x25, 0x37, 0x05, 0x13, 0x33, 0x03, 0x04, 0x5f, 0x29, 0xfe, 0x9f, + 0x4e, 0x01, 0x64, 0x29, 0xfe, 0x9b, 0x80, 0xa1, 0x8c, 0xfe, 0xa6, + 0x29, 0x01, 0x5c, 0x4d, 0xfe, 0xa1, 0x29, 0x01, 0x61, 0x7e, 0x9f, + 0x89, 0x03, 0x91, 0x98, 0x5e, 0xfe, 0xeb, 0x5f, 0x98, 0x60, 0xfe, + 0x35, 0x01, 0xf3, 0x5d, 0x98, 0x5e, 0x01, 0x15, 0x5e, 0x99, 0x5f, + 0x01, 0xc3, 0xfe, 0x15, 0x00, 0x00, 0x01, 0xfe, 0xa2, 0x04, 0x7b, + 0x01, 0x60, 0x05, 0xe5, 0x00, 0x15, 0x00, 0x22, 0x40, 0x0e, 0x05, + 0x0b, 0x0b, 0x16, 0x10, 0x00, 0x00, 0x16, 0x03, 0x13, 0x08, 0x0e, + 0x0e, 0x08, 0x00, 0x2f, 0x33, 0x2f, 0x10, 0xcc, 0x32, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x06, 0x23, 0x21, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x01, 0x60, + 0x49, 0x35, 0xfe, 0xa5, 0x43, 0x2e, 0x32, 0x42, 0x49, 0x35, 0x01, + 0x5b, 0x43, 0x2e, 0x32, 0x42, 0x05, 0x71, 0x32, 0x3c, 0x14, 0x38, + 0x3c, 0x40, 0x34, 0x32, 0x3c, 0x14, 0x38, 0x3c, 0x40, 0x00, 0x00, + 0x01, 0xfe, 0xbc, 0x04, 0xcb, 0x01, 0x4c, 0x05, 0xc1, 0x00, 0x13, + 0x00, 0x21, 0x40, 0x0f, 0x00, 0x13, 0x13, 0x09, 0x14, 0x10, 0x03, + 0x8e, 0x59, 0x10, 0x00, 0x0a, 0x09, 0x09, 0x00, 0x00, 0x2f, 0x32, + 0x2f, 0x33, 0x10, 0xcc, 0x2b, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x06, 0x2b, + 0x01, 0x35, 0x33, 0x32, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, + 0xf3, 0x02, 0x35, 0x35, 0x21, 0x42, 0x26, 0x74, 0x68, 0x66, 0x69, + 0x34, 0x58, 0x2a, 0x61, 0x46, 0x63, 0x67, 0x04, 0xcb, 0x4a, 0x40, + 0x26, 0x17, 0x48, 0x8f, 0x20, 0x14, 0x2e, 0x7d, 0x79, 0x00, 0x00, + 0x00, 0x01, 0xff, 0x9f, 0x04, 0x49, 0x00, 0x62, 0x05, 0xcc, 0x00, + 0x09, 0x00, 0x1b, 0x40, 0x0b, 0x04, 0x00, 0x00, 0x09, 0x09, 0x0a, + 0x02, 0x02, 0x05, 0x00, 0x00, 0x00, 0x3f, 0xcc, 0x39, 0x2f, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x15, 0x23, + 0x14, 0x17, 0x23, 0x2e, 0x01, 0x3d, 0x01, 0x62, 0x59, 0x4e, 0x77, + 0x23, 0x1e, 0x05, 0xcc, 0xba, 0x5e, 0x6b, 0x33, 0x72, 0x4c, 0x92, + 0x00, 0x00, 0x00, 0x01, 0xff, 0x9f, 0x04, 0x49, 0x00, 0x62, 0x05, + 0xcc, 0x00, 0x09, 0x00, 0x1b, 0x40, 0x0b, 0x07, 0x00, 0x00, 0x09, + 0x09, 0x0a, 0x08, 0x08, 0x05, 0x00, 0x00, 0x00, 0x3f, 0xcc, 0x39, + 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x15, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, 0x23, 0x35, 0x62, 0x1c, + 0x25, 0x77, 0x4e, 0x59, 0x05, 0xcc, 0x92, 0x4a, 0x6d, 0x3a, 0x6b, + 0x5e, 0xba, 0x00, 0x00, 0x00, 0x01, 0xfd, 0xd3, 0x05, 0x3b, 0x02, + 0x2e, 0x06, 0x94, 0x00, 0x13, 0x00, 0x28, 0x40, 0x13, 0x09, 0x0a, + 0x0a, 0x00, 0x14, 0x0d, 0x06, 0x8f, 0x59, 0x0d, 0x0a, 0x40, 0x00, + 0x13, 0x8f, 0x59, 0x00, 0x00, 0x0a, 0x00, 0x2f, 0x33, 0x2f, 0x2b, + 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x2b, 0x11, 0x01, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x27, 0x2e, 0x01, 0x23, 0x22, + 0x06, 0x07, 0x23, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x01, + 0x33, 0x02, 0x2e, 0x66, 0xb9, 0x65, 0x72, 0x89, 0x46, 0x76, 0x87, + 0x18, 0x81, 0x20, 0xdf, 0xa4, 0x41, 0x83, 0x7f, 0x6f, 0xaa, 0x5c, + 0x05, 0x3e, 0x35, 0x38, 0x3f, 0x2e, 0x6d, 0x70, 0xa4, 0xb5, 0x2a, + 0x40, 0x39, 0x31, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfc, 0x25, 0xfe, + 0xaa, 0x03, 0xdb, 0x05, 0xb7, 0x00, 0x09, 0x00, 0x13, 0x00, 0x1d, + 0x00, 0x27, 0x00, 0x31, 0x00, 0x3b, 0x00, 0x45, 0x00, 0x4f, 0x00, + 0xa1, 0x40, 0x55, 0x31, 0x4f, 0x2d, 0x4b, 0x19, 0x41, 0x41, 0x4b, + 0x4f, 0x03, 0x3b, 0x0f, 0x37, 0x13, 0x37, 0x50, 0x1d, 0x45, 0x09, + 0x27, 0x45, 0x27, 0x13, 0x05, 0x23, 0x23, 0x13, 0x13, 0x51, 0x1e, + 0x23, 0x46, 0x03, 0x4b, 0x3e, 0x43, 0x20, 0x48, 0x48, 0x25, 0x4d, + 0x0a, 0x0f, 0x32, 0x03, 0x37, 0x0c, 0x34, 0x34, 0x11, 0x39, 0x00, + 0x05, 0x28, 0x03, 0x2d, 0x14, 0x19, 0x02, 0x2a, 0x2a, 0x07, 0x2f, + 0x4b, 0x43, 0x4d, 0x37, 0x39, 0x2d, 0x19, 0x2f, 0x2f, 0x19, 0x2d, + 0x39, 0x37, 0x4d, 0x43, 0x4b, 0x08, 0x1b, 0x41, 0x3c, 0x16, 0x1b, + 0x00, 0x2f, 0x33, 0x2f, 0x33, 0x12, 0x17, 0x39, 0x2f, 0x2f, 0x2f, + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x17, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x17, 0x33, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x17, 0x32, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x23, + 0x22, 0x15, 0x23, 0x10, 0x33, 0x32, 0x15, 0x13, 0x34, 0x23, 0x22, + 0x15, 0x23, 0x10, 0x33, 0x32, 0x15, 0x01, 0x34, 0x23, 0x22, 0x15, + 0x23, 0x10, 0x33, 0x32, 0x15, 0x01, 0x34, 0x23, 0x22, 0x15, 0x23, + 0x10, 0x33, 0x32, 0x15, 0x01, 0x34, 0x23, 0x22, 0x15, 0x23, 0x10, + 0x33, 0x32, 0x15, 0x03, 0x34, 0x23, 0x22, 0x15, 0x23, 0x10, 0x33, + 0x32, 0x15, 0x01, 0x34, 0x23, 0x22, 0x15, 0x23, 0x10, 0x33, 0x32, + 0x15, 0x25, 0x34, 0x23, 0x22, 0x15, 0x23, 0x10, 0x33, 0x32, 0x15, + 0x02, 0xfc, 0x72, 0x72, 0x67, 0xd9, 0xd9, 0x11, 0x72, 0x72, 0x67, + 0xd9, 0xd9, 0xfc, 0x8d, 0x72, 0x72, 0x67, 0xd9, 0xd9, 0x02, 0x2d, + 0x72, 0x72, 0x67, 0xd9, 0xd9, 0xfa, 0x85, 0x72, 0x72, 0x67, 0xd9, + 0xd9, 0xdf, 0x72, 0x72, 0x67, 0xd9, 0xd9, 0x02, 0x91, 0x72, 0x72, + 0x67, 0xd9, 0xd9, 0xfd, 0x19, 0x72, 0x72, 0x67, 0xd9, 0xd9, 0x03, + 0xc4, 0x95, 0x95, 0x00, 0xff, 0xff, 0xfe, 0x06, 0x95, 0x95, 0x00, + 0xff, 0xff, 0x02, 0xee, 0x95, 0x95, 0x00, 0xff, 0xff, 0xfa, 0xe6, + 0x95, 0x95, 0x00, 0xff, 0xff, 0x04, 0x26, 0x95, 0x95, 0x00, 0xff, + 0xff, 0xfe, 0x06, 0x95, 0x95, 0x00, 0xff, 0xff, 0xfc, 0xe0, 0x95, + 0x95, 0x00, 0xff, 0xff, 0xf4, 0x95, 0x95, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x08, 0xfc, 0x6b, 0xfe, 0x81, 0x03, 0x9f, 0x05, 0xe7, + 0x00, 0x09, 0x00, 0x13, 0x00, 0x1d, 0x00, 0x27, 0x00, 0x31, 0x00, + 0x3b, 0x00, 0x45, 0x00, 0x4f, 0x00, 0xb1, 0x40, 0x61, 0x14, 0x1b, + 0x3b, 0x3c, 0x3c, 0x44, 0x39, 0x43, 0x05, 0x08, 0x0f, 0x11, 0x11, + 0x0a, 0x13, 0x01, 0x01, 0x07, 0x46, 0x31, 0x2c, 0x4b, 0x4d, 0x4e, + 0x04, 0x2f, 0x26, 0x27, 0x27, 0x2f, 0x31, 0x07, 0x0a, 0x08, 0x43, + 0x36, 0x1b, 0x41, 0x0a, 0x18, 0x22, 0x22, 0x51, 0x18, 0x50, 0x08, + 0x09, 0x40, 0x43, 0x30, 0x40, 0x2d, 0x2f, 0x2f, 0x28, 0x1c, 0x15, + 0x19, 0x59, 0x23, 0x25, 0x25, 0x1e, 0x3a, 0x37, 0x32, 0x39, 0x4f, + 0x4d, 0x0a, 0x11, 0x09, 0x43, 0x45, 0x28, 0x1b, 0x1c, 0x1e, 0x39, + 0x4d, 0x4a, 0x11, 0x11, 0x4a, 0x4d, 0x39, 0x1e, 0x1c, 0x1b, 0x28, + 0x45, 0x43, 0x09, 0x0b, 0x05, 0x0f, 0x05, 0x00, 0x2f, 0x2f, 0x12, + 0x17, 0x39, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2f, 0x2f, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, + 0x33, 0x10, 0xc6, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x10, 0xc6, 0x1a, + 0xcd, 0x11, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x17, 0x15, 0x14, + 0x06, 0x07, 0x23, 0x36, 0x35, 0x23, 0x35, 0x11, 0x35, 0x34, 0x36, + 0x37, 0x33, 0x06, 0x15, 0x33, 0x15, 0x01, 0x23, 0x22, 0x26, 0x27, + 0x35, 0x16, 0x33, 0x35, 0x33, 0x25, 0x33, 0x32, 0x16, 0x17, 0x15, + 0x26, 0x23, 0x15, 0x23, 0x03, 0x17, 0x1e, 0x01, 0x17, 0x07, 0x26, + 0x27, 0x07, 0x27, 0x01, 0x27, 0x2e, 0x01, 0x27, 0x37, 0x16, 0x17, + 0x37, 0x17, 0x03, 0x07, 0x0e, 0x01, 0x07, 0x27, 0x36, 0x37, 0x27, + 0x37, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x17, 0x06, 0x07, 0x17, 0x07, + 0x45, 0x1a, 0x1c, 0x64, 0x42, 0x4b, 0x1a, 0x1c, 0x64, 0x42, 0x4b, + 0xfd, 0x6a, 0x7a, 0x44, 0x5d, 0x29, 0x58, 0x51, 0x9b, 0x04, 0xac, + 0x7a, 0x44, 0x5d, 0x29, 0x58, 0x51, 0x9b, 0x3d, 0x56, 0x30, 0x2f, + 0x0a, 0x47, 0x0f, 0x39, 0x35, 0x6e, 0xfc, 0x45, 0x56, 0x30, 0x2f, + 0x09, 0x46, 0x0f, 0x39, 0x35, 0x6f, 0x0c, 0x56, 0x31, 0x53, 0x31, + 0x47, 0x6c, 0x3a, 0x35, 0x6e, 0x03, 0xd3, 0x56, 0x30, 0x54, 0x31, + 0x47, 0x6e, 0x39, 0x35, 0x6d, 0x3b, 0x7a, 0x44, 0x5d, 0x29, 0x58, + 0x50, 0x9c, 0x04, 0xde, 0x7a, 0x44, 0x5d, 0x29, 0x58, 0x50, 0x9c, + 0xfd, 0x1c, 0x1a, 0x1c, 0x64, 0x42, 0x4b, 0x34, 0x1a, 0x1c, 0x64, + 0x42, 0x4b, 0xfe, 0xf7, 0x57, 0x30, 0x54, 0x31, 0x46, 0x6d, 0x38, + 0x35, 0x6e, 0x03, 0x07, 0x56, 0x30, 0x54, 0x31, 0x47, 0x6d, 0x39, + 0x35, 0x6e, 0xfc, 0x3e, 0x56, 0x30, 0x2f, 0x0a, 0x47, 0x0f, 0x3a, + 0x35, 0x6e, 0x03, 0x88, 0x56, 0x31, 0x2e, 0x0a, 0x47, 0x0f, 0x39, + 0x36, 0x6d, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa2, 0xfe, 0x66, 0x04, + 0xca, 0x06, 0xa9, 0x00, 0x11, 0x00, 0x1d, 0x00, 0x6c, 0x40, 0x3a, + 0x11, 0x02, 0x02, 0x01, 0x15, 0x14, 0x1b, 0x1c, 0x0a, 0x0b, 0x0b, + 0x06, 0x0d, 0x0d, 0x09, 0x08, 0x08, 0x1c, 0x14, 0x01, 0x04, 0x1e, + 0x1f, 0x1b, 0x0f, 0x14, 0x1f, 0x14, 0x2f, 0x14, 0x03, 0x09, 0x03, + 0x14, 0x12, 0x40, 0x12, 0x18, 0x8e, 0x59, 0x12, 0x01, 0x40, 0x0b, + 0x0d, 0x0d, 0x08, 0x5f, 0x59, 0x0d, 0x12, 0x10, 0x06, 0x01, 0x03, + 0x05, 0x00, 0x12, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x33, 0x3f, 0x2b, + 0x00, 0x18, 0x10, 0xc6, 0x1a, 0x10, 0xce, 0x2b, 0x00, 0x1a, 0x18, + 0x10, 0xcd, 0x5f, 0x5e, 0x5d, 0x32, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x33, 0x11, + 0x14, 0x07, 0x01, 0x33, 0x11, 0x33, 0x03, 0x23, 0x13, 0x23, 0x11, + 0x34, 0x37, 0x01, 0x13, 0x20, 0x03, 0x33, 0x1e, 0x01, 0x33, 0x32, + 0x36, 0x37, 0x33, 0x02, 0xa2, 0xac, 0x12, 0x02, 0x10, 0xde, 0xa0, + 0xbc, 0xac, 0x8a, 0x6c, 0x10, 0xfd, 0xf8, 0xd9, 0xfe, 0x9a, 0x09, + 0xa4, 0x05, 0x5c, 0x6a, 0x69, 0x5d, 0x05, 0xa4, 0x09, 0x05, 0x45, + 0xfc, 0xa0, 0x82, 0x90, 0x04, 0x72, 0xfb, 0x68, 0xfd, 0xb9, 0x01, + 0x9a, 0x03, 0x6c, 0x4e, 0xb0, 0xfb, 0x96, 0x05, 0xa5, 0x01, 0x04, + 0x4d, 0x48, 0x48, 0x4d, 0xfe, 0xfc, 0x00, 0x00, 0x02, 0x00, 0xb9, + 0xfe, 0xc9, 0x04, 0xc3, 0x05, 0xf0, 0x00, 0x11, 0x00, 0x1b, 0x00, + 0x63, 0x40, 0x34, 0x0f, 0x00, 0x00, 0x11, 0x15, 0x14, 0x19, 0x1a, + 0x07, 0x08, 0x08, 0x03, 0x0a, 0x0a, 0x06, 0x05, 0x05, 0x1a, 0x14, + 0x11, 0x04, 0x1c, 0x1d, 0x19, 0x0f, 0x14, 0x01, 0x09, 0x03, 0x14, + 0x12, 0x12, 0x17, 0x8e, 0x59, 0x12, 0x11, 0x0e, 0x03, 0x11, 0x0f, + 0x02, 0x10, 0x15, 0x08, 0x0a, 0x0a, 0x05, 0x52, 0x59, 0x0a, 0x15, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x3f, 0x33, 0x3f, 0x33, + 0x33, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x5f, 0x5e, 0x5d, 0x32, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x03, 0x01, 0x33, 0x11, 0x33, 0x03, 0x23, 0x13, + 0x23, 0x11, 0x34, 0x36, 0x37, 0x01, 0x23, 0x11, 0x25, 0x20, 0x03, + 0x33, 0x16, 0x33, 0x32, 0x37, 0x33, 0x02, 0x01, 0x67, 0x0a, 0x01, + 0xf3, 0xc5, 0xae, 0xc2, 0xac, 0x8d, 0x79, 0x07, 0x03, 0xfe, 0x06, + 0xc0, 0x01, 0xb0, 0xfe, 0x9c, 0x0b, 0xa4, 0x0c, 0xbf, 0xbf, 0x0c, + 0xa4, 0x0b, 0x04, 0x3a, 0xfd, 0xb0, 0xfe, 0xeb, 0x03, 0x65, 0xfc, + 0x67, 0xfe, 0x28, 0x01, 0x37, 0x02, 0x94, 0x24, 0x92, 0x1f, 0xfc, + 0x97, 0x04, 0x3a, 0x76, 0x01, 0x40, 0xc7, 0xc7, 0xfe, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x04, 0x94, 0x05, + 0x45, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x4a, 0x40, 0x26, 0x0f, 0x0b, + 0x18, 0x18, 0x08, 0x0d, 0x04, 0x13, 0x00, 0x04, 0x00, 0x1c, 0x1d, + 0x0f, 0x17, 0x5f, 0x59, 0x0e, 0x06, 0x07, 0x06, 0x60, 0x59, 0x0b, + 0x07, 0x0f, 0x07, 0x0f, 0x07, 0x04, 0x09, 0x03, 0x04, 0x18, 0x5f, + 0x59, 0x04, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, + 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x32, 0x32, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x21, 0x11, 0x23, + 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x21, 0x32, + 0x04, 0x07, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, 0x04, + 0x94, 0xff, 0xe6, 0xfd, 0xf3, 0x9e, 0x9e, 0xbf, 0xc7, 0xc7, 0x01, + 0x42, 0xf2, 0x00, 0xff, 0xc0, 0xa4, 0xa4, 0xfe, 0xd5, 0x01, 0x33, + 0xa4, 0x9c, 0x01, 0x89, 0xb7, 0xd2, 0x03, 0xe5, 0x93, 0xcd, 0xcd, + 0x93, 0xd6, 0xcc, 0xc0, 0x79, 0x73, 0xfe, 0x28, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x50, 0x00, 0x00, 0x04, 0x29, 0x05, 0xcc, + 0x00, 0x12, 0x00, 0x1b, 0x00, 0x4a, 0x40, 0x26, 0x07, 0x03, 0x13, + 0x13, 0x00, 0x0f, 0x17, 0x0b, 0x0f, 0x0b, 0x1c, 0x1d, 0x07, 0x1b, + 0x51, 0x59, 0x06, 0x11, 0x12, 0x11, 0x51, 0x59, 0x03, 0x12, 0x07, + 0x12, 0x07, 0x12, 0x0f, 0x01, 0x0f, 0x13, 0x51, 0x59, 0x0f, 0x15, + 0x01, 0x01, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, + 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x23, 0x35, + 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0xca, 0xb4, + 0x77, 0x77, 0x01, 0x0c, 0xcd, 0xd2, 0xd8, 0xc6, 0xfe, 0x3f, 0x7a, + 0x01, 0x2e, 0xf2, 0x82, 0x78, 0x74, 0x85, 0xf3, 0x05, 0x13, 0xb9, + 0xb9, 0x83, 0xfd, 0xe0, 0x93, 0x9f, 0x9a, 0xa4, 0x04, 0x90, 0x83, + 0xfb, 0x6c, 0x5c, 0x63, 0x5e, 0x57, 0x00, 0x00, 0x02, 0x00, 0xa2, + 0x00, 0x00, 0x04, 0x7c, 0x05, 0x45, 0x00, 0x0e, 0x00, 0x1a, 0x00, + 0x5c, 0x40, 0x2e, 0x19, 0x16, 0x0f, 0x13, 0x13, 0x02, 0x05, 0x00, + 0x09, 0x09, 0x0a, 0x0f, 0x00, 0x0a, 0x00, 0x1b, 0x1c, 0x05, 0x02, + 0x08, 0x0b, 0x13, 0x08, 0x5f, 0x59, 0x16, 0x19, 0x13, 0x18, 0x04, + 0x13, 0x18, 0x18, 0x13, 0x04, 0x03, 0x0a, 0x0b, 0x0b, 0x12, 0x5f, + 0x59, 0x0b, 0x03, 0x0a, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x7d, 0x2f, 0x11, 0x12, 0x39, + 0x39, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x14, 0x07, 0x17, 0x07, 0x27, + 0x06, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x32, 0x04, 0x07, 0x34, + 0x21, 0x23, 0x11, 0x33, 0x32, 0x37, 0x27, 0x37, 0x17, 0x36, 0x04, + 0x5f, 0x5a, 0x77, 0x6b, 0x79, 0x77, 0xa7, 0xfe, 0xe7, 0xbf, 0x01, + 0xcc, 0xee, 0x01, 0x03, 0xc0, 0xfe, 0xb8, 0xf6, 0xfe, 0x76, 0x4e, + 0x6d, 0x6c, 0x63, 0x1a, 0x03, 0xb1, 0x99, 0x72, 0x80, 0x60, 0x82, + 0x46, 0xfd, 0xfe, 0x05, 0x45, 0xd5, 0xc2, 0xfe, 0xfd, 0xed, 0x2d, + 0x76, 0x61, 0x6c, 0x39, 0x00, 0x02, 0x00, 0xac, 0xfe, 0x57, 0x04, + 0x49, 0x04, 0x4d, 0x00, 0x1c, 0x00, 0x2d, 0x00, 0x6d, 0x40, 0x37, + 0x29, 0x05, 0x2a, 0x04, 0x04, 0x2c, 0x02, 0x2b, 0x03, 0x03, 0x1d, + 0x00, 0x2b, 0x2a, 0x24, 0x16, 0x0d, 0x0d, 0x0e, 0x0e, 0x2a, 0x00, + 0x03, 0x2f, 0x2e, 0x05, 0x02, 0x07, 0x1a, 0x1a, 0x20, 0x50, 0x59, + 0x16, 0x1a, 0x10, 0x29, 0x2c, 0x27, 0x2b, 0x2b, 0x11, 0x0f, 0x04, + 0x04, 0x07, 0x0e, 0x1c, 0x07, 0x27, 0x50, 0x59, 0x09, 0x07, 0x16, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x7c, 0x2f, + 0x18, 0x3f, 0x39, 0x2f, 0x12, 0x39, 0x39, 0x3f, 0x33, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, + 0x39, 0x33, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x10, 0x07, + 0x17, 0x07, 0x27, 0x06, 0x23, 0x22, 0x27, 0x23, 0x16, 0x15, 0x11, + 0x23, 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x15, 0x33, 0x3e, 0x01, + 0x33, 0x32, 0x12, 0x03, 0x34, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x15, + 0x14, 0x16, 0x33, 0x32, 0x37, 0x27, 0x37, 0x17, 0x36, 0x04, 0x45, + 0x5e, 0x62, 0x64, 0x5e, 0x57, 0x79, 0xfa, 0x56, 0x05, 0x04, 0xb4, + 0x06, 0xae, 0x01, 0x04, 0x05, 0x04, 0x30, 0x9e, 0x81, 0xc8, 0xc6, + 0xbd, 0x7a, 0x85, 0x6b, 0x79, 0x3f, 0x88, 0x99, 0x58, 0x38, 0x76, + 0x65, 0x5f, 0x23, 0x02, 0x22, 0xfe, 0xeb, 0x8c, 0x6a, 0x5a, 0x65, + 0x36, 0xbc, 0x08, 0xa2, 0xfe, 0x59, 0x05, 0x06, 0xa7, 0x36, 0x04, + 0x31, 0x66, 0x13, 0x64, 0x5d, 0xfe, 0xf4, 0xfe, 0xdd, 0xe2, 0xc2, + 0x5a, 0xbf, 0x99, 0xd5, 0xca, 0x2a, 0x7f, 0x5b, 0x68, 0x62, 0x00, + 0x01, 0x00, 0xe2, 0x00, 0x01, 0x04, 0x76, 0x06, 0xa9, 0x00, 0x07, + 0x00, 0x25, 0x40, 0x12, 0x05, 0x06, 0x01, 0x02, 0x06, 0x02, 0x08, + 0x09, 0x07, 0x04, 0x5f, 0x59, 0x01, 0x01, 0x07, 0x03, 0x05, 0x12, + 0x00, 0x3f, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x33, 0x11, 0x21, + 0x11, 0x23, 0x11, 0x03, 0xc2, 0xb4, 0xfd, 0x2b, 0xbf, 0x05, 0x45, + 0x01, 0x64, 0xfe, 0x00, 0xfb, 0x58, 0x05, 0x44, 0x00, 0x00, 0x01, + 0x00, 0xf4, 0x00, 0x00, 0x04, 0x06, 0x05, 0xcc, 0x00, 0x07, 0x00, + 0x26, 0x40, 0x12, 0x00, 0x01, 0x04, 0x05, 0x01, 0x05, 0x08, 0x09, + 0x04, 0x00, 0x02, 0x07, 0x50, 0x59, 0x02, 0x0f, 0x00, 0x15, 0x00, + 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x21, 0x11, + 0x33, 0x11, 0x21, 0x01, 0xa8, 0xb4, 0x02, 0x6f, 0xa3, 0xfd, 0xa2, + 0x04, 0x3a, 0x01, 0x92, 0xfd, 0xe0, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x37, 0x00, 0x00, 0x04, 0x5b, 0x05, 0x45, 0x00, 0x0d, 0x00, 0x3b, + 0x40, 0x1d, 0x06, 0x0a, 0x0a, 0x01, 0x08, 0x0b, 0x03, 0x0b, 0x03, + 0x0e, 0x0f, 0x09, 0x0d, 0x00, 0x0d, 0x60, 0x59, 0x06, 0x00, 0x00, + 0x02, 0x0b, 0x12, 0x02, 0x05, 0x5f, 0x59, 0x02, 0x03, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, 0x32, 0x32, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, + 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x37, 0xa9, 0x03, 0x7b, + 0xfd, 0x44, 0x01, 0x98, 0xfe, 0x68, 0xbf, 0xa9, 0x02, 0xe9, 0x02, + 0x5c, 0x9c, 0xfe, 0x40, 0x93, 0xfd, 0xaa, 0x02, 0x56, 0x00, 0x00, + 0x01, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x1a, 0x04, 0x3a, 0x00, 0x0d, + 0x00, 0x3d, 0x40, 0x1e, 0x03, 0x07, 0x07, 0x0c, 0x05, 0x08, 0x00, + 0x08, 0x00, 0x0e, 0x0f, 0x06, 0x0a, 0x0b, 0x0a, 0x50, 0x59, 0x03, + 0x0b, 0x0b, 0x08, 0x0d, 0x0d, 0x02, 0x50, 0x59, 0x0d, 0x0f, 0x08, + 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x12, 0x39, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x21, + 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, + 0x04, 0x1a, 0xfd, 0xa3, 0xcb, 0xcb, 0xb4, 0x7a, 0x7a, 0x04, 0x3a, + 0x8e, 0xfe, 0xda, 0x84, 0xfd, 0xfe, 0x02, 0x02, 0x84, 0x01, 0xb4, + 0x00, 0x00, 0x01, 0x00, 0xae, 0xfe, 0x57, 0x04, 0x5c, 0x05, 0x45, + 0x00, 0x1f, 0x00, 0x4e, 0x40, 0x29, 0x00, 0x1a, 0x1a, 0x1b, 0x0d, + 0x0c, 0x13, 0x06, 0x06, 0x1d, 0x0c, 0x1b, 0x04, 0x20, 0x21, 0x03, + 0x16, 0x5f, 0x59, 0x00, 0x03, 0x03, 0x1b, 0x1c, 0x1c, 0x1f, 0x5f, + 0x59, 0x1c, 0x03, 0x0d, 0x0d, 0x1b, 0x09, 0x09, 0x10, 0x5f, 0x59, + 0x09, 0x1b, 0x12, 0x00, 0x3f, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x3e, 0x01, 0x33, 0x32, 0x12, + 0x11, 0x10, 0x02, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, + 0x32, 0x12, 0x11, 0x10, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, + 0x11, 0x21, 0x15, 0x21, 0x01, 0x6d, 0x3a, 0x95, 0x4a, 0xf0, 0xe6, + 0xf9, 0xed, 0xa6, 0xd8, 0x3a, 0xb5, 0x2b, 0x73, 0x66, 0x96, 0x92, + 0x91, 0x98, 0x3f, 0x81, 0x49, 0xbf, 0x03, 0x7b, 0xfd, 0x44, 0x03, + 0x72, 0x25, 0x29, 0xfe, 0xc3, 0xfe, 0xb2, 0xfe, 0x9b, 0xfe, 0x87, + 0x86, 0x98, 0x1e, 0x5f, 0x48, 0x01, 0x1d, 0x01, 0x2c, 0x01, 0x05, + 0xec, 0x22, 0x2d, 0xfd, 0x29, 0x05, 0x45, 0x9c, 0x00, 0x00, 0x01, + 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x3f, 0x04, 0x3a, 0x00, 0x20, 0x00, + 0x50, 0x40, 0x2a, 0x1b, 0x15, 0x15, 0x16, 0x08, 0x07, 0x0e, 0x00, + 0x00, 0x18, 0x07, 0x16, 0x04, 0x21, 0x22, 0x1b, 0x1d, 0x1d, 0x12, + 0x50, 0x59, 0x1d, 0x1d, 0x16, 0x17, 0x17, 0x1a, 0x50, 0x59, 0x17, + 0x0f, 0x08, 0x08, 0x04, 0x16, 0x15, 0x04, 0x0b, 0x50, 0x59, 0x04, + 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x01, + 0x23, 0x22, 0x07, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x36, + 0x33, 0x32, 0x1e, 0x01, 0x04, 0x3f, 0x74, 0xd3, 0x8b, 0xb1, 0xd0, + 0x2e, 0xb2, 0x1e, 0x79, 0x66, 0x92, 0x95, 0x55, 0x9c, 0x62, 0x74, + 0x66, 0xb4, 0x02, 0x61, 0xfe, 0x53, 0x74, 0x73, 0x92, 0xe3, 0x7c, + 0x5c, 0x9f, 0xeb, 0x7b, 0x8c, 0x8f, 0x0d, 0x54, 0x4b, 0xbd, 0xb6, + 0x70, 0xa4, 0x56, 0x20, 0xfe, 0x63, 0x04, 0x3a, 0x8b, 0xfe, 0x74, + 0x23, 0x75, 0xde, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfe, + 0x68, 0x04, 0xcd, 0x05, 0x45, 0x00, 0x27, 0x00, 0x92, 0x40, 0x51, + 0x1d, 0x22, 0x22, 0x1f, 0x1c, 0x23, 0x27, 0x18, 0x19, 0x19, 0x20, + 0x1f, 0x14, 0x27, 0x27, 0x11, 0x06, 0x09, 0x00, 0x0c, 0x0c, 0x07, + 0x08, 0x08, 0x00, 0x1f, 0x03, 0x29, 0x28, 0x23, 0x06, 0x06, 0x09, + 0x1c, 0x03, 0x11, 0x26, 0x01, 0x14, 0x11, 0x00, 0x11, 0x10, 0x11, + 0x20, 0x11, 0x03, 0x0f, 0x05, 0x11, 0x01, 0x60, 0x59, 0x0f, 0x11, + 0xbf, 0x11, 0xef, 0x11, 0x03, 0x0c, 0x03, 0x11, 0x11, 0x0c, 0x20, + 0x21, 0x40, 0x21, 0x1d, 0x5f, 0x59, 0x21, 0x12, 0x18, 0x12, 0x0c, + 0x03, 0x00, 0x08, 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x33, 0x3f, + 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x12, 0x39, 0x2f, 0x5f, 0x5e, + 0x5d, 0x2b, 0x00, 0x5f, 0x5e, 0x5d, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x21, 0x11, 0x2e, 0x03, 0x27, 0x03, 0x23, 0x01, 0x26, 0x27, + 0x03, 0x33, 0x13, 0x1e, 0x01, 0x17, 0x11, 0x33, 0x11, 0x3e, 0x01, + 0x37, 0x13, 0x33, 0x03, 0x06, 0x07, 0x13, 0x33, 0x11, 0x23, 0x11, + 0x23, 0x03, 0x0e, 0x01, 0x07, 0x11, 0x02, 0x16, 0x0a, 0x1f, 0x20, + 0x19, 0x04, 0xf7, 0xb9, 0x01, 0x3a, 0x3d, 0x2b, 0xc9, 0xad, 0x94, + 0x29, 0x5f, 0x44, 0xa0, 0x44, 0x5f, 0x29, 0x94, 0xad, 0xc9, 0x28, + 0x41, 0xf5, 0x47, 0xb4, 0x06, 0xf7, 0x07, 0x4c, 0x13, 0x02, 0x5f, + 0x01, 0x08, 0x08, 0x07, 0x02, 0xfd, 0x87, 0x02, 0xcf, 0x3d, 0x61, + 0x01, 0xd8, 0xfe, 0x7e, 0x67, 0x62, 0x10, 0x02, 0x5b, 0xfd, 0xa5, + 0x10, 0x62, 0x67, 0x01, 0x82, 0xfe, 0x28, 0x5c, 0x41, 0xfd, 0xd0, + 0xfd, 0xc8, 0x01, 0x98, 0x02, 0x79, 0x03, 0x13, 0x04, 0xfd, 0xa1, + 0x00, 0x01, 0x00, 0x01, 0xfe, 0x68, 0x04, 0xcd, 0x04, 0x3a, 0x00, + 0x25, 0x00, 0x84, 0x40, 0x26, 0x1b, 0x20, 0x20, 0x1d, 0x1a, 0x21, + 0x25, 0x16, 0x17, 0x17, 0x1e, 0x1d, 0x12, 0x25, 0x25, 0x0f, 0x04, + 0x07, 0x00, 0x0a, 0x0a, 0x05, 0x06, 0x06, 0x00, 0x1d, 0x03, 0x27, + 0x26, 0x1a, 0x07, 0x21, 0x04, 0x04, 0x24, 0x01, 0x0f, 0x01, 0xb8, + 0x01, 0x0a, 0x40, 0x1b, 0x59, 0x12, 0x07, 0x20, 0x0f, 0x0f, 0x01, + 0x0b, 0x03, 0x0f, 0x0f, 0x0a, 0x1e, 0x20, 0x20, 0x1b, 0x51, 0x59, + 0x20, 0x15, 0x16, 0x10, 0x0a, 0x0f, 0x00, 0x06, 0x15, 0x00, 0x3f, + 0x33, 0x3f, 0x33, 0x33, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x12, + 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x12, 0x39, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, 0x39, 0x32, 0x32, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x11, 0x2e, 0x01, 0x27, 0x03, 0x23, 0x01, + 0x2e, 0x01, 0x03, 0x33, 0x17, 0x1e, 0x01, 0x17, 0x11, 0x33, 0x11, + 0x3e, 0x01, 0x3f, 0x01, 0x33, 0x03, 0x06, 0x07, 0x01, 0x33, 0x11, + 0x23, 0x11, 0x23, 0x03, 0x0e, 0x01, 0x07, 0x11, 0x02, 0x19, 0x17, + 0x3d, 0x0e, 0xfd, 0xb9, 0x01, 0x4f, 0x15, 0x3c, 0xf5, 0xb2, 0x94, + 0x41, 0x5a, 0x2e, 0x9a, 0x30, 0x59, 0x40, 0x94, 0xb2, 0xd8, 0x47, + 0x28, 0x01, 0x07, 0x4b, 0xa3, 0x18, 0xfd, 0x0e, 0x3c, 0x18, 0x01, + 0xe0, 0x02, 0x18, 0x0b, 0xfd, 0xfb, 0x02, 0x60, 0x17, 0x51, 0x01, + 0x72, 0xef, 0x68, 0x60, 0x11, 0x01, 0xc8, 0xfe, 0x38, 0x12, 0x61, + 0x66, 0xef, 0xfe, 0xbb, 0x6a, 0x2b, 0xfe, 0x23, 0xfd, 0xe5, 0x01, + 0x98, 0x02, 0x05, 0x0a, 0x19, 0x02, 0xfe, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x43, 0xfe, 0x57, 0x04, 0x70, 0x05, 0x59, 0x00, + 0x35, 0x00, 0x6f, 0x40, 0x3c, 0x06, 0x05, 0x1a, 0x1b, 0x2a, 0x02, + 0x2c, 0x00, 0x14, 0x21, 0x0b, 0x27, 0x27, 0x21, 0x24, 0x00, 0x02, + 0x0f, 0x31, 0x1b, 0x05, 0x09, 0x36, 0x37, 0x24, 0x10, 0x0f, 0x10, + 0x0f, 0x60, 0x59, 0x10, 0x10, 0x02, 0x1e, 0x1a, 0x1a, 0x1e, 0x1e, + 0x17, 0x5f, 0x59, 0x1e, 0x04, 0x2f, 0x34, 0x60, 0x59, 0x2f, 0x02, + 0x2a, 0x02, 0x02, 0x08, 0x5f, 0x59, 0x06, 0x06, 0x02, 0x13, 0x00, + 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x10, 0xc4, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, + 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x05, 0x34, 0x27, 0x2e, 0x01, 0x27, 0x37, + 0x12, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, + 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x15, + 0x14, 0x06, 0x07, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, + 0x16, 0x33, 0x32, 0x02, 0x67, 0x15, 0xc4, 0xfa, 0x51, 0xa5, 0x77, + 0x01, 0x07, 0x99, 0xb0, 0xc0, 0xca, 0x47, 0x47, 0xb4, 0xae, 0x98, + 0x80, 0x7f, 0xb0, 0x31, 0xaf, 0x46, 0x01, 0x08, 0xc8, 0xd3, 0xfd, + 0x90, 0x88, 0x94, 0xae, 0xdf, 0xbf, 0x1f, 0x80, 0x74, 0x73, 0x53, + 0x59, 0x56, 0x81, 0xa4, 0x50, 0x41, 0x05, 0xa3, 0xb3, 0x4d, 0xfe, + 0xf0, 0x8a, 0x75, 0x79, 0x73, 0x94, 0x7a, 0x69, 0x65, 0x72, 0x78, + 0x7f, 0x3d, 0xad, 0xa8, 0xc2, 0x9f, 0x76, 0x9f, 0x21, 0x16, 0xa9, + 0x7c, 0xa5, 0xd9, 0x17, 0x7c, 0x52, 0x5f, 0x6e, 0x22, 0x87, 0x23, + 0x00, 0x01, 0x00, 0x8a, 0xfe, 0x57, 0x04, 0x25, 0x04, 0x4e, 0x00, + 0x37, 0x00, 0x6d, 0x40, 0x3c, 0x04, 0x03, 0x16, 0x17, 0x28, 0x37, + 0x2a, 0x35, 0x10, 0x1d, 0x09, 0x25, 0x25, 0x1d, 0x21, 0x35, 0x37, + 0x0c, 0x2f, 0x17, 0x03, 0x09, 0x38, 0x39, 0x2d, 0x32, 0x51, 0x59, + 0x2d, 0x1c, 0x21, 0x0d, 0x0c, 0x0d, 0x0c, 0x50, 0x59, 0x0d, 0x0d, + 0x1a, 0x00, 0x16, 0x16, 0x1a, 0x1a, 0x13, 0x50, 0x59, 0x1a, 0x10, + 0x28, 0x00, 0x00, 0x07, 0x50, 0x59, 0x04, 0x04, 0x00, 0x16, 0x00, + 0x3f, 0x32, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x05, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x20, + 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x0e, 0x01, 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x27, 0x02, 0x5a, 0xc7, 0xdc, 0x2d, 0x9f, 0x1a, 0x98, + 0x83, 0x01, 0x08, 0xd8, 0xb4, 0xb7, 0xc3, 0x75, 0x82, 0x7c, 0x84, + 0x0d, 0xa2, 0x18, 0xd6, 0xc2, 0xc6, 0xe7, 0x4a, 0x81, 0x46, 0x80, + 0xab, 0x9e, 0x94, 0x21, 0x77, 0x78, 0x67, 0x54, 0x57, 0x4e, 0x40, + 0x3b, 0x16, 0x14, 0x7a, 0x84, 0x2c, 0x54, 0x50, 0xb9, 0x60, 0x68, + 0x89, 0x5a, 0x52, 0x49, 0x57, 0x46, 0x4a, 0x14, 0x88, 0x7a, 0x9a, + 0x83, 0x41, 0x6a, 0x45, 0x06, 0x02, 0x0e, 0x92, 0x69, 0x7d, 0xa0, + 0x1a, 0x73, 0x53, 0x6b, 0x71, 0x21, 0x84, 0x22, 0x3d, 0x3f, 0x4b, + 0x4c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa8, 0xfe, 0x68, 0x04, + 0x9d, 0x05, 0x45, 0x00, 0x16, 0x00, 0x5d, 0x40, 0x2f, 0x02, 0x15, + 0x15, 0x16, 0x0a, 0x11, 0x05, 0x06, 0x06, 0x0b, 0x0b, 0x10, 0x10, + 0x0e, 0x0e, 0x0d, 0x0d, 0x11, 0x16, 0x03, 0x17, 0x18, 0x16, 0x12, + 0x11, 0x0a, 0x14, 0x05, 0x02, 0x14, 0x5f, 0x59, 0x02, 0x02, 0x00, + 0x0e, 0x10, 0x10, 0x0b, 0x5f, 0x59, 0x10, 0x12, 0x05, 0x05, 0x00, + 0x03, 0x00, 0x3f, 0x32, 0x2f, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, + 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x3f, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x33, 0x11, 0x32, 0x37, 0x13, 0x33, 0x01, 0x0e, 0x01, + 0x07, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x01, 0x0e, 0x01, 0x23, + 0x11, 0x23, 0xa8, 0xbf, 0xb9, 0x8b, 0xfb, 0xca, 0xfe, 0xd8, 0x29, + 0x48, 0x37, 0x01, 0x8e, 0x6f, 0xb4, 0x2a, 0xfe, 0x55, 0x19, 0x6d, + 0x27, 0xbf, 0x05, 0x45, 0xfd, 0xb3, 0xd2, 0x01, 0x7b, 0xfe, 0x52, + 0x3c, 0x53, 0x29, 0xfd, 0xc1, 0xfd, 0xc8, 0x01, 0x98, 0x02, 0x87, + 0x0c, 0x1a, 0xfd, 0x9f, 0x00, 0x01, 0x00, 0xda, 0xfe, 0x68, 0x04, + 0x55, 0x04, 0x3a, 0x00, 0x16, 0x00, 0x65, 0x40, 0x34, 0x02, 0x15, + 0x15, 0x16, 0x0a, 0x11, 0x06, 0x07, 0x07, 0x0b, 0x0b, 0x10, 0x10, + 0x0e, 0x0e, 0x0d, 0x0d, 0x11, 0x16, 0x03, 0x17, 0x18, 0x16, 0x15, + 0x11, 0x0a, 0x14, 0x06, 0x02, 0x14, 0x50, 0x59, 0x0f, 0x02, 0x01, + 0x0b, 0x03, 0x02, 0x02, 0x00, 0x0e, 0x10, 0x10, 0x0b, 0x51, 0x59, + 0x10, 0x15, 0x06, 0x06, 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x2f, 0x3f, + 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x3f, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, + 0x11, 0x32, 0x36, 0x37, 0x13, 0x33, 0x03, 0x06, 0x07, 0x01, 0x33, + 0x11, 0x23, 0x11, 0x23, 0x01, 0x0e, 0x01, 0x23, 0x11, 0x23, 0xda, + 0xb4, 0x71, 0x94, 0x4a, 0xb4, 0xc2, 0xe2, 0x4e, 0x48, 0x01, 0x2c, + 0x4e, 0xa3, 0x22, 0xfe, 0xc3, 0x22, 0x6e, 0x35, 0xb4, 0x04, 0x3a, + 0xfe, 0x26, 0x5e, 0x6f, 0x01, 0x0d, 0xfe, 0xbb, 0x6f, 0x34, 0xfe, + 0x31, 0xfd, 0xe5, 0x01, 0x98, 0x01, 0xfd, 0x0f, 0x14, 0xfe, 0x26, + 0x00, 0x00, 0x01, 0x00, 0xa8, 0x00, 0x00, 0x04, 0x9d, 0x05, 0x45, + 0x00, 0x19, 0x00, 0x5e, 0x40, 0x30, 0x02, 0x18, 0x18, 0x19, 0x0f, + 0x07, 0x13, 0x13, 0x04, 0x14, 0x0a, 0x0b, 0x0b, 0x11, 0x10, 0x10, + 0x14, 0x19, 0x03, 0x1a, 0x1b, 0x12, 0x0f, 0x15, 0x0f, 0x17, 0x0a, + 0x02, 0x17, 0x5f, 0x59, 0x04, 0x07, 0x02, 0x05, 0x14, 0x02, 0x05, + 0x05, 0x02, 0x14, 0x03, 0x11, 0x19, 0x12, 0x0a, 0x00, 0x03, 0x00, + 0x3f, 0x32, 0x3f, 0x33, 0x17, 0x39, 0x2f, 0x2f, 0x2f, 0x11, 0x12, + 0x39, 0x39, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x33, 0x11, 0x32, 0x37, 0x11, 0x33, 0x11, 0x36, 0x37, 0x13, 0x33, + 0x01, 0x0e, 0x01, 0x07, 0x01, 0x23, 0x01, 0x11, 0x23, 0x11, 0x06, + 0x23, 0x11, 0x23, 0xa8, 0xbf, 0x36, 0x35, 0x73, 0x2f, 0x37, 0xfb, + 0xca, 0xfe, 0xd8, 0x29, 0x48, 0x37, 0x01, 0xfd, 0xde, 0xfe, 0x86, + 0x73, 0x3a, 0x31, 0xbf, 0x05, 0x45, 0xfd, 0xb3, 0x12, 0x01, 0xad, + 0xfe, 0x99, 0x2a, 0x50, 0x01, 0x7b, 0xfe, 0x52, 0x3c, 0x53, 0x29, + 0xfd, 0x21, 0x02, 0x3d, 0xfe, 0xba, 0x01, 0x7a, 0x10, 0xfd, 0x9f, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xda, 0x00, 0x00, 0x04, 0x5c, 0x04, + 0x3a, 0x00, 0x18, 0x00, 0x62, 0x40, 0x33, 0x02, 0x17, 0x17, 0x18, + 0x0e, 0x07, 0x12, 0x12, 0x04, 0x13, 0x0a, 0x0b, 0x0b, 0x10, 0x0f, + 0x0f, 0x13, 0x18, 0x03, 0x19, 0x1a, 0x11, 0x0e, 0x14, 0x0e, 0x16, + 0x0a, 0x02, 0x16, 0x50, 0x59, 0x04, 0x07, 0x02, 0x05, 0x2f, 0x02, + 0x01, 0x13, 0x02, 0x05, 0x05, 0x02, 0x13, 0x03, 0x10, 0x18, 0x15, + 0x0a, 0x00, 0x0f, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x17, 0x39, 0x2f, + 0x2f, 0x2f, 0x5d, 0x11, 0x12, 0x39, 0x39, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, 0x11, 0x32, 0x37, 0x11, 0x33, + 0x11, 0x36, 0x37, 0x13, 0x33, 0x03, 0x06, 0x07, 0x01, 0x23, 0x01, + 0x11, 0x23, 0x11, 0x06, 0x23, 0x11, 0x23, 0xda, 0xb4, 0x39, 0x23, + 0x69, 0x42, 0x48, 0xb4, 0xc2, 0xe2, 0x4e, 0x48, 0x01, 0x81, 0xcc, + 0xfe, 0xc3, 0x69, 0x2c, 0x30, 0xb4, 0x04, 0x3a, 0xfe, 0x26, 0x08, + 0x01, 0x4a, 0xfe, 0xe3, 0x2c, 0x6c, 0x01, 0x0d, 0xfe, 0xbb, 0x6f, + 0x34, 0xfd, 0xae, 0x01, 0xfd, 0xfe, 0xa3, 0x01, 0x42, 0x08, 0xfe, + 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x04, 0x9d, + 0x05, 0x45, 0x00, 0x1a, 0x00, 0x59, 0x40, 0x2e, 0x0a, 0x06, 0x19, + 0x19, 0x03, 0x1a, 0x12, 0x15, 0x0d, 0x0e, 0x14, 0x13, 0x13, 0x0e, + 0x15, 0x1a, 0x04, 0x1b, 0x1c, 0x15, 0x12, 0x18, 0x0d, 0x0a, 0x18, + 0x5f, 0x59, 0x09, 0x01, 0x02, 0x01, 0x60, 0x59, 0x06, 0x02, 0x0a, + 0x02, 0x0a, 0x02, 0x04, 0x14, 0x1a, 0x12, 0x0d, 0x04, 0x03, 0x00, + 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x23, 0x35, 0x33, + 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x32, 0x37, 0x13, 0x33, + 0x01, 0x0e, 0x01, 0x07, 0x01, 0x23, 0x01, 0x0e, 0x01, 0x23, 0x11, + 0x23, 0xa8, 0xa4, 0xa4, 0xbf, 0xb7, 0xb7, 0xb9, 0x8b, 0xfb, 0xca, + 0xfe, 0xd8, 0x29, 0x48, 0x37, 0x01, 0xfd, 0xde, 0xfe, 0x55, 0x19, + 0x6d, 0x27, 0xbf, 0x03, 0xf9, 0x93, 0xb9, 0xb9, 0x93, 0xfe, 0xff, + 0xd2, 0x01, 0x7b, 0xfe, 0x52, 0x3c, 0x53, 0x29, 0xfd, 0x21, 0x02, + 0x87, 0x0c, 0x1a, 0xfd, 0x9f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, + 0x00, 0x00, 0x04, 0x5c, 0x05, 0xcb, 0x00, 0x1a, 0x00, 0x5c, 0x40, + 0x2e, 0x14, 0x0e, 0x0f, 0x12, 0x15, 0x0f, 0x15, 0x13, 0x0a, 0x06, + 0x19, 0x19, 0x03, 0x1a, 0x13, 0x1a, 0x1c, 0x1b, 0x15, 0x12, 0x18, + 0x0e, 0x0a, 0x18, 0x50, 0x59, 0x0a, 0x0a, 0x0e, 0x14, 0x1a, 0x15, + 0x09, 0x01, 0x02, 0x01, 0x51, 0x59, 0x06, 0x02, 0x02, 0x04, 0x0e, + 0x0f, 0x04, 0x00, 0x00, 0x3f, 0x3f, 0x12, 0x39, 0x2f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x32, 0x31, 0x30, 0x13, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, + 0x15, 0x23, 0x11, 0x32, 0x36, 0x37, 0x13, 0x33, 0x03, 0x06, 0x07, + 0x01, 0x23, 0x01, 0x0e, 0x01, 0x23, 0x11, 0x23, 0xda, 0xd0, 0xd0, + 0xb4, 0xe0, 0xe0, 0x71, 0x94, 0x4a, 0xb4, 0xc2, 0xe2, 0x4e, 0x48, + 0x01, 0x81, 0xcc, 0xfe, 0xc3, 0x22, 0x6e, 0x35, 0xb4, 0x04, 0xb6, + 0x83, 0x92, 0x92, 0x83, 0xfd, 0xaa, 0x5e, 0x6f, 0x01, 0x0d, 0xfe, + 0xbb, 0x6f, 0x34, 0xfd, 0xae, 0x01, 0xfd, 0x0f, 0x14, 0xfe, 0x26, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcb, 0x05, 0x45, 0x00, + 0x14, 0x00, 0x4e, 0x40, 0x27, 0x0c, 0x05, 0x06, 0x0a, 0x0d, 0x06, + 0x0d, 0x0b, 0x02, 0x11, 0x11, 0x14, 0x12, 0x0b, 0x12, 0x16, 0x15, + 0x0d, 0x0a, 0x10, 0x05, 0x02, 0x10, 0x5f, 0x59, 0x02, 0x02, 0x00, + 0x0c, 0x12, 0x12, 0x05, 0x03, 0x00, 0x14, 0x5f, 0x59, 0x00, 0x03, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x32, 0x31, 0x30, 0x11, 0x21, 0x11, 0x36, 0x37, 0x13, 0x33, + 0x01, 0x0e, 0x01, 0x07, 0x01, 0x23, 0x01, 0x0e, 0x01, 0x07, 0x11, + 0x23, 0x11, 0x23, 0x01, 0xb3, 0xa5, 0x81, 0xfb, 0xca, 0xfe, 0xd8, + 0x29, 0x48, 0x37, 0x01, 0xfd, 0xd4, 0xfe, 0x4b, 0x19, 0x5a, 0x1c, + 0xbf, 0xf4, 0x05, 0x45, 0xfd, 0xb3, 0x0f, 0xc3, 0x01, 0x7b, 0xfe, + 0x52, 0x3c, 0x53, 0x29, 0xfd, 0x21, 0x02, 0x87, 0x0c, 0x17, 0x03, + 0xfd, 0x9f, 0x04, 0xa9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3c, 0x00, + 0x00, 0x04, 0x63, 0x04, 0x3a, 0x00, 0x15, 0x00, 0x4d, 0x40, 0x28, + 0x02, 0x12, 0x12, 0x15, 0x13, 0x0b, 0x0e, 0x07, 0x08, 0x0d, 0x0c, + 0x0c, 0x08, 0x0e, 0x13, 0x04, 0x16, 0x17, 0x0e, 0x0b, 0x11, 0x07, + 0x02, 0x11, 0x51, 0x59, 0x02, 0x02, 0x00, 0x0d, 0x13, 0x15, 0x07, + 0x0f, 0x00, 0x15, 0x50, 0x59, 0x00, 0x0f, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, + 0x11, 0x32, 0x3e, 0x02, 0x13, 0x33, 0x03, 0x06, 0x07, 0x01, 0x23, + 0x01, 0x0e, 0x01, 0x23, 0x11, 0x23, 0x11, 0x21, 0x3c, 0x01, 0xdb, + 0x1e, 0x30, 0x34, 0x42, 0xc3, 0xbc, 0xd8, 0x5d, 0x23, 0x01, 0x61, + 0xc8, 0xfe, 0xea, 0x13, 0x41, 0x1a, 0xb4, 0xfe, 0xd9, 0x04, 0x3a, + 0xfe, 0x26, 0x10, 0x33, 0x5c, 0x01, 0x3b, 0xfe, 0xbb, 0x88, 0x1d, + 0xfd, 0xb0, 0x01, 0xf1, 0x08, 0x0c, 0xfe, 0x23, 0x03, 0xaf, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xa2, 0xfe, 0x68, 0x04, 0xb1, 0x05, 0x45, + 0x00, 0x0f, 0x00, 0x51, 0x40, 0x2d, 0x07, 0x03, 0x03, 0x04, 0x08, + 0x00, 0x00, 0x0b, 0x0e, 0x0d, 0x0d, 0x0b, 0x04, 0x03, 0x10, 0x11, + 0x07, 0x02, 0x5f, 0x59, 0x00, 0x07, 0x10, 0x07, 0xb0, 0x07, 0x03, + 0x13, 0x03, 0x07, 0x07, 0x00, 0x09, 0x05, 0x03, 0x04, 0x12, 0x0e, + 0x00, 0x00, 0x0b, 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x10, 0xc6, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5f, 0x5e, + 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x21, + 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x23, 0x11, 0x03, 0x6b, 0xfd, 0xf6, 0xbf, 0xbf, 0x02, 0x0a, 0xbf, + 0x87, 0xb4, 0x02, 0x6f, 0xfd, 0x91, 0x05, 0x45, 0xfd, 0xca, 0x02, + 0x36, 0xfb, 0x5b, 0xfd, 0xc8, 0x01, 0x98, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xb5, 0xfe, 0x68, 0x04, 0x91, 0x04, 0x3a, 0x00, 0x0f, 0x00, + 0x4d, 0x40, 0x29, 0x01, 0x0d, 0x0d, 0x0e, 0x02, 0x0a, 0x0a, 0x05, + 0x08, 0x07, 0x07, 0x05, 0x0e, 0x03, 0x10, 0x11, 0x01, 0x0c, 0x51, + 0x59, 0x0f, 0x01, 0x01, 0x0b, 0x03, 0x01, 0x01, 0x0a, 0x03, 0x0f, + 0x0f, 0x0e, 0x15, 0x08, 0x0a, 0x0a, 0x05, 0x51, 0x59, 0x0a, 0x15, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x3f, 0x3f, 0x33, 0x12, + 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, + 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x01, 0x69, 0x01, 0xfb, 0xb4, + 0x79, 0xa3, 0x8a, 0xfe, 0x05, 0xb4, 0x04, 0x3a, 0xfe, 0x36, 0x01, + 0xca, 0xfc, 0x49, 0xfd, 0xe5, 0x01, 0x98, 0x01, 0xed, 0xfe, 0x13, + 0x04, 0x3a, 0x00, 0x01, 0x00, 0x84, 0x00, 0x00, 0x04, 0xcd, 0x05, + 0x45, 0x00, 0x0d, 0x00, 0x3f, 0x40, 0x20, 0x07, 0x03, 0x03, 0x04, + 0x08, 0x00, 0x00, 0x0a, 0x0d, 0x04, 0x0d, 0x0e, 0x0f, 0x07, 0x02, + 0x5f, 0x59, 0x07, 0x07, 0x04, 0x09, 0x09, 0x0c, 0x5f, 0x59, 0x09, + 0x03, 0x05, 0x03, 0x00, 0x04, 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, + 0x11, 0x21, 0x15, 0x23, 0x11, 0x03, 0x1b, 0xfe, 0x28, 0xbf, 0xbf, + 0x01, 0xd8, 0x01, 0xb2, 0xf3, 0x02, 0x6f, 0xfd, 0x91, 0x05, 0x45, + 0xfd, 0xca, 0x02, 0x36, 0x9c, 0xfb, 0x57, 0x00, 0x00, 0x01, 0x00, + 0x8e, 0x00, 0x00, 0x04, 0xcd, 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x47, + 0x40, 0x24, 0x01, 0x0b, 0x0b, 0x0c, 0x02, 0x08, 0x08, 0x04, 0x07, + 0x0c, 0x07, 0x0e, 0x0f, 0x0d, 0x0f, 0x01, 0x0a, 0x51, 0x59, 0x0f, + 0x01, 0x01, 0x0b, 0x03, 0x01, 0x01, 0x03, 0x08, 0x0c, 0x15, 0x03, + 0x06, 0x50, 0x59, 0x03, 0x0f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x00, 0x18, 0x3f, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, 0x21, 0x15, + 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x01, 0x42, 0x01, + 0xb1, 0x01, 0xda, 0xfe, 0xda, 0xb4, 0xfe, 0x4f, 0xb4, 0x04, 0x3a, + 0xfe, 0x36, 0x01, 0xca, 0x8b, 0xfc, 0x51, 0x01, 0xed, 0xfe, 0x13, + 0x04, 0x3a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0xfe, 0x57, 0x04, + 0x9b, 0x05, 0x45, 0x00, 0x21, 0x00, 0x50, 0x40, 0x2a, 0x21, 0x00, + 0x03, 0x1d, 0x1d, 0x1e, 0x15, 0x08, 0x08, 0x0e, 0x1e, 0x00, 0x04, + 0x22, 0x23, 0x05, 0x18, 0x5f, 0x59, 0x03, 0x05, 0x05, 0x00, 0x01, + 0x01, 0x20, 0x5f, 0x59, 0x01, 0x03, 0x0f, 0x0f, 0x00, 0x0b, 0x0b, + 0x12, 0x5f, 0x59, 0x0b, 0x1e, 0x00, 0x12, 0x00, 0x3f, 0x32, 0xc4, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, + 0x11, 0x21, 0x11, 0x36, 0x33, 0x32, 0x12, 0x11, 0x10, 0x02, 0x23, + 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x12, 0x11, 0x10, + 0x26, 0x23, 0x22, 0x0e, 0x01, 0x07, 0x11, 0x23, 0x11, 0x21, 0x11, + 0x54, 0x02, 0x63, 0x55, 0x5b, 0x9a, 0x9a, 0xa6, 0xac, 0x72, 0x9d, + 0x26, 0xa0, 0x16, 0x45, 0x3b, 0x5d, 0x51, 0x4c, 0x4f, 0x1f, 0x35, + 0x2b, 0x27, 0xa4, 0xfe, 0xe5, 0x05, 0x45, 0xfe, 0x2d, 0x4e, 0xfe, + 0xc5, 0xfe, 0xb0, 0xfe, 0x8e, 0xfe, 0x94, 0x8f, 0x8f, 0x1e, 0x50, + 0x57, 0x01, 0x10, 0x01, 0x39, 0x01, 0x06, 0xeb, 0x11, 0x1a, 0x24, + 0xfd, 0x29, 0x04, 0xa9, 0xfb, 0x57, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x54, 0xfe, 0x57, 0x04, 0x9b, 0x04, 0x3b, 0x00, 0x1f, 0x00, + 0x5a, 0x40, 0x15, 0x1f, 0x00, 0x03, 0x1b, 0x1b, 0x1c, 0x15, 0x08, + 0x08, 0x0e, 0x1c, 0x00, 0x04, 0x20, 0x21, 0x0f, 0x0f, 0x0b, 0x00, + 0x0b, 0x12, 0xb8, 0x01, 0x0a, 0x40, 0x0e, 0x59, 0x0b, 0x1c, 0x05, + 0x18, 0x50, 0x59, 0x03, 0x05, 0x05, 0x00, 0x01, 0x01, 0x1e, 0xb8, + 0x01, 0x0a, 0xb5, 0x59, 0x01, 0x0f, 0x1c, 0x00, 0x15, 0x00, 0x3f, + 0x32, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x33, 0x11, 0x21, 0x11, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x10, 0x02, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x11, 0x23, 0x11, + 0x21, 0x11, 0x54, 0x02, 0x63, 0x4d, 0x63, 0x9b, 0x99, 0xa5, 0xad, + 0x72, 0x9d, 0x26, 0xa0, 0x16, 0x45, 0x3b, 0x5c, 0x52, 0x4b, 0x50, + 0x58, 0x4e, 0xa4, 0xfe, 0xe5, 0x04, 0x3b, 0xfd, 0xd1, 0x3a, 0xe6, + 0xf3, 0xfe, 0xf4, 0xfe, 0xf6, 0x8f, 0x8f, 0x1e, 0x50, 0x57, 0xb4, + 0xd3, 0xaf, 0x9d, 0x3e, 0xfe, 0x7f, 0x03, 0x9f, 0xfc, 0x61, 0x00, + 0x02, 0x00, 0x53, 0xff, 0xec, 0x04, 0xef, 0x05, 0x5a, 0x00, 0x29, + 0x00, 0x34, 0x00, 0x5b, 0x40, 0x30, 0x14, 0x09, 0x2d, 0x1c, 0x0f, + 0x0e, 0x25, 0x19, 0x30, 0x32, 0x22, 0x22, 0x30, 0x0e, 0x1c, 0x09, + 0x05, 0x35, 0x36, 0x1f, 0x2a, 0x5f, 0x59, 0x1f, 0x1f, 0x07, 0x0c, + 0x0c, 0x11, 0x5f, 0x59, 0x0c, 0x04, 0x27, 0x17, 0x07, 0x17, 0x5f, + 0x59, 0x19, 0x25, 0x30, 0x30, 0x05, 0x05, 0x02, 0x07, 0x13, 0x00, + 0x3f, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x06, 0x23, 0x20, 0x11, 0x10, 0x12, 0x33, 0x32, 0x17, + 0x07, 0x26, 0x23, 0x22, 0x02, 0x15, 0x10, 0x12, 0x33, 0x32, 0x37, + 0x26, 0x02, 0x35, 0x34, 0x12, 0x33, 0x32, 0x12, 0x15, 0x14, 0x02, + 0x07, 0x16, 0x33, 0x32, 0x37, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x17, 0x36, 0x11, 0x34, 0x26, 0x04, 0xef, 0x50, 0x64, 0x3d, 0x5c, + 0x30, 0x6a, 0xa3, 0xfd, 0xee, 0xfc, 0xeb, 0x7b, 0x53, 0x4f, 0x36, + 0x49, 0x88, 0x97, 0xad, 0xc0, 0x25, 0x4f, 0x57, 0x65, 0xa1, 0x8e, + 0x82, 0x9c, 0x5e, 0x57, 0x26, 0x30, 0x3f, 0x43, 0xfe, 0xbd, 0x3d, + 0x45, 0x46, 0x3e, 0x72, 0x41, 0x28, 0x3c, 0x1a, 0x1d, 0x37, 0x02, + 0xc0, 0x01, 0x4a, 0x01, 0x64, 0x36, 0x84, 0x22, 0xfe, 0xe2, 0xf6, + 0xfe, 0xe0, 0xfe, 0xf5, 0x11, 0x53, 0x01, 0x1e, 0xb1, 0xd7, 0x01, + 0x0a, 0xfe, 0xed, 0xda, 0xab, 0xfe, 0xe4, 0x55, 0x10, 0x2c, 0x03, + 0x58, 0xb4, 0x92, 0x8e, 0xf8, 0x45, 0xa9, 0x01, 0x18, 0x96, 0xba, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x82, 0xff, 0xec, 0x04, 0x9a, 0x04, + 0x4c, 0x00, 0x26, 0x00, 0x32, 0x00, 0x5f, 0x40, 0x15, 0x14, 0x09, + 0x2d, 0x1b, 0x0f, 0x0e, 0x23, 0x18, 0x30, 0x27, 0x21, 0x21, 0x30, + 0x0e, 0x1b, 0x09, 0x05, 0x33, 0x34, 0x1e, 0x2a, 0xb8, 0x01, 0x0a, + 0x40, 0x1a, 0x59, 0x1e, 0x1e, 0x06, 0x0c, 0x0c, 0x11, 0x50, 0x59, + 0x0c, 0x10, 0x24, 0x17, 0x06, 0x17, 0x51, 0x59, 0x18, 0x23, 0x30, + 0x30, 0x04, 0x04, 0x02, 0x06, 0x16, 0x00, 0x3f, 0x33, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x06, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, + 0x00, 0x11, 0x10, 0x12, 0x33, 0x32, 0x17, 0x07, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x37, 0x2e, 0x01, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x10, 0x07, 0x17, 0x32, 0x37, 0x03, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x3e, 0x01, 0x04, + 0x9a, 0x46, 0x6b, 0x5a, 0x52, 0x56, 0x77, 0xe9, 0xfe, 0xfb, 0xe4, + 0xcb, 0x52, 0x40, 0x40, 0x2a, 0x2b, 0x6d, 0x85, 0xa4, 0x9a, 0x46, + 0x44, 0x47, 0x92, 0x76, 0x79, 0x8f, 0x8a, 0x30, 0x44, 0x30, 0xbe, + 0x37, 0x2e, 0x2f, 0x34, 0x36, 0x2f, 0x2e, 0x35, 0x23, 0x37, 0x25, + 0x25, 0x01, 0x21, 0x01, 0x02, 0x01, 0x0e, 0x01, 0x2f, 0x1b, 0x7f, + 0x14, 0xf2, 0xc5, 0xcc, 0xda, 0x03, 0x4e, 0xdd, 0x75, 0xb2, 0xe2, + 0xde, 0xb2, 0xfe, 0xf7, 0x94, 0x03, 0x27, 0x01, 0x78, 0x76, 0x88, + 0x8a, 0x74, 0x69, 0xc1, 0x34, 0x34, 0xba, 0x00, 0x00, 0x01, 0x00, + 0x71, 0xfe, 0x57, 0x04, 0x76, 0x05, 0x5a, 0x00, 0x26, 0x00, 0x57, + 0x40, 0x2e, 0x00, 0x1b, 0x09, 0x18, 0x0b, 0x15, 0x21, 0x20, 0x06, + 0x07, 0x07, 0x20, 0x15, 0x18, 0x17, 0x10, 0x1b, 0x07, 0x27, 0x28, + 0x06, 0x21, 0x06, 0x21, 0x09, 0x1d, 0x1d, 0x24, 0x5f, 0x59, 0x1d, + 0x04, 0x0e, 0x13, 0x60, 0x59, 0x0e, 0x09, 0x18, 0x09, 0x09, 0x03, + 0x60, 0x59, 0x09, 0x13, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x10, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x10, 0x12, 0x33, 0x32, 0x36, 0x37, 0x17, 0x02, 0x05, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, + 0x27, 0x33, 0x26, 0x00, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, 0x07, + 0x2e, 0x01, 0x23, 0x22, 0x02, 0x01, 0x3a, 0xab, 0xb0, 0x65, 0xa4, + 0x39, 0x9f, 0x81, 0xfe, 0xf7, 0x1f, 0x80, 0x74, 0x73, 0x53, 0x59, + 0x56, 0x81, 0x15, 0x01, 0xf7, 0xfe, 0xfb, 0x02, 0x18, 0xa6, 0xe7, + 0x45, 0xa8, 0x25, 0x9d, 0x67, 0xab, 0xa5, 0x02, 0xa9, 0xfe, 0xef, + 0xfe, 0xef, 0x89, 0x91, 0x41, 0xfe, 0xbf, 0x2b, 0x84, 0x4c, 0x5f, + 0x6e, 0x22, 0x87, 0x23, 0x7f, 0x50, 0x41, 0x0d, 0x01, 0x6b, 0x01, + 0x44, 0x02, 0xb1, 0xa2, 0xad, 0x41, 0x71, 0x83, 0xfe, 0xfe, 0x00, + 0x00, 0x01, 0x00, 0x82, 0xfe, 0x57, 0x04, 0x38, 0x04, 0x4e, 0x00, + 0x28, 0x00, 0x7b, 0x40, 0x2b, 0x0d, 0x00, 0x17, 0x26, 0x19, 0x24, + 0x07, 0x06, 0x13, 0x14, 0x14, 0x06, 0x24, 0x26, 0x1e, 0x00, 0x06, + 0x29, 0x2a, 0x1c, 0x21, 0x51, 0x59, 0x1c, 0x1c, 0x26, 0x17, 0x00, + 0x13, 0x10, 0x13, 0x60, 0x13, 0x70, 0x13, 0x80, 0x13, 0xc0, 0x13, + 0x06, 0x09, 0x03, 0x13, 0xb8, 0xff, 0xc0, 0x40, 0x20, 0x1b, 0x1e, + 0x48, 0x13, 0x13, 0x17, 0x17, 0x10, 0x51, 0x59, 0x17, 0x16, 0x03, + 0x0a, 0x50, 0x59, 0x1f, 0x07, 0x7f, 0x07, 0x8f, 0x07, 0x03, 0x07, + 0x40, 0x1b, 0x1e, 0x48, 0x07, 0x07, 0x03, 0x10, 0x00, 0x3f, 0x33, + 0x2f, 0x2b, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, 0x11, 0x33, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x10, 0x00, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x07, 0x16, 0x15, 0x14, 0x06, + 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, + 0x26, 0x02, 0x82, 0x01, 0x02, 0xf4, 0xb3, 0xec, 0x1f, 0xc0, 0x10, + 0x80, 0x76, 0x9e, 0x93, 0x93, 0x9d, 0x6c, 0x8e, 0x11, 0xbe, 0x12, + 0xc0, 0x8f, 0x21, 0x77, 0x78, 0x67, 0x54, 0x57, 0x4e, 0x40, 0x3b, + 0x17, 0xe3, 0xf2, 0x02, 0x1e, 0x01, 0x0e, 0x01, 0x22, 0xab, 0x98, + 0x0e, 0x5b, 0x69, 0xc4, 0xdb, 0xde, 0xcd, 0x6a, 0x6d, 0x0c, 0x81, + 0xb7, 0x16, 0x7c, 0x45, 0x6b, 0x71, 0x21, 0x84, 0x22, 0x3d, 0x3f, + 0x50, 0x47, 0x09, 0x01, 0x1e, 0x00, 0x00, 0x01, 0x00, 0x4c, 0xfe, + 0x68, 0x04, 0x80, 0x05, 0x45, 0x00, 0x0b, 0x00, 0x37, 0x40, 0x1b, + 0x0b, 0x01, 0x01, 0x08, 0x06, 0x04, 0x03, 0x06, 0x03, 0x0c, 0x0d, + 0x00, 0x08, 0x09, 0x08, 0x5f, 0x59, 0x09, 0x03, 0x04, 0x06, 0x06, + 0x01, 0x5f, 0x59, 0x06, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, + 0xc6, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x02, + 0xc5, 0x8c, 0xb1, 0x99, 0xfe, 0x45, 0x04, 0x34, 0x04, 0xa9, 0xfb, + 0xf7, 0xfd, 0xc8, 0x01, 0x98, 0x04, 0xa9, 0x9c, 0x9c, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x82, 0xfe, 0x68, 0x04, 0x4a, 0x04, 0x3a, 0x00, + 0x0b, 0x00, 0x38, 0x40, 0x1b, 0x02, 0x04, 0x04, 0x0b, 0x09, 0x07, + 0x06, 0x09, 0x06, 0x0c, 0x0d, 0x07, 0x09, 0x09, 0x04, 0x51, 0x59, + 0x09, 0x15, 0x03, 0x0b, 0x00, 0x0b, 0x50, 0x59, 0x00, 0x0f, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x10, + 0xc6, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, + 0x23, 0x11, 0x23, 0x11, 0x21, 0x82, 0x03, 0xc8, 0xfe, 0x76, 0x74, + 0xa3, 0x85, 0xfe, 0x76, 0x04, 0x3a, 0x8e, 0xfc, 0xd7, 0xfd, 0xe5, + 0x01, 0x98, 0x03, 0xac, 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, + 0x04, 0xa8, 0x05, 0x45, 0x12, 0x06, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x45, 0xfe, 0x57, 0x04, 0x87, 0x04, 0x3a, 0x00, 0x0d, + 0x00, 0x34, 0x40, 0x18, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x0d, 0x0d, + 0x08, 0x01, 0x01, 0x02, 0x02, 0x0e, 0x0f, 0x03, 0x00, 0x08, 0x08, + 0x02, 0x0c, 0x04, 0x0f, 0x02, 0x1c, 0x00, 0x3f, 0x3f, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x12, + 0x39, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, + 0x11, 0x23, 0x11, 0x01, 0x33, 0x01, 0x16, 0x17, 0x37, 0x3e, 0x01, + 0x01, 0x33, 0x02, 0xbc, 0xb4, 0xfe, 0x3d, 0xca, 0x01, 0x0c, 0x11, + 0x34, 0x23, 0x0c, 0x13, 0x01, 0x1c, 0xc9, 0xfe, 0x57, 0x01, 0xa9, + 0x04, 0x3a, 0xfd, 0x4c, 0x2b, 0xb8, 0x70, 0x26, 0x37, 0x02, 0xca, + 0x00, 0x00, 0x01, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, 0x05, 0x45, + 0x00, 0x0e, 0x00, 0x44, 0x40, 0x21, 0x0b, 0x0a, 0x0a, 0x05, 0x0d, + 0x0e, 0x0e, 0x09, 0x00, 0x0c, 0x0c, 0x04, 0x04, 0x05, 0x05, 0x0f, + 0x10, 0x03, 0x07, 0x08, 0x07, 0x5f, 0x59, 0x0c, 0x00, 0x08, 0x08, + 0x05, 0x0d, 0x0a, 0x03, 0x05, 0x12, 0x00, 0x3f, 0x3f, 0x33, 0x12, + 0x39, 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x32, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x21, 0x11, + 0x23, 0x11, 0x21, 0x35, 0x21, 0x01, 0x33, 0x09, 0x01, 0x33, 0x03, + 0x24, 0x01, 0x3c, 0xfe, 0x64, 0xbc, 0xfe, 0x66, 0x01, 0x3a, 0xfe, + 0x7c, 0xcd, 0x01, 0x76, 0x01, 0x74, 0xcd, 0x02, 0xe0, 0x98, 0xfd, + 0xb8, 0x02, 0x48, 0x98, 0x02, 0x65, 0xfd, 0x9d, 0x02, 0x63, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x45, 0xfe, 0x57, 0x04, 0x87, 0x04, 0x3a, + 0x00, 0x13, 0x00, 0x42, 0x40, 0x20, 0x0b, 0x0a, 0x0a, 0x12, 0x13, + 0x13, 0x0e, 0x05, 0x00, 0x04, 0x04, 0x09, 0x05, 0x05, 0x14, 0x15, + 0x0e, 0x08, 0x12, 0x0a, 0x0f, 0x03, 0x07, 0x08, 0x07, 0x50, 0x59, + 0x00, 0x08, 0x15, 0x05, 0x1c, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x33, 0x11, 0x33, 0x32, + 0x11, 0x33, 0x31, 0x30, 0x29, 0x01, 0x15, 0x21, 0x11, 0x23, 0x11, + 0x21, 0x35, 0x21, 0x01, 0x33, 0x01, 0x16, 0x17, 0x37, 0x3e, 0x01, + 0x01, 0x33, 0x02, 0xbc, 0x01, 0x3e, 0xfe, 0xc2, 0xb4, 0xfe, 0xc2, + 0x01, 0x3e, 0xfe, 0x3d, 0xca, 0x01, 0x0c, 0x11, 0x34, 0x23, 0x0c, + 0x13, 0x01, 0x1c, 0xc9, 0x8a, 0xfe, 0xe1, 0x01, 0x1f, 0x8a, 0x04, + 0x3a, 0xfd, 0x4c, 0x2b, 0xb8, 0x70, 0x26, 0x37, 0x02, 0xca, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x24, 0xfe, 0x68, 0x04, 0xc5, 0x05, + 0x45, 0x00, 0x0f, 0x00, 0x52, 0x40, 0x2b, 0x0f, 0x0e, 0x0e, 0x0b, + 0x01, 0x02, 0x02, 0x03, 0x0a, 0x00, 0x0d, 0x04, 0x0c, 0x04, 0x04, + 0x09, 0x09, 0x07, 0x07, 0x06, 0x0c, 0x06, 0x10, 0x11, 0x00, 0x03, + 0x0d, 0x0a, 0x04, 0x09, 0x01, 0x0e, 0x03, 0x0c, 0x12, 0x07, 0x09, + 0x09, 0x04, 0x5f, 0x59, 0x09, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc6, 0x3f, 0x3f, 0x33, 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x17, + 0x39, 0x33, 0x11, 0x33, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x09, + 0x01, 0x33, 0x09, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x09, 0x01, + 0x23, 0x09, 0x01, 0x33, 0x02, 0x66, 0x01, 0x4d, 0xcd, 0xfe, 0x4d, + 0x01, 0x70, 0x88, 0xb4, 0x35, 0xfe, 0x8a, 0xfe, 0x8b, 0xcd, 0x01, + 0xdc, 0xfe, 0x4d, 0xcd, 0x03, 0x44, 0x02, 0x01, 0xfd, 0x7c, 0xfd, + 0xdf, 0xfd, 0xc8, 0x01, 0x98, 0x02, 0x3d, 0xfd, 0xc3, 0x02, 0xc1, + 0x02, 0x84, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5e, 0xfe, 0x68, 0x04, + 0x6e, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x50, 0x40, 0x2a, 0x05, 0x04, + 0x04, 0x07, 0x08, 0x08, 0x09, 0x00, 0x06, 0x03, 0x04, 0x02, 0x0a, + 0x0a, 0x0f, 0x0f, 0x0d, 0x0d, 0x0c, 0x02, 0x0c, 0x10, 0x11, 0x06, + 0x09, 0x03, 0x00, 0x04, 0x04, 0x0d, 0x0f, 0x0f, 0x0a, 0x51, 0x59, + 0x0f, 0x15, 0x07, 0x04, 0x0f, 0x02, 0x15, 0x00, 0x3f, 0x3f, 0x33, + 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x12, 0x17, 0x39, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x17, 0x39, 0x33, 0x11, 0x33, 0x32, 0x11, 0x33, 0x31, 0x30, 0x09, + 0x01, 0x23, 0x09, 0x01, 0x33, 0x09, 0x01, 0x33, 0x09, 0x01, 0x33, + 0x11, 0x23, 0x11, 0x23, 0x02, 0x63, 0xfe, 0xbd, 0xc2, 0x01, 0x9f, + 0xfe, 0x73, 0xc7, 0x01, 0x2c, 0x01, 0x2a, 0xc9, 0xfe, 0x73, 0x01, + 0x41, 0x64, 0xa3, 0x27, 0x01, 0xbc, 0xfe, 0x44, 0x02, 0x2c, 0x02, + 0x0e, 0xfe, 0x5b, 0x01, 0xa5, 0xfd, 0xf4, 0xfe, 0x55, 0xfd, 0xe5, + 0x01, 0x98, 0x00, 0x01, 0x00, 0x00, 0xfe, 0x57, 0x04, 0xb7, 0x05, + 0x45, 0x00, 0x0f, 0x00, 0x41, 0x40, 0x21, 0x09, 0x0b, 0x0b, 0x06, + 0x04, 0x0c, 0x0f, 0x02, 0x01, 0x01, 0x0f, 0x04, 0x03, 0x10, 0x11, + 0x0a, 0x06, 0x07, 0x06, 0x5f, 0x59, 0x0d, 0x07, 0x03, 0x0f, 0x0b, + 0x04, 0x0b, 0x5f, 0x59, 0x02, 0x04, 0x12, 0x00, 0x3f, 0xc6, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x11, 0x23, 0x11, 0x21, 0x11, 0x21, + 0x35, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x04, 0xb7, + 0xb4, 0xfc, 0xff, 0xfe, 0xfe, 0x02, 0xc3, 0xfe, 0xfe, 0x01, 0x88, + 0xbf, 0xa0, 0xfd, 0xb7, 0x01, 0xa9, 0x04, 0xa9, 0x9c, 0x9c, 0xfb, + 0xf7, 0x04, 0xa5, 0xfb, 0x5b, 0x00, 0x01, 0x00, 0x08, 0xfe, 0x68, + 0x04, 0xc8, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x42, 0x40, 0x22, 0x02, + 0x04, 0x04, 0x0f, 0x0d, 0x05, 0x08, 0x0b, 0x0a, 0x0a, 0x08, 0x0d, + 0x03, 0x10, 0x11, 0x08, 0x04, 0x0d, 0x04, 0x51, 0x59, 0x0b, 0x0d, + 0x15, 0x06, 0x0f, 0x03, 0x0f, 0x00, 0x0f, 0x50, 0x59, 0x00, 0x0f, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0xc6, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, 0x15, + 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, + 0x11, 0x21, 0x08, 0x02, 0xb6, 0xfe, 0xff, 0x01, 0xc4, 0xb4, 0x93, + 0xa3, 0xfc, 0xe4, 0xfe, 0xff, 0x04, 0x3a, 0x8c, 0xfc, 0xd5, 0x03, + 0xb7, 0xfc, 0x49, 0xfd, 0xe5, 0x01, 0x98, 0x03, 0xae, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x5f, 0xfe, 0x68, 0x04, 0xbd, 0x05, 0x45, + 0x00, 0x14, 0x00, 0x3e, 0x40, 0x20, 0x08, 0x05, 0x0c, 0x14, 0x14, + 0x0f, 0x12, 0x11, 0x11, 0x0f, 0x05, 0x03, 0x15, 0x16, 0x0a, 0x03, + 0x5f, 0x59, 0x0a, 0x0a, 0x06, 0x12, 0x14, 0x14, 0x0f, 0x5f, 0x59, + 0x14, 0x12, 0x0d, 0x06, 0x03, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x00, + 0x18, 0x10, 0xc6, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x0e, 0x01, 0x23, 0x20, 0x19, 0x01, 0x33, 0x11, 0x14, 0x33, + 0x32, 0x37, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x03, + 0x73, 0xa7, 0x95, 0x3e, 0xfe, 0x66, 0xbe, 0xea, 0x77, 0xf5, 0xbe, + 0x8c, 0xb1, 0x99, 0x01, 0xde, 0x25, 0x15, 0x01, 0x6d, 0x02, 0x34, + 0xfd, 0xe0, 0xe7, 0x31, 0x02, 0xd6, 0xfb, 0x5b, 0xfd, 0xc8, 0x01, + 0x98, 0x00, 0x01, 0x00, 0x9a, 0xfe, 0x68, 0x04, 0x8f, 0x04, 0x3a, + 0x00, 0x16, 0x00, 0x3e, 0x40, 0x20, 0x09, 0x06, 0x0f, 0x00, 0x00, + 0x12, 0x15, 0x14, 0x14, 0x12, 0x06, 0x03, 0x17, 0x18, 0x0c, 0x03, + 0x50, 0x59, 0x0c, 0x0c, 0x00, 0x10, 0x07, 0x0f, 0x15, 0x00, 0x00, + 0x12, 0x51, 0x59, 0x00, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, + 0xc6, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x21, 0x11, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, + 0x11, 0x03, 0x49, 0xe7, 0xa2, 0x92, 0x94, 0xb4, 0x65, 0x61, 0x47, + 0xac, 0x42, 0xb4, 0x92, 0xa3, 0x01, 0xd2, 0x5b, 0x9e, 0x8a, 0x01, + 0x9b, 0xfe, 0x6e, 0x4e, 0x54, 0x21, 0x13, 0x02, 0x00, 0xfc, 0x49, + 0xfd, 0xe5, 0x01, 0x98, 0x00, 0x00, 0x01, 0x00, 0x5f, 0x00, 0x00, + 0x04, 0x31, 0x05, 0x45, 0x00, 0x17, 0x00, 0x4a, 0x40, 0x26, 0x0b, + 0x08, 0x11, 0x03, 0x03, 0x0e, 0x04, 0x13, 0x17, 0x17, 0x16, 0x16, + 0x04, 0x08, 0x03, 0x18, 0x19, 0x02, 0x05, 0x0e, 0x05, 0x5f, 0x59, + 0x11, 0x0e, 0x04, 0x0e, 0x0f, 0x0f, 0x0e, 0x04, 0x03, 0x09, 0x17, + 0x12, 0x14, 0x09, 0x03, 0x00, 0x3f, 0x33, 0x3f, 0x12, 0x17, 0x39, + 0x2f, 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x06, 0x07, 0x15, 0x23, 0x35, + 0x23, 0x20, 0x19, 0x01, 0x33, 0x11, 0x14, 0x3b, 0x01, 0x11, 0x33, + 0x11, 0x36, 0x37, 0x11, 0x33, 0x11, 0x23, 0x03, 0x73, 0x87, 0x67, + 0x7b, 0x11, 0xfe, 0x66, 0xbe, 0xea, 0x03, 0x7b, 0x63, 0x8b, 0xbe, + 0xbe, 0x01, 0xde, 0x20, 0x0f, 0xf4, 0xe9, 0x01, 0x6d, 0x02, 0x34, + 0xfd, 0xe0, 0xe7, 0x01, 0xf2, 0xfe, 0x16, 0x0c, 0x1d, 0x02, 0xd6, + 0xfa, 0xbb, 0x00, 0x00, 0x01, 0x00, 0x9a, 0x00, 0x00, 0x03, 0xfd, + 0x04, 0x3a, 0x00, 0x19, 0x00, 0x4c, 0x40, 0x27, 0x01, 0x18, 0x07, + 0x11, 0x11, 0x04, 0x12, 0x09, 0x0d, 0x0d, 0x0c, 0x0c, 0x12, 0x18, + 0x03, 0x1a, 0x1b, 0x13, 0x10, 0x15, 0x04, 0x15, 0x50, 0x59, 0x07, + 0x04, 0x12, 0x04, 0x05, 0x05, 0x04, 0x12, 0x03, 0x0d, 0x0a, 0x19, + 0x0f, 0x0d, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x17, 0x39, 0x2f, + 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x11, + 0x33, 0x11, 0x36, 0x37, 0x11, 0x33, 0x11, 0x23, 0x11, 0x06, 0x07, + 0x15, 0x23, 0x35, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x01, 0x4e, + 0x64, 0x61, 0x70, 0x6d, 0x59, 0xb4, 0xb4, 0x64, 0x62, 0x70, 0x23, + 0x30, 0x92, 0x94, 0x04, 0x3a, 0xfe, 0x6e, 0x4e, 0x54, 0x01, 0x30, + 0xfe, 0xd8, 0x11, 0x1b, 0x02, 0x00, 0xfb, 0xc6, 0x01, 0xd2, 0x29, + 0x18, 0xdb, 0xc6, 0x05, 0x9e, 0x8a, 0x01, 0x9b, 0x00, 0x00, 0x01, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x74, 0x05, 0x45, 0x00, 0x11, 0x00, + 0x2f, 0x40, 0x17, 0x00, 0x0e, 0x0e, 0x0f, 0x08, 0x07, 0x0f, 0x07, + 0x12, 0x13, 0x03, 0x0b, 0x5f, 0x59, 0x00, 0x03, 0x03, 0x0f, 0x10, + 0x03, 0x08, 0x0f, 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x12, 0x39, 0x2f, + 0x39, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, + 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x07, 0x11, 0x23, 0x11, 0x33, + 0x01, 0x60, 0xa7, 0x95, 0x3e, 0xce, 0xcc, 0xbe, 0xea, 0x77, 0xf5, + 0xbe, 0xbe, 0x03, 0x67, 0x25, 0x15, 0xbb, 0xb2, 0xfd, 0xcc, 0x02, + 0x20, 0xe7, 0x31, 0xfd, 0x2a, 0x05, 0x45, 0xff, 0xff, 0x00, 0xb9, + 0x00, 0x00, 0x04, 0x19, 0x05, 0xcc, 0x12, 0x06, 0x00, 0x4b, 0x00, + 0x00, 0x00, 0x02, 0xff, 0xe9, 0xff, 0xec, 0x04, 0xb3, 0x05, 0x5a, + 0x00, 0x1d, 0x00, 0x24, 0x00, 0x5e, 0x40, 0x30, 0x21, 0x17, 0x17, + 0x06, 0x0e, 0x09, 0x09, 0x10, 0x06, 0x1d, 0x00, 0x22, 0x16, 0x16, + 0x00, 0x06, 0x03, 0x25, 0x26, 0x17, 0x06, 0x10, 0x06, 0x5f, 0x59, + 0x21, 0x10, 0x0b, 0x0b, 0x10, 0x1d, 0x10, 0x1d, 0x10, 0x03, 0x13, + 0x13, 0x1e, 0x5f, 0x59, 0x13, 0x04, 0x03, 0x1a, 0x5f, 0x59, 0x03, + 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x33, 0x2f, 0x11, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x03, 0x22, 0x26, 0x35, + 0x34, 0x37, 0x33, 0x06, 0x15, 0x14, 0x17, 0x1a, 0x01, 0x33, 0x20, + 0x11, 0x15, 0x21, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x01, 0x22, + 0x06, 0x07, 0x21, 0x2e, 0x01, 0x04, 0x7f, 0x51, 0xcc, 0x8f, 0xf5, + 0xf3, 0x0d, 0x76, 0x7f, 0x11, 0x9d, 0x16, 0x5e, 0x0e, 0xfa, 0xe3, + 0x01, 0xe9, 0xfc, 0xf3, 0x0a, 0x90, 0x98, 0x60, 0x84, 0x32, 0xfe, + 0xdb, 0x8e, 0x8a, 0x0b, 0x02, 0x47, 0x0b, 0x8c, 0xd8, 0x7e, 0x6e, + 0x01, 0x34, 0x01, 0x31, 0x83, 0x7f, 0x3a, 0x3b, 0x3b, 0x32, 0x62, + 0x0c, 0x01, 0x32, 0x01, 0x3b, 0xfd, 0x47, 0x50, 0xe7, 0xe2, 0x54, + 0x56, 0x03, 0x8d, 0xe0, 0xf4, 0xe6, 0xee, 0x00, 0x00, 0x02, 0x00, + 0x01, 0xff, 0xec, 0x04, 0xa4, 0x04, 0x4e, 0x00, 0x1d, 0x00, 0x24, + 0x00, 0x5e, 0x40, 0x30, 0x14, 0x0f, 0x0f, 0x0c, 0x24, 0x00, 0x00, + 0x17, 0x0c, 0x06, 0x07, 0x1e, 0x1d, 0x1d, 0x07, 0x0c, 0x03, 0x25, + 0x26, 0x00, 0x0d, 0x17, 0x0d, 0x50, 0x59, 0x24, 0x17, 0x11, 0x11, + 0x17, 0x06, 0x17, 0x06, 0x17, 0x09, 0x1a, 0x1a, 0x21, 0x50, 0x59, + 0x1a, 0x10, 0x09, 0x03, 0x50, 0x59, 0x09, 0x16, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, + 0x2f, 0x11, 0x33, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x02, 0x21, 0x22, 0x02, 0x03, 0x23, + 0x22, 0x35, 0x34, 0x37, 0x33, 0x06, 0x15, 0x14, 0x3b, 0x01, 0x3e, + 0x01, 0x33, 0x20, 0x11, 0x15, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x06, + 0x07, 0x01, 0xdc, 0x8b, 0x84, 0x61, 0x85, 0x18, 0x9e, 0x5d, 0xfe, + 0xb8, 0xd3, 0xe8, 0x07, 0x20, 0xff, 0x11, 0xa7, 0x16, 0x7a, 0x06, + 0x14, 0xe8, 0xc6, 0x01, 0xbf, 0xbb, 0x0e, 0x80, 0x79, 0x75, 0x8b, + 0x04, 0x01, 0xf7, 0xbc, 0xc8, 0x57, 0x4f, 0x2d, 0xff, 0x00, 0x01, + 0x0c, 0x01, 0x00, 0xeb, 0x3d, 0x3e, 0x3b, 0x32, 0x70, 0xe1, 0xec, + 0xfd, 0xc1, 0x18, 0x8a, 0xab, 0x9d, 0xaf, 0x99, 0x00, 0x00, 0x00, + 0x00, 0x02, 0xff, 0xe9, 0xfe, 0xcb, 0x04, 0xb3, 0x05, 0x5a, 0x00, + 0x20, 0x00, 0x27, 0x00, 0x67, 0x40, 0x35, 0x24, 0x1a, 0x1a, 0x09, + 0x11, 0x0c, 0x0c, 0x13, 0x09, 0x04, 0x05, 0x20, 0x00, 0x25, 0x19, + 0x19, 0x00, 0x05, 0x09, 0x04, 0x28, 0x29, 0x1a, 0x09, 0x13, 0x09, + 0x5f, 0x59, 0x24, 0x13, 0x0e, 0x0e, 0x13, 0x20, 0x13, 0x20, 0x13, + 0x06, 0x16, 0x16, 0x21, 0x5f, 0x59, 0x16, 0x04, 0x06, 0x1d, 0x5f, + 0x59, 0x05, 0x03, 0x06, 0x13, 0x00, 0x3f, 0x33, 0xcd, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x11, 0x33, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x0e, + 0x01, 0x07, 0x11, 0x23, 0x11, 0x26, 0x02, 0x03, 0x22, 0x26, 0x35, + 0x34, 0x37, 0x33, 0x06, 0x15, 0x14, 0x17, 0x1a, 0x01, 0x33, 0x20, + 0x11, 0x15, 0x21, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x01, 0x22, + 0x06, 0x07, 0x21, 0x2e, 0x01, 0x04, 0x7f, 0x46, 0xa6, 0x71, 0x86, + 0xd9, 0xd9, 0x0c, 0x76, 0x7f, 0x11, 0x9d, 0x16, 0x5e, 0x0e, 0xfa, + 0xe3, 0x01, 0xe9, 0xfc, 0xf3, 0x0a, 0x90, 0x98, 0x60, 0x84, 0x32, + 0xfe, 0xdb, 0x8e, 0x8a, 0x0b, 0x02, 0x47, 0x0b, 0x8c, 0xd8, 0x6c, + 0x6d, 0x0e, 0xfe, 0xda, 0x01, 0x23, 0x10, 0x01, 0x34, 0x01, 0x1f, + 0x83, 0x7f, 0x3a, 0x3b, 0x3b, 0x32, 0x62, 0x0c, 0x01, 0x32, 0x01, + 0x3b, 0xfd, 0x47, 0x50, 0xe7, 0xe2, 0x54, 0x56, 0x03, 0x8d, 0xe0, + 0xf4, 0xe6, 0xee, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0xfe, 0xca, + 0x04, 0xa4, 0x04, 0x4e, 0x00, 0x1f, 0x00, 0x26, 0x00, 0x6d, 0x40, + 0x38, 0x16, 0x11, 0x11, 0x0e, 0x26, 0x00, 0x00, 0x19, 0x0e, 0x0a, + 0x0b, 0x06, 0x07, 0x20, 0x1f, 0x1f, 0x07, 0x0b, 0x0e, 0x04, 0x27, + 0x28, 0x00, 0x0f, 0x19, 0x0f, 0x50, 0x59, 0x26, 0x19, 0x13, 0x13, + 0x19, 0x06, 0x19, 0x06, 0x19, 0x0c, 0x1c, 0x1c, 0x23, 0x50, 0x59, + 0x1c, 0x10, 0x0b, 0x0c, 0x40, 0x09, 0x0c, 0x0c, 0x03, 0x51, 0x59, + 0x0c, 0x16, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x1a, 0x18, 0x10, + 0xcd, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x11, 0x33, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x05, 0x11, 0x23, 0x11, + 0x24, 0x03, 0x23, 0x22, 0x35, 0x34, 0x37, 0x33, 0x06, 0x15, 0x14, + 0x3b, 0x01, 0x3e, 0x01, 0x33, 0x20, 0x11, 0x15, 0x27, 0x2e, 0x01, + 0x23, 0x22, 0x06, 0x07, 0x01, 0xdc, 0x8b, 0x84, 0x61, 0x85, 0x18, + 0x9e, 0x53, 0xfe, 0xf4, 0x85, 0xfe, 0x8d, 0x10, 0x20, 0xff, 0x11, + 0xa7, 0x16, 0x7a, 0x06, 0x14, 0xe8, 0xc6, 0x01, 0xbf, 0xbb, 0x0e, + 0x80, 0x79, 0x75, 0x8b, 0x04, 0x01, 0xf7, 0xbc, 0xc8, 0x57, 0x4f, + 0x2d, 0xe8, 0x16, 0xfe, 0xdc, 0x01, 0x26, 0x29, 0x01, 0xdf, 0xeb, + 0x3d, 0x3e, 0x3b, 0x32, 0x70, 0xe1, 0xec, 0xfd, 0xc1, 0x18, 0x8a, + 0xab, 0x9d, 0xaf, 0x99, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, + 0x00, 0x04, 0x01, 0x05, 0x45, 0x12, 0x06, 0x00, 0x2c, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0xe5, 0x12, + 0x26, 0x03, 0xc6, 0x00, 0x00, 0x11, 0x07, 0x09, 0x1a, 0x01, 0x12, + 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x20, 0x05, 0x26, 0x01, + 0x00, 0x22, 0x28, 0x05, 0x1a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x04, + 0xcb, 0x05, 0xf0, 0x12, 0x26, 0x03, 0xe6, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x1a, 0x01, 0x12, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x22, 0x11, 0x26, 0x01, 0x00, 0x24, 0x2a, 0x06, 0x1b, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xa8, 0xfe, 0x57, 0x04, 0xa9, 0x05, 0x45, 0x00, 0x21, 0x00, 0x52, + 0x40, 0x2a, 0x00, 0x1e, 0x1a, 0x16, 0x16, 0x17, 0x0b, 0x0a, 0x1d, + 0x1e, 0x11, 0x03, 0x03, 0x1e, 0x0a, 0x17, 0x04, 0x22, 0x23, 0x00, + 0x15, 0x1a, 0x1a, 0x15, 0x5f, 0x59, 0x1a, 0x1a, 0x1d, 0x18, 0x03, + 0x0b, 0x0b, 0x17, 0x07, 0x07, 0x0e, 0x5f, 0x59, 0x07, 0x17, 0x12, + 0x00, 0x3f, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x3f, + 0x33, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x16, 0x00, 0x15, 0x14, 0x02, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x24, 0x21, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x32, + 0x37, 0x13, 0x33, 0x01, 0x06, 0x07, 0x02, 0x8c, 0xf8, 0x01, 0x25, + 0x84, 0xf2, 0x9c, 0xb0, 0xf0, 0x38, 0xb3, 0x2a, 0x8b, 0x6f, 0xa6, + 0xb1, 0xfe, 0xed, 0xfe, 0xdb, 0x4e, 0xbf, 0xbf, 0xb9, 0x8b, 0xfb, + 0xca, 0xfe, 0xd8, 0x4e, 0x4d, 0x02, 0xe0, 0x13, 0xfe, 0xe6, 0xf6, + 0xbc, 0xfe, 0xea, 0x94, 0x93, 0x90, 0x1e, 0x5d, 0x4f, 0xec, 0xe2, + 0xd6, 0xd1, 0xfd, 0x9f, 0x05, 0x45, 0xfd, 0xb3, 0xd2, 0x01, 0x7b, + 0xfe, 0x52, 0x71, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, 0xfe, + 0x57, 0x04, 0x54, 0x04, 0x3a, 0x00, 0x23, 0x00, 0x5a, 0x40, 0x2d, + 0x21, 0x1e, 0x14, 0x08, 0x07, 0x1d, 0x1e, 0x07, 0x1e, 0x15, 0x00, + 0x18, 0x14, 0x14, 0x15, 0x0e, 0x00, 0x15, 0x00, 0x24, 0x25, 0x21, + 0x13, 0x18, 0x18, 0x13, 0x51, 0x59, 0x18, 0x18, 0x15, 0x1d, 0x16, + 0x0f, 0x08, 0x08, 0x04, 0x15, 0x15, 0x04, 0x0b, 0x50, 0x59, 0x04, + 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x3f, + 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, + 0x25, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x01, 0x2b, 0x01, 0x11, 0x23, + 0x11, 0x33, 0x11, 0x32, 0x3e, 0x02, 0x13, 0x33, 0x03, 0x06, 0x07, + 0x16, 0x00, 0x04, 0x54, 0x72, 0xd2, 0x8e, 0xb1, 0xd0, 0x2e, 0xb2, + 0x1e, 0x79, 0x66, 0x91, 0x96, 0x6e, 0xc3, 0x7c, 0x80, 0xb4, 0xb4, + 0x1e, 0x30, 0x34, 0x42, 0xc3, 0xbc, 0xd8, 0x54, 0x26, 0xe5, 0x01, + 0x02, 0x5c, 0xa1, 0xea, 0x7a, 0x8c, 0x8f, 0x0d, 0x54, 0x4b, 0xba, + 0xb7, 0x7f, 0xb3, 0x5d, 0xfe, 0x20, 0x04, 0x3a, 0xfe, 0x26, 0x10, + 0x33, 0x5c, 0x01, 0x3b, 0xfe, 0xbb, 0x7c, 0x24, 0x16, 0xfe, 0xf3, + 0x00, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0x66, 0x04, 0xca, 0x05, 0x45, + 0x00, 0x17, 0x00, 0x3e, 0x40, 0x1f, 0x01, 0x10, 0x14, 0x15, 0x15, + 0x17, 0x17, 0x13, 0x10, 0x12, 0x12, 0x19, 0x08, 0x18, 0x10, 0x01, + 0x5f, 0x59, 0x10, 0x03, 0x12, 0x0b, 0x09, 0x06, 0x09, 0x5f, 0x59, + 0x17, 0x15, 0x06, 0x12, 0x00, 0x3f, 0xc6, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x12, 0x39, 0x12, + 0x39, 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x21, 0x03, 0x0a, 0x01, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, + 0x33, 0x32, 0x36, 0x12, 0x1b, 0x01, 0x21, 0x11, 0x33, 0x03, 0x23, + 0x13, 0x23, 0x03, 0x67, 0xfe, 0xc2, 0x2b, 0x32, 0x62, 0x92, 0x84, + 0x3a, 0x1c, 0x13, 0x25, 0x4d, 0x59, 0x47, 0x26, 0x3d, 0x02, 0x9b, + 0xa9, 0xbc, 0xac, 0x8a, 0x85, 0x04, 0xa5, 0xfe, 0xae, 0xfe, 0x75, + 0xfe, 0xaf, 0x87, 0x0a, 0x98, 0x07, 0x84, 0x01, 0x2f, 0x01, 0x27, + 0x01, 0xe0, 0xfb, 0x68, 0xfd, 0xb9, 0x01, 0x9a, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x0b, 0xfe, 0xc9, 0x04, 0xc7, 0x04, 0x3a, 0x00, 0x17, + 0x00, 0x47, 0x40, 0x26, 0x04, 0x13, 0x0b, 0x13, 0x15, 0x17, 0x00, + 0x00, 0x02, 0x02, 0x16, 0x15, 0x15, 0x18, 0x19, 0x13, 0x04, 0x51, + 0x59, 0x13, 0x0f, 0x09, 0x0e, 0x50, 0x59, 0x09, 0x0c, 0x50, 0x59, + 0x00, 0x09, 0x16, 0x02, 0x15, 0x52, 0x59, 0x02, 0x15, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0xc6, 0x2b, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x13, 0x23, 0x11, + 0x21, 0x0a, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x36, 0x12, 0x1b, 0x01, 0x21, 0x11, 0x33, 0x03, 0x03, 0x59, + 0x8d, 0x7e, 0xfe, 0x89, 0x3b, 0x40, 0x4a, 0x6d, 0x56, 0x32, 0x2c, + 0x19, 0x2b, 0x37, 0x43, 0x37, 0x23, 0x2c, 0x02, 0xce, 0xaa, 0xc2, + 0xfe, 0xc9, 0x01, 0x37, 0x03, 0xb7, 0xfe, 0x4c, 0xfe, 0xcf, 0x9c, + 0x4a, 0x0d, 0x81, 0x09, 0x6e, 0x01, 0x0e, 0x01, 0x08, 0x01, 0x45, + 0xfc, 0x67, 0xfe, 0x28, 0x00, 0x00, 0x01, 0x00, 0x8c, 0xfe, 0x57, + 0x04, 0x2a, 0x05, 0x45, 0x00, 0x17, 0x00, 0x48, 0x40, 0x24, 0x11, + 0x10, 0x10, 0x03, 0x06, 0x02, 0x02, 0x03, 0x07, 0x17, 0x17, 0x0a, + 0x03, 0x0a, 0x18, 0x19, 0x06, 0x01, 0x5f, 0x59, 0x06, 0x06, 0x08, + 0x04, 0x03, 0x11, 0x11, 0x03, 0x0d, 0x0d, 0x14, 0x5f, 0x59, 0x0d, + 0x03, 0x12, 0x00, 0x3f, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x3f, 0x33, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, + 0x11, 0x33, 0x11, 0x10, 0x02, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, + 0x01, 0x33, 0x32, 0x12, 0x11, 0x03, 0x6b, 0xfd, 0xf6, 0xbf, 0xbf, + 0x02, 0x0a, 0xbf, 0xf5, 0xf1, 0xa6, 0xd8, 0x3a, 0xb5, 0x2b, 0x73, + 0x66, 0x99, 0x8d, 0x02, 0x6f, 0xfd, 0x91, 0x05, 0x45, 0xfd, 0xca, + 0x02, 0x36, 0xfb, 0xf0, 0xfe, 0x98, 0xfe, 0x8a, 0x86, 0x98, 0x1e, + 0x5f, 0x48, 0x01, 0x17, 0x01, 0x27, 0x00, 0x00, 0x01, 0x00, 0xbf, + 0xfe, 0x57, 0x04, 0x0e, 0x04, 0x3a, 0x00, 0x17, 0x00, 0x4f, 0x40, + 0x28, 0x00, 0x17, 0x0d, 0x09, 0x17, 0x09, 0x0a, 0x0e, 0x06, 0x06, + 0x11, 0x0a, 0x11, 0x18, 0x19, 0x00, 0x00, 0x14, 0x0a, 0x14, 0x03, + 0x50, 0x59, 0x14, 0x1c, 0x0d, 0x08, 0x51, 0x59, 0x2f, 0x0d, 0x01, + 0x0d, 0x0d, 0x0a, 0x0f, 0x0b, 0x0f, 0x0a, 0x15, 0x00, 0x3f, 0x3f, + 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x05, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, + 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x02, 0x23, + 0x22, 0x26, 0x27, 0x01, 0x7a, 0x13, 0x6c, 0x6b, 0x7e, 0x78, 0xfe, + 0x19, 0xb4, 0xb4, 0x01, 0xe7, 0xb4, 0xdf, 0xc5, 0xb3, 0xcd, 0x22, + 0x80, 0x56, 0x4a, 0xb2, 0xb5, 0x01, 0xa6, 0xfe, 0x13, 0x04, 0x3a, + 0xfe, 0x36, 0x01, 0xca, 0xfc, 0x05, 0xdf, 0xfe, 0xf7, 0x85, 0x97, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xa2, 0xfe, 0x66, 0x04, 0xca, 0x05, + 0x45, 0x00, 0x0f, 0x00, 0x45, 0x40, 0x23, 0x09, 0x05, 0x05, 0x06, + 0x0f, 0x00, 0x00, 0x0a, 0x02, 0x02, 0x0e, 0x0d, 0x06, 0x0d, 0x10, + 0x11, 0x09, 0x04, 0x5f, 0x59, 0x09, 0x09, 0x02, 0x0b, 0x07, 0x03, + 0x06, 0x12, 0x02, 0x0d, 0x5f, 0x59, 0x00, 0x02, 0x12, 0x00, 0x3f, + 0xc6, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x13, 0x23, + 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, + 0x33, 0x03, 0x03, 0x62, 0x8a, 0x81, 0xfd, 0xf6, 0xbf, 0xbf, 0x02, + 0x0a, 0xbf, 0xa0, 0xbc, 0xfe, 0x66, 0x01, 0x9a, 0x02, 0x6f, 0xfd, + 0x91, 0x05, 0x45, 0xfd, 0xca, 0x02, 0x36, 0xfb, 0x68, 0xfd, 0xb9, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xbf, 0xfe, 0xc9, 0x04, 0xc9, 0x04, + 0x3a, 0x00, 0x0f, 0x00, 0x4f, 0x40, 0x2a, 0x07, 0x08, 0x02, 0x06, + 0x08, 0x03, 0x0a, 0x01, 0x0d, 0x0d, 0x0e, 0x0a, 0x05, 0x0e, 0x05, + 0x10, 0x11, 0x01, 0x0c, 0x51, 0x59, 0x0f, 0x01, 0x01, 0x0b, 0x03, + 0x01, 0x01, 0x0a, 0x03, 0x0f, 0x0f, 0x0e, 0x15, 0x08, 0x0a, 0x0a, + 0x05, 0x52, 0x59, 0x0a, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, + 0xc6, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x17, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, + 0x33, 0x11, 0x33, 0x03, 0x23, 0x13, 0x23, 0x11, 0x21, 0x11, 0x23, + 0x11, 0x01, 0x73, 0x01, 0xe7, 0xb4, 0xbb, 0xc2, 0xac, 0x8d, 0x8e, + 0xfe, 0x19, 0xb4, 0x04, 0x3a, 0xfe, 0x36, 0x01, 0xca, 0xfc, 0x67, + 0xfe, 0x28, 0x01, 0x37, 0x01, 0xed, 0xfe, 0x13, 0x04, 0x3a, 0x00, + 0x01, 0x00, 0x5f, 0xfe, 0x68, 0x04, 0x31, 0x05, 0x45, 0x00, 0x14, + 0x00, 0x40, 0x40, 0x20, 0x09, 0x08, 0x13, 0x14, 0x14, 0x02, 0x0f, + 0x0f, 0x10, 0x08, 0x10, 0x15, 0x16, 0x0c, 0x05, 0x5f, 0x59, 0x0c, + 0x0c, 0x08, 0x14, 0x12, 0x40, 0x12, 0x00, 0x5f, 0x59, 0x12, 0x12, + 0x0f, 0x08, 0x03, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x00, 0x1a, 0x18, + 0x10, 0xcd, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x33, 0x11, 0x0e, 0x01, 0x23, 0x20, 0x19, 0x01, 0x33, 0x11, + 0x14, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x02, + 0xe9, 0x8a, 0xa7, 0x95, 0x3e, 0xfe, 0x66, 0xbe, 0xea, 0x77, 0xf5, + 0xbe, 0x94, 0xb4, 0xa0, 0x01, 0x3e, 0x25, 0x15, 0x01, 0x6d, 0x02, + 0x34, 0xfd, 0xe0, 0xe7, 0x31, 0x02, 0xd6, 0xfa, 0xbb, 0xfe, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9a, 0xfe, 0x68, 0x03, 0xfd, + 0x04, 0x3a, 0x00, 0x16, 0x00, 0x3c, 0x40, 0x1e, 0x00, 0x16, 0x0c, + 0x0d, 0x0d, 0x10, 0x08, 0x08, 0x09, 0x16, 0x09, 0x17, 0x18, 0x04, + 0x12, 0x50, 0x59, 0x04, 0x04, 0x0b, 0x08, 0x16, 0x0f, 0x0b, 0x0e, + 0x51, 0x59, 0x0d, 0x0b, 0x15, 0x00, 0x3f, 0xcd, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, + 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x11, 0x01, 0x4e, 0x65, 0x61, 0x47, 0xac, 0x42, 0xb4, 0x7d, 0xa3, + 0x6c, 0xe7, 0xa2, 0x92, 0x94, 0x04, 0x3a, 0xfe, 0x6e, 0x4e, 0x54, + 0x21, 0x13, 0x02, 0x00, 0xfb, 0xc6, 0xfe, 0x68, 0x02, 0x1b, 0x01, + 0x4f, 0x5b, 0x9e, 0x8a, 0x01, 0x9b, 0x00, 0x00, 0x01, 0x00, 0x81, + 0xfe, 0x66, 0x04, 0xca, 0x05, 0x45, 0x00, 0x1d, 0x00, 0x54, 0x40, + 0x2a, 0x12, 0x0f, 0x0f, 0x10, 0x0a, 0x09, 0x15, 0x1d, 0x00, 0x00, + 0x19, 0x02, 0x02, 0x1c, 0x1b, 0x1b, 0x15, 0x10, 0x03, 0x1e, 0x1f, + 0x15, 0x0a, 0x05, 0x0d, 0x0d, 0x11, 0x0a, 0x0a, 0x02, 0x19, 0x11, + 0x03, 0x10, 0x12, 0x02, 0x1b, 0x5f, 0x59, 0x00, 0x02, 0x12, 0x00, + 0x3f, 0xc6, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x13, 0x23, 0x11, 0x13, + 0x37, 0x07, 0x06, 0x07, 0x03, 0x23, 0x03, 0x2f, 0x01, 0x13, 0x11, + 0x23, 0x11, 0x33, 0x13, 0x16, 0x17, 0x37, 0x36, 0x37, 0x13, 0x33, + 0x11, 0x33, 0x03, 0x03, 0x62, 0x8a, 0x43, 0x05, 0x01, 0x0b, 0x2e, + 0x26, 0xa4, 0x89, 0xa6, 0x3a, 0x26, 0x04, 0xa0, 0xed, 0xb9, 0x1c, + 0x28, 0x1a, 0x23, 0x09, 0xb9, 0xe1, 0x7f, 0xbc, 0xfe, 0x66, 0x01, + 0x9a, 0x03, 0x64, 0x01, 0x0f, 0x1d, 0x23, 0x94, 0x6b, 0xfe, 0x4a, + 0x01, 0xb6, 0xab, 0x77, 0xfe, 0xd4, 0xfc, 0x9c, 0x05, 0x45, 0xfe, + 0x17, 0x51, 0x96, 0x5a, 0x75, 0x17, 0x01, 0xea, 0xfb, 0x68, 0xfd, + 0xb9, 0x00, 0x01, 0x00, 0x66, 0xfe, 0xc9, 0x04, 0xcd, 0x04, 0x3a, + 0x00, 0x18, 0x00, 0x4d, 0x40, 0x27, 0x0e, 0x0b, 0x0b, 0x0c, 0x07, + 0x06, 0x11, 0x18, 0x00, 0x00, 0x14, 0x02, 0x02, 0x17, 0x16, 0x16, + 0x11, 0x0c, 0x03, 0x19, 0x1a, 0x05, 0x08, 0x08, 0x14, 0x0d, 0x0f, + 0x0c, 0x15, 0x11, 0x00, 0x07, 0x15, 0x02, 0x16, 0x52, 0x59, 0x02, + 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0xc6, 0x33, 0x3f, 0x3f, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x13, 0x23, 0x11, 0x3f, 0x01, 0x01, + 0x23, 0x01, 0x16, 0x15, 0x11, 0x23, 0x11, 0x33, 0x13, 0x16, 0x17, + 0x36, 0x37, 0x13, 0x33, 0x11, 0x33, 0x03, 0x03, 0x5f, 0x8d, 0x1e, + 0x03, 0x05, 0xfe, 0xe3, 0x99, 0xfe, 0xda, 0x06, 0x9a, 0xfa, 0xc8, + 0x35, 0x0f, 0x16, 0x2e, 0xc8, 0xef, 0x66, 0xc2, 0xfe, 0xc9, 0x01, + 0x37, 0x02, 0xd4, 0x72, 0x73, 0xfc, 0x47, 0x03, 0xb7, 0x9c, 0x47, + 0xfd, 0x2c, 0x04, 0x3a, 0xfd, 0x7f, 0xa9, 0x89, 0x9f, 0x93, 0x02, + 0x81, 0xfc, 0x67, 0xfe, 0x28, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, + 0x0b, 0x00, 0x00, 0x04, 0x5c, 0x05, 0xcc, 0x12, 0x06, 0x00, 0x4f, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, + 0x9e, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x06, 0x09, 0x68, + 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x0e, 0x05, 0x26, 0x02, + 0x00, 0x11, 0x19, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, + 0xed, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x30, 0x11, 0x26, 0x02, 0xb8, + 0xff, 0xcf, 0xb4, 0x33, 0x3b, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x04, 0xcc, 0x06, 0x5d, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, + 0x11, 0x07, 0x00, 0x6a, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x17, 0x40, + 0x0d, 0x03, 0x02, 0x15, 0x05, 0x26, 0x03, 0x02, 0x00, 0x13, 0x11, + 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, + 0x05, 0x7b, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x00, + 0x6a, 0xf0, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x37, 0x11, 0x26, + 0x03, 0x02, 0xb8, 0xff, 0xd2, 0xb4, 0x35, 0x33, 0x0f, 0x03, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x04, 0xab, 0x05, 0x45, 0x12, + 0x06, 0x00, 0x88, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0xff, 0xec, + 0x04, 0xb8, 0x04, 0x4e, 0x12, 0x06, 0x00, 0xa8, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, 0x9e, 0x12, 0x26, + 0x00, 0x28, 0x00, 0x00, 0x11, 0x06, 0x09, 0x68, 0x14, 0x00, 0x00, + 0x15, 0xb4, 0x01, 0x0c, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xf8, 0xb4, + 0x0f, 0x17, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, + 0x05, 0xb4, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x02, + 0x99, 0x0a, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x1b, 0x11, 0x26, + 0x02, 0x0a, 0x1e, 0x26, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x67, 0xff, 0xec, 0x04, 0x65, + 0x05, 0x5a, 0x10, 0x06, 0x01, 0x51, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x85, 0xff, 0xec, 0x04, 0x46, 0x04, 0x4e, 0x10, 0x06, 0x02, 0x1a, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x68, 0xff, 0xec, 0x04, 0x66, 0x06, + 0x86, 0x10, 0x26, 0x01, 0x51, 0x01, 0x00, 0x11, 0x07, 0x09, 0x65, + 0x01, 0x23, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x18, + 0x05, 0x26, 0x03, 0x02, 0x02, 0x1c, 0x1b, 0x0c, 0x05, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, 0x7b, 0x12, 0x26, + 0x02, 0x1a, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x01, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x03, 0x02, 0x22, 0x11, 0x26, 0x03, 0x02, 0x01, + 0x20, 0x1e, 0x14, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, + 0x06, 0x86, 0x12, 0x26, 0x03, 0xc6, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x65, 0x01, 0x23, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, + 0x27, 0x05, 0x26, 0x02, 0x01, 0x00, 0x25, 0x23, 0x05, 0x1a, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x04, 0xcb, 0x05, 0x7b, 0x12, + 0x26, 0x03, 0xe6, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x01, 0x00, + 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x29, 0x11, 0x26, 0x02, 0x01, + 0x00, 0x27, 0x25, 0x06, 0x1b, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xec, 0x04, + 0x70, 0x06, 0x86, 0x12, 0x26, 0x03, 0xc7, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x65, 0x01, 0x29, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, + 0x01, 0x30, 0x05, 0x26, 0x02, 0x01, 0x13, 0x2e, 0x2c, 0x03, 0x25, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x8a, 0xff, 0xec, 0x04, 0x25, 0x05, 0x7b, + 0x12, 0x26, 0x03, 0xe7, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0xf8, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x2e, 0x11, 0x26, 0x02, + 0x01, 0x06, 0x2c, 0x2a, 0x03, 0x24, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x01, 0x00, 0x4d, 0xff, 0xec, + 0x04, 0x86, 0x05, 0x81, 0x00, 0x1a, 0x00, 0x52, 0x40, 0x2a, 0x04, + 0x03, 0x14, 0x0d, 0x0f, 0x13, 0x13, 0x09, 0x17, 0x17, 0x0d, 0x10, + 0x03, 0x04, 0x1b, 0x1c, 0x0e, 0x14, 0x14, 0x0d, 0x60, 0x59, 0x14, + 0x14, 0x11, 0x00, 0x13, 0x10, 0x11, 0x10, 0x5f, 0x59, 0x11, 0x00, + 0x00, 0x06, 0x5f, 0x59, 0x04, 0x04, 0x00, 0x13, 0x00, 0x3f, 0x32, + 0x2f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x05, 0x22, 0x24, 0x27, 0x37, 0x12, 0x21, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, + 0x01, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x01, 0x02, 0x77, 0xcc, 0xfe, + 0xf8, 0x56, 0xa5, 0x77, 0x01, 0x07, 0x99, 0xb0, 0xc0, 0xca, 0x3f, + 0x01, 0xb8, 0xfc, 0xd6, 0x04, 0x08, 0xfe, 0x37, 0xce, 0xef, 0x7f, + 0xec, 0x14, 0xa1, 0xbb, 0x4d, 0xfe, 0xf0, 0xa1, 0x87, 0x85, 0x93, + 0x92, 0x01, 0x8e, 0x9c, 0xa5, 0xfe, 0x71, 0x0b, 0xdc, 0xb2, 0x83, + 0xd0, 0x75, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7a, 0xfe, 0x57, + 0x04, 0x41, 0x04, 0x3a, 0x12, 0x06, 0x02, 0x53, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x06, 0x5e, 0x12, 0x26, + 0x03, 0xc8, 0x00, 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, 0x02, 0x01, + 0x0b, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0f, 0x05, 0x26, 0x01, 0x00, + 0x10, 0x11, 0x01, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0x00, 0x00, 0x04, 0x15, + 0x05, 0x52, 0x12, 0x26, 0x03, 0xe8, 0x00, 0x00, 0x11, 0x06, 0x09, + 0x69, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0f, 0x11, 0x26, + 0x01, 0x00, 0x10, 0x11, 0x0d, 0x05, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, + 0x06, 0x86, 0x12, 0x26, 0x03, 0xc8, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x65, 0x01, 0x23, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, + 0x15, 0x05, 0x26, 0x02, 0x01, 0x00, 0x13, 0x11, 0x01, 0x08, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xb9, 0x00, 0x00, 0x04, 0x15, 0x05, 0x7b, 0x12, + 0x26, 0x03, 0xe8, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x01, 0x00, + 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x15, 0x11, 0x26, 0x02, 0x01, + 0x00, 0x13, 0x11, 0x0d, 0x05, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, + 0x66, 0x06, 0x86, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x65, 0x01, 0x23, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, + 0x02, 0x1d, 0x05, 0x26, 0x03, 0x02, 0x00, 0x1b, 0x19, 0x06, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, 0x7b, + 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x01, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x1f, 0x11, 0x26, 0x03, + 0x02, 0x01, 0x1d, 0x1b, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x03, 0x00, 0x66, 0xff, 0xec, + 0x04, 0x66, 0x05, 0x5a, 0x00, 0x0b, 0x00, 0x11, 0x00, 0x17, 0x00, + 0x4d, 0x40, 0x2b, 0x15, 0x0f, 0x0f, 0x06, 0x16, 0x0e, 0x0e, 0x00, + 0x06, 0x00, 0x18, 0x19, 0x15, 0x0f, 0x5f, 0x59, 0x0f, 0x15, 0x4f, + 0x15, 0x7f, 0x15, 0x8f, 0x15, 0x04, 0x0c, 0x03, 0x15, 0x15, 0x03, + 0x09, 0x09, 0x12, 0x5f, 0x59, 0x09, 0x04, 0x03, 0x0c, 0x5f, 0x59, + 0x03, 0x13, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x33, + 0x32, 0x00, 0x01, 0x20, 0x13, 0x21, 0x1e, 0x01, 0x13, 0x22, 0x06, + 0x07, 0x21, 0x02, 0x04, 0x66, 0xfe, 0xf7, 0xf8, 0xf9, 0xfe, 0xfa, + 0x01, 0x09, 0xf8, 0xf7, 0x01, 0x08, 0xfe, 0x00, 0x01, 0x23, 0x14, + 0xfd, 0x92, 0x0b, 0x9e, 0x8f, 0x92, 0x9b, 0x0b, 0x02, 0x6e, 0x16, + 0x02, 0xa9, 0xfe, 0xaf, 0xfe, 0x94, 0x01, 0x66, 0x01, 0x57, 0x01, + 0x59, 0x01, 0x58, 0xfe, 0xa5, 0xfc, 0x88, 0x01, 0xd4, 0xe8, 0xec, + 0x04, 0x37, 0xe1, 0xe8, 0x01, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x04, 0x4e, 0x00, 0x0b, 0x00, + 0x12, 0x00, 0x19, 0x00, 0x47, 0x40, 0x25, 0x16, 0x10, 0x10, 0x06, + 0x17, 0x0f, 0x0f, 0x00, 0x06, 0x00, 0x1a, 0x1b, 0x16, 0x10, 0x51, + 0x59, 0x0f, 0x16, 0x01, 0x0b, 0x03, 0x16, 0x16, 0x03, 0x09, 0x09, + 0x13, 0x50, 0x59, 0x09, 0x10, 0x03, 0x0c, 0x50, 0x59, 0x03, 0x16, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, + 0x01, 0x32, 0x36, 0x37, 0x21, 0x1e, 0x01, 0x13, 0x22, 0x06, 0x07, + 0x21, 0x2e, 0x01, 0x04, 0x49, 0xfb, 0xed, 0xe8, 0xf7, 0xfd, 0xe8, + 0xf4, 0xee, 0xfe, 0x16, 0x94, 0x8f, 0x09, 0xfd, 0xb5, 0x07, 0x8f, + 0x94, 0x8a, 0x91, 0x0d, 0x02, 0x47, 0x0c, 0x89, 0x02, 0x1e, 0xfe, + 0xef, 0xfe, 0xdf, 0x01, 0x24, 0x01, 0x0e, 0x01, 0x17, 0x01, 0x19, + 0xfe, 0xea, 0xfd, 0x39, 0xba, 0xc3, 0xba, 0xc3, 0x03, 0x58, 0xab, + 0xad, 0xad, 0xab, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, + 0x04, 0x66, 0x06, 0x86, 0x12, 0x26, 0x04, 0x98, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x65, 0x01, 0x23, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, + 0x04, 0x03, 0x1f, 0x05, 0x26, 0x04, 0x03, 0x00, 0x1d, 0x1b, 0x06, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x05, + 0x7b, 0x12, 0x26, 0x04, 0x99, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, + 0x01, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x04, 0x03, 0x21, 0x11, 0x26, + 0x04, 0x03, 0x01, 0x1f, 0x1d, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x57, 0xff, + 0xec, 0x04, 0x5c, 0x06, 0x86, 0x12, 0x26, 0x03, 0xdd, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x65, 0x01, 0x15, 0x00, 0x00, 0x00, 0x19, 0xb6, + 0x02, 0x01, 0x23, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xff, 0xb4, + 0x21, 0x1f, 0x14, 0x0e, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x7c, 0xff, 0xec, 0x04, 0x3c, + 0x05, 0x7b, 0x12, 0x26, 0x03, 0xfd, 0x00, 0x00, 0x11, 0x06, 0x00, + 0x6a, 0xfa, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x25, 0x11, + 0x26, 0x02, 0x01, 0x03, 0x23, 0x21, 0x07, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x14, + 0xff, 0xec, 0x04, 0xb6, 0x06, 0x5e, 0x12, 0x26, 0x03, 0xd3, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, 0x02, 0x01, 0x0b, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x16, 0x05, 0x26, 0x01, 0x01, 0x17, 0x18, 0x0c, + 0x10, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, 0x52, 0x12, + 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, 0x09, 0x69, 0x00, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x16, 0x11, 0x26, 0x01, 0x01, 0x17, + 0x18, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x14, 0xff, 0xec, 0x04, 0xb6, 0x06, 0x86, 0x12, + 0x26, 0x03, 0xd3, 0x00, 0x00, 0x11, 0x07, 0x09, 0x65, 0x01, 0x33, + 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x1c, 0x05, 0x26, + 0x02, 0x01, 0x11, 0x1a, 0x18, 0x0c, 0x10, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, 0x7b, 0x12, 0x26, 0x00, 0x5c, + 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x01, 0x00, 0x00, 0x17, 0x40, + 0x0d, 0x02, 0x01, 0x1c, 0x11, 0x26, 0x02, 0x01, 0x01, 0x1a, 0x18, + 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x14, 0xff, 0xec, 0x04, 0xb6, 0x06, 0x9c, + 0x12, 0x26, 0x03, 0xd3, 0x00, 0x00, 0x11, 0x07, 0x09, 0x67, 0x01, + 0x37, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x20, 0x05, + 0x26, 0x02, 0x01, 0x69, 0x16, 0x1f, 0x0c, 0x10, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, 0xb4, 0x12, 0x26, 0x00, + 0x5c, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9e, 0x01, 0x25, 0x00, 0x00, + 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x20, 0x11, 0x26, 0x02, 0x01, + 0x57, 0x1c, 0x19, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5f, 0x00, + 0x00, 0x04, 0x31, 0x06, 0x86, 0x12, 0x26, 0x03, 0xd7, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x65, 0x01, 0x0f, 0x00, 0x00, 0x00, 0x17, 0x40, + 0x0d, 0x02, 0x01, 0x19, 0x05, 0x26, 0x02, 0x01, 0x0a, 0x17, 0x15, + 0x07, 0x10, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x9a, 0x00, 0x00, 0x03, 0xfd, + 0x05, 0x7b, 0x12, 0x26, 0x03, 0xf7, 0x00, 0x00, 0x11, 0x06, 0x00, + 0x6a, 0xee, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x19, 0x11, + 0x26, 0x02, 0x01, 0x08, 0x17, 0x15, 0x11, 0x09, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x01, 0x00, 0xe0, + 0xfe, 0x68, 0x04, 0x5b, 0x05, 0x45, 0x00, 0x09, 0x00, 0x30, 0x40, + 0x18, 0x00, 0x02, 0x03, 0x03, 0x05, 0x07, 0x05, 0x07, 0x0a, 0x0b, + 0x06, 0x09, 0x5f, 0x59, 0x06, 0x03, 0x03, 0x05, 0x05, 0x00, 0x5f, + 0x59, 0x05, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x32, 0x31, 0x30, 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, + 0x15, 0x21, 0x01, 0x9f, 0x8b, 0xb1, 0x99, 0x03, 0x7b, 0xfd, 0x44, + 0xa0, 0xfd, 0xc8, 0x01, 0x98, 0x05, 0x45, 0x9c, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x09, 0xfe, 0x68, 0x04, 0x1a, 0x04, 0x3a, 0x00, + 0x09, 0x00, 0x30, 0x40, 0x18, 0x03, 0x05, 0x06, 0x06, 0x08, 0x00, + 0x08, 0x00, 0x0a, 0x0b, 0x09, 0x02, 0x50, 0x59, 0x09, 0x0f, 0x06, + 0x08, 0x08, 0x03, 0x51, 0x59, 0x08, 0x15, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x10, 0xc6, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x12, 0x39, 0x11, 0x33, 0x32, 0x31, 0x30, 0x01, 0x15, 0x21, 0x11, + 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x04, 0x1a, 0xfd, 0xa3, 0x74, + 0xa3, 0x85, 0x04, 0x3a, 0x8e, 0xfc, 0xd7, 0xfd, 0xe5, 0x01, 0x98, + 0x04, 0x3a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x69, 0x00, 0x00, 0x04, + 0x63, 0x06, 0x86, 0x12, 0x26, 0x03, 0xdb, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x65, 0x01, 0x23, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x04, + 0x03, 0x1e, 0x05, 0x26, 0x04, 0x03, 0x00, 0x1c, 0x1a, 0x05, 0x16, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x6a, 0x00, 0x00, 0x04, 0x62, 0x05, 0x7b, + 0x12, 0x26, 0x03, 0xfb, 0x00, 0x00, 0x11, 0x06, 0x00, 0x6a, 0x01, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x04, 0x03, 0x1f, 0x11, 0x26, 0x04, + 0x03, 0x00, 0x1d, 0x1b, 0x08, 0x17, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x01, 0x00, 0x37, 0xfe, 0x57, + 0x04, 0x5b, 0x05, 0x45, 0x00, 0x19, 0x00, 0x5e, 0x40, 0x32, 0x06, + 0x0f, 0x0f, 0x11, 0x00, 0x04, 0x04, 0x15, 0x0a, 0x11, 0x17, 0x02, + 0x11, 0x03, 0x1a, 0x1b, 0x03, 0x13, 0x14, 0x13, 0x60, 0x59, 0x00, + 0x0f, 0x14, 0x01, 0x0c, 0x03, 0x14, 0x14, 0x11, 0x16, 0x16, 0x19, + 0x5f, 0x59, 0x16, 0x03, 0x11, 0x04, 0x5f, 0x59, 0x11, 0x12, 0x08, + 0x0d, 0x5f, 0x59, 0x08, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x10, + 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, 0x11, + 0x23, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x01, 0x9f, 0x01, 0xa4, + 0xfe, 0x5c, 0x59, 0xfe, 0xe7, 0x3b, 0x49, 0x32, 0x45, 0x7b, 0x6d, + 0xa9, 0xa9, 0x03, 0x7b, 0xfd, 0x44, 0x02, 0xf4, 0x93, 0xfe, 0x3a, + 0xfe, 0xe4, 0xfe, 0xd8, 0x10, 0xa0, 0x12, 0x94, 0x77, 0x02, 0x61, + 0x93, 0x02, 0x51, 0x9c, 0x00, 0x00, 0x01, 0x00, 0x7b, 0xfe, 0x57, + 0x04, 0x1a, 0x04, 0x3a, 0x00, 0x19, 0x00, 0x5c, 0x40, 0x23, 0x09, + 0x12, 0x12, 0x14, 0x03, 0x07, 0x07, 0x18, 0x0d, 0x14, 0x00, 0x04, + 0x14, 0x03, 0x1a, 0x1b, 0x06, 0x16, 0x17, 0x16, 0x50, 0x59, 0x03, + 0x17, 0x17, 0x14, 0x19, 0x19, 0x02, 0x50, 0x59, 0x19, 0x0f, 0x14, + 0x07, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x14, 0x15, 0x0b, 0x10, 0xb8, + 0x01, 0x0a, 0xb2, 0x59, 0x0b, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x15, 0x21, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, 0x11, + 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, + 0x11, 0x23, 0x35, 0x33, 0x11, 0x04, 0x1a, 0xfd, 0xa3, 0xcb, 0xcb, + 0x53, 0xfe, 0xe7, 0x33, 0x49, 0x31, 0x3e, 0x7e, 0x5f, 0x7a, 0x7a, + 0x04, 0x3a, 0x8e, 0xfe, 0xda, 0x84, 0xfe, 0x99, 0xfe, 0xe4, 0xfe, + 0xd8, 0x10, 0xa0, 0x12, 0x91, 0x7a, 0x02, 0x02, 0x84, 0x01, 0xb4, + 0x00, 0x00, 0x01, 0x00, 0x24, 0xfe, 0x57, 0x04, 0xcd, 0x05, 0x45, + 0x00, 0x1a, 0x00, 0x4a, 0x40, 0x27, 0x12, 0x0f, 0x13, 0x0b, 0x0b, + 0x16, 0x17, 0x18, 0x15, 0x00, 0x14, 0x14, 0x13, 0x10, 0x11, 0x11, + 0x13, 0x17, 0x00, 0x04, 0x1c, 0x1b, 0x15, 0x18, 0x12, 0x0f, 0x04, + 0x11, 0x16, 0x13, 0x03, 0x11, 0x12, 0x03, 0x08, 0x5f, 0x59, 0x03, + 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x12, 0x17, + 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x32, 0x11, 0x12, 0x39, 0x39, 0x31, + 0x30, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x27, 0x09, 0x01, 0x23, 0x09, 0x01, 0x33, + 0x09, 0x01, 0x33, 0x09, 0x01, 0x16, 0x04, 0xcd, 0xa0, 0x80, 0x3b, + 0x49, 0x3a, 0x3d, 0x35, 0x43, 0x26, 0x34, 0xfe, 0xa8, 0xfe, 0x8b, + 0xcd, 0x01, 0xdc, 0xfe, 0x4d, 0xcd, 0x01, 0x4c, 0x01, 0x4d, 0xcd, + 0xfe, 0x4d, 0x01, 0xb4, 0x4c, 0xa3, 0x74, 0x92, 0x10, 0xa0, 0x15, + 0x3c, 0x3f, 0x20, 0x56, 0x4b, 0x02, 0x0f, 0xfd, 0xc3, 0x02, 0xc1, + 0x02, 0x84, 0xfd, 0xff, 0x02, 0x01, 0xfd, 0x7c, 0xfd, 0x7d, 0x70, + 0x00, 0x00, 0x01, 0x00, 0x7d, 0xfe, 0x57, 0x04, 0x64, 0x04, 0x3a, + 0x00, 0x1a, 0x00, 0x4d, 0x40, 0x23, 0x12, 0x0f, 0x13, 0x0b, 0x0b, + 0x16, 0x17, 0x18, 0x15, 0x00, 0x14, 0x14, 0x13, 0x10, 0x11, 0x11, + 0x13, 0x17, 0x00, 0x04, 0x1c, 0x1b, 0x15, 0x18, 0x12, 0x0f, 0x04, + 0x11, 0x16, 0x13, 0x0f, 0x11, 0x15, 0x03, 0x08, 0xb8, 0x01, 0x0a, + 0xb2, 0x59, 0x03, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x33, 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x32, 0x11, 0x12, + 0x39, 0x39, 0x31, 0x30, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x01, 0x03, 0x01, 0x23, + 0x09, 0x01, 0x33, 0x09, 0x01, 0x33, 0x09, 0x01, 0x16, 0x04, 0x64, + 0x91, 0x78, 0x3b, 0x49, 0x3a, 0x38, 0x39, 0x3a, 0x24, 0x6e, 0xc6, + 0xfe, 0xdb, 0xc2, 0x01, 0x81, 0xfe, 0x91, 0xc7, 0x01, 0x0e, 0x01, + 0x0c, 0xc9, 0xfe, 0x91, 0x01, 0x44, 0x56, 0x98, 0x7d, 0x94, 0x10, + 0xa0, 0x15, 0x41, 0x32, 0x25, 0x5b, 0xa9, 0x01, 0x2e, 0xfe, 0x44, + 0x02, 0x2c, 0x02, 0x0e, 0xfe, 0x5b, 0x01, 0xa5, 0xfd, 0xf4, 0xfe, + 0x31, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x24, 0x00, 0x00, + 0x04, 0xa9, 0x05, 0x45, 0x00, 0x11, 0x00, 0x55, 0x40, 0x2b, 0x0c, + 0x06, 0x09, 0x0f, 0x09, 0x10, 0x08, 0x08, 0x01, 0x02, 0x03, 0x00, + 0x07, 0x11, 0x11, 0x10, 0x0a, 0x0b, 0x0b, 0x10, 0x02, 0x07, 0x04, + 0x13, 0x12, 0x09, 0x06, 0x0d, 0x0e, 0x0d, 0x5f, 0x59, 0x03, 0x00, + 0x0e, 0x0e, 0x0b, 0x01, 0x10, 0x03, 0x08, 0x0b, 0x12, 0x00, 0x3f, + 0x33, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x32, 0x11, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x09, 0x01, 0x33, 0x01, 0x21, 0x15, + 0x21, 0x01, 0x23, 0x09, 0x01, 0x23, 0x01, 0x21, 0x35, 0x21, 0x01, + 0x33, 0x02, 0x66, 0x01, 0x4d, 0xcd, 0xfe, 0x7f, 0x01, 0x5e, 0xfe, + 0xa4, 0x01, 0xa8, 0xcd, 0xfe, 0x8a, 0xfe, 0x8b, 0xcd, 0x01, 0xa8, + 0xfe, 0xa2, 0x01, 0x5f, 0xfe, 0x80, 0xcd, 0x03, 0x44, 0x02, 0x01, + 0xfd, 0xc7, 0x98, 0xfd, 0x8c, 0x02, 0x3d, 0xfd, 0xc3, 0x02, 0x74, + 0x98, 0x02, 0x39, 0x00, 0x00, 0x01, 0x00, 0x7d, 0x00, 0x00, 0x04, + 0x50, 0x04, 0x3a, 0x00, 0x11, 0x00, 0x5b, 0x40, 0x1f, 0x10, 0x04, + 0x01, 0x01, 0x07, 0x00, 0x08, 0x00, 0x11, 0x0b, 0x0c, 0x0a, 0x0d, + 0x09, 0x11, 0x09, 0x08, 0x02, 0x03, 0x03, 0x08, 0x0c, 0x11, 0x04, + 0x13, 0x12, 0x10, 0x01, 0x05, 0x06, 0x05, 0xb8, 0x01, 0x0a, 0x40, + 0x0c, 0x59, 0x0d, 0x0a, 0x06, 0x06, 0x03, 0x0b, 0x08, 0x0f, 0x00, + 0x03, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, + 0x09, 0x01, 0x23, 0x01, 0x21, 0x35, 0x21, 0x01, 0x33, 0x09, 0x01, + 0x33, 0x01, 0x21, 0x15, 0x21, 0x01, 0x03, 0x87, 0xfe, 0xdd, 0xfe, + 0xdb, 0xc2, 0x01, 0x50, 0xfe, 0xcc, 0x01, 0x30, 0xfe, 0xc6, 0xc7, + 0x01, 0x0e, 0x01, 0x0c, 0xc9, 0xfe, 0xc5, 0x01, 0x36, 0xfe, 0xc8, + 0x01, 0x54, 0x01, 0xbc, 0xfe, 0x44, 0x01, 0xe6, 0x92, 0x01, 0xc2, + 0xfe, 0x5b, 0x01, 0xa5, 0xfe, 0x3e, 0x92, 0xfe, 0x1a, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x6e, 0x00, 0x00, 0x04, 0x2b, 0x05, 0x45, 0x00, + 0x0b, 0x00, 0x13, 0x00, 0x34, 0x40, 0x1a, 0x0c, 0x00, 0x05, 0x0f, + 0x0f, 0x08, 0x00, 0x08, 0x14, 0x15, 0x04, 0x11, 0x5f, 0x59, 0x04, + 0x04, 0x09, 0x06, 0x09, 0x0e, 0x5f, 0x59, 0x09, 0x12, 0x06, 0x03, + 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x34, 0x3e, 0x01, 0x33, 0x21, 0x11, 0x33, 0x11, + 0x21, 0x22, 0x24, 0x37, 0x14, 0x21, 0x33, 0x11, 0x23, 0x22, 0x06, + 0x6e, 0x77, 0xdd, 0x91, 0x01, 0x19, 0xbf, 0xfe, 0x34, 0xee, 0xfe, + 0xfd, 0xc0, 0x01, 0x48, 0xf6, 0xfe, 0x95, 0xab, 0x01, 0x94, 0x7d, + 0xc4, 0x6e, 0x02, 0x02, 0xfa, 0xbb, 0xd5, 0xc2, 0xfe, 0x02, 0x13, + 0x92, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8a, 0xff, 0xe6, 0x04, 0x19, + 0x05, 0xcc, 0x12, 0x06, 0x00, 0x47, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x0b, 0xff, 0xec, 0x04, 0xad, 0x05, 0x45, 0x00, 0x19, 0x00, 0x24, + 0x00, 0x43, 0x40, 0x23, 0x1a, 0x15, 0x10, 0x02, 0x02, 0x19, 0x20, + 0x08, 0x0b, 0x0b, 0x20, 0x15, 0x03, 0x25, 0x26, 0x05, 0x1d, 0x12, + 0x1d, 0x60, 0x59, 0x18, 0x22, 0x60, 0x59, 0x18, 0x09, 0x18, 0x09, + 0x10, 0x0e, 0x12, 0x13, 0x00, 0x03, 0x00, 0x3f, 0x3f, 0x33, 0x33, + 0x39, 0x39, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x23, + 0x22, 0x26, 0x35, 0x34, 0x24, 0x3b, 0x01, 0x01, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x11, 0x23, 0x22, 0x06, 0x02, 0x6f, 0xa2, 0x3e, + 0x41, 0x41, 0x3a, 0xa2, 0x86, 0x9a, 0xb5, 0x40, 0x54, 0xd2, 0xab, + 0xbc, 0x01, 0x08, 0xe9, 0x73, 0xfe, 0x3e, 0x66, 0x64, 0x7b, 0x7d, + 0x7a, 0x99, 0xaf, 0x05, 0x45, 0xfc, 0x2e, 0x85, 0x75, 0x74, 0x86, + 0x01, 0xd1, 0xfe, 0x31, 0xcf, 0xba, 0x8f, 0x8f, 0xd5, 0xc3, 0xc2, + 0xe7, 0xfe, 0x4f, 0x7d, 0x8c, 0x87, 0x80, 0x01, 0x2d, 0x9e, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x61, 0xff, 0xec, 0x04, 0x6c, 0x05, 0xcc, + 0x00, 0x1f, 0x00, 0x2a, 0x00, 0x4b, 0x40, 0x26, 0x20, 0x05, 0x00, + 0x10, 0x10, 0x0c, 0x26, 0x16, 0x19, 0x19, 0x26, 0x05, 0x03, 0x2b, + 0x2c, 0x0e, 0x01, 0x17, 0x17, 0x02, 0x08, 0x08, 0x28, 0x50, 0x59, + 0x0b, 0x08, 0x10, 0x13, 0x23, 0x02, 0x23, 0x50, 0x59, 0x1c, 0x00, + 0x02, 0x16, 0x00, 0x3f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x3f, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x06, 0x23, 0x22, 0x02, 0x11, 0x10, + 0x12, 0x33, 0x32, 0x16, 0x17, 0x33, 0x27, 0x11, 0x33, 0x11, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x10, + 0x23, 0x22, 0x06, 0x02, 0x35, 0x37, 0xa4, 0x85, 0x74, 0x85, 0x7b, + 0x49, 0x66, 0x22, 0x02, 0x02, 0xa2, 0x3b, 0x40, 0x41, 0x3a, 0xa2, + 0x86, 0x9a, 0x67, 0x87, 0x26, 0xfe, 0xd0, 0x41, 0x47, 0x53, 0x51, + 0xa2, 0x47, 0x43, 0x90, 0xa4, 0x01, 0x03, 0x01, 0x29, 0x01, 0x1c, + 0x01, 0x1a, 0x42, 0x52, 0x71, 0x01, 0xa1, 0xfb, 0xa7, 0x87, 0x73, + 0x74, 0x86, 0x01, 0xd1, 0xfe, 0x31, 0xcf, 0xba, 0x4e, 0x56, 0x01, + 0x8e, 0xd8, 0xcf, 0xe1, 0xd2, 0x01, 0x9f, 0xd4, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x04, 0xff, 0xec, 0x04, 0xae, 0x05, 0x59, 0x00, + 0x2a, 0x00, 0x55, 0x40, 0x2d, 0x2a, 0x00, 0x24, 0x06, 0x1b, 0x0c, + 0x13, 0x14, 0x14, 0x0c, 0x06, 0x09, 0x1f, 0x00, 0x06, 0x2b, 0x2c, + 0x09, 0x20, 0x1f, 0x20, 0x1f, 0x60, 0x59, 0x20, 0x13, 0x20, 0x13, + 0x18, 0x03, 0x18, 0x0f, 0x60, 0x59, 0x18, 0x13, 0x2a, 0x2a, 0x03, + 0x03, 0x27, 0x5f, 0x59, 0x03, 0x04, 0x00, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, + 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x1e, + 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x04, + 0x3f, 0xbb, 0x85, 0xaa, 0xc3, 0x7c, 0x67, 0x7e, 0x87, 0x3e, 0x41, + 0x41, 0x3a, 0xa2, 0x86, 0x9a, 0x95, 0x89, 0x96, 0xa3, 0x26, 0x3a, + 0x80, 0x80, 0x65, 0x6a, 0x4e, 0x72, 0x2b, 0x04, 0x67, 0x7e, 0x74, + 0xc2, 0x9f, 0x7d, 0x9a, 0x1f, 0x17, 0xae, 0x8a, 0x85, 0x75, 0x74, + 0x86, 0x01, 0xd1, 0xfe, 0x31, 0xcf, 0xba, 0xc0, 0xc7, 0x85, 0x78, + 0x94, 0x6a, 0x79, 0x64, 0x73, 0x48, 0x4f, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x09, 0xff, 0xec, 0x04, 0xac, 0x04, 0x4e, 0x00, 0x28, + 0x00, 0x55, 0x40, 0x2d, 0x0a, 0x0b, 0x04, 0x10, 0x26, 0x17, 0x1e, + 0x1f, 0x1f, 0x17, 0x10, 0x14, 0x00, 0x0b, 0x06, 0x29, 0x2a, 0x13, + 0x01, 0x00, 0x01, 0x00, 0x50, 0x59, 0x01, 0x1e, 0x01, 0x1e, 0x23, + 0x0d, 0x23, 0x1a, 0x50, 0x59, 0x23, 0x16, 0x0a, 0x0a, 0x0d, 0x0d, + 0x07, 0x50, 0x59, 0x0d, 0x10, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, + 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, + 0x12, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, + 0x17, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x2e, 0x01, 0x01, 0x08, 0xa1, 0x98, + 0x63, 0x5d, 0x59, 0x71, 0x0c, 0xa2, 0x2e, 0x01, 0x4b, 0xa8, 0xce, + 0x91, 0x67, 0x89, 0x81, 0x09, 0x0c, 0x3a, 0x3d, 0x3b, 0x39, 0xa2, + 0x86, 0x9a, 0x89, 0x8a, 0x0d, 0x09, 0xa1, 0x01, 0xf3, 0x89, 0x54, + 0x58, 0x4a, 0x56, 0x4a, 0x46, 0x14, 0x01, 0x02, 0x9f, 0x7e, 0x65, + 0x88, 0x09, 0x02, 0x0f, 0x6c, 0x62, 0x84, 0x5f, 0x71, 0x89, 0x01, + 0xd1, 0xfe, 0x31, 0xcf, 0xba, 0x9d, 0xa4, 0x6a, 0x5c, 0x00, 0x01, + 0x00, 0x10, 0xfe, 0x68, 0x04, 0xb9, 0x05, 0x59, 0x00, 0x22, 0x00, + 0x54, 0x40, 0x2c, 0x0f, 0x10, 0x09, 0x16, 0x1f, 0x20, 0x20, 0x22, + 0x1d, 0x1d, 0x16, 0x19, 0x04, 0x10, 0x05, 0x23, 0x24, 0x19, 0x05, + 0x04, 0x05, 0x04, 0x60, 0x59, 0x05, 0x05, 0x13, 0x20, 0x22, 0x22, + 0x1d, 0x5f, 0x59, 0x22, 0x12, 0x0f, 0x0f, 0x13, 0x13, 0x0c, 0x5f, + 0x59, 0x13, 0x04, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc6, 0x12, 0x39, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, + 0x2b, 0x01, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x36, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x1e, 0x01, 0x1d, 0x01, 0x33, 0x11, 0x23, 0x11, 0x23, 0x03, + 0x6e, 0xd8, 0xc1, 0x47, 0x47, 0xb4, 0xae, 0x98, 0x80, 0x7f, 0xb0, + 0x31, 0xaf, 0x46, 0x01, 0x08, 0xc8, 0xd3, 0xfd, 0x90, 0x88, 0x9d, + 0xa5, 0x99, 0xb4, 0x97, 0x01, 0x61, 0x80, 0x8f, 0x94, 0x7a, 0x69, + 0x65, 0x72, 0x78, 0x7f, 0x3d, 0xad, 0xa8, 0xc2, 0x9f, 0x76, 0x9f, + 0x21, 0x17, 0xae, 0x89, 0xd4, 0xfd, 0xc8, 0x01, 0x98, 0x00, 0x00, + 0x01, 0x00, 0x67, 0xfe, 0x68, 0x04, 0x45, 0x04, 0x4e, 0x00, 0x22, + 0x00, 0x56, 0x40, 0x2d, 0x13, 0x14, 0x0d, 0x1a, 0x02, 0x03, 0x03, + 0x05, 0x00, 0x00, 0x1a, 0x1e, 0x09, 0x14, 0x05, 0x23, 0x24, 0x1e, + 0x0a, 0x09, 0x0a, 0x09, 0x50, 0x59, 0x0a, 0x0a, 0x05, 0x17, 0x13, + 0x13, 0x17, 0x17, 0x10, 0x50, 0x59, 0x17, 0x10, 0x03, 0x05, 0x05, + 0x00, 0x51, 0x59, 0x05, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, + 0xc6, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x39, + 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x33, 0x11, 0x23, 0x11, 0x23, 0x35, 0x34, 0x26, 0x23, 0x35, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x07, 0x15, 0x1e, + 0x01, 0x15, 0x03, 0xce, 0x77, 0xa3, 0x83, 0xca, 0xc2, 0xb7, 0xc3, + 0x75, 0x82, 0x7c, 0x84, 0x0d, 0xa2, 0x18, 0xd6, 0xc2, 0xc6, 0xe7, + 0x4a, 0x81, 0x46, 0x8c, 0x8f, 0x83, 0xfd, 0xe5, 0x01, 0x98, 0xf6, + 0x7b, 0x82, 0x89, 0x5a, 0x52, 0x49, 0x57, 0x46, 0x4a, 0x14, 0x88, + 0x7a, 0x9a, 0x83, 0x41, 0x6a, 0x45, 0x06, 0x02, 0x0f, 0x9f, 0x8a, + 0x00, 0x01, 0x00, 0x00, 0xff, 0xec, 0x04, 0xb1, 0x05, 0x45, 0x00, + 0x21, 0x00, 0x42, 0x40, 0x20, 0x0a, 0x19, 0x1b, 0x08, 0x19, 0x08, + 0x11, 0x00, 0x01, 0x01, 0x23, 0x11, 0x22, 0x00, 0x00, 0x0f, 0x19, + 0x19, 0x0a, 0x60, 0x59, 0x19, 0x03, 0x1e, 0x14, 0x0f, 0x14, 0x60, + 0x59, 0x05, 0x0f, 0x13, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x01, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x11, 0x23, 0x03, 0x0a, 0x01, 0x06, 0x23, 0x22, 0x27, 0x35, + 0x16, 0x33, 0x32, 0x3e, 0x01, 0x12, 0x13, 0x21, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x04, 0x0f, 0xa2, 0x8c, 0x99, 0x96, 0x93, + 0xb5, 0x1d, 0x16, 0x3f, 0x73, 0x78, 0x35, 0x1c, 0x13, 0x20, 0x3a, + 0x39, 0x27, 0x20, 0x36, 0x01, 0xeb, 0x3f, 0x42, 0x41, 0x3f, 0x03, + 0x44, 0xfe, 0x31, 0xd1, 0xb8, 0xc0, 0xc6, 0x03, 0x47, 0xfe, 0x54, + 0xfe, 0xae, 0xfe, 0xb7, 0x82, 0x0a, 0x84, 0x07, 0x41, 0x9f, 0x01, + 0x15, 0x02, 0xd9, 0xfc, 0x2e, 0x81, 0x79, 0x75, 0x85, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x0f, 0xff, 0xec, 0x04, 0x91, 0x04, 0x3a, 0x00, + 0x21, 0x00, 0x3f, 0x40, 0x20, 0x01, 0x10, 0x12, 0x21, 0x19, 0x1a, + 0x1a, 0x21, 0x10, 0x08, 0x04, 0x22, 0x23, 0x19, 0x19, 0x06, 0x10, + 0x10, 0x01, 0x51, 0x59, 0x10, 0x0f, 0x15, 0x0b, 0x06, 0x0b, 0x50, + 0x59, 0x1e, 0x06, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x23, 0x03, 0x0e, 0x02, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x3e, 0x01, 0x37, 0x13, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x02, 0x58, 0xaf, 0x28, 0x14, 0x40, 0x69, 0x61, 0x2f, 0x25, 0x15, + 0x25, 0x30, 0x34, 0x23, 0x12, 0x35, 0x01, 0xe3, 0x39, 0x41, 0x41, + 0x3a, 0xa2, 0x86, 0x9a, 0x91, 0x88, 0x03, 0xc1, 0xfe, 0x45, 0xd4, + 0xe2, 0x64, 0x0b, 0x81, 0x07, 0x45, 0xac, 0xbb, 0x02, 0x1d, 0xfd, + 0x39, 0x86, 0x74, 0x74, 0x86, 0x01, 0xd1, 0xfe, 0x31, 0xcf, 0xba, + 0xba, 0xcc, 0x00, 0x00, 0x01, 0x00, 0x69, 0xff, 0xec, 0x04, 0x78, + 0x05, 0x45, 0x00, 0x19, 0x00, 0x4f, 0x40, 0x2b, 0x0a, 0x07, 0x19, + 0x19, 0x03, 0x11, 0x12, 0x06, 0x02, 0x02, 0x03, 0x03, 0x12, 0x1a, + 0x1b, 0x16, 0x0d, 0x60, 0x59, 0x16, 0x13, 0x06, 0x01, 0x5f, 0x59, + 0x50, 0x06, 0x01, 0xa0, 0x06, 0xb0, 0x06, 0x02, 0x06, 0x11, 0x06, + 0x11, 0x03, 0x08, 0x04, 0x03, 0x03, 0x12, 0x00, 0x3f, 0x3f, 0x33, + 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x5d, 0x71, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, + 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x02, 0x3a, 0xfe, 0xd2, 0xa3, 0xa3, 0x01, 0x2e, 0xa2, 0x3e, + 0x41, 0x41, 0x3a, 0xa2, 0x86, 0x9a, 0x93, 0x8b, 0x02, 0x6f, 0xfd, + 0x91, 0x05, 0x45, 0xfd, 0xca, 0x02, 0x36, 0xfc, 0x2e, 0x85, 0x75, + 0x74, 0x86, 0x01, 0xd1, 0xfe, 0x31, 0xcf, 0xba, 0xbc, 0xca, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0xff, 0xec, 0x04, 0x77, 0x04, + 0x3a, 0x00, 0x19, 0x00, 0x49, 0x40, 0x26, 0x0a, 0x07, 0x19, 0x19, + 0x03, 0x11, 0x12, 0x06, 0x02, 0x02, 0x03, 0x03, 0x12, 0x1a, 0x1b, + 0x16, 0x0d, 0x50, 0x59, 0x16, 0x16, 0x06, 0x01, 0x51, 0x59, 0x2f, + 0x06, 0x01, 0x06, 0x11, 0x06, 0x11, 0x03, 0x08, 0x04, 0x0f, 0x03, + 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x5d, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x35, 0x02, 0x2b, 0xfe, 0xdf, 0xb4, 0xb4, + 0x01, 0x21, 0xb4, 0x3b, 0x40, 0x41, 0x3a, 0xa2, 0x86, 0x9a, 0x96, + 0x96, 0x01, 0xed, 0xfe, 0x13, 0x04, 0x3a, 0xfe, 0x36, 0x01, 0xca, + 0xfd, 0x39, 0x87, 0x73, 0x74, 0x86, 0x01, 0xd1, 0xfe, 0x31, 0xcf, + 0xba, 0xbf, 0xc7, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, + 0x4f, 0x05, 0x5a, 0x12, 0x06, 0x00, 0x2a, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x82, 0xff, 0xec, 0x04, 0x28, 0x04, 0x4e, 0x12, 0x06, 0x02, + 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x16, 0xff, 0xec, 0x04, 0xa7, + 0x05, 0x45, 0x00, 0x15, 0x00, 0x3c, 0x40, 0x1d, 0x04, 0x06, 0x06, + 0x01, 0x15, 0x0c, 0x0f, 0x15, 0x0f, 0x16, 0x17, 0x0d, 0x0d, 0x12, + 0x02, 0x12, 0x09, 0x60, 0x59, 0x12, 0x13, 0x05, 0x01, 0x02, 0x01, + 0x5f, 0x59, 0x02, 0x03, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x01, 0x95, 0xfe, 0x81, 0x03, 0xbc, 0xfe, 0x81, 0x65, 0x69, 0x6a, + 0x67, 0xb5, 0xc9, 0xbe, 0xbf, 0xcc, 0x04, 0xa9, 0x9c, 0x9c, 0xfc, + 0xf2, 0x97, 0x87, 0x88, 0x99, 0x01, 0xaa, 0xfe, 0x45, 0xcd, 0xd4, + 0xd7, 0xca, 0x00, 0x00, 0x01, 0x00, 0x1b, 0xff, 0xec, 0x04, 0xa7, + 0x04, 0x3a, 0x00, 0x15, 0x00, 0x3c, 0x40, 0x1d, 0x02, 0x04, 0x04, + 0x15, 0x13, 0x0a, 0x0d, 0x13, 0x0d, 0x16, 0x17, 0x0b, 0x0b, 0x10, + 0x00, 0x10, 0x07, 0x50, 0x59, 0x10, 0x16, 0x03, 0x15, 0x00, 0x15, + 0x51, 0x59, 0x00, 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, + 0x01, 0x33, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, + 0x1b, 0x03, 0x28, 0xfe, 0xc6, 0x75, 0x7e, 0x7e, 0x78, 0xb5, 0xeb, + 0xbf, 0xbe, 0xea, 0xfe, 0xc6, 0x04, 0x3a, 0x83, 0xfd, 0xfd, 0x9f, + 0x9e, 0x9e, 0x9f, 0xc6, 0xe9, 0xc0, 0xe5, 0xe6, 0xbf, 0x02, 0x26, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5c, 0xff, 0xec, 0x04, 0x89, + 0x05, 0x5a, 0x00, 0x28, 0x00, 0x55, 0x40, 0x2d, 0x20, 0x03, 0x17, + 0x09, 0x11, 0x10, 0x25, 0x26, 0x26, 0x10, 0x1c, 0x06, 0x09, 0x03, + 0x06, 0x29, 0x2a, 0x06, 0x1a, 0x1d, 0x1a, 0x1d, 0x60, 0x59, 0x1a, + 0x1a, 0x00, 0x0d, 0x0d, 0x14, 0x5f, 0x59, 0x11, 0x11, 0x0d, 0x04, + 0x25, 0x25, 0x00, 0x00, 0x23, 0x5f, 0x59, 0x00, 0x13, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x33, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x05, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x2e, + 0x01, 0x35, 0x34, 0x3e, 0x01, 0x33, 0x32, 0x04, 0x17, 0x07, 0x2e, + 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x3b, 0x01, 0x15, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x20, 0x13, 0x17, 0x06, 0x04, + 0x02, 0x65, 0xee, 0xfe, 0xe5, 0xac, 0x96, 0x8f, 0x89, 0x75, 0xda, + 0x8b, 0xc7, 0x00, 0xff, 0x46, 0xb2, 0x33, 0xa5, 0x7b, 0x87, 0x9b, + 0xad, 0xb5, 0x47, 0x47, 0xca, 0xc0, 0xb3, 0x9c, 0x01, 0x03, 0x75, + 0xa5, 0x59, 0xfe, 0xfb, 0x14, 0xe6, 0xba, 0x80, 0xa3, 0x14, 0x22, + 0x95, 0x78, 0x69, 0xa4, 0x5b, 0xa4, 0xae, 0x3d, 0x84, 0x70, 0x71, + 0x67, 0x75, 0x71, 0x8d, 0x70, 0x7e, 0x77, 0x8a, 0x01, 0x10, 0x4d, + 0xbc, 0xa0, 0xff, 0xff, 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x04, + 0x4e, 0x12, 0x06, 0x03, 0x66, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, + 0xfe, 0x57, 0x04, 0x5d, 0x05, 0x45, 0x00, 0x1c, 0x00, 0x38, 0x40, + 0x1d, 0x01, 0x10, 0x10, 0x17, 0x08, 0x1c, 0x12, 0x12, 0x1e, 0x08, + 0x1d, 0x15, 0x1a, 0x5f, 0x59, 0x15, 0x1c, 0x10, 0x01, 0x5f, 0x59, + 0x10, 0x03, 0x06, 0x0b, 0x5f, 0x59, 0x06, 0x13, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x21, 0x03, 0x0a, 0x01, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, + 0x33, 0x32, 0x36, 0x12, 0x1b, 0x01, 0x21, 0x11, 0x14, 0x06, 0x23, + 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x03, 0xa3, 0xfe, 0x86, + 0x2b, 0x32, 0x62, 0x92, 0x84, 0x3a, 0x1c, 0x13, 0x25, 0x4d, 0x59, + 0x47, 0x26, 0x3d, 0x02, 0xd7, 0x97, 0x92, 0x3b, 0x40, 0x2c, 0x42, + 0x7c, 0x04, 0xa5, 0xfe, 0xae, 0xfe, 0x75, 0xfe, 0xaf, 0x87, 0x0a, + 0x98, 0x07, 0x84, 0x01, 0x2f, 0x01, 0x27, 0x01, 0xe0, 0xfa, 0x3a, + 0x8e, 0x9a, 0x0e, 0xa0, 0x10, 0x94, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x0b, 0xfe, 0x57, 0x04, 0x1d, 0x04, 0x3a, 0x00, 0x1c, 0x00, + 0x38, 0x40, 0x19, 0x0c, 0x1b, 0x0a, 0x00, 0x00, 0x04, 0x1b, 0x13, + 0x04, 0x1d, 0x1e, 0x1b, 0x0c, 0x51, 0x59, 0x1b, 0x0f, 0x11, 0x16, + 0x50, 0x59, 0x11, 0x16, 0x02, 0x07, 0xb8, 0x01, 0x0a, 0xb2, 0x59, + 0x02, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x05, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x21, 0x0a, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x36, 0x12, 0x1b, 0x01, 0x21, 0x04, 0x1d, + 0xfe, 0xe7, 0x3d, 0x40, 0x2c, 0x44, 0x37, 0x3a, 0xfe, 0x89, 0x3b, + 0x40, 0x4a, 0x6d, 0x56, 0x32, 0x2c, 0x19, 0x2b, 0x37, 0x43, 0x37, + 0x23, 0x2c, 0x02, 0xce, 0x81, 0xfe, 0xd8, 0x0e, 0x9c, 0x10, 0x43, + 0x51, 0x04, 0x32, 0xfe, 0x4c, 0xfe, 0xcf, 0x9c, 0x4a, 0x0d, 0x81, + 0x09, 0x6e, 0x01, 0x0e, 0x01, 0x08, 0x01, 0x45, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x66, 0xfe, 0x7d, 0x04, 0x71, 0x05, 0x5a, 0x12, + 0x06, 0x00, 0x34, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8a, 0xfe, 0x57, + 0x04, 0x1a, 0x04, 0x4a, 0x12, 0x06, 0x00, 0x54, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x05, 0x45, 0x12, 0x06, + 0x00, 0x3a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x15, 0x00, 0x00, 0x04, + 0xb8, 0x04, 0x3a, 0x12, 0x06, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x01, + 0x01, 0xa8, 0xfe, 0x7f, 0x03, 0x23, 0xff, 0xcb, 0x00, 0x14, 0x00, + 0x21, 0x40, 0x13, 0x11, 0x05, 0x0e, 0x0e, 0x0a, 0xdf, 0x01, 0x01, + 0x00, 0x01, 0x40, 0x01, 0x50, 0x01, 0x60, 0x01, 0x04, 0x01, 0x10, + 0x00, 0x2f, 0xcc, 0x5d, 0x5d, 0x32, 0x39, 0x2f, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, + 0x23, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x1e, 0x01, 0x15, + 0x03, 0x23, 0x67, 0x26, 0x30, 0x33, 0x27, 0x64, 0x42, 0x47, 0x67, + 0x48, 0x43, 0xfe, 0x7f, 0x2f, 0x36, 0x2e, 0x2e, 0x36, 0x2f, 0x31, + 0x55, 0x5d, 0x0b, 0x5e, 0x5e, 0x0b, 0x5d, 0x55, 0x00, 0x00, 0x00, + 0x03, 0x01, 0xa4, 0x05, 0x4e, 0x03, 0x27, 0x06, 0xbc, 0x00, 0x0b, + 0x00, 0x17, 0x00, 0x23, 0x00, 0x28, 0x40, 0x16, 0x15, 0x09, 0x09, + 0x0f, 0x0f, 0x03, 0x01, 0xaf, 0x03, 0xef, 0x03, 0xff, 0x03, 0x03, + 0x03, 0x40, 0x09, 0x0d, 0x48, 0x03, 0x1b, 0x21, 0xb8, 0x01, 0x52, + 0x00, 0x3f, 0x33, 0xcc, 0x2b, 0x5d, 0x71, 0x32, 0x32, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x23, 0x22, 0x26, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x07, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x01, 0xa4, 0x2e, 0x20, 0x22, 0x2e, + 0x2e, 0x22, 0x20, 0x2e, 0xe5, 0x2e, 0x20, 0x22, 0x2e, 0x2e, 0x22, + 0x20, 0x2e, 0x72, 0x2d, 0x20, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x2d, + 0x06, 0x6f, 0x20, 0x2d, 0x2d, 0x20, 0x22, 0x2e, 0x2e, 0x22, 0x20, + 0x2d, 0x2d, 0x20, 0x22, 0x2e, 0x2e, 0xaf, 0x22, 0x2e, 0x2e, 0x22, + 0x22, 0x2e, 0x30, 0x00, 0x00, 0x01, 0x01, 0xd3, 0x05, 0x4e, 0x02, + 0xfa, 0x06, 0xfc, 0x00, 0x0b, 0x00, 0x0b, 0xb1, 0x00, 0x06, 0xb8, + 0x01, 0x52, 0x00, 0x3f, 0xcc, 0x31, 0x30, 0x01, 0x07, 0x17, 0x07, + 0x17, 0x07, 0x23, 0x37, 0x27, 0x37, 0x27, 0x37, 0x02, 0xfa, 0x9c, + 0x9c, 0x9c, 0x9c, 0xb0, 0x77, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x06, + 0xfc, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x00, 0x00, 0x00, 0x02, 0x02, 0x14, 0x05, 0x4e, 0x02, 0xb6, 0x06, + 0xbc, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x22, 0x40, 0x13, 0x09, 0x0f, + 0x03, 0x01, 0xaf, 0x03, 0xef, 0x03, 0xff, 0x03, 0x03, 0x03, 0x40, + 0x09, 0x0d, 0x48, 0x03, 0x0f, 0x15, 0xb8, 0x01, 0x52, 0x00, 0x3f, + 0x33, 0xcc, 0x2b, 0x5d, 0x71, 0x32, 0x31, 0x30, 0x01, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x07, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x02, + 0x17, 0x2d, 0x20, 0x22, 0x30, 0x2f, 0x23, 0x20, 0x2d, 0x03, 0x30, + 0x20, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, 0x06, 0x6d, 0x22, 0x2d, + 0x2d, 0x22, 0x20, 0x2e, 0x2e, 0xaf, 0x22, 0x2e, 0x30, 0x20, 0x20, + 0x30, 0x2e, 0x00, 0x00, 0x00, 0x03, 0x01, 0xb2, 0x05, 0x4e, 0x03, + 0x19, 0x06, 0xbc, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x28, + 0x40, 0x16, 0x19, 0x03, 0x18, 0x09, 0x0f, 0x03, 0x01, 0xaf, 0x03, + 0xef, 0x03, 0xff, 0x03, 0x03, 0x03, 0x40, 0x09, 0x0d, 0x48, 0x03, + 0x0f, 0x15, 0xb8, 0x01, 0x52, 0x00, 0x3f, 0x33, 0xcc, 0x2b, 0x5d, + 0x71, 0x32, 0xc4, 0x10, 0xc4, 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x15, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x07, 0x11, + 0x33, 0x11, 0x02, 0x79, 0x2e, 0x22, 0x20, 0x30, 0x30, 0x20, 0x22, + 0x2e, 0x2e, 0x20, 0x21, 0x2f, 0x2e, 0x22, 0x20, 0x2e, 0xc7, 0x6f, + 0x06, 0x6d, 0x22, 0x2d, 0x2d, 0x22, 0x20, 0x2e, 0x2e, 0xaf, 0x20, + 0x30, 0x2f, 0x21, 0x22, 0x2e, 0x2e, 0x2e, 0x01, 0x6e, 0xfe, 0x92, + 0x00, 0x01, 0x01, 0xc3, 0xfe, 0x7f, 0x03, 0x0a, 0xff, 0xae, 0x00, + 0x07, 0x00, 0x0e, 0xb6, 0x00, 0x04, 0x10, 0x04, 0x02, 0x04, 0x00, + 0x00, 0x2f, 0xcc, 0x5d, 0x31, 0x30, 0x05, 0x14, 0x16, 0x33, 0x15, + 0x22, 0x26, 0x35, 0x02, 0x31, 0x72, 0x67, 0x9d, 0xaa, 0x52, 0x5b, + 0x6a, 0x6a, 0xa1, 0x8e, 0x00, 0x01, 0x01, 0xcf, 0x05, 0x58, 0x02, + 0xfe, 0x06, 0xa8, 0x00, 0x03, 0x00, 0x0b, 0xb1, 0x03, 0x01, 0xb8, + 0x01, 0x52, 0x00, 0x3f, 0xcd, 0x31, 0x30, 0x01, 0x07, 0x27, 0x37, + 0x02, 0xfe, 0x98, 0x97, 0x97, 0x06, 0x00, 0xa8, 0xa8, 0xa8, 0x00, + 0x00, 0x01, 0x01, 0x3b, 0x05, 0x50, 0x03, 0x91, 0x06, 0x83, 0x00, + 0x21, 0x00, 0x20, 0x40, 0x0d, 0x11, 0x1c, 0x00, 0x0b, 0x1c, 0x0b, + 0x1c, 0x0b, 0x0f, 0x17, 0x01, 0x17, 0x06, 0xb8, 0x01, 0x52, 0x00, + 0x3f, 0xcc, 0x5d, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x22, 0x06, 0x15, 0x14, 0x17, 0x07, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x27, 0x37, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x27, 0x2e, 0x01, 0x01, 0xcb, 0x1c, 0x26, 0x3a, 0x1b, 0x6d, 0x52, + 0x42, 0x32, 0x54, 0x2e, 0x28, 0x37, 0x20, 0x1c, 0x26, 0x3a, 0x1b, + 0x6c, 0x51, 0x3e, 0x32, 0x50, 0x36, 0x2e, 0x31, 0x06, 0x39, 0x26, + 0x25, 0x40, 0x16, 0x48, 0x26, 0x78, 0x41, 0x52, 0x3b, 0x44, 0x39, + 0x2f, 0x26, 0x25, 0x40, 0x16, 0x48, 0x28, 0x76, 0x41, 0x52, 0x34, + 0x4b, 0x3f, 0x29, 0x00, 0x00, 0x01, 0x01, 0xc3, 0x05, 0x4e, 0x03, + 0x0a, 0x06, 0x7f, 0x00, 0x07, 0x00, 0x11, 0xb6, 0x0f, 0x04, 0x1f, + 0x04, 0x02, 0x04, 0x00, 0xb8, 0x01, 0x52, 0x00, 0x3f, 0xcc, 0x5d, + 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x15, 0x02, + 0x9c, 0x71, 0x68, 0x9b, 0xac, 0x05, 0x4e, 0x5c, 0x68, 0x6d, 0xa0, + 0x91, 0x00, 0x01, 0x01, 0xc5, 0xfe, 0x7f, 0x03, 0x06, 0xff, 0xe7, + 0x00, 0x05, 0x00, 0x08, 0xb1, 0x01, 0x04, 0x00, 0x2f, 0xcc, 0x31, + 0x30, 0x01, 0x23, 0x27, 0x37, 0x33, 0x07, 0x03, 0x06, 0x8f, 0xb2, + 0xb2, 0x8f, 0xb2, 0xfe, 0x7f, 0xb4, 0xb4, 0xb4, 0x00, 0x02, 0x01, + 0xb0, 0xfe, 0x7f, 0x03, 0x1d, 0xff, 0xf2, 0x00, 0x07, 0x00, 0x13, + 0x00, 0x12, 0xb7, 0x07, 0x07, 0x40, 0x03, 0x01, 0x03, 0x11, 0x0b, + 0x00, 0x2f, 0x33, 0xcc, 0x5d, 0x39, 0x2f, 0x31, 0x30, 0x05, 0x14, + 0x06, 0x23, 0x35, 0x32, 0x36, 0x35, 0x05, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x03, 0x1d, 0xaa, 0x9e, + 0x67, 0x74, 0xff, 0x00, 0x2e, 0x20, 0x21, 0x2f, 0x2e, 0x22, 0x20, + 0x2e, 0x52, 0x8d, 0xa2, 0x6a, 0x69, 0x5c, 0x0c, 0x20, 0x30, 0x2f, + 0x21, 0x22, 0x2e, 0x2e, 0x00, 0x01, 0x01, 0xc3, 0x05, 0x4e, 0x03, + 0x0a, 0x06, 0x7f, 0x00, 0x07, 0x00, 0x11, 0xb6, 0x0f, 0x03, 0x1f, + 0x03, 0x02, 0x03, 0x00, 0xb8, 0x01, 0x52, 0x00, 0x3f, 0xcd, 0x5d, + 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, 0x15, 0x22, 0x06, 0x15, 0x01, + 0xc3, 0xab, 0x9c, 0x67, 0x72, 0x05, 0x4e, 0x90, 0xa1, 0x6d, 0x68, + 0x5c, 0xff, 0xff, 0x01, 0xc3, 0x05, 0x4e, 0x03, 0x0a, 0x06, 0x7f, + 0x10, 0x06, 0x04, 0xd3, 0x00, 0x00, 0x00, 0x02, 0x01, 0x1f, 0x05, + 0x4e, 0x03, 0xae, 0x06, 0x7f, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x16, + 0x40, 0x09, 0x0b, 0x0f, 0x03, 0x1f, 0x03, 0x02, 0x03, 0x08, 0x00, + 0xb8, 0x01, 0x52, 0x00, 0x3f, 0x32, 0xcd, 0x5d, 0x32, 0x31, 0x30, + 0x01, 0x34, 0x36, 0x33, 0x15, 0x22, 0x06, 0x15, 0x21, 0x34, 0x36, + 0x33, 0x15, 0x22, 0x06, 0x15, 0x02, 0x66, 0xac, 0x9c, 0x66, 0x73, + 0xfe, 0x4a, 0xab, 0x9c, 0x67, 0x72, 0x05, 0x4e, 0x8f, 0xa2, 0x6d, + 0x65, 0x5f, 0x90, 0xa1, 0x6d, 0x68, 0x5c, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x5c, 0x05, 0x3b, 0x04, 0x71, 0x07, 0x29, 0x00, 0x0f, 0x00, + 0x1b, 0x00, 0x2b, 0x00, 0x37, 0x00, 0x21, 0x40, 0x10, 0x19, 0x03, + 0x03, 0x2f, 0x2f, 0x29, 0x01, 0x29, 0x13, 0x35, 0x35, 0x09, 0x50, + 0x23, 0x01, 0x23, 0x00, 0x2f, 0x5d, 0x33, 0x33, 0x11, 0x33, 0xc4, + 0x5d, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x07, 0x27, 0x37, + 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x05, 0x14, 0x07, 0x17, 0x07, 0x27, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 0xc1, 0x7e, + 0x59, 0x59, 0x80, 0x7e, 0x5b, 0x3b, 0x2e, 0x58, 0x52, 0x58, 0x1c, + 0x78, 0x37, 0x28, 0x28, 0x3a, 0x3c, 0x26, 0x25, 0x3a, 0xfe, 0xd3, + 0x1c, 0x58, 0x52, 0x58, 0x2f, 0x3a, 0x5c, 0x7d, 0x7e, 0x5b, 0x59, + 0x7e, 0x79, 0x3a, 0x24, 0x26, 0x3c, 0x3a, 0x28, 0x26, 0x38, 0x06, + 0x52, 0x59, 0x7e, 0x7d, 0x5a, 0x5a, 0x7d, 0x18, 0x58, 0x54, 0x58, + 0x30, 0x3b, 0x28, 0x38, 0x39, 0x27, 0x27, 0x39, 0x38, 0x28, 0x3b, + 0x30, 0x58, 0x54, 0x58, 0x18, 0x7d, 0x5a, 0x59, 0x7e, 0x7e, 0x59, + 0x28, 0x38, 0x3a, 0x26, 0x27, 0x39, 0x38, 0x00, 0x02, 0x01, 0x71, + 0x05, 0x3b, 0x03, 0x5c, 0x07, 0x29, 0x00, 0x0f, 0x00, 0x1b, 0x00, + 0x15, 0x40, 0x0a, 0x19, 0x2f, 0x03, 0x01, 0x03, 0x13, 0x50, 0x09, + 0x01, 0x09, 0x00, 0x2f, 0x5d, 0x33, 0xc4, 0x5d, 0x32, 0x31, 0x30, + 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x27, 0x07, 0x27, 0x37, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xae, 0x7e, 0x59, 0x59, + 0x7e, 0x7c, 0x5b, 0x3a, 0x30, 0x56, 0x54, 0x58, 0x1b, 0x77, 0x38, + 0x28, 0x28, 0x38, 0x3a, 0x26, 0x26, 0x3a, 0x06, 0x52, 0x59, 0x7e, + 0x7e, 0x59, 0x59, 0x7e, 0x18, 0x58, 0x54, 0x58, 0x2c, 0x3f, 0x28, + 0x38, 0x38, 0x28, 0x28, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0xc1, 0x05, 0x4e, 0x03, 0x0c, 0x06, 0x9a, 0x00, 0x11, 0x00, + 0x18, 0x40, 0x09, 0x0d, 0x04, 0x04, 0x09, 0x0f, 0x00, 0x01, 0x00, + 0x08, 0xb8, 0x01, 0x52, 0x00, 0x3f, 0xcc, 0x5d, 0x32, 0x39, 0x2f, + 0x33, 0x31, 0x30, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x15, + 0x23, 0x11, 0x33, 0x15, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x01, 0x03, + 0x0c, 0x57, 0x57, 0x22, 0x17, 0x64, 0x64, 0x0a, 0x21, 0x30, 0x26, + 0x06, 0x9a, 0x32, 0x58, 0x66, 0x0a, 0x66, 0x01, 0x4c, 0x8a, 0x0c, + 0x2d, 0x37, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa8, 0xfe, 0x7f, + 0x03, 0x23, 0xff, 0xcb, 0x00, 0x13, 0x00, 0x21, 0x40, 0x13, 0x02, + 0x0e, 0x05, 0x05, 0xdf, 0x04, 0x01, 0x00, 0x04, 0x40, 0x04, 0x50, + 0x04, 0x60, 0x04, 0x04, 0x04, 0x12, 0x0a, 0x00, 0x2f, 0x33, 0xcc, + 0x5d, 0x5d, 0x39, 0x2f, 0x33, 0x33, 0x31, 0x30, 0x05, 0x14, 0x07, + 0x15, 0x23, 0x35, 0x2e, 0x01, 0x3d, 0x01, 0x33, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x3d, 0x01, 0x33, 0x03, 0x23, 0x8b, 0x67, 0x4e, + 0x3b, 0x64, 0x27, 0x33, 0x30, 0x26, 0x67, 0x66, 0xaa, 0x15, 0x5c, + 0x5c, 0x0d, 0x64, 0x4e, 0x31, 0x31, 0x35, 0x30, 0x30, 0x35, 0x31, + 0x00, 0x00, 0x00, 0x01, 0x01, 0xc3, 0xfe, 0xa4, 0x03, 0x0a, 0xff, + 0xdd, 0x00, 0x05, 0x00, 0x0e, 0xb5, 0x03, 0x00, 0x02, 0x01, 0x02, + 0x00, 0x00, 0x2f, 0xcc, 0x5d, 0x32, 0x31, 0x30, 0x05, 0x11, 0x21, + 0x35, 0x33, 0x35, 0x03, 0x0a, 0xfe, 0xb9, 0xdb, 0x23, 0xfe, 0xc7, + 0x6a, 0xcf, 0x00, 0x01, 0x01, 0xc5, 0xfe, 0x7f, 0x03, 0x08, 0xff, + 0xe7, 0x00, 0x05, 0x00, 0x08, 0xb1, 0x01, 0x04, 0x00, 0x2f, 0xcc, + 0x31, 0x30, 0x01, 0x23, 0x27, 0x37, 0x33, 0x07, 0x03, 0x08, 0x8f, + 0xb4, 0xb4, 0x8f, 0xb4, 0xfe, 0x7f, 0xb4, 0xb4, 0xb4, 0x00, 0x01, + 0x01, 0xc3, 0xfe, 0x7f, 0x03, 0x0a, 0xff, 0xae, 0x00, 0x07, 0x00, + 0x10, 0xb7, 0x04, 0x00, 0x03, 0x10, 0x03, 0x02, 0x03, 0x00, 0x00, + 0x2f, 0xcd, 0x5d, 0x32, 0x31, 0x30, 0x05, 0x14, 0x06, 0x23, 0x35, + 0x32, 0x36, 0x35, 0x03, 0x0a, 0xab, 0x9c, 0x67, 0x72, 0x52, 0x8f, + 0xa0, 0x6a, 0x6a, 0x5b, 0x00, 0x00, 0x00, 0x02, 0x01, 0x1f, 0xfe, + 0x7f, 0x03, 0xae, 0xff, 0xae, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x19, + 0x40, 0x0c, 0x0c, 0x04, 0x04, 0x0b, 0x00, 0x03, 0x10, 0x03, 0x02, + 0x03, 0x0f, 0x00, 0x00, 0x2f, 0x32, 0xcd, 0x5d, 0x32, 0x32, 0x11, + 0x33, 0x31, 0x30, 0x05, 0x14, 0x06, 0x23, 0x35, 0x32, 0x36, 0x35, + 0x21, 0x14, 0x06, 0x23, 0x35, 0x32, 0x36, 0x35, 0x02, 0x66, 0xab, + 0x9c, 0x67, 0x72, 0x01, 0xb6, 0xab, 0x9d, 0x67, 0x72, 0x52, 0x8f, + 0xa0, 0x6a, 0x6a, 0x5b, 0x8f, 0xa0, 0x6a, 0x6b, 0x5a, 0x00, 0x01, + 0x01, 0xc9, 0xfe, 0x7f, 0x03, 0x02, 0xff, 0xf8, 0x00, 0x07, 0x00, + 0x0c, 0xb4, 0x40, 0x01, 0x01, 0x01, 0x05, 0x00, 0x2f, 0xcc, 0x5d, + 0x31, 0x30, 0x01, 0x05, 0x35, 0x37, 0x27, 0x25, 0x15, 0x07, 0x03, + 0x02, 0xfe, 0xe3, 0x8e, 0xaa, 0x01, 0x1e, 0x8f, 0xfe, 0xb2, 0x33, + 0x50, 0x16, 0xe0, 0x33, 0x4c, 0x19, 0xff, 0xff, 0x01, 0xc3, 0x05, + 0x4e, 0x03, 0x0a, 0x06, 0x7f, 0x10, 0x06, 0x04, 0xd0, 0x00, 0x00, + 0x00, 0x02, 0x01, 0x71, 0x05, 0x3b, 0x03, 0x5c, 0x07, 0x29, 0x00, + 0x0f, 0x00, 0x1b, 0x00, 0x15, 0x40, 0x0a, 0x13, 0x2f, 0x0d, 0x01, + 0x0d, 0x19, 0x50, 0x07, 0x01, 0x07, 0x00, 0x2f, 0x5d, 0x33, 0xc4, + 0x5d, 0x32, 0x31, 0x30, 0x01, 0x14, 0x07, 0x17, 0x07, 0x27, 0x06, + 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, + 0x1f, 0x1b, 0x58, 0x54, 0x56, 0x32, 0x38, 0x5b, 0x7c, 0x7e, 0x59, + 0x57, 0x80, 0x77, 0x3a, 0x26, 0x27, 0x3a, 0x38, 0x29, 0x28, 0x38, + 0x06, 0x52, 0x3f, 0x2c, 0x58, 0x54, 0x58, 0x18, 0x7e, 0x59, 0x59, + 0x7e, 0x7e, 0x59, 0x28, 0x38, 0x39, 0x27, 0x28, 0x38, 0x38, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x01, 0xa8, 0xfe, 0x7f, 0x03, 0x23, 0xff, + 0xcb, 0x10, 0x06, 0x04, 0xd9, 0x00, 0x00, 0x00, 0x01, 0x01, 0xc5, + 0x05, 0x4e, 0x03, 0x08, 0x06, 0xb6, 0x00, 0x05, 0x00, 0x0b, 0xb1, + 0x04, 0x01, 0xb8, 0x01, 0x52, 0x00, 0x3f, 0xcc, 0x31, 0x30, 0x01, + 0x23, 0x27, 0x37, 0x33, 0x07, 0x03, 0x08, 0x8f, 0xb4, 0xb4, 0x8f, + 0xb4, 0x05, 0x4e, 0xb4, 0xb4, 0xb4, 0x00, 0x00, 0x01, 0x01, 0xc3, + 0x05, 0x4e, 0x03, 0x0a, 0x06, 0x87, 0x00, 0x05, 0x00, 0x11, 0xb5, + 0x0f, 0x00, 0x01, 0x00, 0x03, 0x02, 0xb8, 0x01, 0x52, 0x00, 0x3f, + 0x33, 0xcc, 0x5d, 0x31, 0x30, 0x01, 0x11, 0x21, 0x35, 0x33, 0x35, + 0x03, 0x0a, 0xfe, 0xb9, 0xdb, 0x06, 0x87, 0xfe, 0xc7, 0x6a, 0xcf, + 0xff, 0xff, 0x01, 0xc3, 0xfe, 0x7f, 0x03, 0x0a, 0xff, 0xae, 0x10, + 0x06, 0x04, 0xcd, 0x00, 0x00, 0xff, 0xff, 0x01, 0x3b, 0x05, 0x50, + 0x03, 0x91, 0x06, 0x83, 0x10, 0x06, 0x04, 0xcf, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x8f, 0x05, 0x7b, 0x03, 0x3d, 0x07, 0x29, 0x00, 0x0b, + 0x00, 0x17, 0x00, 0x10, 0xb6, 0x15, 0x2f, 0x03, 0x01, 0x03, 0x0f, + 0x09, 0x00, 0x2f, 0x33, 0xcc, 0x5d, 0x32, 0x31, 0x30, 0x01, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x01, 0x8f, 0x7e, 0x59, 0x59, 0x7e, 0x7c, 0x5b, 0x5b, 0x7c, 0x77, + 0x38, 0x28, 0x29, 0x38, 0x3a, 0x27, 0x26, 0x3a, 0x06, 0x52, 0x59, + 0x7e, 0x7e, 0x59, 0x59, 0x7e, 0x7e, 0x59, 0x28, 0x38, 0x38, 0x28, + 0x28, 0x38, 0x38, 0x00, 0x02, 0x02, 0x17, 0xfe, 0x7f, 0x02, 0xb6, + 0xff, 0xee, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x17, 0x40, 0x0c, 0x0f, + 0x00, 0x15, 0x01, 0x40, 0x15, 0xa0, 0x15, 0x02, 0x15, 0x09, 0x03, + 0x00, 0x2f, 0x33, 0xcc, 0x5d, 0x71, 0x32, 0x31, 0x30, 0x05, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x15, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x02, 0x17, 0x2f, 0x20, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x2f, 0x2d, + 0x22, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2d, 0x62, 0x22, 0x2e, 0x30, + 0x20, 0x20, 0x2e, 0x2e, 0xaf, 0x20, 0x30, 0x30, 0x20, 0x20, 0x30, + 0x2e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x39, 0xfe, 0x7f, 0x03, + 0x93, 0xff, 0xee, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, + 0x00, 0x3b, 0x00, 0x27, 0x40, 0x15, 0x33, 0x1b, 0x1b, 0x39, 0x00, + 0x21, 0x01, 0x40, 0x21, 0xa0, 0x21, 0x02, 0x21, 0x2d, 0x15, 0x09, + 0x0f, 0x27, 0x09, 0x03, 0x03, 0x00, 0x2f, 0x17, 0x33, 0x11, 0x33, + 0x33, 0xcc, 0x5d, 0x71, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x05, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x07, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x23, 0x22, 0x26, 0x07, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x01, 0x39, 0x2e, 0x20, 0x22, 0x2e, 0x2e, + 0x22, 0x20, 0x2e, 0xe6, 0x2e, 0x20, 0x22, 0x2d, 0x2d, 0x22, 0x20, + 0x2e, 0x73, 0x2e, 0x20, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x2e, 0x01, + 0x4a, 0x2e, 0x20, 0x22, 0x2d, 0x2d, 0x22, 0x20, 0x2e, 0x02, 0x30, + 0x20, 0x21, 0x2e, 0x2f, 0x20, 0x22, 0x2e, 0x60, 0x20, 0x2e, 0x2e, + 0x20, 0x22, 0x2e, 0x2e, 0x22, 0x20, 0x2e, 0x2e, 0x20, 0x22, 0x2e, + 0x2e, 0xaf, 0x22, 0x2e, 0x2e, 0x22, 0x22, 0x2e, 0x30, 0xef, 0x22, + 0x2e, 0x2e, 0x22, 0x20, 0x2e, 0x2e, 0xaf, 0x22, 0x2e, 0x30, 0x20, + 0x22, 0x2e, 0x2e, 0x00, 0x03, 0x01, 0x56, 0xfe, 0x7f, 0x03, 0x75, + 0xff, 0xee, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x1d, 0x40, + 0x0f, 0x00, 0x01, 0x01, 0x13, 0x00, 0x19, 0x01, 0x40, 0x19, 0xa0, + 0x19, 0x02, 0x19, 0x0d, 0x07, 0x00, 0x2f, 0x33, 0xcc, 0x5d, 0x71, + 0x32, 0x39, 0x2f, 0x33, 0x31, 0x30, 0x05, 0x35, 0x21, 0x15, 0x37, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x15, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x01, 0x56, 0x01, 0x48, 0x37, 0x2e, 0x22, 0x22, 0x2e, 0x30, + 0x20, 0x22, 0x2e, 0x2e, 0x20, 0x21, 0x2f, 0x2e, 0x22, 0x20, 0x2e, + 0xa2, 0x6d, 0x6d, 0x40, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x2e, 0x2e, + 0xaf, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, 0x2e, 0x00, 0x00, 0x03, + 0x01, 0x56, 0xfe, 0x7f, 0x03, 0x75, 0xff, 0xee, 0x00, 0x07, 0x00, + 0x13, 0x00, 0x1f, 0x00, 0x21, 0x40, 0x11, 0x06, 0x02, 0x02, 0x03, + 0x03, 0x17, 0x00, 0x1d, 0x01, 0x40, 0x1d, 0xa0, 0x1d, 0x02, 0x1d, + 0x11, 0x0b, 0x00, 0x2f, 0x33, 0xcc, 0x5d, 0x71, 0x32, 0x39, 0x2f, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x23, 0x35, 0x21, 0x15, + 0x23, 0x15, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x23, 0x22, 0x26, 0x15, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x01, 0xc5, 0x6f, 0x01, 0x48, 0x6b, 0xa2, + 0x2e, 0x22, 0x22, 0x2e, 0x30, 0x20, 0x22, 0x2e, 0x2e, 0x20, 0x21, + 0x2f, 0x2e, 0x22, 0x20, 0x2e, 0xfe, 0xec, 0x72, 0x6d, 0x6d, 0x72, + 0xb2, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x2e, 0x2e, 0xaf, 0x20, 0x30, + 0x2f, 0x21, 0x22, 0x2e, 0x2e, 0x00, 0x01, 0x02, 0x17, 0xfe, 0xa4, + 0x02, 0xb6, 0xff, 0x42, 0x00, 0x0b, 0x00, 0x08, 0xb1, 0x09, 0x03, + 0x00, 0x2f, 0x33, 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x02, 0x17, 0x2f, 0x20, 0x22, + 0x2e, 0x30, 0x20, 0x20, 0x2f, 0xfe, 0xf2, 0x22, 0x2e, 0x30, 0x20, + 0x20, 0x2e, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0xa4, 0xfe, + 0xa4, 0x03, 0x29, 0xff, 0x44, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x0e, + 0xb4, 0x15, 0x09, 0x09, 0x0f, 0x03, 0x00, 0x2f, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x01, 0xa4, 0x30, 0x20, 0x20, 0x30, + 0x2f, 0x21, 0x22, 0x2e, 0xe7, 0x2e, 0x20, 0x21, 0x2f, 0x2e, 0x22, + 0x20, 0x2e, 0xfe, 0xf4, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x30, 0x2e, + 0x22, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, 0x2e, 0x00, 0x00, 0x00, + 0x03, 0x01, 0xa4, 0xfe, 0x7f, 0x03, 0x29, 0xff, 0xee, 0x00, 0x0b, + 0x00, 0x17, 0x00, 0x23, 0x00, 0x1d, 0x40, 0x0f, 0x1b, 0x00, 0x21, + 0x01, 0x40, 0x21, 0xa0, 0x21, 0x02, 0x21, 0x15, 0x09, 0x09, 0x0f, + 0x03, 0x00, 0x2f, 0x33, 0x33, 0x11, 0x33, 0xcc, 0x5d, 0x71, 0x32, + 0x31, 0x30, 0x05, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x23, 0x22, 0x26, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x07, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x01, 0xa4, 0x2e, 0x22, 0x22, 0x2e, + 0x30, 0x20, 0x20, 0x30, 0xe7, 0x2e, 0x20, 0x22, 0x2e, 0x30, 0x20, + 0x20, 0x2e, 0x74, 0x2f, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x20, 0x2f, + 0x62, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, + 0x2e, 0x22, 0x22, 0x2e, 0x30, 0xaf, 0x20, 0x2e, 0x2e, 0x20, 0x20, + 0x30, 0x2e, 0x00, 0x00, 0x01, 0x01, 0xc3, 0xff, 0x19, 0x03, 0x0a, + 0xff, 0x83, 0x00, 0x03, 0x00, 0x0c, 0xb4, 0x03, 0x07, 0x01, 0x01, + 0x01, 0x00, 0x2f, 0x5d, 0x33, 0x31, 0x30, 0x05, 0x21, 0x15, 0x21, + 0x01, 0xc3, 0x01, 0x47, 0xfe, 0xb9, 0x7d, 0x6a, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xc3, 0xfe, 0xa4, 0x03, 0x0a, 0xff, 0x83, 0x00, 0x07, + 0x00, 0x06, 0xb0, 0x02, 0x00, 0x2f, 0x31, 0x30, 0x01, 0x35, 0x23, + 0x35, 0x21, 0x15, 0x23, 0x15, 0x02, 0x31, 0x6e, 0x01, 0x47, 0x6a, + 0xfe, 0xa4, 0x75, 0x6a, 0x6a, 0x75, 0x00, 0x01, 0x02, 0x17, 0x05, + 0x18, 0x02, 0xb6, 0x05, 0xb8, 0x00, 0x0b, 0x00, 0x17, 0x40, 0x0e, + 0x03, 0x4f, 0x09, 0x7f, 0x09, 0x9f, 0x09, 0xcf, 0x09, 0x04, 0x00, + 0x09, 0x01, 0x09, 0x00, 0x2f, 0x5d, 0x5d, 0x33, 0x31, 0x30, 0x01, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x02, 0x17, 0x2f, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x20, 0x2f, 0x05, + 0x68, 0x1f, 0x31, 0x30, 0x20, 0x20, 0x30, 0x2e, 0x00, 0x01, 0x02, + 0x17, 0x05, 0xa6, 0x02, 0xb6, 0x06, 0x46, 0x00, 0x0b, 0x00, 0x0b, + 0xb1, 0x03, 0x09, 0xb8, 0x01, 0x53, 0x00, 0x3f, 0x33, 0x31, 0x30, + 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x02, 0x17, 0x2f, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x20, 0x2f, + 0x05, 0xf6, 0x1f, 0x31, 0x30, 0x20, 0x20, 0x30, 0x2e, 0x00, 0x03, + 0x01, 0x77, 0xfe, 0x7f, 0x03, 0x54, 0xff, 0xf0, 0x00, 0x0b, 0x00, + 0x17, 0x00, 0x23, 0x00, 0x1b, 0x40, 0x0d, 0x15, 0x0f, 0x0f, 0x1b, + 0x1b, 0x40, 0x21, 0xa0, 0x21, 0x02, 0x21, 0x09, 0x03, 0x00, 0x2f, + 0x33, 0xcc, 0x5d, 0x32, 0x12, 0x39, 0x2f, 0x33, 0x31, 0x30, 0x05, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x17, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x17, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x01, 0x77, 0x2e, 0x20, 0x22, 0x2d, 0x2d, 0x22, 0x20, + 0x2e, 0x9d, 0x30, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, 0xa0, + 0x30, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, 0x60, 0x22, 0x2e, + 0x2e, 0x22, 0x20, 0x2e, 0x2e, 0x49, 0x20, 0x30, 0x30, 0x20, 0x20, + 0x30, 0x30, 0x48, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x30, 0x2e, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x17, 0x02, 0x71, 0x02, 0xb6, 0x03, + 0x0e, 0x00, 0x0b, 0x00, 0x0e, 0xb6, 0x03, 0x00, 0x09, 0x30, 0x09, + 0x02, 0x09, 0x00, 0x2f, 0x5d, 0x33, 0x31, 0x30, 0x01, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x02, 0x17, + 0x2f, 0x20, 0x20, 0x30, 0x30, 0x20, 0x20, 0x2f, 0x02, 0xbe, 0x23, + 0x2d, 0x2d, 0x23, 0x20, 0x2d, 0x2d, 0x00, 0x00, 0x01, 0x02, 0x2f, + 0xfe, 0xa4, 0x02, 0x9e, 0xff, 0x83, 0x00, 0x03, 0x00, 0x08, 0xb1, + 0x00, 0x02, 0x00, 0x2f, 0x33, 0x31, 0x30, 0x01, 0x35, 0x33, 0x15, + 0x02, 0x2f, 0x6f, 0xfe, 0xa4, 0xdf, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x48, 0x04, 0x79, 0x03, 0x83, 0x05, 0x4c, 0x00, 0x03, + 0x00, 0x11, 0xb5, 0x02, 0x03, 0x05, 0x04, 0x00, 0x03, 0x00, 0x2f, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x31, 0x30, 0x01, 0x21, 0x15, + 0x21, 0x01, 0x48, 0x02, 0x3b, 0xfd, 0xc5, 0x05, 0x4c, 0xd3, 0x00, + 0x01, 0x01, 0xc3, 0x05, 0x47, 0x03, 0x0a, 0x05, 0xb1, 0x00, 0x03, + 0x00, 0x10, 0xb7, 0x00, 0x2f, 0x03, 0x01, 0x08, 0x03, 0x01, 0x03, + 0x00, 0x2f, 0x5d, 0x5d, 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x21, + 0x01, 0xc3, 0x01, 0x47, 0xfe, 0xb9, 0x05, 0xb1, 0x6a, 0x00, 0x00, + 0x01, 0x02, 0x19, 0xfe, 0x60, 0x02, 0xb2, 0x07, 0xd7, 0x00, 0x03, + 0x00, 0x13, 0xb6, 0x00, 0x03, 0x03, 0x04, 0x05, 0x01, 0x00, 0x00, + 0x2f, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x11, 0x33, 0x11, 0x02, 0x19, 0x99, 0xfe, 0x60, 0x09, 0x77, 0xf6, + 0x89, 0x00, 0x00, 0x00, 0x01, 0x02, 0x17, 0x05, 0x41, 0x02, 0xb6, + 0x05, 0xe1, 0x00, 0x0b, 0x00, 0x0c, 0xb4, 0x03, 0x2f, 0x09, 0x01, + 0x09, 0x00, 0x2f, 0x5d, 0x33, 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x02, 0x17, 0x2f, + 0x20, 0x20, 0x30, 0x2f, 0x21, 0x20, 0x2f, 0x05, 0x91, 0x1f, 0x31, + 0x30, 0x20, 0x20, 0x30, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x17, 0x05, 0xa6, 0x02, 0xb6, 0x06, 0x46, 0x00, 0x0b, 0x00, 0x0b, + 0xb1, 0x03, 0x09, 0xb8, 0x01, 0x53, 0x00, 0x3f, 0x33, 0x31, 0x30, + 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x02, 0x17, 0x2f, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x20, 0x2f, + 0x05, 0xf6, 0x1f, 0x31, 0x30, 0x20, 0x20, 0x30, 0x2e, 0x00, 0x02, + 0x01, 0xf0, 0x00, 0x00, 0x02, 0xdb, 0x04, 0x39, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x21, 0x40, 0x0c, 0x04, 0x00, 0x00, 0x07, 0x03, 0x03, + 0x09, 0x08, 0x01, 0x04, 0x05, 0x00, 0xb8, 0x01, 0x4e, 0x00, 0x3f, + 0xc6, 0x32, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x11, 0x33, 0x11, 0x03, 0x11, 0x33, 0x11, + 0x01, 0xf0, 0xeb, 0xeb, 0xeb, 0x01, 0x2b, 0xfe, 0xd5, 0x03, 0x0e, + 0x01, 0x2b, 0xfe, 0xd5, 0x00, 0x01, 0x02, 0x17, 0x06, 0x17, 0x02, + 0xb6, 0x06, 0xb6, 0x00, 0x0b, 0x00, 0x08, 0xb1, 0x03, 0x09, 0x00, + 0x2f, 0x33, 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x02, 0x17, 0x2f, 0x20, 0x20, 0x30, + 0x30, 0x20, 0x20, 0x2f, 0x06, 0x66, 0x1f, 0x31, 0x30, 0x20, 0x22, + 0x2d, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x17, 0xfe, 0x6a, + 0x02, 0xb6, 0xff, 0x08, 0x00, 0x0b, 0x00, 0x08, 0xb1, 0x09, 0x03, + 0x00, 0x2f, 0x33, 0x31, 0x30, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x02, 0x17, 0x2f, 0x20, 0x22, + 0x2e, 0x30, 0x20, 0x20, 0x2f, 0xfe, 0xb8, 0x22, 0x2e, 0x30, 0x20, + 0x20, 0x2e, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x4e, 0x00, + 0x00, 0x03, 0xa8, 0x04, 0xcb, 0x00, 0x0f, 0x00, 0x34, 0x40, 0x0a, + 0x06, 0x0e, 0x0c, 0x0f, 0x0e, 0x0f, 0x11, 0x10, 0x04, 0x07, 0x41, + 0x0a, 0x01, 0x54, 0x00, 0x59, 0x00, 0x04, 0x01, 0x4d, 0x00, 0x0f, + 0x00, 0x0c, 0x01, 0x54, 0x00, 0x59, 0x00, 0x0f, 0x01, 0x4e, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x34, 0x3e, 0x01, 0x3b, + 0x01, 0x15, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x11, 0x21, 0x15, 0x21, + 0x01, 0x4e, 0x44, 0x92, 0xa1, 0xaa, 0xb1, 0x4b, 0x4d, 0x20, 0x01, + 0xa2, 0xfd, 0xa6, 0x02, 0xf0, 0xb6, 0xcb, 0x5a, 0xaa, 0x3c, 0x8b, + 0x9e, 0xfd, 0xee, 0xaa, 0x00, 0x01, 0x01, 0x8d, 0xfe, 0x7f, 0x03, + 0x3d, 0xff, 0x9e, 0x00, 0x09, 0x00, 0x06, 0xb0, 0x07, 0x00, 0x2f, + 0x31, 0x30, 0x05, 0x23, 0x17, 0x15, 0x23, 0x35, 0x37, 0x23, 0x35, + 0x21, 0x03, 0x3d, 0xb4, 0x13, 0x6d, 0x10, 0xb2, 0x01, 0xb0, 0xcd, + 0xa0, 0x14, 0x14, 0xa0, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x10, 0x00, 0x00, 0x04, 0xba, 0x04, 0xcb, 0x00, 0x19, 0x00, 0x4a, + 0x40, 0x1e, 0x0e, 0x19, 0x0d, 0x00, 0x0b, 0x02, 0x01, 0x0d, 0x0c, + 0x05, 0x06, 0x01, 0x00, 0x13, 0x14, 0x14, 0x00, 0x06, 0x0c, 0x04, + 0x1b, 0x1a, 0x0b, 0x02, 0x0e, 0x19, 0x02, 0x19, 0x0d, 0x14, 0xbb, + 0x01, 0x4e, 0x00, 0x05, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x3f, 0x32, + 0x3f, 0x33, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x39, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x13, 0x33, 0x01, + 0x36, 0x13, 0x37, 0x33, 0x07, 0x0e, 0x02, 0x07, 0x01, 0x23, 0x01, + 0x0e, 0x02, 0x07, 0x03, 0x23, 0x13, 0x3e, 0x02, 0x37, 0x4c, 0xe3, + 0x01, 0xc3, 0x96, 0x1c, 0x16, 0xbf, 0x17, 0x0a, 0x3c, 0x63, 0x67, + 0x01, 0x68, 0xe9, 0xfd, 0xf0, 0x2b, 0x35, 0x25, 0x19, 0x50, 0xc3, + 0x54, 0x22, 0x3e, 0x5c, 0x4d, 0x04, 0xcb, 0xfd, 0x93, 0x8c, 0x01, + 0x02, 0xdf, 0xdb, 0x6b, 0xac, 0x96, 0x66, 0xfe, 0x23, 0x02, 0xcd, + 0x15, 0x3f, 0x66, 0x80, 0xfe, 0x6d, 0x01, 0x8f, 0xa5, 0x93, 0x59, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x04, + 0x7d, 0x04, 0xcb, 0x00, 0x0f, 0x00, 0x39, 0x40, 0x0b, 0x08, 0x00, + 0x09, 0x0b, 0x06, 0x06, 0x09, 0x11, 0x10, 0x01, 0x00, 0xbb, 0x01, + 0x54, 0x00, 0x59, 0x00, 0x01, 0x01, 0x4d, 0xb3, 0x06, 0x0a, 0x09, + 0x0a, 0xbb, 0x01, 0x54, 0x00, 0x59, 0x00, 0x09, 0x01, 0x4e, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x33, 0x31, 0x30, 0x13, 0x35, + 0x21, 0x20, 0x16, 0x19, 0x01, 0x33, 0x15, 0x21, 0x35, 0x21, 0x11, + 0x34, 0x26, 0x23, 0x7d, 0x01, 0x79, 0x01, 0x14, 0xee, 0x85, 0xfb, + 0xd1, 0x02, 0xf1, 0x93, 0xb8, 0x04, 0x21, 0xaa, 0xec, 0xfe, 0xf0, + 0xfd, 0xdb, 0xaa, 0xaa, 0x02, 0x27, 0xb6, 0x9a, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xf0, 0x00, 0x00, 0x03, 0xdd, 0x04, 0xcb, 0x00, 0x1b, + 0x00, 0x40, 0x40, 0x14, 0x08, 0x14, 0x07, 0x14, 0x06, 0x1a, 0x0d, + 0x0e, 0x07, 0x06, 0x06, 0x0e, 0x1d, 0x1c, 0x08, 0x14, 0x14, 0x1b, + 0x07, 0x0e, 0xbe, 0x01, 0x4e, 0x00, 0x1b, 0x00, 0x1a, 0x01, 0x54, + 0x00, 0x59, 0x00, 0x1b, 0x01, 0x4d, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x87, 0xc0, 0x31, 0x30, + 0x01, 0x32, 0x1e, 0x02, 0x17, 0x13, 0x23, 0x03, 0x0e, 0x02, 0x0f, + 0x01, 0x23, 0x37, 0x3e, 0x02, 0x3f, 0x01, 0x27, 0x2e, 0x02, 0x2b, + 0x01, 0x35, 0x01, 0xb4, 0x61, 0x69, 0x44, 0x39, 0x34, 0xae, 0xb6, + 0x71, 0x54, 0x4d, 0x32, 0x16, 0x21, 0xbc, 0x22, 0x23, 0x46, 0x76, + 0x65, 0x42, 0x0d, 0x29, 0x32, 0x3d, 0x39, 0x87, 0x04, 0xcb, 0x1f, + 0x45, 0x8c, 0xe1, 0xfd, 0x06, 0x01, 0xf8, 0x15, 0x3c, 0x76, 0x7d, + 0xb4, 0xb6, 0xb6, 0x8d, 0x57, 0x1d, 0x12, 0x33, 0xaf, 0x88, 0x38, + 0xaa, 0x00, 0x01, 0x00, 0x37, 0x00, 0x00, 0x04, 0x46, 0x04, 0xcb, + 0x00, 0x07, 0x00, 0x2c, 0xb7, 0x06, 0x01, 0x00, 0x00, 0x03, 0x09, + 0x08, 0x01, 0xb8, 0x01, 0x4e, 0xb3, 0x07, 0x03, 0x04, 0x03, 0xbb, + 0x01, 0x54, 0x00, 0x59, 0x00, 0x04, 0x01, 0x4d, 0x00, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, + 0x23, 0x03, 0xac, 0xb8, 0xfd, 0x43, 0x04, 0x0f, 0x9a, 0x04, 0x21, + 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x02, 0x00, 0x7b, 0x00, 0x00, 0x04, + 0x52, 0x04, 0xcb, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x35, 0x40, 0x0e, + 0x0a, 0x00, 0x01, 0x05, 0x04, 0x04, 0x01, 0x11, 0x10, 0x02, 0x02, + 0x0b, 0x05, 0x01, 0xbe, 0x01, 0x4e, 0x00, 0x0b, 0x00, 0x0a, 0x01, + 0x54, 0x00, 0x59, 0x00, 0x0b, 0x01, 0x4d, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x33, + 0x01, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x20, 0x16, + 0x11, 0x01, 0x48, 0xb9, 0xb9, 0x03, 0x0a, 0xb8, 0x95, 0xb7, 0xfe, + 0x2d, 0x01, 0xd5, 0x01, 0x14, 0xee, 0x03, 0x1d, 0xfc, 0xe3, 0x02, + 0xd1, 0xb8, 0x98, 0xaa, 0xec, 0xfe, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x0a, 0x00, 0x00, 0x02, 0xc3, 0x04, 0xcb, 0x00, 0x03, + 0x00, 0x19, 0xb5, 0x03, 0x02, 0x02, 0x05, 0x04, 0x00, 0xba, 0x01, + 0x4d, 0x00, 0x03, 0x01, 0x4e, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x23, 0x02, 0x0a, + 0xb9, 0xb9, 0x04, 0xcb, 0xfb, 0x35, 0x00, 0x00, 0x01, 0x01, 0x58, + 0x00, 0x00, 0x03, 0x9e, 0x04, 0xdd, 0x00, 0x0e, 0x00, 0x36, 0x40, + 0x14, 0x0d, 0x07, 0x08, 0x0c, 0x01, 0x01, 0x08, 0x10, 0x0f, 0x02, + 0x0c, 0x0d, 0x00, 0x01, 0x0d, 0x0e, 0x01, 0x01, 0x08, 0x0e, 0xba, + 0x01, 0x4c, 0x00, 0x08, 0x01, 0x4e, 0x00, 0x3f, 0x3f, 0x12, 0x39, + 0x2f, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x15, + 0x27, 0x0e, 0x02, 0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x37, 0x25, + 0x35, 0x03, 0x9e, 0x6d, 0x3b, 0x2e, 0x14, 0xb8, 0x51, 0x61, 0xfe, + 0xaa, 0x04, 0x19, 0xbf, 0x25, 0x1f, 0x36, 0x4b, 0x39, 0xfd, 0x5a, + 0x02, 0x9e, 0x6a, 0x84, 0x20, 0x73, 0xbe, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x83, 0x00, 0x00, 0x04, 0x4c, 0x04, 0xcb, 0x00, 0x0d, 0x00, + 0x2d, 0x40, 0x0a, 0x05, 0x06, 0x0d, 0x0c, 0x0c, 0x06, 0x0f, 0x0e, + 0x0d, 0x06, 0xbe, 0x01, 0x4e, 0x00, 0x07, 0x00, 0x04, 0x01, 0x54, + 0x00, 0x59, 0x00, 0x07, 0x01, 0x4d, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, + 0x20, 0x16, 0x19, 0x01, 0x23, 0x03, 0x93, 0x93, 0xb8, 0xfe, 0xf3, + 0xb8, 0x01, 0xc7, 0x01, 0x14, 0xee, 0xb9, 0x02, 0xd1, 0xb6, 0x9a, + 0xfb, 0xdf, 0x04, 0xcb, 0xec, 0xfe, 0xf0, 0xfd, 0x31, 0x00, 0x00, + 0x01, 0x00, 0x85, 0xff, 0xec, 0x04, 0x5a, 0x04, 0xdf, 0x00, 0x1d, + 0x00, 0x3b, 0x40, 0x0c, 0x0e, 0x1a, 0x06, 0x03, 0x1a, 0x13, 0x03, + 0x03, 0x1f, 0x1e, 0x16, 0x11, 0x41, 0x0c, 0x01, 0x54, 0x00, 0x59, + 0x00, 0x16, 0x01, 0x4c, 0x00, 0x04, 0x01, 0x4d, 0x00, 0x00, 0x00, + 0x0a, 0x01, 0x54, 0x00, 0x59, 0x00, 0x00, 0x01, 0x4f, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, 0x26, 0x19, 0x01, + 0x33, 0x11, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x1e, 0x01, 0x15, + 0x10, 0x02, 0x06, 0x02, 0x4c, 0xf3, 0xd4, 0xb8, 0x34, 0x74, 0x69, + 0x7e, 0x8e, 0x40, 0x58, 0x6b, 0x66, 0x5f, 0x4e, 0x89, 0x89, 0x9d, + 0x4b, 0x6a, 0xe6, 0x14, 0xf5, 0x01, 0x17, 0x02, 0xd3, 0xfd, 0x33, + 0x89, 0x99, 0x44, 0x60, 0xc8, 0xe2, 0xd0, 0xc1, 0x41, 0xb0, 0x3d, + 0x76, 0xfd, 0xca, 0xfe, 0xfd, 0xfe, 0xda, 0x8d, 0x00, 0x01, 0x02, + 0x0a, 0x02, 0x46, 0x02, 0xc3, 0x04, 0xcb, 0x00, 0x03, 0x00, 0x1b, + 0x40, 0x0a, 0x03, 0x02, 0x02, 0x05, 0x04, 0x0f, 0x03, 0x01, 0x03, + 0x00, 0xb8, 0x01, 0x4d, 0x00, 0x3f, 0xcd, 0x5d, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x23, 0x02, 0x0a, + 0xb9, 0xb9, 0x04, 0xcb, 0xfd, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x60, 0xfe, 0x7f, 0x03, 0xdb, 0x04, 0xcb, 0x00, 0x0b, 0x00, + 0x26, 0xb6, 0x01, 0x00, 0x00, 0x06, 0x0d, 0x0c, 0x01, 0xbe, 0x01, + 0x51, 0x00, 0x07, 0x00, 0x06, 0x01, 0x54, 0x00, 0x59, 0x00, 0x07, + 0x01, 0x4d, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x11, 0x34, 0x26, + 0x23, 0x21, 0x35, 0x21, 0x20, 0x16, 0x11, 0x03, 0xdb, 0xb8, 0x95, + 0xb7, 0xfe, 0x89, 0x01, 0x79, 0x01, 0x14, 0xee, 0xfe, 0x7f, 0x04, + 0x52, 0xb8, 0x98, 0xaa, 0xea, 0xfe, 0xee, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xac, 0x00, 0x00, 0x04, 0x1f, 0x04, 0xcb, 0x00, 0x11, 0x00, + 0x34, 0x40, 0x0a, 0x0d, 0x03, 0x08, 0x00, 0x00, 0x03, 0x13, 0x12, + 0x0e, 0x0d, 0x41, 0x0a, 0x01, 0x54, 0x00, 0x59, 0x00, 0x0e, 0x01, + 0x4d, 0x00, 0x03, 0x00, 0x04, 0x01, 0x54, 0x00, 0x59, 0x00, 0x03, + 0x01, 0x4e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, + 0x29, 0x01, 0x35, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x26, 0x23, + 0x21, 0x35, 0x21, 0x20, 0x11, 0x04, 0x1f, 0xfd, 0xcd, 0xfe, 0xc0, + 0x01, 0x44, 0xbe, 0xb6, 0xb7, 0xbd, 0xfe, 0xbc, 0x01, 0x40, 0x02, + 0x33, 0x02, 0x54, 0xfd, 0xac, 0xaa, 0xd3, 0xd5, 0x27, 0xd5, 0xd3, + 0xaa, 0xfd, 0xac, 0x00, 0x00, 0x01, 0x00, 0x91, 0xff, 0xd3, 0x04, + 0x27, 0x06, 0x81, 0x00, 0x10, 0x00, 0x39, 0x40, 0x0d, 0x10, 0x04, + 0x07, 0x04, 0x0d, 0x0a, 0x07, 0x0d, 0x07, 0x12, 0x11, 0x00, 0x10, + 0x41, 0x09, 0x01, 0x50, 0x00, 0x0a, 0x00, 0x07, 0x01, 0x54, 0x00, + 0x59, 0x00, 0x0a, 0x01, 0x4d, 0x00, 0x08, 0x01, 0x4a, 0x00, 0x3f, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x25, 0x36, + 0x24, 0x12, 0x35, 0x34, 0x23, 0x21, 0x11, 0x33, 0x11, 0x21, 0x20, + 0x11, 0x10, 0x00, 0x05, 0x01, 0x0c, 0xbf, 0x01, 0x12, 0x90, 0xea, + 0xfe, 0x0e, 0xb9, 0x01, 0x4c, 0x01, 0x91, 0xfe, 0x52, 0xfe, 0x93, + 0xa2, 0x47, 0xd8, 0x00, 0xff, 0x86, 0xdb, 0x02, 0x60, 0xfe, 0x4a, + 0xfe, 0x9b, 0xfe, 0xdc, 0xfe, 0x13, 0x82, 0x00, 0x02, 0x00, 0x83, + 0x00, 0x00, 0x04, 0x4c, 0x04, 0xcb, 0x00, 0x06, 0x00, 0x0d, 0x00, + 0x34, 0x40, 0x0a, 0x08, 0x01, 0x09, 0x00, 0x01, 0x00, 0x0e, 0x0f, + 0x02, 0x07, 0x41, 0x0a, 0x01, 0x54, 0x00, 0x59, 0x00, 0x02, 0x01, + 0x4d, 0x00, 0x01, 0x00, 0x08, 0x01, 0x54, 0x00, 0x59, 0x00, 0x01, + 0x01, 0x4e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x29, 0x01, + 0x11, 0x21, 0x20, 0x16, 0x11, 0x01, 0x11, 0x21, 0x11, 0x34, 0x26, + 0x23, 0x04, 0x4c, 0xfc, 0x37, 0x01, 0xc7, 0x01, 0x14, 0xee, 0xfc, + 0xef, 0x02, 0x58, 0x93, 0xb8, 0x04, 0xcb, 0xec, 0xfe, 0xf0, 0x01, + 0x52, 0xfc, 0x89, 0x02, 0x27, 0xb6, 0x9a, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x0e, 0x00, 0x00, 0x04, 0x4c, 0x04, 0xdf, 0x00, 0x1a, 0x00, + 0x57, 0x40, 0x15, 0x05, 0x15, 0x18, 0x03, 0x04, 0x17, 0x16, 0x16, + 0x10, 0x11, 0x07, 0x04, 0x04, 0x11, 0x1c, 0x1b, 0x15, 0x18, 0x18, + 0x05, 0x16, 0x41, 0x0f, 0x01, 0x4d, 0x00, 0x11, 0x01, 0x4e, 0x00, + 0x00, 0x00, 0x0c, 0x01, 0x54, 0x00, 0x59, 0x00, 0x00, 0x01, 0x4c, + 0x00, 0x05, 0x00, 0x06, 0x01, 0x54, 0x00, 0x59, 0x00, 0x05, 0x01, + 0x4e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x12, 0x39, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x31, 0x30, + 0x01, 0x32, 0x12, 0x19, 0x01, 0x21, 0x35, 0x21, 0x11, 0x34, 0x2e, + 0x01, 0x23, 0x22, 0x06, 0x0b, 0x01, 0x23, 0x13, 0x3e, 0x01, 0x37, + 0x03, 0x33, 0x17, 0x3e, 0x01, 0x02, 0xb0, 0xdb, 0xc1, 0xfd, 0xa6, + 0x01, 0x9f, 0x2c, 0x5f, 0x58, 0x7a, 0x9c, 0x40, 0x71, 0xc6, 0x7f, + 0x11, 0x34, 0x13, 0xea, 0xcb, 0x75, 0x4a, 0xa4, 0x04, 0xdf, 0xfe, + 0xdf, 0xfe, 0xb9, 0xfd, 0x89, 0xaa, 0x01, 0xb6, 0xad, 0xcb, 0x5b, + 0xf8, 0xfe, 0xcf, 0xfd, 0xf6, 0x02, 0x19, 0x4e, 0xb4, 0x2f, 0x01, + 0x81, 0xcb, 0x78, 0x67, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0a, 0xfe, + 0x7f, 0x02, 0xc3, 0x04, 0xcb, 0x00, 0x03, 0x00, 0x19, 0xb5, 0x03, + 0x02, 0x02, 0x05, 0x04, 0x00, 0xba, 0x01, 0x4d, 0x00, 0x03, 0x01, + 0x51, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x33, 0x11, 0x23, 0x02, 0x0a, 0xb9, 0xb9, 0x04, 0xcb, + 0xf9, 0xb4, 0x00, 0x00, 0x01, 0x01, 0x25, 0x00, 0x00, 0x03, 0x7f, + 0x04, 0xcb, 0x00, 0x0f, 0x00, 0x32, 0x40, 0x0a, 0x03, 0x00, 0x00, + 0x01, 0x09, 0x03, 0x11, 0x10, 0x0a, 0x09, 0x41, 0x0a, 0x01, 0x54, + 0x00, 0x59, 0x00, 0x0a, 0x01, 0x4d, 0x00, 0x01, 0x00, 0x02, 0x01, + 0x54, 0x00, 0x59, 0x00, 0x01, 0x01, 0x4e, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x29, 0x01, 0x35, 0x21, 0x11, 0x34, 0x2e, 0x01, 0x2b, 0x01, + 0x35, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x03, 0x7f, 0xfd, 0xa6, 0x01, + 0xa2, 0x21, 0x4e, 0x4a, 0xb0, 0xaa, 0xa0, 0x93, 0x44, 0xaa, 0x02, + 0x12, 0xa0, 0x8a, 0x3b, 0xaa, 0x59, 0xcb, 0xb7, 0x00, 0x02, 0x00, + 0x19, 0xff, 0xec, 0x04, 0x62, 0x04, 0xcb, 0x00, 0x10, 0x00, 0x1f, + 0x00, 0x45, 0x40, 0x12, 0x04, 0x10, 0x11, 0x03, 0x03, 0x14, 0x14, + 0x10, 0x1b, 0x0a, 0x0a, 0x10, 0x21, 0x20, 0x11, 0x04, 0x05, 0x04, + 0x41, 0x0a, 0x01, 0x54, 0x00, 0x59, 0x00, 0x05, 0x01, 0x4d, 0x00, + 0x0d, 0x00, 0x17, 0x01, 0x54, 0x00, 0x59, 0x00, 0x0d, 0x01, 0x4f, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x36, 0x37, 0x23, 0x35, + 0x21, 0x20, 0x16, 0x11, 0x15, 0x10, 0x00, 0x21, 0x20, 0x02, 0x11, + 0x01, 0x06, 0x11, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x3d, + 0x01, 0x34, 0x26, 0x23, 0x6a, 0x3a, 0x29, 0xb4, 0x02, 0x31, 0x01, + 0x1c, 0xfc, 0xff, 0x00, 0xfe, 0xf6, 0xfe, 0xfa, 0xe8, 0x01, 0x07, + 0x44, 0x92, 0x9d, 0x79, 0x8b, 0x3e, 0x9c, 0xba, 0x02, 0x83, 0x78, + 0xf2, 0x34, 0xaa, 0xf3, 0xfe, 0xf7, 0x58, 0xfe, 0xb0, 0xfe, 0xc5, + 0x01, 0x2d, 0x01, 0x47, 0x01, 0xc1, 0x78, 0xfe, 0xe2, 0x35, 0xea, + 0xd6, 0x5b, 0xc0, 0xc8, 0x58, 0xb5, 0x9b, 0x00, 0x00, 0x01, 0x00, + 0x46, 0xff, 0xdf, 0x04, 0x5e, 0x04, 0xcb, 0x00, 0x0d, 0x00, 0x32, + 0x40, 0x12, 0x04, 0x03, 0x05, 0x02, 0x08, 0x09, 0x09, 0x02, 0x03, + 0x00, 0x04, 0x0f, 0x0e, 0x02, 0x05, 0x03, 0x00, 0x0d, 0xbb, 0x01, + 0x50, 0x00, 0x08, 0x00, 0x03, 0x01, 0x4d, 0x00, 0x3f, 0x33, 0x3f, + 0x33, 0x11, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x37, 0x20, 0x37, 0x01, 0x33, + 0x01, 0x36, 0x12, 0x11, 0x33, 0x10, 0x02, 0x04, 0x05, 0x46, 0x01, + 0x14, 0x9e, 0xfe, 0x8d, 0xcb, 0x01, 0x48, 0x8d, 0x79, 0xc0, 0xc8, + 0xfe, 0x43, 0xfe, 0x6d, 0xa2, 0x33, 0x03, 0xf6, 0xfc, 0x58, 0x66, + 0x01, 0xaa, 0x01, 0x98, 0xfe, 0x2f, 0xfd, 0xf4, 0xfb, 0x14, 0x00, + 0x01, 0x00, 0x73, 0xfe, 0x7f, 0x04, 0x46, 0x04, 0xcb, 0x00, 0x0f, + 0x00, 0x3d, 0x40, 0x0c, 0x0d, 0x04, 0x0b, 0x0e, 0x05, 0x04, 0x04, + 0x0e, 0x11, 0x10, 0x0b, 0x0e, 0xb8, 0x01, 0x54, 0xb4, 0x59, 0x0b, + 0x0b, 0x0f, 0x05, 0xbe, 0x01, 0x51, 0x00, 0x0f, 0x00, 0x0a, 0x01, + 0x54, 0x00, 0x59, 0x00, 0x0f, 0x01, 0x4d, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x20, 0x16, + 0x19, 0x01, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x33, 0x15, + 0x21, 0x11, 0x02, 0x44, 0x01, 0x14, 0xee, 0xb9, 0x93, 0xb8, 0xfe, + 0xeb, 0xf4, 0xfe, 0x52, 0x04, 0xcb, 0xec, 0xfe, 0xf0, 0xfb, 0xb0, + 0x04, 0x52, 0xb6, 0x9a, 0xfe, 0xa6, 0xaa, 0x02, 0xae, 0x00, 0x01, + 0x00, 0x75, 0x00, 0x00, 0x04, 0x56, 0x04, 0xcb, 0x00, 0x16, 0x00, + 0x4c, 0x40, 0x0d, 0x11, 0x07, 0x0e, 0x05, 0x08, 0x16, 0x0e, 0x0e, + 0x08, 0x18, 0x17, 0x05, 0x08, 0xb8, 0x01, 0x54, 0xb6, 0x59, 0x05, + 0x05, 0x11, 0x09, 0x09, 0x04, 0x41, 0x0a, 0x01, 0x54, 0x00, 0x59, + 0x00, 0x09, 0x01, 0x4d, 0x00, 0x11, 0x00, 0x12, 0x01, 0x54, 0x00, + 0x59, 0x00, 0x11, 0x01, 0x4e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x33, 0x31, 0x30, + 0x01, 0x34, 0x26, 0x23, 0x21, 0x11, 0x33, 0x15, 0x21, 0x11, 0x21, + 0x20, 0x00, 0x11, 0x15, 0x10, 0x29, 0x01, 0x35, 0x21, 0x32, 0x36, + 0x35, 0x03, 0x9c, 0xa6, 0xb2, 0xfe, 0xeb, 0xf4, 0xfe, 0x52, 0x01, + 0xd1, 0x01, 0x0d, 0x01, 0x03, 0xfd, 0xcd, 0xfe, 0x5c, 0x01, 0xa8, + 0xbf, 0xb6, 0x02, 0xaa, 0xbd, 0xba, 0xfe, 0xa6, 0xaa, 0x02, 0xae, + 0xfe, 0xf3, 0xfe, 0xe8, 0x52, 0xfd, 0xac, 0xaa, 0xd4, 0xd4, 0x00, + 0x00, 0x01, 0x00, 0x6d, 0xfe, 0x7f, 0x04, 0x37, 0x04, 0xcb, 0x00, + 0x15, 0x00, 0x36, 0x40, 0x14, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x06, + 0x10, 0x11, 0x07, 0x06, 0x11, 0x06, 0x17, 0x16, 0x15, 0x0b, 0x0b, + 0x01, 0x10, 0x06, 0xba, 0x01, 0x4d, 0x00, 0x01, 0x01, 0x51, 0x00, + 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x23, 0x11, 0x34, 0x26, 0x2f, 0x01, 0x33, 0x1e, + 0x02, 0x17, 0x3e, 0x02, 0x3f, 0x01, 0x33, 0x03, 0x0e, 0x01, 0x07, + 0x02, 0x62, 0xb8, 0x57, 0x82, 0x64, 0xd9, 0x8e, 0x57, 0x2c, 0x07, + 0x5c, 0x68, 0x35, 0x0b, 0x15, 0xc0, 0x1a, 0x13, 0xc9, 0xdf, 0xfe, + 0x7f, 0x03, 0xa2, 0x74, 0xd3, 0xc9, 0x9a, 0xdf, 0xa7, 0x8c, 0x51, + 0x17, 0x50, 0x87, 0x7d, 0xf8, 0xfe, 0xe9, 0xd6, 0xdb, 0x2c, 0x00, + 0x00, 0x01, 0x00, 0x4a, 0x00, 0x00, 0x04, 0x44, 0x04, 0xcb, 0x00, + 0x11, 0x00, 0x47, 0x40, 0x16, 0x0a, 0x0b, 0x0b, 0x03, 0x10, 0x06, + 0x11, 0x05, 0x05, 0x04, 0x04, 0x01, 0x11, 0x03, 0x13, 0x12, 0x10, + 0x06, 0x06, 0x01, 0x0a, 0x05, 0xb8, 0x01, 0x4d, 0xb3, 0x11, 0x02, + 0x01, 0x02, 0xbb, 0x01, 0x54, 0x00, 0x59, 0x00, 0x01, 0x01, 0x4e, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x39, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x29, 0x01, 0x35, + 0x21, 0x01, 0x33, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x33, 0x07, 0x0e, + 0x02, 0x07, 0x01, 0x04, 0x44, 0xfc, 0x4f, 0x02, 0xcb, 0xfc, 0xec, + 0xe5, 0x01, 0x7d, 0x4e, 0x45, 0x0d, 0x16, 0xbf, 0x15, 0x0f, 0x36, + 0x67, 0x5c, 0x01, 0x40, 0xaa, 0x04, 0x21, 0xfd, 0xfa, 0x21, 0x83, + 0x83, 0xdf, 0xdb, 0x91, 0x8e, 0x5f, 0x24, 0xfe, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x7f, 0xfe, 0x7f, 0x04, 0x4c, 0x04, 0xcb, + 0x00, 0x03, 0x00, 0x13, 0x00, 0x3d, 0x40, 0x10, 0x0f, 0x08, 0x13, + 0x01, 0x02, 0x02, 0x0b, 0x08, 0x03, 0x15, 0x14, 0x03, 0x03, 0x04, + 0x0c, 0x0b, 0x41, 0x09, 0x01, 0x4f, 0x00, 0x04, 0x00, 0x13, 0x01, + 0x54, 0x00, 0x59, 0x00, 0x04, 0x01, 0x4d, 0x00, 0x02, 0x01, 0x51, + 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x23, 0x11, 0x03, 0x21, 0x32, 0x16, 0x15, 0x10, + 0x00, 0x05, 0x35, 0x36, 0x12, 0x35, 0x34, 0x26, 0x23, 0x21, 0x01, + 0x6a, 0xb8, 0x33, 0x02, 0x06, 0xf7, 0xd0, 0xfe, 0xb1, 0xfe, 0xe2, + 0xd1, 0xe1, 0x75, 0x8f, 0xfd, 0xf2, 0x03, 0x1d, 0xfb, 0x62, 0x04, + 0x9e, 0x01, 0xae, 0xb1, 0xcc, 0xfe, 0xe6, 0xfe, 0x29, 0x78, 0xd3, + 0x5e, 0x01, 0x4f, 0xd0, 0x86, 0x66, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x60, 0x00, 0x00, 0x03, 0xdb, 0x04, 0xcb, 0x00, 0x0b, 0x00, + 0x26, 0xb6, 0x01, 0x00, 0x00, 0x06, 0x0d, 0x0c, 0x01, 0xbe, 0x01, + 0x4e, 0x00, 0x07, 0x00, 0x06, 0x01, 0x54, 0x00, 0x59, 0x00, 0x07, + 0x01, 0x4d, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x34, 0x26, + 0x23, 0x21, 0x35, 0x21, 0x20, 0x16, 0x11, 0x03, 0xdb, 0xb8, 0x95, + 0xb7, 0xfe, 0x89, 0x01, 0x79, 0x01, 0x14, 0xee, 0x02, 0xd1, 0xb8, + 0x98, 0xaa, 0xea, 0xfe, 0xee, 0x00, 0x01, 0x00, 0x19, 0xff, 0xf6, + 0x04, 0xaa, 0x04, 0xcb, 0x00, 0x19, 0x00, 0x50, 0x40, 0x15, 0x0b, + 0x00, 0x0c, 0x19, 0x19, 0x18, 0x0c, 0x17, 0x04, 0x05, 0x11, 0x12, + 0x12, 0x05, 0x17, 0x18, 0x04, 0x1b, 0x1a, 0x00, 0x0b, 0xb8, 0x01, + 0x56, 0xb6, 0x59, 0x00, 0x00, 0x17, 0x11, 0x04, 0x18, 0xbe, 0x01, + 0x4d, 0x00, 0x17, 0x00, 0x0c, 0x01, 0x55, 0x00, 0x59, 0x00, 0x17, + 0x01, 0x4e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x33, 0x12, + 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, + 0x01, 0x3e, 0x01, 0x37, 0x13, 0x33, 0x03, 0x0e, 0x02, 0x0f, 0x01, + 0x13, 0x32, 0x3e, 0x01, 0x37, 0x13, 0x33, 0x03, 0x0a, 0x01, 0x04, + 0x21, 0x03, 0x33, 0x01, 0x4e, 0x6d, 0x54, 0x0c, 0x18, 0xbf, 0x1f, + 0x0e, 0x3f, 0x7e, 0x83, 0x16, 0x33, 0xb8, 0xca, 0x6d, 0x19, 0x3f, + 0xc1, 0x40, 0x24, 0xa5, 0xfe, 0xaf, 0xfe, 0xb2, 0xe9, 0xbe, 0x02, + 0x62, 0x18, 0x7a, 0x91, 0x01, 0x46, 0xfe, 0xb8, 0x9e, 0xa0, 0x5b, + 0x1f, 0x06, 0xfe, 0xed, 0x60, 0xda, 0xd2, 0x02, 0x0d, 0xfd, 0xfa, + 0xfe, 0xd2, 0xfe, 0xdb, 0x7c, 0x04, 0xd5, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x27, 0x00, 0x00, 0x04, 0x4c, 0x04, 0xcb, 0x00, 0x19, 0x00, + 0x41, 0x40, 0x0e, 0x0e, 0x19, 0x19, 0x07, 0x01, 0x13, 0x08, 0x07, + 0x07, 0x13, 0x1b, 0x1a, 0x12, 0x14, 0xb8, 0x01, 0x54, 0xb2, 0x59, + 0x08, 0x13, 0xb8, 0x01, 0x4e, 0xb3, 0x0d, 0x01, 0x02, 0x01, 0xbb, + 0x01, 0x54, 0x00, 0x59, 0x00, 0x02, 0x01, 0x4d, 0x00, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x23, 0x35, 0x21, 0x20, 0x16, 0x19, 0x01, 0x23, 0x11, 0x34, + 0x26, 0x2b, 0x01, 0x11, 0x14, 0x0e, 0x01, 0x2b, 0x01, 0x35, 0x33, + 0x32, 0x3e, 0x01, 0x35, 0xf0, 0xbf, 0x02, 0x17, 0x01, 0x14, 0xf0, + 0xb9, 0x95, 0xb8, 0x9e, 0x44, 0x92, 0xa1, 0x0a, 0x10, 0x45, 0x50, + 0x24, 0x04, 0x21, 0xaa, 0xeb, 0xfe, 0xef, 0xfd, 0x31, 0x02, 0xd1, + 0xb8, 0x98, 0xfd, 0xba, 0xb6, 0xcb, 0x5a, 0xaa, 0x31, 0x68, 0x73, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x0b, 0x00, 0x00, 0x03, 0xc3, + 0x04, 0xcb, 0x10, 0x27, 0x05, 0x04, 0xff, 0x01, 0x00, 0x00, 0x10, + 0x07, 0x05, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x0b, 0x00, 0x00, 0x03, 0xc3, 0x04, 0xcb, 0x10, 0x27, 0x05, + 0x04, 0x01, 0x00, 0x00, 0x00, 0x10, 0x07, 0x05, 0x08, 0xff, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x0b, 0x02, 0x46, 0x03, + 0xc3, 0x04, 0xcb, 0x10, 0x27, 0x05, 0x08, 0xff, 0x01, 0x00, 0x00, + 0x10, 0x07, 0x05, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xae, 0x04, 0x06, 0x03, 0x1f, 0x06, 0x81, 0x00, 0x03, + 0x00, 0x1d, 0x40, 0x0a, 0x00, 0x01, 0x01, 0x02, 0x03, 0x03, 0x05, + 0x04, 0x01, 0x02, 0xb8, 0x01, 0x4a, 0x00, 0x3f, 0xcd, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x13, 0x33, 0x02, 0x37, 0x89, 0x89, 0xe8, 0x04, 0x06, 0x02, 0x7b, + 0x00, 0x02, 0x00, 0xcf, 0x04, 0x06, 0x03, 0xfe, 0x06, 0x81, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x2d, 0x40, 0x12, 0x04, 0x05, 0x06, 0x05, + 0x07, 0x02, 0x03, 0x03, 0x00, 0x01, 0x07, 0x01, 0x09, 0x08, 0x05, + 0x01, 0x06, 0x02, 0xb8, 0x01, 0x4a, 0x00, 0x3f, 0x33, 0xcd, 0x32, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x13, 0x33, 0x13, + 0x23, 0x13, 0x33, 0x01, 0x58, 0x89, 0x89, 0xe7, 0xd8, 0x8a, 0x8a, + 0xe7, 0x04, 0x06, 0x02, 0x7b, 0xfd, 0x85, 0x02, 0x7b, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x7f, 0x00, 0x00, 0x04, 0x4d, 0x04, 0x3a, 0x00, + 0x07, 0x00, 0x0a, 0x00, 0x40, 0x40, 0x22, 0x04, 0x05, 0x07, 0x06, + 0x09, 0x01, 0x00, 0x00, 0x02, 0x08, 0x09, 0x0a, 0x03, 0x05, 0x07, + 0x0b, 0x0c, 0x02, 0x03, 0x0a, 0x03, 0x50, 0x59, 0x08, 0x0a, 0x0a, + 0x05, 0x09, 0x07, 0x06, 0x0f, 0x01, 0x05, 0x15, 0x00, 0x3f, 0x33, + 0x3f, 0x33, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x23, 0x03, 0x21, 0x03, 0x23, 0x01, 0x33, + 0x13, 0x0b, 0x01, 0x04, 0x4d, 0xaa, 0x76, 0xfe, 0x75, 0x74, 0xaf, + 0x01, 0x94, 0xa8, 0x46, 0x9c, 0x97, 0x01, 0x35, 0xfe, 0xcb, 0x04, + 0x3a, 0xfd, 0x83, 0x01, 0xcd, 0xfe, 0x33, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xff, 0xfb, 0x00, 0x00, 0x04, 0xc0, 0x04, 0x3a, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x75, 0x40, 0x3e, 0x0b, 0x07, 0x0e, 0x07, 0x10, + 0x10, 0x03, 0x04, 0x06, 0x13, 0x13, 0x01, 0x0a, 0x0e, 0x0e, 0x11, + 0x01, 0x01, 0x05, 0x08, 0x00, 0x00, 0x15, 0x04, 0x05, 0x05, 0x14, + 0x10, 0x03, 0x50, 0x59, 0x0a, 0x0d, 0x50, 0x59, 0x0f, 0x0a, 0x01, + 0x0b, 0x03, 0x10, 0x0a, 0x10, 0x0a, 0x01, 0x06, 0x13, 0x09, 0x06, + 0x09, 0x50, 0x59, 0x06, 0x0f, 0x05, 0x15, 0x01, 0x0e, 0x50, 0x59, + 0x01, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, 0x5e, + 0x5d, 0x2b, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, + 0x29, 0x01, 0x11, 0x21, 0x03, 0x23, 0x01, 0x21, 0x15, 0x21, 0x11, + 0x21, 0x15, 0x21, 0x11, 0x21, 0x01, 0x33, 0x11, 0x23, 0x04, 0xc0, + 0xfd, 0xb9, 0xfe, 0xd7, 0x93, 0xc2, 0x01, 0xfe, 0x02, 0xae, 0xfe, + 0x86, 0x01, 0x53, 0xfe, 0xad, 0x01, 0x93, 0xfc, 0xd0, 0xe9, 0x18, + 0x01, 0x4c, 0xfe, 0xb4, 0x04, 0x3a, 0x8b, 0xfe, 0xc1, 0x8a, 0xfe, + 0xa5, 0x01, 0x4b, 0x01, 0xd9, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x14, 0xff, 0xec, 0x04, 0xb8, 0x04, 0x4e, 0x00, 0x28, 0x00, 0x35, + 0x00, 0x3c, 0x00, 0xa3, 0x40, 0x65, 0x3a, 0x27, 0x06, 0x07, 0x22, + 0x0c, 0x39, 0x31, 0x15, 0x15, 0x00, 0x39, 0x1c, 0x1d, 0x29, 0x12, + 0x12, 0x1d, 0x39, 0x07, 0x27, 0x05, 0x3d, 0x3e, 0x19, 0x36, 0x24, + 0x36, 0x50, 0x59, 0x31, 0x15, 0x51, 0x59, 0x28, 0x3a, 0x50, 0x59, + 0x28, 0x28, 0x2f, 0x31, 0x3f, 0x31, 0x4f, 0x31, 0xbf, 0x31, 0x04, + 0x1f, 0x31, 0x5f, 0x31, 0x8f, 0x31, 0x9f, 0x31, 0x04, 0x31, 0x40, + 0x16, 0x1a, 0x48, 0x31, 0x31, 0x09, 0x22, 0x20, 0x24, 0xcf, 0x1c, + 0xdf, 0x1c, 0x02, 0x00, 0x1c, 0x70, 0x1c, 0x02, 0x0a, 0x03, 0x1c, + 0x1c, 0x24, 0x16, 0x2c, 0x03, 0x09, 0x03, 0x50, 0x59, 0x0f, 0x0c, + 0x09, 0x2f, 0x06, 0x01, 0x06, 0x06, 0x09, 0x10, 0x00, 0x3f, 0x33, + 0x2f, 0x5d, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x33, 0x33, 0x12, 0x39, + 0x2f, 0x2b, 0x5d, 0x71, 0x33, 0x2f, 0x2b, 0x2b, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x35, 0x02, 0x23, 0x22, 0x06, 0x07, 0x27, 0x12, + 0x33, 0x32, 0x16, 0x17, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x10, + 0x05, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, + 0x01, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, 0x02, 0x11, 0x35, 0x25, + 0x34, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x1d, 0x01, 0x37, 0x3e, 0x02, + 0x01, 0x32, 0x36, 0x37, 0x21, 0x1e, 0x01, 0x02, 0x25, 0x05, 0xb4, + 0x4b, 0x59, 0x10, 0x8a, 0x44, 0xf6, 0x79, 0x89, 0x22, 0x34, 0x95, + 0x61, 0x81, 0x81, 0xfe, 0xb6, 0xa7, 0x40, 0x48, 0x4a, 0x43, 0x07, + 0xa8, 0x13, 0x9b, 0x8d, 0xb0, 0x47, 0x55, 0xa1, 0xa6, 0xa9, 0x03, + 0xfb, 0x39, 0x39, 0x40, 0x60, 0x36, 0x7a, 0x4f, 0x51, 0x2e, 0xfd, + 0x62, 0x52, 0x5d, 0x03, 0xfe, 0x97, 0x09, 0x58, 0x02, 0x43, 0x11, + 0x01, 0x73, 0x5e, 0x48, 0x2d, 0x01, 0x00, 0x6e, 0x7a, 0x7a, 0x6e, + 0xa4, 0x9e, 0xfe, 0xa3, 0x05, 0x04, 0x3b, 0x87, 0x6f, 0x51, 0x5b, + 0x11, 0x97, 0x8d, 0x8b, 0x8b, 0x01, 0x1b, 0x01, 0x24, 0x18, 0xcc, + 0x52, 0x64, 0x59, 0x97, 0x58, 0x59, 0x04, 0x02, 0x30, 0x64, 0xfd, + 0xb3, 0xae, 0x9a, 0xab, 0x9d, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x55, 0x00, 0x00, 0x04, 0x65, 0x04, 0x3a, 0x00, 0x14, 0x00, 0x1d, + 0x00, 0x26, 0x00, 0x6e, 0x40, 0x3d, 0x0b, 0x08, 0x08, 0x16, 0x23, + 0x06, 0x06, 0x12, 0x0e, 0x1f, 0x16, 0x16, 0x01, 0x12, 0x1a, 0x0e, + 0x12, 0x0e, 0x27, 0x28, 0x15, 0x0b, 0x14, 0x00, 0x14, 0x50, 0x59, + 0x1f, 0x08, 0x0f, 0x00, 0x1f, 0x00, 0xaf, 0x00, 0x03, 0x0f, 0x00, + 0xcf, 0x00, 0xdf, 0x00, 0x03, 0x0b, 0x03, 0x00, 0x00, 0x12, 0x02, + 0x12, 0x16, 0x50, 0x59, 0x12, 0x15, 0x02, 0x1e, 0x50, 0x59, 0x02, + 0x0f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, 0x11, 0x21, 0x32, 0x16, 0x15, + 0x14, 0x07, 0x33, 0x15, 0x23, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, + 0x21, 0x11, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x23, 0x01, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x55, + 0x75, 0x01, 0xaf, 0xba, 0xd6, 0x4b, 0xa7, 0x8b, 0x21, 0x2d, 0xc6, + 0xca, 0xfe, 0x32, 0x75, 0x01, 0x29, 0x01, 0x0e, 0x79, 0x66, 0x6e, + 0x71, 0xfe, 0xf2, 0xef, 0x79, 0x66, 0x66, 0x79, 0x02, 0x62, 0x01, + 0xd8, 0x9e, 0x90, 0x64, 0x46, 0x8a, 0x1e, 0x5d, 0x33, 0x92, 0x98, + 0x01, 0xd8, 0xfe, 0xb0, 0x52, 0x52, 0x59, 0x53, 0x01, 0xd9, 0xfe, + 0xb1, 0x55, 0x52, 0x52, 0x56, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, + 0x04, 0x38, 0x04, 0x4e, 0x12, 0x06, 0x00, 0x46, 0x00, 0x00, 0x00, + 0x02, 0x00, 0xa5, 0x00, 0x00, 0x04, 0x3b, 0x04, 0x3a, 0x00, 0x07, + 0x00, 0x10, 0x00, 0x28, 0x40, 0x14, 0x0d, 0x04, 0x08, 0x00, 0x04, + 0x00, 0x11, 0x12, 0x05, 0x0c, 0x50, 0x59, 0x05, 0x0f, 0x04, 0x0d, + 0x50, 0x59, 0x04, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x10, 0x00, 0x29, 0x01, 0x11, 0x21, 0x20, 0x03, 0x34, 0x26, + 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, 0x04, 0x3b, 0xfe, 0xe5, 0xfe, + 0xf3, 0xfe, 0x92, 0x01, 0x6e, 0x02, 0x28, 0xb9, 0xad, 0xc4, 0xb8, + 0xbb, 0xb7, 0xb7, 0x02, 0x2d, 0xfe, 0xed, 0xfe, 0xe6, 0x04, 0x3a, + 0xfd, 0xf5, 0xca, 0xb5, 0xfc, 0xdd, 0xcb, 0x00, 0x00, 0x02, 0x00, + 0x1e, 0x00, 0x00, 0x04, 0x3b, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x18, + 0x00, 0x52, 0x40, 0x2a, 0x13, 0x09, 0x05, 0x11, 0x15, 0x15, 0x01, + 0x09, 0x0c, 0x05, 0x09, 0x05, 0x19, 0x1a, 0x14, 0x0b, 0x00, 0x0b, + 0x50, 0x59, 0x11, 0x0f, 0x00, 0x01, 0x0b, 0x03, 0x00, 0x00, 0x09, + 0x02, 0x09, 0x15, 0x50, 0x59, 0x09, 0x15, 0x02, 0x10, 0x50, 0x59, + 0x02, 0x0f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x13, 0x33, 0x11, 0x21, + 0x20, 0x11, 0x10, 0x00, 0x29, 0x01, 0x11, 0x23, 0x25, 0x34, 0x26, + 0x2b, 0x01, 0x11, 0x33, 0x15, 0x23, 0x11, 0x33, 0x32, 0x36, 0x1e, + 0x87, 0x01, 0x6e, 0x02, 0x28, 0xfe, 0xe5, 0xfe, 0xf3, 0xfe, 0x92, + 0x87, 0x03, 0x64, 0xad, 0xc4, 0xb8, 0xf1, 0xf1, 0xbb, 0xb7, 0xb7, + 0x02, 0x70, 0x01, 0xca, 0xfd, 0xf3, 0xfe, 0xed, 0xfe, 0xe6, 0x01, + 0xe6, 0x49, 0xca, 0xb5, 0xfe, 0xc2, 0x8a, 0xfe, 0xa5, 0xcb, 0x00, + 0x00, 0x01, 0x00, 0xcd, 0x00, 0x00, 0x03, 0xe5, 0x04, 0x3a, 0x00, + 0x0b, 0x00, 0x49, 0x40, 0x26, 0x08, 0x01, 0x00, 0x06, 0x0a, 0x0a, + 0x01, 0x04, 0x00, 0x01, 0x00, 0x0c, 0x0d, 0x06, 0x09, 0x50, 0x59, + 0x0f, 0x06, 0x01, 0x0b, 0x03, 0x06, 0x06, 0x01, 0x02, 0x02, 0x05, + 0x50, 0x59, 0x02, 0x0f, 0x01, 0x0a, 0x50, 0x59, 0x01, 0x15, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x29, + 0x01, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, + 0x03, 0xe5, 0xfc, 0xe8, 0x02, 0xff, 0xfd, 0xb5, 0x02, 0x24, 0xfd, + 0xdc, 0x02, 0x64, 0x04, 0x3a, 0x8b, 0xfe, 0xc1, 0x8a, 0xfe, 0xa5, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb3, 0xff, 0xec, 0x03, 0xe0, + 0x04, 0x4e, 0x00, 0x24, 0x00, 0x57, 0x40, 0x2e, 0x04, 0x03, 0x15, + 0x16, 0x0f, 0x1b, 0x09, 0x22, 0x22, 0x1b, 0x1e, 0x0b, 0x16, 0x03, + 0x06, 0x25, 0x26, 0x1e, 0x0c, 0x0b, 0x0c, 0x0b, 0x50, 0x59, 0x0c, + 0x0c, 0x18, 0x00, 0x15, 0x15, 0x18, 0x18, 0x12, 0x50, 0x59, 0x18, + 0x10, 0x04, 0x04, 0x00, 0x00, 0x06, 0x50, 0x59, 0x00, 0x16, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x11, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, 0x26, 0x27, 0x37, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x21, 0x35, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x12, 0x21, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x02, 0x4c, + 0xa7, 0xc5, 0x2d, 0x9f, 0x35, 0xc9, 0x60, 0x71, 0xfe, 0xb5, 0xa1, + 0x98, 0x63, 0x5d, 0x59, 0x71, 0x0c, 0xa2, 0x2e, 0x01, 0x4b, 0xa8, + 0xce, 0x91, 0x67, 0x79, 0x99, 0xd7, 0x14, 0x7d, 0x81, 0x2c, 0xa4, + 0x5e, 0x5b, 0xc8, 0x89, 0x54, 0x58, 0x4a, 0x56, 0x4a, 0x46, 0x14, + 0x01, 0x02, 0x9f, 0x7e, 0x65, 0x88, 0x09, 0x02, 0x0d, 0x8f, 0x6d, + 0x98, 0xac, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x68, 0xfe, 0x6e, + 0x04, 0x3e, 0x04, 0x3a, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x3e, 0x40, + 0x20, 0x0b, 0x0c, 0x0c, 0x09, 0x04, 0x06, 0x06, 0x01, 0x09, 0x09, + 0x0e, 0x0f, 0x0c, 0x0d, 0x53, 0x5b, 0x0c, 0x1c, 0x09, 0x06, 0x50, + 0x59, 0x09, 0x15, 0x05, 0x01, 0x02, 0x01, 0x50, 0x59, 0x02, 0x0f, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x15, + 0x21, 0x11, 0x21, 0x15, 0x21, 0x17, 0x15, 0x23, 0x35, 0x01, 0xe4, + 0xfe, 0x84, 0x03, 0xd6, 0xfe, 0x5a, 0x01, 0x3f, 0xfe, 0x0d, 0xc8, + 0xc8, 0x03, 0xac, 0x8e, 0x8e, 0xfc, 0xe2, 0x8e, 0xd2, 0xc0, 0xc0, + 0x00, 0x01, 0x00, 0xb2, 0xff, 0xec, 0x03, 0x5c, 0x04, 0x3a, 0x00, + 0x10, 0x00, 0x2c, 0x40, 0x16, 0x03, 0x02, 0x09, 0x0e, 0x02, 0x0e, + 0x11, 0x12, 0x0c, 0x0b, 0x50, 0x59, 0x0c, 0x0f, 0x00, 0x06, 0x50, + 0x59, 0x03, 0x03, 0x00, 0x16, 0x00, 0x3f, 0x32, 0x2f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x05, 0x20, 0x03, 0x37, 0x1e, 0x01, 0x33, 0x32, + 0x36, 0x35, 0x11, 0x23, 0x35, 0x21, 0x11, 0x14, 0x06, 0x01, 0xfd, + 0xfe, 0xe9, 0x34, 0x9c, 0x0f, 0x5f, 0x40, 0x4f, 0x5e, 0xef, 0x01, + 0xa2, 0xb8, 0x14, 0x01, 0x1d, 0x27, 0x64, 0x5a, 0x68, 0x72, 0x02, + 0x63, 0x8b, 0xfd, 0x05, 0x9f, 0xb4, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xec, 0x00, 0x00, 0x04, 0x65, 0x04, 0x3a, 0x12, 0x06, 0x00, + 0xfa, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, 0x00, 0x00, 0x03, 0xc8, + 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x36, 0x40, 0x1b, 0x08, 0x0c, 0x0c, + 0x05, 0x01, 0x01, 0x0e, 0x0f, 0x08, 0x05, 0x0b, 0x02, 0x04, 0x09, + 0x03, 0x09, 0x03, 0x09, 0x01, 0x06, 0x0f, 0x01, 0x0c, 0x50, 0x59, + 0x01, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, + 0x2f, 0x2f, 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x29, 0x01, 0x11, 0x07, 0x35, 0x37, + 0x11, 0x33, 0x11, 0x37, 0x15, 0x07, 0x11, 0x21, 0x03, 0xc8, 0xfd, + 0x77, 0x77, 0x77, 0xb4, 0xbb, 0xbb, 0x01, 0xd5, 0x01, 0x9f, 0x65, + 0x9f, 0x65, 0x01, 0xfc, 0xfe, 0x70, 0x9f, 0x9f, 0x9f, 0xfe, 0x80, + 0x00, 0x00, 0x01, 0x00, 0x70, 0x00, 0x00, 0x04, 0x5d, 0x04, 0x3a, + 0x00, 0x14, 0x00, 0x40, 0x40, 0x1f, 0x08, 0x02, 0x05, 0x05, 0x06, + 0x01, 0x00, 0x0b, 0x14, 0x0e, 0x11, 0x11, 0x10, 0x10, 0x0b, 0x06, + 0x03, 0x15, 0x16, 0x14, 0x02, 0x02, 0x0e, 0x07, 0x0f, 0x11, 0x0b, + 0x01, 0x00, 0x06, 0x15, 0x00, 0x3f, 0x33, 0x33, 0x33, 0x33, 0x3f, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x21, 0x23, 0x01, 0x16, 0x15, 0x11, 0x23, 0x11, 0x21, + 0x13, 0x16, 0x17, 0x36, 0x37, 0x13, 0x21, 0x11, 0x23, 0x11, 0x3f, + 0x01, 0x02, 0xbd, 0xa1, 0xfe, 0xfc, 0x06, 0xae, 0x01, 0x18, 0xa0, + 0x36, 0x0e, 0x14, 0x30, 0xa0, 0x01, 0x0d, 0xad, 0x03, 0x05, 0x03, + 0x8f, 0x9c, 0x47, 0xfd, 0x54, 0x04, 0x3a, 0xfd, 0xd0, 0xc1, 0x7b, + 0x93, 0xa9, 0x02, 0x30, 0xfb, 0xc6, 0x02, 0xac, 0x72, 0x73, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xb8, 0x00, 0x00, 0x04, 0x14, 0x04, + 0x3a, 0x00, 0x0d, 0x00, 0x30, 0x40, 0x16, 0x0b, 0x02, 0x00, 0x00, + 0x0d, 0x0a, 0x03, 0x06, 0x06, 0x05, 0x0d, 0x05, 0x0e, 0x0f, 0x0a, + 0x03, 0x0d, 0x0f, 0x06, 0x02, 0x0c, 0x15, 0x00, 0x3f, 0x33, 0x33, + 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x03, 0x01, 0x33, 0x11, 0x23, 0x11, 0x34, 0x36, 0x37, 0x01, 0x23, + 0x11, 0x01, 0x66, 0x0a, 0x01, 0xf3, 0xc5, 0xac, 0x07, 0x03, 0xfe, + 0x06, 0xc0, 0x04, 0x3a, 0xfd, 0xb0, 0xfe, 0xeb, 0x03, 0x65, 0xfb, + 0xc6, 0x02, 0x94, 0x24, 0x92, 0x1f, 0xfc, 0x97, 0x04, 0x3a, 0x00, + 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x04, 0x4e, 0x12, + 0x06, 0x00, 0x52, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xec, + 0x04, 0x41, 0x04, 0x4e, 0x12, 0x06, 0x02, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x35, 0x00, 0x31, 0x04, 0x97, 0x03, 0xf8, 0x00, 0x0a, + 0x00, 0x16, 0x00, 0x26, 0x40, 0x12, 0x0e, 0x08, 0x14, 0x03, 0x08, + 0x03, 0x17, 0x18, 0x06, 0x11, 0x53, 0x59, 0x06, 0x00, 0x0b, 0x53, + 0x59, 0x00, 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x2f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x20, + 0x04, 0x15, 0x14, 0x04, 0x21, 0x20, 0x11, 0x34, 0x24, 0x05, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x02, + 0x65, 0x01, 0x1c, 0x01, 0x16, 0xfe, 0xdf, 0xfe, 0xef, 0xfd, 0xd0, + 0x01, 0x11, 0x01, 0x1f, 0xe0, 0xcb, 0xcf, 0xdc, 0xd7, 0xd6, 0xd0, + 0x03, 0xf8, 0xfa, 0xee, 0xed, 0xf2, 0x01, 0xe5, 0xf8, 0xea, 0xbd, + 0x85, 0x9d, 0x9e, 0x8d, 0x8b, 0x95, 0xa2, 0x8b, 0x00, 0x00, 0x01, + 0x00, 0x35, 0x00, 0x6b, 0x04, 0x97, 0x03, 0xde, 0x00, 0x19, 0x00, + 0x2f, 0x40, 0x18, 0x03, 0x0a, 0x17, 0x10, 0x10, 0x14, 0x06, 0x0a, + 0x04, 0x1a, 0x1b, 0x0d, 0x00, 0x53, 0x59, 0x0d, 0x14, 0x06, 0x07, + 0x06, 0x53, 0x59, 0x13, 0x07, 0x00, 0x2f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, + 0x07, 0x2e, 0x01, 0x35, 0x34, 0x24, 0x21, 0x20, 0x04, 0x15, 0x14, + 0x06, 0x07, 0x27, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x02, 0x6b, 0xd8, + 0xd0, 0x68, 0x6c, 0x0c, 0x9c, 0xba, 0x01, 0x1f, 0x01, 0x13, 0x01, + 0x11, 0x01, 0x1f, 0xac, 0x97, 0x0e, 0x5a, 0x6a, 0xbe, 0x03, 0x22, + 0x88, 0x89, 0x60, 0x81, 0x0f, 0xb6, 0x15, 0xe0, 0xac, 0xe3, 0xef, + 0xf0, 0xe0, 0xa6, 0xdb, 0x1c, 0xb9, 0x0e, 0x72, 0x69, 0x8f, 0x80, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x25, 0xff, 0xd6, 0x04, 0xa7, 0x04, + 0x5e, 0x00, 0x12, 0x00, 0x1a, 0x00, 0x22, 0x00, 0x59, 0x40, 0x32, + 0x1e, 0x15, 0x1d, 0x16, 0x04, 0x18, 0x20, 0x18, 0x07, 0x03, 0x20, + 0x10, 0x0c, 0x0c, 0x0e, 0x11, 0x08, 0x05, 0x03, 0x06, 0x23, 0x24, + 0x15, 0x1e, 0x16, 0x1d, 0x04, 0x1b, 0x13, 0x08, 0x05, 0x0e, 0x11, + 0x04, 0x00, 0x0a, 0x00, 0x13, 0x53, 0x59, 0x10, 0x10, 0x00, 0x0a, + 0x1b, 0x53, 0x59, 0x07, 0x07, 0x0a, 0x00, 0x2f, 0x33, 0x2f, 0x2b, + 0x00, 0x18, 0x2f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, + 0x11, 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x25, + 0x20, 0x24, 0x35, 0x34, 0x37, 0x27, 0x35, 0x17, 0x36, 0x33, 0x20, + 0x11, 0x14, 0x07, 0x17, 0x15, 0x27, 0x06, 0x27, 0x32, 0x37, 0x01, + 0x06, 0x15, 0x14, 0x16, 0x13, 0x22, 0x07, 0x01, 0x36, 0x35, 0x34, + 0x26, 0x02, 0x69, 0xfe, 0xe4, 0xfe, 0xea, 0x62, 0x74, 0xd6, 0x8a, + 0xe4, 0x02, 0x30, 0x5b, 0x69, 0xc9, 0x85, 0xf0, 0x81, 0x5c, 0xfd, + 0xce, 0x58, 0xd0, 0xdd, 0x82, 0x55, 0x02, 0x31, 0x51, 0xcf, 0x32, + 0xfa, 0xee, 0xc3, 0x76, 0x64, 0xa7, 0xb8, 0x53, 0xfe, 0x1b, 0xc9, + 0x73, 0x5b, 0xa7, 0xad, 0x51, 0xbd, 0x17, 0x01, 0xe3, 0x44, 0x89, + 0xa2, 0x8b, 0x02, 0x4d, 0x18, 0xfe, 0x1e, 0x43, 0x8c, 0x9e, 0x8d, + 0x00, 0x00, 0x03, 0x00, 0x1c, 0xff, 0xec, 0x04, 0xb4, 0x04, 0x4e, + 0x00, 0x1a, 0x00, 0x25, 0x00, 0x2c, 0x00, 0x7f, 0x40, 0x4c, 0x2a, + 0x19, 0x06, 0x07, 0x15, 0x0b, 0x1b, 0x1b, 0x00, 0x29, 0x21, 0x10, + 0x10, 0x29, 0x07, 0x19, 0x04, 0x2d, 0x2e, 0x1e, 0x26, 0x17, 0x26, + 0x50, 0x59, 0x1a, 0x2a, 0x50, 0x59, 0x1f, 0x1a, 0x01, 0x0f, 0x1a, + 0x4f, 0x1a, 0x7f, 0x1a, 0x8f, 0x1a, 0x04, 0x0b, 0x03, 0x1a, 0x40, + 0x24, 0x27, 0x48, 0x1a, 0x40, 0x16, 0x1a, 0x48, 0x1a, 0x1a, 0x09, + 0x15, 0x13, 0x17, 0x16, 0x23, 0x03, 0x09, 0x03, 0x50, 0x59, 0x0d, + 0x0b, 0x09, 0x2f, 0x06, 0x01, 0x06, 0x06, 0x09, 0x10, 0x00, 0x3f, + 0x33, 0x2f, 0x5d, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x33, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x2b, 0x5f, 0x5e, 0x5d, + 0x71, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, + 0x12, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x12, 0x11, 0x10, 0x02, + 0x23, 0x22, 0x27, 0x06, 0x23, 0x20, 0x11, 0x35, 0x05, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x10, 0x23, 0x22, 0x06, 0x01, 0x32, 0x36, + 0x37, 0x21, 0x1e, 0x01, 0x02, 0x08, 0x57, 0x51, 0x41, 0x4e, 0x0e, + 0x8a, 0x3f, 0xe6, 0xb6, 0x51, 0x53, 0xb7, 0x9d, 0xa8, 0xaa, 0xa2, + 0xbb, 0x4f, 0x55, 0xae, 0xfe, 0xc1, 0x02, 0x95, 0x4f, 0x5b, 0x5b, + 0x55, 0xaa, 0x5e, 0x52, 0xfe, 0xb4, 0x48, 0x56, 0x03, 0xfe, 0xbc, + 0x08, 0x50, 0x02, 0x43, 0xbd, 0xc7, 0x5e, 0x48, 0x2d, 0x01, 0x00, + 0xb7, 0xb7, 0xfe, 0xdf, 0xfe, 0xef, 0xfe, 0xe9, 0xfe, 0xe7, 0xb1, + 0xb1, 0x02, 0x3f, 0x18, 0x27, 0xdb, 0xd0, 0xd0, 0xdb, 0x01, 0xad, + 0xd1, 0xfd, 0x79, 0xad, 0x9b, 0xab, 0x9d, 0x00, 0x00, 0x00, 0x02, + 0x00, 0xd6, 0xff, 0xec, 0x03, 0xf7, 0x04, 0x3a, 0x00, 0x1a, 0x00, + 0x25, 0x00, 0x46, 0x40, 0x25, 0x20, 0x0d, 0x15, 0x14, 0x1a, 0x00, + 0x1b, 0x07, 0x07, 0x00, 0x04, 0x11, 0x14, 0x0d, 0x06, 0x26, 0x27, + 0x03, 0x11, 0x18, 0x1d, 0x18, 0x1d, 0x52, 0x59, 0x18, 0x18, 0x0a, + 0x1a, 0x14, 0x0f, 0x0a, 0x23, 0x51, 0x59, 0x0a, 0x16, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x07, + 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, + 0x11, 0x13, 0x10, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x03, 0xe0, 0x8d, 0x79, 0x84, 0x99, 0xd0, 0xc0, 0xc1, 0xd0, + 0xa1, 0x78, 0x79, 0x8b, 0xb8, 0x66, 0x5c, 0xc0, 0x21, 0xe2, 0x6c, + 0x72, 0x74, 0x6e, 0x6d, 0x71, 0x04, 0x3a, 0x83, 0xb8, 0x18, 0x04, + 0x16, 0xc1, 0x8d, 0xc3, 0xd0, 0xd2, 0xbf, 0x8d, 0xc3, 0x14, 0x04, + 0x1d, 0xb7, 0x81, 0x7f, 0x88, 0x01, 0x07, 0xfd, 0x43, 0x01, 0x0c, + 0x89, 0x83, 0x82, 0x8c, 0x88, 0x00, 0x00, 0x01, 0x00, 0x83, 0x02, + 0x1e, 0x04, 0x4a, 0x04, 0x4e, 0x00, 0x0c, 0x00, 0x26, 0x40, 0x11, + 0x06, 0x07, 0x00, 0x0c, 0x07, 0x0c, 0x0d, 0x0e, 0x00, 0x07, 0x09, + 0x09, 0x03, 0x50, 0x59, 0x09, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x32, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, + 0x10, 0x21, 0x32, 0x12, 0x11, 0x03, 0x8d, 0x85, 0x9d, 0x9e, 0x8d, + 0xbd, 0x01, 0xe5, 0xf8, 0xea, 0x02, 0x1e, 0xe0, 0xcb, 0xcf, 0xdc, + 0x02, 0x30, 0xfe, 0xef, 0xfe, 0xe1, 0x00, 0x01, 0x00, 0x83, 0xff, + 0xec, 0x04, 0x4a, 0x02, 0x1e, 0x00, 0x0d, 0x00, 0x26, 0x40, 0x11, + 0x00, 0x0d, 0x06, 0x07, 0x0d, 0x07, 0x0e, 0x0f, 0x06, 0x0d, 0x0a, + 0x0a, 0x03, 0x50, 0x59, 0x0a, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x32, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, + 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x01, 0x40, 0x8b, 0x95, 0xa2, + 0x8b, 0xbd, 0xfa, 0xee, 0xed, 0xf2, 0x02, 0x1e, 0xd6, 0xd7, 0xd0, + 0xdd, 0xfe, 0xe4, 0xfe, 0xea, 0x01, 0x21, 0x01, 0x11, 0x00, 0x00, + 0x02, 0x00, 0xcb, 0x00, 0x00, 0x04, 0x29, 0x04, 0x3a, 0x00, 0x0a, + 0x00, 0x13, 0x00, 0x34, 0x40, 0x1a, 0x0c, 0x00, 0x00, 0x01, 0x10, + 0x06, 0x01, 0x06, 0x14, 0x15, 0x0c, 0x0a, 0x50, 0x59, 0x0c, 0x0c, + 0x01, 0x02, 0x02, 0x0b, 0x50, 0x59, 0x02, 0x0f, 0x01, 0x15, 0x00, + 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x21, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x21, 0x19, 0x01, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, + 0x7f, 0xb4, 0x01, 0xce, 0xb2, 0xde, 0xd8, 0xb8, 0xfe, 0xe6, 0x01, + 0x0e, 0x69, 0x76, 0x75, 0x6a, 0x04, 0x3a, 0xb3, 0x94, 0x9c, 0xb4, + 0x02, 0x0e, 0xfe, 0x7a, 0x65, 0x60, 0x5e, 0x63, 0x00, 0x00, 0x02, + 0x00, 0x39, 0x00, 0x00, 0x03, 0xef, 0x04, 0x3a, 0x00, 0x0c, 0x00, + 0x15, 0x00, 0x4b, 0x40, 0x25, 0x03, 0x00, 0x00, 0x05, 0x0a, 0x01, + 0x02, 0x02, 0x11, 0x05, 0x15, 0x0b, 0x0b, 0x0a, 0x05, 0x0a, 0x16, + 0x17, 0x03, 0x00, 0x14, 0x00, 0x51, 0x59, 0x14, 0x14, 0x02, 0x08, + 0x08, 0x0e, 0x51, 0x59, 0x08, 0x0f, 0x0b, 0x02, 0x15, 0x00, 0x3f, + 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x09, 0x01, 0x23, 0x01, 0x26, 0x11, 0x34, 0x36, 0x33, 0x21, + 0x11, 0x23, 0x19, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x3b, + 0x01, 0x02, 0x3f, 0xfe, 0xc5, 0xcb, 0x01, 0x58, 0xf9, 0xd8, 0xcf, + 0x01, 0xb0, 0xb4, 0xea, 0x82, 0x78, 0x6b, 0x7c, 0xfd, 0x01, 0xca, + 0xfe, 0x36, 0x01, 0xd7, 0x33, 0x01, 0x05, 0x95, 0x96, 0xfb, 0xc6, + 0x01, 0xca, 0x01, 0xf1, 0x5c, 0x5d, 0x5e, 0x5d, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x39, 0x00, 0x00, 0x03, 0xef, 0x04, 0x3a, 0x00, + 0x0c, 0x00, 0x15, 0x00, 0x42, 0x40, 0x22, 0x0b, 0x0a, 0x0a, 0x11, + 0x07, 0x09, 0x0c, 0x00, 0x15, 0x15, 0x03, 0x03, 0x0c, 0x07, 0x03, + 0x16, 0x17, 0x0c, 0x0e, 0x51, 0x59, 0x09, 0x0c, 0x0c, 0x04, 0x01, + 0x0a, 0x0f, 0x04, 0x14, 0x51, 0x59, 0x04, 0x15, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x33, 0x11, 0x21, 0x22, + 0x26, 0x35, 0x10, 0x37, 0x01, 0x33, 0x01, 0x17, 0x23, 0x22, 0x06, + 0x15, 0x14, 0x16, 0x3b, 0x01, 0x03, 0x3b, 0xb4, 0xfe, 0x50, 0xcf, + 0xd8, 0xf9, 0xfe, 0xa8, 0xcb, 0x01, 0x3b, 0xfc, 0xfd, 0x7c, 0x6b, + 0x78, 0x82, 0xea, 0x02, 0x70, 0x01, 0xca, 0xfb, 0xc6, 0x96, 0x95, + 0x01, 0x05, 0x33, 0x01, 0xd7, 0xfe, 0x36, 0x7d, 0x5d, 0x5e, 0x5d, + 0x5c, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x18, 0x04, 0x3a, + 0x00, 0x07, 0x00, 0x27, 0x40, 0x12, 0x02, 0x04, 0x04, 0x07, 0x05, + 0x05, 0x08, 0x09, 0x05, 0x15, 0x03, 0x07, 0x00, 0x07, 0x51, 0x59, + 0x00, 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0xb4, 0x03, 0x64, 0xfe, + 0xa8, 0xb4, 0xfe, 0xa8, 0x04, 0x3a, 0x83, 0xfc, 0x49, 0x03, 0xb7, + 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x04, 0x3a, 0x12, + 0x06, 0x03, 0x76, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3f, 0x00, 0x58, + 0x04, 0x8d, 0x03, 0xbe, 0x00, 0x1a, 0x00, 0x2d, 0x40, 0x17, 0x09, + 0x00, 0x05, 0x16, 0x16, 0x0d, 0x12, 0x00, 0x04, 0x1b, 0x1c, 0x1a, + 0x00, 0x53, 0x59, 0x1a, 0x12, 0x09, 0x0a, 0x09, 0x53, 0x59, 0x0a, + 0x00, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, + 0x32, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, + 0x37, 0x15, 0x0e, 0x02, 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, + 0x23, 0x21, 0x3f, 0x02, 0xae, 0x6b, 0x76, 0x34, 0xb2, 0x9e, 0xfd, + 0x8d, 0x03, 0x53, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0x70, 0x5d, + 0xb1, 0xcc, 0xfd, 0x2f, 0x01, 0x0d, 0x2a, 0x5c, 0x59, 0x82, 0x96, + 0xb4, 0x06, 0xaa, 0x01, 0x02, 0x03, 0x02, 0x03, 0x3e, 0xa3, 0x79, + 0xb2, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x18, 0x00, 0x58, + 0x04, 0xb5, 0x03, 0xbe, 0x00, 0x1a, 0x00, 0x1e, 0x00, 0x22, 0x00, + 0x50, 0x40, 0x2b, 0x21, 0x1d, 0x1d, 0x22, 0x1e, 0x09, 0x1a, 0x05, + 0x16, 0x16, 0x0d, 0x12, 0x1a, 0x1e, 0x05, 0x23, 0x24, 0x1f, 0x22, + 0x52, 0x59, 0x1e, 0x1b, 0x52, 0x59, 0x1f, 0x1e, 0x1f, 0x1e, 0x0a, + 0x1a, 0x1a, 0x00, 0x53, 0x59, 0x1a, 0x12, 0x09, 0x0a, 0x09, 0x53, + 0x59, 0x0a, 0x00, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x32, 0x3e, 0x01, 0x35, 0x34, + 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x37, 0x15, 0x0e, 0x02, 0x07, + 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x01, 0x33, 0x15, + 0x23, 0x11, 0x33, 0x15, 0x23, 0x01, 0x2f, 0x01, 0xe6, 0x6b, 0x76, + 0x34, 0xb2, 0x9e, 0xfe, 0x55, 0x02, 0x8b, 0xbd, 0x2a, 0x05, 0x2c, + 0x39, 0x4f, 0x70, 0x5d, 0xb1, 0xcc, 0xfd, 0xf7, 0xfe, 0xe9, 0xb8, + 0xb8, 0xb8, 0xb8, 0x01, 0x0d, 0x2a, 0x5c, 0x59, 0x82, 0x96, 0xb4, + 0x06, 0xaa, 0x01, 0x02, 0x03, 0x02, 0x03, 0x3e, 0xa3, 0x79, 0xb2, + 0xa5, 0x01, 0x3e, 0xa3, 0x02, 0x2d, 0xa5, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x3f, 0xff, 0x59, 0x04, 0x8d, 0x04, 0xf4, 0x00, 0x29, + 0x00, 0x4c, 0x40, 0x27, 0x04, 0x25, 0x25, 0x15, 0x1c, 0x00, 0x09, + 0x09, 0x20, 0x20, 0x18, 0x11, 0x0c, 0x1c, 0x05, 0x2b, 0x2a, 0x18, + 0x29, 0x00, 0x29, 0x52, 0x59, 0x00, 0x00, 0x09, 0x20, 0x20, 0x21, + 0x52, 0x59, 0x20, 0x11, 0x08, 0x09, 0x08, 0x53, 0x59, 0x09, 0x00, + 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, + 0x21, 0x32, 0x37, 0x15, 0x0e, 0x02, 0x07, 0x15, 0x1e, 0x01, 0x15, + 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, + 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x3f, 0x02, + 0xae, 0x9d, 0x78, 0xb0, 0xa0, 0xfd, 0x8d, 0x03, 0x53, 0xbd, 0x2a, + 0x05, 0x2c, 0x39, 0x4f, 0x73, 0x5a, 0x62, 0x6b, 0x6d, 0x60, 0xb2, + 0xcb, 0xfd, 0x2f, 0x02, 0xae, 0x9d, 0x78, 0xaf, 0xa1, 0xfd, 0x8d, + 0x02, 0x7c, 0x56, 0x70, 0x73, 0x86, 0xb3, 0x06, 0xaa, 0x01, 0x02, + 0x03, 0x02, 0x03, 0x3a, 0x96, 0x6c, 0x7b, 0x8f, 0x1c, 0x03, 0x38, + 0x9f, 0x71, 0xa4, 0x95, 0xb2, 0x56, 0x70, 0x76, 0x83, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x45, 0x00, 0x00, 0x04, 0x87, 0x04, 0x3a, + 0x12, 0x06, 0x00, 0x59, 0x00, 0x00, 0xff, 0xff, 0x00, 0x15, 0x00, + 0x00, 0x04, 0xb8, 0x04, 0x3a, 0x12, 0x06, 0x00, 0x5a, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x93, 0x00, 0x00, 0x04, 0x2c, 0x04, 0x3a, 0x12, + 0x06, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x01, 0x00, 0xbc, 0xff, 0xec, + 0x03, 0xe9, 0x04, 0x3a, 0x00, 0x19, 0x00, 0x50, 0x40, 0x2a, 0x04, + 0x03, 0x14, 0x0d, 0x0f, 0x13, 0x09, 0x17, 0x17, 0x13, 0x0d, 0x10, + 0x03, 0x05, 0x1a, 0x1b, 0x0e, 0x14, 0x14, 0x0d, 0x51, 0x59, 0x14, + 0x14, 0x00, 0x11, 0x13, 0x10, 0x11, 0x10, 0x50, 0x59, 0x11, 0x0f, + 0x00, 0x06, 0x50, 0x59, 0x04, 0x04, 0x00, 0x16, 0x00, 0x3f, 0x32, + 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x05, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x2b, 0x01, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x1e, + 0x01, 0x15, 0x14, 0x06, 0x02, 0x55, 0xa7, 0xc5, 0x2d, 0x9f, 0x35, + 0xc9, 0x60, 0x79, 0x89, 0x9a, 0x30, 0x01, 0x36, 0xfd, 0xe7, 0x02, + 0xe9, 0xfe, 0xa7, 0xa8, 0xb5, 0xd7, 0x14, 0x7d, 0x81, 0x2c, 0xa4, + 0x64, 0x5a, 0x6b, 0x62, 0x89, 0x01, 0x29, 0x8b, 0x87, 0xfe, 0xc2, + 0x03, 0xab, 0x97, 0x98, 0xac, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xf1, 0xff, 0xeb, 0x03, 0xdb, 0x04, 0x4c, 0x00, 0x27, 0x00, 0x82, + 0x40, 0x4b, 0x04, 0x10, 0x1d, 0x1e, 0x00, 0x13, 0x18, 0x24, 0x09, + 0x0a, 0x0a, 0x24, 0x13, 0x1e, 0x10, 0x05, 0x28, 0x29, 0x00, 0x27, + 0x51, 0x59, 0x00, 0x14, 0x40, 0x14, 0x13, 0x51, 0x59, 0x04, 0x18, + 0x21, 0x4f, 0x14, 0x6f, 0x14, 0x7f, 0x14, 0x03, 0x14, 0x14, 0x0d, + 0x21, 0x0f, 0x1d, 0x7f, 0x1d, 0x02, 0x0a, 0x03, 0x1d, 0x1d, 0x21, + 0x21, 0x1b, 0x50, 0x59, 0x21, 0x10, 0x00, 0x09, 0x70, 0x09, 0x02, + 0x0a, 0x03, 0x09, 0x09, 0x0d, 0x0d, 0x07, 0x50, 0x59, 0x0d, 0x16, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, + 0x12, 0x39, 0x2f, 0x5d, 0x11, 0x39, 0x39, 0x2b, 0x00, 0x1a, 0x18, + 0x10, 0xcd, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x0e, 0x01, + 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x07, 0x02, 0xc0, 0x3b, 0x78, 0x67, 0x62, + 0x54, 0xa0, 0x35, 0xaa, 0x1f, 0xcb, 0x97, 0xa7, 0xc2, 0x9a, 0x81, + 0x3b, 0x78, 0x67, 0x62, 0x54, 0xa0, 0x35, 0xaa, 0x1f, 0xcb, 0x97, + 0xa7, 0xc2, 0x9a, 0x81, 0x01, 0xac, 0x50, 0x51, 0x40, 0x56, 0xab, + 0x14, 0x8e, 0x93, 0x96, 0x87, 0x74, 0x8d, 0x06, 0x7c, 0x50, 0x51, + 0x40, 0x56, 0xab, 0x14, 0x8e, 0x93, 0x97, 0x86, 0x74, 0x8d, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0xff, 0xec, 0x04, 0xac, + 0x04, 0x4d, 0x00, 0x2b, 0x00, 0x35, 0x40, 0x1b, 0x19, 0x0b, 0x28, + 0x21, 0x15, 0x28, 0x0f, 0x03, 0x05, 0x2c, 0x2d, 0x19, 0x0b, 0x28, + 0x0b, 0x00, 0x12, 0x10, 0x1d, 0x07, 0x00, 0x07, 0x50, 0x59, 0x24, + 0x00, 0x16, 0x00, 0x3f, 0x32, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x05, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x3f, 0x01, 0x27, 0x2e, 0x01, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x0f, 0x01, 0x17, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x2f, + 0x01, 0x07, 0x0e, 0x01, 0x01, 0x24, 0x57, 0x75, 0x38, 0x58, 0x21, + 0x5a, 0x2d, 0x22, 0x47, 0x19, 0x5d, 0x91, 0x4a, 0x3a, 0xc3, 0xb9, + 0xb8, 0xc4, 0x3a, 0x4a, 0x91, 0x5d, 0x19, 0x47, 0x22, 0x2d, 0x5a, + 0x21, 0x58, 0x39, 0x73, 0x58, 0x57, 0x7a, 0x3a, 0x37, 0x37, 0x39, + 0x79, 0x14, 0x37, 0x3f, 0x73, 0x27, 0x34, 0x22, 0x23, 0x83, 0xb2, + 0x5b, 0x88, 0x43, 0x92, 0xa1, 0x9f, 0x93, 0x43, 0x8a, 0x5a, 0xb2, + 0x83, 0x23, 0x22, 0x34, 0x27, 0x73, 0x3f, 0x37, 0x47, 0x5b, 0x55, + 0x55, 0x5a, 0x48, 0x00, 0x00, 0x01, 0x01, 0x5b, 0x00, 0x00, 0x03, + 0x7c, 0x04, 0x3a, 0x00, 0x05, 0x00, 0x1d, 0x40, 0x0e, 0x03, 0x04, + 0x04, 0x00, 0x06, 0x07, 0x05, 0x02, 0x51, 0x59, 0x05, 0x0f, 0x04, + 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x15, 0x21, 0x11, 0x23, 0x11, 0x03, 0x7c, + 0xfe, 0x93, 0xb4, 0x04, 0x3a, 0x83, 0xfc, 0x49, 0x04, 0x3a, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x45, 0x00, 0x00, 0x04, 0x87, 0x04, + 0x3a, 0x12, 0x06, 0x02, 0x4d, 0x00, 0x00, 0x00, 0x01, 0x00, 0xca, + 0x00, 0x00, 0x04, 0x03, 0x04, 0x3a, 0x00, 0x07, 0x00, 0x23, 0x40, + 0x11, 0x05, 0x06, 0x02, 0x01, 0x06, 0x01, 0x08, 0x09, 0x07, 0x04, + 0x51, 0x59, 0x07, 0x0f, 0x02, 0x06, 0x15, 0x00, 0x3f, 0x33, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x04, 0x03, + 0xb4, 0xfe, 0x2f, 0xb4, 0x04, 0x3a, 0xfb, 0xc6, 0x03, 0xb7, 0xfc, + 0x49, 0x04, 0x3a, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xcb, 0x00, + 0x00, 0x04, 0x29, 0x04, 0x3a, 0x12, 0x06, 0x05, 0x37, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x0a, 0x00, 0x00, 0x04, 0xc2, 0x04, 0x3a, 0x00, + 0x19, 0x00, 0x3e, 0x40, 0x1e, 0x0e, 0x19, 0x19, 0x0b, 0x00, 0x00, + 0x06, 0x12, 0x13, 0x07, 0x06, 0x06, 0x13, 0x1a, 0x1b, 0x18, 0x01, + 0x0b, 0x01, 0x50, 0x59, 0x0e, 0x0b, 0x0b, 0x12, 0x0c, 0x06, 0x0f, + 0x00, 0x15, 0x00, 0x3f, 0x3f, 0x33, 0x33, 0x39, 0x2f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, + 0x11, 0x22, 0x2e, 0x01, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, + 0x11, 0x33, 0x11, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x0e, + 0x01, 0x23, 0x11, 0x02, 0x0d, 0x97, 0xed, 0x7f, 0xad, 0xb2, 0xa4, + 0xb1, 0xa5, 0xb2, 0xad, 0x7c, 0xec, 0x9c, 0x01, 0x36, 0x6c, 0xbe, + 0x77, 0x01, 0x63, 0xfe, 0xcc, 0x9b, 0xb0, 0x02, 0x7f, 0xfd, 0x81, + 0xab, 0xa0, 0x01, 0x34, 0xfe, 0x9d, 0x79, 0xbe, 0x6a, 0xfe, 0xca, + 0x00, 0x00, 0x01, 0x00, 0x0b, 0xff, 0xec, 0x04, 0x1d, 0x04, 0x3a, + 0x00, 0x13, 0x00, 0x2d, 0x40, 0x18, 0x00, 0x13, 0x02, 0x11, 0x09, + 0x11, 0x13, 0x03, 0x15, 0x14, 0x11, 0x02, 0x51, 0x59, 0x11, 0x0f, + 0x07, 0x0c, 0x50, 0x59, 0x07, 0x16, 0x00, 0x15, 0x00, 0x3f, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x21, 0x0a, 0x01, 0x0e, + 0x01, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x12, 0x1b, + 0x01, 0x21, 0x11, 0x03, 0x68, 0xfe, 0x89, 0x3b, 0x40, 0x4a, 0x6d, + 0x56, 0x32, 0x2c, 0x19, 0x2b, 0x37, 0x43, 0x37, 0x23, 0x2c, 0x02, + 0xce, 0x03, 0xb7, 0xfe, 0x4c, 0xfe, 0xcf, 0x9c, 0x4a, 0x0d, 0x81, + 0x09, 0x6e, 0x01, 0x0e, 0x01, 0x08, 0x01, 0x45, 0xfb, 0xc6, 0x00, + 0x00, 0x02, 0x00, 0x93, 0x01, 0xea, 0x04, 0x39, 0x05, 0xcc, 0x00, + 0x07, 0x00, 0x0d, 0x00, 0x44, 0x40, 0x11, 0x03, 0x04, 0x06, 0x05, + 0x08, 0x00, 0x07, 0x07, 0x08, 0x04, 0x03, 0x0e, 0x0f, 0x01, 0x02, + 0x0a, 0x02, 0xb8, 0x01, 0x48, 0xb7, 0x59, 0x0b, 0x0a, 0x0a, 0x04, + 0x08, 0x06, 0x05, 0xbb, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x04, 0x01, + 0x2e, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x33, 0x12, 0x39, 0x2f, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x03, 0x21, 0x03, + 0x23, 0x01, 0x33, 0x09, 0x01, 0x07, 0x03, 0x21, 0x03, 0x26, 0x03, + 0xa9, 0x6d, 0xfe, 0x58, 0x6f, 0x92, 0x01, 0x88, 0x9c, 0x01, 0x82, + 0xfe, 0x2f, 0x33, 0x77, 0x01, 0x56, 0x7b, 0x10, 0x01, 0xea, 0x01, + 0x21, 0xfe, 0xdf, 0x03, 0xe2, 0xfc, 0x1e, 0x03, 0x65, 0x95, 0xfe, + 0xc0, 0x01, 0x41, 0x27, 0x00, 0x02, 0xff, 0xf9, 0x01, 0xea, 0x04, + 0xc0, 0x05, 0xcc, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x8b, 0x40, 0x17, + 0x05, 0x12, 0x09, 0x0d, 0x0d, 0x10, 0x00, 0x07, 0x0b, 0x00, 0x12, + 0x04, 0x04, 0x0e, 0x0e, 0x14, 0x15, 0x03, 0x04, 0x04, 0x14, 0x13, + 0x02, 0xb8, 0x01, 0x48, 0xb2, 0x59, 0x09, 0x0c, 0xb8, 0x01, 0x48, + 0x40, 0x1f, 0x59, 0x0f, 0x13, 0x1f, 0x13, 0x2f, 0x13, 0xff, 0x13, + 0x04, 0x0f, 0x09, 0x1f, 0x09, 0x2f, 0x09, 0xff, 0x09, 0x04, 0x0b, + 0x03, 0x13, 0x09, 0x13, 0x09, 0x00, 0x05, 0x12, 0x08, 0x05, 0x08, + 0x41, 0x0c, 0x01, 0x48, 0x00, 0x59, 0x00, 0x05, 0x01, 0x2c, 0x00, + 0x04, 0x01, 0x2e, 0x00, 0x00, 0x00, 0x0d, 0x01, 0x48, 0x00, 0x59, + 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x5f, 0x5e, 0x5d, 0x5d, 0x2b, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x03, 0x23, 0x01, + 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x01, + 0x11, 0x23, 0x03, 0x02, 0x79, 0xfe, 0x98, 0x86, 0x92, 0x01, 0xd3, + 0x02, 0xd9, 0xfe, 0x61, 0x01, 0x76, 0xfe, 0x8a, 0x01, 0xba, 0xfd, + 0xb9, 0x5a, 0xdc, 0x01, 0xea, 0x01, 0x21, 0xfe, 0xdf, 0x03, 0xe2, + 0x74, 0xfe, 0xca, 0x72, 0xfe, 0xae, 0x74, 0x01, 0x90, 0x01, 0xe5, + 0xfe, 0x1b, 0x00, 0x00, 0x00, 0x03, 0x01, 0x10, 0x01, 0xea, 0x03, + 0xf9, 0x05, 0xcc, 0x00, 0x0d, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x68, + 0x40, 0x15, 0x0b, 0x08, 0x13, 0x1a, 0x1a, 0x04, 0x0e, 0x08, 0x16, + 0x00, 0x00, 0x08, 0x04, 0x03, 0x1e, 0x1f, 0x0b, 0x13, 0x19, 0x13, + 0x19, 0xb8, 0x01, 0x48, 0x40, 0x10, 0x59, 0x0f, 0x13, 0x1f, 0x13, + 0x2f, 0x13, 0x03, 0x0b, 0x03, 0x13, 0x13, 0x04, 0x05, 0x05, 0x12, + 0x41, 0x0a, 0x01, 0x48, 0x00, 0x59, 0x00, 0x05, 0x01, 0x2c, 0x00, + 0x04, 0x00, 0x1a, 0x01, 0x48, 0x00, 0x59, 0x00, 0x04, 0x01, 0x2e, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x21, 0x11, + 0x21, 0x20, 0x15, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x03, 0x34, 0x26, + 0x2b, 0x01, 0x11, 0x33, 0x32, 0x13, 0x34, 0x2b, 0x01, 0x11, 0x33, + 0x32, 0x36, 0x03, 0xf9, 0xbb, 0xa9, 0xfe, 0x7b, 0x01, 0x5b, 0x01, + 0x56, 0x55, 0x55, 0x6f, 0x73, 0xc5, 0x68, 0x61, 0xce, 0xce, 0xc9, + 0x37, 0xe8, 0xe6, 0xf1, 0x72, 0x6b, 0x03, 0x04, 0x84, 0x96, 0x03, + 0xe2, 0xf3, 0x4f, 0x7b, 0x18, 0x11, 0x83, 0x01, 0x66, 0x4f, 0x42, + 0xfe, 0xce, 0xfe, 0xe6, 0xac, 0xfe, 0xa2, 0x58, 0x00, 0x00, 0x00, + 0x03, 0x00, 0xae, 0x01, 0xea, 0x04, 0x33, 0x05, 0xcc, 0x00, 0x12, + 0x00, 0x1a, 0x00, 0x22, 0x00, 0x68, 0x40, 0x18, 0x0a, 0x07, 0x17, + 0x1b, 0x05, 0x05, 0x10, 0x0c, 0x20, 0x17, 0x17, 0x01, 0x10, 0x13, + 0x0c, 0x10, 0x0c, 0x23, 0x24, 0x16, 0x0a, 0x11, 0x01, 0x11, 0xb8, + 0x01, 0x48, 0x40, 0x09, 0x59, 0x20, 0x07, 0x01, 0x01, 0x10, 0x02, + 0x10, 0x17, 0x41, 0x0a, 0x01, 0x48, 0x00, 0x59, 0x00, 0x10, 0x01, + 0x2e, 0x00, 0x02, 0x00, 0x1f, 0x01, 0x48, 0x00, 0x59, 0x00, 0x02, + 0x01, 0x2c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, + 0x13, 0x33, 0x11, 0x21, 0x20, 0x15, 0x14, 0x07, 0x33, 0x15, 0x23, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x23, 0x05, 0x34, 0x2b, + 0x01, 0x11, 0x33, 0x32, 0x36, 0x03, 0x34, 0x26, 0x2b, 0x01, 0x11, + 0x33, 0x32, 0xae, 0x5e, 0x01, 0x5b, 0x01, 0x56, 0x46, 0xbc, 0x8a, + 0x4c, 0xbb, 0xa9, 0xfe, 0x7b, 0x5e, 0x02, 0xb8, 0xe7, 0xe6, 0xf1, + 0x72, 0x6a, 0x36, 0x68, 0x61, 0xce, 0xce, 0xc9, 0x04, 0x2d, 0x01, + 0x9f, 0xf3, 0x6a, 0x42, 0x78, 0x44, 0x6d, 0x84, 0x96, 0x01, 0xcb, + 0xa7, 0xac, 0xfe, 0xa2, 0x58, 0x02, 0x15, 0x4f, 0x42, 0xfe, 0xce, + 0x00, 0x00, 0x00, 0x02, 0x00, 0xdc, 0x01, 0xea, 0x04, 0x18, 0x05, + 0xcc, 0x00, 0x09, 0x00, 0x12, 0x00, 0x34, 0x40, 0x0a, 0x0f, 0x05, + 0x0a, 0x00, 0x05, 0x00, 0x13, 0x14, 0x06, 0x0e, 0x41, 0x0a, 0x01, + 0x48, 0x00, 0x59, 0x00, 0x06, 0x01, 0x2c, 0x00, 0x05, 0x00, 0x0f, + 0x01, 0x48, 0x00, 0x59, 0x00, 0x05, 0x01, 0x2e, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x0e, 0x01, 0x23, 0x21, 0x11, + 0x21, 0x32, 0x04, 0x07, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, + 0x36, 0x04, 0x18, 0x74, 0xd8, 0x8a, 0xfe, 0x9a, 0x01, 0x3c, 0xf7, + 0x01, 0x09, 0x8e, 0xbf, 0xb6, 0xac, 0xc9, 0xa0, 0xb8, 0x03, 0xe5, + 0x9a, 0xe7, 0x7a, 0x03, 0xe2, 0xfd, 0xea, 0xb6, 0xbf, 0xfd, 0x02, + 0xd3, 0x00, 0x01, 0x00, 0xff, 0x01, 0xea, 0x03, 0xf5, 0x05, 0xcc, + 0x00, 0x0b, 0x00, 0x5b, 0x40, 0x0d, 0x05, 0x09, 0x09, 0x07, 0x03, + 0x00, 0x0a, 0x00, 0x0a, 0x0c, 0x0d, 0x05, 0x08, 0xb8, 0x01, 0x48, + 0x40, 0x12, 0x59, 0x0f, 0x05, 0x1f, 0x05, 0x2f, 0x05, 0xff, 0x05, + 0x04, 0x0b, 0x03, 0x05, 0x05, 0x00, 0x01, 0x01, 0x04, 0x41, 0x0a, + 0x01, 0x48, 0x00, 0x59, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, 0x00, + 0x09, 0x01, 0x48, 0x00, 0x59, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, + 0x39, 0x39, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x15, + 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x00, 0xff, 0x02, + 0xda, 0xfd, 0xb3, 0x02, 0x25, 0xfd, 0xdb, 0x02, 0x69, 0x01, 0xea, + 0x03, 0xe2, 0x74, 0xfe, 0xca, 0x72, 0xfe, 0xae, 0x74, 0x00, 0x01, + 0x00, 0xd7, 0x01, 0xea, 0x03, 0xcd, 0x05, 0xcc, 0x00, 0x0b, 0x00, + 0x5d, 0x40, 0x0e, 0x08, 0x04, 0x00, 0x0b, 0x06, 0x02, 0x02, 0x0b, + 0x00, 0x0b, 0x0c, 0x0d, 0x05, 0x04, 0xb8, 0x01, 0x48, 0x40, 0x12, + 0x59, 0x0f, 0x05, 0x1f, 0x05, 0x2f, 0x05, 0xff, 0x05, 0x04, 0x0b, + 0x03, 0x05, 0x05, 0x00, 0x09, 0x09, 0x08, 0x41, 0x0a, 0x01, 0x48, + 0x00, 0x59, 0x00, 0x09, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x48, 0x00, 0x59, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, + 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x13, 0x35, 0x21, 0x11, 0x21, + 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0xd7, 0x02, 0x69, 0xfd, + 0xdb, 0x02, 0x25, 0xfd, 0xb3, 0x02, 0xda, 0x01, 0xea, 0x74, 0x01, + 0x52, 0x72, 0x01, 0x36, 0x74, 0xfc, 0x1e, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x9c, 0x01, 0xdc, 0x04, 0x30, 0x05, 0xdb, 0x00, 0x1d, + 0x00, 0x50, 0x40, 0x0f, 0x0d, 0x00, 0x07, 0x06, 0x13, 0x18, 0x18, + 0x06, 0x15, 0x00, 0x04, 0x1e, 0x1f, 0x16, 0x15, 0xb8, 0x01, 0x48, + 0xb6, 0x59, 0x16, 0x16, 0x1b, 0x03, 0x1b, 0x10, 0xbe, 0x01, 0x48, + 0x00, 0x59, 0x00, 0x1b, 0x01, 0x2f, 0x00, 0x03, 0x00, 0x0a, 0x01, + 0x48, 0xb3, 0x59, 0x07, 0x07, 0x03, 0xb8, 0x01, 0x2d, 0x00, 0x3f, + 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x12, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x11, 0x0e, 0x01, 0x23, + 0x22, 0x00, 0x9c, 0xfb, 0xe5, 0xa3, 0xc9, 0x34, 0x84, 0x29, 0x8d, + 0x6a, 0xa1, 0xac, 0xb6, 0xa1, 0x58, 0x9f, 0x35, 0xfe, 0xe2, 0x01, + 0xa0, 0x48, 0xe1, 0x85, 0xe5, 0xfe, 0xff, 0x03, 0xe0, 0xf2, 0x01, + 0x09, 0x73, 0x7b, 0x29, 0x54, 0x4f, 0xcc, 0xbb, 0xb9, 0xd8, 0x37, + 0x33, 0xaf, 0x77, 0xfe, 0xa7, 0x4e, 0x5c, 0x01, 0x13, 0x00, 0x00, + 0x01, 0x00, 0xdd, 0x01, 0xea, 0x03, 0xf0, 0x05, 0xcc, 0x00, 0x0b, + 0x00, 0x44, 0x40, 0x0e, 0x07, 0x03, 0x03, 0x04, 0x08, 0x00, 0x00, + 0x0b, 0x04, 0x0b, 0x0c, 0x0d, 0x07, 0x02, 0xb8, 0x01, 0x48, 0x40, + 0x0d, 0x59, 0x2f, 0x07, 0x3f, 0x07, 0x4f, 0x07, 0x03, 0x07, 0x07, + 0x04, 0x09, 0x05, 0xbb, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x04, 0x01, + 0x2e, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, + 0x11, 0x21, 0x11, 0x33, 0x11, 0x03, 0x61, 0xfe, 0x09, 0x8d, 0x8d, + 0x01, 0xf7, 0x8f, 0x01, 0xea, 0x01, 0xca, 0xfe, 0x36, 0x03, 0xe2, + 0xfe, 0x5e, 0x01, 0xa2, 0xfc, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x1f, 0x01, 0xea, 0x02, 0xad, 0x05, 0xcc, 0x00, 0x03, 0x00, + 0x19, 0xb5, 0x00, 0x01, 0x01, 0x04, 0x05, 0x02, 0xba, 0x01, 0x2c, + 0x00, 0x01, 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x11, 0x33, 0x02, 0xad, 0x8e, + 0x8e, 0x01, 0xea, 0x03, 0xe2, 0x00, 0x00, 0x01, 0x01, 0x12, 0x01, + 0xdc, 0x03, 0x57, 0x05, 0xcc, 0x00, 0x10, 0x00, 0x37, 0x40, 0x0a, + 0x03, 0x02, 0x09, 0x0e, 0x02, 0x0e, 0x11, 0x12, 0x0c, 0x0b, 0xbe, + 0x01, 0x48, 0x00, 0x59, 0x00, 0x0c, 0x01, 0x2c, 0x00, 0x00, 0x00, + 0x06, 0x01, 0x48, 0xb3, 0x59, 0x03, 0x03, 0x00, 0xb8, 0x01, 0x2f, + 0x00, 0x3f, 0x32, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, + 0x03, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, + 0x21, 0x11, 0x14, 0x06, 0x02, 0x38, 0xf6, 0x30, 0x8a, 0x0d, 0x52, + 0x3e, 0x43, 0x4e, 0xb7, 0x01, 0x44, 0x98, 0x01, 0xdc, 0x01, 0x09, + 0x18, 0x54, 0x5a, 0x62, 0x60, 0x02, 0x47, 0x74, 0xfd, 0x48, 0x90, + 0xa8, 0x00, 0x01, 0x00, 0xef, 0x01, 0xea, 0x04, 0x19, 0x05, 0xcc, + 0x00, 0x0b, 0x00, 0x42, 0x40, 0x1a, 0x07, 0x03, 0x03, 0x04, 0x0a, + 0x01, 0x08, 0x09, 0x00, 0x0b, 0x0b, 0x09, 0x01, 0x04, 0x04, 0x0c, + 0x0d, 0x0a, 0x01, 0x02, 0x07, 0x01, 0x07, 0x04, 0x08, 0x05, 0xbb, + 0x01, 0x2c, 0x00, 0x00, 0x00, 0x04, 0x01, 0x2e, 0x00, 0x3f, 0x33, + 0x3f, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x09, 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, + 0x11, 0x01, 0x33, 0x09, 0x01, 0x03, 0x6c, 0xfe, 0x86, 0x76, 0x8d, + 0x8d, 0x01, 0xc3, 0xa4, 0xfe, 0x67, 0x01, 0xcf, 0x01, 0xea, 0x01, + 0xda, 0x5d, 0xfe, 0x83, 0x03, 0xe2, 0xfe, 0x1a, 0x01, 0xe6, 0xfe, + 0x50, 0xfd, 0xce, 0x00, 0x00, 0x01, 0x01, 0x43, 0x01, 0xea, 0x03, + 0xb2, 0x05, 0xcc, 0x00, 0x05, 0x00, 0x26, 0xb6, 0x03, 0x00, 0x00, + 0x05, 0x06, 0x07, 0x01, 0xbe, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x03, + 0x01, 0x48, 0x00, 0x59, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x33, 0x11, 0x21, 0x15, 0x01, 0x43, 0x8d, 0x01, + 0xe2, 0x01, 0xea, 0x03, 0xe2, 0xfc, 0x92, 0x74, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x91, 0x01, 0xea, 0x04, 0x3c, 0x05, 0xcc, 0x00, 0x1a, + 0x00, 0x43, 0x40, 0x18, 0x12, 0x0e, 0x0f, 0x0f, 0x10, 0x09, 0x08, + 0x15, 0x18, 0x04, 0x00, 0x00, 0x1a, 0x1a, 0x15, 0x10, 0x03, 0x1b, + 0x1c, 0x04, 0x0d, 0x18, 0x0d, 0x11, 0xb8, 0x01, 0x2c, 0xb4, 0x00, + 0x09, 0x15, 0x03, 0x10, 0xb8, 0x01, 0x2e, 0x00, 0x3f, 0x17, 0x33, + 0x3f, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x01, 0x11, 0x34, 0x3f, 0x01, 0x07, 0x06, 0x07, + 0x03, 0x23, 0x03, 0x26, 0x2f, 0x01, 0x17, 0x11, 0x23, 0x11, 0x33, + 0x01, 0x16, 0x17, 0x3f, 0x01, 0x13, 0x33, 0x11, 0x03, 0xbc, 0x09, + 0x02, 0x06, 0x1d, 0x12, 0xf7, 0x64, 0xfb, 0x0e, 0x10, 0x11, 0x03, + 0x7f, 0xb5, 0x00, 0xff, 0x09, 0x1c, 0x09, 0x1e, 0xfb, 0xb0, 0x01, + 0xea, 0x02, 0x97, 0x56, 0x5d, 0x1a, 0x1a, 0x78, 0x2e, 0xfd, 0x5c, + 0x02, 0xa4, 0x21, 0x38, 0x38, 0x9e, 0xfd, 0x69, 0x03, 0xe2, 0xfd, + 0x52, 0x18, 0x6a, 0x21, 0x61, 0x02, 0xae, 0xfc, 0x1e, 0x00, 0x01, + 0x00, 0xdd, 0x01, 0xea, 0x03, 0xf0, 0x05, 0xcc, 0x00, 0x0c, 0x00, + 0x35, 0x40, 0x11, 0x06, 0x01, 0x03, 0x03, 0x04, 0x07, 0x00, 0x0a, + 0x0a, 0x0b, 0x04, 0x0b, 0x0d, 0x0e, 0x0b, 0x01, 0x05, 0xb8, 0x01, + 0x2c, 0xb2, 0x07, 0x04, 0x00, 0xb8, 0x01, 0x2e, 0x00, 0x3f, 0x32, + 0x32, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x09, + 0x01, 0x17, 0x11, 0x23, 0x11, 0x33, 0x01, 0x26, 0x35, 0x11, 0x33, + 0x11, 0x03, 0x4a, 0xfe, 0x0d, 0x05, 0x7f, 0xa0, 0x01, 0xf8, 0x06, + 0x81, 0x01, 0xea, 0x03, 0x36, 0xa2, 0xfd, 0x6c, 0x03, 0xe2, 0xfc, + 0xc5, 0x54, 0x5c, 0x02, 0x8b, 0xfc, 0x1e, 0x00, 0x01, 0x00, 0xdd, + 0x01, 0xea, 0x03, 0xf0, 0x05, 0xcc, 0x00, 0x0d, 0x00, 0x35, 0x40, + 0x11, 0x0d, 0x05, 0x02, 0x02, 0x01, 0x0c, 0x06, 0x09, 0x09, 0x08, + 0x01, 0x08, 0x0e, 0x0f, 0x0c, 0x01, 0x06, 0xb8, 0x01, 0x2c, 0xb2, + 0x08, 0x05, 0x00, 0xb8, 0x01, 0x2e, 0x00, 0x3f, 0x32, 0x32, 0x3f, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x11, 0x33, + 0x11, 0x14, 0x07, 0x01, 0x33, 0x11, 0x23, 0x11, 0x34, 0x37, 0x01, + 0xdd, 0x80, 0x06, 0x01, 0xf8, 0xa1, 0x80, 0x05, 0xfe, 0x0e, 0x01, + 0xea, 0x03, 0xe2, 0xfd, 0x75, 0x0e, 0xa2, 0x03, 0x3b, 0xfc, 0x1e, + 0x02, 0x94, 0x5a, 0x48, 0xfc, 0xca, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x87, 0x01, 0xdc, 0x04, 0x45, 0x05, 0xdb, 0x00, 0x0b, 0x00, + 0x17, 0x00, 0x34, 0x40, 0x0a, 0x12, 0x06, 0x0c, 0x00, 0x06, 0x00, + 0x18, 0x19, 0x09, 0x0f, 0x41, 0x0a, 0x01, 0x48, 0x00, 0x59, 0x00, + 0x09, 0x01, 0x2d, 0x00, 0x03, 0x00, 0x15, 0x01, 0x48, 0x00, 0x59, + 0x00, 0x03, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x14, 0x02, 0x23, 0x22, 0x02, 0x35, 0x34, 0x12, 0x33, 0x32, + 0x00, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x04, 0x45, 0xff, 0xe1, 0xdf, 0xff, 0xfe, 0xe2, 0xdf, + 0x00, 0xff, 0x90, 0xb3, 0x9b, 0x9f, 0xb2, 0xb2, 0x9d, 0xa1, 0xaf, + 0x03, 0xe0, 0xee, 0xfe, 0xea, 0x01, 0x12, 0xf2, 0xef, 0x01, 0x0c, + 0xfe, 0xf3, 0xee, 0xba, 0xcd, 0xcc, 0xbb, 0xb9, 0xd8, 0xd0, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x01, 0x13, 0x01, 0xca, 0x03, 0xba, 0x05, + 0xa1, 0x00, 0x19, 0x00, 0x25, 0x00, 0x4c, 0x40, 0x17, 0x1d, 0x10, + 0x17, 0x16, 0x03, 0x04, 0x23, 0x0a, 0x0a, 0x04, 0x07, 0x13, 0x16, + 0x10, 0x06, 0x26, 0x27, 0x13, 0x07, 0x00, 0x1a, 0x00, 0x1a, 0xb8, + 0x01, 0x49, 0xb6, 0x59, 0x00, 0x00, 0x20, 0x04, 0x0d, 0x20, 0xb8, + 0x01, 0x49, 0xb3, 0x59, 0x0d, 0x16, 0x04, 0x00, 0x2f, 0x33, 0x2f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x36, 0x35, 0x33, + 0x14, 0x06, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x36, 0x37, 0x2e, 0x01, 0x35, 0x33, 0x14, 0x16, 0x17, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x02, 0x67, 0x53, 0x62, 0x81, 0x53, 0x47, 0x56, 0x61, 0xa6, 0xaf, + 0xad, 0xa5, 0x60, 0x57, 0x48, 0x52, 0x80, 0x5e, 0x59, 0x63, 0x73, + 0x65, 0x71, 0x71, 0x63, 0x72, 0x04, 0xb1, 0x80, 0x70, 0x6c, 0xa2, + 0x1b, 0x1b, 0xa9, 0x79, 0xbd, 0xb4, 0xb5, 0xbc, 0x7b, 0xa8, 0x1d, + 0x17, 0x9d, 0x72, 0x76, 0x7a, 0x63, 0x94, 0x78, 0x93, 0x85, 0x88, + 0x90, 0x78, 0x94, 0x00, 0x02, 0x01, 0x03, 0x01, 0xea, 0x03, 0xf1, + 0x05, 0xcc, 0x00, 0x0a, 0x00, 0x11, 0x00, 0x3e, 0x40, 0x0c, 0x0f, + 0x05, 0x05, 0x06, 0x0b, 0x00, 0x06, 0x00, 0x12, 0x13, 0x0f, 0x04, + 0xb8, 0x01, 0x48, 0xb6, 0x59, 0x0f, 0x0f, 0x06, 0x07, 0x07, 0x0e, + 0xbd, 0x01, 0x48, 0x00, 0x59, 0x00, 0x07, 0x01, 0x2c, 0x00, 0x06, + 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x21, 0x11, 0x23, + 0x11, 0x21, 0x32, 0x16, 0x07, 0x34, 0x2b, 0x01, 0x11, 0x21, 0x32, + 0x03, 0xf1, 0xb4, 0x9a, 0xfe, 0xed, 0x8d, 0x01, 0x98, 0xa6, 0xb0, + 0x8d, 0xd9, 0xfb, 0x01, 0x01, 0xd3, 0x04, 0x9f, 0x8d, 0xa7, 0xfe, + 0x7f, 0x03, 0xe2, 0xa1, 0x8d, 0xbc, 0xfe, 0x81, 0x00, 0x00, 0x00, + 0x02, 0x00, 0xd8, 0x01, 0xea, 0x04, 0x1d, 0x05, 0xcc, 0x00, 0x0d, + 0x00, 0x15, 0x00, 0x54, 0x40, 0x15, 0x0c, 0x01, 0x01, 0x09, 0x12, + 0x03, 0x03, 0x04, 0x00, 0x0d, 0x0d, 0x0e, 0x09, 0x04, 0x09, 0x16, + 0x17, 0x0c, 0x02, 0x12, 0x02, 0xb8, 0x01, 0x48, 0xb6, 0x59, 0x12, + 0x12, 0x04, 0x05, 0x05, 0x11, 0xbe, 0x01, 0x48, 0x00, 0x59, 0x00, + 0x05, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x04, 0x01, 0x2e, 0x00, 0x3f, + 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x03, 0x21, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x07, 0x01, 0x03, 0x34, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, + 0x03, 0x7c, 0xf7, 0xfe, 0xe0, 0x8d, 0x01, 0xc7, 0xa6, 0xb0, 0x7b, + 0x6c, 0x01, 0x0f, 0xb6, 0xd5, 0xfe, 0xd3, 0x01, 0x33, 0x5f, 0x70, + 0x01, 0xea, 0x01, 0x9a, 0xfe, 0x66, 0x03, 0xe2, 0x98, 0x86, 0x6d, + 0x97, 0x15, 0xfe, 0x55, 0x02, 0xc3, 0xad, 0xfe, 0x9a, 0x5f, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xd8, 0x01, 0xea, 0x03, 0xf4, 0x05, + 0xcc, 0x00, 0x07, 0x00, 0x2d, 0x40, 0x0c, 0x07, 0x01, 0x01, 0x04, + 0x02, 0x02, 0x08, 0x09, 0x00, 0x04, 0x05, 0x04, 0xbd, 0x01, 0x48, + 0x00, 0x59, 0x00, 0x05, 0x01, 0x2c, 0x00, 0x02, 0x01, 0x2e, 0x00, + 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x21, + 0x35, 0x21, 0x15, 0x02, 0xac, 0x8c, 0xfe, 0xb8, 0x03, 0x1c, 0x05, + 0x58, 0xfc, 0x92, 0x03, 0x6e, 0x74, 0x74, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xd7, 0x01, 0xdc, 0x03, 0xf6, 0x05, 0xcc, 0x00, 0x11, 0x00, + 0x2d, 0x40, 0x0a, 0x0d, 0x0e, 0x05, 0x04, 0x0e, 0x04, 0x13, 0x12, + 0x0d, 0x04, 0xbe, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x09, 0x01, 0x48, + 0x00, 0x59, 0x00, 0x00, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x02, 0x61, + 0xb6, 0xd4, 0x8d, 0x81, 0x7c, 0x80, 0x88, 0x8d, 0xd8, 0x01, 0xdc, + 0xc9, 0xaf, 0x02, 0x78, 0xfd, 0x93, 0x85, 0x8b, 0x91, 0x88, 0x02, + 0x64, 0xfd, 0x95, 0xb4, 0xd1, 0x00, 0x00, 0x00, 0x01, 0xff, 0xeb, + 0x01, 0xea, 0x04, 0xe2, 0x05, 0xcc, 0x00, 0x16, 0x00, 0x49, 0x40, + 0x1d, 0x0a, 0x09, 0x0d, 0x11, 0x10, 0x05, 0x01, 0x00, 0x14, 0x14, + 0x05, 0x0d, 0x03, 0x0b, 0x15, 0x16, 0x16, 0x18, 0x0c, 0x0b, 0x0b, + 0x17, 0x14, 0x0d, 0x05, 0x10, 0x15, 0x03, 0x0b, 0xb8, 0x01, 0x2c, + 0xb2, 0x0d, 0x01, 0x0a, 0xb8, 0x01, 0x2e, 0x00, 0x3f, 0x33, 0x33, + 0x3f, 0x17, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x23, 0x03, 0x26, 0x2f, + 0x01, 0x07, 0x06, 0x07, 0x03, 0x23, 0x01, 0x33, 0x13, 0x3f, 0x01, + 0x13, 0x33, 0x13, 0x16, 0x17, 0x13, 0x33, 0x03, 0xdb, 0xa4, 0xa7, + 0x0c, 0x0e, 0x0f, 0x05, 0x10, 0x15, 0xa7, 0xa4, 0xfe, 0xf9, 0x94, + 0xca, 0x18, 0x1d, 0xa6, 0x86, 0xa7, 0x12, 0x24, 0xc8, 0x93, 0x01, + 0xea, 0x02, 0x76, 0x2c, 0x52, 0x54, 0x1d, 0x63, 0x52, 0xfd, 0x8a, + 0x03, 0xe2, 0xfc, 0xb1, 0x71, 0x75, 0x02, 0x69, 0xfd, 0x97, 0x44, + 0xa0, 0x03, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x14, 0x01, + 0xdc, 0x03, 0xe0, 0x04, 0xf3, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x6c, + 0x40, 0x11, 0x2d, 0x03, 0x0e, 0x0f, 0x20, 0x08, 0x28, 0x28, 0x15, + 0x15, 0x0f, 0x03, 0x03, 0x30, 0x31, 0x06, 0x2a, 0xb8, 0x01, 0x49, + 0x40, 0x13, 0x59, 0x06, 0x06, 0x00, 0x11, 0x0f, 0x0e, 0x1f, 0x0e, + 0x2f, 0x0e, 0x03, 0x0f, 0x03, 0x0e, 0x0e, 0x11, 0x11, 0x0b, 0xbb, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x11, 0x01, 0x31, 0xb3, 0x18, 0x24, + 0x00, 0x24, 0xb8, 0x01, 0x49, 0xb3, 0x59, 0x20, 0x1d, 0x00, 0xb8, + 0x01, 0x2e, 0x00, 0x3f, 0x32, 0x32, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, + 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x3f, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x36, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, 0x0e, + 0x01, 0x27, 0x32, 0x3e, 0x01, 0x3d, 0x01, 0x07, 0x0e, 0x01, 0x15, + 0x14, 0x16, 0x01, 0xf3, 0x70, 0x6f, 0x9a, 0xa4, 0xa5, 0x4d, 0x51, + 0x51, 0x4c, 0x07, 0x80, 0x20, 0x01, 0x07, 0x8a, 0x8d, 0x1c, 0x28, + 0x13, 0x16, 0x33, 0x2c, 0x46, 0x3b, 0x05, 0x04, 0x2f, 0x79, 0x40, + 0x42, 0x69, 0x3d, 0x86, 0x7d, 0x62, 0x41, 0x01, 0xdc, 0x79, 0x6a, + 0x78, 0x7e, 0x03, 0x03, 0x2a, 0x5f, 0x4e, 0x3a, 0x3f, 0x0c, 0xce, + 0x84, 0x7d, 0xfe, 0xb8, 0x39, 0x39, 0x05, 0x4f, 0x0b, 0x4c, 0x4d, + 0x56, 0x4a, 0x5f, 0x40, 0x6d, 0x3c, 0x3e, 0x02, 0x03, 0x4f, 0x51, + 0x3f, 0x43, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xec, 0x01, 0xdc, + 0x03, 0xb8, 0x04, 0xf3, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x62, 0x40, + 0x11, 0x29, 0x20, 0x08, 0x08, 0x14, 0x0e, 0x0f, 0x2d, 0x03, 0x03, + 0x0f, 0x14, 0x03, 0x30, 0x31, 0x29, 0x07, 0xb8, 0x01, 0x49, 0x40, + 0x0a, 0x59, 0x29, 0x29, 0x00, 0x11, 0x0e, 0x0e, 0x11, 0x11, 0x0b, + 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x11, 0x01, 0x2e, 0xb3, 0x18, + 0x24, 0x00, 0x24, 0xb8, 0x01, 0x49, 0xb4, 0x59, 0x20, 0x1d, 0x1d, + 0x00, 0xb8, 0x01, 0x31, 0x00, 0x3f, 0x32, 0x2f, 0x32, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, + 0x12, 0x39, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x0f, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x37, 0x17, 0x06, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x3e, + 0x01, 0x17, 0x22, 0x0e, 0x01, 0x1d, 0x01, 0x37, 0x3e, 0x01, 0x35, + 0x34, 0x26, 0x02, 0xd9, 0x70, 0x6f, 0x9a, 0xa4, 0xa5, 0x4d, 0x51, + 0x4e, 0x4c, 0x0a, 0x80, 0x20, 0xfe, 0xf9, 0x8a, 0x8d, 0x1c, 0x28, + 0x13, 0x16, 0x33, 0x2c, 0x46, 0x3b, 0x05, 0x04, 0x2a, 0x7d, 0x41, + 0x44, 0x69, 0x3b, 0x86, 0x7d, 0x62, 0x41, 0x04, 0xf3, 0x79, 0x6a, + 0x78, 0x7e, 0x03, 0x03, 0x2a, 0x5f, 0x4e, 0x35, 0x44, 0x0c, 0xce, + 0x84, 0x7d, 0x01, 0x48, 0x39, 0x39, 0x05, 0x4f, 0x0b, 0x4c, 0x4d, + 0x53, 0x4d, 0x5f, 0x41, 0x6e, 0x3a, 0x3e, 0x02, 0x03, 0x4f, 0x51, + 0x3f, 0x43, 0x00, 0x00, 0x02, 0x01, 0x2d, 0x01, 0xdc, 0x03, 0x9f, + 0x04, 0xf2, 0x00, 0x16, 0x00, 0x22, 0x00, 0x4a, 0x40, 0x0c, 0x17, + 0x06, 0x0b, 0x00, 0x1d, 0x1d, 0x11, 0x06, 0x11, 0x23, 0x24, 0x14, + 0xbd, 0x01, 0x2e, 0x00, 0x0e, 0x01, 0x30, 0x00, 0x08, 0x00, 0x20, + 0x01, 0x49, 0xb2, 0x59, 0x0b, 0x08, 0xbb, 0x01, 0x31, 0x00, 0x03, + 0x00, 0x1a, 0x01, 0x49, 0xb2, 0x59, 0x00, 0x03, 0xb8, 0x01, 0x2f, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x35, 0x10, 0x21, 0x32, 0x16, 0x17, 0x33, 0x34, 0x37, 0x33, 0x07, + 0x11, 0x14, 0x17, 0x23, 0x26, 0x35, 0x01, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x03, 0x21, 0x23, 0x6f, + 0x54, 0x8c, 0x82, 0x01, 0x0e, 0x54, 0x70, 0x23, 0x01, 0x07, 0x75, + 0x04, 0x04, 0x75, 0x06, 0xfe, 0x89, 0x51, 0x5d, 0x68, 0x5e, 0x5e, + 0x67, 0x5c, 0x53, 0x02, 0x65, 0x4a, 0x3f, 0xc2, 0xc6, 0x01, 0x8e, + 0x41, 0x45, 0x33, 0x46, 0x88, 0xfe, 0x2a, 0x65, 0x38, 0x2a, 0x51, + 0x01, 0x03, 0xa1, 0x89, 0x96, 0x9d, 0x97, 0x8c, 0x8c, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x30, 0x01, 0xdc, 0x04, 0x9c, 0x04, 0xf3, 0x00, + 0x28, 0x00, 0x34, 0x00, 0x3b, 0x00, 0x9c, 0x40, 0x1c, 0x35, 0x28, + 0x07, 0x08, 0x29, 0x17, 0x17, 0x01, 0x00, 0x3b, 0x1e, 0x1f, 0x2d, + 0x13, 0x13, 0x1f, 0x0d, 0x23, 0x3b, 0x08, 0x28, 0x07, 0x3c, 0x3d, + 0x1b, 0x38, 0x25, 0x38, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x29, 0x17, + 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x28, 0x35, 0xb8, 0x01, 0x49, 0x40, + 0x17, 0x59, 0x28, 0x28, 0x1f, 0x29, 0x2f, 0x29, 0x3f, 0x29, 0x03, + 0x29, 0x29, 0x0b, 0x21, 0x25, 0x00, 0x1e, 0x01, 0x0e, 0x03, 0x1e, + 0x1e, 0x25, 0xb8, 0x01, 0x2f, 0xb3, 0x30, 0x04, 0x0b, 0x04, 0xb8, + 0x01, 0x49, 0x40, 0x0e, 0x59, 0x10, 0x0d, 0x0b, 0x6f, 0x07, 0x7f, + 0x07, 0x8f, 0x07, 0x03, 0x07, 0x07, 0x0b, 0xb8, 0x01, 0x31, 0x00, + 0x3f, 0x33, 0x2f, 0x5d, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x33, 0x12, 0x39, + 0x2f, 0x5d, 0x33, 0x2f, 0x2b, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, + 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, + 0x17, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x0f, 0x01, + 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x21, 0x22, + 0x27, 0x06, 0x23, 0x20, 0x11, 0x35, 0x05, 0x37, 0x3e, 0x01, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x05, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x02, 0x37, 0x02, 0x67, 0x5e, 0x50, 0x60, 0x11, + 0x6b, 0x25, 0x98, 0x6f, 0xd9, 0x47, 0x37, 0x8e, 0x63, 0x72, 0x72, + 0x9c, 0xab, 0xa3, 0x4c, 0x52, 0x52, 0x4f, 0x0a, 0x81, 0x20, 0xfe, + 0xf2, 0xab, 0x43, 0x51, 0x9a, 0xfe, 0xbb, 0x02, 0x82, 0x85, 0x80, + 0x67, 0x44, 0x3f, 0x46, 0x6a, 0x39, 0xfd, 0xfc, 0x0b, 0x61, 0x5d, + 0x56, 0x63, 0x05, 0x03, 0x82, 0x0c, 0x82, 0x84, 0x42, 0x33, 0x20, + 0x5f, 0x55, 0xb5, 0x63, 0x52, 0x79, 0x6a, 0x78, 0x7e, 0x03, 0x03, + 0x2a, 0x5f, 0x4e, 0x36, 0x43, 0x0c, 0xce, 0x62, 0x62, 0x01, 0x95, + 0x11, 0x15, 0x02, 0x03, 0x52, 0x4e, 0x3d, 0x45, 0x41, 0x6c, 0x3c, + 0x8a, 0x79, 0x6e, 0x79, 0x6e, 0x00, 0x00, 0x02, 0x01, 0x2d, 0x01, + 0xdc, 0x03, 0x9f, 0x06, 0x00, 0x00, 0x18, 0x00, 0x24, 0x00, 0x47, + 0x40, 0x0d, 0x1f, 0x05, 0x10, 0x10, 0x0f, 0x19, 0x00, 0x0f, 0x00, + 0x25, 0x26, 0x16, 0x1c, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x12, 0x16, + 0xbf, 0x01, 0x31, 0x00, 0x0f, 0x01, 0x32, 0x00, 0x0c, 0x01, 0x2e, + 0x00, 0x02, 0x00, 0x22, 0x01, 0x49, 0xb2, 0x59, 0x05, 0x02, 0xb8, + 0x01, 0x2f, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, + 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x10, 0x21, 0x22, 0x26, 0x27, + 0x23, 0x14, 0x0e, 0x02, 0x15, 0x23, 0x36, 0x35, 0x11, 0x33, 0x11, + 0x07, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x9f, 0xfe, + 0xf2, 0x54, 0x6f, 0x23, 0x01, 0x02, 0x02, 0x03, 0x76, 0x04, 0x7a, + 0x03, 0x03, 0x23, 0x6f, 0x54, 0x8c, 0x82, 0x80, 0x51, 0x5d, 0x68, + 0x5e, 0x5e, 0x67, 0x5c, 0x53, 0x03, 0x6b, 0xfe, 0x71, 0x3f, 0x45, + 0x12, 0x27, 0x22, 0x18, 0x03, 0x38, 0x65, 0x03, 0x79, 0xfe, 0xd6, + 0x6c, 0x4a, 0x3f, 0xc2, 0xca, 0x9d, 0x8d, 0x93, 0x9f, 0x97, 0x8e, + 0x8c, 0x00, 0x00, 0x00, 0x02, 0x01, 0x2d, 0x01, 0xdc, 0x03, 0x9f, + 0x06, 0x00, 0x00, 0x16, 0x00, 0x22, 0x00, 0x4a, 0x40, 0x0c, 0x17, + 0x06, 0x1d, 0x00, 0x0f, 0x0f, 0x10, 0x06, 0x10, 0x23, 0x24, 0x14, + 0xbd, 0x01, 0x2e, 0x00, 0x0f, 0x01, 0x32, 0x00, 0x08, 0x00, 0x20, + 0x01, 0x49, 0xb2, 0x59, 0x0b, 0x08, 0xbb, 0x01, 0x31, 0x00, 0x03, + 0x00, 0x1a, 0x01, 0x49, 0xb2, 0x59, 0x00, 0x03, 0xb8, 0x01, 0x2f, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x35, 0x10, 0x21, 0x32, 0x16, 0x17, 0x33, 0x35, 0x27, 0x11, 0x33, + 0x11, 0x14, 0x17, 0x23, 0x26, 0x35, 0x01, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x03, 0x21, 0x23, 0x6f, + 0x54, 0x8c, 0x82, 0x01, 0x0e, 0x54, 0x6f, 0x23, 0x01, 0x01, 0x7a, + 0x04, 0x75, 0x06, 0xfe, 0x89, 0x51, 0x5d, 0x68, 0x5e, 0x5e, 0x67, + 0x5c, 0x53, 0x02, 0x65, 0x4a, 0x3f, 0xc2, 0xc6, 0x01, 0x8f, 0x40, + 0x45, 0x17, 0x3f, 0x01, 0x3c, 0xfc, 0x87, 0x65, 0x38, 0x2a, 0x51, + 0x01, 0x03, 0xa1, 0x89, 0x96, 0x9d, 0x97, 0x8d, 0x8c, 0x00, 0x00, + 0x00, 0x02, 0x01, 0x1f, 0x01, 0xdc, 0x03, 0xad, 0x04, 0xf3, 0x00, + 0x13, 0x00, 0x1a, 0x00, 0x5c, 0x40, 0x10, 0x1a, 0x00, 0x00, 0x0d, + 0x06, 0x07, 0x14, 0x13, 0x13, 0x07, 0x0d, 0x03, 0x1b, 0x1c, 0x1a, + 0x00, 0xb8, 0x01, 0x49, 0x40, 0x0c, 0x59, 0x1a, 0x40, 0x09, 0x0c, + 0x48, 0x1a, 0x1a, 0x0a, 0x10, 0x10, 0x17, 0xbb, 0x01, 0x49, 0x00, + 0x59, 0x00, 0x10, 0x01, 0x31, 0xb4, 0x06, 0x06, 0x0a, 0x0a, 0x03, + 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x0a, 0x01, 0x2f, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x36, 0x33, 0x20, 0x11, 0x15, 0x27, 0x2e, 0x01, 0x23, + 0x22, 0x06, 0x07, 0x01, 0xa0, 0x69, 0x64, 0x50, 0x60, 0x11, 0x6b, + 0x1f, 0x9c, 0x71, 0xa4, 0xaa, 0xaa, 0xa0, 0x01, 0x44, 0x7e, 0x0b, + 0x61, 0x5d, 0x59, 0x67, 0x05, 0x03, 0x4d, 0x84, 0x8e, 0x42, 0x33, + 0x20, 0x5b, 0x59, 0xc8, 0xc8, 0xbd, 0xca, 0xfe, 0x6b, 0x11, 0x61, + 0x79, 0x6e, 0x79, 0x6e, 0x00, 0x02, 0x01, 0x1f, 0x01, 0xdc, 0x03, + 0xad, 0x04, 0xf3, 0x00, 0x12, 0x00, 0x19, 0x00, 0x6f, 0x40, 0x10, + 0x13, 0x12, 0x06, 0x07, 0x00, 0x19, 0x19, 0x0c, 0x0c, 0x07, 0x12, + 0x03, 0x1a, 0x1b, 0x12, 0x13, 0xb8, 0x01, 0x49, 0x40, 0x10, 0x59, + 0x0f, 0x12, 0x1f, 0x12, 0x2f, 0x12, 0x03, 0x0f, 0x03, 0x12, 0x12, + 0x0f, 0x09, 0x0f, 0x16, 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x0f, + 0x01, 0x2f, 0x40, 0x0e, 0x0f, 0x06, 0x1f, 0x06, 0x2f, 0x06, 0x03, + 0x0f, 0x03, 0x06, 0x06, 0x09, 0x09, 0x03, 0xbb, 0x01, 0x49, 0x00, + 0x59, 0x00, 0x09, 0x01, 0x31, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x20, 0x11, 0x35, 0x17, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x03, 0x2c, 0x69, 0x64, 0x50, 0x60, 0x11, 0x6b, + 0x40, 0xec, 0xa4, 0xaa, 0xaa, 0xa0, 0xfe, 0xbc, 0x7e, 0x0b, 0x61, + 0x5d, 0x59, 0x67, 0x05, 0x03, 0x82, 0x84, 0x8e, 0x42, 0x33, 0x20, + 0xb4, 0xc8, 0xc8, 0xbd, 0xca, 0x01, 0x95, 0x11, 0x61, 0x79, 0x6e, + 0x79, 0x6e, 0x00, 0x01, 0x01, 0x52, 0x01, 0xdc, 0x03, 0x7b, 0x04, + 0xf3, 0x00, 0x22, 0x00, 0x73, 0x40, 0x16, 0x1a, 0x03, 0x15, 0x0a, + 0x10, 0x0f, 0x1f, 0x20, 0x20, 0x0f, 0x17, 0x06, 0x0a, 0x03, 0x06, + 0x23, 0x24, 0x06, 0x17, 0x18, 0x17, 0x18, 0xb8, 0x01, 0x49, 0x40, + 0x0c, 0x59, 0x17, 0x40, 0x09, 0x0c, 0x48, 0x17, 0x17, 0x00, 0x0d, + 0x0d, 0x12, 0xb8, 0x01, 0x49, 0xb3, 0x59, 0x10, 0x10, 0x0d, 0xb8, + 0x01, 0x31, 0x40, 0x0a, 0x00, 0x1f, 0x01, 0x0f, 0x03, 0x1f, 0x1f, + 0x00, 0x00, 0x1d, 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x00, 0x01, + 0x2f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, + 0x5d, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x2b, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x33, 0x15, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x0e, + 0x01, 0x02, 0x65, 0x81, 0x92, 0x66, 0x55, 0x48, 0x60, 0x8d, 0x70, + 0xe3, 0x1e, 0x6e, 0x11, 0x81, 0x3f, 0x43, 0xd4, 0xe0, 0x4d, 0x40, + 0x89, 0x24, 0x6c, 0x1e, 0x85, 0x01, 0xdc, 0x7a, 0x6a, 0x4b, 0x67, + 0x09, 0x02, 0x07, 0x60, 0x46, 0x5a, 0x6f, 0xb6, 0x0e, 0x65, 0x3c, + 0x34, 0x7a, 0x60, 0x8d, 0x40, 0x43, 0x74, 0x1f, 0x5b, 0x58, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x52, 0x01, 0xdc, 0x03, 0x7b, 0x04, + 0xf3, 0x00, 0x23, 0x00, 0x6e, 0x40, 0x16, 0x04, 0x03, 0x14, 0x15, + 0x0e, 0x1a, 0x09, 0x21, 0x21, 0x1a, 0x1e, 0x0c, 0x15, 0x03, 0x06, + 0x24, 0x25, 0x1d, 0x0c, 0x0b, 0x0c, 0x0b, 0xb8, 0x01, 0x49, 0x40, + 0x0f, 0x59, 0x0c, 0x40, 0x09, 0x0c, 0x48, 0x0c, 0x0c, 0x00, 0x17, + 0x14, 0x14, 0x17, 0x17, 0x11, 0xbe, 0x01, 0x49, 0x00, 0x59, 0x00, + 0x17, 0x01, 0x31, 0x00, 0x00, 0x00, 0x06, 0x01, 0x49, 0xb6, 0x59, + 0x60, 0x04, 0x01, 0x04, 0x04, 0x00, 0xb8, 0x01, 0x2f, 0x00, 0x3f, + 0x32, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x11, 0x12, 0x39, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x27, 0x37, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x35, 0x32, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x07, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x02, 0x68, 0x73, + 0x85, 0x1e, 0x6c, 0x24, 0x89, 0x40, 0x4d, 0xe0, 0xd4, 0x43, 0x3f, + 0x40, 0x4b, 0x07, 0x6e, 0x1e, 0xe3, 0x71, 0x8c, 0x62, 0x46, 0x55, + 0x66, 0x93, 0x01, 0xdc, 0x58, 0x5b, 0x1f, 0x74, 0x43, 0x40, 0x8d, + 0x60, 0x7a, 0x34, 0x3c, 0x35, 0x30, 0x0e, 0xb6, 0x6f, 0x5a, 0x47, + 0x5f, 0x07, 0x02, 0x09, 0x68, 0x4a, 0x6a, 0x7a, 0x00, 0x00, 0x02, + 0x01, 0x2d, 0x00, 0xbe, 0x03, 0x9f, 0x04, 0xf1, 0x00, 0x1f, 0x00, + 0x2b, 0x00, 0x66, 0x40, 0x10, 0x26, 0x0f, 0x04, 0x03, 0x20, 0x15, + 0x08, 0x08, 0x1d, 0x1d, 0x03, 0x0f, 0x03, 0x2c, 0x2d, 0x19, 0xbb, + 0x01, 0x30, 0x00, 0x12, 0x00, 0x23, 0x01, 0x49, 0xb2, 0x59, 0x15, + 0x12, 0xbb, 0x01, 0x31, 0x00, 0x0c, 0x00, 0x29, 0x01, 0x49, 0xb2, + 0x59, 0x09, 0x0c, 0xbb, 0x01, 0x2e, 0x00, 0x00, 0x00, 0x06, 0x01, + 0x49, 0x40, 0x09, 0x59, 0x60, 0x04, 0x70, 0x04, 0x02, 0x04, 0x04, + 0x00, 0xb8, 0x01, 0x34, 0x00, 0x3f, 0x32, 0x2f, 0x5d, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x22, 0x26, 0x27, 0x37, + 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x33, 0x34, 0x36, 0x37, 0x33, + 0x0f, 0x01, 0x11, 0x14, 0x06, 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 0x66, 0x7e, 0x8a, 0x13, + 0x7b, 0x1a, 0x8a, 0xb8, 0x02, 0x47, 0xa6, 0x8c, 0x7a, 0x8a, 0x8a, + 0x4e, 0x73, 0x20, 0x02, 0x07, 0x02, 0x72, 0x01, 0x03, 0x97, 0x1e, + 0x6b, 0x58, 0x5e, 0x56, 0x52, 0x60, 0x59, 0x6c, 0xbe, 0x68, 0x55, + 0x12, 0x6e, 0xde, 0x7b, 0x94, 0xc3, 0xbf, 0xcc, 0xbf, 0x4a, 0x45, + 0x24, 0x5c, 0x03, 0x15, 0x89, 0xfd, 0xb9, 0xa1, 0xa1, 0x02, 0xa9, + 0x8c, 0x9f, 0x8c, 0x9f, 0x9f, 0x86, 0x9d, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x2a, 0x00, 0xcf, 0x02, 0xa3, 0x04, 0xe5, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x2d, 0x40, 0x09, 0x05, 0x01, 0x01, 0x06, 0x02, + 0x02, 0x08, 0x09, 0x07, 0xbb, 0x01, 0x30, 0x00, 0x02, 0x00, 0x03, + 0x01, 0x48, 0xb2, 0x5b, 0x02, 0x06, 0xb8, 0x01, 0x2e, 0x00, 0x3f, + 0xc6, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x23, 0x35, 0x13, 0x11, + 0x23, 0x11, 0x02, 0xa3, 0x79, 0x79, 0x79, 0x01, 0x48, 0x79, 0x79, + 0x03, 0x9d, 0xfd, 0x05, 0x02, 0xfb, 0x00, 0x01, 0x01, 0x38, 0x01, + 0xea, 0x03, 0x95, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x41, 0x40, 0x17, + 0x07, 0x03, 0x03, 0x0a, 0x01, 0x08, 0x09, 0x09, 0x00, 0x01, 0x04, + 0x0b, 0x04, 0x0b, 0x0c, 0x0d, 0x0a, 0x07, 0x01, 0x02, 0x04, 0x04, + 0x08, 0xbd, 0x01, 0x30, 0x00, 0x05, 0x01, 0x32, 0x00, 0x00, 0x00, + 0x04, 0x01, 0x2e, 0x00, 0x3f, 0x33, 0x3f, 0x3f, 0x12, 0x17, 0x39, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, 0x03, 0x07, + 0x11, 0x23, 0x11, 0x33, 0x11, 0x01, 0x33, 0x09, 0x01, 0x03, 0x05, + 0xf9, 0x5a, 0x7a, 0x7a, 0x01, 0x43, 0x90, 0xfe, 0xd5, 0x01, 0x3b, + 0x01, 0xea, 0x01, 0x5c, 0x4d, 0xfe, 0xf1, 0x04, 0x16, 0xfd, 0x73, + 0x01, 0x72, 0xfe, 0xb8, 0xfe, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x7e, 0x01, 0xea, 0x04, 0x4e, 0x04, 0xf3, 0x00, 0x25, 0x00, + 0x47, 0x40, 0x15, 0x0e, 0x08, 0x08, 0x09, 0x25, 0x00, 0x1d, 0x1c, + 0x1c, 0x00, 0x09, 0x03, 0x26, 0x27, 0x15, 0x0e, 0x18, 0x0e, 0x12, + 0x12, 0x04, 0xbd, 0x01, 0x49, 0x00, 0x59, 0x00, 0x12, 0x01, 0x31, + 0x00, 0x0b, 0x01, 0x30, 0xb2, 0x1d, 0x00, 0x09, 0xb8, 0x01, 0x2e, + 0x00, 0x3f, 0x33, 0x33, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x27, 0x33, 0x17, 0x15, 0x33, + 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, + 0x02, 0x2b, 0x38, 0x4e, 0x4e, 0x5c, 0x7a, 0x03, 0x73, 0x05, 0x02, + 0x26, 0x65, 0x4c, 0x54, 0x61, 0x14, 0x02, 0x43, 0x9c, 0x70, 0x65, + 0x79, 0x38, 0x4f, 0x4e, 0x5b, 0x01, 0xea, 0x01, 0xe4, 0x6b, 0x58, + 0x7a, 0x73, 0xfe, 0x46, 0x02, 0x58, 0xa3, 0x60, 0x23, 0x4e, 0x43, + 0x46, 0x4b, 0x91, 0x7f, 0x8e, 0xfe, 0x04, 0x01, 0xe4, 0x6b, 0x58, + 0x77, 0x76, 0xfe, 0x46, 0x00, 0x00, 0x00, 0x01, 0x01, 0x3f, 0x00, + 0xbe, 0x03, 0x8e, 0x04, 0xf3, 0x00, 0x1e, 0x00, 0x49, 0x40, 0x10, + 0x17, 0x11, 0x11, 0x12, 0x09, 0x00, 0x00, 0x04, 0x12, 0x03, 0x1f, + 0x20, 0x17, 0x1b, 0x1b, 0x0d, 0x41, 0x0e, 0x01, 0x49, 0x00, 0x59, + 0x00, 0x1b, 0x01, 0x31, 0x00, 0x14, 0x01, 0x30, 0x00, 0x12, 0x01, + 0x2e, 0x00, 0x02, 0x00, 0x07, 0x01, 0x48, 0x00, 0x59, 0x00, 0x02, + 0x01, 0x34, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x23, 0x22, 0x27, 0x35, + 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x11, 0x23, 0x11, 0x27, 0x33, 0x17, 0x15, 0x33, 0x3e, 0x01, 0x33, + 0x32, 0x16, 0x15, 0x03, 0x8e, 0xbf, 0x29, 0x2a, 0x1b, 0x2d, 0x50, + 0x42, 0x57, 0x57, 0x67, 0x7b, 0x03, 0x73, 0x05, 0x02, 0x2c, 0x6d, + 0x53, 0x7b, 0x6e, 0x01, 0x8f, 0xd1, 0x0a, 0x74, 0x0b, 0x68, 0x02, + 0x35, 0x6c, 0x57, 0x7a, 0x73, 0xfe, 0x46, 0x02, 0x58, 0xa3, 0x60, + 0x23, 0x50, 0x41, 0x7f, 0x8e, 0x00, 0x02, 0x01, 0x1e, 0x01, 0xdc, + 0x03, 0xaf, 0x04, 0xf3, 0x00, 0x09, 0x00, 0x15, 0x00, 0x34, 0x40, + 0x0a, 0x10, 0x05, 0x0a, 0x00, 0x05, 0x00, 0x16, 0x17, 0x07, 0x0d, + 0x41, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, 0x07, 0x01, 0x31, 0x00, + 0x02, 0x00, 0x13, 0x01, 0x49, 0x00, 0x59, 0x00, 0x02, 0x01, 0x2f, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x21, 0x22, + 0x26, 0x35, 0x10, 0x21, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0xaf, 0xfe, 0xb4, + 0x9a, 0xab, 0x01, 0x4a, 0xac, 0x9b, 0x80, 0x5b, 0x6a, 0x6c, 0x60, + 0x5e, 0x66, 0x6e, 0x5f, 0x03, 0x68, 0xfe, 0x74, 0xc3, 0xc9, 0x01, + 0x8b, 0xc5, 0xc6, 0x9e, 0x8f, 0x92, 0x9b, 0x96, 0x98, 0x93, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x3a, 0x01, 0xdc, 0x03, 0x93, 0x04, 0xf3, + 0x00, 0x17, 0x00, 0x43, 0x40, 0x0d, 0x05, 0x06, 0x06, 0x13, 0x12, + 0x00, 0x0c, 0x12, 0x0c, 0x18, 0x19, 0x0f, 0x16, 0xb8, 0x01, 0x49, + 0xb3, 0x59, 0x13, 0x13, 0x0f, 0xb8, 0x01, 0x2f, 0xb4, 0x05, 0x05, + 0x09, 0x09, 0x03, 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x09, 0x01, + 0x31, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x33, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x22, 0x07, + 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x03, 0x13, 0x57, 0x62, + 0x88, 0x16, 0x7e, 0x15, 0x96, 0x6f, 0x99, 0xa2, 0xa3, 0x9a, 0x75, + 0x99, 0x0e, 0x7b, 0x0b, 0x58, 0x42, 0xb9, 0x03, 0x6b, 0x9d, 0x88, + 0x8b, 0x0a, 0x6e, 0x76, 0xcc, 0xbf, 0xc1, 0xcb, 0x83, 0x6e, 0x08, + 0x4c, 0x49, 0x00, 0x01, 0x01, 0x1e, 0x03, 0x68, 0x03, 0xaf, 0x04, + 0xf3, 0x00, 0x0c, 0x00, 0x2b, 0x40, 0x0d, 0x06, 0x07, 0x00, 0x0c, + 0x07, 0x0c, 0x0d, 0x0e, 0x00, 0x07, 0x09, 0x09, 0x03, 0xbb, 0x01, + 0x49, 0x00, 0x59, 0x00, 0x09, 0x01, 0x31, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x10, 0xc4, 0x32, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x23, 0x10, 0x21, 0x32, 0x16, 0x15, 0x03, 0x2f, 0x5b, 0x6a, 0x6c, + 0x60, 0x80, 0x01, 0x4a, 0xac, 0x9b, 0x03, 0x68, 0x9e, 0x8f, 0x92, + 0x9b, 0x01, 0x8b, 0xc5, 0xc6, 0x00, 0x00, 0x01, 0x01, 0x1e, 0x01, + 0xdc, 0x03, 0xaf, 0x03, 0x68, 0x00, 0x0c, 0x00, 0x2f, 0x40, 0x0f, + 0x06, 0x05, 0x0c, 0x00, 0x05, 0x00, 0x0d, 0x0e, 0x00, 0x00, 0x0c, + 0x05, 0x02, 0x02, 0x09, 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x02, + 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x32, 0x39, + 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x10, 0x21, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x03, 0xaf, 0xfe, 0xb4, 0x9a, 0xab, 0x80, 0x5e, + 0x66, 0x6e, 0x5f, 0x03, 0x68, 0xfe, 0x74, 0xc3, 0xc9, 0x96, 0x98, + 0x93, 0x9b, 0x00, 0x00, 0x02, 0x01, 0x2d, 0x00, 0xbe, 0x03, 0x9f, + 0x04, 0xf2, 0x00, 0x18, 0x00, 0x24, 0x00, 0x49, 0x40, 0x0e, 0x1f, + 0x12, 0x05, 0x08, 0x08, 0x09, 0x19, 0x00, 0x09, 0x00, 0x25, 0x26, + 0x16, 0x1c, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x12, 0x16, 0xbf, 0x01, + 0x31, 0x00, 0x0c, 0x01, 0x30, 0x00, 0x09, 0x01, 0x34, 0x00, 0x02, + 0x00, 0x22, 0x01, 0x49, 0xb2, 0x59, 0x04, 0x02, 0xb8, 0x01, 0x2f, + 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x10, 0x21, 0x22, 0x27, 0x23, 0x16, + 0x15, 0x11, 0x23, 0x11, 0x2f, 0x01, 0x33, 0x14, 0x1e, 0x02, 0x15, + 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x9f, 0xfe, 0xf2, + 0xa9, 0x3c, 0x04, 0x03, 0x7a, 0x03, 0x01, 0x76, 0x03, 0x02, 0x02, + 0x03, 0x22, 0x6c, 0x56, 0x89, 0x85, 0x80, 0x54, 0x5a, 0x6b, 0x5b, + 0x5e, 0x67, 0x5c, 0x53, 0x03, 0x6b, 0xfe, 0x71, 0x84, 0x06, 0x47, + 0xfe, 0xab, 0x03, 0x8b, 0x87, 0x15, 0x02, 0x19, 0x24, 0x2a, 0x12, + 0x49, 0x3f, 0xbf, 0xcb, 0xa2, 0x86, 0x97, 0x9b, 0x97, 0x8d, 0x8f, + 0x00, 0x01, 0x01, 0xb4, 0x01, 0xdf, 0x03, 0x18, 0x05, 0x8f, 0x00, + 0x14, 0x00, 0x3e, 0x40, 0x0d, 0x0b, 0x0e, 0x0e, 0x08, 0x05, 0x00, + 0x05, 0x16, 0x15, 0x0e, 0x06, 0x07, 0x06, 0xb8, 0x01, 0x49, 0xb3, + 0x59, 0x0b, 0x09, 0x07, 0xbe, 0x01, 0x30, 0x00, 0x02, 0x00, 0x12, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x02, 0x01, 0x2f, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0xc6, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x06, 0x23, 0x22, 0x35, 0x11, 0x23, 0x35, 0x33, 0x37, 0x33, 0x15, + 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x03, 0x18, + 0x3b, 0x41, 0x93, 0x55, 0x5a, 0x24, 0x52, 0x88, 0x88, 0x22, 0x2b, + 0x1a, 0x2d, 0x01, 0xf0, 0x11, 0xac, 0x01, 0xfd, 0x5d, 0xaa, 0xaa, + 0x5d, 0xfe, 0x1f, 0x37, 0x2c, 0x09, 0x00, 0x00, 0x01, 0x01, 0x3f, + 0x01, 0xdc, 0x03, 0x8e, 0x04, 0xe5, 0x00, 0x15, 0x00, 0x3a, 0x40, + 0x0c, 0x00, 0x15, 0x0d, 0x08, 0x08, 0x09, 0x15, 0x09, 0x16, 0x17, + 0x08, 0x15, 0xb8, 0x01, 0x30, 0xb3, 0x0d, 0x11, 0x11, 0x04, 0xbd, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x11, 0x01, 0x2f, 0x00, 0x0c, 0x01, + 0x2e, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, + 0x33, 0x11, 0x17, 0x23, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x35, 0x11, 0x01, 0xb9, 0x42, 0x57, 0x57, 0x67, 0x7a, 0x04, 0x74, + 0x04, 0x02, 0x2a, 0x6e, 0x54, 0x7b, 0x6e, 0x04, 0xe5, 0xfe, 0x1c, + 0x6e, 0x55, 0x7a, 0x73, 0x01, 0xba, 0xfd, 0xa8, 0xa3, 0x82, 0x4c, + 0x44, 0x7f, 0x8e, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x01, 0x00, 0xec, + 0x02, 0x17, 0x03, 0xe1, 0x04, 0x66, 0x00, 0x15, 0x00, 0x33, 0x40, + 0x0d, 0x08, 0x00, 0x04, 0x11, 0x11, 0x0b, 0x0d, 0x00, 0x04, 0x16, + 0x17, 0x15, 0x00, 0xb8, 0x01, 0x48, 0xb5, 0x59, 0x15, 0x0d, 0x08, + 0x09, 0x08, 0xb8, 0x01, 0x48, 0xb1, 0x59, 0x09, 0x00, 0x2f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x37, 0x15, 0x07, 0x15, 0x1e, + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0xec, 0x01, 0xd0, 0x6e, 0x55, + 0x7a, 0x73, 0xfe, 0x5a, 0x02, 0x44, 0xa3, 0x82, 0x4d, 0x43, 0x7f, + 0x8e, 0xfe, 0x18, 0x02, 0x91, 0x42, 0x57, 0x57, 0x67, 0x7a, 0x04, + 0x74, 0x04, 0x02, 0x2a, 0x6e, 0x54, 0x7b, 0x6e, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x7e, 0x01, 0xdd, 0x04, 0x4e, 0x04, 0xe6, 0x00, 0x26, + 0x00, 0x4c, 0x40, 0x13, 0x1e, 0x1d, 0x15, 0x00, 0x00, 0x26, 0x0e, + 0x08, 0x08, 0x09, 0x09, 0x26, 0x1d, 0x03, 0x27, 0x28, 0x26, 0x08, + 0x1d, 0xb8, 0x01, 0x30, 0xb3, 0x04, 0x22, 0x19, 0x22, 0xb8, 0x01, + 0x49, 0xb4, 0x59, 0x15, 0x12, 0x0e, 0x19, 0xba, 0x01, 0x2f, 0x00, + 0x0c, 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x33, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, + 0x11, 0x17, 0x23, 0x2f, 0x01, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, + 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0xa1, 0x38, 0x4e, + 0x4e, 0x5c, 0x7a, 0x03, 0x73, 0x04, 0x01, 0x02, 0x2b, 0x62, 0x4a, + 0x54, 0x61, 0x14, 0x02, 0x20, 0x68, 0x57, 0x71, 0x64, 0x79, 0x38, + 0x4f, 0x4e, 0x5b, 0x04, 0xe6, 0xfe, 0x1c, 0x6b, 0x58, 0x7a, 0x73, + 0x01, 0xba, 0xfd, 0xa8, 0xa3, 0x60, 0x23, 0x53, 0x3e, 0x46, 0x4b, + 0x43, 0x4e, 0x7f, 0x8e, 0x01, 0xfc, 0xfe, 0x1c, 0x6b, 0x58, 0x77, + 0x76, 0x01, 0xba, 0x00, 0x00, 0x01, 0x01, 0x0f, 0x01, 0xea, 0x03, + 0xbe, 0x04, 0xe5, 0x00, 0x09, 0x00, 0x2d, 0x40, 0x0f, 0x03, 0x02, + 0x01, 0x00, 0x05, 0x08, 0x09, 0x09, 0x05, 0x02, 0x03, 0x0a, 0x0b, + 0x08, 0x02, 0xbb, 0x01, 0x30, 0x00, 0x05, 0x00, 0x01, 0x01, 0x2e, + 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x01, + 0x33, 0x13, 0x17, 0x3e, 0x01, 0x13, 0x33, 0x02, 0xab, 0x91, 0xfe, + 0xf5, 0x82, 0xa2, 0x30, 0x0e, 0x14, 0xb7, 0x82, 0x01, 0xea, 0x02, + 0xfb, 0xfe, 0x0f, 0xa7, 0x34, 0x43, 0x02, 0x21, 0x00, 0x01, 0x00, + 0xdc, 0x01, 0xdd, 0x03, 0xf1, 0x04, 0xf3, 0x00, 0x27, 0x00, 0x3e, + 0x40, 0x11, 0x12, 0x16, 0x09, 0x0c, 0x04, 0x03, 0x1d, 0x03, 0x28, + 0x29, 0x1d, 0x09, 0x16, 0x24, 0x16, 0x00, 0x0f, 0xb8, 0x01, 0x31, + 0xb3, 0x19, 0x06, 0x00, 0x06, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x20, + 0x00, 0xb8, 0x01, 0x2f, 0x00, 0x3f, 0x32, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x12, 0x39, 0x39, 0x11, 0x33, 0x01, 0x2f, 0x11, 0x12, + 0x39, 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x01, 0x22, 0x26, 0x27, + 0x37, 0x16, 0x33, 0x32, 0x3f, 0x01, 0x27, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x0f, 0x01, 0x17, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x27, + 0x0e, 0x02, 0x01, 0x8d, 0x33, 0x53, 0x2b, 0x3c, 0x34, 0x3e, 0x37, + 0x20, 0x45, 0x68, 0x59, 0x80, 0x82, 0x81, 0x80, 0x25, 0x34, 0x62, + 0x40, 0x22, 0x34, 0x1f, 0x3d, 0x17, 0x3b, 0x2b, 0x52, 0x33, 0x27, + 0x3b, 0x34, 0x44, 0x49, 0x32, 0x37, 0x01, 0xdd, 0x23, 0x32, 0x52, + 0x41, 0x29, 0x57, 0x80, 0x6e, 0x64, 0x67, 0x77, 0x77, 0x66, 0x2d, + 0x61, 0x45, 0x7b, 0x57, 0x2e, 0x24, 0x1d, 0x52, 0x32, 0x23, 0x15, + 0x2c, 0x5d, 0x60, 0x2b, 0x13, 0x00, 0x02, 0x01, 0x21, 0x00, 0xbe, + 0x03, 0xab, 0x06, 0x00, 0x00, 0x14, 0x00, 0x28, 0x00, 0x60, 0x40, + 0x15, 0x15, 0x08, 0x08, 0x09, 0x22, 0x10, 0x1b, 0x00, 0x00, 0x10, + 0x12, 0x1e, 0x09, 0x05, 0x29, 0x2a, 0x12, 0x1f, 0x1e, 0x1f, 0x1e, + 0xb8, 0x01, 0x49, 0xb6, 0x59, 0x1f, 0x1f, 0x03, 0x0d, 0x0d, 0x25, + 0x41, 0x09, 0x01, 0x49, 0x00, 0x59, 0x00, 0x0d, 0x01, 0x32, 0x00, + 0x09, 0x01, 0x34, 0x00, 0x03, 0x00, 0x18, 0x01, 0x49, 0xb2, 0x59, + 0x05, 0x03, 0xb8, 0x01, 0x2f, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x27, 0x23, 0x17, 0x15, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x05, 0x1e, 0x01, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x3e, 0x01, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x03, 0xab, 0xa5, 0x92, 0x7b, 0x5d, 0x04, + 0x04, 0x7b, 0x9b, 0x9a, 0x88, 0x8c, 0x97, 0x65, 0x73, 0xfd, 0xf1, + 0x26, 0x71, 0x3c, 0x63, 0x64, 0x76, 0x6f, 0x57, 0x4d, 0x52, 0x4b, + 0x62, 0x5a, 0x03, 0x08, 0x8e, 0x9e, 0x42, 0x8e, 0xd2, 0x04, 0x00, + 0xa8, 0x9a, 0x81, 0x75, 0xb1, 0x3f, 0x15, 0x8e, 0xfc, 0x1b, 0x26, + 0x6e, 0x5d, 0x66, 0x6f, 0x64, 0x13, 0x62, 0x56, 0x44, 0x50, 0x6b, + 0x78, 0x00, 0x01, 0x01, 0x1a, 0x00, 0xbe, 0x03, 0xb3, 0x04, 0xe5, + 0x00, 0x08, 0x00, 0x38, 0x40, 0x15, 0x05, 0x06, 0x06, 0x04, 0x08, + 0x08, 0x00, 0x03, 0x02, 0x02, 0x00, 0x00, 0x09, 0x0a, 0x07, 0x01, + 0x01, 0x04, 0x04, 0x05, 0x02, 0xba, 0x01, 0x30, 0x00, 0x00, 0x01, + 0x34, 0x00, 0x3f, 0x3f, 0x33, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x32, 0x11, 0x33, 0x31, 0x30, 0x25, 0x11, 0x01, 0x33, 0x1b, 0x01, + 0x33, 0x01, 0x11, 0x02, 0x26, 0xfe, 0xf4, 0x82, 0xca, 0xcb, 0x82, + 0xfe, 0xed, 0xbe, 0x01, 0x2d, 0x02, 0xfa, 0xfd, 0x8a, 0x02, 0x76, + 0xfd, 0x05, 0xfe, 0xd4, 0x00, 0x00, 0x00, 0x02, 0x01, 0x1e, 0x01, + 0xdc, 0x03, 0xaf, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x4a, + 0x40, 0x16, 0x06, 0x18, 0x0d, 0x03, 0x1b, 0x00, 0x1c, 0x00, 0x12, + 0x12, 0x1e, 0x1c, 0x18, 0x04, 0x20, 0x21, 0x03, 0x1b, 0x15, 0x1d, + 0x1d, 0x1f, 0x41, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, 0x1d, 0x01, + 0x32, 0x00, 0x15, 0x00, 0x09, 0x01, 0x49, 0x00, 0x59, 0x00, 0x15, + 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, + 0x27, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x03, 0x22, 0x27, + 0x17, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x37, 0x27, 0x35, 0x21, 0x15, 0x03, 0x2f, 0x47, 0x4f, 0x74, + 0x87, 0x6c, 0x5e, 0xc7, 0xaf, 0x33, 0x36, 0xd7, 0x5c, 0x41, 0x24, + 0xb1, 0x96, 0x9b, 0xaf, 0x9c, 0x9f, 0xd8, 0x01, 0xf2, 0x03, 0x36, + 0x4e, 0xa2, 0x53, 0x2a, 0xa8, 0x71, 0x78, 0x84, 0x03, 0x69, 0x06, + 0xe5, 0x64, 0x6a, 0x78, 0x45, 0xa2, 0xbb, 0xb8, 0xa3, 0x87, 0xc6, + 0x39, 0xef, 0x54, 0x5d, 0x00, 0x00, 0x00, 0x02, 0x00, 0xdd, 0x00, + 0xbe, 0x03, 0xf0, 0x04, 0xf6, 0x00, 0x17, 0x00, 0x20, 0x00, 0x51, + 0x40, 0x11, 0x0f, 0x1e, 0x04, 0x04, 0x12, 0x05, 0x05, 0x18, 0x0d, + 0x09, 0x00, 0x09, 0x00, 0x21, 0x22, 0x15, 0x1b, 0xbd, 0x01, 0x49, + 0x00, 0x59, 0x00, 0x15, 0x01, 0x31, 0x00, 0x0c, 0x01, 0x31, 0xb3, + 0x1e, 0x12, 0x06, 0x12, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x03, 0x06, + 0xba, 0x01, 0x2f, 0x00, 0x05, 0x01, 0x34, 0x00, 0x3f, 0x3f, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x12, 0x39, 0x33, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x32, 0x31, 0x30, 0x01, 0x14, 0x06, 0x07, 0x11, 0x23, 0x11, + 0x2e, 0x01, 0x35, 0x34, 0x36, 0x37, 0x17, 0x06, 0x11, 0x14, 0x16, + 0x17, 0x11, 0x10, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, + 0x15, 0x11, 0x3e, 0x01, 0x03, 0xf0, 0xad, 0xa7, 0x74, 0xa1, 0xaa, + 0x97, 0x87, 0x0e, 0xac, 0x65, 0x66, 0xd4, 0x70, 0x84, 0x81, 0x3b, + 0x36, 0x62, 0x6e, 0x65, 0x03, 0x78, 0xc1, 0xd1, 0x09, 0xfe, 0xe1, + 0x01, 0x1f, 0x06, 0xc9, 0xbe, 0xa0, 0xd6, 0x16, 0x60, 0x28, 0xfe, + 0xf9, 0x96, 0x8d, 0x06, 0x01, 0x99, 0x01, 0x1d, 0xcb, 0xaf, 0x89, + 0x94, 0xbe, 0xfe, 0x65, 0x05, 0x99, 0x00, 0x00, 0x01, 0x01, 0x08, + 0x00, 0xbf, 0x03, 0xc5, 0x04, 0xf4, 0x00, 0x15, 0x00, 0x4a, 0x40, + 0x18, 0x0a, 0x01, 0x02, 0x11, 0x12, 0x12, 0x15, 0x14, 0x14, 0x13, + 0x10, 0x00, 0x03, 0x02, 0x06, 0x16, 0x17, 0x10, 0x03, 0x13, 0x00, + 0x04, 0x02, 0x11, 0x41, 0x0a, 0x01, 0x30, 0x00, 0x0c, 0x00, 0x07, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x0c, 0x01, 0x31, 0x00, 0x15, 0x00, + 0x02, 0x01, 0x35, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x03, 0x23, 0x01, + 0x27, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, + 0x1f, 0x01, 0x13, 0x33, 0x03, 0x01, 0x23, 0x02, 0x6b, 0xe3, 0x80, + 0x01, 0x2c, 0x74, 0x2f, 0x2e, 0x1c, 0x12, 0x11, 0x17, 0x22, 0x2f, + 0x39, 0x48, 0x39, 0x60, 0xb4, 0x7f, 0xfa, 0x01, 0x14, 0x81, 0x02, + 0x92, 0xfe, 0x2d, 0x02, 0x46, 0xf2, 0x64, 0x36, 0x07, 0x5c, 0x0e, + 0x42, 0x79, 0xd0, 0x01, 0x7c, 0xfe, 0x14, 0xfd, 0xc6, 0xff, 0xff, + 0x02, 0x2a, 0xff, 0x78, 0x02, 0xa3, 0x03, 0x8e, 0x10, 0x07, 0x03, + 0x26, 0x02, 0x66, 0xfd, 0x8e, 0x00, 0x00, 0xff, 0xff, 0x01, 0xcc, + 0xff, 0x78, 0x03, 0x28, 0x02, 0x81, 0x10, 0x07, 0x02, 0x74, 0x00, + 0x00, 0xfd, 0x8e, 0x00, 0x00, 0xff, 0xff, 0x01, 0x44, 0xff, 0x6a, + 0x03, 0x93, 0x02, 0x73, 0x10, 0x07, 0x05, 0x77, 0x00, 0x05, 0xfd, + 0x8e, 0x00, 0x00, 0xff, 0xff, 0x01, 0x0f, 0xff, 0x78, 0x03, 0xbe, + 0x02, 0x73, 0x10, 0x07, 0x05, 0x7a, 0x00, 0x00, 0xfd, 0x8e, 0x00, + 0x00, 0x00, 0x02, 0x01, 0x22, 0xfe, 0x61, 0x03, 0xab, 0x03, 0x8e, + 0x00, 0x14, 0x00, 0x28, 0x00, 0x44, 0x40, 0x18, 0x15, 0x08, 0x08, + 0x09, 0x22, 0x10, 0x1b, 0x00, 0x00, 0x10, 0x12, 0x1e, 0x09, 0x05, + 0x29, 0x2a, 0x12, 0x1e, 0x1e, 0x1f, 0x1f, 0x03, 0x25, 0x0d, 0xba, + 0x01, 0x44, 0x00, 0x09, 0x01, 0x40, 0xb2, 0x18, 0x05, 0x03, 0xb8, + 0x01, 0x3f, 0x00, 0x3f, 0x33, 0x33, 0x3f, 0x3f, 0x33, 0x12, 0x39, + 0x2f, 0x33, 0x12, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x14, 0x06, + 0x23, 0x22, 0x27, 0x23, 0x17, 0x15, 0x23, 0x11, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x05, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x3e, 0x01, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x03, 0xab, 0xa5, 0x92, 0x7b, 0x5d, + 0x04, 0x04, 0x7a, 0x9a, 0x9b, 0x87, 0x8d, 0x98, 0x66, 0x72, 0xfd, + 0xf1, 0x24, 0x76, 0x39, 0x62, 0x65, 0x75, 0x6f, 0x57, 0x4c, 0x54, + 0x49, 0x62, 0x5a, 0x96, 0x8e, 0x9e, 0x42, 0x8e, 0xbd, 0x03, 0xeb, + 0xa8, 0x9a, 0x81, 0x75, 0xaf, 0x40, 0x15, 0x90, 0xfb, 0x1a, 0x27, + 0x6f, 0x5d, 0x65, 0x6f, 0x64, 0x13, 0x62, 0x56, 0x47, 0x4d, 0x6b, + 0x78, 0x00, 0x00, 0x01, 0x01, 0x0f, 0xfe, 0x60, 0x03, 0xbd, 0x02, + 0x72, 0x00, 0x0e, 0x00, 0x36, 0x40, 0x14, 0x01, 0x00, 0x0e, 0x09, + 0x04, 0x07, 0x08, 0x08, 0x04, 0x0c, 0x00, 0x04, 0x0f, 0x10, 0x09, + 0x0e, 0x0e, 0x04, 0x04, 0x0c, 0xbb, 0x01, 0x41, 0x00, 0x07, 0x00, + 0x00, 0x01, 0x42, 0x00, 0x3f, 0x32, 0x3f, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x13, 0x16, 0x17, 0x3e, 0x01, + 0x13, 0x33, 0x01, 0x06, 0x07, 0x23, 0x36, 0x37, 0x01, 0x0f, 0x82, + 0xa7, 0x22, 0x0d, 0x03, 0x2e, 0xa4, 0x81, 0xfe, 0xf7, 0x31, 0x16, + 0x82, 0x0d, 0x2f, 0x02, 0x72, 0xfe, 0x24, 0x66, 0x41, 0x0f, 0x99, + 0x01, 0xdb, 0xfd, 0x2a, 0x8b, 0xb1, 0x64, 0xbb, 0x00, 0x02, 0x01, + 0x14, 0xfe, 0x60, 0x03, 0xb8, 0x02, 0x81, 0x00, 0x17, 0x00, 0x23, + 0x00, 0x48, 0x40, 0x12, 0x0a, 0x1e, 0x1e, 0x00, 0x11, 0x10, 0x10, + 0x18, 0x05, 0x00, 0x05, 0x24, 0x25, 0x0d, 0x14, 0x14, 0x07, 0x11, + 0xb8, 0x01, 0x41, 0x40, 0x0a, 0x21, 0x0a, 0x0f, 0x07, 0x1f, 0x07, + 0x2f, 0x07, 0x03, 0x07, 0xbb, 0x01, 0x3f, 0x00, 0x1b, 0x00, 0x02, + 0x01, 0x43, 0x00, 0x3f, 0x33, 0x3f, 0x5d, 0x33, 0x33, 0x3f, 0x12, + 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x10, 0x21, + 0x32, 0x16, 0x15, 0x10, 0x21, 0x22, 0x26, 0x27, 0x1e, 0x01, 0x33, + 0x32, 0x16, 0x17, 0x23, 0x2e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x01, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x01, 0x14, 0x01, 0x4a, 0xac, 0x9b, 0xfe, 0xb4, 0x50, 0x68, 0x25, + 0x12, 0x87, 0xa5, 0x94, 0x62, 0x08, 0x6f, 0x05, 0x37, 0x7f, 0x9a, + 0x9e, 0x42, 0x02, 0x11, 0x5b, 0x6a, 0x6c, 0x60, 0x5f, 0x65, 0x6e, + 0x5f, 0xf6, 0x01, 0x8b, 0xc6, 0xc5, 0xfe, 0x73, 0x35, 0x31, 0x84, + 0x5e, 0x38, 0x55, 0x15, 0x0f, 0x65, 0xee, 0x01, 0x1f, 0x9e, 0x8f, + 0x92, 0x9b, 0x97, 0x98, 0x93, 0x00, 0x02, 0x00, 0xdd, 0xfe, 0x61, + 0x03, 0xf0, 0x02, 0x80, 0x00, 0x19, 0x00, 0x22, 0x00, 0x41, 0x40, + 0x10, 0x10, 0x20, 0x04, 0x04, 0x13, 0x05, 0x05, 0x09, 0x1a, 0x00, + 0x09, 0x00, 0x23, 0x24, 0x1d, 0x17, 0xba, 0x01, 0x43, 0x00, 0x0c, + 0x01, 0x43, 0xb4, 0x20, 0x13, 0x13, 0x03, 0x06, 0xba, 0x01, 0x3f, + 0x00, 0x05, 0x01, 0x40, 0x00, 0x3f, 0x3f, 0x33, 0x33, 0x11, 0x33, + 0x3f, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x32, 0x31, 0x30, 0x01, 0x14, + 0x06, 0x07, 0x11, 0x23, 0x11, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x37, + 0x17, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x17, 0x11, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x15, 0x11, 0x3e, 0x01, + 0x03, 0xf0, 0xad, 0xa7, 0x74, 0xa0, 0xab, 0x98, 0x86, 0x0e, 0x53, + 0x58, 0x64, 0x66, 0x69, 0x6b, 0x70, 0x84, 0x81, 0x3a, 0x37, 0x62, + 0x6e, 0x65, 0x01, 0x03, 0xc1, 0xd1, 0x09, 0xfe, 0xf9, 0x01, 0x07, + 0x06, 0xc7, 0xc0, 0xa1, 0xd4, 0x16, 0x60, 0x12, 0x96, 0x86, 0x96, + 0x8e, 0x06, 0x01, 0x99, 0x89, 0x95, 0xcb, 0xb0, 0x89, 0x94, 0xbe, + 0xfe, 0x65, 0x05, 0x9a, 0x00, 0xff, 0xff, 0x01, 0x08, 0xfe, 0x4d, + 0x03, 0xc5, 0x02, 0x82, 0x10, 0x07, 0x05, 0x80, 0x00, 0x00, 0xfd, + 0x8e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x19, 0xff, 0xec, 0x04, 0xb8, + 0x04, 0x4e, 0x00, 0x25, 0x00, 0x2c, 0x00, 0x69, 0x40, 0x3a, 0x0a, + 0x07, 0x00, 0x10, 0x29, 0x1a, 0x1a, 0x13, 0x10, 0x20, 0x21, 0x2a, + 0x19, 0x19, 0x21, 0x10, 0x07, 0x04, 0x2d, 0x2e, 0x15, 0x26, 0x50, + 0x59, 0x13, 0x15, 0x10, 0x29, 0x1a, 0x50, 0x59, 0x29, 0x29, 0x03, + 0x11, 0x08, 0x0f, 0x1d, 0x0d, 0x03, 0x0d, 0x50, 0x59, 0x23, 0x03, + 0xdf, 0x20, 0xef, 0x20, 0x02, 0x80, 0x20, 0x01, 0x20, 0x20, 0x00, + 0x03, 0x16, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0x5d, 0x5d, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x35, + 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, + 0x07, 0x36, 0x33, 0x32, 0x12, 0x11, 0x15, 0x21, 0x15, 0x12, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x02, 0x23, 0x22, 0x26, 0x13, 0x22, 0x06, + 0x07, 0x21, 0x2e, 0x01, 0x02, 0x48, 0x20, 0x76, 0x70, 0x73, 0x7f, + 0x37, 0xa9, 0x3a, 0x46, 0x52, 0x3f, 0xa1, 0x01, 0x55, 0xa1, 0xa6, + 0xa9, 0xfd, 0xef, 0x05, 0xb4, 0x4b, 0x59, 0x10, 0x8a, 0x44, 0xf6, + 0x73, 0x8a, 0xf4, 0x52, 0x5d, 0x03, 0x01, 0x69, 0x09, 0x59, 0xa9, + 0x6d, 0x50, 0x45, 0x97, 0xa1, 0x02, 0xd1, 0xfd, 0x52, 0x9d, 0x78, + 0x72, 0xa3, 0x02, 0xae, 0x77, 0x8b, 0xfe, 0xe5, 0xfe, 0xdc, 0x18, + 0x11, 0xfe, 0x8d, 0x5e, 0x48, 0x2d, 0xff, 0x00, 0x5c, 0x03, 0x81, + 0xae, 0x9a, 0xab, 0x9d, 0x00, 0x00, 0x02, 0xff, 0xc2, 0xff, 0xec, + 0x04, 0x4d, 0x05, 0xcc, 0x00, 0x2d, 0x00, 0x39, 0x00, 0x6d, 0x40, + 0x38, 0x1f, 0x20, 0x20, 0x34, 0x24, 0x05, 0x19, 0x19, 0x18, 0x12, + 0x13, 0x13, 0x0d, 0x18, 0x2e, 0x00, 0x18, 0x00, 0x3a, 0x3b, 0x13, + 0x23, 0x1c, 0x23, 0x50, 0x59, 0x1f, 0x16, 0x16, 0x0f, 0x50, 0x59, + 0x16, 0x1c, 0x1c, 0x16, 0x2b, 0x18, 0x2b, 0x31, 0x50, 0x59, 0x27, + 0x2b, 0x10, 0x18, 0x01, 0x0a, 0x15, 0x02, 0x37, 0x50, 0x59, 0x05, + 0x02, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, + 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x7c, 0x2f, + 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, + 0x21, 0x22, 0x26, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, + 0x11, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x3e, 0x01, 0x33, 0x17, + 0x35, 0x33, 0x15, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x06, + 0x23, 0x27, 0x15, 0x14, 0x07, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x12, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x4d, 0xfe, 0x72, 0x7b, 0xa3, 0x33, 0x02, 0x08, 0x02, + 0xae, 0x06, 0x1a, 0x1a, 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, 0x37, + 0xb4, 0x1c, 0x14, 0x1f, 0x1a, 0x06, 0x82, 0x5a, 0x60, 0x37, 0x04, + 0x04, 0x32, 0xa5, 0x7a, 0xcd, 0xc1, 0xbd, 0x78, 0x87, 0x98, 0x8b, + 0x88, 0x99, 0x88, 0x79, 0x02, 0x22, 0xfd, 0xca, 0x59, 0x63, 0x1f, + 0x7f, 0x0a, 0x36, 0xa9, 0x03, 0xfc, 0x08, 0x30, 0x2f, 0x68, 0x7c, + 0x05, 0x69, 0xad, 0x07, 0x2f, 0x30, 0x72, 0x72, 0x06, 0x74, 0x41, + 0x58, 0x68, 0x5a, 0xfe, 0xec, 0xfe, 0xe2, 0xe3, 0xc4, 0xd0, 0xe2, + 0xd5, 0xcb, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x56, 0xff, + 0xec, 0x04, 0xda, 0x05, 0xcc, 0x00, 0x2c, 0x00, 0x38, 0x00, 0x5d, + 0x40, 0x30, 0x2d, 0x06, 0x33, 0x2c, 0x0e, 0x19, 0x19, 0x25, 0x1a, + 0x06, 0x1a, 0x39, 0x3a, 0x29, 0x15, 0x14, 0x24, 0x1d, 0x24, 0x50, + 0x59, 0x20, 0x17, 0x17, 0x10, 0x50, 0x59, 0x1d, 0x17, 0x1d, 0x17, + 0x08, 0x19, 0x01, 0x08, 0x36, 0x50, 0x59, 0x0b, 0x08, 0x10, 0x03, + 0x30, 0x50, 0x59, 0x00, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, 0x2f, + 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x0e, 0x01, 0x23, 0x22, 0x02, + 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, 0x33, 0x27, 0x35, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x23, 0x3e, 0x01, 0x33, 0x17, 0x35, 0x33, 0x15, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x06, 0x23, 0x27, 0x11, + 0x14, 0x17, 0x23, 0x2e, 0x01, 0x35, 0x01, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x03, 0x35, 0x32, 0xa5, + 0x7a, 0xcd, 0xc1, 0x01, 0x8e, 0x7b, 0xa4, 0x32, 0x02, 0x02, 0x1a, + 0x1a, 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, 0x37, 0xb4, 0x1c, 0x14, + 0x1f, 0x1a, 0x06, 0x82, 0x5a, 0x60, 0x37, 0x06, 0xac, 0x03, 0x07, + 0xfd, 0xda, 0x78, 0x87, 0x99, 0x8a, 0x8a, 0x97, 0x88, 0x79, 0xae, + 0x68, 0x5a, 0x01, 0x14, 0x01, 0x18, 0x02, 0x36, 0x5a, 0x62, 0x79, + 0xd0, 0x08, 0x30, 0x2f, 0x68, 0x7c, 0x05, 0x69, 0xad, 0x07, 0x2f, + 0x30, 0x72, 0x72, 0x06, 0xfc, 0x46, 0xa9, 0x36, 0x10, 0x74, 0x2a, + 0x01, 0x70, 0xe3, 0xc4, 0xd4, 0xdf, 0xd7, 0xc8, 0xc9, 0x00, 0x01, + 0x00, 0x8a, 0x00, 0x00, 0x04, 0x4b, 0x05, 0xcc, 0x00, 0x30, 0x00, + 0x58, 0x40, 0x0d, 0x2e, 0x01, 0x0e, 0x0e, 0x1e, 0x1a, 0x0f, 0x0f, + 0x25, 0x31, 0x32, 0x22, 0x29, 0xb8, 0x01, 0x0a, 0x40, 0x1f, 0x59, + 0x22, 0x01, 0x00, 0x1c, 0x1d, 0x1c, 0x50, 0x59, 0x16, 0x0b, 0x04, + 0x0b, 0x50, 0x59, 0x19, 0x12, 0x50, 0x59, 0x08, 0x19, 0x04, 0x19, + 0x04, 0x19, 0x0f, 0x2e, 0x1d, 0x0f, 0x0f, 0x15, 0x00, 0x3f, 0x3f, + 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x2b, 0x11, + 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x33, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, + 0x06, 0x23, 0x27, 0x23, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x23, 0x3e, 0x01, 0x33, 0x17, 0x11, 0x21, 0x35, 0x21, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x01, 0x23, 0x22, + 0x0e, 0x01, 0x1d, 0x01, 0x21, 0x15, 0x02, 0x44, 0x01, 0x1c, 0x14, + 0x1f, 0x1a, 0x06, 0x82, 0x5a, 0x60, 0x37, 0x01, 0xb4, 0x1a, 0x19, + 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, 0x36, 0xfe, 0xfa, 0x01, 0x06, + 0xc1, 0xe1, 0x48, 0xa7, 0x2a, 0x1e, 0xb7, 0x2f, 0x68, 0x6a, 0x31, + 0x01, 0xeb, 0x03, 0xac, 0xfe, 0x78, 0x07, 0x2f, 0x30, 0x72, 0x72, + 0x06, 0xfe, 0x62, 0x01, 0xe0, 0x08, 0x30, 0x2f, 0x68, 0x7c, 0x05, + 0x01, 0x44, 0x8e, 0x19, 0xcd, 0xac, 0x0d, 0x08, 0x91, 0x05, 0x0c, + 0x2e, 0x68, 0x5d, 0x0a, 0x8e, 0x00, 0x00, 0x03, 0xff, 0xc6, 0x00, + 0x00, 0x04, 0xf9, 0x04, 0x4e, 0x00, 0x2e, 0x00, 0x39, 0x00, 0x43, + 0x00, 0x84, 0x40, 0x45, 0x3d, 0x13, 0x05, 0x05, 0x0d, 0x06, 0x1a, + 0x00, 0x2f, 0x2e, 0x2e, 0x40, 0x00, 0x32, 0x29, 0x29, 0x22, 0x00, + 0x06, 0x28, 0x06, 0x28, 0x44, 0x45, 0x36, 0x3a, 0x17, 0x3a, 0x50, + 0x59, 0x07, 0x03, 0x3e, 0x03, 0x51, 0x59, 0x25, 0x0d, 0x3e, 0x22, + 0x31, 0x2b, 0x31, 0x51, 0x59, 0x27, 0x0a, 0x2d, 0x01, 0x2f, 0x40, + 0x04, 0x2b, 0x3e, 0x2b, 0x3e, 0x2b, 0x06, 0x1e, 0x1a, 0x13, 0x17, + 0x10, 0x10, 0x0f, 0x29, 0x00, 0x06, 0x15, 0x00, 0x3f, 0x33, 0x33, + 0x3f, 0x3f, 0x33, 0x33, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x12, + 0x17, 0x39, 0x32, 0x32, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x12, 0x39, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x21, 0x11, 0x26, 0x23, 0x07, 0x11, 0x23, 0x11, 0x06, + 0x07, 0x23, 0x3e, 0x01, 0x37, 0x35, 0x34, 0x27, 0x33, 0x17, 0x15, + 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x33, 0x3e, 0x01, 0x33, + 0x32, 0x16, 0x1d, 0x01, 0x36, 0x37, 0x33, 0x06, 0x07, 0x11, 0x23, + 0x11, 0x07, 0x22, 0x27, 0x19, 0x01, 0x16, 0x33, 0x37, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x22, 0x06, 0x07, 0x37, 0x32, + 0x17, 0x35, 0x34, 0x26, 0x02, 0x13, 0x89, 0x4d, 0x2b, 0xa9, 0x1a, + 0x07, 0x82, 0x10, 0x4f, 0x44, 0x06, 0x95, 0x06, 0x02, 0x22, 0x69, + 0x4d, 0x58, 0x57, 0x13, 0x02, 0x28, 0x6f, 0x55, 0x76, 0x66, 0x0d, + 0x04, 0x84, 0x1f, 0x76, 0xa8, 0x43, 0x50, 0x6e, 0x7c, 0x48, 0x3d, + 0x31, 0x41, 0x42, 0x4d, 0xfe, 0xe6, 0x3d, 0x4e, 0x04, 0x36, 0x5c, + 0x6f, 0x31, 0x01, 0xd3, 0x29, 0x02, 0xfe, 0x06, 0x01, 0xb8, 0x18, + 0x1b, 0x4e, 0x64, 0x1f, 0xfd, 0xbd, 0x2a, 0x7f, 0x30, 0x66, 0x5d, + 0x60, 0x64, 0x6a, 0x5a, 0xac, 0xd1, 0x77, 0x12, 0x11, 0x93, 0x39, + 0xfe, 0x4f, 0x01, 0x87, 0x02, 0x1c, 0xfe, 0x5f, 0x02, 0x2c, 0x26, + 0x04, 0xa4, 0x9a, 0x7b, 0xa8, 0xa8, 0x01, 0x50, 0xaf, 0x99, 0x02, + 0x1f, 0x50, 0x9a, 0x7b, 0x00, 0x02, 0xff, 0xe1, 0x00, 0x00, 0x04, + 0xec, 0x04, 0x4e, 0x00, 0x27, 0x00, 0x33, 0x00, 0x64, 0x40, 0x33, + 0x28, 0x18, 0x07, 0x07, 0x10, 0x08, 0x2c, 0x00, 0x00, 0x20, 0x27, + 0x08, 0x27, 0x34, 0x35, 0x09, 0x06, 0x28, 0x06, 0x50, 0x59, 0x23, + 0x10, 0x28, 0x20, 0x2c, 0x01, 0x2c, 0x50, 0x59, 0x26, 0x0d, 0x01, + 0x28, 0x01, 0x28, 0x01, 0x1c, 0x08, 0x1c, 0x31, 0x50, 0x59, 0x18, + 0x1c, 0x10, 0x13, 0x0f, 0x00, 0x08, 0x15, 0x00, 0x3f, 0x33, 0x3f, + 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, + 0x11, 0x2e, 0x03, 0x27, 0x11, 0x23, 0x11, 0x0e, 0x01, 0x15, 0x23, + 0x34, 0x36, 0x37, 0x35, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x17, 0x33, + 0x3e, 0x01, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x36, 0x35, 0x33, 0x14, + 0x06, 0x07, 0x11, 0x01, 0x16, 0x17, 0x16, 0x17, 0x35, 0x34, 0x2e, + 0x01, 0x23, 0x22, 0x06, 0x03, 0x67, 0x41, 0x82, 0x7f, 0x7b, 0x3a, + 0xb4, 0x2c, 0x2d, 0x82, 0x7a, 0x61, 0x06, 0xaa, 0x01, 0x02, 0x03, + 0x02, 0x03, 0x3e, 0xa3, 0x79, 0xb2, 0xa5, 0x4e, 0x82, 0x6f, 0x61, + 0xfd, 0x54, 0x5f, 0xaa, 0xaf, 0x3f, 0x2a, 0x5c, 0x59, 0x82, 0x96, + 0x01, 0x4d, 0x0a, 0x28, 0x2e, 0x2d, 0x0e, 0xfe, 0x18, 0x01, 0xf2, + 0x0b, 0x3b, 0x26, 0x5d, 0x87, 0x10, 0xd9, 0xbd, 0x2a, 0x05, 0x2c, + 0x39, 0x4f, 0x70, 0x5d, 0xb1, 0xcc, 0xf7, 0x24, 0x7d, 0x77, 0x9d, + 0x18, 0xfe, 0xb1, 0x02, 0x70, 0x14, 0x3d, 0x3f, 0x0d, 0xdb, 0x6b, + 0x76, 0x34, 0xb3, 0x00, 0x02, 0xff, 0xc4, 0xfe, 0x57, 0x04, 0x4b, + 0x04, 0x4d, 0x00, 0x2e, 0x00, 0x3b, 0x00, 0x6e, 0x40, 0x3d, 0x36, + 0x28, 0x08, 0x14, 0x14, 0x20, 0x15, 0x2f, 0x00, 0x15, 0x00, 0x3c, + 0x3d, 0x2c, 0x32, 0x50, 0x59, 0x28, 0x2c, 0x10, 0x23, 0x0f, 0x1f, + 0x18, 0x50, 0x59, 0x0e, 0x1f, 0x1c, 0x11, 0x11, 0x0a, 0x50, 0x59, + 0x13, 0x16, 0x08, 0x20, 0x04, 0x11, 0x00, 0x11, 0x10, 0x11, 0x02, + 0x0f, 0x03, 0x1f, 0x11, 0x1f, 0x11, 0x02, 0x15, 0x1c, 0x02, 0x39, + 0x50, 0x59, 0x04, 0x02, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x12, 0x17, + 0x39, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x31, 0x30, 0x01, 0x10, 0x21, + 0x22, 0x27, 0x23, 0x16, 0x1d, 0x01, 0x16, 0x33, 0x32, 0x36, 0x37, + 0x33, 0x14, 0x06, 0x23, 0x22, 0x27, 0x15, 0x23, 0x35, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x23, 0x3e, 0x01, 0x33, 0x17, 0x11, 0x34, 0x27, + 0x33, 0x1e, 0x02, 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x03, + 0x34, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x04, 0x4b, 0xfe, 0x72, 0xfa, 0x56, 0x05, 0x04, 0x20, 0x14, + 0x1f, 0x1a, 0x06, 0x82, 0x5a, 0x60, 0x18, 0x23, 0xb4, 0x17, 0x19, + 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, 0x33, 0x06, 0xae, 0x01, 0x04, + 0x05, 0x04, 0x30, 0x9e, 0x81, 0xc8, 0xc6, 0xbd, 0x7a, 0x85, 0x6b, + 0x79, 0x3f, 0x88, 0x99, 0x86, 0x7b, 0x02, 0x22, 0xfd, 0xca, 0xbc, + 0x08, 0xa2, 0xac, 0x08, 0x2f, 0x30, 0x72, 0x72, 0x08, 0x76, 0xb7, + 0x07, 0x30, 0x2f, 0x68, 0x7c, 0x04, 0x03, 0xc7, 0xa7, 0x36, 0x04, + 0x31, 0x66, 0x13, 0x64, 0x5d, 0xfe, 0xf4, 0xfe, 0xdd, 0xe2, 0xc2, + 0x5a, 0xbf, 0x99, 0xd5, 0xca, 0xc5, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x36, 0x00, 0x00, 0x04, 0x15, 0x04, 0x4e, 0x00, 0x2c, 0x00, 0x5e, + 0x40, 0x34, 0x25, 0x06, 0x12, 0x12, 0x1e, 0x13, 0x13, 0x00, 0x2d, + 0x2e, 0x1d, 0x16, 0x50, 0x59, 0x0c, 0x1d, 0x1a, 0x0f, 0x0f, 0x08, + 0x50, 0x59, 0x11, 0x14, 0x06, 0x1e, 0x04, 0x0f, 0x0f, 0x1d, 0x1f, + 0x1d, 0x02, 0x10, 0x03, 0x1d, 0x0f, 0x1d, 0x0f, 0x13, 0x25, 0x2a, + 0x2a, 0x02, 0x52, 0x59, 0x2a, 0x10, 0x22, 0x0f, 0x13, 0x15, 0x00, + 0x3f, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x12, 0x39, 0x39, 0x18, + 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x12, 0x17, 0x39, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x26, 0x23, 0x22, 0x06, + 0x1d, 0x01, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x06, 0x23, + 0x22, 0x27, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, + 0x3e, 0x01, 0x33, 0x17, 0x35, 0x34, 0x26, 0x27, 0x33, 0x16, 0x17, + 0x33, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x04, 0x15, 0x70, 0x64, 0xa1, + 0xc6, 0x19, 0x1f, 0x1f, 0x1a, 0x06, 0x82, 0x5a, 0x60, 0x1c, 0x23, + 0xb4, 0x18, 0x14, 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, 0x2f, 0x1b, + 0x19, 0xab, 0x28, 0x08, 0x05, 0x32, 0x60, 0x84, 0x5f, 0x68, 0x66, + 0x03, 0x96, 0x13, 0xf2, 0xbb, 0x35, 0x09, 0x2f, 0x30, 0x72, 0x72, + 0x08, 0xfe, 0xbf, 0x01, 0x83, 0x06, 0x30, 0x2f, 0x68, 0x7c, 0x04, + 0xb3, 0x4c, 0xce, 0x63, 0x8a, 0x70, 0x70, 0x69, 0x35, 0x11, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xf1, 0x00, 0x00, 0x03, 0xdb, 0x04, 0x4e, + 0x00, 0x25, 0x00, 0x55, 0x40, 0x2f, 0x0d, 0x19, 0x19, 0x25, 0x1a, + 0x1a, 0x06, 0x26, 0x27, 0x24, 0x1d, 0x50, 0x59, 0x13, 0x24, 0x21, + 0x16, 0x16, 0x0f, 0x50, 0x59, 0x18, 0x1b, 0x0d, 0x25, 0x04, 0x16, + 0x0f, 0x24, 0x1f, 0x24, 0x02, 0x10, 0x03, 0x24, 0x16, 0x24, 0x16, + 0x04, 0x1a, 0x15, 0x04, 0x09, 0x52, 0x59, 0x04, 0x10, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x5f, 0x5e, + 0x5d, 0x12, 0x17, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x34, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, + 0x22, 0x06, 0x1d, 0x01, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, + 0x06, 0x23, 0x22, 0x27, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x23, 0x3e, 0x01, 0x33, 0x17, 0x01, 0xe1, 0x5c, 0xbe, 0x80, + 0x3b, 0x25, 0x24, 0x3c, 0x7c, 0x6e, 0x19, 0x1f, 0x1f, 0x1a, 0x06, + 0x82, 0x5a, 0x60, 0x1c, 0x23, 0xb0, 0x18, 0x14, 0x27, 0x1b, 0x82, + 0x02, 0x6b, 0x54, 0x2f, 0x02, 0xae, 0x80, 0xba, 0x66, 0x0a, 0xa5, + 0x0a, 0x8b, 0xa8, 0xaf, 0x09, 0x2f, 0x30, 0x72, 0x72, 0x08, 0xfe, + 0xbf, 0x01, 0x83, 0x06, 0x30, 0x2f, 0x68, 0x7c, 0x04, 0x00, 0x00, + 0x01, 0x00, 0x68, 0xff, 0xec, 0x04, 0x65, 0x04, 0x4b, 0x00, 0x37, + 0x00, 0x61, 0x40, 0x32, 0x30, 0x36, 0x28, 0x00, 0x28, 0x07, 0x06, + 0x06, 0x22, 0x21, 0x19, 0x14, 0x1b, 0x0d, 0x0d, 0x00, 0x00, 0x21, + 0x1b, 0x03, 0x38, 0x39, 0x36, 0x19, 0x17, 0x34, 0x0d, 0x11, 0x2d, + 0x28, 0x04, 0x03, 0x34, 0x17, 0x34, 0x17, 0x1e, 0x03, 0x1e, 0x25, + 0x50, 0x59, 0x1e, 0x10, 0x03, 0x0a, 0x50, 0x59, 0x03, 0x16, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x11, 0x17, 0x39, 0x11, 0x12, 0x39, 0x39, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x32, 0x11, 0x33, 0x32, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, + 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x01, 0x2e, 0x01, 0x23, 0x22, + 0x15, 0x23, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x02, + 0x1f, 0x01, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x07, 0x16, + 0x04, 0x25, 0xe7, 0xd0, 0xca, 0xdb, 0x21, 0x9f, 0x17, 0x90, 0x80, + 0x89, 0x7f, 0x54, 0x67, 0x80, 0x55, 0x86, 0x2b, 0x4b, 0x82, 0x04, + 0x86, 0x1f, 0xd3, 0xca, 0xb3, 0xd3, 0x1c, 0xa2, 0x0f, 0x83, 0x6e, + 0x7a, 0x74, 0x2b, 0x4d, 0x6c, 0x41, 0x4b, 0x8a, 0x2f, 0x1b, 0x17, + 0x06, 0x82, 0x61, 0x21, 0x01, 0x2b, 0x99, 0xa6, 0x85, 0x8d, 0x1f, + 0x57, 0x51, 0x54, 0x54, 0x3e, 0x4c, 0x1d, 0x25, 0x1a, 0x28, 0x69, + 0xb2, 0x29, 0x35, 0x4a, 0x94, 0x9b, 0x7e, 0x8b, 0x14, 0x48, 0x4d, + 0x4a, 0x4b, 0x29, 0x37, 0x28, 0x1f, 0x12, 0x15, 0x28, 0x1e, 0x33, + 0xa7, 0x2c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7c, 0xff, + 0xf0, 0x03, 0xf9, 0x05, 0x54, 0x00, 0x2d, 0x00, 0x6c, 0x40, 0x2b, + 0x09, 0x05, 0x17, 0x17, 0x2c, 0x02, 0x22, 0x22, 0x1d, 0x2e, 0x2f, + 0x28, 0x13, 0x13, 0x0c, 0x50, 0x59, 0x2b, 0x24, 0x50, 0x59, 0x10, + 0x2c, 0x09, 0x23, 0x16, 0x04, 0x2b, 0x0f, 0x2b, 0x1f, 0x2b, 0x02, + 0x10, 0x03, 0x13, 0x2b, 0x13, 0x2b, 0x1f, 0x01, 0x1f, 0x1a, 0xb8, + 0x01, 0x0a, 0x40, 0x0d, 0x59, 0x1f, 0x16, 0x08, 0x00, 0x01, 0x00, + 0x50, 0x59, 0x05, 0x03, 0x01, 0x0f, 0x00, 0x3f, 0xc6, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x12, 0x17, 0x39, 0x32, 0x2b, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x35, 0x33, 0x13, + 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x37, 0x33, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x27, + 0x22, 0x06, 0x15, 0x23, 0x3e, 0x01, 0x33, 0x17, 0x11, 0xbe, 0xaa, + 0x3a, 0x78, 0x01, 0xb0, 0xfe, 0x50, 0x05, 0x33, 0x02, 0x1f, 0x1a, + 0x06, 0x82, 0x5a, 0x60, 0x05, 0x3a, 0x02, 0x55, 0x61, 0x86, 0xa3, + 0xa9, 0xa6, 0xa2, 0xa2, 0x26, 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, + 0x29, 0x03, 0xac, 0x8e, 0x01, 0x1a, 0xfe, 0xe6, 0x8e, 0xfe, 0x93, + 0x02, 0x08, 0x2f, 0x30, 0x72, 0x72, 0x07, 0x02, 0x99, 0x4f, 0x4c, + 0x22, 0x89, 0x2e, 0x89, 0x94, 0xee, 0x05, 0x30, 0x2f, 0x68, 0x7c, + 0x03, 0x01, 0x2a, 0x00, 0x00, 0x01, 0x00, 0xa4, 0x00, 0x00, 0x04, + 0x29, 0x04, 0x3a, 0x00, 0x21, 0x00, 0x63, 0x40, 0x37, 0x15, 0x03, + 0x07, 0x14, 0x04, 0x18, 0x07, 0x18, 0x22, 0x23, 0x18, 0x15, 0x16, + 0x15, 0x50, 0x59, 0x1f, 0x11, 0x11, 0x0a, 0x50, 0x59, 0x00, 0x1b, + 0x50, 0x59, 0x0e, 0x02, 0x08, 0x19, 0x13, 0x04, 0x00, 0x0f, 0x11, + 0x1f, 0x11, 0x02, 0x10, 0x03, 0x11, 0x00, 0x11, 0x00, 0x06, 0x16, + 0x0f, 0x07, 0x03, 0x06, 0x03, 0x50, 0x59, 0x06, 0x15, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, + 0x5f, 0x5e, 0x5d, 0x12, 0x17, 0x39, 0x32, 0x2b, 0x2b, 0x11, 0x00, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x22, 0x27, 0x01, + 0x21, 0x15, 0x21, 0x35, 0x01, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, + 0x3e, 0x01, 0x33, 0x32, 0x17, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x06, 0x03, 0x55, 0x33, + 0xa4, 0xfe, 0xf0, 0x02, 0xbb, 0xfc, 0x7b, 0x01, 0x33, 0x38, 0x1c, + 0x27, 0x1e, 0x82, 0x02, 0x6f, 0x55, 0x35, 0x7e, 0x01, 0x04, 0xfd, + 0x93, 0x03, 0x38, 0xfe, 0xd6, 0x4a, 0x2a, 0x1f, 0x1a, 0x06, 0x82, + 0x5a, 0x01, 0xaf, 0x27, 0xfe, 0xb5, 0x8b, 0x89, 0x01, 0x77, 0x0d, + 0x30, 0x2f, 0x68, 0x7c, 0x20, 0x01, 0x3d, 0x8b, 0x89, 0xfe, 0x95, + 0x13, 0x30, 0x30, 0x72, 0x72, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa4, + 0xfe, 0x57, 0x04, 0x3d, 0x04, 0x4b, 0x00, 0x1f, 0x00, 0x2d, 0x00, + 0x50, 0x40, 0x29, 0x20, 0x16, 0x09, 0x09, 0x1e, 0x04, 0x03, 0x27, + 0x10, 0x10, 0x03, 0x1e, 0x03, 0x2e, 0x2f, 0x1b, 0x1c, 0x0d, 0x2a, + 0x50, 0x59, 0x0a, 0x0d, 0x0d, 0x13, 0x00, 0x13, 0x24, 0x50, 0x59, + 0x16, 0x13, 0x1c, 0x00, 0x07, 0x50, 0x59, 0x04, 0x04, 0x00, 0x10, + 0x00, 0x3f, 0x32, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, + 0x23, 0x20, 0x11, 0x15, 0x33, 0x36, 0x33, 0x32, 0x12, 0x11, 0x10, + 0x02, 0x23, 0x22, 0x26, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, + 0x35, 0x11, 0x10, 0x13, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x02, 0x6f, 0xb1, 0xd2, 0x1e, + 0xb5, 0x12, 0x7b, 0x64, 0xfe, 0xf3, 0x02, 0x69, 0xf3, 0xc7, 0xbb, + 0xc9, 0xcd, 0x73, 0xa9, 0x2e, 0x02, 0x08, 0x04, 0xab, 0x06, 0xb3, + 0x48, 0x83, 0x53, 0x8a, 0x7e, 0x76, 0x8f, 0x55, 0x84, 0x48, 0x04, + 0x4b, 0x8b, 0x80, 0x1a, 0x4b, 0x51, 0xfe, 0xc5, 0xae, 0xd1, 0xfe, + 0xf8, 0xfe, 0xe5, 0xfe, 0xe1, 0xfe, 0xef, 0x69, 0x61, 0x1e, 0x8f, + 0x0c, 0x36, 0xaa, 0x03, 0x3b, 0x01, 0xc8, 0xfc, 0x3a, 0x84, 0xbf, + 0x65, 0xc8, 0xe0, 0xde, 0xc2, 0x64, 0xbb, 0x00, 0x01, 0x01, 0x43, + 0x01, 0xdb, 0x03, 0x8a, 0x04, 0xa8, 0x00, 0x0b, 0x00, 0x3d, 0x40, + 0x0e, 0x07, 0x03, 0x03, 0x04, 0x08, 0x00, 0x00, 0x0b, 0x04, 0x0b, + 0x0c, 0x0d, 0x07, 0x02, 0xb8, 0x01, 0x19, 0x40, 0x0f, 0x59, 0x1f, + 0x07, 0x01, 0x1f, 0x07, 0x3f, 0x07, 0x02, 0x07, 0x07, 0x09, 0x06, + 0x04, 0x00, 0x00, 0x2f, 0x32, 0x2f, 0x33, 0x39, 0x2f, 0x5d, 0x71, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x11, 0x23, 0x11, + 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x03, 0x12, 0xfe, 0xa8, 0x77, + 0x77, 0x01, 0x58, 0x78, 0x01, 0xdb, 0x01, 0x43, 0xfe, 0xbd, 0x02, + 0xcd, 0xfe, 0xd8, 0x01, 0x28, 0xfd, 0x33, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x75, 0xfe, 0x57, 0x04, 0x57, 0x04, 0x3a, 0x00, 0x20, 0x00, + 0x2c, 0x00, 0x51, 0x40, 0x2b, 0x24, 0x00, 0x12, 0x0b, 0x0f, 0x04, + 0x07, 0x2a, 0x2a, 0x19, 0x19, 0x0f, 0x07, 0x0c, 0x00, 0x05, 0x2d, + 0x2e, 0x04, 0x21, 0x50, 0x59, 0x12, 0x07, 0x0d, 0x04, 0x04, 0x1d, + 0x0d, 0x1d, 0x27, 0x50, 0x59, 0x1d, 0x1c, 0x0f, 0x0c, 0x0d, 0x0c, + 0x50, 0x59, 0x0d, 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x12, 0x39, 0x39, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x33, 0x32, 0x11, 0x33, 0x31, 0x30, 0x37, 0x34, 0x3e, 0x01, + 0x33, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x3f, 0x01, 0x21, 0x35, 0x21, + 0x15, 0x05, 0x06, 0x15, 0x14, 0x1e, 0x04, 0x15, 0x14, 0x0e, 0x01, + 0x23, 0x22, 0x2e, 0x01, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x75, 0x7e, 0xde, 0x83, 0x20, 0x29, + 0x2b, 0x39, 0xb1, 0xfd, 0xab, 0x03, 0x25, 0xfe, 0xf5, 0x2d, 0x3d, + 0x5d, 0x6b, 0x5d, 0x3d, 0x80, 0xe7, 0x8e, 0x8f, 0xe3, 0x7b, 0x01, + 0xed, 0x9a, 0xa3, 0xa5, 0x98, 0x9b, 0xaa, 0xa9, 0x38, 0x88, 0xda, + 0x79, 0x20, 0x3c, 0x26, 0x29, 0x3c, 0x2c, 0x89, 0x8b, 0x87, 0xdd, + 0x24, 0x1d, 0x1c, 0x36, 0x43, 0x55, 0x74, 0x9a, 0x65, 0x8e, 0xdb, + 0x78, 0x77, 0xdb, 0x01, 0xe5, 0xb1, 0xa5, 0xa7, 0xb4, 0xb6, 0xa5, + 0xa4, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2a, 0xff, 0xc7, + 0x05, 0x0a, 0x05, 0xeb, 0x00, 0x31, 0x00, 0x87, 0x40, 0x47, 0x1a, + 0x1f, 0x26, 0x11, 0x2a, 0x2a, 0x1f, 0x1b, 0x1c, 0x1c, 0x23, 0x1d, + 0x1f, 0x00, 0x09, 0x31, 0x2f, 0x0e, 0x0e, 0x2b, 0x0f, 0x30, 0x31, + 0x31, 0x05, 0x04, 0x04, 0x0f, 0x1f, 0x03, 0x32, 0x33, 0x31, 0x31, + 0x2c, 0x01, 0x29, 0x09, 0x21, 0x22, 0x21, 0x51, 0x59, 0x2a, 0x11, + 0x1d, 0x1a, 0x04, 0x18, 0x0b, 0x2b, 0x10, 0x03, 0x0f, 0x2f, 0x26, + 0x24, 0x00, 0x22, 0x10, 0x18, 0x13, 0x50, 0x59, 0x18, 0x16, 0x1c, + 0x1c, 0x04, 0x0f, 0x15, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0xc6, 0x33, 0x33, 0x12, 0x17, 0x39, 0x12, + 0x17, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x18, 0x3f, 0x33, 0x2f, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x31, 0x30, + 0x01, 0x1e, 0x01, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2b, 0x01, + 0x07, 0x06, 0x15, 0x11, 0x23, 0x11, 0x03, 0x16, 0x33, 0x32, 0x37, + 0x15, 0x06, 0x23, 0x22, 0x27, 0x07, 0x23, 0x37, 0x26, 0x35, 0x11, + 0x23, 0x35, 0x33, 0x37, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x01, + 0x11, 0x33, 0x11, 0x07, 0x01, 0x33, 0x03, 0xee, 0x63, 0x5a, 0xa8, + 0x31, 0x41, 0x01, 0x85, 0x09, 0xa8, 0xeb, 0x1b, 0x43, 0x24, 0x44, + 0x59, 0x5d, 0x49, 0x30, 0x2e, 0xa1, 0x7c, 0x0c, 0x7d, 0x84, 0x35, + 0x6e, 0xce, 0xce, 0x01, 0x09, 0xb4, 0x02, 0x01, 0x5d, 0xa1, 0x04, + 0x4c, 0x0a, 0xac, 0xc5, 0xfd, 0x2f, 0x02, 0xae, 0x9a, 0x7b, 0xc4, + 0x3c, 0x50, 0xfd, 0x8d, 0x01, 0xfc, 0xfe, 0xa9, 0x26, 0x0e, 0x85, + 0x18, 0x1b, 0x44, 0xb6, 0x2d, 0x3b, 0x02, 0xd2, 0x83, 0xf2, 0xf2, + 0x83, 0xfd, 0xad, 0x01, 0x83, 0x02, 0xe5, 0xfe, 0x7e, 0x5e, 0x01, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9d, 0x00, 0x00, 0x03, 0x30, + 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x2e, 0x40, 0x16, 0x04, 0x08, 0x08, + 0x01, 0x09, 0x09, 0x0c, 0x0d, 0x07, 0x0b, 0x00, 0x0b, 0x50, 0x59, + 0x04, 0x00, 0x00, 0x02, 0x09, 0x15, 0x02, 0x0f, 0x00, 0x3f, 0x3f, + 0x12, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x01, 0x9d, + 0x6d, 0xb4, 0x72, 0x72, 0xb4, 0x6d, 0x02, 0x69, 0x01, 0xd1, 0xfe, + 0x2f, 0x85, 0xfe, 0x1c, 0x01, 0xe4, 0x00, 0xff, 0xff, 0x01, 0x9d, + 0x00, 0x00, 0x03, 0x30, 0x04, 0x3a, 0x12, 0x06, 0x05, 0x9a, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x41, 0xfe, 0x57, 0x04, 0x8c, 0x04, 0x4d, + 0x00, 0x1e, 0x00, 0x25, 0x00, 0x2c, 0x00, 0x5d, 0x40, 0x2f, 0x29, + 0x23, 0x09, 0x1b, 0x1b, 0x01, 0x1c, 0x22, 0x2a, 0x2a, 0x13, 0x10, + 0x1c, 0x10, 0x2d, 0x2e, 0x1c, 0x1c, 0x23, 0x13, 0x1e, 0x00, 0x1e, + 0x50, 0x59, 0x29, 0x10, 0x00, 0x00, 0x15, 0x04, 0x15, 0x1f, 0x50, + 0x59, 0x17, 0x15, 0x16, 0x0d, 0x26, 0x50, 0x59, 0x09, 0x0d, 0x10, + 0x04, 0x0f, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, + 0x31, 0x30, 0x13, 0x33, 0x35, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x15, + 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x33, 0x15, 0x23, 0x02, + 0x21, 0x22, 0x27, 0x23, 0x16, 0x15, 0x11, 0x23, 0x11, 0x23, 0x01, + 0x32, 0x36, 0x37, 0x21, 0x1e, 0x01, 0x13, 0x22, 0x06, 0x07, 0x21, + 0x2e, 0x01, 0x41, 0x6c, 0x06, 0xae, 0x01, 0x04, 0x05, 0x04, 0x30, + 0x9e, 0x81, 0xbb, 0xc5, 0x0c, 0x4e, 0x4d, 0x17, 0xfe, 0x8a, 0xfa, + 0x56, 0x05, 0x04, 0xb4, 0x6c, 0x02, 0x41, 0x7d, 0x7c, 0x07, 0xfd, + 0xdf, 0x08, 0x8b, 0x90, 0x8e, 0x87, 0x0b, 0x02, 0x1d, 0x09, 0x7b, + 0x02, 0x69, 0xf4, 0xa7, 0x36, 0x04, 0x31, 0x66, 0x13, 0x64, 0x5d, + 0xeb, 0xf9, 0x85, 0xfe, 0x08, 0xbc, 0x08, 0xa2, 0xfe, 0x59, 0x03, + 0x8d, 0xfe, 0x8d, 0xad, 0xc6, 0xc1, 0xb2, 0x03, 0x51, 0xae, 0xab, + 0xb7, 0xa2, 0x00, 0x02, 0x00, 0x54, 0xff, 0xec, 0x04, 0x78, 0x04, + 0x3a, 0x00, 0x14, 0x00, 0x1d, 0x00, 0x49, 0x40, 0x24, 0x1a, 0x03, + 0x03, 0x13, 0x02, 0x19, 0x06, 0x06, 0x0b, 0x07, 0x02, 0x07, 0x1e, + 0x1f, 0x1a, 0x0b, 0x14, 0x00, 0x14, 0x50, 0x59, 0x08, 0x04, 0x00, + 0x00, 0x0f, 0x02, 0x0f, 0x15, 0x50, 0x59, 0x0f, 0x16, 0x06, 0x02, + 0x0f, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, + 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x3d, + 0x01, 0x23, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x16, + 0x54, 0x67, 0xb5, 0x01, 0xee, 0xb5, 0x65, 0x65, 0xe2, 0xcc, 0xc9, + 0xe1, 0x67, 0x02, 0x12, 0x81, 0x77, 0xfe, 0x12, 0x77, 0x02, 0x69, + 0x01, 0xd1, 0xfe, 0x2f, 0x01, 0xd1, 0xfe, 0x2f, 0x85, 0x7b, 0xb7, + 0xc6, 0xc5, 0xb8, 0x7b, 0xfe, 0x93, 0x8a, 0x8b, 0x58, 0x58, 0x8d, + 0x88, 0x00, 0x02, 0x00, 0x2a, 0xff, 0xec, 0x04, 0xa2, 0x04, 0x3a, + 0x00, 0x23, 0x00, 0x2c, 0x00, 0x61, 0x40, 0x32, 0x2a, 0x0b, 0x01, + 0x21, 0x04, 0x08, 0x13, 0x0f, 0x0c, 0x27, 0x27, 0x16, 0x1a, 0x1a, + 0x0f, 0x08, 0x21, 0x04, 0x2d, 0x2e, 0x29, 0x19, 0x23, 0x00, 0x23, + 0x50, 0x59, 0x16, 0x0b, 0x00, 0x00, 0x1e, 0x06, 0x1e, 0x24, 0x50, + 0x59, 0x1e, 0x16, 0x13, 0x0f, 0x08, 0x05, 0x06, 0x05, 0x50, 0x59, + 0x10, 0x06, 0x0f, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x33, 0x31, 0x30, 0x13, 0x33, 0x3e, 0x01, 0x37, 0x21, 0x35, + 0x21, 0x15, 0x0e, 0x01, 0x07, 0x21, 0x2e, 0x01, 0x27, 0x35, 0x21, + 0x15, 0x21, 0x1e, 0x01, 0x17, 0x33, 0x15, 0x23, 0x17, 0x15, 0x14, + 0x00, 0x23, 0x22, 0x00, 0x3d, 0x01, 0x23, 0x01, 0x32, 0x36, 0x3d, + 0x01, 0x21, 0x15, 0x14, 0x16, 0x2a, 0x5d, 0x16, 0x5b, 0x69, 0xfe, + 0xf8, 0x01, 0xc6, 0x4e, 0x77, 0x1b, 0x02, 0x4d, 0x1b, 0x77, 0x4e, + 0x01, 0xc7, 0xfe, 0xf7, 0x67, 0x5c, 0x16, 0x5f, 0x4c, 0x01, 0xfe, + 0xf2, 0xe4, 0xe1, 0xfe, 0xf0, 0x4a, 0x02, 0x3b, 0x8f, 0xa8, 0xfd, + 0x93, 0xa7, 0x02, 0x69, 0x51, 0x8f, 0x66, 0x8b, 0x8b, 0x26, 0xa6, + 0x7a, 0x79, 0xa7, 0x26, 0x8b, 0x8b, 0x65, 0x8f, 0x52, 0x85, 0x12, + 0x12, 0xd1, 0xfe, 0xfd, 0x01, 0x00, 0xd4, 0x24, 0xfe, 0x97, 0xbe, + 0x9f, 0x0c, 0x0c, 0x9f, 0xbe, 0x00, 0x00, 0x02, 0x00, 0xaf, 0xfe, + 0x57, 0x04, 0x48, 0x05, 0xcc, 0x00, 0x24, 0x00, 0x30, 0x00, 0x52, + 0x40, 0x27, 0x2b, 0x12, 0x1b, 0x1b, 0x1a, 0x0c, 0x03, 0x25, 0x00, + 0x00, 0x03, 0x07, 0x1a, 0x04, 0x31, 0x32, 0x22, 0x28, 0x50, 0x59, + 0x1e, 0x22, 0x10, 0x1a, 0x01, 0x02, 0x0d, 0x0d, 0x17, 0x15, 0x0f, + 0x2e, 0x50, 0x59, 0x12, 0x0f, 0x16, 0x05, 0x0a, 0xb8, 0x01, 0x0a, + 0xb2, 0x59, 0x05, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x11, 0x33, 0x3f, 0x3f, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x10, 0x07, 0x11, 0x10, 0x21, + 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x23, 0x14, 0x06, 0x07, 0x23, 0x36, 0x35, 0x11, 0x33, + 0x11, 0x14, 0x07, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x03, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x04, + 0x48, 0x5e, 0xfe, 0xe7, 0x3b, 0x49, 0x32, 0x45, 0x7d, 0x3f, 0x48, + 0x7b, 0xa3, 0x33, 0x02, 0x08, 0x02, 0xae, 0x06, 0xb4, 0x04, 0x04, + 0x32, 0xa5, 0x7a, 0xcd, 0xc1, 0xbd, 0x78, 0x87, 0x98, 0x8b, 0x88, + 0x99, 0x88, 0x79, 0x02, 0x22, 0xfe, 0xee, 0x8f, 0xfe, 0xfe, 0xfe, + 0xd8, 0x10, 0xa0, 0x12, 0x94, 0x77, 0x14, 0x59, 0x63, 0x1f, 0x7f, + 0x0a, 0x36, 0xa9, 0x04, 0xed, 0xfe, 0x59, 0x41, 0x58, 0x68, 0x5a, + 0xfe, 0xec, 0xfe, 0xe2, 0xe3, 0xc4, 0xd0, 0xe2, 0xd5, 0xcb, 0xc9, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x84, 0xfe, 0x57, 0x04, 0x70, + 0x05, 0xcc, 0x00, 0x20, 0x00, 0x2c, 0x00, 0x5a, 0x40, 0x13, 0x21, + 0x06, 0x1c, 0x11, 0x11, 0x0f, 0x27, 0x00, 0x0e, 0x0e, 0x0f, 0x0f, + 0x16, 0x06, 0x03, 0x2d, 0x2e, 0x1d, 0x10, 0xb8, 0x01, 0x0a, 0xb4, + 0x59, 0x1d, 0x15, 0x14, 0x19, 0xb8, 0x01, 0x0a, 0x40, 0x13, 0x59, + 0x14, 0x1c, 0x0e, 0x01, 0x08, 0x2a, 0x50, 0x59, 0x0b, 0x08, 0x10, + 0x03, 0x24, 0x50, 0x59, 0x00, 0x03, 0x16, 0x00, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, + 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, + 0x33, 0x27, 0x11, 0x33, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, 0x2e, 0x01, 0x35, 0x01, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x03, 0x63, 0x32, 0xa5, 0x7a, 0xcd, 0xc1, 0x01, 0x8e, 0x7b, 0xa4, + 0x32, 0x02, 0x02, 0xb4, 0x59, 0xfe, 0xe7, 0x3b, 0x49, 0x32, 0x45, + 0x7d, 0x56, 0x03, 0x07, 0xfd, 0xda, 0x78, 0x87, 0x99, 0x8a, 0x8a, + 0x97, 0x88, 0x79, 0xae, 0x68, 0x5a, 0x01, 0x14, 0x01, 0x18, 0x02, + 0x36, 0x5a, 0x62, 0x79, 0x01, 0xc1, 0xfa, 0xcf, 0xfe, 0xe4, 0xfe, + 0xd8, 0x10, 0xa0, 0x12, 0x94, 0x77, 0x10, 0x74, 0x2a, 0x01, 0x70, + 0xe3, 0xc4, 0xd4, 0xdf, 0xd7, 0xc8, 0xc9, 0x00, 0x01, 0x01, 0x57, + 0xfe, 0x57, 0x03, 0x76, 0x05, 0xca, 0x00, 0x21, 0x00, 0x52, 0x40, + 0x1f, 0x1f, 0x01, 0x01, 0x12, 0x07, 0x0e, 0x0c, 0x03, 0x18, 0x03, + 0x0e, 0x03, 0x22, 0x23, 0x16, 0x1b, 0x51, 0x59, 0x16, 0x00, 0x00, + 0x10, 0x11, 0x10, 0x51, 0x59, 0x1f, 0x11, 0x0f, 0x0e, 0x01, 0xb8, + 0x01, 0x0a, 0xb4, 0x59, 0x0e, 0x15, 0x05, 0x0a, 0xb8, 0x01, 0x0a, + 0xb2, 0x59, 0x05, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, + 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, 0x11, 0x23, 0x35, + 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, + 0x06, 0x1d, 0x01, 0x33, 0x15, 0x02, 0xa3, 0x54, 0xfe, 0xe7, 0x36, + 0x45, 0x2f, 0x3f, 0x7d, 0x5f, 0x98, 0x98, 0x82, 0x86, 0x4b, 0x34, + 0x2d, 0x23, 0x45, 0x3e, 0xd3, 0x03, 0xb7, 0xfc, 0xe4, 0xfe, 0xe4, + 0xfe, 0xd8, 0x0f, 0xa0, 0x11, 0x94, 0x77, 0x03, 0xb7, 0x83, 0x7a, + 0x94, 0x82, 0x0c, 0x89, 0x08, 0x46, 0x5c, 0x61, 0x83, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x2e, 0xfe, 0x57, 0x04, 0xcc, 0x04, 0x4b, 0x00, + 0x30, 0x00, 0x3e, 0x00, 0x77, 0x40, 0x27, 0x38, 0x1b, 0x0e, 0x0d, + 0x05, 0x2b, 0x2b, 0x08, 0x31, 0x22, 0x13, 0x13, 0x29, 0x08, 0x08, + 0x0d, 0x1b, 0x03, 0x3f, 0x40, 0x25, 0x0f, 0x29, 0x07, 0x50, 0x59, + 0x29, 0x29, 0x18, 0x1e, 0x1e, 0x35, 0x50, 0x59, 0x21, 0x1e, 0x10, + 0x2e, 0x02, 0xb8, 0x01, 0x0a, 0x40, 0x14, 0x59, 0x2e, 0x2e, 0x18, + 0x0a, 0x18, 0x3b, 0x50, 0x59, 0x14, 0x18, 0x15, 0x0a, 0x11, 0x50, + 0x59, 0x0e, 0x0e, 0x0a, 0x1c, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x05, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x01, 0x23, + 0x15, 0x10, 0x21, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x20, + 0x11, 0x35, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, + 0x33, 0x32, 0x16, 0x17, 0x33, 0x34, 0x36, 0x37, 0x33, 0x06, 0x15, + 0x11, 0x21, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x03, 0x34, 0x2e, + 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, + 0x03, 0xdb, 0x0c, 0x16, 0x1a, 0x16, 0x6c, 0xfe, 0x3b, 0xb1, 0xd2, + 0x1e, 0xb5, 0x12, 0x7b, 0x64, 0x01, 0x0d, 0x02, 0x33, 0xb2, 0x77, + 0xc7, 0xbb, 0xc9, 0xcd, 0x73, 0xa9, 0x2e, 0x02, 0x08, 0x04, 0xab, + 0x06, 0x01, 0x0b, 0x5c, 0x42, 0x33, 0x20, 0xcd, 0x48, 0x83, 0x53, + 0x8a, 0x7e, 0x76, 0x8f, 0x55, 0x84, 0x48, 0x97, 0x06, 0x2a, 0x18, + 0xe0, 0x66, 0xfe, 0x38, 0x8b, 0x80, 0x1a, 0x4b, 0x51, 0x01, 0x3b, + 0xae, 0x68, 0x69, 0x01, 0x08, 0x01, 0x1b, 0x01, 0x1f, 0x01, 0x11, + 0x69, 0x61, 0x1e, 0x94, 0x07, 0x36, 0xaa, 0xfd, 0xb9, 0xfe, 0x75, + 0x52, 0x6e, 0x08, 0x03, 0x4d, 0x84, 0xbf, 0x65, 0xc8, 0xe0, 0xde, + 0xc2, 0x64, 0xbb, 0x00, 0x01, 0x00, 0xeb, 0xfe, 0x57, 0x04, 0x61, + 0x05, 0xcc, 0x00, 0x17, 0x00, 0x5a, 0x40, 0x18, 0x0e, 0x05, 0x05, + 0x0d, 0x0b, 0x07, 0x07, 0x08, 0x0c, 0x0d, 0x04, 0x0f, 0x0f, 0x02, + 0x11, 0x11, 0x0d, 0x15, 0x08, 0x04, 0x18, 0x19, 0x13, 0x00, 0xb8, + 0x01, 0x0a, 0x40, 0x11, 0x59, 0x13, 0x1c, 0x0e, 0x0b, 0x05, 0x06, + 0x04, 0x04, 0x0c, 0x0f, 0x09, 0x01, 0x08, 0x15, 0x04, 0x0f, 0xb8, + 0x01, 0x0a, 0xb2, 0x59, 0x04, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x3f, 0x12, 0x17, 0x39, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x3d, + 0x01, 0x23, 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, 0x11, 0x01, 0x33, + 0x09, 0x01, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x03, + 0x3b, 0x7d, 0x27, 0xfe, 0x92, 0x84, 0xb4, 0xb4, 0x01, 0xdb, 0xd3, + 0xfe, 0x49, 0x01, 0x5a, 0x71, 0xfe, 0xe7, 0x3b, 0x49, 0x32, 0xfe, + 0xf5, 0x94, 0x77, 0x01, 0xee, 0x6d, 0xfe, 0x7f, 0x05, 0xcc, 0xfc, + 0x61, 0x02, 0x0d, 0xfe, 0x2f, 0xfe, 0x32, 0xfe, 0xe4, 0xfe, 0xd8, + 0x10, 0xa0, 0x12, 0x00, 0x01, 0x01, 0xa3, 0xfe, 0x57, 0x03, 0x29, + 0x05, 0xcc, 0x00, 0x0f, 0x00, 0x35, 0x40, 0x0c, 0x04, 0x0b, 0x0b, + 0x09, 0x09, 0x0f, 0x06, 0x06, 0x10, 0x11, 0x0d, 0x02, 0xb8, 0x01, + 0x0a, 0xb6, 0x59, 0x0d, 0x1c, 0x07, 0x01, 0x06, 0x09, 0xb8, 0x01, + 0x0a, 0xb2, 0x59, 0x06, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x05, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x01, 0xa3, + 0x2b, 0x35, 0x7f, 0x64, 0xb4, 0x57, 0xfe, 0xe7, 0x2d, 0x40, 0xff, + 0x0c, 0x94, 0x77, 0x05, 0xcc, 0xfa, 0xcf, 0xfe, 0xe4, 0xfe, 0xd8, + 0x0b, 0x00, 0x01, 0x00, 0x63, 0xfe, 0x57, 0x04, 0xc6, 0x04, 0x4e, + 0x00, 0x33, 0x00, 0x5c, 0x40, 0x14, 0x0f, 0x08, 0x08, 0x09, 0x33, + 0x00, 0x29, 0x20, 0x20, 0x2b, 0x1e, 0x1e, 0x24, 0x00, 0x09, 0x04, + 0x34, 0x35, 0x2b, 0x1e, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x2b, 0x15, + 0x22, 0x27, 0xb8, 0x01, 0x0a, 0x40, 0x13, 0x59, 0x22, 0x1c, 0x2f, + 0x04, 0x13, 0x04, 0x50, 0x59, 0x1a, 0x16, 0x0f, 0x13, 0x10, 0x0c, + 0x0f, 0x00, 0x09, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x3f, 0x33, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x11, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, + 0x17, 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x33, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x33, 0x11, 0x10, 0x21, 0x22, + 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x02, 0x13, 0x31, 0x41, 0x40, 0x4f, + 0xa9, 0x06, 0x95, 0x06, 0x02, 0x22, 0x69, 0x4d, 0x58, 0x57, 0x13, + 0x02, 0x28, 0x6f, 0x55, 0x76, 0x66, 0x62, 0xfe, 0xe7, 0x3b, 0x49, + 0x32, 0x45, 0x7d, 0x61, 0x31, 0x41, 0x42, 0x4d, 0x02, 0xae, 0x9a, + 0x7b, 0xc0, 0xa4, 0xfd, 0xa1, 0x03, 0x53, 0xbd, 0x2a, 0x7f, 0x30, + 0x66, 0x5d, 0x60, 0x64, 0x6a, 0x5a, 0xac, 0xd1, 0xfd, 0xca, 0xfe, + 0xe4, 0xfe, 0xd8, 0x10, 0xa0, 0x12, 0x94, 0x77, 0x02, 0xae, 0x9a, + 0x7b, 0xa8, 0xa8, 0xfd, 0x8d, 0x00, 0x00, 0x01, 0x00, 0xb0, 0xfe, + 0x57, 0x04, 0x70, 0x04, 0x4e, 0x00, 0x26, 0x00, 0x4f, 0x40, 0x11, + 0x16, 0x0d, 0x0d, 0x0e, 0x02, 0x20, 0x20, 0x04, 0x1e, 0x1e, 0x24, + 0x0e, 0x03, 0x27, 0x28, 0x22, 0x00, 0xb8, 0x01, 0x0a, 0x40, 0x11, + 0x59, 0x22, 0x1c, 0x16, 0x1a, 0x1a, 0x09, 0x50, 0x59, 0x1a, 0x10, + 0x11, 0x0f, 0x0e, 0x15, 0x04, 0x1e, 0xb8, 0x01, 0x0a, 0xb2, 0x59, + 0x04, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x32, 0x3d, 0x01, 0x23, 0x11, 0x34, 0x2e, 0x01, 0x23, 0x22, + 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x17, + 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x33, 0x11, 0x10, + 0x21, 0x22, 0x27, 0x35, 0x16, 0x03, 0x4a, 0x7d, 0x66, 0x2a, 0x5c, + 0x59, 0x82, 0x96, 0xb4, 0x06, 0xaa, 0x01, 0x02, 0x03, 0x02, 0x03, + 0x3e, 0xa3, 0x79, 0xb2, 0xa5, 0x5a, 0xfe, 0xe7, 0x3b, 0x49, 0x32, + 0xfe, 0xf5, 0x94, 0x77, 0x02, 0xae, 0x6b, 0x76, 0x34, 0xb2, 0x9e, + 0xfd, 0x8d, 0x03, 0x53, 0xbd, 0x2a, 0x05, 0x2c, 0x39, 0x4f, 0x70, + 0x5d, 0xb1, 0xcc, 0xfd, 0xca, 0xfe, 0xe4, 0xfe, 0xd8, 0x10, 0xa0, + 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xae, 0xfe, 0x57, 0x04, + 0x47, 0x04, 0x4d, 0x00, 0x25, 0x00, 0x32, 0x00, 0x50, 0x40, 0x26, + 0x2d, 0x1f, 0x16, 0x16, 0x17, 0x0d, 0x03, 0x26, 0x00, 0x00, 0x03, + 0x07, 0x17, 0x04, 0x33, 0x34, 0x23, 0x29, 0x50, 0x59, 0x1f, 0x23, + 0x10, 0x1a, 0x0f, 0x17, 0x1c, 0x10, 0x30, 0x50, 0x59, 0x12, 0x0e, + 0x02, 0x10, 0x16, 0x05, 0x0a, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x05, + 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x33, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x10, 0x07, 0x15, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, + 0x33, 0x32, 0x36, 0x3d, 0x01, 0x06, 0x23, 0x22, 0x27, 0x23, 0x16, + 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, 0x1e, 0x02, 0x15, 0x33, + 0x3e, 0x01, 0x33, 0x32, 0x12, 0x03, 0x34, 0x26, 0x23, 0x22, 0x0e, + 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x04, 0x47, 0x7c, 0xfe, + 0xeb, 0x3b, 0x49, 0x32, 0x45, 0x3d, 0x40, 0x36, 0x37, 0xfa, 0x56, + 0x05, 0x04, 0xb4, 0x06, 0xae, 0x01, 0x04, 0x05, 0x04, 0x30, 0x9e, + 0x81, 0xc8, 0xc6, 0xbd, 0x7a, 0x85, 0x6b, 0x79, 0x3f, 0x88, 0x99, + 0x86, 0x7b, 0x02, 0x22, 0xfe, 0xc3, 0x8b, 0xdb, 0xfe, 0xd8, 0x10, + 0xa0, 0x12, 0x43, 0x51, 0x70, 0x0d, 0xbc, 0x08, 0xa2, 0xfe, 0x59, + 0x05, 0x06, 0xa7, 0x36, 0x04, 0x31, 0x66, 0x13, 0x64, 0x5d, 0xfe, + 0xf4, 0xfe, 0xdd, 0xe2, 0xc2, 0x5a, 0xbf, 0x99, 0xd5, 0xca, 0xc5, + 0x00, 0x00, 0x01, 0x01, 0x22, 0xfe, 0x57, 0x03, 0xaa, 0x04, 0x4e, + 0x00, 0x1f, 0x00, 0x46, 0x40, 0x0e, 0x02, 0x19, 0x19, 0x0a, 0x17, + 0x17, 0x1d, 0x04, 0x04, 0x10, 0x20, 0x21, 0x1b, 0x00, 0xb8, 0x01, + 0x0a, 0x40, 0x0e, 0x59, 0x1b, 0x1c, 0x0e, 0x13, 0x52, 0x59, 0x0a, + 0x0e, 0x10, 0x07, 0x0f, 0x04, 0x17, 0xb8, 0x01, 0x0a, 0xb2, 0x59, + 0x04, 0x15, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x3d, + 0x01, 0x23, 0x11, 0x34, 0x27, 0x33, 0x16, 0x15, 0x33, 0x3e, 0x01, + 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x33, + 0x11, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x01, 0x91, 0x7d, 0x5e, + 0x06, 0xaa, 0x08, 0x04, 0x2b, 0x70, 0x66, 0x24, 0x25, 0x24, 0x3c, + 0x70, 0x76, 0x53, 0xfe, 0xe7, 0x33, 0x49, 0x31, 0xfe, 0xf5, 0x94, + 0x77, 0x03, 0x3e, 0x72, 0x8a, 0xb8, 0x25, 0x8b, 0x66, 0x0a, 0xa5, + 0x0a, 0xc1, 0xb4, 0xfe, 0x67, 0xfe, 0xe4, 0xfe, 0xd8, 0x10, 0xa0, + 0x12, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa8, 0xfe, 0x57, 0x04, + 0x25, 0x04, 0x4b, 0x00, 0x34, 0x00, 0x62, 0x40, 0x30, 0x10, 0x0f, + 0x0f, 0x2b, 0x1e, 0x25, 0x24, 0x16, 0x0a, 0x34, 0x34, 0x24, 0x04, + 0x1e, 0x04, 0x35, 0x36, 0x2b, 0x2f, 0x1a, 0x16, 0x04, 0x0c, 0x21, + 0x21, 0x28, 0x50, 0x59, 0x00, 0x25, 0x01, 0x12, 0x03, 0x25, 0x25, + 0x21, 0x10, 0x0c, 0x13, 0x50, 0x59, 0x10, 0x10, 0x0a, 0x0c, 0x16, + 0x02, 0x07, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x02, 0x1c, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x10, 0x21, 0x22, 0x27, + 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x06, 0x23, 0x22, 0x26, 0x27, + 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2f, 0x01, + 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x2e, + 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x01, 0x17, 0x1e, 0x03, + 0x15, 0x04, 0x25, 0xfe, 0xe7, 0x3b, 0x49, 0x32, 0x45, 0x7d, 0x6c, + 0xa2, 0xca, 0xdb, 0x21, 0x9f, 0x17, 0x90, 0x80, 0x89, 0x7f, 0x58, + 0x62, 0x81, 0x9b, 0x83, 0x4a, 0xd3, 0xca, 0xb3, 0xd3, 0x1c, 0xa2, + 0x0f, 0x83, 0x6e, 0x7a, 0x74, 0x30, 0x5e, 0x97, 0x8f, 0x7e, 0x49, + 0x28, 0x81, 0xfe, 0xd8, 0x10, 0xa0, 0x12, 0x94, 0x96, 0x33, 0x85, + 0x8d, 0x1f, 0x57, 0x51, 0x54, 0x54, 0x40, 0x50, 0x1a, 0x22, 0x28, + 0x4d, 0x6e, 0x50, 0x94, 0x9b, 0x7e, 0x8b, 0x14, 0x48, 0x4d, 0x4a, + 0x4b, 0x2e, 0x3c, 0x2a, 0x25, 0x24, 0x3d, 0x4a, 0x61, 0x3e, 0x00, + 0x01, 0x00, 0x81, 0xfe, 0x57, 0x03, 0xd4, 0x05, 0xcc, 0x00, 0x25, + 0x00, 0x56, 0x40, 0x10, 0x18, 0x0b, 0x14, 0x12, 0x20, 0x20, 0x25, + 0x06, 0x1d, 0x14, 0x06, 0x14, 0x26, 0x27, 0x16, 0x1b, 0xb8, 0x01, + 0x0a, 0x40, 0x0d, 0x59, 0x12, 0x1f, 0x50, 0x59, 0x16, 0x12, 0x16, + 0x12, 0x23, 0x09, 0x23, 0x02, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x23, + 0x1c, 0x09, 0x0e, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x09, 0x01, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, + 0x13, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x11, 0x10, 0x21, 0x32, + 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x21, 0x11, 0x10, + 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x21, 0x15, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x81, 0x35, 0x21, 0x36, 0x3b, 0x1a, + 0x01, 0x3c, 0x57, 0x2c, 0x31, 0x42, 0x4d, 0x4b, 0x01, 0xbe, 0xfe, + 0xed, 0x29, 0x2e, 0x2d, 0x28, 0x76, 0xfe, 0xe1, 0x94, 0x9a, 0x34, + 0x33, 0xff, 0x00, 0x0e, 0x2b, 0x51, 0x6d, 0x04, 0x8f, 0x01, 0x62, + 0x12, 0xa3, 0x1b, 0x69, 0x80, 0xfc, 0xca, 0xfe, 0xdd, 0xfe, 0xd8, + 0x08, 0x9d, 0x0a, 0x97, 0x8b, 0xcb, 0xb4, 0xaf, 0x0b, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x6d, 0xfe, 0x56, 0x04, 0x5f, 0x04, 0x3a, + 0x00, 0x16, 0x00, 0x46, 0x40, 0x16, 0x0f, 0x0e, 0x0d, 0x00, 0x12, + 0x0b, 0x02, 0x15, 0x16, 0x16, 0x02, 0x06, 0x12, 0x0e, 0x05, 0x17, + 0x18, 0x15, 0x0e, 0x0f, 0x04, 0x09, 0xb8, 0x01, 0x0a, 0x40, 0x0b, + 0x59, 0x04, 0x0d, 0x12, 0x0d, 0x0d, 0x00, 0x50, 0x59, 0x0d, 0x15, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x10, 0xc4, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x33, 0x11, + 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x21, + 0x01, 0x33, 0x13, 0x16, 0x17, 0x3f, 0x01, 0x13, 0x33, 0x02, 0xff, + 0xee, 0xfe, 0xed, 0x29, 0x2e, 0x2d, 0x28, 0x76, 0xfe, 0xa8, 0xfe, + 0x77, 0xc0, 0xee, 0x0d, 0x38, 0x23, 0x27, 0xf6, 0xbf, 0x8b, 0xfe, + 0xf3, 0xfe, 0xd8, 0x08, 0x9d, 0x0a, 0x97, 0x78, 0x04, 0x3a, 0xfd, + 0x40, 0x28, 0xc5, 0x75, 0x76, 0x02, 0xc2, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x75, 0xfe, 0x56, 0x04, 0x58, 0x04, 0x3a, 0x00, 0x17, + 0x00, 0x58, 0x40, 0x19, 0x05, 0x04, 0x04, 0x01, 0x02, 0x07, 0x08, + 0x08, 0x17, 0x0a, 0x0a, 0x15, 0x0c, 0x0c, 0x10, 0x09, 0x06, 0x00, + 0x03, 0x02, 0x07, 0x18, 0x19, 0x0e, 0x13, 0xb8, 0x01, 0x0a, 0x40, + 0x15, 0x59, 0x0e, 0x17, 0x06, 0x09, 0x03, 0x00, 0x04, 0x17, 0x04, + 0x17, 0x0a, 0x50, 0x59, 0x17, 0x15, 0x07, 0x04, 0x0f, 0x02, 0x15, + 0x00, 0x3f, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, + 0x18, 0x10, 0xc4, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x09, 0x01, 0x23, 0x09, 0x01, 0x33, 0x09, 0x01, 0x33, + 0x09, 0x01, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x3d, 0x01, 0x23, 0x02, 0x5c, 0xfe, 0xdb, 0xc2, 0x01, 0x81, + 0xfe, 0x91, 0xc7, 0x01, 0x0e, 0x01, 0x0c, 0xc9, 0xfe, 0x91, 0x01, + 0x25, 0x71, 0xfe, 0xed, 0x29, 0x2e, 0x2d, 0x28, 0x76, 0x3a, 0x01, + 0xbc, 0xfe, 0x44, 0x02, 0x2c, 0x02, 0x0e, 0xfe, 0x5b, 0x01, 0xa5, + 0xfd, 0xf4, 0xfe, 0x5d, 0xfe, 0xf3, 0xfe, 0xd8, 0x08, 0x9d, 0x0a, + 0x97, 0x78, 0x00, 0x00, 0x01, 0x00, 0xa4, 0xfe, 0x56, 0x04, 0x29, + 0x04, 0x3a, 0x00, 0x13, 0x00, 0x3f, 0x40, 0x16, 0x06, 0x00, 0x12, + 0x07, 0x07, 0x01, 0x05, 0x05, 0x0c, 0x02, 0x00, 0x04, 0x14, 0x15, + 0x13, 0x06, 0x50, 0x59, 0x13, 0x15, 0x0a, 0x0f, 0xb8, 0x01, 0x0a, + 0x40, 0x09, 0x59, 0x0a, 0x1b, 0x03, 0x02, 0x50, 0x59, 0x03, 0x0f, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x37, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, + 0x11, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3d, 0x01, + 0x21, 0xa4, 0x02, 0x95, 0xfd, 0x93, 0x03, 0x38, 0xfd, 0x6a, 0x02, + 0xbb, 0xfe, 0xed, 0x29, 0x2e, 0x2d, 0x28, 0x76, 0xfd, 0x1a, 0x89, + 0x03, 0x26, 0x8b, 0x89, 0xfc, 0xda, 0xfe, 0xf3, 0xfe, 0xd8, 0x08, + 0x9d, 0x0a, 0x97, 0x78, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x57, + 0xfe, 0x56, 0x05, 0x36, 0x04, 0x4e, 0x00, 0x29, 0x00, 0x36, 0x00, + 0x7b, 0x40, 0x17, 0x34, 0x03, 0x0e, 0x0f, 0x26, 0x07, 0x2e, 0x2e, + 0x15, 0x23, 0x1a, 0x1a, 0x1e, 0x1e, 0x15, 0x15, 0x0f, 0x03, 0x03, + 0x37, 0x38, 0x21, 0x1c, 0xb8, 0x01, 0x0a, 0x40, 0x2b, 0x59, 0x21, + 0x1b, 0x06, 0x30, 0x51, 0x59, 0x06, 0x06, 0x00, 0x11, 0x0f, 0x0e, + 0x6f, 0x0e, 0xdf, 0x0e, 0xef, 0x0e, 0xff, 0x0e, 0x05, 0x0b, 0x03, + 0x0e, 0x0e, 0x11, 0x11, 0x0b, 0x50, 0x59, 0x11, 0x10, 0x17, 0x2a, + 0x00, 0x2a, 0x50, 0x59, 0x26, 0x24, 0x00, 0x15, 0x00, 0x3f, 0x32, + 0x32, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x2f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x05, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3f, 0x01, + 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x12, 0x21, 0x32, + 0x16, 0x15, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x14, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x20, 0x11, 0x35, 0x26, 0x27, 0x23, 0x0e, + 0x01, 0x27, 0x32, 0x3e, 0x01, 0x3d, 0x01, 0x07, 0x0e, 0x02, 0x15, + 0x14, 0x16, 0x01, 0x9e, 0xa3, 0xa4, 0xdd, 0xf6, 0xf3, 0x70, 0x78, + 0x79, 0x6e, 0x0b, 0xbc, 0x2e, 0x01, 0x84, 0xcc, 0xce, 0x5d, 0x1a, + 0x21, 0x76, 0x28, 0x2d, 0x2e, 0x29, 0xfe, 0xed, 0xa0, 0x09, 0x06, + 0x45, 0xb7, 0x5a, 0x63, 0x9a, 0x59, 0xc5, 0x7f, 0x83, 0x46, 0x5f, + 0x14, 0xac, 0x96, 0xa8, 0xb4, 0x06, 0x04, 0x3b, 0x84, 0x72, 0x52, + 0x5a, 0x11, 0x01, 0x24, 0xbb, 0xb1, 0xfe, 0x2e, 0xa1, 0x07, 0xee, + 0x97, 0x0a, 0x9d, 0x08, 0x01, 0x28, 0x79, 0x0b, 0xcd, 0x7c, 0x67, + 0x87, 0x5a, 0x9d, 0x53, 0x59, 0x04, 0x02, 0x30, 0x64, 0x51, 0x58, + 0x60, 0x00, 0x02, 0x00, 0x56, 0xfe, 0x56, 0x04, 0xf8, 0x04, 0x4e, + 0x00, 0x22, 0x00, 0x2e, 0x00, 0x5a, 0x40, 0x29, 0x29, 0x14, 0x19, + 0x0d, 0x23, 0x23, 0x20, 0x09, 0x00, 0x00, 0x04, 0x04, 0x20, 0x14, + 0x20, 0x2f, 0x30, 0x1d, 0x10, 0x16, 0x26, 0x50, 0x59, 0x19, 0x16, + 0x10, 0x11, 0x2c, 0x50, 0x59, 0x0d, 0x11, 0x16, 0x0b, 0x21, 0x50, + 0x59, 0x0b, 0x15, 0x07, 0x02, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x07, + 0x1b, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, 0x14, 0x33, + 0x32, 0x37, 0x15, 0x06, 0x23, 0x20, 0x11, 0x35, 0x23, 0x27, 0x35, + 0x23, 0x0e, 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, + 0x17, 0x33, 0x34, 0x36, 0x37, 0x33, 0x06, 0x15, 0x11, 0x33, 0x03, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x04, 0x2d, 0x76, 0x28, 0x2d, 0x2e, 0x29, 0xfe, 0xed, 0x51, 0x02, + 0x04, 0x36, 0x9e, 0x7f, 0xce, 0xc0, 0x01, 0x8e, 0x7b, 0xa0, 0x36, + 0x02, 0x08, 0x04, 0xad, 0x07, 0x44, 0xf8, 0x8a, 0x97, 0x89, 0x78, + 0x79, 0x86, 0x99, 0x8a, 0x78, 0x97, 0x0a, 0x9d, 0x08, 0x01, 0x28, + 0x82, 0x77, 0x3b, 0x6b, 0x5b, 0x01, 0x16, 0x01, 0x16, 0x02, 0x36, + 0x57, 0x65, 0x1e, 0x93, 0x05, 0x3b, 0xec, 0xfd, 0x6a, 0x01, 0x9f, + 0xd3, 0xcc, 0xcc, 0xdf, 0xe3, 0xc4, 0xda, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x56, 0xfe, 0x57, 0x04, 0xd7, 0x05, 0xda, 0x00, 0x22, 0x00, + 0x2e, 0x00, 0x52, 0x40, 0x11, 0x23, 0x07, 0x1e, 0x13, 0x13, 0x18, + 0x29, 0x00, 0x0f, 0x0f, 0x18, 0x07, 0x18, 0x2f, 0x30, 0x20, 0x1b, + 0xb8, 0x01, 0x0a, 0x40, 0x17, 0x59, 0x20, 0x1c, 0x11, 0x16, 0x52, + 0x59, 0x11, 0x00, 0x09, 0x2c, 0x50, 0x59, 0x0c, 0x09, 0x10, 0x04, + 0x26, 0x50, 0x59, 0x00, 0x04, 0x16, 0x00, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x23, 0x0e, + 0x01, 0x23, 0x22, 0x02, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, 0x33, + 0x27, 0x35, 0x10, 0x21, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x15, + 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x20, 0x11, 0x01, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x03, 0x39, 0x04, 0x32, 0xa5, 0x7a, 0xcd, 0xc1, 0x01, 0x8e, 0x7b, + 0xa4, 0x32, 0x02, 0x02, 0x01, 0x1b, 0x41, 0x46, 0x3a, 0x3b, 0x79, + 0x7a, 0x40, 0x2a, 0x3f, 0x3d, 0xfe, 0xe8, 0xfd, 0xda, 0x78, 0x87, + 0x99, 0x8a, 0x8a, 0x97, 0x88, 0x79, 0xae, 0x68, 0x5a, 0x01, 0x14, + 0x01, 0x18, 0x02, 0x36, 0x5a, 0x62, 0x79, 0xa7, 0x01, 0x28, 0x0f, + 0xa8, 0x15, 0x94, 0xfa, 0xe1, 0x94, 0x0f, 0x9a, 0x0f, 0x01, 0x28, + 0x02, 0x9f, 0xe3, 0xc4, 0xd4, 0xdf, 0xd7, 0xc8, 0xc9, 0x00, 0x02, + 0x00, 0x7f, 0xfe, 0x57, 0x05, 0x07, 0x04, 0x4e, 0x00, 0x1d, 0x00, + 0x24, 0x00, 0x6a, 0x40, 0x35, 0x24, 0x00, 0x00, 0x17, 0x12, 0x06, + 0x07, 0x1e, 0x0d, 0x1c, 0x1c, 0x07, 0x17, 0x03, 0x25, 0x26, 0x24, + 0x00, 0x50, 0x59, 0x24, 0x24, 0x14, 0x1a, 0x1a, 0x21, 0x50, 0x59, + 0x1a, 0x10, 0x12, 0x14, 0x5f, 0x06, 0x6f, 0x06, 0x02, 0x00, 0x06, + 0x01, 0x11, 0x03, 0x06, 0x06, 0x14, 0x14, 0x03, 0x50, 0x59, 0x14, + 0x16, 0x0f, 0x0a, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x0f, 0x1c, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x11, 0x14, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x20, 0x11, 0x35, 0x06, 0x23, 0x22, 0x02, + 0x11, 0x10, 0x12, 0x33, 0x20, 0x11, 0x15, 0x27, 0x2e, 0x01, 0x23, + 0x22, 0x06, 0x07, 0x01, 0x3c, 0x9a, 0x94, 0x75, 0x8d, 0x19, 0x9e, + 0x7a, 0x40, 0x2a, 0x3f, 0x3d, 0xfe, 0xe8, 0x68, 0xa1, 0xf0, 0xfb, + 0xfb, 0xe9, 0x01, 0xdd, 0xba, 0x0f, 0x90, 0x87, 0x83, 0x99, 0x06, + 0x01, 0xf7, 0xba, 0xca, 0x5e, 0x48, 0x2d, 0xfe, 0x99, 0x94, 0x0f, + 0x9a, 0x0f, 0x01, 0x28, 0xb1, 0x44, 0x01, 0x1e, 0x01, 0x1a, 0x01, + 0x0c, 0x01, 0x1e, 0xfd, 0xc1, 0x18, 0x8a, 0xab, 0x9d, 0xaf, 0x99, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xd0, 0xfe, 0x57, 0x04, 0xe1, 0x04, + 0x4e, 0x00, 0x2f, 0x00, 0x6a, 0x40, 0x15, 0x1d, 0x03, 0x16, 0x0a, + 0x10, 0x0f, 0x2e, 0x29, 0x22, 0x23, 0x23, 0x0f, 0x1a, 0x07, 0x0a, + 0x03, 0x06, 0x30, 0x31, 0x2b, 0x26, 0xb8, 0x01, 0x0a, 0x40, 0x21, + 0x59, 0x2b, 0x1c, 0x06, 0x19, 0x1a, 0x19, 0x1a, 0x50, 0x59, 0x19, + 0x19, 0x00, 0x0d, 0x0d, 0x13, 0x50, 0x59, 0x10, 0x10, 0x0d, 0x10, + 0x2e, 0x00, 0x22, 0x22, 0x00, 0x00, 0x20, 0x50, 0x59, 0x00, 0x16, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x33, 0x3f, + 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x05, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, + 0x35, 0x34, 0x36, 0x33, 0x20, 0x13, 0x07, 0x2e, 0x01, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x15, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x17, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x06, + 0x23, 0x20, 0x11, 0x35, 0x06, 0x02, 0x64, 0xbf, 0xd5, 0x96, 0x7c, + 0x6b, 0x8d, 0xd1, 0xa5, 0x01, 0x4b, 0x2e, 0xa2, 0x0c, 0x70, 0x5a, + 0x5d, 0x63, 0x96, 0xa3, 0xa7, 0xa7, 0x6f, 0x65, 0xc9, 0x35, 0x9f, + 0x7a, 0x40, 0x2a, 0x3f, 0x3d, 0xfe, 0xe8, 0x63, 0x14, 0xab, 0x96, + 0x6c, 0x93, 0x0d, 0x02, 0x09, 0x85, 0x63, 0x81, 0xa1, 0xfe, 0xfe, + 0x14, 0x46, 0x4a, 0x56, 0x4a, 0x57, 0x55, 0x89, 0x66, 0x61, 0x54, + 0x66, 0xa4, 0x2c, 0xfe, 0x9b, 0x94, 0x0f, 0x9a, 0x0f, 0x01, 0x28, + 0xa9, 0x3c, 0x00, 0x00, 0x00, 0x01, 0x00, 0xd0, 0xfe, 0x57, 0x03, + 0xfd, 0x04, 0x4e, 0x00, 0x2f, 0x00, 0x69, 0x40, 0x33, 0x0b, 0x00, + 0x00, 0x09, 0x1d, 0x1e, 0x17, 0x23, 0x10, 0x2a, 0x2a, 0x23, 0x26, + 0x05, 0x13, 0x1e, 0x09, 0x07, 0x30, 0x31, 0x26, 0x14, 0x13, 0x14, + 0x13, 0x50, 0x59, 0x14, 0x14, 0x20, 0x2f, 0x2d, 0x2d, 0x0d, 0x50, + 0x59, 0x0b, 0x0b, 0x2d, 0x16, 0x1d, 0x1d, 0x20, 0x20, 0x1a, 0x50, + 0x59, 0x20, 0x10, 0x07, 0x02, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x07, + 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x12, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x05, 0x14, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x20, + 0x19, 0x01, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, + 0x12, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x80, 0x7a, 0x40, 0x2a, + 0x3f, 0x3d, 0xfe, 0xe8, 0x9f, 0x35, 0xc9, 0x65, 0x6f, 0xa7, 0xa7, + 0xa1, 0x98, 0x63, 0x5d, 0x59, 0x71, 0x0c, 0xa2, 0x2e, 0x01, 0x4b, + 0xa4, 0xd2, 0x8e, 0x6a, 0x7b, 0x97, 0xd4, 0xc0, 0x86, 0x63, 0x7b, + 0x94, 0x0f, 0x9a, 0x0f, 0x01, 0x28, 0x01, 0x6b, 0x2c, 0xa4, 0x65, + 0x55, 0x61, 0x66, 0x89, 0x54, 0x58, 0x4a, 0x56, 0x4a, 0x46, 0x14, + 0x01, 0x02, 0xa0, 0x82, 0x63, 0x85, 0x09, 0x02, 0x0d, 0x92, 0x6d, + 0x96, 0xab, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x58, 0xfe, + 0x57, 0x05, 0x48, 0x04, 0x4e, 0x00, 0x1f, 0x00, 0x26, 0x00, 0x62, + 0x40, 0x24, 0x20, 0x1e, 0x06, 0x07, 0x26, 0x00, 0x00, 0x19, 0x14, + 0x0e, 0x0d, 0x0d, 0x07, 0x1e, 0x03, 0x27, 0x28, 0x19, 0x20, 0x1f, + 0x20, 0x50, 0x59, 0x0d, 0x1f, 0x1f, 0x1c, 0x0a, 0x1c, 0x23, 0x50, + 0x59, 0x1c, 0x16, 0x16, 0x11, 0xb8, 0x01, 0x0a, 0x40, 0x0c, 0x59, + 0x16, 0x1c, 0x06, 0x06, 0x0a, 0x0a, 0x03, 0x50, 0x59, 0x0a, 0x10, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, + 0x12, 0x13, 0x33, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, + 0x20, 0x19, 0x01, 0x0e, 0x01, 0x23, 0x20, 0x11, 0x35, 0x17, 0x1e, + 0x01, 0x33, 0x32, 0x36, 0x37, 0x02, 0xfb, 0x81, 0x7b, 0x5a, 0x7c, + 0x16, 0x9e, 0x2c, 0xcb, 0x93, 0xcf, 0xdd, 0x09, 0xb0, 0x7a, 0x40, + 0x2a, 0x3f, 0x3d, 0xfe, 0xe5, 0x14, 0xdc, 0xbe, 0xfe, 0x55, 0xba, + 0x0d, 0x76, 0x70, 0x6c, 0x7f, 0x05, 0x02, 0x43, 0xbb, 0xc9, 0x57, + 0x4f, 0x2d, 0x83, 0x7d, 0xfe, 0xf9, 0xfe, 0xfa, 0xfd, 0x44, 0x94, + 0x0f, 0x9a, 0x0f, 0x01, 0x28, 0x02, 0x3b, 0xe1, 0xed, 0x02, 0x3f, + 0x18, 0x8a, 0xab, 0x9d, 0xae, 0x9a, 0x00, 0x02, 0x01, 0xfd, 0xfe, + 0x57, 0x03, 0xf0, 0x05, 0xcc, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x43, + 0x40, 0x16, 0x02, 0x09, 0x09, 0x13, 0x0e, 0x07, 0x07, 0x10, 0x04, + 0x04, 0x14, 0x15, 0x11, 0x10, 0x52, 0x5b, 0x11, 0x01, 0x05, 0x0f, + 0x04, 0x07, 0xb8, 0x01, 0x0a, 0xb4, 0x59, 0x04, 0x15, 0x00, 0x0b, + 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x00, 0x1c, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x20, 0x11, 0x35, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x14, 0x33, 0x32, 0x37, 0x15, 0x06, 0x01, 0x35, 0x33, 0x15, 0x03, + 0x74, 0xfe, 0xe8, 0x5f, 0xb4, 0x5b, 0x7a, 0x40, 0x2a, 0x3f, 0xfe, + 0x4c, 0xb4, 0xfe, 0x57, 0x01, 0x28, 0x81, 0x04, 0x3a, 0xfc, 0x61, + 0xfe, 0xea, 0x94, 0x0f, 0x9a, 0x0f, 0x06, 0xc9, 0xac, 0xac, 0x00, + 0x01, 0x00, 0xad, 0xfe, 0x57, 0x04, 0x20, 0x04, 0x4e, 0x00, 0x23, + 0x00, 0x4f, 0x40, 0x11, 0x00, 0x19, 0x19, 0x22, 0x0c, 0x0d, 0x06, + 0x13, 0x13, 0x1e, 0x0d, 0x22, 0x04, 0x24, 0x25, 0x20, 0x1b, 0xb8, + 0x01, 0x0a, 0x40, 0x16, 0x59, 0x20, 0x1c, 0x18, 0x16, 0x16, 0x03, + 0x50, 0x59, 0x00, 0x00, 0x16, 0x16, 0x0c, 0x0c, 0x10, 0x10, 0x09, + 0x50, 0x59, 0x10, 0x10, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, + 0x12, 0x11, 0x10, 0x02, 0x23, 0x22, 0x27, 0x15, 0x14, 0x33, 0x32, + 0x37, 0x15, 0x06, 0x23, 0x20, 0x19, 0x01, 0x01, 0x63, 0x0f, 0x81, + 0x60, 0x8a, 0x87, 0x81, 0x8e, 0x69, 0x72, 0x0e, 0xb9, 0x1d, 0xd9, + 0xa7, 0xe0, 0xf0, 0xef, 0xe3, 0x8b, 0x66, 0x7a, 0x40, 0x2a, 0x3f, + 0x3d, 0xfe, 0xe8, 0x01, 0x4e, 0x6c, 0x68, 0xd1, 0xd7, 0xe2, 0xbd, + 0x6a, 0x5a, 0x0e, 0x97, 0xac, 0xfe, 0xe1, 0xfe, 0xef, 0xfe, 0xed, + 0xfe, 0xe1, 0x47, 0xae, 0x94, 0x0f, 0x9a, 0x0f, 0x01, 0x28, 0x01, + 0xc3, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0b, 0xfe, 0x57, 0x03, + 0xc1, 0x05, 0xcc, 0x00, 0x21, 0x00, 0x3d, 0x40, 0x0b, 0x03, 0x0e, + 0x0e, 0x00, 0x15, 0x15, 0x1b, 0x22, 0x23, 0x19, 0x1e, 0xb8, 0x01, + 0x0a, 0xb4, 0x59, 0x19, 0x01, 0x11, 0x03, 0xb8, 0x01, 0x0a, 0xb4, + 0x59, 0x11, 0x15, 0x0b, 0x06, 0xb8, 0x01, 0x0a, 0xb2, 0x59, 0x0b, + 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x25, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x33, 0x32, 0x37, + 0x15, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x16, 0x33, 0x32, 0x3e, + 0x01, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x02, 0xb6, 0x7c, 0x7f, 0x02, 0x2f, 0x3b, 0x40, + 0x2a, 0x3f, 0x3d, 0x8b, 0x7f, 0x3c, 0x39, 0x32, 0x37, 0x17, 0x97, + 0x93, 0x6b, 0x2c, 0x31, 0x42, 0x4d, 0x4b, 0xce, 0xad, 0xa9, 0x0b, + 0x42, 0x3a, 0x0f, 0x9a, 0x0f, 0x8a, 0x93, 0xaa, 0x18, 0x27, 0x4e, + 0x67, 0x03, 0x88, 0xad, 0xb5, 0x12, 0xa7, 0x1b, 0x69, 0x80, 0x00, + 0x01, 0x00, 0x85, 0xfe, 0x57, 0x05, 0x1d, 0x04, 0x3a, 0x00, 0x24, + 0x00, 0x51, 0x40, 0x1c, 0x00, 0x24, 0x16, 0x0d, 0x0d, 0x0a, 0x1c, + 0x09, 0x09, 0x12, 0x0a, 0x24, 0x0a, 0x25, 0x26, 0x09, 0x24, 0x0f, + 0x1c, 0x20, 0x20, 0x05, 0x50, 0x59, 0x20, 0x16, 0x18, 0x0b, 0xb8, + 0x01, 0x0a, 0xb4, 0x59, 0x18, 0x15, 0x14, 0x0f, 0xb8, 0x01, 0x0a, + 0xb2, 0x59, 0x14, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x33, + 0x32, 0x37, 0x15, 0x06, 0x23, 0x20, 0x11, 0x35, 0x23, 0x2e, 0x02, + 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x01, 0x3a, + 0x2a, 0x5c, 0x59, 0x82, 0x96, 0xb4, 0x59, 0x7a, 0x41, 0x24, 0x3f, + 0x38, 0xfe, 0xe8, 0x4d, 0x01, 0x02, 0x03, 0x02, 0x03, 0x3e, 0xa3, + 0x79, 0xb2, 0xa5, 0x04, 0x3a, 0xfd, 0x52, 0x6b, 0x76, 0x34, 0xb2, + 0x9e, 0x02, 0x73, 0xfc, 0x61, 0xfe, 0xea, 0x94, 0x0f, 0x9a, 0x0f, + 0x01, 0x28, 0x81, 0x05, 0x2c, 0x39, 0x4f, 0x70, 0x5d, 0xb1, 0xcc, + 0x02, 0xd1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x83, 0xfe, 0x57, 0x04, + 0x4a, 0x04, 0x3a, 0x00, 0x25, 0x00, 0x6a, 0x40, 0x2a, 0x00, 0x19, + 0x19, 0x24, 0x11, 0x0a, 0x0c, 0x10, 0x06, 0x13, 0x13, 0x10, 0x20, + 0x0a, 0x0d, 0x24, 0x06, 0x26, 0x27, 0x19, 0x17, 0x17, 0x03, 0x50, + 0x59, 0x00, 0x00, 0x17, 0x0b, 0x11, 0x11, 0x0a, 0x51, 0x59, 0x17, + 0x11, 0x17, 0x11, 0x22, 0x0e, 0x22, 0x1d, 0xb8, 0x01, 0x0a, 0x40, + 0x0b, 0x59, 0x22, 0x1c, 0x10, 0x0d, 0x0e, 0x0d, 0x50, 0x59, 0x0e, + 0x0f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x2b, 0x01, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x04, + 0x11, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x37, 0x15, 0x06, 0x23, 0x20, 0x19, 0x01, 0x01, 0x35, 0x13, + 0x97, 0x8b, 0x85, 0xa6, 0xa3, 0xb8, 0x52, 0x01, 0x76, 0xfd, 0x55, + 0x03, 0x73, 0xfe, 0x80, 0x01, 0xa4, 0x79, 0xd7, 0x8a, 0xcf, 0x76, + 0x44, 0x3e, 0x40, 0x2a, 0x3f, 0x3d, 0xfe, 0xe8, 0xcc, 0x83, 0x75, + 0x8e, 0x67, 0x8e, 0x81, 0x80, 0x01, 0x55, 0x8d, 0x96, 0xfe, 0xb4, + 0x1d, 0xfe, 0x8e, 0x67, 0xb2, 0x65, 0x6c, 0x32, 0x49, 0x4b, 0x0f, + 0x9a, 0x0f, 0x01, 0x28, 0x01, 0x41, 0x00, 0x00, 0x00, 0x02, 0x01, + 0x2d, 0x01, 0xdb, 0x03, 0xa0, 0x04, 0xf3, 0x00, 0x15, 0x00, 0x21, + 0x00, 0x4a, 0x40, 0x0c, 0x1c, 0x15, 0x0e, 0x0e, 0x0f, 0x16, 0x06, + 0x0f, 0x06, 0x22, 0x23, 0x12, 0xbd, 0x01, 0x30, 0x00, 0x0f, 0x01, + 0x2e, 0x00, 0x08, 0x00, 0x1f, 0x01, 0x49, 0xb2, 0x59, 0x0b, 0x08, + 0xbb, 0x01, 0x2f, 0x00, 0x03, 0x00, 0x19, 0x01, 0x49, 0xb2, 0x59, + 0x00, 0x03, 0xb8, 0x01, 0x31, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, + 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x10, 0x21, 0x22, 0x26, 0x27, + 0x23, 0x17, 0x15, 0x23, 0x11, 0x34, 0x27, 0x33, 0x16, 0x15, 0x01, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x01, 0xac, 0x22, 0x6f, 0x54, 0x8c, 0x83, 0xfe, 0xf1, 0x54, 0x6f, + 0x22, 0x02, 0x02, 0x7b, 0x04, 0x75, 0x07, 0x01, 0x76, 0x50, 0x5d, + 0x68, 0x5e, 0x5e, 0x66, 0x5a, 0x55, 0x04, 0x6a, 0x4a, 0x3f, 0xc2, + 0xc6, 0xfe, 0x70, 0x40, 0x45, 0x55, 0x21, 0x02, 0x5d, 0x84, 0x1a, + 0x31, 0x4a, 0xfe, 0xfc, 0x9d, 0x8e, 0x97, 0x9c, 0x97, 0x8e, 0x8b, + 0x00, 0x00, 0x01, 0x01, 0x3a, 0x01, 0xdc, 0x03, 0x93, 0x04, 0xf4, + 0x00, 0x17, 0x00, 0x4e, 0x40, 0x0d, 0x00, 0x0c, 0x13, 0x12, 0x12, + 0x05, 0x06, 0x0c, 0x06, 0x18, 0x19, 0x0f, 0x15, 0xb8, 0x01, 0x49, + 0xb3, 0x59, 0x13, 0x13, 0x0f, 0xb8, 0x01, 0x31, 0x40, 0x0c, 0x00, + 0x05, 0x10, 0x05, 0x02, 0x1d, 0x03, 0x05, 0x05, 0x09, 0x09, 0x02, + 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x09, 0x01, 0x2f, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x3f, 0x33, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x33, 0x32, 0x36, 0x37, + 0x17, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x01, 0xba, 0xba, 0x42, + 0x56, 0x0b, 0x7c, 0x0e, 0x97, 0x77, 0x98, 0xa5, 0xa1, 0x9b, 0x72, + 0x93, 0x14, 0x7e, 0x16, 0x89, 0x62, 0x56, 0x03, 0x6c, 0xfe, 0xd5, + 0x49, 0x4c, 0x08, 0x6d, 0x85, 0xc9, 0xc4, 0xbe, 0xcd, 0x78, 0x6c, + 0x0a, 0x8a, 0x88, 0x00, 0x02, 0x01, 0x38, 0x01, 0xaa, 0x03, 0x94, + 0x04, 0xf4, 0x00, 0x1d, 0x00, 0x27, 0x00, 0x81, 0x40, 0x1c, 0x04, + 0x05, 0x05, 0x14, 0x08, 0x0f, 0x0e, 0x22, 0x1a, 0x1a, 0x0e, 0x26, + 0x16, 0x02, 0x06, 0x08, 0x07, 0x28, 0x29, 0x02, 0x06, 0x26, 0x16, + 0x04, 0x18, 0x04, 0x18, 0x24, 0xb8, 0x01, 0x49, 0x40, 0x0e, 0x59, + 0x0f, 0x18, 0x1f, 0x18, 0x02, 0x0d, 0x03, 0x18, 0x18, 0x00, 0x0b, + 0x0b, 0x11, 0xb8, 0x01, 0x49, 0x40, 0x0b, 0x59, 0x0f, 0x0f, 0x1f, + 0x0f, 0x02, 0x0d, 0x03, 0x0f, 0x0f, 0x0b, 0xb8, 0x01, 0x31, 0xb4, + 0x04, 0x04, 0x00, 0x00, 0x1e, 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, + 0x00, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x17, 0x39, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x27, 0x06, 0x07, 0x27, + 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x36, 0x33, 0x32, 0x15, 0x14, + 0x0e, 0x01, 0x27, 0x32, 0x3e, 0x01, 0x35, 0x34, 0x23, 0x22, 0x07, + 0x16, 0x02, 0x81, 0x6c, 0x4d, 0x23, 0x19, 0x54, 0x4a, 0x43, 0xa1, + 0x9a, 0x72, 0x93, 0x14, 0x7e, 0x13, 0x8b, 0x61, 0x57, 0x17, 0x81, + 0x87, 0xb6, 0x3f, 0x79, 0x5b, 0x38, 0x4d, 0x29, 0x54, 0x70, 0x63, + 0x2f, 0x01, 0xdd, 0x38, 0x37, 0x34, 0x41, 0x75, 0x66, 0xa3, 0xbd, + 0xce, 0x78, 0x6c, 0x0a, 0x8a, 0x83, 0xa1, 0x5f, 0x45, 0x8b, 0xa2, + 0x3d, 0x5e, 0x39, 0x5e, 0x1e, 0x30, 0x1d, 0x4b, 0x83, 0x33, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x01, 0x1a, 0x01, 0xdd, 0x03, 0xb3, 0x06, + 0x16, 0x00, 0x1b, 0x00, 0x27, 0x00, 0x6a, 0x40, 0x22, 0x22, 0x03, + 0x12, 0x15, 0x10, 0x19, 0x10, 0x0a, 0x0d, 0x08, 0x0f, 0x08, 0x1c, + 0x1c, 0x19, 0x19, 0x13, 0x0b, 0x0f, 0x03, 0x05, 0x28, 0x29, 0x12, + 0x0d, 0x15, 0x0a, 0x04, 0x0b, 0x13, 0x13, 0x0f, 0x06, 0x1f, 0xb8, + 0x01, 0x49, 0xb7, 0x59, 0x08, 0x06, 0x0b, 0x06, 0x0b, 0x00, 0x0f, + 0xbe, 0x01, 0x32, 0x00, 0x00, 0x00, 0x25, 0x01, 0x49, 0x00, 0x59, + 0x00, 0x00, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, + 0x39, 0x39, 0x2f, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x12, 0x17, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, + 0x17, 0x26, 0x27, 0x07, 0x35, 0x37, 0x26, 0x27, 0x33, 0x16, 0x17, + 0x37, 0x15, 0x07, 0x16, 0x12, 0x1d, 0x01, 0x14, 0x06, 0x13, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, + 0x61, 0x9d, 0xaa, 0xa8, 0xa3, 0x5e, 0x40, 0x4a, 0x56, 0xcc, 0x94, + 0x3f, 0x66, 0x8f, 0x34, 0x3f, 0xd0, 0x90, 0x70, 0x7b, 0xa9, 0x28, + 0x5d, 0x6d, 0x6e, 0x5f, 0x62, 0x62, 0x6f, 0x64, 0x01, 0xdd, 0xb5, + 0xac, 0xab, 0xb5, 0x2a, 0x98, 0x50, 0x5d, 0x50, 0x42, 0x35, 0x3b, + 0x18, 0x30, 0x5d, 0x4f, 0x41, 0x69, 0xfe, 0xe6, 0xac, 0x04, 0xb7, + 0xbf, 0x01, 0x61, 0x85, 0x7d, 0x81, 0x81, 0x86, 0x7d, 0x7d, 0x00, + 0x01, 0x01, 0x51, 0x01, 0xdb, 0x03, 0x7b, 0x04, 0xf2, 0x00, 0x25, + 0x00, 0x89, 0x40, 0x16, 0x07, 0x06, 0x1a, 0x1b, 0x15, 0x21, 0x0c, + 0x00, 0x00, 0x21, 0x23, 0x10, 0x1b, 0x06, 0x06, 0x26, 0x27, 0x23, + 0x11, 0x10, 0x11, 0x10, 0xb8, 0x01, 0x49, 0x40, 0x22, 0x59, 0x4f, + 0x11, 0x5f, 0x11, 0x6f, 0x11, 0x03, 0x1f, 0x11, 0x2f, 0x11, 0x3f, + 0x11, 0x03, 0x11, 0x40, 0x09, 0x0c, 0x48, 0x11, 0x11, 0x03, 0x1e, + 0x0f, 0x1a, 0x01, 0x0e, 0x03, 0x1a, 0x1a, 0x1e, 0x1e, 0x18, 0xbe, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x1e, 0x01, 0x31, 0x00, 0x03, 0x00, + 0x09, 0x01, 0x49, 0x40, 0x09, 0x59, 0x40, 0x07, 0x50, 0x07, 0x02, + 0x07, 0x07, 0x03, 0xb8, 0x01, 0x2f, 0x00, 0x3f, 0x33, 0x2f, 0x5d, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x2f, 0x2b, 0x5d, 0x71, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x2b, 0x01, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x1e, + 0x01, 0x03, 0x7b, 0x91, 0x82, 0x7c, 0x90, 0x0b, 0x79, 0x0c, 0x92, + 0x4b, 0x4d, 0x4d, 0x4e, 0x41, 0x3d, 0x3f, 0x4d, 0x43, 0x45, 0x75, + 0x15, 0x7a, 0x0d, 0x8a, 0x6f, 0x78, 0x88, 0x96, 0x52, 0x58, 0x02, + 0xb4, 0x64, 0x75, 0x77, 0x7a, 0x0a, 0x9e, 0x45, 0x3f, 0x3d, 0x44, + 0x64, 0x41, 0x37, 0x36, 0x45, 0x90, 0x0b, 0x6a, 0x79, 0x72, 0x61, + 0x7d, 0x30, 0x0e, 0x62, 0x00, 0x00, 0x01, 0x01, 0xae, 0x01, 0xea, + 0x03, 0x1f, 0x05, 0xfe, 0x00, 0x14, 0x00, 0x40, 0x40, 0x0b, 0x12, + 0x0c, 0x01, 0x01, 0x06, 0x02, 0x02, 0x15, 0x16, 0x0a, 0x0e, 0xbb, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x0a, 0x01, 0x32, 0xb3, 0x00, 0x04, + 0x05, 0x04, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x12, 0x05, 0xba, 0x01, + 0x30, 0x00, 0x02, 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, 0x11, 0x23, + 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x27, 0x22, + 0x06, 0x1d, 0x01, 0x33, 0x15, 0x02, 0x90, 0x7b, 0x67, 0x67, 0x58, + 0x5c, 0x39, 0x1d, 0x36, 0x2f, 0x2a, 0x8f, 0x04, 0x89, 0xfd, 0x61, + 0x02, 0x9f, 0x5c, 0x55, 0x68, 0x5c, 0x08, 0x61, 0x06, 0x31, 0x41, + 0x44, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xae, 0x00, 0xd1, + 0x03, 0x1f, 0x04, 0xe5, 0x00, 0x14, 0x00, 0x40, 0x40, 0x0d, 0x03, + 0x07, 0x07, 0x0c, 0x00, 0x11, 0x11, 0x15, 0x16, 0x06, 0x13, 0x14, + 0x13, 0xb8, 0x01, 0x49, 0xb7, 0x59, 0x03, 0x14, 0x14, 0x0a, 0x01, + 0x0a, 0x0e, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x0a, 0x01, 0xb8, 0x01, + 0x30, 0x00, 0x3f, 0xc4, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x33, 0x11, 0x33, + 0x15, 0x23, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x17, 0x32, + 0x36, 0x3d, 0x01, 0x23, 0x35, 0x02, 0x3d, 0x7b, 0x67, 0x67, 0x58, + 0x5c, 0x39, 0x1d, 0x36, 0x2f, 0x2a, 0x8f, 0x02, 0xff, 0x01, 0xe6, + 0xfe, 0x1a, 0x5c, 0xfe, 0xf2, 0x68, 0x5c, 0x08, 0x61, 0x06, 0x31, + 0x41, 0xfd, 0x5c, 0x00, 0x00, 0xff, 0xff, 0x01, 0x2d, 0x00, 0xbe, + 0x03, 0x9f, 0x04, 0xf1, 0x12, 0x06, 0x05, 0x6c, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x40, 0x01, 0xea, 0x03, 0x8c, 0x06, 0x00, 0x00, 0x16, + 0x00, 0x37, 0x40, 0x0c, 0x08, 0x07, 0x00, 0x10, 0x10, 0x11, 0x07, + 0x11, 0x17, 0x18, 0x03, 0x0c, 0xb8, 0x01, 0x49, 0xb5, 0x59, 0x00, + 0x03, 0x03, 0x07, 0x13, 0xbb, 0x01, 0x2e, 0x00, 0x10, 0x00, 0x07, + 0x01, 0x32, 0x00, 0x3f, 0x33, 0x3f, 0x12, 0x39, 0x2f, 0x33, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x23, + 0x11, 0x34, 0x37, 0x03, 0x15, 0x29, 0x6f, 0x54, 0x77, 0x72, 0x7b, + 0x47, 0x51, 0x58, 0x66, 0x7b, 0x7b, 0x06, 0x03, 0x88, 0x4d, 0x44, + 0x7d, 0x90, 0x01, 0xfc, 0xfe, 0x1c, 0x74, 0x4f, 0x7d, 0x68, 0x01, + 0xc2, 0xfb, 0xea, 0x01, 0x10, 0x70, 0x1e, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x01, 0xd8, 0x01, 0xea, 0x02, 0xf5, 0x06, 0x00, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x46, 0x40, 0x0d, 0x0f, 0x07, 0x0b, 0x04, 0x0c, + 0x0b, 0x03, 0x00, 0x00, 0x10, 0x11, 0x0d, 0x0c, 0xbb, 0x01, 0x48, + 0x00, 0x5b, 0x00, 0x0d, 0x01, 0x32, 0xb3, 0x0a, 0x02, 0x03, 0x02, + 0xb8, 0x01, 0x49, 0xb4, 0x59, 0x07, 0x03, 0x03, 0x05, 0xba, 0x01, + 0x30, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, 0x3f, 0x39, 0x2f, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, + 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x03, 0x35, + 0x33, 0x15, 0x02, 0x2b, 0x53, 0x53, 0x79, 0x51, 0x51, 0x79, 0x79, + 0x01, 0xea, 0x01, 0x6a, 0x58, 0x01, 0x39, 0xfe, 0xc7, 0x58, 0xfe, + 0x96, 0x03, 0x9d, 0x79, 0x79, 0x00, 0x00, 0x01, 0x02, 0x2a, 0x01, + 0xea, 0x02, 0xa3, 0x04, 0xe5, 0x00, 0x03, 0x00, 0x19, 0xb5, 0x03, + 0x00, 0x00, 0x04, 0x05, 0x01, 0xba, 0x01, 0x30, 0x00, 0x00, 0x01, + 0x2e, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x33, 0x11, 0x02, 0x2a, 0x79, 0x01, 0xea, 0x02, + 0xfb, 0xfd, 0x05, 0x00, 0x01, 0x02, 0x2a, 0x01, 0xea, 0x02, 0xa3, + 0x04, 0xe5, 0x00, 0x03, 0x00, 0x19, 0xb5, 0x03, 0x00, 0x00, 0x04, + 0x05, 0x01, 0xba, 0x01, 0x30, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, + 0x3f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x33, 0x11, 0x02, 0x2a, 0x79, 0x01, 0xea, 0x02, 0xfb, 0xfd, 0x05, + 0x00, 0x01, 0x01, 0xd8, 0x01, 0xea, 0x02, 0xf5, 0x04, 0xe5, 0x00, + 0x0b, 0x00, 0x33, 0x40, 0x0c, 0x07, 0x0b, 0x0b, 0x04, 0x00, 0x00, + 0x0c, 0x0d, 0x0a, 0x02, 0x03, 0x02, 0xb8, 0x01, 0x49, 0xb4, 0x59, + 0x07, 0x03, 0x03, 0x05, 0xba, 0x01, 0x30, 0x00, 0x00, 0x01, 0x2e, + 0x00, 0x3f, 0x3f, 0x39, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, + 0x02, 0x2b, 0x53, 0x53, 0x79, 0x51, 0x51, 0x01, 0xea, 0x01, 0x6a, + 0x58, 0x01, 0x39, 0xfe, 0xc7, 0x58, 0xfe, 0x96, 0x00, 0x03, 0x01, + 0x53, 0x00, 0xbf, 0x03, 0x79, 0x06, 0x00, 0x00, 0x10, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x62, 0x40, 0x11, 0x19, 0x03, 0x1c, 0x15, 0x15, + 0x0d, 0x07, 0x1f, 0x0d, 0x03, 0x0a, 0x03, 0x0a, 0x20, 0x21, 0x1d, + 0x1c, 0xbb, 0x01, 0x48, 0x00, 0x5b, 0x00, 0x1d, 0x01, 0x32, 0xb3, + 0x0d, 0x16, 0x06, 0x16, 0xb8, 0x01, 0x49, 0x40, 0x0b, 0x59, 0x0a, + 0x06, 0x40, 0x09, 0x0e, 0x48, 0x06, 0x06, 0x00, 0x08, 0xbe, 0x01, + 0x30, 0x00, 0x00, 0x00, 0x11, 0x01, 0x49, 0x00, 0x59, 0x00, 0x00, + 0x01, 0x35, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, 0x2f, + 0x2b, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x01, + 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x06, 0x27, 0x32, + 0x36, 0x3d, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x35, + 0x33, 0x15, 0x02, 0x3c, 0x6d, 0x7c, 0x63, 0x6b, 0x81, 0x7a, 0x5d, + 0x5d, 0x79, 0x7a, 0x3b, 0x3e, 0x7d, 0x34, 0x2c, 0x37, 0xa6, 0x7a, + 0xbf, 0x61, 0x59, 0x59, 0x5a, 0x02, 0xb9, 0xfd, 0x47, 0x62, 0x1a, + 0x6a, 0x87, 0x64, 0x4d, 0x4a, 0x10, 0x29, 0x29, 0x27, 0x2e, 0x04, + 0x64, 0x79, 0x79, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xe0, 0x00, + 0xbf, 0x02, 0xed, 0x06, 0x00, 0x00, 0x0c, 0x00, 0x28, 0xb7, 0x06, + 0x00, 0x00, 0x0a, 0x0a, 0x0d, 0x0e, 0x0b, 0xbe, 0x01, 0x32, 0x00, + 0x08, 0x00, 0x03, 0x01, 0x48, 0x00, 0x59, 0x00, 0x08, 0x01, 0x35, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, + 0x15, 0x06, 0x23, 0x22, 0x35, 0x11, 0x33, 0x02, 0x5b, 0x27, 0x25, + 0x24, 0x22, 0x2c, 0x22, 0xbf, 0x7b, 0x01, 0x99, 0x39, 0x2f, 0x0a, + 0x72, 0x0a, 0xd0, 0x04, 0x71, 0x00, 0x00, 0x01, 0x01, 0xe1, 0x00, + 0xbf, 0x02, 0xeb, 0x06, 0x00, 0x00, 0x0f, 0x00, 0x3d, 0x40, 0x0c, + 0x04, 0x0b, 0x0b, 0x09, 0x09, 0x0f, 0x06, 0x06, 0x10, 0x11, 0x0d, + 0x02, 0x41, 0x0c, 0x01, 0x48, 0x00, 0x59, 0x00, 0x0d, 0x01, 0x35, + 0x00, 0x07, 0x01, 0x32, 0x00, 0x06, 0x00, 0x09, 0x01, 0x48, 0x00, + 0x59, 0x00, 0x06, 0x01, 0x2e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x16, 0x33, 0x32, 0x3d, 0x01, 0x23, + 0x11, 0x33, 0x11, 0x33, 0x15, 0x14, 0x23, 0x22, 0x27, 0x01, 0xe1, + 0x20, 0x22, 0x56, 0x44, 0x7a, 0x3c, 0xbf, 0x28, 0x23, 0x01, 0x36, + 0x08, 0x68, 0x54, 0x04, 0x16, 0xfc, 0x57, 0xc8, 0xd0, 0x07, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x90, 0x01, 0xea, 0x03, 0x3d, 0x04, 0xe5, + 0x00, 0x05, 0x00, 0x26, 0xb6, 0x04, 0x01, 0x01, 0x00, 0x06, 0x07, + 0x02, 0xbe, 0x01, 0x30, 0x00, 0x01, 0x00, 0x04, 0x01, 0x49, 0x00, + 0x59, 0x00, 0x01, 0x01, 0x2e, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, + 0x11, 0x33, 0x11, 0x21, 0x03, 0x3d, 0xfe, 0x53, 0x78, 0x01, 0x35, + 0x01, 0xea, 0x02, 0xfb, 0xfd, 0x6e, 0x00, 0x00, 0x01, 0x00, 0x7f, + 0x00, 0xbe, 0x04, 0x4e, 0x04, 0xf3, 0x00, 0x2d, 0x00, 0x58, 0x40, + 0x13, 0x16, 0x10, 0x10, 0x11, 0x1d, 0x07, 0x07, 0x08, 0x2d, 0x24, + 0x24, 0x28, 0x08, 0x11, 0x04, 0x2e, 0x2f, 0x26, 0x2b, 0xbb, 0x01, + 0x48, 0x00, 0x59, 0x00, 0x26, 0x01, 0x34, 0xb5, 0x20, 0x1d, 0x16, + 0x1a, 0x1a, 0x0c, 0x41, 0x09, 0x01, 0x49, 0x00, 0x59, 0x00, 0x1a, + 0x01, 0x31, 0x00, 0x13, 0x01, 0x30, 0x00, 0x08, 0x00, 0x11, 0x01, + 0x2e, 0x00, 0x3f, 0x33, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x33, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x27, 0x33, 0x17, 0x15, + 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x11, 0x14, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x35, 0x03, 0xd5, 0x38, 0x4e, 0x4e, 0x5c, 0x79, 0x38, 0x4e, 0x4e, + 0x5c, 0x79, 0x04, 0x73, 0x06, 0x02, 0x26, 0x65, 0x4c, 0x53, 0x61, + 0x13, 0x03, 0x43, 0x9c, 0x70, 0x64, 0xbf, 0x2a, 0x32, 0x25, 0x2c, + 0x51, 0x03, 0xcd, 0x6c, 0x58, 0x77, 0x76, 0xfe, 0x46, 0x01, 0xe3, + 0x6c, 0x58, 0x7b, 0x72, 0xfe, 0x46, 0x02, 0x58, 0xa3, 0x60, 0x23, + 0x4e, 0x43, 0x46, 0x4b, 0x91, 0x7f, 0x8e, 0xfd, 0xa9, 0xd1, 0x0c, + 0x73, 0x0d, 0x69, 0x00, 0x01, 0x00, 0x81, 0x00, 0xbe, 0x04, 0x4c, + 0x04, 0xe5, 0x00, 0x23, 0x00, 0x4a, 0x40, 0x12, 0x1c, 0x19, 0x12, + 0x01, 0x22, 0x07, 0x0b, 0x0b, 0x0a, 0x0a, 0x22, 0x19, 0x03, 0x24, + 0x25, 0x23, 0x08, 0x1a, 0xb8, 0x01, 0x30, 0xb3, 0x04, 0x1f, 0x16, + 0x1f, 0xb8, 0x01, 0x49, 0xb4, 0x59, 0x12, 0x0f, 0x0c, 0x16, 0xba, + 0x01, 0x2f, 0x00, 0x0b, 0x01, 0x34, 0x00, 0x3f, 0x3f, 0x33, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x11, 0x33, 0x11, 0x23, 0x11, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, + 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0xa3, 0x39, 0x4d, 0x4e, + 0x5c, 0x79, 0x78, 0x26, 0x65, 0x4b, 0x53, 0x61, 0x13, 0x02, 0x20, + 0x69, 0x57, 0x70, 0x64, 0x79, 0x39, 0x4d, 0x4e, 0x5c, 0x04, 0xe5, + 0xfe, 0x1c, 0x6d, 0x56, 0x7a, 0x73, 0x01, 0xba, 0xfb, 0xd9, 0x01, + 0xa7, 0x4c, 0x3d, 0x45, 0x4b, 0x42, 0x4e, 0x7e, 0x8e, 0x01, 0xfd, + 0xfe, 0x1c, 0x6d, 0x56, 0x77, 0x76, 0x01, 0xba, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xf0, 0x00, 0xbe, 0x03, 0xdd, 0x04, 0xf3, 0x00, + 0x1f, 0x00, 0x46, 0x40, 0x0d, 0x05, 0x16, 0x16, 0x1a, 0x1f, 0x0e, + 0x0d, 0x1f, 0x0d, 0x20, 0x21, 0x18, 0x1d, 0x41, 0x09, 0x01, 0x48, + 0x00, 0x59, 0x00, 0x18, 0x01, 0x34, 0x00, 0x0e, 0x01, 0x2e, 0x00, + 0x09, 0x00, 0x12, 0x01, 0x49, 0xb2, 0x59, 0x05, 0x09, 0xba, 0x01, + 0x31, 0x00, 0x02, 0x01, 0x30, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x27, 0x33, + 0x17, 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, + 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x23, 0x22, + 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x01, 0x91, 0x04, 0x74, 0x05, + 0x02, 0x2c, 0x6d, 0x53, 0x7a, 0x6f, 0x7b, 0x42, 0x56, 0x57, 0x67, + 0xbf, 0x28, 0x35, 0x22, 0x2f, 0x50, 0x04, 0x42, 0x8f, 0x14, 0x60, + 0x23, 0x50, 0x41, 0x7f, 0x8e, 0xfe, 0x04, 0x01, 0xe3, 0x70, 0x54, + 0x7b, 0x72, 0xfd, 0xeb, 0xd1, 0x0c, 0x72, 0x0c, 0x69, 0x00, 0x00, + 0x01, 0x00, 0xf3, 0x00, 0xbe, 0x03, 0xda, 0x04, 0xf3, 0x00, 0x1e, + 0x00, 0x49, 0x40, 0x0f, 0x17, 0x11, 0x11, 0x12, 0x09, 0x05, 0x00, + 0x12, 0x00, 0x1f, 0x20, 0x17, 0x1b, 0x1b, 0x0d, 0x41, 0x0e, 0x01, + 0x49, 0x00, 0x59, 0x00, 0x1b, 0x01, 0x31, 0x00, 0x14, 0x01, 0x30, + 0x00, 0x12, 0x01, 0x2e, 0x00, 0x07, 0x00, 0x02, 0x01, 0x48, 0x00, + 0x59, 0x00, 0x07, 0x01, 0x34, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x35, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x27, 0x33, 0x17, 0x15, + 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x03, 0x42, 0x50, 0x2b, + 0x1d, 0x2a, 0x2a, 0xbf, 0x42, 0x55, 0x58, 0x67, 0x7a, 0x04, 0x73, + 0x06, 0x02, 0x2c, 0x6d, 0x52, 0x7b, 0x6e, 0x01, 0x99, 0x69, 0x0c, + 0x74, 0x0a, 0xd1, 0x02, 0x3e, 0x70, 0x54, 0x7b, 0x72, 0xfe, 0x46, + 0x02, 0x58, 0xa3, 0x60, 0x23, 0x50, 0x41, 0x7f, 0x8e, 0x00, 0x01, + 0x01, 0x41, 0x01, 0xea, 0x03, 0x8c, 0x04, 0xe4, 0x00, 0x0f, 0x00, + 0x39, 0x40, 0x0f, 0x0b, 0x00, 0x0d, 0x0d, 0x0e, 0x08, 0x05, 0x05, + 0x06, 0x0e, 0x06, 0x10, 0x11, 0x0b, 0x0f, 0xbf, 0x01, 0x30, 0x00, + 0x03, 0x00, 0x0e, 0x01, 0x2e, 0x00, 0x08, 0x01, 0x2e, 0x00, 0x05, + 0x01, 0x30, 0x00, 0x3f, 0x3f, 0x3f, 0x33, 0x3f, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x09, 0x01, 0x16, 0x17, 0x27, 0x11, 0x33, 0x11, + 0x23, 0x01, 0x26, 0x27, 0x17, 0x11, 0x23, 0x11, 0x01, 0xb7, 0x01, + 0x3d, 0x11, 0x16, 0x03, 0x74, 0x72, 0xfe, 0xc7, 0x12, 0x20, 0x05, + 0x73, 0x04, 0xe4, 0xfe, 0x1d, 0x1b, 0x2e, 0x58, 0x01, 0xd4, 0xfd, + 0x06, 0x01, 0xec, 0x1b, 0x40, 0x73, 0xfe, 0x2c, 0x02, 0xfa, 0x00, + 0x00, 0x00, 0x03, 0x01, 0x1e, 0x01, 0xdc, 0x03, 0xaf, 0x04, 0xf4, + 0x00, 0x09, 0x00, 0x10, 0x00, 0x17, 0x00, 0x4e, 0x40, 0x0e, 0x14, + 0x0e, 0x0e, 0x05, 0x15, 0x0d, 0x0d, 0x00, 0x05, 0x00, 0x18, 0x19, + 0x14, 0x0e, 0xb8, 0x01, 0x49, 0xb6, 0x59, 0x14, 0x14, 0x02, 0x07, + 0x07, 0x11, 0x41, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, 0x07, 0x01, + 0x31, 0x00, 0x02, 0x00, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, 0x02, + 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, + 0x21, 0x22, 0x26, 0x35, 0x10, 0x21, 0x32, 0x16, 0x01, 0x32, 0x36, + 0x37, 0x21, 0x1e, 0x01, 0x13, 0x22, 0x06, 0x07, 0x21, 0x2e, 0x01, + 0x03, 0xaf, 0xfe, 0xb4, 0x9a, 0xab, 0x01, 0x4a, 0xac, 0x9b, 0xfe, + 0xb3, 0x66, 0x5e, 0x07, 0xfe, 0x73, 0x07, 0x5f, 0x64, 0x63, 0x60, + 0x07, 0x01, 0x8d, 0x07, 0x5b, 0x03, 0x69, 0xfe, 0x73, 0xc3, 0xca, + 0x01, 0x8b, 0xc6, 0xfe, 0x0c, 0x7b, 0x81, 0x7d, 0x7f, 0x02, 0x5c, + 0x7b, 0x7d, 0x81, 0x77, 0x00, 0x03, 0x01, 0x1e, 0x00, 0xbf, 0x03, + 0xaf, 0x06, 0x00, 0x00, 0x0f, 0x00, 0x16, 0x00, 0x1c, 0x00, 0x5c, + 0x40, 0x12, 0x17, 0x04, 0x14, 0x09, 0x0f, 0x0f, 0x19, 0x06, 0x00, + 0x10, 0x0c, 0x0c, 0x00, 0x04, 0x03, 0x1d, 0x1e, 0x07, 0xb8, 0x01, + 0x32, 0xb3, 0x13, 0x1a, 0x06, 0x1a, 0xb8, 0x01, 0x49, 0xb2, 0x59, + 0x09, 0x06, 0xb8, 0x01, 0x31, 0xb3, 0x14, 0x19, 0x01, 0x19, 0xb8, + 0x01, 0x49, 0xb2, 0x59, 0x0e, 0x01, 0xba, 0x01, 0x2f, 0x00, 0x00, + 0x01, 0x35, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x25, 0x11, 0x2e, 0x01, 0x35, 0x10, 0x25, + 0x11, 0x33, 0x11, 0x1e, 0x01, 0x15, 0x10, 0x05, 0x11, 0x13, 0x34, + 0x26, 0x27, 0x11, 0x3e, 0x01, 0x25, 0x10, 0x17, 0x11, 0x0e, 0x01, + 0x02, 0x2b, 0x81, 0x8c, 0x01, 0x0d, 0x70, 0x90, 0x84, 0xfe, 0xec, + 0x94, 0x48, 0x4c, 0x4b, 0x49, 0xfe, 0x6f, 0x8d, 0x49, 0x44, 0xbf, + 0x01, 0x21, 0x10, 0xc1, 0xb7, 0x01, 0x64, 0x24, 0x01, 0x10, 0xfe, + 0xf0, 0x0e, 0xc3, 0xb7, 0xfe, 0x96, 0x1e, 0xfe, 0xdf, 0x02, 0xa9, + 0x8c, 0x90, 0x0d, 0xfd, 0xae, 0x0f, 0x90, 0x8a, 0xfe, 0xfc, 0x24, + 0x02, 0x4e, 0x14, 0x8e, 0x00, 0x00, 0x00, 0x01, 0x01, 0x37, 0x00, + 0xc0, 0x03, 0x96, 0x04, 0xf2, 0x00, 0x31, 0x00, 0x69, 0x40, 0x12, + 0x00, 0x27, 0x27, 0x19, 0x0d, 0x14, 0x13, 0x05, 0x0d, 0x13, 0x30, + 0x21, 0x30, 0x21, 0x32, 0x33, 0x2e, 0x29, 0xbb, 0x01, 0x48, 0x00, + 0x59, 0x00, 0x2e, 0x01, 0x35, 0x40, 0x0a, 0x19, 0x1c, 0x09, 0x05, + 0x04, 0x10, 0x26, 0x24, 0x24, 0x03, 0xb8, 0x01, 0x49, 0xb3, 0x59, + 0x00, 0x00, 0x24, 0xbb, 0x01, 0x2f, 0x00, 0x10, 0x00, 0x16, 0x01, + 0x49, 0xb3, 0x59, 0x14, 0x14, 0x10, 0xb8, 0x01, 0x31, 0x00, 0x3f, + 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x00, + 0x33, 0x12, 0x17, 0x39, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x12, 0x39, 0x39, 0x33, 0x11, 0x33, 0x11, 0x33, 0x32, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x35, 0x34, + 0x2e, 0x01, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x1f, 0x01, + 0x1e, 0x02, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x15, 0x14, 0x33, + 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x35, 0x11, 0x01, 0xa3, 0x10, + 0x62, 0x57, 0xb3, 0x21, 0x3d, 0x78, 0x67, 0x5c, 0x32, 0x90, 0x89, + 0x7a, 0x8f, 0x13, 0x6e, 0x15, 0x99, 0x53, 0x4f, 0x36, 0x41, 0x50, + 0x79, 0x57, 0x34, 0x9b, 0x8f, 0x73, 0x4f, 0x53, 0x20, 0x24, 0x2b, + 0x22, 0xbd, 0x02, 0xb4, 0x3d, 0x39, 0x76, 0x24, 0x2d, 0x1f, 0x20, + 0x1c, 0x36, 0x4f, 0x38, 0x68, 0x6d, 0x58, 0x63, 0x0e, 0x69, 0x33, + 0x36, 0x28, 0x32, 0x12, 0x16, 0x21, 0x36, 0x54, 0x3e, 0x6c, 0x75, + 0x2a, 0x70, 0x65, 0x08, 0x72, 0x08, 0xd0, 0x01, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x75, 0x00, 0xbf, 0x03, 0x57, 0x06, 0x00, + 0x00, 0x17, 0x00, 0x34, 0x40, 0x0a, 0x0f, 0x16, 0x16, 0x02, 0x09, + 0x09, 0x18, 0x19, 0x0d, 0x12, 0x41, 0x0a, 0x01, 0x48, 0x00, 0x59, + 0x00, 0x0d, 0x01, 0x32, 0x00, 0x00, 0x00, 0x05, 0x01, 0x48, 0x00, + 0x59, 0x00, 0x00, 0x01, 0x35, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x35, + 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x11, 0x14, 0x01, 0xd0, 0x31, 0x2a, 0x30, 0x20, 0x24, 0x29, + 0x13, 0x65, 0x66, 0x49, 0x1e, 0x23, 0x2b, 0x36, 0x32, 0xbf, 0x0d, + 0x71, 0x11, 0x1e, 0x3a, 0x4c, 0x03, 0x37, 0x79, 0x80, 0x0c, 0x76, + 0x13, 0x4b, 0x59, 0xfc, 0xcc, 0xfa, 0x00, 0x00, 0x00, 0x01, 0x01, + 0xb5, 0x00, 0xbf, 0x03, 0x18, 0x05, 0x90, 0x00, 0x1e, 0x00, 0x55, + 0x40, 0x10, 0x0a, 0x00, 0x00, 0x15, 0x19, 0x19, 0x12, 0x04, 0x0e, + 0x0e, 0x1f, 0x20, 0x18, 0x10, 0x11, 0x10, 0xb8, 0x01, 0x49, 0xb3, + 0x59, 0x15, 0x13, 0x11, 0x41, 0x0d, 0x01, 0x30, 0x00, 0x0b, 0x00, + 0x1c, 0x01, 0x49, 0x00, 0x59, 0x00, 0x0b, 0x01, 0x2f, 0x00, 0x02, + 0x00, 0x07, 0x01, 0x48, 0x00, 0x59, 0x00, 0x02, 0x01, 0x35, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0xc6, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x23, + 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x01, 0x23, 0x22, + 0x35, 0x11, 0x23, 0x35, 0x33, 0x37, 0x33, 0x15, 0x33, 0x15, 0x23, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x03, 0x18, 0xac, 0x2c, 0x30, + 0x25, 0x24, 0x23, 0x2a, 0x09, 0x93, 0x55, 0x59, 0x24, 0x52, 0x88, + 0x88, 0x22, 0x2c, 0x1e, 0x28, 0x01, 0x86, 0xc7, 0x0c, 0x71, 0x0d, + 0x28, 0x39, 0x4f, 0xad, 0x01, 0xfd, 0x5c, 0xab, 0xab, 0x5c, 0xfe, + 0x1f, 0x38, 0x2c, 0x0a, 0x00, 0x02, 0x00, 0xf8, 0x01, 0xdd, 0x03, + 0xd5, 0x04, 0xe5, 0x00, 0x18, 0x00, 0x21, 0x00, 0x5b, 0x40, 0x14, + 0x1e, 0x00, 0x00, 0x14, 0x18, 0x1d, 0x0c, 0x03, 0x03, 0x08, 0x04, + 0x18, 0x04, 0x22, 0x23, 0x1e, 0x08, 0x15, 0x16, 0x15, 0xb8, 0x01, + 0x49, 0xb7, 0x59, 0x05, 0x01, 0x16, 0x16, 0x0b, 0x03, 0x18, 0xbb, + 0x01, 0x30, 0x00, 0x10, 0x00, 0x19, 0x01, 0x49, 0xb2, 0x59, 0x0c, + 0x10, 0xba, 0x01, 0x2f, 0x00, 0x0b, 0x01, 0x2e, 0x00, 0x3f, 0x3f, + 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, + 0x17, 0x23, 0x27, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, + 0x23, 0x35, 0x33, 0x11, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x21, 0x15, + 0x14, 0x16, 0x01, 0xbb, 0x01, 0x57, 0x7a, 0x49, 0x49, 0x04, 0x74, + 0x05, 0x02, 0x2c, 0x6e, 0x51, 0x7b, 0x6f, 0x48, 0x48, 0x01, 0x13, + 0x58, 0x67, 0xfe, 0xa9, 0x42, 0x04, 0xe5, 0xfe, 0xb9, 0x01, 0x47, + 0xfe, 0xb9, 0x5e, 0xb3, 0xa2, 0x82, 0x51, 0x3f, 0x7e, 0x8e, 0x57, + 0x5e, 0x01, 0x47, 0xfd, 0x5a, 0x7f, 0x73, 0x0f, 0x3e, 0x6e, 0x55, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x14, 0x01, 0xdd, 0x03, 0xb8, 0x04, + 0xe5, 0x00, 0x31, 0x00, 0x47, 0x40, 0x14, 0x2a, 0x21, 0x11, 0x08, + 0x04, 0x2f, 0x16, 0x0c, 0x03, 0x26, 0x1c, 0x2f, 0x03, 0x2f, 0x32, + 0x33, 0x27, 0x0c, 0x0d, 0x0c, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x24, + 0x0d, 0xbe, 0x01, 0x30, 0x00, 0x00, 0x00, 0x19, 0x01, 0x49, 0x00, + 0x59, 0x00, 0x00, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x12, 0x17, 0x39, 0x31, 0x30, 0x01, + 0x22, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x2b, 0x01, + 0x35, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x3b, + 0x01, 0x15, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x02, 0x15, 0x14, + 0x06, 0x02, 0x66, 0x98, 0xba, 0x24, 0x2a, 0x24, 0x1d, 0x1d, 0x38, + 0x54, 0x3c, 0x4b, 0x1d, 0x22, 0x1d, 0x72, 0x61, 0x60, 0x73, 0x1d, + 0x22, 0x1d, 0x4b, 0x3c, 0x54, 0x38, 0x1d, 0x1d, 0x24, 0x2a, 0x24, + 0xb9, 0x01, 0xdd, 0xb3, 0x96, 0x3e, 0x57, 0x43, 0x35, 0x1d, 0x16, + 0x1d, 0x62, 0x46, 0x3f, 0x2f, 0x46, 0x41, 0x45, 0x2e, 0x71, 0x85, + 0x84, 0x72, 0x2e, 0x45, 0x41, 0x46, 0x2f, 0x3f, 0x46, 0x62, 0x1d, + 0x16, 0x1d, 0x35, 0x43, 0x57, 0x3e, 0x95, 0xb4, 0x00, 0x01, 0x01, + 0x40, 0x01, 0xdd, 0x03, 0x8c, 0x04, 0xe5, 0x00, 0x0f, 0x00, 0x2d, + 0x40, 0x0a, 0x05, 0x04, 0x0b, 0x0c, 0x04, 0x0c, 0x10, 0x11, 0x0b, + 0x04, 0xbe, 0x01, 0x30, 0x00, 0x00, 0x00, 0x08, 0x01, 0x49, 0x00, + 0x59, 0x00, 0x00, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, + 0x35, 0x11, 0x33, 0x11, 0x14, 0x06, 0x02, 0x66, 0x92, 0x94, 0x7b, + 0xab, 0xab, 0x7b, 0x94, 0x01, 0xdd, 0x8e, 0x9f, 0x01, 0xdb, 0xfe, + 0x1d, 0xc3, 0xc3, 0x01, 0xe3, 0xfe, 0x25, 0x9f, 0x8e, 0x00, 0x01, + 0x01, 0x40, 0x01, 0xdd, 0x03, 0x8c, 0x04, 0xe5, 0x00, 0x14, 0x00, + 0x2d, 0x40, 0x0a, 0x09, 0x06, 0x0e, 0x00, 0x06, 0x00, 0x15, 0x16, + 0x11, 0x07, 0xbe, 0x01, 0x30, 0x00, 0x03, 0x00, 0x0c, 0x01, 0x49, + 0x00, 0x59, 0x00, 0x03, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, + 0x11, 0x14, 0x16, 0x33, 0x32, 0x11, 0x34, 0x26, 0x27, 0x33, 0x1e, + 0x01, 0x03, 0x8c, 0xa1, 0x93, 0x93, 0x85, 0x7b, 0x4c, 0x57, 0xb0, + 0x29, 0x25, 0x80, 0x21, 0x2b, 0x03, 0x7d, 0xc7, 0xd9, 0x93, 0xa2, + 0x01, 0xd3, 0xfe, 0x29, 0x67, 0x68, 0x01, 0x3b, 0x5d, 0xc2, 0x4c, + 0x48, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0f, 0x01, 0xea, 0x03, + 0xbe, 0x04, 0xe5, 0x00, 0x09, 0x00, 0x2d, 0x40, 0x0f, 0x08, 0x09, + 0x01, 0x00, 0x05, 0x03, 0x02, 0x02, 0x05, 0x09, 0x03, 0x0a, 0x0b, + 0x03, 0x09, 0xbb, 0x01, 0x2e, 0x00, 0x05, 0x00, 0x00, 0x01, 0x30, + 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x01, + 0x23, 0x03, 0x27, 0x0e, 0x01, 0x03, 0x23, 0x02, 0x22, 0x91, 0x01, + 0x0b, 0x82, 0xa2, 0x30, 0x0e, 0x14, 0xb7, 0x82, 0x04, 0xe5, 0xfd, + 0x05, 0x01, 0xf1, 0xa7, 0x34, 0x43, 0xfd, 0xdf, 0x00, 0x01, 0x01, + 0x34, 0x01, 0xea, 0x03, 0x99, 0x04, 0xe5, 0x00, 0x09, 0x00, 0x40, + 0x40, 0x0e, 0x08, 0x02, 0x06, 0x07, 0x03, 0x01, 0x06, 0x01, 0x0b, + 0x0a, 0x06, 0x03, 0x04, 0x03, 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, + 0x04, 0x01, 0x30, 0xb3, 0x01, 0x07, 0x00, 0x07, 0xbb, 0x01, 0x49, + 0x00, 0x59, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x35, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x15, 0x01, 0x34, 0x01, + 0xc2, 0xfe, 0x59, 0x02, 0x31, 0xfe, 0x3e, 0x01, 0xdb, 0x01, 0xea, + 0x60, 0x02, 0x39, 0x62, 0x60, 0xfd, 0xc7, 0x62, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xf4, 0x00, 0xbe, 0x03, 0xd9, 0x04, 0xe5, 0x00, 0x14, + 0x00, 0x57, 0x40, 0x11, 0x13, 0x0f, 0x0d, 0x0b, 0x06, 0x14, 0x14, + 0x0e, 0x12, 0x0d, 0x12, 0x15, 0x16, 0x12, 0x0f, 0x10, 0x0f, 0xbb, + 0x01, 0x49, 0x00, 0x59, 0x00, 0x10, 0x01, 0x30, 0xb3, 0x0d, 0x13, + 0x0c, 0x13, 0x41, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, 0x0c, 0x01, + 0x2e, 0x00, 0x08, 0x00, 0x03, 0x01, 0x48, 0x00, 0x59, 0x00, 0x08, + 0x01, 0x34, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, + 0x3d, 0x01, 0x21, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, + 0x03, 0x59, 0x1d, 0x26, 0x21, 0x1c, 0x31, 0x24, 0xa3, 0xfe, 0x13, + 0x01, 0xc2, 0xfe, 0x59, 0x02, 0x31, 0xfe, 0x3e, 0x01, 0xdb, 0x01, + 0x99, 0x39, 0x30, 0x08, 0x71, 0x09, 0xd1, 0x5b, 0x60, 0x02, 0x39, + 0x62, 0x61, 0xfd, 0xc8, 0x00, 0x00, 0x02, 0x01, 0x0d, 0x01, 0x6d, + 0x03, 0xbf, 0x04, 0xe5, 0x00, 0x16, 0x00, 0x1f, 0x00, 0x73, 0x40, + 0x18, 0x0a, 0x19, 0x19, 0x0e, 0x00, 0x00, 0x06, 0x16, 0x16, 0x12, + 0x10, 0x1d, 0x06, 0x06, 0x11, 0x15, 0x10, 0x15, 0x20, 0x21, 0x15, + 0x12, 0x13, 0x12, 0xb8, 0x01, 0x49, 0xb2, 0x59, 0x03, 0x17, 0xb8, + 0x01, 0x49, 0x40, 0x0c, 0x59, 0x0f, 0x03, 0x1f, 0x03, 0x02, 0x0d, + 0x03, 0x03, 0x03, 0x0f, 0x13, 0xb8, 0x01, 0x30, 0xb4, 0x19, 0x10, + 0x16, 0x0f, 0x16, 0xb8, 0x01, 0x49, 0xb3, 0x59, 0x0c, 0x0a, 0x0f, + 0xb8, 0x01, 0x2e, 0x00, 0x3f, 0x33, 0xc4, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x18, 0x3f, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x2b, 0x01, 0x06, 0x07, 0x27, 0x37, 0x23, 0x35, 0x01, + 0x21, 0x35, 0x21, 0x15, 0x01, 0x25, 0x22, 0x07, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x26, 0x02, 0x0c, 0x46, 0x7f, 0x42, 0x52, 0x5a, 0x5e, + 0x68, 0xac, 0x1e, 0x1a, 0x5e, 0x25, 0xcf, 0x01, 0xc1, 0xfe, 0x5a, + 0x02, 0x30, 0xfe, 0x3e, 0x01, 0x7b, 0x42, 0x51, 0x75, 0x34, 0x30, + 0x26, 0x02, 0x4c, 0x79, 0x6f, 0x58, 0x48, 0x54, 0x56, 0x3a, 0x43, + 0x2b, 0x52, 0x61, 0x02, 0x38, 0x62, 0x60, 0xfd, 0xc7, 0x81, 0x81, + 0x20, 0x26, 0x1c, 0x1f, 0x00, 0x00, 0x01, 0x01, 0x1e, 0x00, 0xbe, + 0x03, 0xaf, 0x04, 0xe5, 0x00, 0x19, 0x00, 0x5e, 0x40, 0x14, 0x0d, + 0x0c, 0x03, 0x16, 0x18, 0x02, 0x12, 0x06, 0x06, 0x02, 0x16, 0x19, + 0x0c, 0x05, 0x1a, 0x1b, 0x17, 0x03, 0x03, 0x16, 0xb8, 0x01, 0x49, + 0xb6, 0x59, 0x03, 0x03, 0x09, 0x00, 0x09, 0x0f, 0xb8, 0x01, 0x49, + 0xb3, 0x59, 0x0d, 0x0d, 0x09, 0xb8, 0x01, 0x34, 0xb3, 0x02, 0x19, + 0x00, 0x19, 0xbb, 0x01, 0x49, 0x00, 0x59, 0x00, 0x00, 0x01, 0x30, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x05, 0x1e, 0x01, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x2b, 0x01, 0x35, 0x01, 0x21, 0x01, 0x3e, 0x02, 0x59, + 0xfe, 0xfb, 0x87, 0x96, 0xba, 0x9c, 0x88, 0xa4, 0x0f, 0x79, 0x1e, + 0xa8, 0x65, 0x72, 0x7b, 0x70, 0x38, 0x01, 0x0b, 0xfe, 0x22, 0x04, + 0xe5, 0x7e, 0xfe, 0x13, 0xae, 0x8d, 0x9b, 0xc2, 0x89, 0x81, 0x09, + 0xb2, 0x8b, 0x75, 0x6e, 0x7f, 0x65, 0x01, 0x10, 0x00, 0x00, 0x03, + 0x01, 0x2b, 0x01, 0xe2, 0x03, 0xa2, 0x06, 0x05, 0x00, 0x0a, 0x00, + 0x11, 0x00, 0x18, 0x00, 0x6d, 0x40, 0x0e, 0x0f, 0x15, 0x15, 0x06, + 0x0e, 0x16, 0x16, 0x00, 0x06, 0x00, 0x19, 0x1a, 0x15, 0x0f, 0xb8, + 0x01, 0x49, 0x40, 0x21, 0x59, 0x6f, 0x15, 0x7f, 0x15, 0xaf, 0x15, + 0xbf, 0x15, 0x04, 0x0f, 0x15, 0x1f, 0x15, 0x4f, 0x15, 0x5f, 0x15, + 0x6f, 0x15, 0x8f, 0x15, 0x9f, 0x15, 0x07, 0x0b, 0x03, 0x15, 0x15, + 0x03, 0x08, 0x08, 0x12, 0x41, 0x0a, 0x01, 0x49, 0x00, 0x59, 0x00, + 0x08, 0x01, 0x33, 0x00, 0x03, 0x00, 0x0b, 0x01, 0x49, 0x00, 0x59, + 0x00, 0x03, 0x01, 0x2f, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x71, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, + 0x10, 0x21, 0x32, 0x12, 0x01, 0x32, 0x36, 0x37, 0x21, 0x1e, 0x01, + 0x13, 0x22, 0x06, 0x07, 0x21, 0x2e, 0x01, 0x03, 0xa2, 0xa4, 0x9b, + 0x93, 0xa5, 0x01, 0x3d, 0xa4, 0x96, 0xfe, 0xc0, 0x61, 0x59, 0x04, + 0xfe, 0x8d, 0x03, 0x58, 0x62, 0x61, 0x58, 0x04, 0x01, 0x73, 0x04, + 0x55, 0x03, 0xf5, 0xfe, 0xf3, 0xfe, 0xfa, 0x01, 0x04, 0x01, 0x0f, + 0x02, 0x10, 0xfe, 0xf9, 0xfd, 0x41, 0xc1, 0xca, 0xc1, 0xca, 0x03, + 0x6b, 0xba, 0xc9, 0xc9, 0xba, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, + 0xb0, 0x04, 0xc2, 0x01, 0x50, 0x06, 0x29, 0x00, 0x05, 0x00, 0x09, + 0x00, 0x0d, 0x00, 0x41, 0x40, 0x20, 0x00, 0x05, 0x03, 0x02, 0x05, + 0x02, 0x08, 0x0d, 0x0a, 0x0a, 0x0e, 0x06, 0x08, 0x08, 0x0e, 0x08, + 0x09, 0x90, 0x5b, 0x08, 0x08, 0x03, 0x40, 0x00, 0x00, 0x0a, 0x0a, + 0x0b, 0x90, 0x5b, 0x0a, 0x94, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x1a, 0xcd, 0x32, 0x2f, 0x2b, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x03, 0x35, 0x33, 0x13, 0x15, 0x37, 0x35, + 0x33, 0x15, 0x05, 0x35, 0x33, 0x15, 0x2c, 0xd2, 0xbe, 0x5f, 0x36, + 0xa3, 0xfd, 0x60, 0xa5, 0x04, 0xc2, 0x01, 0x42, 0x25, 0xfe, 0xba, + 0x21, 0xaf, 0xb8, 0xb8, 0xae, 0xb8, 0xb8, 0x00, 0x03, 0xfe, 0x84, + 0x04, 0xc2, 0x01, 0x7d, 0x06, 0x29, 0x00, 0x05, 0x00, 0x09, 0x00, + 0x0d, 0x00, 0x41, 0x40, 0x20, 0x02, 0x03, 0x05, 0x00, 0x03, 0x00, + 0x08, 0x0d, 0x0a, 0x0a, 0x0e, 0x06, 0x08, 0x08, 0x0e, 0x08, 0x09, + 0x90, 0x5b, 0x08, 0x08, 0x02, 0x40, 0x05, 0x05, 0x0a, 0x0a, 0x0b, + 0x90, 0x5b, 0x0a, 0x94, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x1a, 0xcd, 0x32, 0x2f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x03, 0x35, 0x13, 0x33, 0x15, 0x03, 0x25, 0x35, 0x33, + 0x15, 0x05, 0x35, 0x33, 0x15, 0x8c, 0x5f, 0xbe, 0xd2, 0x01, 0x1b, + 0xa3, 0xfd, 0x07, 0xa5, 0x04, 0xc2, 0x21, 0x01, 0x46, 0x25, 0xfe, + 0xbe, 0xaf, 0xb8, 0xb8, 0xae, 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xff, 0x85, 0xfe, 0x4e, 0x00, 0x66, 0xff, 0xaa, 0x00, 0x2c, + 0x00, 0x34, 0x40, 0x1a, 0x29, 0x02, 0x1f, 0x0c, 0x07, 0x24, 0x24, + 0x00, 0x0c, 0x02, 0x04, 0x16, 0x11, 0x1a, 0x1a, 0x16, 0x2d, 0x29, + 0x07, 0x1f, 0x11, 0x04, 0x2c, 0x00, 0x13, 0x18, 0x00, 0x2f, 0x33, + 0xcc, 0x32, 0x17, 0x39, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x12, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x22, 0x35, 0x34, 0x3e, 0x02, 0x35, 0x34, 0x2e, 0x02, 0x35, 0x34, + 0x3e, 0x02, 0x35, 0x34, 0x23, 0x22, 0x07, 0x27, 0x36, 0x33, 0x32, + 0x15, 0x14, 0x0e, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x15, 0x14, 0x0e, + 0x02, 0x15, 0x14, 0x16, 0x17, 0x5a, 0xb3, 0x21, 0x29, 0x21, 0x21, + 0x29, 0x21, 0x24, 0x2a, 0x24, 0x31, 0x2b, 0x2f, 0x09, 0x3c, 0x3c, + 0x69, 0x20, 0x25, 0x20, 0x1d, 0x24, 0x1d, 0x1d, 0x24, 0x1d, 0x27, + 0x32, 0xfe, 0x4e, 0x40, 0x10, 0x14, 0x0e, 0x0a, 0x06, 0x09, 0x08, + 0x0a, 0x10, 0x12, 0x0f, 0x15, 0x12, 0x10, 0x09, 0x11, 0x14, 0x30, + 0x21, 0x3e, 0x18, 0x1d, 0x13, 0x0d, 0x08, 0x06, 0x08, 0x0c, 0x14, + 0x11, 0x10, 0x13, 0x0c, 0x09, 0x07, 0x07, 0x10, 0x02, 0x00, 0x00, + 0x01, 0xfe, 0xa9, 0x04, 0xe3, 0x01, 0x5d, 0x05, 0xd5, 0x00, 0x13, + 0x00, 0x2d, 0x40, 0x18, 0x0a, 0x09, 0x09, 0x13, 0x14, 0x13, 0x00, + 0x8f, 0x59, 0x13, 0x13, 0x0a, 0x40, 0x09, 0x0c, 0x48, 0x0a, 0x06, + 0x06, 0x0d, 0x8e, 0x59, 0x06, 0xa1, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x10, 0xc4, 0x2b, 0x32, 0x2f, 0x2b, 0x11, 0x01, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x23, 0x22, 0x0e, 0x02, 0x23, 0x22, 0x26, + 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x3b, 0x01, 0x01, + 0x5d, 0x22, 0x38, 0x60, 0x60, 0x67, 0x40, 0x6d, 0x86, 0x7f, 0x42, + 0x39, 0x34, 0x5a, 0x5d, 0x69, 0x43, 0x23, 0x05, 0x5a, 0x25, 0x2d, + 0x25, 0x85, 0x6d, 0x39, 0x47, 0x28, 0x30, 0x28, 0x00, 0x01, 0xfe, + 0xc6, 0x04, 0xd4, 0x01, 0x2c, 0x05, 0xd4, 0x00, 0x05, 0x00, 0x2f, + 0x40, 0x18, 0x01, 0x04, 0x04, 0x02, 0x00, 0x02, 0x00, 0x06, 0x0f, + 0x05, 0x1f, 0x05, 0x2f, 0x05, 0x03, 0x09, 0x03, 0x05, 0x02, 0x02, + 0x03, 0x8f, 0x59, 0x02, 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x10, 0xc4, + 0x5f, 0x5e, 0x5d, 0x11, 0x01, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x05, 0x21, 0x35, 0x21, 0x37, 0x01, 0x2c, + 0xfe, 0xf1, 0xfe, 0xa9, 0x01, 0x3a, 0xec, 0x05, 0x68, 0x94, 0x80, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xd4, 0x04, 0xd4, 0x01, + 0x3a, 0x05, 0xd4, 0x00, 0x05, 0x00, 0x27, 0x40, 0x15, 0x01, 0x04, + 0x04, 0x02, 0x00, 0x02, 0x00, 0x06, 0x01, 0x04, 0x8f, 0x59, 0x0f, + 0x03, 0x1f, 0x03, 0x2f, 0x03, 0x03, 0x03, 0x01, 0x00, 0x2f, 0xcd, + 0x5d, 0x2b, 0x11, 0x01, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x21, 0x25, 0x37, 0x17, 0x21, 0x01, 0x3a, 0xfe, + 0xa9, 0xfe, 0xf1, 0x40, 0xec, 0x01, 0x3a, 0x04, 0xd4, 0x94, 0x6c, + 0x80, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xc6, 0x04, 0xd4, 0x01, 0x2c, + 0x05, 0xd4, 0x00, 0x05, 0x00, 0x27, 0x40, 0x15, 0x01, 0x04, 0x04, + 0x02, 0x05, 0x05, 0x02, 0x06, 0x04, 0x01, 0x8f, 0x59, 0x0f, 0x04, + 0x1f, 0x04, 0x2f, 0x04, 0x03, 0x04, 0x00, 0x00, 0x2f, 0xcd, 0x5d, + 0x2b, 0x11, 0x01, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x27, 0x21, 0x35, 0x21, 0x05, 0xec, 0xec, 0xfe, 0xc6, + 0x01, 0x57, 0x01, 0x0f, 0x04, 0xd4, 0x80, 0x80, 0x94, 0x00, 0x01, + 0xfe, 0xd4, 0x04, 0xd4, 0x01, 0x3a, 0x05, 0xd4, 0x00, 0x05, 0x00, + 0x27, 0x40, 0x15, 0x01, 0x04, 0x04, 0x02, 0x00, 0x02, 0x00, 0x06, + 0x05, 0x00, 0x8f, 0x59, 0x0f, 0x05, 0x1f, 0x05, 0x2f, 0x05, 0x03, + 0x05, 0x02, 0x00, 0x2f, 0xc4, 0x5d, 0x2b, 0x11, 0x01, 0x33, 0x33, + 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x07, 0x27, + 0x25, 0x21, 0x01, 0x3a, 0xfe, 0xc6, 0xec, 0x40, 0x01, 0x0f, 0x01, + 0x57, 0x05, 0x54, 0x80, 0x6c, 0x94, 0x00, 0x00, 0x00, 0x01, 0xfe, + 0x62, 0x04, 0xd4, 0x01, 0xa1, 0x05, 0xd5, 0x00, 0x07, 0x00, 0x34, + 0x40, 0x1a, 0x02, 0x07, 0x06, 0x03, 0x07, 0x03, 0x00, 0x04, 0x04, + 0x00, 0x08, 0x02, 0x07, 0x07, 0x0f, 0x05, 0x1f, 0x05, 0x2f, 0x05, + 0x03, 0x05, 0x06, 0x03, 0x03, 0x01, 0x00, 0x2f, 0x33, 0x11, 0x33, + 0xc4, 0x5d, 0x32, 0x11, 0x33, 0x11, 0x01, 0x33, 0x33, 0x11, 0x12, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x07, 0x27, + 0x07, 0x25, 0x37, 0x17, 0x37, 0x01, 0xa1, 0x3d, 0xe0, 0xf6, 0xfe, + 0xd4, 0x3d, 0xec, 0xeb, 0x05, 0x41, 0x6d, 0x7a, 0x7a, 0x94, 0x6d, + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x62, 0x04, 0xd4, + 0x01, 0xa1, 0x05, 0xd5, 0x00, 0x07, 0x00, 0x30, 0x40, 0x18, 0x05, + 0x00, 0x01, 0x04, 0x00, 0x04, 0x07, 0x03, 0x07, 0x03, 0x08, 0x06, + 0x01, 0x0f, 0x04, 0x1f, 0x04, 0x2f, 0x04, 0x03, 0x04, 0x05, 0x02, + 0x00, 0x00, 0x2f, 0x32, 0x32, 0xcd, 0x5d, 0x32, 0x32, 0x11, 0x01, + 0x33, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x27, 0x07, 0x27, 0x25, 0x17, 0x37, 0x17, 0x76, 0xeb, + 0xec, 0x3d, 0x01, 0x2c, 0xf6, 0xe0, 0x3d, 0x04, 0xd4, 0x80, 0x80, + 0x6d, 0x94, 0x7a, 0x7a, 0x6d, 0x00, 0x01, 0xff, 0x6f, 0xfe, 0x57, + 0x00, 0x6c, 0xff, 0xca, 0x00, 0x11, 0x00, 0x1c, 0x40, 0x0b, 0x0a, + 0x05, 0x11, 0x11, 0x00, 0x13, 0x0d, 0x05, 0x00, 0x09, 0x03, 0x00, + 0x2f, 0xd4, 0xcc, 0x33, 0x33, 0x11, 0x01, 0x33, 0x32, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x03, 0x11, 0x34, 0x27, 0x33, 0x17, 0x33, 0x3e, + 0x01, 0x33, 0x17, 0x15, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x8e, + 0x03, 0x54, 0x04, 0x02, 0x17, 0x37, 0x31, 0x24, 0x12, 0x1d, 0x3d, + 0x35, 0xfe, 0x57, 0x01, 0x18, 0x3e, 0x16, 0x4a, 0x30, 0x21, 0x03, + 0x5a, 0x04, 0x47, 0x37, 0x9c, 0x00, 0x01, 0xff, 0x74, 0x04, 0x7d, + 0x00, 0x8d, 0x06, 0x21, 0x00, 0x06, 0x00, 0x22, 0x40, 0x0e, 0x02, + 0x05, 0x05, 0x04, 0x00, 0x07, 0x06, 0x05, 0x02, 0x02, 0x01, 0x00, + 0x03, 0x04, 0x00, 0x2f, 0x33, 0xce, 0x32, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x01, 0x33, 0x32, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x15, + 0x07, 0x17, 0x15, 0x25, 0x35, 0x8d, 0xaa, 0xaa, 0xfe, 0xe7, 0x06, + 0x21, 0x72, 0x60, 0x60, 0x72, 0xa9, 0x52, 0x00, 0x02, 0xfe, 0xe8, + 0xfe, 0x56, 0x01, 0xad, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x0d, 0x00, + 0x4e, 0x40, 0x24, 0x08, 0x07, 0x0b, 0x0b, 0x09, 0x0c, 0x0d, 0x0d, + 0x0e, 0x0a, 0x09, 0x09, 0x0e, 0x04, 0x01, 0x01, 0x06, 0x02, 0x02, + 0x0e, 0x0d, 0x09, 0x01, 0x00, 0x04, 0x0b, 0x04, 0x08, 0x09, 0x08, + 0x09, 0x08, 0x03, 0x02, 0x05, 0x06, 0x00, 0x2f, 0x33, 0xce, 0x32, + 0x39, 0x39, 0x2f, 0x2f, 0x12, 0x39, 0x32, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x17, 0x15, 0x05, 0x35, 0x37, 0x27, 0x35, 0x01, 0x23, + 0x03, 0x33, 0x17, 0x37, 0x33, 0x01, 0xfe, 0xe7, 0xaa, 0xaa, 0x02, + 0x1c, 0x52, 0xa9, 0x72, 0x60, 0x60, 0x72, 0xaf, 0x52, 0xa9, 0x72, + 0x60, 0x60, 0x72, 0xfe, 0xa5, 0x01, 0x19, 0xaa, 0xaa, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xfe, 0x57, 0x04, 0xcc, 0x05, 0x45, 0x12, + 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x02, 0xe6, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x0d, 0xb7, 0x03, 0x02, 0x00, 0x14, 0x0e, 0x04, + 0x07, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x80, + 0xfe, 0x30, 0x04, 0x88, 0x04, 0x4e, 0x12, 0x26, 0x00, 0x44, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xe6, 0x02, 0x44, 0xff, 0xd9, 0x00, 0x10, + 0xb1, 0x03, 0x02, 0xb8, 0xff, 0xc0, 0xb4, 0x36, 0x30, 0x0f, 0x03, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, + 0x00, 0x00, 0x04, 0x80, 0x06, 0x66, 0x12, 0x26, 0x00, 0x25, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x15, + 0xb4, 0x03, 0x22, 0x05, 0x26, 0x03, 0xb8, 0xff, 0xd6, 0xb4, 0x20, + 0x22, 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0xb3, 0xff, 0xec, 0x04, 0x42, 0x05, 0xcc, 0x12, + 0x26, 0x00, 0x45, 0x00, 0x00, 0x10, 0x06, 0x02, 0x9a, 0x4c, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0xbf, 0x04, 0x80, 0x05, + 0x45, 0x12, 0x26, 0x00, 0x25, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, + 0x03, 0x14, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x03, 0xff, 0xec, + 0xb4, 0x20, 0x22, 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, + 0x00, 0xb3, 0xfe, 0xbf, 0x04, 0x42, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0x45, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xf2, 0x00, 0x00, + 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xe1, 0xb4, 0x23, 0x25, 0x0a, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0xbc, + 0x04, 0x80, 0x05, 0x45, 0x12, 0x26, 0x00, 0x25, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xf2, 0x02, 0x80, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, + 0x03, 0xff, 0xef, 0xb4, 0x21, 0x22, 0x05, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0xbc, 0x04, 0x42, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x45, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, + 0x37, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xbc, 0xb4, + 0x24, 0x25, 0x0a, 0x00, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, + 0x71, 0xfe, 0x44, 0x04, 0x76, 0x06, 0x9b, 0x12, 0x26, 0x00, 0x26, + 0x00, 0x00, 0x10, 0x27, 0x09, 0x62, 0x01, 0xcb, 0x00, 0x00, 0x11, + 0x07, 0x00, 0x7a, 0x01, 0x62, 0x00, 0x00, 0x00, 0x1c, 0x40, 0x12, + 0x01, 0x17, 0x05, 0x26, 0x02, 0x1b, 0x21, 0x1d, 0x0c, 0x07, 0x25, + 0x01, 0x76, 0x17, 0x1a, 0x0c, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xfe, + 0x44, 0x04, 0x38, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x46, 0x00, 0x00, + 0x10, 0x27, 0x00, 0x76, 0x00, 0xa1, 0x00, 0x00, 0x11, 0x07, 0x00, + 0x7a, 0x01, 0x51, 0x00, 0x00, 0x00, 0x1c, 0x40, 0x12, 0x01, 0x1b, + 0x11, 0x26, 0x02, 0x21, 0x25, 0x21, 0x00, 0x14, 0x25, 0x01, 0x6f, + 0x1b, 0x1e, 0x00, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, + 0x65, 0x06, 0x66, 0x12, 0x26, 0x00, 0x27, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x9a, 0xff, 0xd8, 0x00, 0x9a, 0x00, 0x15, 0xb4, 0x02, 0x15, + 0x05, 0x26, 0x02, 0xb8, 0xff, 0xbc, 0xb4, 0x13, 0x15, 0x05, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x8a, 0xff, 0xe6, 0x04, 0x19, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x47, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, 0xbc, 0x00, 0x00, 0x07, 0xb2, + 0x02, 0x24, 0x00, 0x00, 0x3f, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, + 0xfe, 0xbf, 0x04, 0x65, 0x05, 0x45, 0x12, 0x26, 0x00, 0x27, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xe9, 0x00, 0x00, 0x00, 0x0e, + 0xb9, 0x00, 0x02, 0xff, 0xcf, 0xb4, 0x13, 0x15, 0x05, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x8a, 0xfe, 0xbf, 0x04, 0x19, + 0x05, 0xcc, 0x12, 0x26, 0x00, 0x47, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x10, 0x02, 0xee, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x02, 0x05, 0x24, + 0x26, 0x06, 0x12, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0xfe, 0xbc, 0x04, 0x65, 0x05, 0x45, 0x12, 0x26, + 0x00, 0x27, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, 0x58, 0x00, + 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xd4, 0xb4, 0x14, 0x15, + 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x8a, 0xfe, + 0xbc, 0x04, 0x19, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x47, 0x00, 0x00, + 0x11, 0x07, 0x02, 0xf2, 0x02, 0x54, 0x00, 0x00, 0x00, 0x0b, 0xb6, + 0x02, 0x02, 0x25, 0x26, 0x06, 0x12, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0x39, 0x04, 0x65, 0x05, + 0x45, 0x12, 0x26, 0x00, 0x27, 0x00, 0x00, 0x11, 0x07, 0x02, 0xe7, + 0x02, 0x56, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xd0, + 0xb4, 0x16, 0x1b, 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, + 0x00, 0x8a, 0xfe, 0x39, 0x04, 0x19, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0x47, 0x00, 0x00, 0x11, 0x07, 0x02, 0xe7, 0x02, 0x58, 0x00, 0x00, + 0x00, 0x0b, 0xb6, 0x02, 0x04, 0x27, 0x2c, 0x06, 0x12, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0x57, + 0x04, 0x65, 0x05, 0x45, 0x12, 0x26, 0x00, 0x27, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xee, 0x02, 0x60, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, + 0x02, 0xff, 0xd8, 0xb4, 0x19, 0x13, 0x05, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0xff, 0xff, 0x00, 0x8a, 0xfe, 0x57, 0x04, 0x19, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x47, 0x00, 0x00, 0x11, 0x07, 0x02, 0xee, 0x02, + 0x5c, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x02, 0x05, 0x2a, 0x24, 0x06, + 0x12, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xa2, 0x00, 0x00, 0x04, 0x62, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x28, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x1b, 0x02, 0x7a, 0x00, 0x00, 0x00, + 0x19, 0xb6, 0x02, 0x01, 0x13, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, + 0xf9, 0xb4, 0x14, 0x15, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, + 0x04, 0x46, 0x06, 0xc7, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x10, + 0x27, 0x00, 0x43, 0xff, 0xc3, 0x01, 0x13, 0x11, 0x06, 0x02, 0x8a, + 0x02, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x22, 0x11, 0x26, + 0x03, 0x02, 0x01, 0x22, 0x21, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x62, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x1c, 0x02, 0x84, 0x00, 0x00, 0x00, 0x17, 0x40, + 0x0d, 0x02, 0x01, 0x15, 0x05, 0x26, 0x02, 0x01, 0x02, 0x15, 0x14, + 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, + 0x06, 0xc7, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x10, 0x27, 0x00, + 0x76, 0x00, 0x3d, 0x01, 0x13, 0x11, 0x06, 0x02, 0x8a, 0x02, 0x00, + 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x22, 0x11, 0x26, 0x03, 0x02, + 0x01, 0x22, 0x21, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0x57, 0x04, + 0x62, 0x05, 0x45, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, + 0x02, 0xee, 0x02, 0x96, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x0f, + 0x13, 0x0d, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x85, 0xfe, 0x57, 0x04, 0x46, 0x04, 0x4e, 0x12, + 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x07, 0x02, 0xee, 0x02, 0x74, + 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x02, 0x09, 0x22, 0x1c, 0x0d, 0x14, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, + 0xfe, 0x57, 0x04, 0x62, 0x05, 0x45, 0x12, 0x26, 0x00, 0x28, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xf1, 0x02, 0x94, 0x00, 0x00, 0x00, 0x0b, + 0xb6, 0x01, 0x12, 0x15, 0x21, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xfe, 0x57, 0x04, 0x46, + 0x04, 0x4e, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x07, 0x02, + 0xf1, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x02, 0x07, 0x24, + 0x30, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0xfe, 0x44, 0x04, 0x62, 0x06, 0xa9, 0x12, 0x26, + 0x00, 0x28, 0x00, 0x00, 0x10, 0x27, 0x00, 0x7a, 0x01, 0x75, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x15, + 0xb4, 0x02, 0x20, 0x05, 0x26, 0x02, 0xb8, 0xff, 0xe4, 0xb4, 0x23, + 0x2b, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x85, 0xfe, 0x44, 0x04, 0x46, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x48, 0x00, 0x00, 0x10, 0x27, 0x00, 0x7a, 0x01, 0x47, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, 0x04, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x03, 0x2f, 0x11, 0x26, 0x03, 0x04, 0x32, 0x3a, 0x0d, 0x13, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0xc2, 0x00, 0x00, 0x04, 0x3d, 0x06, 0x66, 0x12, 0x26, 0x00, 0x29, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x31, 0x00, 0x9a, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x0d, 0x05, 0x26, 0x01, 0x18, 0x0b, 0x0d, + 0x07, 0x09, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x8a, 0x00, 0x00, 0x04, 0x4b, 0x06, 0x66, + 0x00, 0x18, 0x00, 0x1c, 0x00, 0x53, 0x40, 0x22, 0x1c, 0x19, 0x19, + 0x02, 0x0d, 0x0d, 0x16, 0x01, 0x01, 0x06, 0x02, 0x02, 0x1d, 0x1e, + 0x00, 0x04, 0x05, 0x04, 0x50, 0x59, 0x16, 0x05, 0x05, 0x02, 0x0a, + 0x19, 0x1a, 0x91, 0x5b, 0x19, 0x0a, 0x40, 0x0a, 0x11, 0xb8, 0x01, + 0x0a, 0xb4, 0x59, 0x0a, 0x03, 0x02, 0x15, 0x00, 0x3f, 0x3f, 0x2b, + 0x00, 0x1a, 0x18, 0x10, 0xce, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, + 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x17, 0x15, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, + 0x1d, 0x01, 0x21, 0x15, 0x01, 0x35, 0x33, 0x15, 0x02, 0x44, 0xb4, + 0xfe, 0xfa, 0x01, 0x06, 0xc1, 0xe1, 0x48, 0xa7, 0x2a, 0x1e, 0xb7, + 0x2f, 0x68, 0x6a, 0x31, 0x01, 0xeb, 0xfe, 0x55, 0xc8, 0x03, 0x25, + 0xfc, 0xdb, 0x03, 0x25, 0x8e, 0x19, 0xcd, 0xac, 0x0d, 0x08, 0x91, + 0x05, 0x0c, 0x2e, 0x68, 0x5d, 0x0a, 0x8e, 0x02, 0x81, 0xc0, 0xc0, + 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xec, 0x04, 0x4f, 0x06, 0x5e, + 0x12, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, + 0x26, 0x01, 0x0b, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1b, 0x05, 0x26, + 0x01, 0x2a, 0x1c, 0x1d, 0x05, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0xfe, 0x58, + 0x04, 0x1e, 0x05, 0x52, 0x12, 0x26, 0x00, 0x4a, 0x00, 0x00, 0x11, + 0x06, 0x09, 0x69, 0xe7, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x31, 0x11, + 0x26, 0x02, 0xb8, 0xff, 0xf7, 0xb4, 0x32, 0x33, 0x11, 0x1c, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x06, 0x66, 0x12, 0x26, 0x00, + 0x2b, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x9a, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0f, 0x05, 0x26, 0x01, 0x01, 0x0d, + 0x0f, 0x05, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0xb9, 0x00, 0x00, 0x04, 0x19, 0x06, + 0x66, 0x00, 0x14, 0x00, 0x18, 0x00, 0x42, 0x40, 0x23, 0x02, 0x13, + 0x13, 0x14, 0x18, 0x15, 0x0b, 0x0a, 0x0a, 0x15, 0x14, 0x03, 0x19, + 0x1a, 0x15, 0x16, 0x91, 0x5b, 0x15, 0x05, 0x05, 0x04, 0x04, 0x07, + 0x0b, 0x14, 0x15, 0x07, 0x0f, 0x50, 0x59, 0x00, 0x03, 0x07, 0x10, + 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, 0x15, 0x14, + 0x07, 0x33, 0x36, 0x33, 0x20, 0x19, 0x01, 0x23, 0x11, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x01, 0x35, 0x33, 0x15, 0xb9, + 0xb5, 0x09, 0x03, 0x69, 0xea, 0x01, 0x5e, 0xb5, 0x69, 0x73, 0x7c, + 0x9f, 0xb4, 0x01, 0x49, 0xc8, 0x05, 0x45, 0xff, 0x3b, 0x8a, 0xcd, + 0xfe, 0x83, 0xfd, 0x2f, 0x02, 0xb7, 0x88, 0x84, 0xb5, 0x9b, 0xfd, + 0x8d, 0x05, 0xa6, 0xc0, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, + 0xfe, 0xbf, 0x04, 0x2a, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2b, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, + 0xb6, 0x01, 0x00, 0x0d, 0x0f, 0x05, 0x0b, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xfe, 0xbf, 0x04, 0x19, + 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4b, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, + 0xfd, 0xb4, 0x16, 0x18, 0x14, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0xff, + 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x2a, 0x06, 0x86, 0x12, 0x26, + 0x00, 0x2b, 0x00, 0x00, 0x11, 0x07, 0x09, 0x65, 0x01, 0x23, 0x00, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x13, 0x05, 0x26, 0x02, + 0x01, 0x00, 0x11, 0x0f, 0x05, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xb9, + 0x00, 0x00, 0x04, 0x19, 0x06, 0x86, 0x00, 0x14, 0x00, 0x18, 0x00, + 0x1c, 0x00, 0x48, 0x40, 0x26, 0x02, 0x13, 0x13, 0x14, 0x1c, 0x19, + 0x18, 0x15, 0x0b, 0x0a, 0x0a, 0x15, 0x19, 0x14, 0x04, 0x1d, 0x1e, + 0x16, 0x1a, 0x19, 0x1a, 0x90, 0x59, 0x15, 0x19, 0x05, 0x0b, 0x14, + 0x15, 0x07, 0x0f, 0x50, 0x59, 0x04, 0x07, 0x10, 0x00, 0x03, 0x00, + 0x3f, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x3f, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, + 0x15, 0x14, 0x07, 0x33, 0x36, 0x33, 0x20, 0x19, 0x01, 0x23, 0x11, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x01, 0x35, 0x33, + 0x15, 0x21, 0x35, 0x33, 0x15, 0xb9, 0xb5, 0x09, 0x03, 0x69, 0xea, + 0x01, 0x5e, 0xb5, 0x69, 0x73, 0x7c, 0x9f, 0xb4, 0x02, 0x21, 0xa3, + 0xfd, 0xd3, 0xa5, 0x05, 0x45, 0xff, 0x3b, 0x8a, 0xcd, 0xfe, 0x83, + 0xfd, 0x2f, 0x02, 0xb7, 0x88, 0x84, 0xb5, 0x9b, 0xfd, 0x8d, 0x05, + 0xce, 0xb8, 0xb8, 0xb8, 0xb8, 0x00, 0xff, 0xff, 0x00, 0x89, 0xfe, + 0x44, 0x04, 0x2a, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, + 0x10, 0x06, 0x00, 0x7a, 0x12, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x95, 0xfe, 0x44, 0x04, 0x19, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4b, + 0x00, 0x00, 0x10, 0x06, 0x00, 0x7a, 0x1e, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0xfe, 0x72, 0x04, 0x2a, 0x05, 0x45, 0x12, 0x26, + 0x00, 0x2b, 0x00, 0x00, 0x11, 0x07, 0x02, 0xef, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x0f, 0x17, 0x05, 0x0b, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xfe, + 0x72, 0x04, 0x19, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4b, 0x00, 0x00, + 0x11, 0x07, 0x02, 0xef, 0x02, 0x66, 0x00, 0x00, 0x00, 0x0e, 0xb9, + 0x00, 0x01, 0xff, 0xfd, 0xb4, 0x18, 0x20, 0x14, 0x0a, 0x25, 0x01, + 0x2b, 0x35, 0xff, 0xff, 0x00, 0xca, 0xfe, 0x57, 0x04, 0x01, 0x05, + 0x45, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf1, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x01, 0x15, 0x21, + 0x0b, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x8f, 0xfe, 0x57, 0x04, 0x65, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0x4c, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf1, 0x02, 0x7a, 0x00, 0x00, + 0x00, 0x0b, 0xb6, 0x02, 0x00, 0x17, 0x23, 0x04, 0x02, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, + 0x04, 0x01, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x14, 0x02, 0x66, 0x00, 0x00, 0x00, 0x1b, 0x40, 0x0f, + 0x03, 0x02, 0x01, 0x19, 0x05, 0x26, 0x03, 0x02, 0x01, 0x01, 0x17, + 0x15, 0x0b, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, + 0x00, 0x04, 0x65, 0x06, 0xb8, 0x12, 0x26, 0x00, 0xf3, 0x00, 0x00, + 0x10, 0x26, 0x00, 0x6a, 0xda, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, + 0x4a, 0x01, 0x04, 0x00, 0x33, 0x40, 0x21, 0x03, 0x02, 0x01, 0x0a, + 0x11, 0x26, 0x03, 0x02, 0x01, 0x90, 0x0e, 0x01, 0x80, 0x0e, 0x01, + 0x70, 0x0e, 0x01, 0x60, 0x0e, 0x01, 0x50, 0x0e, 0x01, 0x40, 0x0e, + 0x01, 0x00, 0x0e, 0x0c, 0x06, 0x09, 0x25, 0x01, 0x2b, 0x5d, 0x5d, + 0x5d, 0x5d, 0x5d, 0x5d, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0xcb, 0x06, + 0x9b, 0x12, 0x26, 0x00, 0x2e, 0x00, 0x00, 0x11, 0x07, 0x09, 0x62, + 0x01, 0xd9, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x11, 0x05, + 0x26, 0x01, 0x3e, 0x0d, 0x10, 0x05, 0x0b, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xec, 0x00, + 0x00, 0x04, 0x65, 0x06, 0xc3, 0x00, 0x0b, 0x00, 0x11, 0x00, 0x58, + 0x40, 0x2e, 0x0a, 0x01, 0x01, 0x0b, 0x07, 0x03, 0x03, 0x04, 0x0e, + 0x0f, 0x0f, 0x11, 0x0c, 0x08, 0x09, 0x09, 0x00, 0x0b, 0x0b, 0x0c, + 0x04, 0x03, 0x12, 0x13, 0x0e, 0x40, 0x09, 0x0c, 0x48, 0x0e, 0x0c, + 0x05, 0x0a, 0x01, 0x02, 0x07, 0x01, 0x07, 0x04, 0x08, 0x0f, 0x05, + 0x03, 0x00, 0x04, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x3f, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x3f, 0xcd, 0x2b, 0x11, 0x12, 0x01, + 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x21, 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, 0x11, 0x01, 0x33, 0x09, + 0x02, 0x35, 0x37, 0x33, 0x15, 0x05, 0x03, 0x92, 0xfe, 0x92, 0x84, + 0xb4, 0xb4, 0x01, 0xdb, 0xd3, 0xfe, 0x49, 0x01, 0xce, 0xfd, 0xa6, + 0xd9, 0xcf, 0xfe, 0xca, 0x01, 0xf3, 0x62, 0xfe, 0x6f, 0x05, 0x45, + 0xfc, 0xe8, 0x02, 0x0d, 0xfe, 0x2f, 0xfd, 0x97, 0x05, 0xcd, 0x14, + 0xe2, 0x1d, 0xd9, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0xbf, + 0x04, 0xcb, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2e, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x10, 0x03, 0x2c, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, + 0x01, 0xff, 0xdf, 0xb4, 0x0d, 0x0f, 0x05, 0x0b, 0x25, 0x01, 0x2b, + 0x35, 0xff, 0xff, 0x00, 0xec, 0xfe, 0xbf, 0x04, 0x65, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x4e, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, + 0x18, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xd9, 0xb4, + 0x0d, 0x0f, 0x05, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, + 0xa2, 0xfe, 0xbc, 0x04, 0xcb, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2e, + 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, 0x95, 0x00, 0x00, 0x00, + 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xde, 0xb4, 0x0e, 0x0f, 0x05, 0x0b, + 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0xec, 0xfe, 0xbc, 0x04, + 0x65, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4e, 0x00, 0x00, 0x11, 0x07, + 0x02, 0xf2, 0x02, 0x7d, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, + 0xff, 0xd4, 0xb4, 0x0e, 0x0f, 0x05, 0x0b, 0x25, 0x01, 0x2b, 0x35, + 0xff, 0xff, 0x00, 0xed, 0xfe, 0xbf, 0x04, 0x4c, 0x05, 0x45, 0x12, + 0x26, 0x00, 0x2f, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, 0x29, + 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xf6, 0xb4, 0x07, + 0x09, 0x01, 0x05, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x01, 0x0b, + 0xfe, 0xbf, 0x04, 0x5c, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4f, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, 0x1b, 0x00, 0x00, 0x00, 0x0b, + 0xb6, 0x01, 0x13, 0x0b, 0x0d, 0x04, 0x02, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xed, 0xfe, 0xbf, 0x04, 0x4c, + 0x06, 0x5e, 0x12, 0x26, 0x00, 0x2f, 0x00, 0x00, 0x10, 0x27, 0x09, + 0x10, 0x03, 0x29, 0x00, 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, 0x26, + 0x01, 0x0b, 0x00, 0x08, 0xb3, 0x02, 0x0a, 0x05, 0x26, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0x03, 0x00, 0x86, 0xfe, 0xc9, 0x04, 0x5c, + 0x06, 0x5e, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x4f, 0x40, + 0x2a, 0x0d, 0x0a, 0x0a, 0x05, 0x01, 0x00, 0x00, 0x04, 0x05, 0x05, + 0x0e, 0x0f, 0x03, 0x12, 0x13, 0x0f, 0x10, 0x8f, 0x59, 0x0f, 0x05, + 0x08, 0x07, 0x50, 0x59, 0x08, 0x03, 0x0b, 0x0a, 0x52, 0x5b, 0x0b, + 0x03, 0x40, 0x00, 0x04, 0x03, 0x04, 0x50, 0x59, 0x03, 0x15, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x1a, 0x18, 0x10, 0xce, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, + 0x03, 0x35, 0x33, 0x15, 0x13, 0x21, 0x35, 0x21, 0x02, 0xe0, 0x01, + 0x7c, 0xfc, 0x2a, 0x01, 0xa6, 0xfe, 0xdf, 0x01, 0xd5, 0xb6, 0xb4, + 0xa2, 0xfd, 0xd9, 0x02, 0x27, 0x8e, 0x8e, 0x8e, 0x04, 0x29, 0x8e, + 0xf9, 0x84, 0xac, 0xac, 0x07, 0x16, 0x7f, 0x00, 0xff, 0xff, 0x00, + 0xed, 0xfe, 0xbc, 0x04, 0x4c, 0x05, 0x45, 0x12, 0x26, 0x00, 0x2f, + 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, 0x9b, 0x00, 0x00, 0x00, + 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xfe, 0xb4, 0x08, 0x09, 0x01, 0x05, + 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x01, 0x0b, 0xfe, 0xbc, 0x04, + 0x5c, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4f, 0x00, 0x00, 0x11, 0x07, + 0x02, 0xf2, 0x02, 0x86, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x14, + 0x0c, 0x0d, 0x04, 0x02, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xed, 0xfe, 0x57, 0x04, 0x4c, 0x05, 0x45, 0x12, + 0x26, 0x00, 0x2f, 0x00, 0x00, 0x11, 0x07, 0x02, 0xee, 0x02, 0xa4, + 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x02, 0x0d, 0x07, 0x01, 0x05, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x0b, + 0xfe, 0x57, 0x04, 0x5c, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x4f, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xee, 0x02, 0x8b, 0x00, 0x00, 0x00, 0x0b, + 0xb6, 0x01, 0x15, 0x11, 0x0b, 0x04, 0x02, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4b, + 0x06, 0x9b, 0x12, 0x26, 0x00, 0x30, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x62, 0x01, 0xcc, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1e, + 0x05, 0x26, 0x01, 0x82, 0x1a, 0x1d, 0x0f, 0x18, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, + 0x00, 0x00, 0x04, 0x64, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x50, 0x00, + 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x98, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x2d, 0x11, 0x26, 0x01, 0x9a, 0x29, 0x2c, 0x0c, + 0x1e, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4b, 0x06, 0x66, 0x12, + 0x26, 0x00, 0x30, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x00, + 0x00, 0x9a, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1c, 0x05, 0x26, 0x01, + 0x01, 0x1a, 0x1c, 0x0f, 0x18, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 0x00, 0x00, 0x04, + 0x64, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x50, 0x00, 0x00, 0x11, 0x06, + 0x02, 0x9a, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x2b, 0x11, + 0x26, 0x01, 0x03, 0x29, 0x2b, 0x0c, 0x1e, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0xbf, 0x04, + 0x4b, 0x05, 0x45, 0x12, 0x26, 0x00, 0x30, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, + 0x1a, 0x1c, 0x0f, 0x18, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x63, 0xfe, 0xbf, 0x04, 0x64, 0x04, 0x4e, 0x12, + 0x26, 0x00, 0x50, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, + 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x02, 0x29, 0x2b, 0x0c, 0x1e, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, + 0x00, 0x00, 0x04, 0x2a, 0x06, 0x66, 0x12, 0x26, 0x00, 0x31, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x11, 0x05, 0x26, 0x01, 0x01, 0x0f, 0x11, 0x06, + 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xc6, 0x00, 0x00, 0x04, 0x2c, 0x05, 0xcc, 0x10, + 0x26, 0x00, 0x51, 0x13, 0x00, 0x10, 0x06, 0x02, 0x9a, 0x1d, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0xbf, 0x04, 0x2a, 0x05, + 0x45, 0x12, 0x26, 0x00, 0x31, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, + 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x0f, 0x11, + 0x06, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xc6, 0xfe, 0xbf, 0x04, 0x2c, 0x04, 0x4e, 0x10, 0x26, 0x00, + 0x51, 0x13, 0x00, 0x10, 0x07, 0x09, 0x10, 0x03, 0x11, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xa2, 0xfe, 0xbc, 0x04, 0x2a, 0x05, 0x45, 0x12, + 0x26, 0x00, 0x31, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x10, 0x11, 0x06, 0x0d, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xc6, + 0xfe, 0xbc, 0x04, 0x2c, 0x04, 0x4e, 0x10, 0x26, 0x00, 0x51, 0x13, + 0x00, 0x10, 0x07, 0x02, 0xf2, 0x02, 0x7a, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0x45, 0x12, 0x26, 0x00, + 0x31, 0x00, 0x00, 0x11, 0x07, 0x02, 0xee, 0x02, 0x6b, 0x00, 0x00, + 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x15, 0x0f, 0x06, 0x0d, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xc6, 0xfe, 0x57, + 0x04, 0x2c, 0x04, 0x4e, 0x10, 0x26, 0x00, 0x51, 0x13, 0x00, 0x10, + 0x07, 0x02, 0xee, 0x02, 0x7f, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, + 0xff, 0xec, 0x04, 0x66, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x32, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x1d, 0x02, 0x66, 0x00, 0x00, 0x00, 0x17, + 0x40, 0x0d, 0x03, 0x02, 0x1e, 0x05, 0x26, 0x03, 0x02, 0x00, 0x1e, + 0x2a, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, + 0x49, 0x06, 0xa5, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x10, 0x26, + 0x02, 0x9d, 0x01, 0x00, 0x11, 0x07, 0x09, 0x62, 0x01, 0xcf, 0x00, + 0x0a, 0x00, 0x4f, 0x40, 0x3b, 0x03, 0x32, 0x80, 0x1d, 0x1d, 0x48, + 0x32, 0x40, 0x1a, 0x1b, 0x48, 0x32, 0x40, 0x17, 0x17, 0x48, 0x32, + 0x40, 0x11, 0x14, 0x48, 0x32, 0x80, 0x10, 0x10, 0x48, 0x32, 0x40, + 0x0d, 0x0d, 0x48, 0x32, 0x80, 0x0c, 0x0c, 0x48, 0x32, 0x40, 0x0a, + 0x0b, 0x48, 0x32, 0x80, 0x09, 0x09, 0x48, 0x32, 0x02, 0x18, 0x11, + 0x26, 0x03, 0x02, 0x00, 0x22, 0x2f, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, + 0xec, 0x04, 0x66, 0x07, 0x53, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x1e, 0x02, 0x66, 0x00, 0x00, 0x00, 0x1b, 0x40, + 0x0f, 0x04, 0x03, 0x02, 0x26, 0x05, 0x26, 0x04, 0x03, 0x02, 0x00, + 0x26, 0x32, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, + 0xff, 0xec, 0x04, 0x49, 0x06, 0x90, 0x12, 0x26, 0x00, 0x52, 0x00, + 0x00, 0x10, 0x26, 0x02, 0x9d, 0x01, 0x00, 0x11, 0x07, 0x09, 0x65, + 0x01, 0x23, 0x00, 0x0a, 0x00, 0x35, 0x40, 0x24, 0x04, 0x03, 0x36, + 0x40, 0x0d, 0x0d, 0x48, 0x36, 0x80, 0x0c, 0x0c, 0x48, 0x36, 0x40, + 0x0a, 0x0b, 0x48, 0x36, 0x80, 0x09, 0x09, 0x48, 0x36, 0x02, 0x18, + 0x11, 0x26, 0x04, 0x03, 0x02, 0x00, 0x22, 0x2f, 0x06, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x2b, + 0x2b, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, + 0xff, 0xec, 0x04, 0x66, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x32, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x1b, 0x02, 0x66, 0x00, 0x00, 0x00, 0x17, + 0x40, 0x0d, 0x03, 0x02, 0x1d, 0x05, 0x26, 0x03, 0x02, 0x00, 0x1e, + 0x1f, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, + 0x49, 0x06, 0x6b, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x10, 0x26, + 0x09, 0x69, 0x00, 0x00, 0x11, 0x07, 0x09, 0x61, 0x00, 0xe4, 0xff, + 0xcf, 0x00, 0x3b, 0x40, 0x2b, 0x03, 0x1f, 0x40, 0x1d, 0x1d, 0x48, + 0x1f, 0x40, 0x18, 0x1b, 0x48, 0x1f, 0x80, 0x17, 0x17, 0x48, 0x1f, + 0x40, 0x16, 0x16, 0x48, 0x1f, 0x40, 0x14, 0x14, 0x48, 0x1f, 0x40, + 0x0c, 0x0c, 0x48, 0x1f, 0x02, 0x18, 0x11, 0x26, 0x02, 0x01, 0x19, + 0x18, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x11, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x66, 0xff, 0xec, 0x04, 0x66, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x32, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x1c, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x03, 0x02, 0x1f, 0x05, 0x26, 0x03, 0x02, 0x00, + 0x1f, 0x1e, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, + 0x04, 0x49, 0x06, 0x6a, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x10, + 0x26, 0x09, 0x69, 0x00, 0x00, 0x11, 0x07, 0x09, 0x62, 0x01, 0x77, + 0xff, 0xcf, 0x00, 0x3b, 0x40, 0x2b, 0x03, 0x1f, 0x40, 0x1d, 0x1d, + 0x48, 0x1f, 0x40, 0x18, 0x1b, 0x48, 0x1f, 0x80, 0x17, 0x17, 0x48, + 0x1f, 0x40, 0x16, 0x16, 0x48, 0x1f, 0x40, 0x14, 0x14, 0x48, 0x1f, + 0x40, 0x0c, 0x0c, 0x48, 0x1f, 0x02, 0x18, 0x11, 0x26, 0x02, 0x01, + 0x19, 0x18, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x11, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x5f, 0x06, 0x9b, 0x12, 0x26, 0x00, + 0x33, 0x00, 0x00, 0x11, 0x07, 0x09, 0x62, 0x01, 0x88, 0x00, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x02, 0x19, 0x05, 0x26, 0x02, 0x23, 0x15, + 0x18, 0x08, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x42, 0x05, + 0xb4, 0x12, 0x26, 0x00, 0x53, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, + 0x5f, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x29, 0x11, 0x26, 0x02, + 0x4a, 0x25, 0x28, 0x0c, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x5f, 0x06, + 0x66, 0x12, 0x26, 0x00, 0x33, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, + 0x00, 0x00, 0x00, 0x9a, 0x00, 0x15, 0xb4, 0x02, 0x17, 0x05, 0x26, + 0x02, 0xb8, 0xff, 0xe7, 0xb4, 0x15, 0x17, 0x08, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, + 0x57, 0x04, 0x42, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x53, 0x00, 0x00, + 0x11, 0x06, 0x02, 0x9a, 0x1c, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, + 0x27, 0x11, 0x26, 0x02, 0x08, 0x25, 0x27, 0x0c, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x99, 0x06, 0x66, 0x12, 0x26, 0x00, 0x35, 0x00, 0x00, + 0x11, 0x07, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x15, 0xb4, + 0x02, 0x19, 0x05, 0x26, 0x02, 0xb8, 0xff, 0xca, 0xb4, 0x17, 0x19, + 0x05, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0xf2, 0x00, 0x00, 0x04, 0x15, 0x05, 0xcc, 0x12, 0x26, + 0x00, 0x55, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, 0x22, 0x00, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x19, 0x11, 0x26, 0x01, 0x05, 0x17, 0x19, + 0x0b, 0x15, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0xa2, 0xfe, 0xbf, 0x04, 0x99, 0x05, 0x45, 0x12, 0x26, + 0x00, 0x35, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, 0x00, + 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xc9, 0xb4, 0x17, 0x19, + 0x05, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0xf2, 0xfe, + 0xbf, 0x04, 0x15, 0x04, 0x4e, 0x12, 0x26, 0x00, 0x55, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x10, 0x02, 0x1d, 0x00, 0x00, 0x00, 0x0e, 0xb9, + 0x00, 0x01, 0xff, 0x03, 0xb4, 0x17, 0x19, 0x0b, 0x15, 0x25, 0x01, + 0x2b, 0x35, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0xbf, 0x04, 0x99, 0x06, + 0x5e, 0x12, 0x26, 0x00, 0x35, 0x00, 0x00, 0x10, 0x27, 0x09, 0x10, + 0x02, 0xfd, 0x00, 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, 0x26, 0x01, + 0x0b, 0x00, 0x08, 0xb3, 0x03, 0x1b, 0x05, 0x26, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xf2, 0xfe, 0xbf, 0x04, 0x15, 0x05, + 0x52, 0x12, 0x26, 0x00, 0x55, 0x00, 0x00, 0x10, 0x27, 0x09, 0x10, + 0x02, 0x1d, 0x00, 0x00, 0x11, 0x06, 0x09, 0x69, 0x23, 0x00, 0x00, + 0x08, 0xb3, 0x02, 0x1b, 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, + 0x00, 0xa2, 0xfe, 0xbc, 0x04, 0x99, 0x05, 0x45, 0x12, 0x26, 0x00, + 0x35, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xc8, 0xb4, 0x18, 0x19, 0x05, + 0x0d, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x74, 0xfe, 0xbc, + 0x04, 0x15, 0x04, 0x4e, 0x12, 0x26, 0x00, 0x55, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xf2, 0x01, 0x87, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, + 0x01, 0xff, 0x03, 0xb4, 0x18, 0x19, 0x0b, 0x15, 0x25, 0x01, 0x2b, + 0x35, 0xff, 0xff, 0x00, 0x4f, 0xff, 0xec, 0x04, 0x68, 0x06, 0x66, + 0x12, 0x26, 0x00, 0x36, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, + 0x11, 0x00, 0x9a, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x30, 0x05, 0x26, + 0x01, 0x1c, 0x2e, 0x30, 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa7, 0xff, 0xec, + 0x04, 0x24, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x56, 0x00, 0x00, 0x11, + 0x06, 0x02, 0x9a, 0x13, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x2a, + 0x11, 0x26, 0x01, 0x14, 0x28, 0x2a, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x4f, 0xfe, 0xbf, + 0x04, 0x68, 0x05, 0x5a, 0x12, 0x26, 0x00, 0x36, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x10, 0x02, 0xfe, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, + 0x0b, 0x2e, 0x30, 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xa7, 0xfe, 0xbf, 0x04, 0x24, 0x04, 0x4b, + 0x12, 0x26, 0x00, 0x56, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, + 0x09, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x0c, 0x28, 0x2a, 0x06, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x4f, 0xff, 0xec, 0x04, 0x68, 0x06, 0xba, 0x12, 0x26, 0x00, 0x36, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x1f, 0x02, 0x5b, 0x00, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x02, 0x01, 0x36, 0x05, 0x26, 0x02, 0x01, 0x58, + 0x2f, 0x35, 0x05, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa7, 0xff, 0xec, + 0x04, 0x24, 0x05, 0xc8, 0x12, 0x26, 0x00, 0x56, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x1f, 0x02, 0x51, 0xff, 0x0e, 0x00, 0x17, 0x40, 0x0d, + 0x02, 0x01, 0x30, 0x11, 0x26, 0x02, 0x01, 0x44, 0x29, 0x2f, 0x06, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x4f, 0xff, 0xec, 0x04, 0x68, 0x06, + 0xf6, 0x12, 0x26, 0x00, 0x36, 0x00, 0x00, 0x11, 0x07, 0x09, 0x20, + 0x02, 0x77, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x32, + 0x05, 0x26, 0x02, 0x01, 0x1b, 0x34, 0x3a, 0x05, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xa7, 0xff, 0xec, 0x04, 0x24, 0x06, 0x03, 0x12, 0x26, + 0x00, 0x56, 0x00, 0x00, 0x11, 0x07, 0x09, 0x20, 0x02, 0x67, 0xff, + 0x0d, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x2c, 0x11, 0x26, 0x02, + 0x01, 0x01, 0x2e, 0x34, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4f, + 0xfe, 0xbf, 0x04, 0x68, 0x06, 0x66, 0x12, 0x26, 0x00, 0x36, 0x00, + 0x00, 0x10, 0x27, 0x09, 0x10, 0x03, 0x02, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x9a, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x08, 0xb3, 0x02, 0x31, + 0x05, 0x26, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa7, + 0xfe, 0xbf, 0x04, 0x24, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x56, 0x00, + 0x00, 0x10, 0x27, 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x11, 0x06, + 0x02, 0x9a, 0x13, 0x00, 0x00, 0x08, 0xb3, 0x02, 0x2b, 0x11, 0x26, + 0x00, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x4c, 0x00, 0x00, 0x04, 0x80, + 0x06, 0x66, 0x12, 0x26, 0x00, 0x37, 0x00, 0x00, 0x11, 0x07, 0x02, + 0x9a, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0b, + 0x05, 0x26, 0x01, 0x01, 0x09, 0x0b, 0x05, 0x07, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xbe, + 0xff, 0xf0, 0x03, 0xf9, 0x06, 0x66, 0x12, 0x26, 0x00, 0x57, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x5d, 0x00, 0x9a, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x19, 0x05, 0x26, 0x01, 0x68, 0x17, 0x19, 0x01, + 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x4c, 0xfe, 0xbf, 0x04, 0x80, 0x05, 0x45, 0x12, + 0x26, 0x00, 0x37, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, + 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x09, 0x0b, 0x05, 0x07, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xbe, + 0xfe, 0xbf, 0x03, 0xf9, 0x05, 0x54, 0x12, 0x26, 0x00, 0x57, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xb0, 0x00, 0x00, 0x00, 0x0e, + 0xb9, 0x00, 0x01, 0xff, 0xbe, 0xb4, 0x17, 0x19, 0x01, 0x0f, 0x25, + 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x4c, 0xfe, 0xbc, 0x04, 0x80, + 0x05, 0x45, 0x12, 0x26, 0x00, 0x37, 0x00, 0x00, 0x11, 0x07, 0x02, + 0xf2, 0x02, 0x66, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x0a, + 0x0b, 0x05, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xbe, 0xfe, 0xbc, 0x03, 0xf9, 0x05, 0x54, 0x12, 0x26, + 0x00, 0x57, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, 0x90, 0x00, + 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x34, 0x18, 0x19, 0x01, 0x0f, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4c, 0xfe, + 0x57, 0x04, 0x80, 0x05, 0x45, 0x12, 0x26, 0x00, 0x37, 0x00, 0x00, + 0x11, 0x07, 0x02, 0xee, 0x02, 0x6b, 0x00, 0x00, 0x00, 0x0b, 0xb6, + 0x01, 0x00, 0x0f, 0x09, 0x05, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xbe, 0xfe, 0x57, 0x03, 0xf9, 0x05, + 0x54, 0x12, 0x26, 0x00, 0x57, 0x00, 0x00, 0x11, 0x07, 0x02, 0xee, + 0x02, 0x77, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x16, 0x1d, 0x17, + 0x01, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x8e, 0xfe, 0xc3, 0x04, 0x3d, 0x05, 0x45, 0x12, 0x26, 0x00, + 0x38, 0x00, 0x00, 0x11, 0x07, 0x02, 0xe5, 0x02, 0x66, 0x00, 0x6c, + 0x00, 0x0d, 0xb7, 0x02, 0x01, 0x00, 0x17, 0x15, 0x07, 0x11, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xfe, 0xc3, + 0x04, 0x1f, 0x04, 0x3a, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xe5, 0x02, 0x66, 0x00, 0x6c, 0x00, 0x10, 0xb1, 0x02, + 0x01, 0xb8, 0xff, 0xfa, 0xb4, 0x1f, 0x1d, 0x19, 0x0c, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xfe, 0x57, + 0x04, 0x3d, 0x05, 0x45, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xf1, 0x02, 0x66, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, + 0x01, 0x1b, 0x27, 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xb9, 0xfe, 0x57, 0x04, 0x1f, 0x04, 0x3a, + 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf1, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xfb, 0xb4, + 0x23, 0x2f, 0x19, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, + 0x8e, 0xfe, 0x57, 0x04, 0x3d, 0x05, 0x45, 0x12, 0x26, 0x00, 0x38, + 0x00, 0x00, 0x11, 0x07, 0x02, 0xee, 0x02, 0x6b, 0x00, 0x00, 0x00, + 0x0b, 0xb6, 0x01, 0x00, 0x19, 0x13, 0x07, 0x11, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xfe, 0x57, 0x04, + 0x1f, 0x04, 0x3a, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x07, + 0x02, 0xee, 0x02, 0x6b, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, + 0xff, 0xfa, 0xb4, 0x21, 0x1b, 0x19, 0x0c, 0x25, 0x01, 0x2b, 0x35, + 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, 0x3d, 0x07, 0x2b, 0x12, + 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, 0x09, 0x1d, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x1a, 0x05, 0x26, + 0x02, 0x01, 0x01, 0x1a, 0x26, 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x06, 0x9b, 0x12, 0x26, 0x00, 0x58, + 0x00, 0x00, 0x10, 0x26, 0x02, 0x9d, 0x01, 0x00, 0x11, 0x07, 0x09, + 0x62, 0x01, 0xb6, 0x00, 0x00, 0x00, 0x52, 0x40, 0x35, 0x02, 0x39, + 0x80, 0x1d, 0x1d, 0x48, 0x39, 0x40, 0x1a, 0x1b, 0x48, 0x39, 0x40, + 0x17, 0x17, 0x48, 0x39, 0x40, 0x11, 0x14, 0x48, 0x39, 0x80, 0x10, + 0x10, 0x48, 0x39, 0x40, 0x0d, 0x0d, 0x48, 0x39, 0x80, 0x0c, 0x0c, + 0x48, 0x39, 0x40, 0x0a, 0x0b, 0x48, 0x39, 0x80, 0x09, 0x09, 0x48, + 0x39, 0x01, 0x1a, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xfb, 0xb4, + 0x24, 0x31, 0x18, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x11, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x04, 0x3d, + 0x07, 0x2b, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x21, 0x02, 0x66, 0x00, 0x00, 0x00, 0x1b, 0x40, 0x0f, 0x03, 0x02, + 0x01, 0x1b, 0x05, 0x26, 0x03, 0x02, 0x01, 0x01, 0x19, 0x13, 0x07, + 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, + 0x1f, 0x06, 0x61, 0x12, 0x26, 0x00, 0x58, 0x00, 0x00, 0x10, 0x26, + 0x09, 0x69, 0x00, 0x00, 0x11, 0x07, 0x00, 0x6a, 0x00, 0x05, 0x00, + 0xe6, 0x00, 0x26, 0x40, 0x0f, 0x03, 0x02, 0x22, 0x40, 0x1f, 0x1f, + 0x48, 0x22, 0x01, 0x1a, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, + 0xfb, 0xb4, 0x1b, 0x1a, 0x18, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x35, 0x35, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x0a, 0x00, 0x00, 0x04, 0xc2, 0x06, 0x9f, 0x12, 0x26, + 0x00, 0x39, 0x00, 0x00, 0x11, 0x07, 0x09, 0x66, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x14, 0x05, 0x26, 0x01, 0x00, + 0x14, 0x21, 0x02, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x45, 0x00, 0x00, 0x04, 0x87, + 0x05, 0xa9, 0x12, 0x26, 0x00, 0x59, 0x00, 0x00, 0x11, 0x06, 0x02, + 0x9d, 0x01, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x15, 0x11, 0x26, + 0x01, 0x00, 0x15, 0x22, 0x02, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x0a, 0xfe, 0xbf, 0x04, 0xc2, + 0x05, 0x45, 0x12, 0x26, 0x00, 0x39, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x0c, + 0x0e, 0x02, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x45, 0xfe, 0xbf, 0x04, 0x87, 0x04, 0x3a, 0x12, 0x26, + 0x00, 0x59, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, 0x00, + 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x0c, 0x0e, 0x02, 0x0a, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x04, 0xcc, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x3a, 0x00, 0x00, + 0x11, 0x07, 0x00, 0x43, 0xff, 0xc5, 0x00, 0xf5, 0x00, 0x15, 0xb4, + 0x01, 0x18, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xc5, 0xb4, 0x19, 0x1c, + 0x09, 0x17, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x15, 0x00, 0x00, 0x04, 0xb8, 0x05, 0xb4, 0x12, 0x26, + 0x00, 0x5a, 0x00, 0x00, 0x11, 0x06, 0x00, 0x43, 0x88, 0x00, 0x00, + 0x15, 0xb4, 0x01, 0x1a, 0x11, 0x26, 0x01, 0xb8, 0xff, 0x88, 0xb4, + 0x1b, 0x1e, 0x07, 0x19, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, + 0x06, 0xa9, 0x12, 0x26, 0x00, 0x3a, 0x00, 0x00, 0x11, 0x07, 0x00, + 0x76, 0x00, 0x67, 0x00, 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x18, + 0x05, 0x26, 0x01, 0x67, 0x18, 0x1b, 0x09, 0x17, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x15, + 0x00, 0x00, 0x04, 0xb8, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x5a, 0x00, + 0x00, 0x11, 0x06, 0x00, 0x76, 0x5e, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x1a, 0x11, 0x26, 0x01, 0x5d, 0x1a, 0x1d, 0x07, 0x19, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x04, 0xcc, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x3a, 0x00, + 0x00, 0x11, 0x07, 0x00, 0x6a, 0x00, 0x01, 0x00, 0xe3, 0x00, 0x17, + 0x40, 0x0d, 0x02, 0x01, 0x18, 0x05, 0x26, 0x02, 0x01, 0x00, 0x1c, + 0x1a, 0x09, 0x17, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x15, 0x00, 0x00, 0x04, + 0xb8, 0x05, 0x7b, 0x12, 0x26, 0x00, 0x5a, 0x00, 0x00, 0x11, 0x06, + 0x00, 0x6a, 0x01, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x1a, + 0x11, 0x26, 0x02, 0x01, 0x00, 0x1e, 0x1c, 0x07, 0x19, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0x66, 0x12, 0x26, 0x00, 0x3a, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x9a, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x1b, 0x05, 0x26, 0x01, 0x01, 0x19, 0x1b, + 0x09, 0x17, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x15, 0x00, 0x00, 0x04, 0xb8, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x5a, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, 0x00, + 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1d, 0x11, 0x26, 0x01, 0x00, + 0x1b, 0x1d, 0x07, 0x19, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xbf, 0x04, 0xcc, 0x05, 0x45, + 0x12, 0x26, 0x00, 0x3a, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, + 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x19, 0x1b, 0x09, + 0x17, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x15, 0xfe, 0xbf, 0x04, 0xb8, 0x04, 0x3a, 0x12, 0x26, 0x00, 0x5a, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, + 0x0b, 0xb6, 0x01, 0x00, 0x1b, 0x1d, 0x07, 0x19, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, + 0xa9, 0x06, 0x66, 0x12, 0x26, 0x00, 0x3b, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x9a, 0x00, 0x11, 0x00, 0x9a, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x0f, 0x05, 0x26, 0x01, 0x11, 0x0d, 0x0f, 0x08, 0x04, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x5e, 0x00, 0x00, 0x04, 0x6d, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x5b, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, 0x00, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x0f, 0x11, 0x26, 0x01, 0x01, 0x0d, 0x0f, 0x03, 0x0b, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x24, 0x00, 0x00, 0x04, 0xa9, 0x06, 0x86, 0x12, 0x26, 0x00, 0x3b, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x65, 0x01, 0x23, 0x00, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x02, 0x01, 0x13, 0x05, 0x26, 0x02, 0x01, 0x00, + 0x11, 0x0f, 0x08, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5e, 0x00, 0x00, + 0x04, 0x6d, 0x05, 0x7b, 0x12, 0x26, 0x00, 0x5b, 0x00, 0x00, 0x11, + 0x06, 0x00, 0x6a, 0x01, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, + 0x13, 0x11, 0x26, 0x02, 0x01, 0x01, 0x11, 0x0f, 0x03, 0x0b, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, 0x06, 0x66, 0x12, 0x26, 0x00, + 0x3c, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9a, 0x00, 0x11, 0x00, 0x9a, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0c, 0x05, 0x26, 0x01, 0x12, 0x0a, + 0x0c, 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, + 0xcc, 0x12, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9a, + 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x18, 0x11, 0x26, 0x01, + 0x01, 0x16, 0x18, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x49, 0x00, 0x00, 0x04, 0x83, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x3d, 0x00, 0x00, 0x11, 0x07, 0x09, 0x63, + 0x01, 0x41, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x10, 0x05, + 0x26, 0x01, 0x26, 0x11, 0x0b, 0x02, 0x09, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 0x00, + 0x00, 0x04, 0x2c, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x5d, 0x00, 0x00, + 0x11, 0x06, 0x02, 0x87, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x10, 0x11, 0x26, 0x01, 0x06, 0x11, 0x0b, 0x01, 0x09, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x49, 0xfe, + 0xbf, 0x04, 0x83, 0x05, 0x45, 0x12, 0x26, 0x00, 0x3d, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x10, 0x03, 0x08, 0x00, 0x00, 0x00, 0x0b, 0xb6, + 0x01, 0x0b, 0x0b, 0x0d, 0x02, 0x09, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 0xfe, 0xbf, 0x04, 0x2c, 0x04, + 0x3a, 0x12, 0x26, 0x00, 0x5d, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, + 0x03, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x15, 0x0b, 0x0d, + 0x01, 0x09, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x49, 0xfe, 0xbc, 0x04, 0x83, 0x05, 0x45, 0x12, 0x26, 0x00, + 0x3d, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, 0x72, 0x00, 0x00, + 0x00, 0x0b, 0xb6, 0x01, 0x0b, 0x0c, 0x0d, 0x02, 0x09, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 0xfe, 0xbc, + 0x04, 0x2c, 0x04, 0x3a, 0x12, 0x26, 0x00, 0x5d, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xf2, 0x02, 0x66, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, + 0x06, 0x0c, 0x0d, 0x01, 0x09, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xb9, 0xfe, 0xbc, 0x04, 0x19, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x4b, 0x00, 0x00, 0x11, 0x07, 0x02, 0xf2, 0x02, + 0x70, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x06, 0x17, 0x18, 0x14, + 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xbe, 0xff, 0xf0, 0x03, 0xf9, 0x06, 0x60, 0x12, 0x26, 0x00, 0x57, + 0x00, 0x00, 0x11, 0x07, 0x00, 0x6a, 0x00, 0x0c, 0x00, 0xe5, 0x00, + 0x23, 0x40, 0x17, 0x02, 0x01, 0x1d, 0x40, 0x28, 0x28, 0x48, 0x1d, + 0x40, 0x1f, 0x1f, 0x48, 0x1d, 0x05, 0x26, 0x02, 0x01, 0x16, 0x1b, + 0x19, 0x01, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x2b, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x15, 0x00, + 0x00, 0x04, 0xb8, 0x06, 0x0b, 0x12, 0x26, 0x00, 0x5a, 0x00, 0x00, + 0x11, 0x06, 0x02, 0x9b, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, + 0x01, 0x1d, 0x11, 0x26, 0x02, 0x01, 0x00, 0x20, 0x1a, 0x07, 0x19, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x06, 0x0b, 0x12, 0x26, + 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9b, 0x00, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x02, 0x01, 0x18, 0x11, 0x26, 0x02, 0x01, 0x00, + 0x1b, 0x15, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, + 0x05, 0xf3, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x06, 0x02, + 0x7f, 0xd2, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x3d, 0x11, 0x26, 0x02, + 0xb8, 0xff, 0xd1, 0xb4, 0x3d, 0x3a, 0x0f, 0x03, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x90, + 0x00, 0x00, 0x04, 0x4b, 0x06, 0x66, 0x00, 0x10, 0x00, 0x14, 0x00, + 0x30, 0x40, 0x12, 0x00, 0x01, 0x14, 0x11, 0x08, 0x11, 0x01, 0x03, + 0x15, 0x16, 0x11, 0x12, 0x91, 0x5b, 0x11, 0x05, 0x05, 0x0c, 0xb8, + 0x01, 0x0a, 0xb4, 0x59, 0x05, 0x03, 0x01, 0x15, 0x00, 0x3f, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, 0x23, 0x11, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x17, 0x15, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, 0x15, + 0x13, 0x35, 0x33, 0x15, 0x02, 0x44, 0xb4, 0xc1, 0xe1, 0x48, 0xa7, + 0x2a, 0x1e, 0xb7, 0x2f, 0x68, 0x6a, 0x31, 0x35, 0xc8, 0x03, 0xcc, + 0xcd, 0xac, 0x0d, 0x08, 0x91, 0x05, 0x0c, 0x2e, 0x68, 0x5d, 0x01, + 0xe9, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x96, 0xff, + 0xec, 0x04, 0x7d, 0x05, 0x56, 0x00, 0x24, 0x00, 0x4b, 0x40, 0x28, + 0x1a, 0x1b, 0x22, 0x10, 0x12, 0x21, 0x0c, 0x00, 0x00, 0x21, 0x10, + 0x06, 0x1b, 0x05, 0x25, 0x26, 0x11, 0x22, 0x22, 0x0f, 0x60, 0x59, + 0x22, 0x22, 0x1b, 0x1f, 0x1f, 0x15, 0x5f, 0x59, 0x1f, 0x04, 0x1b, + 0x12, 0x04, 0x09, 0x5f, 0x59, 0x04, 0x13, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x0e, 0x01, + 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x2b, 0x01, 0x37, 0x13, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, 0x15, + 0x11, 0x23, 0x11, 0x10, 0x12, 0x33, 0x20, 0x13, 0x01, 0x1e, 0x01, + 0x04, 0x7d, 0x6a, 0xc1, 0x7d, 0x87, 0x79, 0x1b, 0x5a, 0x76, 0x81, + 0x7c, 0x96, 0x9b, 0x29, 0x01, 0xee, 0x25, 0x85, 0x44, 0x60, 0x77, + 0x38, 0xbf, 0xd8, 0xf4, 0x01, 0x20, 0xa6, 0xfe, 0xfe, 0xa1, 0xb6, + 0x01, 0x90, 0x80, 0xbf, 0x65, 0x20, 0x9e, 0x27, 0x8e, 0x7f, 0x84, + 0x79, 0x99, 0x01, 0x1c, 0x36, 0x42, 0x5e, 0xb2, 0xa7, 0xfc, 0xfd, + 0x03, 0x03, 0x01, 0x3d, 0x01, 0x16, 0xfe, 0xff, 0xfe, 0xc7, 0x11, + 0xd0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xbf, 0x04, + 0xcc, 0x05, 0x45, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x02, 0x00, + 0x0f, 0x11, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x80, 0xfe, 0xbf, 0x04, 0x88, 0x04, 0x4e, 0x12, + 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xec, + 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xd1, 0xb4, 0x31, + 0x33, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x04, 0xcc, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x24, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x81, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x02, 0x1d, 0x05, 0x26, 0x02, 0x0a, 0x14, 0x18, 0x04, + 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x05, 0xf6, 0x12, + 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x60, + 0xfe, 0xcb, 0x00, 0x15, 0xb4, 0x02, 0x3f, 0x11, 0x26, 0x02, 0xb8, + 0xff, 0xcc, 0xb4, 0x36, 0x3a, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, + 0xcc, 0x07, 0x1a, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x51, 0x02, 0xcd, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, + 0x02, 0x19, 0x05, 0x26, 0x03, 0x02, 0x67, 0x1b, 0x10, 0x04, 0x07, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x06, 0x26, + 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x07, 0x09, 0x59, 0x02, + 0xbf, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x3b, 0x11, + 0x26, 0x03, 0x02, 0x3b, 0x3d, 0x32, 0x0f, 0x03, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x07, 0x1a, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, 0x52, 0x01, 0xfd, 0x00, 0x00, + 0x00, 0x19, 0xb6, 0x03, 0x02, 0x19, 0x05, 0x26, 0x03, 0x02, 0xb8, + 0xff, 0x98, 0xb4, 0x12, 0x15, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x40, 0xff, + 0xec, 0x04, 0x88, 0x06, 0x20, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x5a, 0x01, 0xed, 0xff, 0xfa, 0x00, 0x19, 0xb6, + 0x03, 0x02, 0x3d, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0x69, 0xb4, + 0x34, 0x39, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, + 0x07, 0x1a, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x53, 0x02, 0xa1, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, + 0x24, 0x05, 0x26, 0x03, 0x02, 0x3b, 0x26, 0x17, 0x04, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x06, 0x68, 0x12, + 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x07, 0x09, 0x5b, 0x02, 0xa7, + 0xff, 0xf3, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x47, 0x11, 0x26, + 0x03, 0x02, 0x23, 0x49, 0x39, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x04, 0xcc, 0x07, 0x1a, 0x12, 0x26, 0x00, 0x24, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x54, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x03, 0x02, 0x27, 0x05, 0x26, 0x03, 0x02, 0x00, + 0x16, 0x22, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, + 0x04, 0x88, 0x06, 0xe5, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x5c, 0x02, 0x4f, 0xff, 0xf6, 0x00, 0x19, 0xb6, 0x03, + 0x02, 0x37, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xcc, 0xb4, 0x42, + 0x33, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xbf, 0x04, 0xcc, 0x06, + 0xa8, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, 0x27, 0x09, 0x10, + 0x02, 0xfd, 0x00, 0x00, 0x11, 0x07, 0x02, 0x87, 0x00, 0x00, 0x00, + 0xf4, 0x00, 0x15, 0x40, 0x0c, 0x03, 0x19, 0x05, 0x26, 0x03, 0x02, + 0x00, 0x0f, 0x11, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x80, 0xfe, 0xbf, 0x04, 0x88, + 0x05, 0xb4, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x10, 0x26, 0x02, + 0x87, 0xf4, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xd7, 0x00, 0x00, + 0x00, 0x26, 0xb4, 0x02, 0x35, 0x11, 0x26, 0x03, 0xb8, 0xff, 0xd1, + 0x40, 0x09, 0x3b, 0x3d, 0x0f, 0x03, 0x25, 0x02, 0x20, 0x36, 0x01, + 0xb8, 0xff, 0xd0, 0xb4, 0x36, 0x30, 0x0f, 0x02, 0x25, 0x01, 0x2b, + 0x5d, 0x35, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x07, 0x1a, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, 0x55, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x14, 0x05, 0x26, 0x03, 0x02, + 0x00, 0x17, 0x1f, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, + 0xec, 0x04, 0x88, 0x06, 0xf0, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x5d, 0x02, 0x4e, 0x00, 0x00, 0x00, 0x19, 0xb6, + 0x03, 0x02, 0x30, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xca, 0xb4, + 0x33, 0x39, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, + 0x07, 0x1a, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x56, 0x02, 0x6a, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, + 0x14, 0x05, 0x26, 0x03, 0x02, 0x04, 0x17, 0x1f, 0x04, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x06, 0xf0, 0x12, + 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, 0x07, 0x09, 0x5e, 0x02, 0x4a, + 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x30, 0x11, 0x26, 0x03, + 0x02, 0xb8, 0xff, 0xc6, 0xb4, 0x33, 0x39, 0x0f, 0x03, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x04, 0xcc, 0x07, 0x1a, 0x12, 0x26, 0x00, 0x24, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x57, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x17, 0x40, 0x0d, 0x03, 0x02, 0x0e, 0x05, 0x26, 0x03, 0x02, 0x00, + 0x11, 0x19, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xec, + 0x04, 0x88, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x44, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x5f, 0x02, 0x5c, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, + 0x02, 0x30, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xd8, 0xb4, 0x33, + 0x39, 0x0f, 0x03, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x07, + 0x1a, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x09, 0x58, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x0e, + 0x05, 0x26, 0x03, 0x02, 0x00, 0x22, 0x2f, 0x04, 0x07, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x80, 0xff, 0xec, 0x04, 0x88, 0x06, 0xef, 0x12, 0x26, + 0x00, 0x44, 0x00, 0x00, 0x11, 0x07, 0x09, 0x60, 0x02, 0x59, 0x00, + 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x30, 0x11, 0x26, 0x03, 0x02, + 0xb8, 0xff, 0xd5, 0xb4, 0x33, 0x39, 0x0f, 0x03, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xfe, 0xbf, 0x04, 0xcc, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x24, 0x00, + 0x00, 0x10, 0x27, 0x02, 0x99, 0x00, 0x00, 0x00, 0xf5, 0x11, 0x07, + 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x15, 0x40, 0x0c, 0x02, + 0x0e, 0x05, 0x26, 0x03, 0x02, 0x00, 0x11, 0x19, 0x04, 0x07, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x80, 0xfe, 0xbf, 0x04, 0x88, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x44, + 0x00, 0x00, 0x10, 0x26, 0x02, 0x99, 0xed, 0x00, 0x11, 0x07, 0x09, + 0x10, 0x02, 0xe1, 0x00, 0x00, 0x00, 0x15, 0x40, 0x0c, 0x02, 0x30, + 0x11, 0x26, 0x03, 0x02, 0x07, 0x33, 0x3b, 0x1a, 0x1f, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0xfe, 0xbf, 0x04, 0x62, 0x05, 0x45, 0x12, 0x26, 0x00, + 0x28, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, 0x26, 0x00, 0x00, + 0x00, 0x0b, 0xb6, 0x01, 0x0d, 0x0d, 0x0f, 0x01, 0x0b, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xfe, 0xbf, + 0x04, 0x46, 0x04, 0x4e, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x10, 0x03, 0x05, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x02, + 0x08, 0x1c, 0x1e, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x07, 0x2b, + 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, + 0x93, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1b, 0x05, 0x26, + 0x01, 0x00, 0x12, 0x16, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, + 0x04, 0x46, 0x05, 0xf6, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, + 0x07, 0x02, 0xca, 0x03, 0x79, 0xfe, 0xcb, 0x00, 0x13, 0x40, 0x0b, + 0x02, 0x2a, 0x11, 0x26, 0x02, 0x03, 0x21, 0x25, 0x0d, 0x14, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x06, 0x9e, 0x12, 0x26, 0x00, + 0x28, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9d, 0x00, 0x01, 0x00, 0xf5, + 0x00, 0x15, 0xb4, 0x01, 0x16, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xe5, + 0xb4, 0x16, 0x23, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, 0x05, + 0xa9, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, + 0x01, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x24, 0x11, 0x26, 0x02, + 0x01, 0x25, 0x32, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x8e, 0x07, + 0x1a, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, 0x09, 0x51, + 0x02, 0xe1, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x17, + 0x05, 0x26, 0x02, 0x01, 0x5f, 0x19, 0x0e, 0x01, 0x0b, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x85, 0x06, 0x26, 0x12, 0x26, + 0x00, 0x48, 0x00, 0x00, 0x11, 0x07, 0x09, 0x59, 0x02, 0xd8, 0x00, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x26, 0x11, 0x26, 0x03, + 0x02, 0x72, 0x28, 0x1d, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, + 0x00, 0x00, 0x04, 0x62, 0x07, 0x1a, 0x12, 0x26, 0x00, 0x28, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x52, 0x02, 0x15, 0x00, 0x00, 0x00, 0x19, + 0xb6, 0x02, 0x01, 0x17, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0x94, + 0xb4, 0x10, 0x13, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x55, 0xff, 0xec, 0x04, + 0x46, 0x06, 0x26, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x5a, 0x02, 0x02, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, + 0x28, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0x9d, 0xb4, 0x1f, 0x24, + 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, 0x00, 0x04, 0x62, 0x07, 0x1a, + 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x11, 0x07, 0x09, 0x53, 0x02, + 0xb3, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x22, 0x05, + 0x26, 0x02, 0x01, 0x31, 0x24, 0x15, 0x01, 0x0b, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x85, 0xff, 0xec, 0x04, 0x4f, 0x06, 0x75, 0x12, 0x26, 0x00, + 0x48, 0x00, 0x00, 0x11, 0x07, 0x09, 0x5b, 0x02, 0xba, 0x00, 0x00, + 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x32, 0x11, 0x26, 0x03, 0x02, + 0x55, 0x34, 0x24, 0x0d, 0x14, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa2, 0x00, + 0x00, 0x04, 0x62, 0x07, 0x1a, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x54, 0x02, 0x76, 0x00, 0x00, 0x00, 0x19, 0xb6, + 0x02, 0x01, 0x25, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xf5, 0xb4, + 0x14, 0x20, 0x01, 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x46, + 0x06, 0xef, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x5c, 0x02, 0x6d, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, + 0x22, 0x11, 0x26, 0x03, 0x02, 0x08, 0x2d, 0x1e, 0x0d, 0x14, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xa2, 0xfe, 0xbf, 0x04, 0x62, 0x06, 0xa8, 0x12, + 0x26, 0x00, 0x28, 0x00, 0x00, 0x10, 0x27, 0x02, 0x87, 0x00, 0x00, + 0x00, 0xf4, 0x11, 0x07, 0x09, 0x10, 0x03, 0x1b, 0x00, 0x00, 0x00, + 0x17, 0xb5, 0x01, 0x0d, 0x05, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xe4, + 0xb4, 0x12, 0x0c, 0x00, 0x0a, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x85, 0xfe, 0xbf, + 0x04, 0x46, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x48, 0x00, 0x00, 0x10, + 0x26, 0x02, 0x87, 0x07, 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, 0x10, + 0x00, 0x00, 0x00, 0x15, 0x40, 0x0c, 0x02, 0x1c, 0x11, 0x26, 0x03, + 0x02, 0x07, 0x21, 0x1b, 0x0d, 0x13, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, + 0x00, 0x04, 0x01, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, + 0x11, 0x07, 0x02, 0xca, 0x03, 0x76, 0x00, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x1b, 0x05, 0x26, 0x01, 0x00, 0x12, 0x16, 0x0b, 0x06, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x06, 0x0b, 0x12, 0x26, + 0x09, 0x12, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x76, 0xfe, + 0xe0, 0x00, 0x15, 0xb4, 0x01, 0x19, 0x11, 0x26, 0x01, 0xb8, 0xff, + 0xec, 0xb4, 0x10, 0x14, 0x04, 0x02, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xca, 0xfe, 0xbf, 0x04, 0x01, + 0x05, 0x45, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, 0x0d, + 0x0f, 0x0b, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x8f, 0xfe, 0xbf, 0x04, 0x65, 0x05, 0xcc, 0x12, 0x26, + 0x00, 0x4c, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, 0x19, 0x00, + 0x00, 0x00, 0x0b, 0xb6, 0x02, 0x08, 0x0f, 0x11, 0x04, 0x02, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xfe, + 0xbf, 0x04, 0x66, 0x05, 0x5a, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, + 0x02, 0x00, 0x17, 0x19, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xfe, 0xbf, 0x04, 0x49, 0x04, + 0x4e, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, + 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x02, 0x00, 0x19, 0x1b, + 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x07, 0x2b, 0x12, 0x26, 0x00, + 0x32, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x76, 0x00, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x02, 0x25, 0x05, 0x26, 0x02, 0x00, 0x1c, + 0x20, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x06, + 0x0b, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, + 0x03, 0x76, 0xfe, 0xe0, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x27, 0x11, + 0x26, 0x02, 0x00, 0x1e, 0x22, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, + 0xec, 0x04, 0x6d, 0x07, 0x1a, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, + 0x11, 0x07, 0x09, 0x51, 0x02, 0xc0, 0x00, 0x00, 0x00, 0x17, 0x40, + 0x0d, 0x03, 0x02, 0x21, 0x05, 0x26, 0x03, 0x02, 0x5a, 0x23, 0x18, + 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x7a, + 0x06, 0x26, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x09, + 0x59, 0x02, 0xcd, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, + 0x23, 0x11, 0x26, 0x03, 0x02, 0x67, 0x25, 0x1a, 0x06, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x49, 0xff, 0xec, 0x04, 0x66, 0x07, 0x1a, 0x12, + 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, 0x09, 0x52, 0x01, 0xf4, + 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x21, 0x05, 0x26, 0x03, + 0x02, 0xb8, 0xff, 0x8f, 0xb4, 0x1a, 0x1d, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x58, 0xff, 0xec, 0x04, 0x49, 0x06, 0x26, 0x12, 0x26, 0x00, 0x52, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x5a, 0x02, 0x05, 0x00, 0x00, 0x00, + 0x19, 0xb6, 0x03, 0x02, 0x25, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, + 0xa0, 0xb4, 0x1c, 0x21, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, + 0x04, 0x66, 0x07, 0x1a, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x11, + 0x07, 0x09, 0x53, 0x02, 0xae, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, + 0x03, 0x02, 0x2c, 0x05, 0x26, 0x03, 0x02, 0x48, 0x2e, 0x1f, 0x06, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x4a, 0x06, + 0x75, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x09, 0x5b, + 0x02, 0xb5, 0x00, 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x2f, + 0x11, 0x26, 0x03, 0x02, 0x50, 0x31, 0x21, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0x66, 0x07, 0x1a, 0x12, 0x26, + 0x00, 0x32, 0x00, 0x00, 0x11, 0x07, 0x09, 0x54, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x2f, 0x05, 0x26, 0x03, + 0x02, 0x00, 0x1e, 0x2a, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, + 0xff, 0xec, 0x04, 0x49, 0x06, 0xef, 0x12, 0x26, 0x00, 0x52, 0x00, + 0x00, 0x11, 0x07, 0x09, 0x5c, 0x02, 0x6a, 0x00, 0x00, 0x00, 0x17, + 0x40, 0x0d, 0x03, 0x02, 0x1f, 0x11, 0x26, 0x03, 0x02, 0x05, 0x2a, + 0x1b, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xfe, 0xbf, 0x04, + 0x66, 0x06, 0xa8, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x10, 0x27, + 0x02, 0x87, 0x00, 0x00, 0x00, 0xf4, 0x11, 0x07, 0x09, 0x10, 0x02, + 0xfd, 0x00, 0x00, 0x00, 0x15, 0x40, 0x0c, 0x02, 0x17, 0x05, 0x26, + 0x03, 0x02, 0x00, 0x1c, 0x16, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, 0xfe, 0xbf, + 0x04, 0x49, 0x05, 0xb4, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x10, + 0x26, 0x02, 0x87, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, + 0x00, 0x00, 0x00, 0x15, 0x40, 0x0c, 0x02, 0x19, 0x11, 0x26, 0x03, + 0x02, 0x00, 0x1e, 0x18, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, + 0xec, 0x04, 0xe6, 0x06, 0xa8, 0x12, 0x26, 0x01, 0x62, 0x00, 0x00, + 0x11, 0x07, 0x00, 0x76, 0x00, 0x62, 0x00, 0xf4, 0x00, 0x13, 0x40, + 0x0b, 0x02, 0x24, 0x05, 0x26, 0x02, 0x22, 0x20, 0x23, 0x06, 0x11, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x82, 0xff, 0xec, 0x05, 0x03, 0x05, 0xb4, 0x12, 0x26, + 0x01, 0x63, 0x00, 0x00, 0x11, 0x06, 0x00, 0x76, 0x65, 0x00, 0x00, + 0x13, 0x40, 0x0b, 0x02, 0x27, 0x11, 0x26, 0x02, 0x08, 0x23, 0x26, + 0x06, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, 0xe6, 0x06, 0xa8, 0x12, 0x26, + 0x01, 0x62, 0x00, 0x00, 0x11, 0x07, 0x00, 0x43, 0xff, 0xaa, 0x00, + 0xf4, 0x00, 0x15, 0xb4, 0x02, 0x1f, 0x05, 0x26, 0x02, 0xb8, 0xff, + 0x6a, 0xb4, 0x21, 0x24, 0x06, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x05, 0x03, + 0x05, 0xb4, 0x12, 0x26, 0x01, 0x63, 0x00, 0x00, 0x11, 0x06, 0x00, + 0x43, 0xba, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x22, 0x11, 0x26, 0x02, + 0xb8, 0xff, 0xbb, 0xb4, 0x24, 0x27, 0x06, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x66, + 0xff, 0xec, 0x04, 0xe6, 0x07, 0x2b, 0x12, 0x26, 0x01, 0x62, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x84, 0x00, 0x00, 0x00, 0x15, + 0xb4, 0x02, 0x2e, 0x05, 0x26, 0x02, 0xb8, 0xff, 0xce, 0xb4, 0x25, + 0x29, 0x06, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x05, 0x03, 0x06, 0x0b, 0x12, + 0x26, 0x01, 0x63, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x7a, + 0xfe, 0xe0, 0x00, 0x15, 0xb4, 0x02, 0x31, 0x11, 0x26, 0x02, 0xb8, + 0xff, 0xa7, 0xb4, 0x28, 0x2c, 0x06, 0x11, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x66, 0xff, 0xec, 0x04, + 0xe6, 0x06, 0x9d, 0x12, 0x26, 0x01, 0x62, 0x00, 0x00, 0x11, 0x07, + 0x02, 0x9d, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x15, 0xb4, 0x02, 0x28, + 0x05, 0x26, 0x02, 0xb8, 0xff, 0xc0, 0xb4, 0x29, 0x36, 0x06, 0x11, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x82, 0xff, 0xec, 0x05, 0x03, 0x05, 0xa9, 0x12, 0x26, 0x01, 0x63, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, 0x00, 0x00, 0x00, 0x15, 0xb4, + 0x02, 0x2b, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xa3, 0xb4, 0x2c, 0x39, + 0x06, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x66, 0xfe, 0xbf, 0x04, 0xe6, 0x05, 0x81, + 0x12, 0x26, 0x01, 0x62, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x03, + 0x06, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xc9, 0xb4, + 0x20, 0x22, 0x06, 0x11, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, + 0x82, 0xfe, 0xbf, 0x05, 0x03, 0x04, 0x4e, 0x12, 0x26, 0x01, 0x63, + 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, + 0x0e, 0xb9, 0x00, 0x02, 0xff, 0xa4, 0xb4, 0x23, 0x25, 0x06, 0x11, + 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x8e, 0xfe, 0xbf, 0x04, + 0x3d, 0x05, 0x45, 0x12, 0x26, 0x00, 0x38, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x10, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x00, + 0x13, 0x15, 0x07, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xb9, 0xfe, 0xbf, 0x04, 0x1f, 0x04, 0x3a, 0x12, + 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xfd, + 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0xfa, 0xb4, 0x1b, + 0x1d, 0x19, 0x0c, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x8e, + 0xff, 0xec, 0x04, 0x3d, 0x07, 0x2b, 0x12, 0x26, 0x00, 0x38, 0x00, + 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x76, 0x00, 0x00, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x21, 0x05, 0x26, 0x01, 0x00, 0x18, 0x1c, 0x07, + 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0x1f, 0x06, 0x0b, 0x12, + 0x26, 0x00, 0x58, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x6f, + 0xfe, 0xe0, 0x00, 0x15, 0xb4, 0x01, 0x29, 0x11, 0x26, 0x01, 0xb8, + 0xff, 0xf3, 0xb4, 0x20, 0x24, 0x19, 0x0c, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, 0xec, 0x05, + 0x24, 0x06, 0xa8, 0x12, 0x26, 0x01, 0x71, 0x00, 0x00, 0x11, 0x07, + 0x00, 0x76, 0x00, 0x56, 0x00, 0xf4, 0x00, 0x15, 0xb4, 0x01, 0x22, + 0x05, 0x26, 0x01, 0xb8, 0xff, 0xe3, 0xb4, 0x1e, 0x21, 0x12, 0x07, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0xb9, 0xff, 0xec, 0x04, 0xf4, 0x05, 0xb4, 0x12, 0x26, 0x01, 0x72, + 0x05, 0x00, 0x11, 0x06, 0x00, 0x76, 0x55, 0x00, 0x00, 0x08, 0xb3, + 0x01, 0x2a, 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x8e, + 0xff, 0xec, 0x05, 0x24, 0x06, 0xa8, 0x12, 0x26, 0x01, 0x71, 0x00, + 0x00, 0x11, 0x07, 0x00, 0x43, 0xff, 0x9f, 0x00, 0xf4, 0x00, 0x15, + 0xb4, 0x01, 0x1d, 0x05, 0x26, 0x01, 0xb8, 0xff, 0x2c, 0xb4, 0x1f, + 0x22, 0x12, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0xf4, 0x05, 0xb4, 0x10, + 0x26, 0x01, 0x72, 0x05, 0x00, 0x11, 0x06, 0x00, 0x43, 0x9d, 0x00, + 0x00, 0x08, 0xb3, 0x01, 0x25, 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, + 0xff, 0x00, 0x8e, 0xff, 0xec, 0x05, 0x24, 0x07, 0x2b, 0x12, 0x26, + 0x01, 0x71, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, 0x03, 0x59, 0x00, + 0x00, 0x00, 0x15, 0xb4, 0x01, 0x2c, 0x05, 0x26, 0x01, 0xb8, 0xff, + 0x70, 0xb4, 0x23, 0x27, 0x12, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0xf4, + 0x06, 0x0b, 0x10, 0x26, 0x01, 0x72, 0x05, 0x00, 0x11, 0x07, 0x02, + 0xca, 0x03, 0x67, 0xfe, 0xe0, 0x00, 0x08, 0xb3, 0x01, 0x34, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8e, 0xff, + 0xec, 0x05, 0x24, 0x06, 0x9e, 0x12, 0x26, 0x01, 0x71, 0x00, 0x00, + 0x11, 0x07, 0x02, 0x9d, 0xff, 0xda, 0x00, 0xf5, 0x00, 0x15, 0xb4, + 0x01, 0x27, 0x05, 0x26, 0x01, 0xb8, 0xff, 0x67, 0xb4, 0x27, 0x34, + 0x12, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0xb9, 0xff, 0xec, 0x04, 0xf4, 0x05, 0xa9, 0x10, 0x26, + 0x01, 0x72, 0x05, 0x00, 0x11, 0x06, 0x02, 0x9d, 0xfd, 0x00, 0x00, + 0x08, 0xb3, 0x01, 0x2f, 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, + 0x00, 0x8e, 0xfe, 0xbf, 0x05, 0x24, 0x05, 0x81, 0x12, 0x26, 0x01, + 0x71, 0x00, 0x00, 0x11, 0x07, 0x09, 0x10, 0x02, 0xde, 0x00, 0x00, + 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0x6e, 0xb4, 0x1e, 0x20, 0x12, + 0x07, 0x25, 0x01, 0x2b, 0x35, 0xff, 0xff, 0x00, 0xb9, 0xfe, 0xbf, + 0x04, 0xf4, 0x04, 0x3a, 0x10, 0x26, 0x01, 0x72, 0x05, 0x00, 0x10, + 0x07, 0x09, 0x10, 0x02, 0xea, 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, + 0x00, 0x00, 0x04, 0xa8, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x3c, 0x00, + 0x00, 0x11, 0x07, 0x00, 0x43, 0xff, 0xba, 0x00, 0xf5, 0x00, 0x15, + 0xb4, 0x01, 0x09, 0x05, 0x26, 0x01, 0xb8, 0xff, 0xba, 0xb4, 0x0a, + 0x0d, 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x05, 0xb4, 0x12, + 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, 0x00, 0x43, 0xc5, 0x00, + 0x00, 0x15, 0xb4, 0x01, 0x15, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xc6, + 0xb4, 0x16, 0x19, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, 0xfe, 0xbf, 0x04, + 0xa8, 0x05, 0x45, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x11, 0x07, + 0x09, 0x10, 0x03, 0x01, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x04, + 0x0a, 0x0c, 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, 0x04, 0x3a, 0x12, + 0x26, 0x00, 0x5c, 0x00, 0x00, 0x10, 0x07, 0x09, 0x10, 0x04, 0x29, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, 0x07, + 0x2b, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x11, 0x07, 0x02, 0xca, + 0x03, 0x71, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x18, 0x05, 0x26, + 0x01, 0xb8, 0xff, 0xfb, 0xb4, 0x0f, 0x13, 0x04, 0x08, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, + 0x57, 0x04, 0x89, 0x06, 0x0b, 0x12, 0x26, 0x00, 0x5c, 0x00, 0x00, + 0x11, 0x07, 0x02, 0xca, 0x03, 0x73, 0xfe, 0xe0, 0x00, 0x15, 0xb4, + 0x01, 0x24, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xfd, 0xb4, 0x1b, 0x1f, + 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x24, 0x00, 0x00, 0x04, 0xa8, 0x06, 0x9e, 0x12, 0x26, + 0x00, 0x3c, 0x00, 0x00, 0x11, 0x07, 0x02, 0x9d, 0x00, 0x01, 0x00, + 0xf5, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x13, 0x05, 0x26, 0x01, 0x00, + 0x13, 0x20, 0x04, 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, 0x57, 0x04, 0x89, + 0x05, 0xa9, 0x12, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x11, 0x06, 0x02, + 0x9d, 0x01, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1f, 0x11, 0x26, + 0x01, 0x01, 0x1f, 0x2c, 0x0a, 0x11, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, + 0x06, 0x30, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, 0x07, 0x07, + 0x91, 0x00, 0xfd, 0x00, 0x64, 0x00, 0x15, 0xb4, 0x02, 0x2b, 0x11, + 0x26, 0x02, 0xb8, 0xff, 0xcd, 0xb4, 0x2b, 0x27, 0x05, 0x0f, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, + 0xff, 0xec, 0x04, 0x90, 0x06, 0x30, 0x12, 0x26, 0x03, 0x62, 0x00, + 0x00, 0x11, 0x07, 0x07, 0xcb, 0x00, 0xf3, 0x00, 0x64, 0x00, 0x15, + 0xb4, 0x02, 0x2c, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xbc, 0xb4, 0x30, + 0x2b, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x06, 0x30, 0x12, + 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa0, 0x00, 0xf9, + 0x00, 0x64, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x31, 0x11, 0x26, 0x03, + 0x02, 0xb8, 0xff, 0xbd, 0xb4, 0x31, 0x27, 0x05, 0x0f, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x81, 0xff, 0xec, 0x04, 0x90, 0x06, 0x30, 0x12, 0x26, 0x03, 0x62, + 0x00, 0x00, 0x11, 0x07, 0x07, 0xad, 0x00, 0xec, 0x00, 0x64, 0x00, + 0x19, 0xb6, 0x03, 0x02, 0x32, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, + 0xb0, 0xb4, 0x36, 0x27, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, + 0x04, 0x90, 0x06, 0x30, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, + 0x07, 0x07, 0xa1, 0x01, 0x31, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x03, + 0x02, 0x31, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xfa, 0xb4, 0x31, + 0x28, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, 0x07, 0x07, 0xae, + 0x01, 0x26, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x32, 0x11, + 0x26, 0x03, 0x02, 0xb8, 0xff, 0xef, 0xb4, 0x36, 0x28, 0x05, 0x0f, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x07, 0x4a, 0x12, 0x26, + 0x03, 0x62, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa2, 0x01, 0x01, 0x00, + 0x64, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x44, 0x11, 0x26, 0x03, 0x02, + 0xb8, 0xff, 0xce, 0xb4, 0x2f, 0x3c, 0x05, 0x0f, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, + 0xff, 0xec, 0x04, 0x90, 0x07, 0x4a, 0x12, 0x26, 0x03, 0x62, 0x00, + 0x00, 0x11, 0x07, 0x07, 0xaf, 0x00, 0xf6, 0x00, 0x64, 0x00, 0x19, + 0xb6, 0x03, 0x02, 0x45, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xc3, + 0xb4, 0x2f, 0x3c, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, + 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, 0x06, + 0x07, 0x91, 0x89, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, + 0x10, 0x06, 0x07, 0xcb, 0x93, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0xff, 0x00, 0x00, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x07, 0x07, 0xa0, 0xfe, 0xd5, 0x00, 0x00, 0xff, + 0xff, 0xfe, 0xff, 0x00, 0x00, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, + 0x00, 0x24, 0x00, 0x00, 0x10, 0x07, 0x07, 0xad, 0xfe, 0xd5, 0x00, + 0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x04, 0xcc, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, 0x07, 0x07, 0xa1, 0xfe, + 0xd5, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x04, 0xcc, + 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, 0x07, 0x07, + 0xae, 0xfe, 0xd5, 0x00, 0x00, 0xff, 0xff, 0xff, 0x14, 0x00, 0x00, + 0x04, 0xcc, 0x06, 0xe6, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, + 0x07, 0x07, 0xa2, 0xff, 0x25, 0x00, 0x00, 0xff, 0xff, 0xff, 0x14, + 0x00, 0x00, 0x04, 0xcc, 0x06, 0xe6, 0x12, 0x26, 0x00, 0x24, 0x00, + 0x00, 0x10, 0x07, 0x07, 0xaf, 0xff, 0x25, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x06, 0x30, 0x12, 0x26, 0x03, + 0x66, 0x00, 0x00, 0x11, 0x07, 0x07, 0x91, 0x01, 0x28, 0x00, 0x64, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x2d, 0x11, 0x26, 0x01, 0x08, 0x2d, + 0x29, 0x0a, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x66, 0x00, 0x00, 0x11, 0x07, 0x07, 0xcb, + 0x01, 0x0d, 0x00, 0x64, 0x00, 0x15, 0xb4, 0x01, 0x2e, 0x11, 0x26, + 0x01, 0xb8, 0xff, 0xe7, 0xb4, 0x32, 0x2d, 0x0a, 0x04, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xaf, 0xff, + 0xec, 0x04, 0x41, 0x06, 0x30, 0x12, 0x26, 0x03, 0x66, 0x00, 0x00, + 0x11, 0x07, 0x07, 0xa0, 0x01, 0x26, 0x00, 0x64, 0x00, 0x19, 0xb6, + 0x02, 0x01, 0x33, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xfa, 0xb4, + 0x33, 0x29, 0x0a, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, + 0x06, 0x30, 0x12, 0x26, 0x03, 0x66, 0x00, 0x00, 0x11, 0x07, 0x07, + 0xad, 0x01, 0x11, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x34, + 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xe5, 0xb4, 0x38, 0x29, 0x0a, + 0x04, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0xff, 0xff, 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x06, 0x30, 0x12, + 0x26, 0x03, 0x66, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x01, 0x43, + 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x33, 0x11, 0x26, + 0x02, 0x01, 0x1c, 0x33, 0x2a, 0x0a, 0x04, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xaf, 0xff, 0xec, 0x04, 0x41, 0x06, 0x30, 0x12, 0x26, 0x03, 0x66, + 0x00, 0x00, 0x11, 0x07, 0x07, 0xae, 0x01, 0x52, 0x00, 0x64, 0x00, + 0x17, 0x40, 0x0d, 0x02, 0x01, 0x34, 0x11, 0x26, 0x02, 0x01, 0x2b, + 0x38, 0x2a, 0x0a, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x47, 0x00, 0x00, + 0x04, 0x62, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x10, + 0x07, 0x07, 0x91, 0xfe, 0x54, 0x00, 0x00, 0xff, 0xff, 0x00, 0x08, + 0x00, 0x00, 0x05, 0x2a, 0x05, 0xcc, 0x10, 0x27, 0x00, 0x28, 0x00, + 0xc8, 0x00, 0x00, 0x10, 0x07, 0x07, 0xcb, 0xff, 0x1c, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, 0x62, 0x05, + 0xcc, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x10, 0x07, 0x07, 0xa0, + 0xfd, 0x96, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, + 0x62, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x10, 0x07, + 0x07, 0xad, 0xfd, 0x96, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xc0, 0x00, + 0x00, 0x04, 0x62, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, + 0x10, 0x07, 0x07, 0xa1, 0xfd, 0x96, 0x00, 0x00, 0xff, 0xff, 0xfd, + 0xc0, 0x00, 0x00, 0x04, 0x62, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x28, + 0x00, 0x00, 0x10, 0x07, 0x07, 0xae, 0xfd, 0x96, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, 0x30, 0x12, 0x26, + 0x03, 0x68, 0x00, 0x00, 0x11, 0x07, 0x07, 0x91, 0x01, 0x22, 0x00, + 0x64, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1e, 0x11, 0x26, 0x01, 0x14, + 0x1e, 0x1a, 0x0c, 0x18, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, + 0x06, 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x11, 0x07, 0x07, + 0xcb, 0x01, 0x29, 0x00, 0x64, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x1f, + 0x11, 0x26, 0x01, 0x14, 0x23, 0x1e, 0x0c, 0x18, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, + 0xfe, 0x57, 0x04, 0x19, 0x06, 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, + 0x00, 0x11, 0x07, 0x07, 0xa0, 0x01, 0x1a, 0x00, 0x64, 0x00, 0x17, + 0x40, 0x0d, 0x02, 0x01, 0x24, 0x11, 0x26, 0x02, 0x01, 0x00, 0x24, + 0x1a, 0x0c, 0x18, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, + 0x19, 0x06, 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x11, 0x07, + 0x07, 0xad, 0x01, 0x1a, 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, 0x02, + 0x01, 0x25, 0x11, 0x26, 0x02, 0x01, 0x00, 0x29, 0x1a, 0x0c, 0x18, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, 0x30, + 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x01, + 0x15, 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x24, 0x11, + 0x26, 0x02, 0x01, 0x00, 0x24, 0x1b, 0x0c, 0x18, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, 0x30, 0x12, 0x26, 0x03, + 0x68, 0x00, 0x00, 0x11, 0x07, 0x07, 0xae, 0x01, 0x15, 0x00, 0x64, + 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x25, 0x11, 0x26, 0x02, 0x01, + 0x00, 0x29, 0x1b, 0x0c, 0x18, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, + 0x57, 0x04, 0x19, 0x07, 0x4a, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, + 0x11, 0x07, 0x07, 0xa2, 0x01, 0x11, 0x00, 0x64, 0x00, 0x17, 0x40, + 0x0d, 0x02, 0x01, 0x37, 0x11, 0x26, 0x02, 0x01, 0x00, 0x22, 0x2f, + 0x0c, 0x18, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, + 0x07, 0x4a, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x11, 0x07, 0x07, + 0xaf, 0x01, 0x27, 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, + 0x38, 0x11, 0x26, 0x02, 0x01, 0x16, 0x22, 0x2f, 0x0c, 0x18, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x47, 0x00, 0x00, 0x04, 0x2a, 0x05, 0xcc, 0x12, + 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x07, 0x07, 0x91, 0xfe, 0x54, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x04, 0x2a, 0x05, + 0xcc, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x07, 0x07, 0xcb, + 0xfe, 0x54, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, + 0x2a, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x07, + 0x07, 0xa0, 0xfd, 0x96, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xd3, 0x00, + 0x00, 0x04, 0x2a, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, + 0x10, 0x07, 0x07, 0xad, 0xfd, 0xa9, 0x00, 0x00, 0xff, 0xff, 0xfd, + 0xc0, 0x00, 0x00, 0x04, 0x2a, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2b, + 0x00, 0x00, 0x10, 0x07, 0x07, 0xa1, 0xfd, 0x96, 0x00, 0x00, 0xff, + 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, 0x2a, 0x05, 0xcc, 0x12, 0x26, + 0x00, 0x2b, 0x00, 0x00, 0x10, 0x07, 0x07, 0xae, 0xfd, 0x96, 0x00, + 0x00, 0xff, 0xff, 0xfd, 0xa3, 0x00, 0x00, 0x04, 0x2a, 0x06, 0xe6, + 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x07, 0x07, 0xa2, 0xfd, + 0xb4, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xa3, 0x00, 0x00, 0x04, 0x2a, + 0x06, 0xe6, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x07, 0x07, + 0xaf, 0xfd, 0xb4, 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, + 0x04, 0x5d, 0x06, 0x30, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, + 0x07, 0x07, 0x91, 0x00, 0xdc, 0x00, 0x64, 0x00, 0x15, 0xb4, 0x01, + 0x15, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xbc, 0xb4, 0x15, 0x11, 0x0e, + 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x06, 0x30, 0x12, 0x26, 0x03, + 0x6a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xcb, 0x00, 0xd8, 0x00, 0x64, + 0x00, 0x15, 0xb4, 0x01, 0x16, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xb1, + 0xb4, 0x1a, 0x15, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa0, + 0x00, 0xe6, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x1b, 0x11, + 0x26, 0x02, 0x01, 0xb8, 0xff, 0xb9, 0xb4, 0x1b, 0x11, 0x0e, 0x06, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x06, 0x30, 0x12, 0x26, + 0x03, 0x6a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xad, 0x00, 0xe2, 0x00, + 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x1c, 0x11, 0x26, 0x02, 0x01, + 0xb8, 0xff, 0xb5, 0xb4, 0x20, 0x11, 0x0e, 0x06, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x95, + 0xff, 0xec, 0x04, 0x5d, 0x06, 0x30, 0x12, 0x26, 0x03, 0x6a, 0x00, + 0x00, 0x11, 0x07, 0x07, 0xa1, 0x00, 0xe3, 0x00, 0x64, 0x00, 0x19, + 0xb6, 0x02, 0x01, 0x1b, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xbb, + 0xb4, 0x1b, 0x12, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, + 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, + 0x5d, 0x06, 0x30, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, 0x07, + 0x07, 0xae, 0x00, 0xdf, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, + 0x1c, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xb7, 0xb4, 0x20, 0x12, + 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x07, 0x4a, + 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa2, 0x00, + 0xd9, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x2e, 0x11, 0x26, + 0x02, 0x01, 0xb8, 0xff, 0xb6, 0xb4, 0x19, 0x26, 0x0e, 0x06, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x07, 0x4a, 0x12, 0x26, 0x03, + 0x6a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xaf, 0x00, 0xd9, 0x00, 0x64, + 0x00, 0x19, 0xb6, 0x02, 0x01, 0x2f, 0x11, 0x26, 0x02, 0x01, 0xb8, + 0xff, 0xb6, 0xb4, 0x19, 0x26, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0xff, 0x47, 0x00, + 0x00, 0x04, 0x01, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, + 0x10, 0x07, 0x07, 0x91, 0xfe, 0x54, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x40, 0x00, 0x00, 0x04, 0x01, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2c, + 0x00, 0x00, 0x10, 0x07, 0x07, 0xcb, 0xfe, 0x54, 0x00, 0x00, 0xff, + 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, 0x01, 0x05, 0xcc, 0x12, 0x26, + 0x00, 0x2c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xa0, 0xfd, 0x96, 0x00, + 0x00, 0xff, 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, 0x01, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xad, 0xfd, + 0x96, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, 0x01, + 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x07, 0x07, + 0xa1, 0xfd, 0x96, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xc0, 0x00, 0x00, + 0x04, 0x01, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x10, + 0x07, 0x07, 0xae, 0xfd, 0x96, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xa3, + 0x00, 0x00, 0x04, 0x01, 0x06, 0xe6, 0x12, 0x26, 0x00, 0x2c, 0x00, + 0x00, 0x10, 0x07, 0x07, 0xa2, 0xfd, 0xb4, 0x00, 0x00, 0xff, 0xff, + 0xfd, 0xa3, 0x00, 0x00, 0x04, 0x01, 0x06, 0xe6, 0x12, 0x26, 0x00, + 0x2c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xaf, 0xfd, 0xb4, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x06, 0x30, 0x12, + 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x07, 0x91, 0x01, 0x0e, + 0x00, 0x64, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x1d, 0x11, 0x26, 0x02, + 0x01, 0x1d, 0x19, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, + 0x49, 0x06, 0x30, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, + 0x07, 0xcb, 0x01, 0x15, 0x00, 0x64, 0x00, 0x13, 0x40, 0x0b, 0x02, + 0x1e, 0x11, 0x26, 0x02, 0x01, 0x22, 0x1d, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x82, 0xff, 0xec, 0x04, 0x49, 0x06, 0x30, 0x12, 0x26, 0x00, 0x52, + 0x00, 0x00, 0x11, 0x07, 0x07, 0xa0, 0x01, 0x1a, 0x00, 0x64, 0x00, + 0x17, 0x40, 0x0d, 0x03, 0x02, 0x23, 0x11, 0x26, 0x03, 0x02, 0x00, + 0x23, 0x19, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, + 0x04, 0x49, 0x06, 0x30, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, + 0x07, 0x07, 0xad, 0x01, 0x1a, 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, + 0x03, 0x02, 0x24, 0x11, 0x26, 0x03, 0x02, 0x00, 0x28, 0x19, 0x06, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x06, + 0x30, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, + 0x01, 0x15, 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x23, + 0x11, 0x26, 0x03, 0x02, 0x00, 0x23, 0x1a, 0x06, 0x00, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x06, 0x30, 0x12, 0x26, + 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x07, 0xae, 0x01, 0x15, 0x00, + 0x64, 0x00, 0x17, 0x40, 0x0d, 0x03, 0x02, 0x24, 0x11, 0x26, 0x03, + 0x02, 0x00, 0x28, 0x1a, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xab, + 0xff, 0xec, 0x04, 0x66, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x32, 0x00, + 0x00, 0x10, 0x07, 0x07, 0x91, 0xfe, 0xb8, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xa4, 0xff, 0xec, 0x04, 0x66, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0x32, 0x00, 0x00, 0x10, 0x07, 0x07, 0xcb, 0xfe, 0xb8, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0x24, 0xff, 0xec, 0x04, 0x66, 0x05, 0xcc, 0x12, + 0x26, 0x00, 0x32, 0x00, 0x00, 0x10, 0x07, 0x07, 0xa0, 0xfd, 0xfa, + 0x00, 0x00, 0xff, 0xff, 0xfe, 0x24, 0xff, 0xec, 0x04, 0x66, 0x05, + 0xcc, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x10, 0x07, 0x07, 0xad, + 0xfd, 0xfa, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x88, 0xff, 0xec, 0x04, + 0x66, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x10, 0x07, + 0x07, 0xa1, 0xfe, 0x5e, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x88, 0xff, + 0xec, 0x04, 0x66, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, + 0x10, 0x07, 0x07, 0xae, 0xfe, 0x5e, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xa3, 0xff, 0xec, 0x04, 0x44, 0x06, 0x30, 0x12, 0x26, 0x03, 0x76, + 0x00, 0x00, 0x11, 0x07, 0x07, 0x91, 0x00, 0xfe, 0x00, 0x64, 0x00, + 0x15, 0xb4, 0x01, 0x1a, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xe3, 0xb4, + 0x1a, 0x16, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x06, 0x30, + 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x07, 0x07, 0xcb, 0x00, + 0xee, 0x00, 0x64, 0x00, 0x15, 0xb4, 0x01, 0x1b, 0x11, 0x26, 0x01, + 0xb8, 0xff, 0xcc, 0xb4, 0x1f, 0x1a, 0x07, 0x00, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, + 0x04, 0x44, 0x06, 0x30, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, + 0x07, 0x07, 0xa0, 0x00, 0xfd, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, + 0x01, 0x20, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xd6, 0xb4, 0x20, + 0x16, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x07, 0x07, 0xad, + 0x00, 0xf9, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x21, 0x11, + 0x26, 0x02, 0x01, 0xb8, 0xff, 0xd2, 0xb4, 0x25, 0x16, 0x07, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, + 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x06, 0x30, 0x12, 0x26, + 0x03, 0x76, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x01, 0x2c, 0x00, + 0x64, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x20, 0x11, 0x26, 0x02, + 0x01, 0x09, 0x20, 0x17, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, + 0xff, 0xec, 0x04, 0x44, 0x06, 0x30, 0x12, 0x26, 0x03, 0x76, 0x00, + 0x00, 0x11, 0x07, 0x07, 0xae, 0x01, 0x2c, 0x00, 0x64, 0x00, 0x17, + 0x40, 0x0d, 0x02, 0x01, 0x21, 0x11, 0x26, 0x02, 0x01, 0x09, 0x25, + 0x17, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, + 0x44, 0x07, 0x4a, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x07, + 0x07, 0xa2, 0x01, 0x11, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, + 0x33, 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x1e, 0x2b, + 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x07, 0x4a, + 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x07, 0x07, 0xaf, 0x01, + 0x11, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x34, 0x11, 0x26, + 0x02, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x1e, 0x2b, 0x07, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, + 0xfe, 0xdc, 0x00, 0x00, 0x04, 0xa8, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0x3c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xcb, 0xfd, 0xf0, 0x00, 0x00, + 0xff, 0xff, 0xfd, 0xc0, 0x00, 0x00, 0x04, 0xa8, 0x05, 0xcc, 0x12, + 0x26, 0x00, 0x3c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xad, 0xfd, 0x96, + 0x00, 0x00, 0xff, 0xff, 0xfd, 0x5c, 0x00, 0x00, 0x04, 0xa8, 0x05, + 0xcc, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xae, + 0xfd, 0x32, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x98, 0x00, 0x00, 0x04, + 0xa8, 0x06, 0xe6, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x10, 0x07, + 0x07, 0xaf, 0xfd, 0xa9, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xff, + 0xec, 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, + 0x11, 0x07, 0x07, 0x91, 0x01, 0x0e, 0x00, 0x64, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x2f, 0x11, 0x26, 0x01, 0x00, 0x2f, 0x2b, 0x1a, 0x0d, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, + 0x03, 0x7a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xcb, 0x01, 0x15, 0x00, + 0x64, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x30, 0x11, 0x26, 0x01, 0x00, + 0x34, 0x2f, 0x1a, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, + 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x11, 0x07, 0x07, + 0xa0, 0x01, 0x1a, 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x35, + 0x11, 0x26, 0x02, 0x01, 0xb8, 0xff, 0xff, 0xb4, 0x35, 0x2b, 0x1a, + 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, 0x06, 0x30, 0x12, + 0x26, 0x03, 0x7a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xad, 0x01, 0x1a, + 0x00, 0x64, 0x00, 0x19, 0xb6, 0x02, 0x01, 0x36, 0x11, 0x26, 0x02, + 0x01, 0xb8, 0xff, 0xff, 0xb4, 0x3a, 0x2b, 0x1a, 0x0d, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x35, 0xff, 0xec, 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, + 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x01, 0x29, 0x00, 0x64, 0x00, + 0x17, 0x40, 0x0d, 0x02, 0x01, 0x35, 0x11, 0x26, 0x02, 0x01, 0x13, + 0x35, 0x2c, 0x1a, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, + 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xff, 0xec, + 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x11, + 0x07, 0x07, 0xae, 0x01, 0x29, 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, + 0x02, 0x01, 0x36, 0x11, 0x26, 0x02, 0x01, 0x13, 0x3a, 0x2c, 0x1a, + 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, 0x07, + 0x4a, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa2, + 0x01, 0x11, 0x00, 0x64, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x48, + 0x11, 0x26, 0x02, 0x01, 0x00, 0x33, 0x40, 0x1a, 0x0d, 0x25, 0x01, + 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, 0x07, 0x4a, 0x12, 0x26, + 0x03, 0x7a, 0x00, 0x00, 0x11, 0x07, 0x07, 0xaf, 0x01, 0x11, 0x00, + 0x64, 0x00, 0x17, 0x40, 0x0d, 0x02, 0x01, 0x49, 0x11, 0x26, 0x02, + 0x01, 0x00, 0x33, 0x40, 0x1a, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xab, + 0x00, 0x00, 0x04, 0x93, 0x05, 0xcc, 0x12, 0x26, 0x03, 0x5a, 0x00, + 0x00, 0x10, 0x07, 0x07, 0x91, 0xfe, 0xb8, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xa4, 0x00, 0x00, 0x04, 0x93, 0x05, 0xcc, 0x12, 0x26, 0x03, + 0x5a, 0x00, 0x00, 0x10, 0x07, 0x07, 0xcb, 0xfe, 0xb8, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0x24, 0x00, 0x00, 0x04, 0x93, 0x05, 0xcc, 0x12, + 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, 0x07, 0x07, 0xa0, 0xfd, 0xfa, + 0x00, 0x00, 0xff, 0xff, 0xfe, 0x22, 0x00, 0x00, 0x04, 0x92, 0x05, + 0xcc, 0x10, 0x26, 0x03, 0x5a, 0xff, 0x00, 0x10, 0x07, 0x07, 0xad, + 0xfd, 0xf8, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x88, 0x00, 0x00, 0x04, + 0x93, 0x05, 0xcc, 0x12, 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, 0x07, + 0x07, 0xa1, 0xfe, 0x5e, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x88, 0x00, + 0x00, 0x04, 0x93, 0x05, 0xcc, 0x12, 0x26, 0x03, 0x5a, 0x00, 0x00, + 0x10, 0x07, 0x07, 0xae, 0xfe, 0x5e, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0x59, 0x00, 0x00, 0x04, 0x93, 0x06, 0xe6, 0x12, 0x26, 0x03, 0x5a, + 0x00, 0x00, 0x10, 0x07, 0x07, 0xa2, 0xfe, 0x6a, 0x00, 0x00, 0xff, + 0xff, 0xfe, 0x59, 0x00, 0x00, 0x04, 0x93, 0x06, 0xe6, 0x12, 0x26, + 0x03, 0x5a, 0x00, 0x00, 0x10, 0x07, 0x07, 0xaf, 0xfe, 0x6a, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x06, 0x07, + 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, 0x07, 0x07, 0xbf, 0x00, + 0xac, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x2b, 0x11, 0x26, 0x02, + 0xb8, 0xff, 0x79, 0xb4, 0x28, 0x2b, 0x05, 0x0f, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, + 0x04, 0x90, 0x05, 0xf6, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, + 0x06, 0x03, 0x38, 0x21, 0x00, 0x00, 0x15, 0xb4, 0x02, 0x2b, 0x11, + 0x26, 0x02, 0xb8, 0xff, 0xfe, 0xb4, 0x27, 0x2a, 0x05, 0x0f, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x06, 0x07, 0x12, 0x26, 0x03, + 0x66, 0x00, 0x00, 0x11, 0x07, 0x07, 0xbf, 0x00, 0xd6, 0x00, 0x00, + 0x00, 0x15, 0xb4, 0x01, 0x2d, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xb3, + 0xb4, 0x2a, 0x2d, 0x0a, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xaf, 0xff, 0xec, 0x04, 0x41, 0x05, + 0xf6, 0x12, 0x26, 0x03, 0x66, 0x00, 0x00, 0x11, 0x06, 0x03, 0x38, + 0x62, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x2d, 0x11, 0x26, 0x01, + 0x4f, 0x29, 0x2c, 0x0a, 0x04, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, + 0x07, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x11, 0x07, 0x07, 0xbf, + 0x00, 0xdd, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x1e, 0x11, 0x26, + 0x01, 0xb8, 0xff, 0xcc, 0xb4, 0x1b, 0x1e, 0x0c, 0x18, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, + 0x57, 0x04, 0x19, 0x05, 0xf6, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, + 0x11, 0x06, 0x03, 0x38, 0x57, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x01, + 0x1e, 0x11, 0x26, 0x01, 0x56, 0x1a, 0x1d, 0x0c, 0x18, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, + 0xec, 0x04, 0x5d, 0x06, 0x07, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, + 0x11, 0x07, 0x07, 0xbf, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x15, 0xb4, + 0x01, 0x15, 0x11, 0x26, 0x01, 0xb8, 0xff, 0x7b, 0xb4, 0x12, 0x15, + 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x05, 0xf6, 0x12, 0x26, + 0x03, 0x6a, 0x00, 0x00, 0x11, 0x06, 0x03, 0x38, 0x18, 0x00, 0x00, + 0x13, 0x40, 0x0b, 0x01, 0x15, 0x11, 0x26, 0x01, 0x04, 0x11, 0x14, + 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, 0x06, 0x07, 0x12, 0x26, + 0x00, 0x52, 0x00, 0x00, 0x11, 0x07, 0x07, 0xbf, 0x00, 0xd2, 0x00, + 0x00, 0x00, 0x15, 0xb4, 0x02, 0x1d, 0x11, 0x26, 0x02, 0xb8, 0xff, + 0xc2, 0xb4, 0x1a, 0x1d, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0xec, 0x04, 0x49, + 0x05, 0xf6, 0x12, 0x26, 0x00, 0x52, 0x00, 0x00, 0x11, 0x06, 0x03, + 0x38, 0x21, 0x00, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x1d, 0x11, 0x26, + 0x02, 0x20, 0x19, 0x1c, 0x06, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, + 0x06, 0x07, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x07, 0x07, + 0xbf, 0x00, 0xc2, 0x00, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x1a, 0x11, + 0x26, 0x01, 0xb8, 0xff, 0xa4, 0xb4, 0x17, 0x1a, 0x07, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0xa3, + 0xff, 0xec, 0x04, 0x44, 0x05, 0xf6, 0x12, 0x26, 0x03, 0x76, 0x00, + 0x00, 0x11, 0x06, 0x03, 0x38, 0x1a, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x1a, 0x11, 0x26, 0x01, 0x0b, 0x16, 0x19, 0x07, 0x00, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x35, + 0xff, 0xec, 0x04, 0x99, 0x06, 0x07, 0x12, 0x26, 0x03, 0x7a, 0x00, + 0x00, 0x11, 0x07, 0x07, 0xbf, 0x00, 0xba, 0x00, 0x00, 0x00, 0x15, + 0xb4, 0x01, 0x2f, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xa8, 0xb4, 0x2c, + 0x2f, 0x1a, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x35, 0xff, 0xec, 0x04, 0x99, 0x05, 0xf6, 0x12, + 0x26, 0x03, 0x7a, 0x00, 0x00, 0x11, 0x06, 0x03, 0x38, 0x3b, 0x00, + 0x00, 0x13, 0x40, 0x0b, 0x01, 0x2f, 0x11, 0x26, 0x01, 0x39, 0x2b, + 0x2e, 0x1a, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, 0x04, 0x90, 0x06, 0x30, 0x12, + 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x27, 0x07, 0x91, 0x00, 0xfa, + 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, 0x00, + 0x15, 0xb4, 0x02, 0x2b, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xcd, 0xb4, + 0x2b, 0x27, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, 0x04, 0x90, 0x06, 0x30, + 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x27, 0x07, 0xcb, 0x00, + 0xf4, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, + 0x00, 0x15, 0xb4, 0x02, 0x2c, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xbc, + 0xb4, 0x30, 0x2b, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, 0x04, 0x90, 0x06, + 0x29, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa0, + 0x00, 0xf3, 0x00, 0x5d, 0x11, 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, + 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x31, 0x11, 0x26, 0x03, 0x02, + 0xb8, 0xff, 0xbd, 0xb4, 0x31, 0x27, 0x05, 0x0f, 0x25, 0x01, 0x2b, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, + 0xfe, 0x57, 0x04, 0x90, 0x06, 0x30, 0x12, 0x26, 0x03, 0x62, 0x00, + 0x00, 0x10, 0x27, 0x07, 0xad, 0x00, 0xf4, 0x00, 0x64, 0x11, 0x07, + 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, + 0x32, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xb0, 0xb4, 0x36, 0x27, + 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, 0x04, 0x90, 0x06, 0x30, + 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa1, 0x01, + 0x13, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, + 0x00, 0x19, 0xb6, 0x03, 0x02, 0x31, 0x11, 0x26, 0x03, 0x02, 0xb8, + 0xff, 0xfa, 0xb4, 0x31, 0x28, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, + 0x57, 0x04, 0x90, 0x06, 0x30, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, + 0x10, 0x27, 0x07, 0xae, 0x01, 0x13, 0x00, 0x64, 0x11, 0x07, 0x03, + 0x06, 0x02, 0x44, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x32, + 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, 0xef, 0xb4, 0x36, 0x28, 0x05, + 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, 0x04, 0x90, 0x07, 0x4a, 0x12, + 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa2, 0x00, 0xf7, + 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, 0x00, + 0x19, 0xb6, 0x03, 0x02, 0x44, 0x11, 0x26, 0x03, 0x02, 0xb8, 0xff, + 0xce, 0xb4, 0x2f, 0x3c, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, + 0x04, 0x90, 0x07, 0x4a, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xaf, 0x00, 0xf0, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x44, 0x00, 0x00, 0x00, 0x19, 0xb6, 0x03, 0x02, 0x45, 0x11, + 0x26, 0x03, 0x02, 0xb8, 0xff, 0xc3, 0xb4, 0x2f, 0x3c, 0x05, 0x0f, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xfe, 0x57, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, + 0x00, 0x24, 0x00, 0x00, 0x10, 0x26, 0x07, 0x91, 0x9d, 0x00, 0x10, + 0x07, 0x03, 0x06, 0x02, 0x68, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xfe, 0x57, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x10, 0x26, 0x07, 0xcb, 0x9d, 0x00, 0x10, 0x07, + 0x03, 0x06, 0x02, 0x68, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0xff, 0xfe, 0x57, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x27, 0x07, 0xa0, 0xfe, 0xd5, 0x00, 0x00, 0x10, + 0x07, 0x03, 0x06, 0x02, 0x68, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, + 0xfe, 0x57, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, 0x00, + 0x00, 0x10, 0x27, 0x07, 0xad, 0xfe, 0xd5, 0x00, 0x00, 0x10, 0x07, + 0x03, 0x06, 0x02, 0x68, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xfe, + 0x57, 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, + 0x10, 0x27, 0x07, 0xa1, 0xfe, 0xd5, 0x00, 0x00, 0x10, 0x07, 0x03, + 0x06, 0x02, 0x68, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0x57, + 0x04, 0xcc, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xae, 0xfe, 0xd5, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, + 0x02, 0x68, 0x00, 0x00, 0xff, 0xff, 0xff, 0x14, 0xfe, 0x57, 0x04, + 0xcc, 0x06, 0xe6, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, 0x27, + 0x07, 0xa2, 0xff, 0x25, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, + 0x68, 0x00, 0x00, 0xff, 0xff, 0xff, 0x14, 0xfe, 0x57, 0x04, 0xcc, + 0x06, 0xe6, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, 0x27, 0x07, + 0xaf, 0xff, 0x25, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x68, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0x91, + 0x01, 0x0d, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x08, 0xb3, 0x01, 0x1e, 0x11, 0x26, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0xcb, + 0x01, 0x11, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x08, 0xb3, 0x01, 0x1e, 0x11, 0x26, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa0, + 0x01, 0x03, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x24, 0x11, 0x26, 0x00, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0xad, + 0x00, 0xff, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x24, 0x11, 0x26, 0x00, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa1, + 0x01, 0x20, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x24, 0x11, 0x26, 0x00, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x06, + 0x30, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0xae, + 0x01, 0x21, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x24, 0x11, 0x26, 0x00, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x07, + 0x44, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa2, + 0x01, 0x18, 0x00, 0x5e, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x36, 0x11, 0x26, 0x00, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x07, + 0x4a, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, 0x10, 0x27, 0x07, 0xaf, + 0x01, 0x0d, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x37, 0x11, 0x26, 0x00, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0xff, 0x47, 0xfe, 0x57, 0x04, 0x2a, 0x05, + 0xcc, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x27, 0x07, 0x91, + 0xfe, 0x54, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x65, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x40, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0xcc, + 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x27, 0x07, 0xcb, 0xfe, + 0x54, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x65, 0x00, 0x00, + 0xff, 0xff, 0xfd, 0xc0, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0xcc, 0x12, + 0x26, 0x00, 0x2b, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa0, 0xfd, 0x96, + 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x65, 0x00, 0x00, 0xff, + 0xff, 0xfd, 0xc0, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0xcc, 0x12, 0x26, + 0x00, 0x2b, 0x00, 0x00, 0x10, 0x27, 0x07, 0xad, 0xfd, 0x96, 0x00, + 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x65, 0x00, 0x00, 0xff, 0xff, + 0xfd, 0xc0, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0x2b, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa1, 0xfd, 0x96, 0x00, 0x00, + 0x10, 0x07, 0x03, 0x06, 0x02, 0x65, 0x00, 0x00, 0xff, 0xff, 0xfd, + 0xc0, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x2b, + 0x00, 0x00, 0x10, 0x27, 0x07, 0xae, 0xfd, 0x96, 0x00, 0x00, 0x10, + 0x07, 0x03, 0x06, 0x02, 0x65, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x85, + 0xfe, 0x57, 0x04, 0x2a, 0x06, 0xe6, 0x12, 0x26, 0x00, 0x2b, 0x00, + 0x00, 0x10, 0x27, 0x07, 0xa2, 0xfd, 0x96, 0x00, 0x00, 0x10, 0x07, + 0x03, 0x06, 0x02, 0x65, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x85, 0xfe, + 0x57, 0x04, 0x2a, 0x06, 0xe6, 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, + 0x10, 0x27, 0x07, 0xaf, 0xfd, 0x96, 0x00, 0x00, 0x10, 0x07, 0x03, + 0x06, 0x02, 0x65, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0x91, 0x01, 0x0e, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x2f, 0x11, 0x26, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xcb, 0x01, 0x15, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x2f, 0x11, 0x26, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xa0, 0x01, 0x1a, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x35, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xad, 0x01, 0x1a, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x36, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xa1, 0x01, 0x33, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x35, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x06, 0x30, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xae, 0x01, 0x33, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x36, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x07, 0x4a, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xa2, 0x01, 0x11, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x48, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, + 0x04, 0x99, 0x07, 0x4a, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xaf, 0x01, 0x11, 0x00, 0x64, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0a, 0xb4, 0x02, 0x01, 0x49, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x35, 0xff, 0xff, 0xff, 0xab, 0xfe, 0x57, + 0x04, 0x93, 0x05, 0xcc, 0x12, 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, + 0x27, 0x07, 0x91, 0xfe, 0xb8, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, + 0x02, 0x76, 0x00, 0x00, 0xff, 0xff, 0xff, 0xa4, 0xfe, 0x57, 0x04, + 0x93, 0x05, 0xcc, 0x12, 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, 0x27, + 0x07, 0xcb, 0xfe, 0xb8, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, + 0x76, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x24, 0xfe, 0x57, 0x04, 0x93, + 0x05, 0xcc, 0x12, 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, 0x27, 0x07, + 0xa0, 0xfd, 0xfa, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x76, + 0x00, 0x00, 0xff, 0xff, 0xfe, 0x24, 0xfe, 0x57, 0x04, 0x93, 0x05, + 0xcc, 0x12, 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, 0x27, 0x07, 0xad, + 0xfd, 0xfa, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x76, 0x00, + 0x00, 0xff, 0xff, 0xfe, 0x88, 0xfe, 0x57, 0x04, 0x93, 0x05, 0xcc, + 0x12, 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa1, 0xfe, + 0x5e, 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x76, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0x88, 0xfe, 0x57, 0x04, 0x93, 0x05, 0xcc, 0x12, + 0x26, 0x03, 0x5a, 0x00, 0x00, 0x10, 0x27, 0x07, 0xae, 0xfe, 0x5e, + 0x00, 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x76, 0x00, 0x00, 0xff, + 0xff, 0xfe, 0x59, 0xfe, 0x57, 0x04, 0x93, 0x06, 0xe6, 0x12, 0x26, + 0x03, 0x5a, 0x00, 0x00, 0x10, 0x27, 0x07, 0xa2, 0xfe, 0x6a, 0x00, + 0x00, 0x10, 0x07, 0x03, 0x06, 0x02, 0x76, 0x00, 0x00, 0xff, 0xff, + 0xfe, 0x59, 0xfe, 0x57, 0x04, 0x93, 0x06, 0xe6, 0x12, 0x26, 0x03, + 0x5a, 0x00, 0x00, 0x10, 0x27, 0x07, 0xaf, 0xfe, 0x6a, 0x00, 0x00, + 0x10, 0x07, 0x03, 0x06, 0x02, 0x76, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x81, 0xff, 0xec, 0x04, 0x90, 0x05, 0xb4, 0x12, 0x26, 0x03, 0x62, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, 0x00, 0x00, 0x00, 0x15, 0xb4, + 0x02, 0x26, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xde, 0xb4, 0x29, 0x31, + 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x05, 0x52, + 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, 0x06, 0x09, 0x69, 0x00, + 0x00, 0x00, 0x15, 0xb4, 0x02, 0x27, 0x11, 0x26, 0x02, 0xb8, 0xff, + 0xde, 0xb4, 0x28, 0x29, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, + 0x04, 0x90, 0x06, 0x07, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, + 0x27, 0x07, 0xbf, 0x00, 0xa2, 0x00, 0x00, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x44, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x02, 0x26, 0x11, 0x26, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, + 0x04, 0x90, 0x04, 0x4e, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x11, + 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, 0x00, 0x0e, 0xb9, 0x00, + 0x02, 0xff, 0xe6, 0xb4, 0x31, 0x2c, 0x05, 0x0f, 0x25, 0x01, 0x2b, + 0x35, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, 0x04, 0x90, 0x05, 0xf6, + 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x26, 0x03, 0x38, 0x22, + 0x00, 0x11, 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, 0x00, 0x08, + 0xb3, 0x02, 0x2b, 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, 0x00, + 0x81, 0xff, 0xec, 0x04, 0x90, 0x05, 0xa9, 0x12, 0x26, 0x03, 0x62, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, 0x01, 0x00, 0x00, 0x15, 0xb4, + 0x02, 0x30, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xde, 0xb4, 0x30, 0x3d, + 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x57, 0x04, 0x90, 0x05, 0xa9, + 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x26, 0x02, 0x9d, 0x01, + 0x00, 0x11, 0x07, 0x03, 0x06, 0x02, 0x44, 0x00, 0x00, 0x00, 0x08, + 0xb3, 0x02, 0x30, 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0xa9, 0x12, 0x26, 0x00, 0x24, + 0x00, 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, 0x00, 0x00, 0xf5, 0x00, + 0x13, 0x40, 0x0b, 0x02, 0x0e, 0x05, 0x26, 0x02, 0x00, 0x11, 0x19, + 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x06, 0x5e, + 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, + 0x02, 0x01, 0x0b, 0x00, 0x13, 0x40, 0x0b, 0x02, 0x0f, 0x05, 0x26, + 0x02, 0x00, 0x10, 0x11, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x04, 0xcc, 0x06, 0x07, 0x12, 0x26, 0x00, 0x24, 0x00, 0x00, 0x10, + 0x07, 0x07, 0xbf, 0xff, 0x69, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x04, 0xcc, 0x05, 0xf6, 0x12, 0x26, 0x00, 0x24, 0x00, + 0x00, 0x10, 0x07, 0x03, 0x38, 0xfe, 0x76, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xfe, 0x57, 0x04, 0xcc, 0x05, 0x45, 0x12, 0x26, 0x00, + 0x24, 0x00, 0x00, 0x11, 0x07, 0x03, 0x06, 0x02, 0x6e, 0x00, 0x00, + 0x00, 0x0b, 0xb6, 0x02, 0x32, 0x19, 0x14, 0x04, 0x07, 0x25, 0x01, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xf3, 0x04, 0x85, + 0x01, 0xbe, 0x05, 0xcc, 0x00, 0x0a, 0x00, 0x1d, 0x40, 0x0c, 0x08, + 0x00, 0x00, 0x0a, 0x0a, 0x0b, 0x0c, 0x08, 0x08, 0x04, 0x00, 0x00, + 0x00, 0x3f, 0xcd, 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x14, 0x06, 0x07, 0x23, 0x3e, + 0x01, 0x35, 0x23, 0x35, 0x01, 0xbe, 0x1f, 0x2d, 0x7f, 0x2d, 0x2e, + 0x57, 0x05, 0xcc, 0x4d, 0x57, 0x6e, 0x35, 0x33, 0x4c, 0x23, 0xa5, + 0x00, 0x01, 0x01, 0x14, 0xfe, 0x57, 0x01, 0xf4, 0xff, 0x81, 0x00, + 0x0c, 0x00, 0x1b, 0x40, 0x0c, 0x0c, 0x06, 0x0b, 0x0b, 0x0d, 0x0e, + 0x08, 0x03, 0x51, 0x59, 0x08, 0x0b, 0x00, 0x2f, 0xcd, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x05, 0x14, 0x16, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x3d, 0x01, 0x33, 0x01, + 0x98, 0x15, 0x18, 0x0e, 0x21, 0x2c, 0x26, 0x8e, 0x84, 0xfc, 0x21, + 0x17, 0x06, 0x70, 0x0b, 0x98, 0x92, 0x00, 0x01, 0x00, 0xf3, 0x04, + 0x85, 0x01, 0xbe, 0x05, 0xcc, 0x00, 0x0a, 0x00, 0x1d, 0x40, 0x0c, + 0x08, 0x00, 0x00, 0x0a, 0x0a, 0x0b, 0x0c, 0x08, 0x08, 0x04, 0x00, + 0x00, 0x00, 0x3f, 0xcd, 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x14, 0x06, 0x07, 0x23, + 0x3e, 0x01, 0x35, 0x23, 0x35, 0x01, 0xbe, 0x1f, 0x2d, 0x7f, 0x2d, + 0x2e, 0x57, 0x05, 0xcc, 0x4d, 0x57, 0x6e, 0x35, 0x33, 0x4c, 0x23, + 0xa5, 0x00, 0x01, 0xff, 0xe9, 0x04, 0xb1, 0x02, 0xb6, 0x05, 0xbd, + 0x00, 0x17, 0x00, 0x23, 0x40, 0x0f, 0x14, 0x15, 0x15, 0x08, 0x09, + 0x09, 0x18, 0x15, 0x05, 0x0d, 0x80, 0x12, 0x09, 0x00, 0x93, 0x00, + 0x3f, 0x32, 0x32, 0x1a, 0xcd, 0x32, 0x32, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x2e, 0x02, 0x23, + 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, + 0x32, 0x37, 0x33, 0x0e, 0x01, 0x01, 0xec, 0x2a, 0x54, 0x4e, 0x47, + 0x1f, 0x37, 0x36, 0x09, 0x5b, 0x0b, 0x30, 0x51, 0x3f, 0x2c, 0x54, + 0x4e, 0x45, 0x1e, 0x64, 0x11, 0x5c, 0x11, 0x64, 0x04, 0xb1, 0x25, + 0x2d, 0x25, 0x3e, 0x39, 0x66, 0x69, 0x3d, 0x25, 0x2d, 0x25, 0x77, + 0x94, 0x78, 0x00, 0x00, 0x03, 0x00, 0x11, 0x04, 0xc3, 0x02, 0x9b, + 0x06, 0xc0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x44, 0x40, + 0x20, 0x07, 0x04, 0x00, 0x03, 0x04, 0x03, 0x11, 0x1b, 0x1c, 0x1c, + 0x10, 0x11, 0x11, 0x20, 0x19, 0x11, 0x08, 0x08, 0x1c, 0x0d, 0x14, + 0x04, 0x40, 0x01, 0x05, 0x04, 0x05, 0x90, 0x5b, 0x00, 0x04, 0x94, + 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x1a, 0x18, 0x10, 0xcc, + 0x32, 0x32, 0x39, 0x2f, 0x33, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x35, 0x33, 0x15, 0x05, 0x35, 0x33, 0x15, 0x13, 0x22, + 0x2e, 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x01, 0x33, 0x32, + 0x1e, 0x02, 0x33, 0x32, 0x37, 0x33, 0x0e, 0x02, 0x01, 0xbf, 0xa3, + 0xfd, 0xe6, 0xa5, 0xf7, 0x26, 0x4c, 0x46, 0x41, 0x1c, 0x33, 0x30, + 0x08, 0x53, 0x0d, 0x5d, 0x4e, 0x28, 0x4c, 0x46, 0x40, 0x1b, 0x5b, + 0x0f, 0x53, 0x0c, 0x2a, 0x48, 0x04, 0xc4, 0xb8, 0xb8, 0x01, 0xb8, + 0xb8, 0x01, 0x0a, 0x22, 0x28, 0x22, 0x38, 0x34, 0x81, 0x72, 0x22, + 0x28, 0x22, 0x6c, 0x5f, 0x5e, 0x36, 0xff, 0xff, 0x00, 0xb3, 0xfe, + 0x57, 0x04, 0x19, 0x06, 0x07, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, + 0x10, 0x27, 0x07, 0xbf, 0x00, 0xa7, 0x00, 0x00, 0x11, 0x07, 0x03, + 0x06, 0x01, 0x18, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x19, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb3, 0xfe, + 0x57, 0x04, 0x19, 0x04, 0x4e, 0x12, 0x26, 0x03, 0x68, 0x00, 0x00, + 0x10, 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x05, 0xf6, 0x12, 0x26, 0x03, 0x68, + 0x00, 0x00, 0x10, 0x27, 0x03, 0x38, 0x01, 0x23, 0x00, 0x00, 0x11, + 0x07, 0x03, 0x06, 0x01, 0x18, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x01, + 0x19, 0x11, 0x26, 0x00, 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x05, 0xa9, 0x12, 0x26, 0x03, 0x68, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, 0x0a, 0x00, 0x00, 0x13, 0x40, + 0x0b, 0x01, 0x23, 0x11, 0x26, 0x01, 0x09, 0x23, 0x30, 0x0c, 0x18, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, + 0xb3, 0xfe, 0x57, 0x04, 0x19, 0x05, 0xa9, 0x12, 0x26, 0x03, 0x68, + 0x00, 0x00, 0x10, 0x27, 0x03, 0x06, 0x01, 0x18, 0x00, 0x00, 0x11, + 0x06, 0x02, 0x9d, 0x0a, 0x00, 0x00, 0x08, 0xb3, 0x02, 0x30, 0x11, + 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, 0xfe, 0xf6, 0x00, 0x00, 0x04, + 0x62, 0x06, 0x07, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, 0x10, 0x07, + 0x07, 0xbf, 0xfe, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xff, 0x32, 0x00, + 0x00, 0x04, 0x62, 0x05, 0xf6, 0x12, 0x26, 0x00, 0x28, 0x00, 0x00, + 0x10, 0x07, 0x03, 0x38, 0xfd, 0x57, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0xf6, 0x00, 0x00, 0x04, 0x2a, 0x06, 0x07, 0x12, 0x26, 0x00, 0x2b, + 0x00, 0x00, 0x10, 0x07, 0x07, 0xbf, 0xfe, 0x2b, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x32, 0x00, 0x00, 0x04, 0x2a, 0x05, 0xf6, 0x12, 0x26, + 0x00, 0x2b, 0x00, 0x00, 0x10, 0x07, 0x03, 0x38, 0xfd, 0x57, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xa2, 0xfe, 0x57, 0x04, 0x2a, 0x05, 0x45, + 0x12, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x11, 0x07, 0x03, 0x06, 0x02, + 0x6f, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x33, 0x17, 0x12, 0x05, + 0x0b, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x2a, 0x04, 0x85, 0x02, 0x6e, 0x05, 0xcc, 0x00, 0x05, 0x00, 0x10, + 0x00, 0x39, 0x40, 0x14, 0x0e, 0x06, 0x06, 0x10, 0x05, 0x04, 0x04, + 0x02, 0x01, 0x10, 0x01, 0x11, 0x12, 0x0e, 0x0e, 0x05, 0x01, 0x0a, + 0x05, 0x0a, 0xb8, 0x01, 0x0c, 0xb3, 0x5b, 0x10, 0x05, 0x00, 0x00, + 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x12, 0x39, 0x18, 0x2f, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x23, 0x03, 0x35, 0x33, 0x21, + 0x15, 0x14, 0x06, 0x07, 0x23, 0x3e, 0x01, 0x35, 0x23, 0x35, 0x02, + 0x6e, 0x72, 0xbd, 0xe6, 0xfe, 0xd0, 0x1f, 0x2d, 0x7f, 0x2d, 0x2e, + 0x57, 0x04, 0xac, 0x0c, 0x01, 0x1e, 0x0e, 0x4d, 0x57, 0x6e, 0x35, + 0x33, 0x4c, 0x23, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2a, + 0x04, 0x85, 0x02, 0x78, 0x05, 0xcc, 0x00, 0x05, 0x00, 0x10, 0x00, + 0x39, 0x40, 0x14, 0x0e, 0x06, 0x06, 0x10, 0x03, 0x04, 0x04, 0x00, + 0x01, 0x10, 0x01, 0x11, 0x12, 0x0e, 0x0e, 0x01, 0x03, 0x0a, 0x01, + 0x0a, 0xb8, 0x01, 0x0c, 0xb3, 0x5b, 0x10, 0x01, 0x00, 0x00, 0x3f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x12, 0x39, 0x18, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, 0x03, 0x23, 0x35, 0x03, 0x15, + 0x14, 0x06, 0x07, 0x23, 0x3e, 0x01, 0x35, 0x23, 0x35, 0x01, 0x92, + 0xe6, 0xbd, 0x72, 0x54, 0x1f, 0x2d, 0x7f, 0x2d, 0x2e, 0x57, 0x05, + 0xcc, 0x0e, 0xfe, 0xe2, 0x0c, 0x01, 0x20, 0x4d, 0x57, 0x6e, 0x35, + 0x33, 0x4c, 0x23, 0xa5, 0x00, 0x00, 0x00, 0x02, 0xff, 0xef, 0x04, + 0x7b, 0x02, 0xbc, 0x06, 0xe6, 0x00, 0x18, 0x00, 0x23, 0x00, 0x46, + 0x40, 0x13, 0x21, 0x19, 0x19, 0x23, 0x23, 0x09, 0x15, 0x16, 0x16, + 0x08, 0x09, 0x09, 0x24, 0x21, 0x21, 0x23, 0x1e, 0x23, 0x1e, 0xb8, + 0x01, 0x0c, 0x40, 0x09, 0x5b, 0x12, 0x09, 0x00, 0x00, 0x16, 0x05, + 0x0d, 0x23, 0xb8, 0x01, 0x47, 0x00, 0x3f, 0xcc, 0x32, 0x32, 0x39, + 0x2f, 0x33, 0x33, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, + 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x36, + 0x37, 0x33, 0x0e, 0x01, 0x07, 0x15, 0x14, 0x06, 0x07, 0x23, 0x3e, + 0x01, 0x35, 0x23, 0x35, 0x01, 0xf2, 0x2a, 0x54, 0x4e, 0x47, 0x1f, + 0x37, 0x36, 0x09, 0x5b, 0x0b, 0x2f, 0x52, 0x3f, 0x2c, 0x55, 0x50, + 0x47, 0x1e, 0x36, 0x32, 0x08, 0x5c, 0x10, 0x63, 0x94, 0x1f, 0x2d, + 0x7f, 0x2d, 0x2e, 0x57, 0x05, 0xee, 0x1d, 0x24, 0x1d, 0x34, 0x39, + 0x61, 0x63, 0x39, 0x1f, 0x25, 0x1f, 0x35, 0x38, 0x8a, 0x6e, 0x2c, + 0x4d, 0x57, 0x6e, 0x35, 0x33, 0x4c, 0x23, 0xa5, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x05, 0xb4, 0x12, 0x26, + 0x03, 0x6a, 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, 0xb9, 0x00, 0x00, + 0x15, 0xb4, 0x01, 0x10, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xa6, 0xb4, + 0x13, 0x1b, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, + 0x05, 0x52, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, 0x06, 0x09, + 0x69, 0xc8, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x11, 0x11, 0x26, 0x01, + 0xb8, 0xff, 0xb6, 0xb4, 0x12, 0x13, 0x0e, 0x06, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, + 0xff, 0xec, 0x04, 0x5d, 0x06, 0xf7, 0x12, 0x26, 0x03, 0x6a, 0x00, + 0x00, 0x10, 0x26, 0x00, 0x6a, 0xc7, 0x00, 0x11, 0x07, 0x07, 0xbf, + 0x00, 0x98, 0x00, 0xf0, 0x00, 0x0c, 0xb5, 0x03, 0x02, 0x01, 0x10, + 0x11, 0x26, 0x00, 0x2b, 0x35, 0x35, 0x35, 0xff, 0xff, 0x00, 0x95, + 0xff, 0xec, 0x04, 0x5d, 0x06, 0xe6, 0x12, 0x26, 0x03, 0x6a, 0x00, + 0x00, 0x10, 0x26, 0x00, 0x6a, 0xca, 0x00, 0x11, 0x07, 0x03, 0x38, + 0x00, 0x14, 0x00, 0xf0, 0x00, 0x0c, 0xb5, 0x03, 0x02, 0x01, 0x10, + 0x11, 0x26, 0x00, 0x2b, 0x35, 0x35, 0x35, 0xff, 0xff, 0x00, 0x95, + 0xff, 0xec, 0x04, 0x5d, 0x05, 0xa9, 0x12, 0x26, 0x03, 0x6a, 0x00, + 0x00, 0x11, 0x06, 0x02, 0x9d, 0xd0, 0x00, 0x00, 0x15, 0xb4, 0x01, + 0x1a, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xbd, 0xb4, 0x1a, 0x27, 0x0e, + 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x06, 0xc0, 0x12, + 0x26, 0x03, 0x6a, 0x00, 0x00, 0x11, 0x07, 0x07, 0x95, 0x00, 0xd5, + 0x00, 0x00, 0x00, 0x1e, 0x40, 0x09, 0x03, 0x02, 0x01, 0x17, 0x11, + 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, 0xb2, 0xb4, 0x21, 0x2c, 0x0e, + 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, + 0x35, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, 0x04, 0x01, 0x06, 0xa8, + 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, 0x07, 0x02, 0x99, 0x00, + 0x00, 0x00, 0xf4, 0x00, 0x13, 0x40, 0x0b, 0x01, 0x0c, 0x05, 0x26, + 0x01, 0x00, 0x0f, 0x17, 0x0b, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xca, 0x00, 0x00, + 0x04, 0x01, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x11, + 0x07, 0x02, 0x8a, 0x00, 0x02, 0x01, 0x0b, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x0d, 0x05, 0x26, 0x01, 0x01, 0x0e, 0x0f, 0x0b, 0x06, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xfe, 0xf4, 0x00, 0x00, 0x04, 0x01, 0x06, 0x07, 0x12, 0x26, 0x00, + 0x2c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xbf, 0xfe, 0x29, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x77, 0x00, 0x00, 0x04, 0x01, 0x05, 0xf6, 0x12, + 0x26, 0x00, 0x2c, 0x00, 0x00, 0x10, 0x07, 0x03, 0x38, 0xfd, 0x9c, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x2a, 0x04, 0x85, 0x02, 0x6e, 0x05, + 0xcc, 0x00, 0x05, 0x00, 0x10, 0x00, 0x39, 0x40, 0x14, 0x08, 0x06, + 0x06, 0x10, 0x05, 0x04, 0x04, 0x02, 0x01, 0x10, 0x01, 0x11, 0x12, + 0x08, 0x08, 0x05, 0x01, 0x0c, 0x05, 0x0c, 0xb8, 0x01, 0x0c, 0xb3, + 0x5b, 0x10, 0x05, 0x00, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x12, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, + 0x23, 0x03, 0x35, 0x33, 0x21, 0x15, 0x23, 0x14, 0x16, 0x17, 0x23, + 0x2e, 0x01, 0x3d, 0x01, 0x02, 0x6e, 0x72, 0xbd, 0xe6, 0xfe, 0xcc, + 0x57, 0x2e, 0x2d, 0x7f, 0x2d, 0x1f, 0x04, 0xac, 0x0c, 0x01, 0x1e, + 0x0e, 0xa5, 0x23, 0x4c, 0x33, 0x36, 0x6e, 0x56, 0x4d, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x2a, 0x04, 0x85, 0x02, 0x78, 0x05, 0xcc, + 0x00, 0x05, 0x00, 0x10, 0x00, 0x39, 0x40, 0x14, 0x08, 0x06, 0x06, + 0x10, 0x03, 0x04, 0x04, 0x00, 0x01, 0x10, 0x01, 0x11, 0x12, 0x08, + 0x08, 0x01, 0x03, 0x0c, 0x01, 0x0c, 0xb8, 0x01, 0x0c, 0xb3, 0x5b, + 0x10, 0x01, 0x00, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x12, + 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, + 0x03, 0x23, 0x35, 0x03, 0x15, 0x23, 0x14, 0x16, 0x17, 0x23, 0x2e, + 0x01, 0x3d, 0x01, 0x01, 0x92, 0xe6, 0xbd, 0x72, 0x58, 0x57, 0x2e, + 0x2d, 0x7f, 0x2d, 0x1f, 0x05, 0xcc, 0x0e, 0xfe, 0xe2, 0x0c, 0x01, + 0x20, 0xa5, 0x23, 0x4c, 0x33, 0x36, 0x6e, 0x56, 0x4d, 0x00, 0x00, + 0x00, 0x02, 0xff, 0xef, 0x04, 0x7b, 0x02, 0xbc, 0x06, 0xe6, 0x00, + 0x18, 0x00, 0x23, 0x00, 0x49, 0x40, 0x1c, 0x1b, 0x19, 0x19, 0x23, + 0x23, 0x09, 0x15, 0x16, 0x16, 0x08, 0x09, 0x09, 0x24, 0x1b, 0x1b, + 0x23, 0x1f, 0x16, 0x05, 0x0d, 0x40, 0x12, 0x09, 0x00, 0x00, 0x23, + 0x23, 0x1f, 0xbb, 0x01, 0x0c, 0x00, 0x5b, 0x00, 0x23, 0x01, 0x47, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x33, 0x33, 0x1a, + 0xcd, 0x32, 0x32, 0x11, 0x12, 0x39, 0x2f, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, + 0x02, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, + 0x01, 0x07, 0x15, 0x23, 0x14, 0x16, 0x17, 0x23, 0x2e, 0x01, 0x3d, + 0x01, 0x01, 0xf2, 0x2a, 0x54, 0x4e, 0x47, 0x1f, 0x37, 0x36, 0x09, + 0x5b, 0x0b, 0x2f, 0x52, 0x3f, 0x2c, 0x55, 0x50, 0x47, 0x1e, 0x36, + 0x32, 0x08, 0x5c, 0x10, 0x63, 0x98, 0x57, 0x2e, 0x2d, 0x7f, 0x2d, + 0x1f, 0x05, 0xee, 0x1d, 0x24, 0x1d, 0x34, 0x39, 0x61, 0x63, 0x39, + 0x1f, 0x25, 0x1f, 0x35, 0x38, 0x8a, 0x6e, 0x2c, 0xa5, 0x23, 0x4c, + 0x33, 0x36, 0x6e, 0x56, 0x4d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xa3, 0xff, 0xec, 0x04, 0x44, 0x05, 0xb4, 0x12, 0x26, 0x03, 0x76, + 0x00, 0x00, 0x11, 0x06, 0x02, 0x99, 0x00, 0x00, 0x00, 0x15, 0xb4, + 0x01, 0x15, 0x11, 0x26, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x18, 0x20, + 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x05, 0x52, + 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x06, 0x09, 0x69, 0x00, + 0x00, 0x00, 0x15, 0xb4, 0x01, 0x16, 0x11, 0x26, 0x01, 0xb8, 0xff, + 0xf3, 0xb4, 0x17, 0x18, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, + 0x04, 0x44, 0x06, 0xf7, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x10, + 0x26, 0x00, 0x6a, 0x01, 0x00, 0x11, 0x07, 0x07, 0xbf, 0x00, 0xda, + 0x00, 0xf0, 0x00, 0x0c, 0xb5, 0x03, 0x02, 0x01, 0x15, 0x11, 0x26, + 0x00, 0x2b, 0x35, 0x35, 0x35, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, + 0x04, 0x44, 0x06, 0xe6, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x10, + 0x26, 0x00, 0x6a, 0x01, 0x00, 0x11, 0x07, 0x03, 0x38, 0x00, 0x45, + 0x00, 0xf0, 0x00, 0x0c, 0xb5, 0x03, 0x02, 0x01, 0x15, 0x11, 0x26, + 0x00, 0x2b, 0x35, 0x35, 0x35, 0xff, 0xff, 0x00, 0x9d, 0xfe, 0x57, + 0x04, 0x54, 0x06, 0x30, 0x12, 0x26, 0x03, 0x72, 0x00, 0x00, 0x11, + 0x07, 0x07, 0x91, 0x01, 0x13, 0x00, 0x64, 0x00, 0x15, 0xb4, 0x02, + 0x24, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xf3, 0xb4, 0x24, 0x20, 0x0c, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, + 0x00, 0x9d, 0xfe, 0x57, 0x04, 0x54, 0x06, 0x30, 0x12, 0x26, 0x03, + 0x72, 0x00, 0x00, 0x11, 0x07, 0x07, 0xcb, 0x01, 0x0c, 0x00, 0x64, + 0x00, 0x15, 0xb4, 0x02, 0x25, 0x11, 0x26, 0x02, 0xb8, 0xff, 0xe5, + 0xb4, 0x29, 0x24, 0x0c, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, + 0x35, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x05, + 0xa9, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x11, 0x06, 0x02, 0x9d, + 0x01, 0x00, 0x00, 0x15, 0xb4, 0x01, 0x1f, 0x11, 0x26, 0x01, 0xb8, + 0xff, 0xf3, 0xb4, 0x1f, 0x2c, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, + 0xec, 0x04, 0x44, 0x06, 0xc0, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, + 0x11, 0x07, 0x07, 0x95, 0x01, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x40, + 0x09, 0x03, 0x02, 0x01, 0x1c, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, + 0xff, 0xf3, 0xb4, 0x26, 0x31, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x35, 0x35, 0xff, 0xff, 0x00, 0x24, + 0x00, 0x00, 0x04, 0xa8, 0x06, 0x9e, 0x12, 0x26, 0x00, 0x3c, 0x00, + 0x00, 0x11, 0x06, 0x09, 0x68, 0x00, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x09, 0x05, 0x26, 0x01, 0x00, 0x0c, 0x14, 0x04, 0x08, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x24, + 0x00, 0x00, 0x04, 0xa8, 0x06, 0x5e, 0x12, 0x26, 0x00, 0x3c, 0x00, + 0x00, 0x11, 0x07, 0x02, 0x8a, 0x00, 0x02, 0x01, 0x0b, 0x00, 0x13, + 0x40, 0x0b, 0x01, 0x0a, 0x05, 0x26, 0x01, 0x00, 0x0b, 0x0c, 0x04, + 0x08, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0xbb, 0x00, 0x00, 0x04, 0xa8, 0x06, 0x07, 0x12, + 0x26, 0x00, 0x3c, 0x00, 0x00, 0x10, 0x07, 0x07, 0xbf, 0xfd, 0xf0, + 0x00, 0x00, 0xff, 0xff, 0xfe, 0xee, 0x00, 0x00, 0x04, 0xa8, 0x05, + 0xf6, 0x12, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x10, 0x07, 0x03, 0x38, + 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x04, + 0x5f, 0x05, 0xcc, 0x12, 0x26, 0x00, 0x33, 0x00, 0x00, 0x10, 0x07, + 0x07, 0xcb, 0xfe, 0x54, 0x00, 0x00, 0x00, 0x03, 0xff, 0xea, 0x04, + 0xd0, 0x02, 0xc1, 0x05, 0xe3, 0x00, 0x03, 0x00, 0x09, 0x00, 0x0d, + 0x00, 0x35, 0x40, 0x19, 0x06, 0x05, 0x05, 0x09, 0x08, 0x08, 0x0b, + 0x01, 0x00, 0x00, 0x0a, 0x0b, 0x0b, 0x0e, 0x0c, 0x02, 0x01, 0x02, + 0x90, 0x5b, 0x0b, 0x09, 0x06, 0x01, 0x94, 0x00, 0x3f, 0x33, 0xce, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x23, 0x35, 0x33, 0x07, 0x15, 0x23, 0x03, 0x35, 0x33, 0x03, + 0x23, 0x35, 0x33, 0x02, 0xc1, 0xad, 0xad, 0xea, 0x75, 0xc0, 0xb2, + 0xbd, 0xad, 0xad, 0x04, 0xd0, 0xba, 0xad, 0x0d, 0x01, 0x07, 0x0c, + 0xfe, 0xed, 0xba, 0x00, 0x00, 0x03, 0xff, 0xea, 0x04, 0xd0, 0x02, + 0xc1, 0x05, 0xe3, 0x00, 0x03, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x35, + 0x40, 0x19, 0x04, 0x05, 0x05, 0x07, 0x08, 0x08, 0x0b, 0x01, 0x00, + 0x00, 0x0a, 0x0b, 0x0b, 0x0e, 0x0c, 0x02, 0x01, 0x02, 0x90, 0x5b, + 0x0b, 0x08, 0x05, 0x01, 0x94, 0x00, 0x3f, 0xce, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x35, 0x33, 0x25, 0x33, 0x15, 0x03, 0x23, 0x35, 0x07, 0x23, 0x35, + 0x33, 0x02, 0xc1, 0xad, 0xad, 0xfe, 0x95, 0xb2, 0xc0, 0x75, 0x3c, + 0xad, 0xad, 0x04, 0xd0, 0xba, 0x59, 0x0c, 0xfe, 0xf9, 0x0d, 0x0d, + 0xba, 0x00, 0x00, 0x01, 0x00, 0xcb, 0x04, 0xc2, 0x01, 0xdf, 0x06, + 0x07, 0x00, 0x05, 0x00, 0x21, 0x40, 0x0a, 0x00, 0x05, 0x05, 0x03, + 0x02, 0x02, 0x06, 0x07, 0x05, 0x02, 0xb8, 0x01, 0x0c, 0xb2, 0x5b, + 0x05, 0x94, 0x00, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x03, 0x35, 0x33, 0x13, 0x15, + 0x01, 0x94, 0xc9, 0xcf, 0x45, 0x04, 0xc2, 0x01, 0x20, 0x25, 0xfe, + 0xdc, 0x21, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, 0x04, + 0x99, 0x06, 0x07, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, 0x27, + 0x07, 0xbf, 0x00, 0xcb, 0x00, 0x00, 0x11, 0x07, 0x03, 0x06, 0x02, + 0x6e, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x2a, 0x11, 0x26, 0x00, + 0x2b, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, 0x04, + 0x99, 0x04, 0x4f, 0x12, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x11, 0x07, + 0x03, 0x06, 0x02, 0x6e, 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x31, + 0x35, 0x30, 0x1a, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x35, 0xfe, 0x57, 0x04, 0x99, 0x05, 0xf6, 0x12, + 0x26, 0x03, 0x7a, 0x00, 0x00, 0x10, 0x26, 0x03, 0x38, 0x48, 0x00, + 0x11, 0x07, 0x03, 0x06, 0x02, 0x6e, 0x00, 0x00, 0x00, 0x08, 0xb3, + 0x01, 0x2f, 0x11, 0x26, 0x00, 0x2b, 0x35, 0xff, 0xff, 0x00, 0x35, + 0xff, 0xec, 0x04, 0x99, 0x05, 0xa9, 0x12, 0x26, 0x03, 0x7a, 0x00, + 0x00, 0x11, 0x06, 0x02, 0x9d, 0x01, 0x00, 0x00, 0x13, 0x40, 0x0b, + 0x01, 0x34, 0x11, 0x26, 0x01, 0x00, 0x34, 0x41, 0x1a, 0x0d, 0x25, + 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, 0xff, 0xff, 0x00, 0x35, + 0xfe, 0x57, 0x04, 0x99, 0x05, 0xa9, 0x12, 0x26, 0x03, 0x7a, 0x00, + 0x00, 0x10, 0x26, 0x02, 0x9d, 0x01, 0x00, 0x11, 0x07, 0x03, 0x06, + 0x02, 0x6e, 0x00, 0x00, 0x00, 0x08, 0xb3, 0x01, 0x34, 0x11, 0x26, + 0x00, 0x2b, 0x35, 0xff, 0xff, 0xff, 0x30, 0xff, 0xec, 0x04, 0x66, + 0x06, 0x07, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x10, 0x07, 0x07, + 0xbf, 0xfe, 0x65, 0x00, 0x00, 0xff, 0xff, 0xff, 0x77, 0xff, 0xec, + 0x04, 0x66, 0x05, 0xf6, 0x12, 0x26, 0x00, 0x32, 0x00, 0x00, 0x10, + 0x07, 0x03, 0x38, 0xfd, 0x9c, 0x00, 0x00, 0xff, 0xff, 0xff, 0x30, + 0x00, 0x00, 0x04, 0x93, 0x06, 0x07, 0x12, 0x26, 0x03, 0x5a, 0x00, + 0x00, 0x10, 0x07, 0x07, 0xbf, 0xfe, 0x65, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x77, 0x00, 0x00, 0x04, 0x93, 0x05, 0xf6, 0x12, 0x26, 0x03, + 0x5a, 0x00, 0x00, 0x10, 0x07, 0x03, 0x38, 0xfd, 0x9c, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x3b, 0xfe, 0x57, 0x04, 0x93, 0x05, 0x5a, 0x12, + 0x26, 0x03, 0x5a, 0x00, 0x00, 0x11, 0x07, 0x03, 0x06, 0x02, 0x76, + 0x00, 0x00, 0x00, 0x0b, 0xb6, 0x01, 0x39, 0x2f, 0x2a, 0x1b, 0x0a, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xf3, + 0x04, 0xab, 0x02, 0x44, 0x05, 0xc2, 0x00, 0x05, 0x00, 0x1d, 0x40, + 0x0c, 0x02, 0x03, 0x03, 0x05, 0x00, 0x00, 0x06, 0x07, 0x03, 0x80, + 0x00, 0x93, 0x00, 0x3f, 0x1a, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x13, 0x33, 0x15, + 0x07, 0xf3, 0x82, 0xcf, 0xf3, 0x04, 0xab, 0x14, 0x01, 0x03, 0x1d, + 0xfa, 0x00, 0x01, 0x00, 0xec, 0x04, 0x85, 0x01, 0xb7, 0x05, 0xcc, + 0x00, 0x0a, 0x00, 0x29, 0x40, 0x0d, 0x02, 0x00, 0x00, 0x0a, 0x0a, + 0x0b, 0x0c, 0x02, 0x02, 0x00, 0x06, 0x00, 0x06, 0xb8, 0x01, 0x0c, + 0xb2, 0x5b, 0x00, 0x00, 0x00, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x15, 0x23, 0x14, 0x16, 0x17, 0x23, 0x2e, 0x01, 0x3d, + 0x01, 0x01, 0xb3, 0x57, 0x2e, 0x2d, 0x7f, 0x2d, 0x1f, 0x05, 0xcc, + 0xa5, 0x23, 0x4c, 0x33, 0x36, 0x6e, 0x56, 0x4d, 0x00, 0x01, 0xff, + 0xd6, 0xfe, 0xef, 0x00, 0x2a, 0x05, 0x07, 0x00, 0x03, 0x00, 0x11, + 0xb5, 0x01, 0x02, 0x02, 0x04, 0x02, 0x00, 0x00, 0x2f, 0x2f, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x11, 0x23, 0x11, 0x2a, + 0x54, 0x05, 0x07, 0xf9, 0xe8, 0x06, 0x18, 0x00, 0x00, 0x01, 0xff, + 0x20, 0xfe, 0xef, 0x00, 0xe0, 0x05, 0x86, 0x00, 0x0e, 0x00, 0x46, + 0x40, 0x22, 0x0b, 0x00, 0x0a, 0x0c, 0x0c, 0x0b, 0x00, 0x06, 0x04, + 0x00, 0x05, 0x04, 0x03, 0x01, 0x0f, 0x0d, 0x03, 0x0b, 0x05, 0x0e, + 0x02, 0x02, 0x08, 0x03, 0x05, 0x08, 0x08, 0x05, 0x03, 0x03, 0x01, + 0x09, 0x07, 0x01, 0x00, 0x2f, 0x2f, 0x33, 0x12, 0x17, 0x39, 0x2f, + 0x2f, 0x2f, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x01, 0x33, 0x17, 0x32, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x23, 0x11, 0x07, 0x27, 0x37, 0x27, + 0x37, 0x17, 0x37, 0x17, 0x07, 0x17, 0x07, 0x27, 0x2a, 0x54, 0x7f, + 0x37, 0xa9, 0xa9, 0x37, 0xa9, 0xa9, 0x37, 0xa9, 0xa9, 0x37, 0x7f, + 0xfe, 0xef, 0x05, 0x59, 0x80, 0x37, 0xa8, 0xa7, 0x38, 0xaa, 0xaa, + 0x38, 0xa7, 0xa8, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xd7, 0xfe, 0xef, 0x01, 0xb3, 0x05, 0x86, 0x00, 0x0a, 0x00, 0x30, + 0x40, 0x15, 0x09, 0x02, 0x05, 0x00, 0x08, 0x03, 0x03, 0x00, 0x00, + 0x05, 0x06, 0x0b, 0x04, 0x07, 0x01, 0x07, 0x01, 0x07, 0x06, 0x0a, + 0x06, 0x00, 0x2f, 0x2f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, + 0x11, 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x39, 0x31, 0x30, 0x01, 0x07, 0x27, 0x37, 0x23, 0x11, 0x23, + 0x11, 0x21, 0x27, 0x37, 0x01, 0xb3, 0xdf, 0x37, 0x84, 0xf8, 0x52, + 0x01, 0x4a, 0x84, 0x37, 0x04, 0xa9, 0xdb, 0x37, 0x7d, 0xfa, 0x6d, + 0x05, 0xe2, 0x7d, 0x38, 0x00, 0x00, 0x01, 0xfe, 0x4c, 0xfe, 0xef, + 0x00, 0x28, 0x05, 0x86, 0x00, 0x0a, 0x00, 0x2c, 0x40, 0x13, 0x08, + 0x04, 0x06, 0x09, 0x03, 0x03, 0x06, 0x06, 0x00, 0x01, 0x0b, 0x05, + 0x03, 0x09, 0x03, 0x09, 0x01, 0x07, 0x01, 0x00, 0x2f, 0x2f, 0x12, + 0x39, 0x39, 0x2f, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x32, 0x32, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x39, 0x39, 0x31, 0x30, 0x13, 0x23, 0x11, + 0x23, 0x17, 0x07, 0x27, 0x37, 0x17, 0x07, 0x21, 0x28, 0x52, 0xf8, + 0x84, 0x37, 0xdf, 0xdf, 0x37, 0x84, 0x01, 0x4a, 0xfe, 0xef, 0x05, + 0x93, 0x7d, 0x37, 0xdb, 0xdd, 0x38, 0x7d, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x4e, 0x01, 0xd0, 0x03, 0x7e, 0x02, 0x70, 0x10, 0x06, 0x00, + 0x10, 0x00, 0x00, 0xff, 0xff, 0x00, 0xaa, 0x01, 0xc3, 0x04, 0x22, + 0x02, 0x4c, 0x12, 0x06, 0x07, 0xd3, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xaa, 0x01, 0xc3, 0x04, 0x22, 0x02, 0x4c, 0x00, 0x03, 0x00, 0x16, + 0x40, 0x0a, 0x00, 0x03, 0x04, 0x05, 0x01, 0x00, 0xb9, 0x59, 0x01, + 0xbc, 0x00, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x31, 0x30, + 0x13, 0x35, 0x21, 0x15, 0xaa, 0x03, 0x78, 0x01, 0xc3, 0x89, 0x89, + 0x00, 0x00, 0x01, 0xff, 0xf6, 0x01, 0xc3, 0x04, 0xd6, 0x02, 0x4c, + 0x00, 0x03, 0x00, 0x16, 0x40, 0x0a, 0x03, 0x05, 0x00, 0x04, 0x01, + 0x00, 0xb9, 0x59, 0x01, 0xbc, 0x00, 0x3f, 0x2b, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x15, 0x0a, 0x04, 0xe0, + 0x01, 0xc3, 0x89, 0x89, 0x00, 0x00, 0x01, 0xff, 0xf6, 0x01, 0xc3, + 0x04, 0xd6, 0x02, 0x4c, 0x00, 0x03, 0x00, 0x15, 0x40, 0x09, 0x03, + 0x05, 0x00, 0x04, 0x01, 0x00, 0xb9, 0x59, 0x01, 0x00, 0x2f, 0x2b, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x15, + 0x0a, 0x04, 0xe0, 0x01, 0xc3, 0x89, 0x89, 0x00, 0x00, 0x00, 0x02, + 0xff, 0xfb, 0xfe, 0x57, 0x04, 0xd1, 0xff, 0x84, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x36, 0x40, 0x0d, 0x07, 0x02, 0x02, 0x09, 0x04, 0x01, + 0x01, 0x08, 0x04, 0x05, 0xbb, 0x59, 0x04, 0xb8, 0xff, 0xc0, 0x40, + 0x0e, 0x09, 0x10, 0x48, 0x04, 0x01, 0x00, 0xbb, 0x59, 0x01, 0x40, + 0x09, 0x0c, 0x48, 0x01, 0x00, 0x2f, 0x2b, 0x2b, 0x00, 0x18, 0x2f, + 0x2b, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x07, 0x35, 0x21, 0x15, 0x05, 0x35, 0x21, 0x15, 0x05, + 0x04, 0xd6, 0xfb, 0x2a, 0x04, 0xd6, 0xdc, 0x60, 0x60, 0xcd, 0x60, + 0x60, 0x00, 0x00, 0x01, 0x01, 0x8d, 0x03, 0x5e, 0x03, 0x3f, 0x05, + 0xcc, 0x00, 0x03, 0x00, 0x1e, 0x40, 0x0e, 0x03, 0x00, 0x00, 0x01, + 0x02, 0x02, 0x04, 0x05, 0x00, 0x01, 0x9c, 0x5b, 0x00, 0x00, 0x00, + 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x03, 0x21, 0x01, 0x03, 0x3f, 0xa9, 0xfe, 0xf7, + 0x01, 0x37, 0x05, 0xcc, 0xfd, 0x92, 0x02, 0x6e, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x8f, 0x03, 0x5e, 0x03, 0x41, 0x05, 0xcc, 0x00, + 0x03, 0x00, 0x1e, 0x40, 0x0e, 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, + 0x04, 0x05, 0x01, 0x03, 0x9c, 0x5b, 0x01, 0x00, 0x00, 0x3f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x13, 0x21, 0x01, 0x01, 0x8f, 0xa9, 0x01, 0x09, 0xfe, 0xc9, + 0x03, 0x5e, 0x02, 0x6e, 0xfd, 0x92, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x5d, 0xfe, 0x95, 0x03, 0x0f, 0x01, 0x03, 0x00, 0x03, 0x00, + 0x20, 0x40, 0x10, 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x04, 0x05, + 0x01, 0x00, 0x9c, 0x5b, 0x04, 0x01, 0x9b, 0x5b, 0x00, 0x2b, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x13, 0x21, 0x01, 0x01, 0x5d, 0xa9, 0x01, 0x09, 0xfe, 0xc9, + 0xfe, 0x95, 0x02, 0x6e, 0xfd, 0x92, 0x00, 0x00, 0x01, 0x01, 0x8e, + 0x03, 0x5e, 0x03, 0x40, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x1e, 0x40, + 0x0e, 0x00, 0x03, 0x03, 0x02, 0x01, 0x01, 0x04, 0x05, 0x02, 0x00, + 0x9c, 0x5b, 0x02, 0x00, 0x00, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x09, 0x01, 0x21, 0x13, + 0x02, 0xc5, 0xfe, 0xc9, 0x01, 0x09, 0xa9, 0x03, 0x5e, 0x02, 0x6e, + 0xfd, 0x92, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb1, 0x03, 0x5e, + 0x04, 0x1a, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x33, 0x40, + 0x18, 0x07, 0x04, 0x04, 0x05, 0x06, 0x06, 0x02, 0x03, 0x00, 0x00, + 0x01, 0x02, 0x02, 0x08, 0x09, 0x05, 0x01, 0x03, 0x01, 0x9c, 0x5b, + 0x07, 0x03, 0x00, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x03, 0x21, 0x01, 0x21, + 0x03, 0x21, 0x01, 0x02, 0x63, 0xa9, 0xfe, 0xf7, 0x01, 0x37, 0x02, + 0x32, 0xa9, 0xfe, 0xf7, 0x01, 0x37, 0x05, 0xcc, 0xfd, 0x92, 0x02, + 0x6e, 0xfd, 0x92, 0x02, 0x6e, 0x00, 0x00, 0x02, 0x00, 0xb2, 0x03, + 0x5e, 0x04, 0x1b, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x2f, + 0x40, 0x16, 0x05, 0x06, 0x01, 0x02, 0x02, 0x03, 0x00, 0x06, 0x00, + 0x04, 0x04, 0x08, 0x09, 0x07, 0x03, 0x01, 0x03, 0x9c, 0x5b, 0x05, + 0x01, 0x00, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x13, 0x21, 0x01, 0x21, 0x13, 0x21, 0x01, + 0x02, 0x69, 0xa9, 0x01, 0x09, 0xfe, 0xc9, 0xfd, 0xce, 0xa9, 0x01, + 0x09, 0xfe, 0xc9, 0x03, 0x5e, 0x02, 0x6e, 0xfd, 0x92, 0x02, 0x6e, + 0xfd, 0x92, 0x00, 0x00, 0x02, 0x00, 0xb2, 0xfe, 0x94, 0x04, 0x1b, + 0x01, 0x02, 0x00, 0x03, 0x00, 0x07, 0x00, 0x36, 0x40, 0x1b, 0x05, + 0x06, 0x01, 0x02, 0x02, 0x03, 0x00, 0x07, 0x00, 0x06, 0x03, 0x04, + 0x04, 0x08, 0x09, 0x04, 0x00, 0x01, 0x00, 0x9c, 0x5b, 0x05, 0x01, + 0x08, 0x01, 0x9b, 0x5b, 0x00, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x13, 0x21, 0x01, + 0x21, 0x13, 0x21, 0x01, 0x02, 0x69, 0xa9, 0x01, 0x09, 0xfe, 0xc9, + 0xfd, 0xce, 0xa9, 0x01, 0x09, 0xfe, 0xc9, 0xfe, 0x94, 0x02, 0x6e, + 0xfd, 0x92, 0x02, 0x6e, 0xfd, 0x92, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xae, 0x03, 0x5e, 0x04, 0x03, 0x05, 0xcc, 0x10, 0x27, 0x07, 0xda, + 0xff, 0x20, 0x00, 0x00, 0x10, 0x07, 0x07, 0xda, 0x00, 0xc3, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb6, 0xff, 0x2b, 0x04, 0x16, + 0x05, 0xcb, 0x00, 0x0b, 0x00, 0x2f, 0x40, 0x17, 0x0a, 0x08, 0x08, + 0x05, 0x07, 0x07, 0x0c, 0x0d, 0x0b, 0x04, 0x05, 0x04, 0xc1, 0x59, + 0x0a, 0x05, 0x07, 0x05, 0xc2, 0x5b, 0x07, 0x00, 0x02, 0x00, 0x2f, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x03, + 0x23, 0x03, 0x05, 0x35, 0x05, 0x03, 0x33, 0x03, 0x25, 0x15, 0x02, + 0xad, 0x0e, 0x73, 0x0e, 0xfe, 0x98, 0x01, 0x68, 0x1a, 0xc3, 0x1a, + 0x01, 0x69, 0x03, 0xdd, 0xfb, 0x4e, 0x04, 0xb2, 0x11, 0xa4, 0x13, + 0x01, 0x6e, 0xfe, 0x92, 0x13, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xb6, 0xff, 0x2b, 0x04, 0x16, 0x05, 0xcb, 0x00, 0x15, 0x00, 0x50, + 0x40, 0x2a, 0x00, 0x11, 0x11, 0x03, 0x0f, 0x07, 0x0c, 0x04, 0x0c, + 0x0f, 0x03, 0x0e, 0x0e, 0x16, 0x17, 0x12, 0x0b, 0x0c, 0x0b, 0xc1, + 0x59, 0x11, 0x0c, 0x0e, 0x0c, 0xc2, 0x5b, 0x0e, 0x00, 0x00, 0x07, + 0x06, 0x07, 0xc1, 0x59, 0x01, 0x06, 0x04, 0x06, 0xc2, 0x5b, 0x04, + 0x00, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x15, 0x25, 0x13, 0x23, 0x13, 0x05, 0x35, + 0x05, 0x13, 0x03, 0x05, 0x35, 0x05, 0x03, 0x33, 0x03, 0x25, 0x15, + 0x25, 0x03, 0x13, 0x04, 0x16, 0xfe, 0x97, 0x1a, 0xc3, 0x1a, 0xfe, + 0x98, 0x01, 0x68, 0x22, 0x22, 0xfe, 0x98, 0x01, 0x68, 0x1a, 0xc3, + 0x1a, 0x01, 0x69, 0xfe, 0x97, 0x22, 0x22, 0x01, 0x2a, 0xa4, 0x13, + 0xfe, 0x92, 0x01, 0x6e, 0x13, 0xa4, 0x11, 0x01, 0x62, 0x01, 0x62, + 0x11, 0xa4, 0x13, 0x01, 0x6e, 0xfe, 0x92, 0x13, 0xa4, 0x11, 0xfe, + 0x9e, 0xfe, 0x9e, 0x00, 0x00, 0x01, 0x01, 0x50, 0x01, 0x91, 0x03, + 0x7b, 0x03, 0xbc, 0x00, 0x0b, 0x00, 0x15, 0xb7, 0x00, 0x06, 0x06, + 0x0c, 0x0d, 0x03, 0x03, 0x09, 0x00, 0x2f, 0x33, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x03, 0x7b, 0xa7, 0x72, + 0x6f, 0xa3, 0xa2, 0x70, 0x73, 0xa6, 0x02, 0xaa, 0x75, 0xa4, 0xa4, + 0x75, 0x73, 0x9f, 0x9f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x75, 0x00, + 0x00, 0x04, 0x58, 0x00, 0xdb, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x2e, 0x40, 0x16, 0x0b, 0x08, 0x07, 0x04, 0x00, 0x03, 0x03, + 0x04, 0x08, 0x03, 0x0c, 0x0d, 0x09, 0x05, 0x01, 0x00, 0x01, 0x9b, + 0x5b, 0x08, 0x04, 0x00, 0x00, 0x2f, 0x32, 0x32, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x21, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, + 0x15, 0x21, 0x35, 0x33, 0x15, 0x03, 0xaa, 0xae, 0xfd, 0xb9, 0xac, + 0xfd, 0xb8, 0xaf, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0x00, 0x00, + 0x01, 0xff, 0xd7, 0xfe, 0xef, 0x01, 0xb3, 0x04, 0xd1, 0x00, 0x05, + 0x00, 0x15, 0xb7, 0x04, 0x01, 0x02, 0x02, 0x06, 0x00, 0x03, 0x02, + 0x00, 0x2f, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x13, 0x11, 0x23, 0x11, 0x21, 0x15, 0x2a, 0x53, 0x01, 0xdc, + 0x04, 0x82, 0xfa, 0x6d, 0x05, 0xe2, 0x4f, 0x00, 0x01, 0xfe, 0x4d, + 0xfe, 0xef, 0x00, 0x29, 0x04, 0xd1, 0x00, 0x05, 0x00, 0x15, 0xb7, + 0x01, 0x03, 0x04, 0x04, 0x06, 0x04, 0x00, 0x01, 0x00, 0x2f, 0x33, + 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x35, + 0x21, 0x11, 0x23, 0x11, 0xfe, 0x4d, 0x01, 0xdc, 0x53, 0x04, 0x82, + 0x4f, 0xfa, 0x1e, 0x05, 0x93, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0x12, 0xfe, 0xef, 0x00, 0xee, 0x05, 0x83, 0x00, 0x07, 0x00, 0x1e, + 0x40, 0x0c, 0x00, 0x02, 0x02, 0x05, 0x03, 0x08, 0x01, 0x05, 0x05, + 0x03, 0x07, 0x03, 0x00, 0x2f, 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x11, + 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x13, 0x23, 0x11, + 0x23, 0x11, 0x23, 0x11, 0x21, 0xee, 0xc4, 0x54, 0xc4, 0x01, 0xdc, + 0x03, 0xd1, 0xfb, 0x1e, 0x04, 0xe2, 0x01, 0xb2, 0x00, 0x00, 0x00, + 0x01, 0xff, 0x12, 0xfe, 0xef, 0x00, 0xee, 0x05, 0x83, 0x00, 0x0b, + 0x00, 0x2c, 0x40, 0x13, 0x0a, 0x05, 0x08, 0x00, 0x00, 0x02, 0x05, + 0x02, 0x03, 0x0c, 0x01, 0x05, 0x05, 0x0a, 0x0a, 0x03, 0x09, 0x06, + 0x03, 0x00, 0x2f, 0x2f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x33, + 0x11, 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x15, + 0x21, 0x11, 0x21, 0xee, 0xc4, 0x54, 0xc4, 0x01, 0xdc, 0xfe, 0x75, + 0x01, 0x8b, 0x03, 0xd1, 0xfb, 0x1e, 0x04, 0xe2, 0x01, 0xb2, 0x4f, + 0xfe, 0xeb, 0x00, 0x00, 0x01, 0xff, 0x12, 0xfe, 0xef, 0x00, 0xee, + 0x05, 0x83, 0x00, 0x0b, 0x00, 0x2e, 0x40, 0x14, 0x01, 0x06, 0x06, + 0x08, 0x03, 0x0b, 0x0b, 0x08, 0x09, 0x09, 0x0c, 0x07, 0x0b, 0x0b, + 0x00, 0x00, 0x04, 0x09, 0x03, 0x04, 0x00, 0x2f, 0x33, 0x2f, 0x12, + 0x39, 0x2f, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x21, 0x11, + 0x21, 0x35, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0xee, 0x01, + 0x8b, 0xfe, 0x75, 0x01, 0xdc, 0xc4, 0x54, 0xc4, 0x04, 0x1f, 0x01, + 0x15, 0x4f, 0xfe, 0x4e, 0xfb, 0x1e, 0x04, 0xe2, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcc, 0x05, 0x83, 0x00, + 0x03, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x25, 0x00, 0x31, 0x00, 0x3d, + 0x00, 0x48, 0x00, 0x87, 0x40, 0x4f, 0x02, 0x03, 0x00, 0x01, 0x2c, + 0x23, 0x23, 0x26, 0x1d, 0x1d, 0x01, 0x03, 0x03, 0x0d, 0x44, 0x3b, + 0x3b, 0x3e, 0x35, 0x10, 0x07, 0x07, 0x16, 0x0d, 0x0d, 0x01, 0x03, + 0x35, 0x04, 0x4a, 0x49, 0x32, 0x41, 0xb6, 0x59, 0x38, 0x32, 0xb7, + 0x5b, 0x38, 0x47, 0xb6, 0x59, 0x38, 0x19, 0x1b, 0x29, 0xb6, 0x59, + 0x20, 0x1b, 0xb7, 0x5b, 0x02, 0x00, 0x02, 0x00, 0x04, 0x20, 0x20, + 0x2f, 0xb6, 0x59, 0x20, 0x19, 0x0a, 0x19, 0xb6, 0x59, 0x04, 0x0a, + 0xb7, 0x5b, 0x04, 0x13, 0xb6, 0x59, 0x04, 0xdc, 0x00, 0x3f, 0x2b, + 0x2b, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x2b, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x2b, 0x2b, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x23, 0x01, 0x33, + 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x13, 0x32, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x36, 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x93, 0x91, 0x02, 0x47, 0x93, 0xfe, 0x10, 0x75, + 0x6f, 0x77, 0x71, 0x74, 0x74, 0x72, 0xdc, 0x2d, 0x36, 0x39, 0x30, + 0x32, 0x36, 0x64, 0xa1, 0xe5, 0x77, 0x71, 0x73, 0x76, 0x72, 0xdd, + 0x30, 0x34, 0x38, 0x31, 0x30, 0x38, 0x33, 0x32, 0x01, 0x96, 0x75, + 0x6f, 0x77, 0x71, 0x72, 0x76, 0x72, 0xdd, 0x30, 0x34, 0x39, 0x30, + 0x32, 0x36, 0x65, 0x01, 0x8b, 0x02, 0x7f, 0x01, 0x79, 0x95, 0x93, + 0x95, 0x98, 0x9a, 0x93, 0x94, 0x94, 0xfe, 0xd8, 0x62, 0x5a, 0x57, + 0x65, 0x65, 0x57, 0xfe, 0xb6, 0xfe, 0xd8, 0x95, 0x98, 0x98, 0x95, + 0x94, 0x94, 0xfe, 0xd8, 0x65, 0x57, 0x56, 0x66, 0x5f, 0x5d, 0x59, + 0x01, 0x8b, 0x95, 0x93, 0x95, 0x98, 0x99, 0x94, 0x94, 0x94, 0xfe, + 0xd8, 0x65, 0x57, 0x57, 0x65, 0x65, 0x57, 0x00, 0x01, 0x01, 0xf6, + 0x03, 0x4d, 0x02, 0xd6, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x17, 0x40, + 0x09, 0x03, 0x02, 0x02, 0x04, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x3f, 0x33, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x23, 0x03, 0x33, 0x02, 0xac, 0x8d, 0x29, 0xe0, 0x03, 0x4d, + 0x02, 0x7f, 0x00, 0x00, 0x00, 0x02, 0x01, 0x15, 0x03, 0x4d, 0x03, + 0xb6, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x21, 0x40, 0x0e, + 0x03, 0x02, 0x02, 0x07, 0x06, 0x06, 0x08, 0x09, 0x05, 0x00, 0x00, + 0x06, 0x02, 0x00, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0x32, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x03, 0x33, 0x01, 0x23, 0x03, 0x33, 0x03, 0x8c, 0x8e, 0x28, 0xe0, + 0xfe, 0x15, 0x8d, 0x29, 0xe0, 0x03, 0x4d, 0x02, 0x7f, 0xfd, 0x81, + 0x02, 0x7f, 0x00, 0xff, 0xff, 0x00, 0xa6, 0x03, 0x4d, 0x04, 0x29, + 0x05, 0xcc, 0x10, 0x27, 0x07, 0xe9, 0xfe, 0xb0, 0x00, 0x00, 0x10, + 0x26, 0x07, 0xe9, 0x01, 0x00, 0x10, 0x07, 0x07, 0xe9, 0x01, 0x53, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x5a, 0x00, 0x8d, 0x03, 0x5d, 0x03, + 0xac, 0x00, 0x08, 0x00, 0x32, 0x40, 0x17, 0x00, 0x08, 0x08, 0x03, + 0x04, 0x04, 0x06, 0x01, 0x01, 0x09, 0x0a, 0x02, 0x01, 0x06, 0x06, + 0x03, 0x00, 0x00, 0x03, 0xef, 0x5b, 0x00, 0xee, 0x00, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x3d, 0x2f, 0x33, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x01, 0x35, 0x01, 0x33, 0x15, 0x09, 0x01, 0x15, 0x02, 0xaa, + 0xfe, 0xb0, 0x01, 0x50, 0xb1, 0xfe, 0xb1, 0x01, 0x51, 0x8d, 0x01, + 0x6d, 0x3f, 0x01, 0x73, 0x1f, 0xfe, 0x8c, 0xfe, 0x91, 0x1d, 0x00, + 0x01, 0x01, 0x6e, 0x00, 0x8d, 0x03, 0x71, 0x03, 0xac, 0x00, 0x08, + 0x00, 0x32, 0x40, 0x18, 0x03, 0x08, 0x06, 0x05, 0x00, 0x05, 0x08, + 0x03, 0x01, 0x01, 0x09, 0x0a, 0x08, 0x07, 0x03, 0x03, 0x06, 0x00, + 0x00, 0x06, 0xef, 0x5b, 0x00, 0xee, 0x00, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x3d, 0x2f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x23, 0x35, + 0x09, 0x01, 0x35, 0x33, 0x01, 0x15, 0x02, 0x20, 0xb2, 0x01, 0x52, + 0xfe, 0xb0, 0xb0, 0x01, 0x51, 0x8d, 0x1d, 0x01, 0x6f, 0x01, 0x74, + 0x1f, 0xfe, 0x8d, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xed, + 0x00, 0x00, 0x03, 0xe0, 0x05, 0x44, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x0b, 0x00, 0x0f, 0x00, 0x3c, 0x40, 0x1d, 0x02, 0x07, 0x03, 0x03, + 0x04, 0x0a, 0x0c, 0x0c, 0x0b, 0x0f, 0x04, 0x0f, 0x10, 0x11, 0x09, + 0x01, 0x01, 0x02, 0x0d, 0x05, 0x04, 0x05, 0x9d, 0x59, 0x0c, 0x04, + 0x0a, 0x02, 0x03, 0x00, 0x3f, 0x33, 0x2f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x12, 0x39, 0x18, 0x2f, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x17, 0x33, 0x31, 0x30, 0x01, + 0x23, 0x03, 0x33, 0x03, 0x35, 0x33, 0x15, 0x01, 0x23, 0x03, 0x33, + 0x03, 0x35, 0x33, 0x15, 0x01, 0x9b, 0x94, 0x18, 0xc4, 0xc6, 0xc2, + 0x02, 0x19, 0x94, 0x18, 0xc4, 0xc6, 0xc2, 0x01, 0x8d, 0x03, 0xb7, + 0xfa, 0xbc, 0xc9, 0xc9, 0x01, 0x8d, 0x03, 0xb7, 0xfa, 0xbc, 0xc9, + 0xc9, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfb, 0x05, 0xac, 0x04, 0xd1, + 0x06, 0x0c, 0x12, 0x07, 0x00, 0x42, 0x00, 0x00, 0x06, 0x88, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xcc, 0x00, 0x00, 0x03, 0xfe, 0x05, 0x45, + 0x00, 0x03, 0x00, 0x1c, 0x40, 0x0c, 0x00, 0x01, 0x02, 0x03, 0x01, + 0x03, 0x04, 0x05, 0x02, 0x06, 0x00, 0x18, 0x00, 0x3f, 0x3f, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, + 0x23, 0x01, 0x33, 0x01, 0x42, 0x76, 0x02, 0xbf, 0x73, 0x05, 0x45, + 0x00, 0x00, 0x00, 0x04, 0x02, 0x05, 0x00, 0x00, 0x02, 0xc8, 0x05, + 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x48, + 0x40, 0x26, 0x0f, 0x0b, 0x07, 0x03, 0x03, 0x0c, 0x08, 0x04, 0x00, + 0x00, 0x10, 0x11, 0x0c, 0x0d, 0x9f, 0x5b, 0x09, 0x08, 0x9f, 0x5b, + 0x0c, 0x09, 0x0c, 0x09, 0x00, 0x05, 0x05, 0x04, 0x9f, 0x5b, 0x05, + 0x01, 0x00, 0x01, 0x9f, 0x5b, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, + 0x2b, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x33, 0x31, 0x30, 0x21, 0x35, 0x33, 0x15, 0x03, + 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, 0x15, 0x03, 0x35, 0x33, 0x15, + 0x02, 0x05, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, + 0x04, 0xf1, 0xdb, 0xdb, 0xfe, 0x5b, 0xdb, 0xdb, 0xfe, 0x59, 0xdb, + 0xdb, 0x00, 0x00, 0x01, 0xff, 0x12, 0xfe, 0xef, 0x00, 0xee, 0x05, + 0x83, 0x00, 0x0f, 0x00, 0x44, 0x40, 0x20, 0x06, 0x0a, 0x0a, 0x08, + 0x0c, 0x03, 0x0f, 0x01, 0x0f, 0x0c, 0x03, 0x0d, 0x0d, 0x00, 0x0a, + 0x05, 0x03, 0x00, 0x0d, 0x10, 0x0b, 0x0f, 0x0f, 0x08, 0x00, 0x00, + 0x04, 0x0d, 0x07, 0x03, 0x03, 0x04, 0x00, 0x2f, 0x33, 0x11, 0x33, + 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x2f, 0x33, 0x12, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x33, 0x11, 0x23, + 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, + 0x23, 0xee, 0xc4, 0xc4, 0x01, 0xdc, 0xc4, 0xc4, 0xc4, 0x54, 0xc4, + 0x04, 0x1f, 0x01, 0x15, 0x4f, 0x4f, 0xfe, 0xeb, 0x4e, 0xfb, 0x1e, + 0x04, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x12, 0xfe, 0xef, + 0x00, 0xee, 0x05, 0x83, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x2e, 0x40, + 0x14, 0x01, 0x07, 0x07, 0x09, 0x00, 0x04, 0x04, 0x09, 0x0a, 0x0a, + 0x0c, 0x08, 0x04, 0x04, 0x00, 0x00, 0x05, 0x0a, 0x03, 0x05, 0x00, + 0x2f, 0x33, 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x33, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x03, 0x21, 0x11, 0x21, 0x03, 0x11, 0x21, 0x11, 0x23, 0x11, + 0x23, 0x11, 0x9d, 0x01, 0x3a, 0xfe, 0xc6, 0x51, 0x01, 0xdc, 0xc4, + 0x54, 0x04, 0x1f, 0x01, 0x15, 0xfe, 0x9d, 0x01, 0xb2, 0xfe, 0x4e, + 0xfb, 0x1e, 0x04, 0xe2, 0x00, 0x00, 0x00, 0x01, 0xff, 0x10, 0xfe, + 0xef, 0x00, 0xf0, 0x05, 0x83, 0x00, 0x05, 0x00, 0x15, 0xb7, 0x04, + 0x03, 0x00, 0x01, 0x01, 0x06, 0x04, 0x01, 0x00, 0x2f, 0x2f, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x33, 0x32, 0x31, 0x30, 0x13, 0x23, 0x11, + 0x03, 0x21, 0x03, 0x2a, 0x54, 0xc6, 0x01, 0xe0, 0xc6, 0xfe, 0xef, + 0x05, 0x26, 0x01, 0x6e, 0xfe, 0x92, 0x00, 0x00, 0x01, 0xff, 0x10, + 0xfe, 0xef, 0x00, 0xf0, 0x05, 0x8a, 0x00, 0x06, 0x00, 0x1e, 0x40, + 0x0c, 0x06, 0x01, 0x04, 0x01, 0x02, 0x07, 0x00, 0x04, 0x04, 0x02, + 0x05, 0x02, 0x00, 0x2f, 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x01, + 0x33, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x13, 0x11, 0x23, 0x11, + 0x23, 0x1b, 0x01, 0x2a, 0x54, 0xc6, 0xf0, 0xf0, 0x03, 0xd1, 0xfb, + 0x1e, 0x04, 0xe2, 0x01, 0xb9, 0xfe, 0x47, 0x00, 0x00, 0x00, 0x02, + 0xff, 0x11, 0xfe, 0xef, 0x00, 0xef, 0x05, 0x86, 0x00, 0x06, 0x00, + 0x0a, 0x00, 0x2a, 0x40, 0x12, 0x04, 0x08, 0x0a, 0x0a, 0x01, 0x07, + 0x05, 0x05, 0x09, 0x03, 0x03, 0x00, 0x01, 0x01, 0x0b, 0x08, 0x04, + 0x01, 0x00, 0x2f, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x32, 0x11, 0x33, 0x11, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x13, 0x23, 0x11, 0x27, 0x37, 0x17, 0x07, 0x37, 0x27, 0x07, + 0x17, 0x2a, 0x54, 0xc5, 0xef, 0xef, 0xc5, 0x54, 0x7e, 0x7e, 0x7e, + 0xfe, 0xef, 0x05, 0x05, 0xb5, 0xdd, 0xdd, 0xb5, 0xb5, 0x71, 0x71, + 0x70, 0x00, 0x00, 0x01, 0xff, 0x12, 0xfe, 0xef, 0x00, 0xee, 0x05, + 0x83, 0x00, 0x0d, 0x00, 0x30, 0x40, 0x16, 0x08, 0x06, 0x0a, 0x03, + 0x0d, 0x01, 0x0a, 0x0d, 0x03, 0x0b, 0x0b, 0x0e, 0x09, 0x0d, 0x0d, + 0x06, 0x00, 0x00, 0x04, 0x0b, 0x03, 0x04, 0x00, 0x2f, 0x33, 0x2f, + 0x12, 0x39, 0x2f, 0x33, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, + 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x33, + 0x11, 0x23, 0x35, 0x21, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, + 0x23, 0xee, 0xc4, 0xc4, 0x01, 0x18, 0xc4, 0xc4, 0x54, 0xc4, 0x04, + 0x1f, 0x01, 0x15, 0x4f, 0xfe, 0x9c, 0x4e, 0xfb, 0x1e, 0x04, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x3d, 0x02, 0x62, 0x03, 0xa3, + 0x05, 0x8d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x46, 0x40, 0x27, 0x0c, + 0x05, 0x0d, 0x06, 0x02, 0x08, 0x09, 0x02, 0x03, 0x01, 0x05, 0x01, + 0x0e, 0x0f, 0x00, 0x04, 0x0c, 0x04, 0x73, 0x59, 0x08, 0x05, 0x0f, + 0x0c, 0x1f, 0x0c, 0x2f, 0x0c, 0x6f, 0x0c, 0x04, 0x0c, 0x0c, 0x01, + 0x0b, 0x06, 0x06, 0x01, 0x18, 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, + 0x2f, 0x5d, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, + 0x15, 0x03, 0x01, 0x21, 0x03, 0x32, 0x6c, 0xfe, 0x77, 0x01, 0x7d, + 0x78, 0x71, 0xdd, 0xfe, 0xd4, 0x01, 0x2c, 0x03, 0x22, 0xbf, 0xbf, + 0x54, 0x02, 0x16, 0xfd, 0xeb, 0x55, 0x01, 0xf5, 0xfe, 0x60, 0x00, + 0x01, 0x01, 0x43, 0x02, 0x55, 0x03, 0x8a, 0x05, 0x8c, 0x00, 0x1d, + 0x00, 0x58, 0x40, 0x2d, 0x19, 0x18, 0x13, 0x13, 0x15, 0x14, 0x14, + 0x08, 0x07, 0x0d, 0x16, 0x00, 0x07, 0x00, 0x1e, 0x1f, 0x14, 0x19, + 0x73, 0x59, 0x14, 0x14, 0x1b, 0x1b, 0x10, 0x73, 0x59, 0x1b, 0x1b, + 0x04, 0x15, 0x15, 0x18, 0x73, 0x59, 0x15, 0x06, 0x04, 0x0a, 0x73, + 0x59, 0x08, 0x08, 0x04, 0x19, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, 0x37, + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, + 0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x36, 0x33, 0x32, 0x16, 0x03, + 0x8a, 0x47, 0x88, 0x5d, 0x76, 0x92, 0x13, 0x6d, 0x23, 0x8d, 0x55, + 0x65, 0x64, 0x53, 0x2c, 0x4c, 0x26, 0x69, 0x1c, 0x01, 0xe1, 0xfe, + 0x83, 0x12, 0x46, 0x69, 0x7a, 0x97, 0x03, 0x6c, 0x53, 0x7e, 0x45, + 0x67, 0x62, 0x0c, 0x7d, 0x65, 0x57, 0x4a, 0x5f, 0x1c, 0x21, 0x01, + 0xb5, 0x57, 0xff, 0x36, 0x8d, 0x00, 0x00, 0x00, 0x02, 0x01, 0x54, + 0x02, 0x49, 0x03, 0x8b, 0x05, 0x8b, 0x00, 0x16, 0x00, 0x23, 0x00, + 0x5b, 0x40, 0x32, 0x11, 0x1e, 0x1e, 0x06, 0x0c, 0x0b, 0x0b, 0x17, + 0x00, 0x06, 0x00, 0x24, 0x25, 0x14, 0x1a, 0x73, 0x59, 0x5f, 0x14, + 0x01, 0x00, 0x14, 0x10, 0x14, 0x02, 0x0a, 0x03, 0x14, 0x14, 0x03, + 0x09, 0x09, 0x0e, 0x73, 0x59, 0x0f, 0x0c, 0x01, 0x11, 0x03, 0x0c, + 0x0c, 0x09, 0x07, 0x03, 0x21, 0x73, 0x59, 0x03, 0x19, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x5d, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x3e, 0x01, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x0e, + 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x8b, 0x92, 0x7f, + 0x8e, 0x98, 0x9e, 0x90, 0xc0, 0x32, 0x68, 0x1f, 0x6c, 0x5c, 0x66, + 0x1e, 0x6b, 0x45, 0x73, 0x8b, 0x6e, 0x5c, 0x4e, 0x2d, 0x4f, 0x2d, + 0x61, 0x4b, 0x4d, 0x5a, 0x03, 0x61, 0x80, 0x98, 0xcf, 0xbe, 0xd1, + 0xe4, 0xac, 0x13, 0x67, 0xa6, 0x97, 0x37, 0x39, 0x8f, 0x7b, 0x56, + 0x60, 0x28, 0x47, 0x2d, 0x5c, 0x7a, 0x65, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x54, 0x02, 0x61, 0x03, 0x77, 0x05, 0x8c, 0x00, 0x09, 0x00, + 0x2c, 0x40, 0x15, 0x02, 0x03, 0x03, 0x07, 0x0b, 0x06, 0x00, 0x07, + 0x00, 0x0a, 0x0b, 0x00, 0x07, 0x08, 0x07, 0x73, 0x59, 0x08, 0x06, + 0x02, 0x18, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x00, 0x11, 0x23, 0x34, 0x12, 0x37, 0x21, 0x35, 0x21, + 0x03, 0x77, 0xfe, 0xe4, 0x71, 0x93, 0x91, 0xfe, 0x46, 0x02, 0x23, + 0x05, 0x38, 0xfe, 0x68, 0xfe, 0xc2, 0x9e, 0x01, 0x6d, 0xc7, 0x57, + 0x00, 0x00, 0x00, 0x03, 0x01, 0x5b, 0x02, 0x48, 0x03, 0x9c, 0x05, + 0x8a, 0x00, 0x1b, 0x00, 0x26, 0x00, 0x32, 0x00, 0x6a, 0x40, 0x39, + 0x18, 0x15, 0x2d, 0x0a, 0x27, 0x0d, 0x1c, 0x15, 0x22, 0x0d, 0x0d, + 0x2d, 0x06, 0x15, 0x27, 0x00, 0x06, 0x00, 0x33, 0x34, 0x00, 0x11, + 0x10, 0x11, 0x02, 0x0f, 0x03, 0x1f, 0x03, 0x02, 0x10, 0x05, 0x18, + 0x0a, 0x0a, 0x25, 0x2a, 0x25, 0x2a, 0x73, 0x59, 0x25, 0x25, 0x03, + 0x11, 0x11, 0x1f, 0x73, 0x59, 0x11, 0x07, 0x03, 0x30, 0x73, 0x59, + 0x03, 0x19, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x33, + 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, + 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, + 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x17, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x03, 0x9c, 0x96, 0x8a, 0x88, 0x99, 0x5f, 0x4a, 0x43, 0x52, + 0x43, 0x79, 0x4e, 0x53, 0x7a, 0x41, 0x53, 0x43, 0x4e, 0x5d, 0x85, + 0x51, 0x4d, 0x49, 0x53, 0x53, 0x4b, 0x9c, 0x15, 0x5e, 0x55, 0x51, + 0x5d, 0x5a, 0x58, 0x58, 0x57, 0x03, 0x37, 0x6f, 0x80, 0x7e, 0x70, + 0x4d, 0x6d, 0x0c, 0x03, 0x10, 0x68, 0x43, 0x3b, 0x60, 0x35, 0x35, + 0x5f, 0x3d, 0x44, 0x68, 0x0d, 0x03, 0x0c, 0x6a, 0x01, 0x2c, 0x43, + 0x44, 0x45, 0x42, 0x42, 0x4a, 0xe6, 0x48, 0x4d, 0x53, 0x44, 0x51, + 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x4a, 0x02, 0x49, + 0x03, 0x82, 0x05, 0x8b, 0x00, 0x16, 0x00, 0x23, 0x00, 0x5f, 0x40, + 0x38, 0x07, 0x06, 0x06, 0x1d, 0x12, 0x0c, 0x17, 0x17, 0x00, 0x12, + 0x00, 0x24, 0x25, 0x0f, 0x20, 0x73, 0x59, 0x0c, 0x0f, 0x0f, 0x1f, + 0x0f, 0x9f, 0x0f, 0xaf, 0x0f, 0xef, 0x0f, 0xff, 0x0f, 0x06, 0x0a, + 0x03, 0x0f, 0x0f, 0x03, 0x15, 0x15, 0x1a, 0x73, 0x59, 0x15, 0x07, + 0x03, 0x09, 0x73, 0x59, 0x70, 0x07, 0x80, 0x07, 0x02, 0x07, 0x07, + 0x03, 0x19, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x37, 0x0e, 0x01, 0x23, + 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x20, 0x03, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x03, 0x82, + 0xa0, 0x92, 0x63, 0x78, 0x19, 0x67, 0x20, 0x6f, 0x5c, 0x68, 0x01, + 0x18, 0x74, 0x46, 0x71, 0x8a, 0x97, 0x83, 0x01, 0x1e, 0x76, 0x60, + 0x4c, 0x4e, 0x5a, 0x5a, 0x4d, 0x2d, 0x51, 0x2f, 0x03, 0xfb, 0xd0, + 0xe2, 0x53, 0x5d, 0x11, 0x6a, 0xa7, 0x94, 0x36, 0x41, 0x99, 0x7b, + 0x7f, 0x94, 0xfe, 0xcf, 0x61, 0x78, 0x68, 0x53, 0x56, 0x69, 0x29, + 0x4a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x65, 0x02, 0x07, 0x03, + 0x83, 0x04, 0x9d, 0x00, 0x15, 0x00, 0x3c, 0x40, 0x20, 0x0d, 0x08, + 0x08, 0x09, 0x00, 0x15, 0x09, 0x15, 0x16, 0x17, 0x0d, 0x11, 0x11, + 0x04, 0xe4, 0x59, 0x11, 0x11, 0x0f, 0x0b, 0x01, 0x0b, 0x40, 0x0b, + 0x12, 0x48, 0x0b, 0x09, 0x10, 0x00, 0x01, 0x00, 0x00, 0x2f, 0x5d, + 0x32, 0x2f, 0x2b, 0x5d, 0x33, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, + 0x11, 0x27, 0x33, 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, + 0x11, 0x03, 0x02, 0x36, 0x46, 0x48, 0x55, 0x80, 0x04, 0x77, 0x06, + 0x02, 0x23, 0x63, 0x4a, 0x6e, 0x61, 0x02, 0x07, 0x01, 0x8e, 0x5a, + 0x46, 0x64, 0x5e, 0xfe, 0x94, 0x01, 0xff, 0x8b, 0x6f, 0x41, 0x3a, + 0x6c, 0x79, 0xfe, 0x4f, 0x00, 0x03, 0x01, 0x4f, 0xff, 0x3e, 0x03, + 0x9c, 0x02, 0x80, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x54, + 0x40, 0x2e, 0x1a, 0x19, 0x0c, 0x12, 0x12, 0x06, 0x0c, 0x00, 0x06, + 0x00, 0x1c, 0x1d, 0x0f, 0x18, 0x01, 0x0f, 0x18, 0x1f, 0x18, 0x02, + 0x0d, 0x18, 0x40, 0x0f, 0x19, 0x1f, 0x19, 0x02, 0x15, 0x03, 0x19, + 0x19, 0x03, 0x09, 0x09, 0x0f, 0x73, 0x59, 0x09, 0x07, 0x03, 0x15, + 0x73, 0x59, 0x03, 0x19, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x1a, 0xcd, + 0x5e, 0x5d, 0x71, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x25, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x27, 0x35, + 0x33, 0x15, 0x03, 0x9b, 0x95, 0x92, 0x92, 0x92, 0x8f, 0x99, 0x95, + 0x8e, 0x6e, 0x54, 0x61, 0x64, 0x57, 0x58, 0x60, 0x60, 0x58, 0xfe, + 0x8d, 0xdf, 0xcb, 0xd6, 0xd5, 0xcc, 0xd1, 0xd0, 0xd1, 0xd0, 0xae, + 0x9b, 0x99, 0xb0, 0xab, 0x9e, 0xa2, 0x5f, 0x95, 0x95, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x58, 0xff, 0x55, 0x03, 0xa6, 0x02, 0x80, 0x00, + 0x0e, 0x00, 0x38, 0x40, 0x1d, 0x0d, 0x0c, 0x06, 0x01, 0x0a, 0x01, + 0x0c, 0x03, 0x02, 0x02, 0x0f, 0x10, 0x07, 0x06, 0x73, 0x59, 0x07, + 0x07, 0x03, 0x0a, 0x06, 0x0c, 0x01, 0x00, 0x01, 0x73, 0x59, 0x00, + 0x18, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x05, 0x35, 0x21, 0x11, 0x0e, 0x01, 0x23, + 0x35, 0x32, 0x36, 0x37, 0x33, 0x11, 0x33, 0x15, 0x01, 0x5e, 0x01, + 0x07, 0x16, 0xa6, 0x51, 0x59, 0x9e, 0x1f, 0x64, 0xd4, 0xaa, 0x57, + 0x02, 0x64, 0x2e, 0x46, 0x59, 0x4e, 0x3b, 0xfd, 0x2e, 0x57, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x4c, 0xff, 0x46, 0x03, 0x80, 0x02, + 0x7c, 0x00, 0x1c, 0x00, 0x3c, 0x40, 0x1d, 0x1a, 0x00, 0x00, 0x0d, + 0x0e, 0x1c, 0x07, 0x14, 0x0e, 0x14, 0x1d, 0x1e, 0x0d, 0x0d, 0x11, + 0x11, 0x0a, 0x73, 0x59, 0x11, 0x07, 0x01, 0x1a, 0x00, 0x1a, 0x73, + 0x59, 0x00, 0x18, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x05, + 0x35, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, + 0x07, 0x0e, 0x01, 0x07, 0x21, 0x15, 0x01, 0x4c, 0x1d, 0x7d, 0x6a, + 0x60, 0x54, 0x53, 0x4d, 0x44, 0x55, 0x08, 0x6e, 0x0c, 0x8f, 0x74, + 0x80, 0x8f, 0x5b, 0x5b, 0x7c, 0x5f, 0x14, 0x01, 0xb2, 0xba, 0x46, + 0x42, 0x84, 0x55, 0x4d, 0x70, 0x35, 0x42, 0x48, 0x4b, 0x44, 0x0b, + 0x66, 0x77, 0x73, 0x6a, 0x45, 0x89, 0x48, 0x63, 0x5d, 0x2b, 0x58, + 0x00, 0x01, 0x01, 0x42, 0xff, 0x3d, 0x03, 0x89, 0x02, 0x7f, 0x00, + 0x2a, 0x00, 0x76, 0x40, 0x41, 0x27, 0x24, 0x12, 0x12, 0x06, 0x2c, + 0x1d, 0x1e, 0x1e, 0x07, 0x06, 0x17, 0x24, 0x24, 0x0c, 0x00, 0x06, + 0x00, 0x2b, 0x2c, 0x27, 0x12, 0x11, 0x12, 0x11, 0x73, 0x59, 0x0f, + 0x12, 0x01, 0x17, 0x03, 0x12, 0x12, 0x03, 0x21, 0x1d, 0x1d, 0x21, + 0x21, 0x1a, 0x73, 0x59, 0x21, 0x07, 0x03, 0x09, 0x73, 0x59, 0x40, + 0x07, 0x90, 0x07, 0x02, 0x40, 0x07, 0x90, 0x07, 0xf0, 0x07, 0x03, + 0x07, 0x07, 0x03, 0x19, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x71, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, + 0x39, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x31, 0x30, + 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x2e, 0x01, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x3e, + 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x03, + 0x89, 0x97, 0x88, 0x80, 0x9a, 0x0e, 0x70, 0x15, 0xa3, 0x52, 0x5d, + 0x37, 0x5e, 0x3a, 0x3d, 0x3b, 0x33, 0x56, 0x31, 0x4f, 0x4f, 0x47, + 0x59, 0x07, 0x6c, 0x0c, 0x94, 0x74, 0x7f, 0x8d, 0x5e, 0x53, 0x5b, + 0x6e, 0x27, 0x70, 0x7a, 0x74, 0x71, 0x0a, 0x96, 0x4c, 0x49, 0x2d, + 0x3d, 0x21, 0x5e, 0x22, 0x3f, 0x2a, 0x40, 0x47, 0x49, 0x43, 0x09, + 0x68, 0x74, 0x70, 0x64, 0x48, 0x69, 0x11, 0x03, 0x0a, 0x6b, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x01, 0x33, 0xff, 0x55, 0x03, 0x99, 0x02, + 0x80, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x46, 0x40, 0x27, 0x0c, 0x05, + 0x0d, 0x06, 0x02, 0x08, 0x09, 0x02, 0x03, 0x01, 0x05, 0x01, 0x0e, + 0x0f, 0x00, 0x04, 0x0c, 0x04, 0x73, 0x59, 0x08, 0x05, 0x0f, 0x0c, + 0x1f, 0x0c, 0x2f, 0x0c, 0x6f, 0x0c, 0x04, 0x0c, 0x0c, 0x01, 0x0b, + 0x06, 0x06, 0x01, 0x18, 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x5d, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x15, 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, 0x15, + 0x03, 0x01, 0x21, 0x03, 0x28, 0x6c, 0xfe, 0x77, 0x01, 0x7d, 0x78, + 0x71, 0xdd, 0xfe, 0xd4, 0x01, 0x2c, 0x15, 0xbf, 0xbf, 0x54, 0x02, + 0x16, 0xfd, 0xeb, 0x55, 0x01, 0xf5, 0xfe, 0x60, 0x00, 0x00, 0x01, + 0x01, 0x42, 0xff, 0x48, 0x03, 0x89, 0x02, 0x7f, 0x00, 0x1d, 0x00, + 0x58, 0x40, 0x2d, 0x19, 0x18, 0x13, 0x13, 0x15, 0x14, 0x14, 0x08, + 0x07, 0x0d, 0x16, 0x00, 0x07, 0x00, 0x1e, 0x1f, 0x14, 0x19, 0x73, + 0x59, 0x14, 0x14, 0x1b, 0x1b, 0x10, 0x73, 0x59, 0x1b, 0x1b, 0x04, + 0x15, 0x15, 0x18, 0x73, 0x59, 0x15, 0x06, 0x04, 0x0a, 0x73, 0x59, + 0x08, 0x08, 0x04, 0x19, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x25, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x23, + 0x13, 0x21, 0x15, 0x21, 0x07, 0x36, 0x33, 0x32, 0x16, 0x03, 0x89, + 0x47, 0x88, 0x5d, 0x76, 0x92, 0x13, 0x6d, 0x23, 0x8d, 0x55, 0x65, + 0x64, 0x53, 0x2c, 0x4c, 0x26, 0x69, 0x1c, 0x01, 0xe1, 0xfe, 0x83, + 0x12, 0x46, 0x69, 0x7a, 0x97, 0x5f, 0x53, 0x7e, 0x45, 0x67, 0x62, + 0x0c, 0x7d, 0x65, 0x57, 0x4a, 0x5f, 0x1c, 0x21, 0x01, 0xb5, 0x57, + 0xff, 0x36, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x54, 0xff, + 0x3e, 0x03, 0x8b, 0x02, 0x80, 0x00, 0x16, 0x00, 0x23, 0x00, 0x5b, + 0x40, 0x32, 0x11, 0x1e, 0x1e, 0x06, 0x0c, 0x0b, 0x0b, 0x17, 0x00, + 0x06, 0x00, 0x24, 0x25, 0x14, 0x1a, 0x73, 0x59, 0x5f, 0x14, 0x01, + 0x00, 0x14, 0x10, 0x14, 0x02, 0x0a, 0x03, 0x14, 0x14, 0x03, 0x09, + 0x09, 0x0e, 0x73, 0x59, 0x0f, 0x0c, 0x01, 0x11, 0x03, 0x0c, 0x0c, + 0x09, 0x07, 0x03, 0x21, 0x73, 0x59, 0x03, 0x19, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x5d, 0x2b, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x0e, 0x01, + 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x8b, 0x92, 0x7f, 0x8e, + 0x98, 0x9e, 0x90, 0xc0, 0x32, 0x68, 0x1f, 0x6c, 0x5c, 0x66, 0x1e, + 0x6b, 0x45, 0x73, 0x8b, 0x6e, 0x5c, 0x4e, 0x2d, 0x4f, 0x2d, 0x61, + 0x4b, 0x4d, 0x5a, 0x56, 0x80, 0x98, 0xcf, 0xbe, 0xd1, 0xe4, 0xac, + 0x13, 0x67, 0xa6, 0x97, 0x37, 0x39, 0x8f, 0x7b, 0x56, 0x60, 0x28, + 0x47, 0x2d, 0x5c, 0x7a, 0x65, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x54, 0xff, 0x54, 0x03, 0x77, 0x02, 0x7f, 0x00, 0x09, 0x00, 0x2c, + 0x40, 0x15, 0x02, 0x03, 0x03, 0x07, 0x0b, 0x06, 0x00, 0x07, 0x00, + 0x0a, 0x0b, 0x00, 0x07, 0x08, 0x07, 0x73, 0x59, 0x08, 0x06, 0x02, + 0x18, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x00, 0x11, 0x23, 0x34, 0x12, 0x37, 0x21, 0x35, 0x21, 0x03, + 0x77, 0xfe, 0xe4, 0x71, 0x93, 0x91, 0xfe, 0x46, 0x02, 0x23, 0x02, + 0x2b, 0xfe, 0x68, 0xfe, 0xc2, 0x9e, 0x01, 0x6d, 0xc7, 0x57, 0x00, + 0x00, 0x00, 0x03, 0x01, 0x59, 0xff, 0x3c, 0x03, 0x9a, 0x02, 0x7e, + 0x00, 0x1b, 0x00, 0x26, 0x00, 0x32, 0x00, 0x6a, 0x40, 0x39, 0x18, + 0x15, 0x2d, 0x0a, 0x27, 0x0d, 0x1c, 0x15, 0x22, 0x0d, 0x0d, 0x2d, + 0x06, 0x15, 0x27, 0x00, 0x06, 0x00, 0x33, 0x34, 0x00, 0x11, 0x10, + 0x11, 0x02, 0x0f, 0x03, 0x1f, 0x03, 0x02, 0x10, 0x05, 0x18, 0x0a, + 0x0a, 0x25, 0x2a, 0x25, 0x2a, 0x73, 0x59, 0x25, 0x25, 0x03, 0x11, + 0x11, 0x1f, 0x73, 0x59, 0x11, 0x07, 0x03, 0x30, 0x73, 0x59, 0x03, + 0x19, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x33, 0x5f, + 0x5e, 0x5d, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, + 0x12, 0x39, 0x31, 0x30, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, 0x33, + 0x32, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x03, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x17, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, + 0x03, 0x9a, 0x96, 0x8a, 0x88, 0x99, 0x5f, 0x4a, 0x43, 0x52, 0x43, + 0x79, 0x4e, 0x53, 0x7a, 0x41, 0x53, 0x43, 0x4e, 0x5d, 0x85, 0x51, + 0x4d, 0x49, 0x53, 0x53, 0x4b, 0x9c, 0x15, 0x5e, 0x55, 0x51, 0x5d, + 0x5a, 0x58, 0x58, 0x57, 0x2b, 0x6f, 0x80, 0x7e, 0x70, 0x4d, 0x6d, + 0x0c, 0x03, 0x10, 0x68, 0x43, 0x3b, 0x60, 0x35, 0x35, 0x5f, 0x3d, + 0x44, 0x68, 0x0d, 0x03, 0x0c, 0x6a, 0x01, 0x2c, 0x43, 0x44, 0x45, + 0x42, 0x42, 0x4a, 0xe6, 0x48, 0x4d, 0x53, 0x44, 0x51, 0x55, 0x53, + 0x00, 0x02, 0x01, 0x5e, 0xff, 0x3f, 0x03, 0x96, 0x02, 0x81, 0x00, + 0x16, 0x00, 0x23, 0x00, 0x5f, 0x40, 0x38, 0x07, 0x06, 0x06, 0x1d, + 0x12, 0x0c, 0x17, 0x17, 0x00, 0x12, 0x00, 0x24, 0x25, 0x0f, 0x20, + 0x73, 0x59, 0x0c, 0x0f, 0x0f, 0x1f, 0x0f, 0x9f, 0x0f, 0xaf, 0x0f, + 0xef, 0x0f, 0xff, 0x0f, 0x06, 0x0a, 0x03, 0x0f, 0x0f, 0x03, 0x15, + 0x15, 0x1a, 0x73, 0x59, 0x15, 0x07, 0x03, 0x09, 0x73, 0x59, 0x70, + 0x07, 0x80, 0x07, 0x02, 0x07, 0x07, 0x03, 0x19, 0x00, 0x3f, 0x33, + 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, + 0x32, 0x36, 0x37, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x20, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x3e, 0x01, 0x03, 0x96, 0xa0, 0x92, 0x63, 0x78, 0x19, + 0x67, 0x20, 0x6f, 0x5c, 0x68, 0x01, 0x18, 0x74, 0x46, 0x71, 0x8a, + 0x97, 0x83, 0x01, 0x1e, 0x76, 0x60, 0x4c, 0x4e, 0x5a, 0x5a, 0x4d, + 0x2d, 0x51, 0x2f, 0xf1, 0xd0, 0xe2, 0x53, 0x5d, 0x11, 0x6a, 0xa7, + 0x94, 0x36, 0x41, 0x99, 0x7b, 0x7f, 0x94, 0xfe, 0xcf, 0x61, 0x78, + 0x68, 0x53, 0x56, 0x69, 0x29, 0x4a, 0xff, 0xff, 0x01, 0x01, 0xff, + 0x67, 0x03, 0xcd, 0x02, 0x7e, 0x10, 0x07, 0x05, 0x62, 0xff, 0xed, + 0xfd, 0x8b, 0x00, 0x00, 0xff, 0xff, 0x01, 0x1f, 0xff, 0x6a, 0x03, + 0xad, 0x02, 0x81, 0x10, 0x07, 0x05, 0x68, 0x00, 0x00, 0xfd, 0x8e, + 0x00, 0x00, 0xff, 0xff, 0x01, 0x1e, 0xff, 0x69, 0x03, 0xaf, 0x02, + 0x80, 0x10, 0x07, 0x05, 0x71, 0x00, 0x00, 0xfd, 0x8d, 0x00, 0x00, + 0xff, 0xff, 0x01, 0x1a, 0xff, 0x78, 0x03, 0xb3, 0x02, 0x73, 0x10, + 0x07, 0x03, 0x30, 0x02, 0x64, 0xfd, 0x8e, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x1f, 0xff, 0x69, 0x03, 0xad, 0x02, 0x80, 0x10, 0x07, 0x05, + 0x69, 0x00, 0x00, 0xfd, 0x8d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x36, + 0x00, 0x00, 0x04, 0x8f, 0x05, 0xd4, 0x00, 0x1e, 0x00, 0x6a, 0x40, + 0x39, 0x05, 0x18, 0x0d, 0x11, 0x11, 0x08, 0x14, 0x00, 0x1e, 0x0b, + 0x12, 0x12, 0x0f, 0x1e, 0x14, 0x18, 0x05, 0x1f, 0x20, 0x10, 0x15, + 0x08, 0x15, 0x60, 0x59, 0x0d, 0x08, 0x09, 0x0c, 0x60, 0x59, 0x0f, + 0x08, 0x01, 0x0f, 0x03, 0x08, 0x09, 0x08, 0x09, 0x14, 0x02, 0x14, + 0x11, 0x60, 0x59, 0x14, 0x12, 0x00, 0x00, 0x1b, 0x02, 0x1b, 0x60, + 0x59, 0x02, 0x03, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x26, 0x23, 0x22, 0x06, + 0x15, 0x14, 0x16, 0x17, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, + 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x26, 0x02, 0x11, 0x34, 0x12, + 0x33, 0x32, 0x16, 0x17, 0x02, 0xf8, 0x2d, 0xb3, 0x9d, 0x89, 0x8c, + 0x99, 0x02, 0x5f, 0xfe, 0x55, 0x01, 0x84, 0xfe, 0x7c, 0x01, 0xc4, + 0xfd, 0x88, 0xf2, 0xef, 0xfe, 0xe9, 0x9c, 0xd0, 0x24, 0x04, 0xac, + 0x9b, 0xb1, 0xbc, 0xc4, 0xb8, 0x01, 0x01, 0xb5, 0x8b, 0xfe, 0xd5, + 0x8a, 0xfe, 0xb9, 0x8b, 0x01, 0xcf, 0x02, 0x01, 0x00, 0x01, 0x05, + 0xf9, 0x01, 0x05, 0x91, 0x83, 0x00, 0x00, 0x03, 0x00, 0x71, 0xff, + 0x8f, 0x04, 0x76, 0x05, 0xcc, 0x00, 0x20, 0x00, 0x26, 0x00, 0x2c, + 0x00, 0x89, 0x40, 0x46, 0x27, 0x1b, 0x17, 0x18, 0x12, 0x13, 0x1f, + 0x20, 0x03, 0x04, 0x08, 0x07, 0x07, 0x0c, 0x0d, 0x0d, 0x04, 0x20, + 0x13, 0x18, 0x1b, 0x06, 0x2d, 0x2e, 0x19, 0x16, 0x24, 0x29, 0x21, + 0x09, 0x05, 0x02, 0x16, 0x14, 0x29, 0x0c, 0x09, 0x02, 0x08, 0x00, + 0x0c, 0x08, 0x0c, 0x08, 0x14, 0x00, 0x14, 0x18, 0x12, 0x10, 0x40, + 0x26, 0x0a, 0x10, 0x0a, 0x5f, 0x59, 0x10, 0x13, 0x2a, 0x23, 0x00, + 0x23, 0x5f, 0x59, 0x03, 0x1f, 0x1e, 0x00, 0x04, 0x00, 0x3f, 0x32, + 0xcd, 0x32, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x1a, 0x18, 0x10, 0xce, 0x32, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x39, 0x11, 0x39, 0x12, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x16, 0x17, 0x37, + 0x33, 0x07, 0x16, 0x17, 0x07, 0x27, 0x01, 0x36, 0x13, 0x17, 0x0e, + 0x01, 0x23, 0x27, 0x07, 0x23, 0x37, 0x26, 0x27, 0x07, 0x23, 0x13, + 0x26, 0x11, 0x10, 0x12, 0x3f, 0x01, 0x33, 0x13, 0x26, 0x27, 0x01, + 0x16, 0x17, 0x03, 0x14, 0x17, 0x13, 0x06, 0x02, 0x02, 0xd0, 0x53, + 0x45, 0x30, 0x8e, 0x48, 0x4d, 0x30, 0xa8, 0x15, 0xfe, 0xfc, 0xd1, + 0x6c, 0x9f, 0x50, 0xf2, 0xa1, 0x27, 0x1b, 0x8e, 0x22, 0x4a, 0x46, + 0x37, 0x8e, 0x59, 0x78, 0xeb, 0xe6, 0x23, 0x8e, 0x44, 0x42, 0x52, + 0xfe, 0xec, 0x31, 0x53, 0xd9, 0x0b, 0xca, 0x70, 0x65, 0x05, 0x56, + 0x09, 0x22, 0xa1, 0xf6, 0x51, 0x7a, 0x41, 0x34, 0xfc, 0x89, 0x03, + 0x01, 0x17, 0x41, 0xc1, 0xb3, 0x01, 0x5e, 0x74, 0x16, 0x32, 0xbc, + 0x01, 0x2f, 0xb5, 0x01, 0x36, 0x01, 0x40, 0x01, 0x58, 0x15, 0x76, + 0xfe, 0xb7, 0x33, 0x07, 0xfc, 0x52, 0x4e, 0x23, 0x02, 0x0b, 0x67, + 0x4b, 0x02, 0xb2, 0x2b, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x71, 0xff, 0xec, 0x04, 0x76, 0x05, 0x5a, 0x00, 0x29, 0x00, + 0x5e, 0x40, 0x32, 0x00, 0x1e, 0x08, 0x15, 0x15, 0x03, 0x02, 0x24, + 0x23, 0x23, 0x17, 0x18, 0x18, 0x0f, 0x02, 0x1e, 0x04, 0x2a, 0x2b, + 0x0c, 0x11, 0x5f, 0x59, 0x08, 0x0c, 0x0c, 0x05, 0x17, 0x05, 0x24, + 0x24, 0x05, 0x17, 0x03, 0x1b, 0x20, 0x20, 0x27, 0x5f, 0x59, 0x20, + 0x04, 0x02, 0x15, 0x1b, 0x15, 0x5f, 0x59, 0x1b, 0x13, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x17, + 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x11, 0x33, 0x2f, 0x33, 0x2b, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x17, 0x11, + 0x34, 0x27, 0x33, 0x16, 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x17, + 0x15, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x36, 0x13, 0x17, 0x0e, + 0x01, 0x23, 0x20, 0x00, 0x11, 0x10, 0x21, 0x32, 0x16, 0x17, 0x07, + 0x2e, 0x01, 0x23, 0x22, 0x02, 0x01, 0x3a, 0xc4, 0x06, 0xaa, 0x08, + 0x04, 0x2b, 0x70, 0x66, 0x24, 0x25, 0x24, 0x3c, 0x70, 0x76, 0xbf, + 0x66, 0x9f, 0x50, 0xf2, 0xa1, 0xfe, 0xf9, 0xfe, 0xe5, 0x02, 0x18, + 0xa6, 0xe7, 0x45, 0xa8, 0x25, 0x9d, 0x67, 0xab, 0xa5, 0x02, 0xa9, + 0xfe, 0x62, 0x63, 0x01, 0xa5, 0x72, 0x8a, 0xb8, 0x25, 0x8b, 0x66, + 0x0a, 0xa5, 0x0a, 0xc1, 0xb4, 0xbb, 0x14, 0x01, 0x05, 0x41, 0xc1, + 0xb3, 0x01, 0x6a, 0x01, 0x53, 0x02, 0xb1, 0xa2, 0xad, 0x41, 0x71, + 0x83, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x22, 0x00, + 0x00, 0x04, 0x4c, 0x05, 0x45, 0x00, 0x11, 0x00, 0x53, 0x40, 0x2d, + 0x05, 0x01, 0x09, 0x09, 0x0e, 0x0a, 0x10, 0x02, 0x0a, 0x03, 0x12, + 0x13, 0x08, 0x0c, 0x0d, 0x0c, 0x60, 0x59, 0x05, 0x0d, 0x01, 0x04, + 0x5f, 0x59, 0x0f, 0x01, 0xbf, 0x01, 0x02, 0x0c, 0x03, 0x0d, 0x01, + 0x0d, 0x01, 0x09, 0x0f, 0x0f, 0x00, 0x5f, 0x59, 0x0f, 0x03, 0x09, + 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, + 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x15, + 0x01, 0x90, 0x02, 0xa4, 0xfd, 0x5c, 0x01, 0x87, 0xfe, 0x79, 0xbf, + 0xaf, 0xaf, 0x03, 0x7b, 0x04, 0xa9, 0xfe, 0x44, 0x9e, 0xcb, 0x81, + 0xfe, 0xfd, 0x01, 0x03, 0x81, 0x03, 0xc1, 0x9c, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x50, 0x00, 0x00, 0x04, 0x66, 0x05, 0x5a, 0x00, + 0x2c, 0x00, 0xa0, 0x40, 0x4c, 0x26, 0x1f, 0x23, 0x23, 0x0c, 0x29, + 0x04, 0x04, 0x10, 0x09, 0x0c, 0x2c, 0x00, 0x00, 0x18, 0x17, 0x0c, + 0x17, 0x2d, 0x2e, 0x26, 0x0a, 0x0b, 0x0a, 0x73, 0x59, 0x23, 0x0b, + 0x22, 0x0e, 0x0f, 0x0e, 0x73, 0x59, 0x1f, 0x0f, 0x3f, 0x0b, 0x6f, + 0x0b, 0x7f, 0x0b, 0x8f, 0x0b, 0x04, 0x0f, 0x0f, 0x01, 0x0c, 0x03, + 0x0b, 0x0f, 0x0b, 0x0f, 0x29, 0x14, 0x14, 0x1b, 0x73, 0x59, 0x18, + 0x18, 0x14, 0x07, 0x05, 0x29, 0x04, 0x29, 0x73, 0x59, 0x10, 0x2c, + 0x20, 0x2c, 0x02, 0x2c, 0xb8, 0xff, 0xc0, 0xb3, 0x16, 0x26, 0x48, + 0x2c, 0xb8, 0xff, 0xc0, 0xb6, 0x10, 0x13, 0x48, 0x2c, 0x2c, 0x04, + 0x18, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x2b, 0x5d, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, + 0x18, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, 0x5d, 0x11, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x0e, + 0x01, 0x23, 0x21, 0x35, 0x3e, 0x01, 0x3d, 0x01, 0x23, 0x35, 0x33, + 0x35, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, + 0x07, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x15, 0x21, 0x15, 0x14, 0x07, 0x21, 0x32, 0x37, 0x04, + 0x66, 0x11, 0xb0, 0x90, 0xfd, 0x46, 0x67, 0x48, 0xba, 0xba, 0xba, + 0xba, 0xce, 0xc4, 0x93, 0xc8, 0x22, 0xae, 0x14, 0x6f, 0x48, 0x72, + 0x70, 0x01, 0x98, 0xfe, 0x68, 0x01, 0x98, 0xfe, 0x68, 0xa9, 0x01, + 0xe3, 0xae, 0x1d, 0x01, 0x37, 0x96, 0xa1, 0x9a, 0x36, 0x7b, 0x6b, + 0x19, 0x8e, 0x98, 0x8d, 0x4c, 0xc3, 0xc9, 0x79, 0x6d, 0x39, 0x3f, + 0x4c, 0x73, 0x7d, 0x54, 0x8d, 0x98, 0x8e, 0x07, 0xd7, 0x58, 0xb0, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x63, 0xff, 0x38, 0x04, 0x64, 0x05, + 0x40, 0x00, 0x2a, 0x00, 0x62, 0x40, 0x33, 0x13, 0x0c, 0x0c, 0x10, + 0x0d, 0x1d, 0x28, 0x1c, 0x02, 0x02, 0x03, 0x1a, 0x2a, 0x2a, 0x04, + 0x00, 0x1b, 0x1c, 0x23, 0x22, 0x22, 0x1c, 0x00, 0x03, 0x0d, 0x05, + 0x2b, 0x2c, 0x1a, 0x13, 0x13, 0x17, 0x28, 0x08, 0x17, 0x08, 0x50, + 0x59, 0x01, 0x04, 0x29, 0x03, 0x0d, 0x1d, 0x17, 0x10, 0x23, 0x02, + 0x00, 0x0d, 0x15, 0x00, 0x3f, 0x33, 0xcc, 0x33, 0x3f, 0x33, 0x12, + 0x17, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x21, 0x35, 0x03, 0x23, 0x01, 0x35, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x33, + 0x17, 0x15, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x13, 0x33, + 0x07, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2b, + 0x01, 0x03, 0x11, 0x02, 0x13, 0xad, 0x9d, 0x01, 0x4a, 0x31, 0x41, + 0x40, 0x4f, 0xa9, 0x06, 0x95, 0x06, 0x02, 0x22, 0x69, 0x4d, 0x57, + 0x57, 0x13, 0xb6, 0x99, 0x65, 0x05, 0x76, 0x66, 0xa8, 0x31, 0x41, + 0x01, 0x8e, 0xd8, 0xfe, 0x60, 0x03, 0x14, 0x62, 0x9a, 0x7b, 0xc0, + 0xa4, 0xfd, 0xa1, 0x03, 0x53, 0xbd, 0x2a, 0x7f, 0x30, 0x66, 0x5d, + 0x5f, 0x62, 0x01, 0xb3, 0xf2, 0xac, 0xd1, 0xfd, 0x2f, 0x02, 0xae, + 0x9a, 0x7b, 0xfe, 0xa9, 0xfd, 0x94, 0x00, 0x05, 0x00, 0x19, 0x00, + 0x00, 0x04, 0xaf, 0x05, 0x45, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, + 0x00, 0x27, 0x00, 0x2a, 0x00, 0x9a, 0x40, 0x55, 0x01, 0x21, 0x22, + 0x2a, 0x04, 0x28, 0x00, 0x28, 0x29, 0x29, 0x03, 0x0f, 0x1f, 0x1c, + 0x27, 0x04, 0x24, 0x0e, 0x0e, 0x20, 0x03, 0x08, 0x0c, 0x03, 0x03, + 0x04, 0x24, 0x26, 0x26, 0x00, 0x1e, 0x11, 0x16, 0x1a, 0x11, 0x03, + 0x12, 0x04, 0x12, 0x2b, 0x2c, 0x02, 0x1a, 0x27, 0x03, 0x06, 0x07, + 0x06, 0x5f, 0x59, 0x17, 0x1c, 0x20, 0x03, 0x07, 0x23, 0x1f, 0x16, + 0x0a, 0x0b, 0x0a, 0x5f, 0x59, 0x0f, 0x13, 0x29, 0x03, 0x0b, 0x24, + 0x04, 0x07, 0x28, 0x0b, 0x0d, 0x07, 0x0b, 0x07, 0x0b, 0x04, 0x11, + 0x0d, 0x03, 0x00, 0x04, 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x12, + 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x11, 0x12, 0x39, 0x11, + 0x17, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x33, 0x11, 0x17, 0x33, + 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x17, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x11, 0x17, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x21, 0x03, 0x21, 0x11, 0x23, + 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x13, + 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, + 0x11, 0x01, 0x33, 0x35, 0x23, 0x05, 0x33, 0x27, 0x23, 0x01, 0x26, + 0x27, 0x23, 0x01, 0x17, 0x33, 0x03, 0x44, 0xbc, 0xfe, 0xc4, 0xaa, + 0x89, 0x89, 0x89, 0x89, 0xde, 0xb9, 0x01, 0x45, 0xac, 0x85, 0x85, + 0x85, 0x85, 0xfe, 0xc2, 0x92, 0xfd, 0xfe, 0xcb, 0xf4, 0x6a, 0x8a, + 0x02, 0x44, 0x09, 0x07, 0x4c, 0xfe, 0x08, 0x0e, 0x45, 0x01, 0x99, + 0xfe, 0x67, 0x01, 0x99, 0x9b, 0xe7, 0x9b, 0x01, 0x8f, 0xfe, 0x71, + 0x01, 0x8f, 0xfe, 0x71, 0x9b, 0xe7, 0x9b, 0xfe, 0x67, 0x02, 0x34, + 0xe7, 0xe7, 0xe7, 0xfd, 0xb8, 0x40, 0x86, 0x02, 0xd1, 0xb4, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x2d, 0xff, 0xf6, 0x04, 0xb4, 0x05, 0x45, + 0x00, 0x09, 0x00, 0x2c, 0x00, 0x35, 0x00, 0x49, 0x00, 0x9c, 0x40, + 0x52, 0x23, 0x22, 0x22, 0x16, 0x0a, 0x11, 0x10, 0x10, 0x28, 0x1c, + 0x2d, 0x00, 0x3b, 0x3f, 0x3f, 0x38, 0x48, 0x32, 0x05, 0x05, 0x06, + 0x06, 0x48, 0x00, 0x1c, 0x0a, 0x05, 0x4b, 0x4a, 0x3e, 0x36, 0x37, + 0x36, 0x74, 0x59, 0x28, 0x16, 0x1f, 0x0d, 0x1f, 0x26, 0x74, 0x59, + 0x23, 0x23, 0x1f, 0x1f, 0x3b, 0x37, 0x39, 0x39, 0x37, 0x32, 0x04, + 0x73, 0x59, 0x37, 0x32, 0x37, 0x32, 0x0d, 0x07, 0x41, 0x13, 0x0d, + 0x13, 0x74, 0x59, 0x46, 0x0d, 0x11, 0x11, 0x0d, 0x19, 0x07, 0x31, + 0x73, 0x59, 0x07, 0x06, 0x06, 0x15, 0x00, 0x3f, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x11, 0x33, 0x33, 0x2f, 0x33, 0x2f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x23, 0x11, 0x33, 0x20, + 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x15, 0x14, 0x16, + 0x17, 0x16, 0x01, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, + 0x13, 0x35, 0x33, 0x37, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, + 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x35, 0x11, 0x02, 0x46, + 0xaa, 0x91, 0x3d, 0xa1, 0xd2, 0x01, 0x47, 0x02, 0x6e, 0x60, 0x5a, + 0x4a, 0x62, 0x0b, 0x6c, 0x10, 0x3d, 0x1a, 0x22, 0x2d, 0x30, 0x4d, + 0x41, 0x5e, 0x57, 0x46, 0x58, 0x08, 0x6d, 0x05, 0x23, 0x13, 0x37, + 0x35, 0x33, 0x83, 0xfc, 0xf0, 0x4d, 0x51, 0x38, 0x40, 0x4b, 0x4b, + 0x19, 0x5a, 0x3b, 0x47, 0x95, 0x95, 0x44, 0x2d, 0x1b, 0x33, 0x34, + 0xa8, 0x03, 0xf7, 0xa5, 0xc4, 0xfd, 0x72, 0x05, 0x45, 0xfb, 0x68, + 0x53, 0x64, 0x53, 0x50, 0x11, 0x58, 0x25, 0x28, 0x24, 0x3e, 0x21, + 0x34, 0x65, 0x38, 0x4f, 0x56, 0x56, 0x48, 0x0c, 0x2c, 0x23, 0x49, + 0x25, 0x39, 0x23, 0x59, 0x02, 0xda, 0x64, 0x5e, 0xfe, 0x65, 0x72, + 0xfe, 0x9c, 0x61, 0x8e, 0x8e, 0x61, 0xfe, 0x80, 0x4e, 0x07, 0x61, + 0x0b, 0xa1, 0x01, 0x92, 0x00, 0x00, 0x00, 0x03, 0x00, 0x18, 0xff, + 0xec, 0x04, 0xcc, 0x05, 0x45, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x3b, + 0x00, 0x8d, 0x40, 0x4c, 0x0c, 0x01, 0x01, 0x09, 0x13, 0x03, 0x03, + 0x04, 0x00, 0x0d, 0x0d, 0x0e, 0x09, 0x1e, 0x1d, 0x1d, 0x35, 0x2b, + 0x31, 0x30, 0x23, 0x17, 0x17, 0x30, 0x2b, 0x09, 0x04, 0x05, 0x3c, + 0x3d, 0x35, 0x23, 0x2d, 0x1a, 0x2d, 0x33, 0x60, 0x59, 0x00, 0x31, + 0x70, 0x31, 0x02, 0x0b, 0x03, 0x31, 0x31, 0x2d, 0x10, 0x1a, 0x21, + 0x60, 0x59, 0x1e, 0x1e, 0x1a, 0x13, 0x0c, 0x02, 0x13, 0x02, 0x5f, + 0x59, 0x13, 0x13, 0x04, 0x05, 0x05, 0x12, 0x5f, 0x59, 0x05, 0x03, + 0x00, 0x04, 0x12, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x21, 0x03, 0x23, 0x11, 0x23, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x07, 0x13, 0x03, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, + 0x36, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, + 0x33, 0x32, 0x35, 0x34, 0x2e, 0x01, 0x27, 0x2e, 0x02, 0x35, 0x10, + 0x21, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, + 0x17, 0x1e, 0x02, 0x01, 0xd0, 0xd3, 0x38, 0xad, 0xd2, 0xbb, 0xc3, + 0x64, 0x5e, 0xee, 0xda, 0x66, 0x79, 0x16, 0x1c, 0x6d, 0x6c, 0x03, + 0x12, 0x9d, 0x8f, 0x82, 0x95, 0x20, 0x93, 0x13, 0x50, 0x3f, 0x92, + 0x21, 0x44, 0x5e, 0x5a, 0x58, 0x2f, 0x01, 0x16, 0x77, 0x8f, 0x10, + 0x96, 0x14, 0x6b, 0x7d, 0x3f, 0x6d, 0x68, 0x5c, 0x36, 0x02, 0x3f, + 0xfd, 0xc1, 0x05, 0x45, 0xc3, 0xb2, 0x85, 0xb5, 0x23, 0xfd, 0x8d, + 0x03, 0xcd, 0x70, 0x6f, 0xfe, 0x2a, 0x75, 0xfd, 0xd6, 0x99, 0x9c, + 0x7d, 0x8f, 0x1f, 0x58, 0x4d, 0xab, 0x32, 0x44, 0x34, 0x28, 0x24, + 0x4f, 0x71, 0x53, 0x01, 0x25, 0x87, 0x7d, 0x14, 0x92, 0x97, 0x4a, + 0x4c, 0x2c, 0x2a, 0x52, 0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x04, 0xcd, 0x05, 0x45, 0x00, 0x1b, 0x00, 0x1f, 0x00, + 0x23, 0x00, 0x26, 0x00, 0x2a, 0x00, 0x2e, 0x00, 0x9b, 0x40, 0x5a, + 0x18, 0x23, 0x20, 0x29, 0x04, 0x27, 0x17, 0x17, 0x15, 0x12, 0x11, + 0x0e, 0x04, 0x0d, 0x16, 0x0d, 0x0c, 0x27, 0x22, 0x1f, 0x2b, 0x00, + 0x03, 0x04, 0x07, 0x04, 0x08, 0x1b, 0x08, 0x09, 0x19, 0x1e, 0x1d, + 0x25, 0x04, 0x24, 0x1a, 0x1a, 0x1b, 0x1b, 0x24, 0x2b, 0x27, 0x16, + 0x05, 0x2f, 0x30, 0x07, 0x0b, 0x26, 0x29, 0x04, 0x0f, 0x10, 0x0f, + 0x5f, 0x59, 0x04, 0x1c, 0x20, 0x2c, 0x04, 0x10, 0x03, 0x1f, 0x23, + 0x2b, 0x04, 0x13, 0x14, 0x13, 0x5f, 0x59, 0x18, 0x00, 0x14, 0x10, + 0x14, 0x10, 0x14, 0x0d, 0x1a, 0x16, 0x03, 0x24, 0x27, 0x27, 0x09, + 0x0d, 0x12, 0x00, 0x3f, 0x33, 0x33, 0x11, 0x33, 0x3f, 0x33, 0x12, + 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x17, + 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x12, 0x17, 0x39, 0x32, 0x32, + 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x12, 0x17, 0x39, 0x33, 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x01, + 0x33, 0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x03, 0x23, 0x03, 0x23, + 0x03, 0x23, 0x03, 0x23, 0x35, 0x33, 0x27, 0x23, 0x35, 0x33, 0x03, + 0x33, 0x13, 0x21, 0x13, 0x33, 0x01, 0x33, 0x37, 0x23, 0x05, 0x33, + 0x37, 0x23, 0x01, 0x37, 0x23, 0x05, 0x37, 0x23, 0x16, 0x01, 0x07, + 0x33, 0x27, 0x04, 0x8d, 0x40, 0x58, 0x24, 0x7c, 0x94, 0x3f, 0xd0, + 0x6e, 0xa9, 0x70, 0xd0, 0x40, 0x93, 0x7a, 0x24, 0x56, 0x3e, 0x3e, + 0xbd, 0x34, 0x02, 0xec, 0x32, 0xbd, 0xfe, 0x57, 0x8a, 0x1d, 0xe6, + 0xfe, 0x3f, 0x88, 0x40, 0xe6, 0x02, 0x7f, 0x17, 0x50, 0xfe, 0x00, + 0x38, 0x4d, 0x15, 0x01, 0x1d, 0x2e, 0x5b, 0x1f, 0x03, 0xb6, 0x9b, + 0xe7, 0x9b, 0xfe, 0x67, 0x01, 0x99, 0xfe, 0x67, 0x01, 0x99, 0x9b, + 0xe7, 0x9b, 0x01, 0x8f, 0xfe, 0x71, 0x01, 0x8f, 0xfc, 0xef, 0xe7, + 0xe7, 0xe7, 0xfd, 0x8d, 0xf1, 0xf1, 0xf1, 0xce, 0x02, 0x28, 0xbf, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x31, 0x00, 0x00, 0x04, + 0x9e, 0x04, 0xcb, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x58, 0x40, 0x10, + 0x13, 0x10, 0x05, 0x06, 0x18, 0x1b, 0x0d, 0x0e, 0x1b, 0x06, 0x10, + 0x0e, 0x04, 0x21, 0x20, 0x19, 0xb8, 0x01, 0x4d, 0xb7, 0x06, 0x11, + 0x06, 0x11, 0x10, 0x0f, 0x10, 0x13, 0x41, 0x0c, 0x01, 0x54, 0x00, + 0x59, 0x00, 0x10, 0x01, 0x4e, 0x00, 0x0f, 0x00, 0x0c, 0x01, 0x54, + 0x00, 0x59, 0x00, 0x0f, 0x01, 0x4d, 0x00, 0x0e, 0x01, 0x4e, 0x00, + 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x39, 0x18, 0x2f, 0x2f, 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, + 0x1e, 0x01, 0x15, 0x11, 0x23, 0x35, 0x34, 0x2e, 0x01, 0x2b, 0x01, + 0x11, 0x23, 0x11, 0x01, 0x11, 0x33, 0x11, 0x33, 0x32, 0x3e, 0x01, + 0x35, 0x11, 0x33, 0x11, 0x14, 0x0e, 0x01, 0x23, 0x01, 0x9a, 0xad, + 0xc0, 0x59, 0xb8, 0x31, 0x72, 0x6f, 0xad, 0xb8, 0x01, 0x3c, 0xb8, + 0xb0, 0x6f, 0x71, 0x30, 0xb9, 0x5b, 0xc1, 0xab, 0x04, 0xcb, 0x6a, + 0xe9, 0xca, 0xfe, 0xf8, 0xfc, 0x99, 0x9f, 0x47, 0xfb, 0xdf, 0x04, + 0xcb, 0xfb, 0x35, 0x02, 0xd9, 0xfd, 0xd1, 0x47, 0xa3, 0x95, 0x02, + 0xa2, 0xfd, 0x52, 0xcb, 0xea, 0x68, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x8a, 0xfe, 0xd6, 0x04, 0x96, 0x05, 0xcc, 0x12, 0x26, 0x00, + 0xd3, 0x00, 0x00, 0x11, 0x07, 0x07, 0xd3, 0x00, 0x00, 0xfd, 0x13, + 0x00, 0x07, 0xb2, 0x02, 0x2d, 0x17, 0x00, 0x3f, 0x35, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x5b, 0xff, 0xec, 0x04, 0x63, 0x05, 0x5a, + 0x00, 0x28, 0x00, 0x86, 0x40, 0x48, 0x24, 0x00, 0x00, 0x08, 0x22, + 0x01, 0x26, 0x0e, 0x17, 0x26, 0x03, 0x12, 0x12, 0x29, 0x1d, 0x1c, + 0x1c, 0x07, 0x08, 0x08, 0x12, 0x2a, 0x29, 0x01, 0x0f, 0x10, 0x0f, + 0x73, 0x59, 0x27, 0x10, 0x25, 0x15, 0x16, 0x15, 0x73, 0x59, 0x22, + 0x16, 0x3f, 0x10, 0x01, 0x0f, 0x16, 0x01, 0x0c, 0x03, 0x10, 0x16, + 0x10, 0x16, 0x0b, 0x19, 0x19, 0x1f, 0x73, 0x59, 0x1d, 0x1d, 0x19, + 0x07, 0x0b, 0x04, 0x73, 0x59, 0x30, 0x07, 0x01, 0x07, 0x07, 0x0b, + 0x19, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x33, + 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x5f, + 0x5e, 0x5d, 0x5d, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, 0x23, + 0x35, 0x33, 0x27, 0x34, 0x37, 0x23, 0x35, 0x33, 0x12, 0x21, 0x32, + 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x07, 0x21, 0x15, 0x21, + 0x07, 0x17, 0x21, 0x03, 0x69, 0xfe, 0x35, 0x11, 0x9b, 0x97, 0x4b, + 0x8a, 0x61, 0x4c, 0x64, 0xbe, 0x6a, 0xdd, 0xff, 0x1d, 0x83, 0x77, + 0x04, 0x04, 0x77, 0x81, 0x3a, 0x01, 0xc3, 0x6a, 0xb6, 0x5b, 0x52, + 0x8a, 0x90, 0xa4, 0x94, 0x14, 0x01, 0xcd, 0xfe, 0x25, 0x02, 0x03, + 0x01, 0xda, 0x01, 0xcf, 0xac, 0x9c, 0x2b, 0x3d, 0x87, 0x43, 0x39, + 0xf0, 0xf0, 0x90, 0x4b, 0x2b, 0x24, 0x8e, 0x01, 0xd6, 0x35, 0x3f, + 0x8c, 0x64, 0x91, 0xab, 0x8d, 0x4e, 0x4a, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x04, 0xcb, 0x05, 0x45, 0x00, 0x14, 0x00, 0x50, + 0x40, 0x29, 0x12, 0x00, 0x14, 0x0e, 0x0f, 0x13, 0x01, 0x10, 0x0d, + 0x0c, 0x04, 0x04, 0x09, 0x05, 0x05, 0x0d, 0x01, 0x0f, 0x14, 0x05, + 0x16, 0x15, 0x13, 0x03, 0x02, 0x07, 0x08, 0x07, 0x5f, 0x59, 0x10, + 0x0c, 0x08, 0x08, 0x05, 0x0e, 0x0a, 0x03, 0x00, 0x05, 0x12, 0x00, + 0x3f, 0x33, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x21, 0x01, 0x23, 0x07, 0x11, 0x23, 0x11, 0x23, + 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x01, 0x33, 0x01, 0x21, 0x15, + 0x21, 0x01, 0x03, 0xeb, 0xfe, 0x24, 0x1a, 0x94, 0xbf, 0xa1, 0xa1, + 0xbf, 0x5b, 0x01, 0xe1, 0xe1, 0xfe, 0x0d, 0x02, 0x3d, 0xfe, 0x31, + 0x01, 0xd2, 0x02, 0x6f, 0x9a, 0xfe, 0x2b, 0x02, 0x6f, 0xa0, 0x02, + 0x36, 0xfd, 0xca, 0x02, 0x36, 0xfd, 0xca, 0xa0, 0xfd, 0x91, 0x00, + 0x01, 0x00, 0x4c, 0x00, 0x00, 0x04, 0x80, 0x05, 0x45, 0x00, 0x17, + 0x00, 0x56, 0x40, 0x2d, 0x17, 0x05, 0x01, 0x09, 0x09, 0x14, 0x12, + 0x0e, 0x0a, 0x0a, 0x18, 0x19, 0x00, 0x14, 0x15, 0x14, 0x5f, 0x59, + 0x0b, 0x08, 0x0c, 0x04, 0x0f, 0x05, 0x0e, 0x04, 0x10, 0x12, 0x01, + 0x06, 0x02, 0x0c, 0x10, 0x06, 0x02, 0x02, 0x06, 0x10, 0x0c, 0x04, + 0x0a, 0x15, 0x03, 0x0a, 0x12, 0x00, 0x3f, 0x3f, 0x12, 0x17, 0x39, + 0x2f, 0x2f, 0x2f, 0x2f, 0x11, 0x12, 0x39, 0x39, 0x11, 0x17, 0x39, + 0x12, 0x39, 0x39, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x31, 0x30, + 0x01, 0x11, 0x25, 0x15, 0x05, 0x15, 0x25, 0x15, 0x05, 0x11, 0x23, + 0x11, 0x05, 0x35, 0x25, 0x35, 0x05, 0x35, 0x25, 0x11, 0x21, 0x35, + 0x21, 0x15, 0x02, 0xc5, 0x01, 0x47, 0xfe, 0xb9, 0x01, 0x47, 0xfe, + 0xb9, 0xbe, 0xfe, 0xb9, 0x01, 0x47, 0xfe, 0xb9, 0x01, 0x47, 0xfe, + 0x45, 0x04, 0x34, 0x04, 0xa9, 0xfe, 0xd9, 0xac, 0x9f, 0xaa, 0xa5, + 0xac, 0x9f, 0xaa, 0xfe, 0x5d, 0x01, 0x40, 0xa9, 0x9a, 0xab, 0xa6, + 0xa9, 0x9a, 0xab, 0x01, 0x8b, 0x9c, 0x9c, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0xfe, 0xba, 0x04, 0xc6, 0x05, 0x29, 0x00, 0x12, + 0x00, 0x37, 0x00, 0x43, 0x00, 0x50, 0x00, 0x59, 0x00, 0x86, 0x40, + 0x4d, 0x38, 0x00, 0x4e, 0x34, 0x09, 0x0a, 0x31, 0x25, 0x48, 0x21, + 0x16, 0x51, 0x55, 0x1c, 0x1c, 0x51, 0x21, 0x25, 0x0a, 0x34, 0x00, + 0x07, 0x5b, 0x5a, 0x44, 0x25, 0x2b, 0x25, 0x61, 0x59, 0x31, 0x2b, + 0x10, 0x3b, 0x61, 0x59, 0x1f, 0x53, 0x61, 0x59, 0x16, 0x48, 0x51, + 0x21, 0x04, 0x1f, 0x1f, 0x40, 0x09, 0x13, 0x48, 0x10, 0x2b, 0x1f, + 0x1f, 0x10, 0x2b, 0x03, 0x19, 0x2e, 0x4a, 0x58, 0x19, 0x58, 0x61, + 0x59, 0x03, 0x41, 0x61, 0x59, 0x06, 0x03, 0x03, 0x13, 0x0a, 0x19, + 0x12, 0x00, 0x3f, 0xc6, 0x33, 0x33, 0x2f, 0x33, 0x2b, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x12, 0x17, 0x39, 0x2f, 0x2f, 0x7c, 0x2f, + 0x2b, 0x11, 0x17, 0x39, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x07, 0x06, 0x07, + 0x23, 0x36, 0x37, 0x13, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x01, 0x22, + 0x26, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, + 0x32, 0x17, 0x37, 0x1a, 0x01, 0x37, 0x0e, 0x01, 0x07, 0x35, 0x36, + 0x33, 0x3e, 0x01, 0x37, 0x17, 0x06, 0x07, 0x16, 0x12, 0x15, 0x14, + 0x02, 0x06, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, + 0x33, 0x32, 0x36, 0x01, 0x06, 0x03, 0x02, 0x07, 0x16, 0x33, 0x32, + 0x36, 0x12, 0x35, 0x34, 0x26, 0x01, 0x26, 0x23, 0x22, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x04, 0xc6, 0x68, 0x5c, 0x23, 0x35, 0x1c, 0x24, + 0x18, 0x14, 0x75, 0x23, 0x15, 0x4a, 0x17, 0x5e, 0x4f, 0x53, 0x64, + 0xfd, 0x28, 0x40, 0x64, 0x38, 0x16, 0x51, 0x36, 0x39, 0x3c, 0x41, + 0x34, 0x33, 0x31, 0x15, 0x26, 0x56, 0x3c, 0x4f, 0x9f, 0x28, 0x7b, + 0xc5, 0x30, 0x48, 0x26, 0x20, 0x33, 0x32, 0x94, 0xaa, 0x67, 0xa8, + 0x02, 0x0e, 0x31, 0x2b, 0x31, 0x33, 0x33, 0x2b, 0x2e, 0x34, 0xfd, + 0xab, 0x51, 0x43, 0x30, 0x1e, 0x56, 0x5c, 0x4d, 0x7b, 0x4a, 0x76, + 0xfe, 0x51, 0x28, 0x31, 0x43, 0x25, 0x1d, 0x49, 0xf8, 0x74, 0x87, + 0x1f, 0x1e, 0xce, 0x81, 0x31, 0x5b, 0x70, 0x01, 0x69, 0x7b, 0x6b, + 0x77, 0xfe, 0xa3, 0x3a, 0x3c, 0x32, 0x44, 0x43, 0x40, 0x3a, 0x45, + 0x22, 0x8c, 0x01, 0x28, 0x01, 0x52, 0x60, 0x05, 0x2a, 0x1c, 0x34, + 0x4b, 0x41, 0x4d, 0x21, 0x16, 0x3d, 0x5c, 0x05, 0xfe, 0xeb, 0xea, + 0xb1, 0xfe, 0xd5, 0x9a, 0xe5, 0x55, 0x53, 0x5a, 0x4e, 0x53, 0x58, + 0x5d, 0x03, 0xaf, 0xa7, 0xfe, 0x72, 0xfe, 0xf0, 0x5b, 0x60, 0x95, + 0x01, 0x19, 0x9d, 0xc9, 0xec, 0xfc, 0x62, 0x22, 0x48, 0x27, 0x25, + 0x00, 0x02, 0x00, 0x3c, 0xfe, 0x57, 0x04, 0x3f, 0x05, 0xcc, 0x00, + 0x21, 0x00, 0x2d, 0x00, 0x5a, 0x40, 0x31, 0x19, 0x15, 0x28, 0x1c, + 0x02, 0x1a, 0x22, 0x00, 0x00, 0x10, 0x05, 0x05, 0x1a, 0x0a, 0x1c, + 0x15, 0x17, 0x06, 0x2e, 0x2f, 0x13, 0x15, 0x19, 0x03, 0x17, 0x2b, + 0x02, 0x1a, 0x03, 0x25, 0x18, 0x18, 0x17, 0x25, 0x25, 0x1f, 0x60, + 0x59, 0x25, 0x03, 0x17, 0x12, 0x08, 0x0d, 0x60, 0x59, 0x08, 0x14, + 0x13, 0x00, 0x3f, 0xc4, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x12, 0x17, 0x39, 0x12, 0x17, 0x39, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x03, 0x13, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x34, 0x27, 0x0b, 0x02, 0x07, 0x23, 0x01, 0x1b, 0x01, + 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x3e, 0x01, 0x04, 0x3f, 0xe8, + 0xb3, 0x17, 0x9a, 0x8c, 0x48, 0x50, 0x53, 0x45, 0x3e, 0x40, 0x12, + 0x7a, 0xe1, 0xa9, 0x7f, 0xa8, 0x01, 0x26, 0xa3, 0xad, 0xa4, 0x9d, + 0x80, 0x7e, 0x96, 0xa6, 0x3e, 0x33, 0x30, 0x40, 0x35, 0x29, 0x37, + 0x4c, 0x04, 0xb6, 0xbc, 0xfe, 0x5c, 0xfd, 0x96, 0x4e, 0x40, 0x7e, + 0x89, 0x13, 0x9b, 0x22, 0x3c, 0x37, 0x33, 0x42, 0x01, 0xc1, 0xfe, + 0x5b, 0x01, 0x13, 0xfa, 0x02, 0x1e, 0xfe, 0xd6, 0x01, 0x44, 0x01, + 0xec, 0x90, 0x80, 0x98, 0x96, 0x72, 0x35, 0x46, 0x43, 0x38, 0x4e, + 0xfe, 0x7e, 0x81, 0xe8, 0x00, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, + 0x04, 0xbf, 0x05, 0x45, 0x00, 0x1c, 0x00, 0x22, 0x00, 0x27, 0x00, + 0x2c, 0x00, 0xa0, 0x40, 0x4a, 0x11, 0x0d, 0x1e, 0x21, 0x25, 0x29, + 0x04, 0x1d, 0x28, 0x27, 0x20, 0x0a, 0x0a, 0x13, 0x0f, 0x0b, 0x1a, + 0x04, 0x02, 0x1d, 0x1d, 0x00, 0x27, 0x09, 0x5f, 0x59, 0x26, 0x05, + 0x0d, 0x0e, 0x0d, 0x60, 0x59, 0x20, 0x02, 0x0e, 0x1f, 0x1b, 0x11, + 0x12, 0x11, 0x60, 0x59, 0x28, 0x18, 0x12, 0x10, 0x27, 0x20, 0x27, + 0x30, 0x27, 0xb0, 0x27, 0xc0, 0x27, 0xd0, 0x27, 0x06, 0x10, 0x0e, + 0x20, 0x0e, 0x30, 0x0e, 0xb0, 0x0e, 0x04, 0x0f, 0x0e, 0x01, 0x0c, + 0x03, 0x12, 0xb8, 0xff, 0xc0, 0x40, 0x14, 0x09, 0x0c, 0x48, 0x27, + 0x0e, 0x12, 0x12, 0x0e, 0x27, 0x03, 0x0b, 0x14, 0x14, 0x2c, 0x5f, + 0x59, 0x14, 0x03, 0x0b, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, + 0x5d, 0x5d, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x2b, 0x01, 0x18, 0x2f, + 0x33, 0x11, 0x33, 0x2f, 0x33, 0x2f, 0x33, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x33, 0x12, 0x17, 0x39, 0x2f, 0x33, 0x31, 0x30, 0x01, 0x14, + 0x07, 0x33, 0x15, 0x23, 0x0e, 0x01, 0x23, 0x21, 0x11, 0x23, 0x11, + 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x21, 0x32, 0x16, + 0x17, 0x33, 0x15, 0x23, 0x17, 0x07, 0x27, 0x21, 0x15, 0x21, 0x36, + 0x05, 0x32, 0x37, 0x21, 0x15, 0x11, 0x21, 0x26, 0x2b, 0x01, 0x04, + 0x5f, 0x04, 0x64, 0x8d, 0x38, 0xe3, 0x9d, 0xfe, 0xe7, 0xbf, 0x89, + 0x89, 0x89, 0x89, 0x01, 0xcc, 0xba, 0xe6, 0x30, 0x81, 0x61, 0x01, + 0xc0, 0x03, 0xfd, 0xc5, 0x02, 0x38, 0x06, 0xfe, 0xc0, 0xa4, 0x53, + 0xfe, 0x0b, 0x01, 0xfe, 0x52, 0xb6, 0xf6, 0x03, 0xb1, 0x20, 0x1e, + 0x85, 0x71, 0x7b, 0xfd, 0xfe, 0x02, 0xee, 0x85, 0x62, 0x85, 0xeb, + 0x7e, 0x6d, 0x85, 0x12, 0x15, 0x27, 0x62, 0x1c, 0xf6, 0x55, 0x55, + 0x01, 0xc1, 0x52, 0x00, 0x00, 0x03, 0x00, 0x71, 0xff, 0x2c, 0x04, + 0x4f, 0x05, 0xcc, 0x00, 0x16, 0x00, 0x1c, 0x00, 0x22, 0x00, 0x68, + 0x40, 0x37, 0x17, 0x09, 0x1e, 0x15, 0x0e, 0x04, 0x04, 0x19, 0x0b, + 0x05, 0x21, 0x00, 0x12, 0x11, 0x11, 0x00, 0x05, 0x09, 0x04, 0x23, + 0x24, 0x14, 0x1a, 0x0b, 0x1a, 0x5f, 0x59, 0x15, 0x1d, 0x5f, 0x59, + 0x15, 0x15, 0x06, 0x0b, 0x12, 0x12, 0x0e, 0x0b, 0x0b, 0x0c, 0x60, + 0x59, 0x0b, 0x04, 0x1e, 0x19, 0x06, 0x19, 0x5f, 0x59, 0x05, 0x03, + 0x06, 0x13, 0x00, 0x3f, 0x33, 0xcd, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x39, + 0x2f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x0e, 0x01, 0x07, 0x15, 0x23, + 0x35, 0x26, 0x02, 0x11, 0x10, 0x25, 0x35, 0x33, 0x15, 0x1e, 0x01, + 0x17, 0x07, 0x26, 0x27, 0x11, 0x21, 0x05, 0x10, 0x05, 0x11, 0x0e, + 0x01, 0x01, 0x11, 0x3e, 0x01, 0x37, 0x11, 0x04, 0x4d, 0x6d, 0xc2, + 0x5b, 0x7c, 0xe1, 0xf5, 0x01, 0xd6, 0x7c, 0x8d, 0xc6, 0x39, 0xab, + 0x45, 0x9c, 0x01, 0x8a, 0xfc, 0xed, 0x01, 0x0d, 0x89, 0x84, 0x01, + 0x89, 0x36, 0x6f, 0x2b, 0x85, 0x48, 0x46, 0x08, 0xc3, 0xc3, 0x15, + 0x01, 0x70, 0x01, 0x35, 0x02, 0x8b, 0x23, 0x75, 0x76, 0x0d, 0x9e, + 0x9c, 0x38, 0xc3, 0x1e, 0xfe, 0x09, 0x18, 0xfe, 0x1c, 0x37, 0x04, + 0x2b, 0x15, 0xfd, 0xfe, 0x7a, 0xfe, 0x68, 0x06, 0x26, 0x1c, 0x01, + 0x50, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0xcd, 0x05, 0x45, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x22, 0x00, 0x8a, 0x40, 0x4b, 0x07, + 0x19, 0x1a, 0x1d, 0x04, 0x20, 0x06, 0x06, 0x17, 0x03, 0x04, 0x01, + 0x00, 0x15, 0x04, 0x14, 0x05, 0x14, 0x20, 0x0b, 0x0e, 0x0f, 0x12, + 0x04, 0x13, 0x0a, 0x13, 0x08, 0x18, 0x1b, 0x1c, 0x04, 0x20, 0x09, + 0x09, 0x10, 0x0c, 0x20, 0x05, 0x0a, 0x05, 0x0a, 0x24, 0x23, 0x08, + 0x04, 0x0c, 0x0d, 0x0c, 0x5f, 0x59, 0x18, 0x01, 0x0d, 0x1b, 0x00, + 0x10, 0x11, 0x10, 0x5f, 0x59, 0x1c, 0x15, 0x11, 0x0d, 0x11, 0x0d, + 0x11, 0x0a, 0x20, 0x13, 0x03, 0x06, 0x0a, 0x12, 0x00, 0x3f, 0x33, + 0x3f, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, 0x33, 0x33, + 0x33, 0x11, 0x12, 0x17, 0x39, 0x32, 0x11, 0x12, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x12, 0x17, 0x39, 0x33, 0x33, 0x33, 0x11, 0x12, 0x17, + 0x39, 0x31, 0x30, 0x01, 0x17, 0x33, 0x15, 0x23, 0x13, 0x23, 0x03, + 0x21, 0x03, 0x23, 0x13, 0x23, 0x35, 0x33, 0x37, 0x21, 0x35, 0x21, + 0x13, 0x33, 0x13, 0x21, 0x15, 0x05, 0x21, 0x27, 0x21, 0x37, 0x33, + 0x26, 0x2f, 0x01, 0x07, 0x06, 0x03, 0xae, 0x54, 0xcb, 0x93, 0x88, + 0xc9, 0x80, 0xfd, 0xda, 0x80, 0xc9, 0x87, 0x91, 0xc9, 0x54, 0xfe, + 0xe3, 0x01, 0x55, 0xae, 0xc6, 0xad, 0x01, 0x57, 0xfc, 0xbb, 0x01, + 0xbd, 0x50, 0xfe, 0xe3, 0x35, 0xb4, 0x2e, 0x24, 0x08, 0x08, 0x2c, + 0x02, 0xe0, 0xe1, 0x95, 0xfe, 0x96, 0x01, 0x6a, 0xfe, 0x96, 0x01, + 0x6a, 0x95, 0xe1, 0x95, 0x01, 0xd0, 0xfe, 0x30, 0x95, 0xe1, 0xe1, + 0x95, 0x82, 0x7f, 0x1b, 0x1c, 0x94, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x0f, 0xff, 0xec, 0x04, 0xbe, 0x05, 0x5a, 0x00, 0x35, 0x00, 0xcd, + 0x40, 0x83, 0x28, 0x25, 0x1f, 0x1c, 0x04, 0x1b, 0x2a, 0x2a, 0x04, + 0x0c, 0x0c, 0x14, 0x15, 0x26, 0x1d, 0x1d, 0x1b, 0x0d, 0x0a, 0x05, + 0x02, 0x04, 0x00, 0x0f, 0x0f, 0x1b, 0x30, 0x31, 0x31, 0x1b, 0x15, + 0x00, 0x04, 0x36, 0x37, 0x28, 0x03, 0x04, 0x03, 0x5f, 0x59, 0x25, + 0x04, 0x1f, 0x0b, 0x0c, 0x0b, 0x5f, 0x59, 0x1c, 0x0c, 0x3f, 0x04, + 0x01, 0x04, 0x0c, 0x04, 0x0c, 0x33, 0x18, 0x00, 0x30, 0x10, 0x30, + 0x40, 0x30, 0x03, 0x00, 0x30, 0x10, 0x30, 0x20, 0x30, 0x40, 0x30, + 0x50, 0x30, 0x60, 0x30, 0xf0, 0x30, 0x07, 0x09, 0x03, 0x30, 0x30, + 0x33, 0x33, 0x2d, 0x5f, 0x59, 0x33, 0x13, 0x1f, 0x14, 0x01, 0x0f, + 0x14, 0x1f, 0x14, 0x2f, 0x14, 0x6f, 0x14, 0x7f, 0x14, 0x8f, 0x14, + 0xbf, 0x14, 0xcf, 0x14, 0xdf, 0x14, 0x09, 0x0f, 0x03, 0x14, 0x40, + 0x09, 0x0c, 0x48, 0x14, 0x14, 0x18, 0x18, 0x11, 0x60, 0x59, 0x18, + 0x04, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x5f, + 0x5e, 0x5d, 0x71, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x71, 0x11, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x5d, 0x11, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x32, 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x13, 0x34, 0x37, 0x23, + 0x35, 0x33, 0x3e, 0x02, 0x3f, 0x01, 0x21, 0x35, 0x21, 0x36, 0x35, + 0x34, 0x21, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, + 0x15, 0x07, 0x33, 0x15, 0x23, 0x0e, 0x02, 0x07, 0x06, 0x07, 0x21, + 0x15, 0x21, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, + 0x02, 0x21, 0x22, 0x24, 0x5f, 0x04, 0x54, 0x8e, 0x22, 0x5e, 0x77, + 0x9a, 0x70, 0xfd, 0x71, 0x03, 0x65, 0x08, 0xfe, 0xe5, 0x7d, 0x90, + 0x18, 0xbc, 0x2c, 0xe0, 0xd4, 0xe1, 0xf5, 0x03, 0x8b, 0xc6, 0x1f, + 0x5a, 0x70, 0x7f, 0x90, 0x28, 0x02, 0xe5, 0xfc, 0x69, 0x0a, 0xa5, + 0x9f, 0x95, 0xae, 0x1c, 0xb9, 0x4a, 0xfe, 0x37, 0xf9, 0xfe, 0xf3, + 0x01, 0x72, 0x22, 0x1e, 0x95, 0x2d, 0x3f, 0x2f, 0x29, 0x1d, 0x95, + 0x1a, 0x1e, 0xd5, 0x65, 0x70, 0x21, 0xb0, 0x94, 0xbb, 0xad, 0x35, + 0x95, 0x28, 0x3a, 0x2c, 0x21, 0x24, 0x0e, 0x95, 0x1d, 0x26, 0x72, + 0x7c, 0x76, 0x80, 0x25, 0xfe, 0x9a, 0xcd, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x71, 0xff, 0x14, 0x04, 0x76, 0x05, 0xcc, 0x00, 0x17, 0x00, + 0x1e, 0x00, 0x6d, 0x40, 0x41, 0x18, 0x12, 0x07, 0x00, 0x0d, 0x0d, + 0x1b, 0x15, 0x0e, 0x03, 0x02, 0x0a, 0x02, 0x0e, 0x12, 0x04, 0x1f, + 0x20, 0x06, 0x1c, 0x15, 0x1c, 0x5f, 0x59, 0x15, 0x16, 0x60, 0x59, + 0x03, 0x03, 0x00, 0x15, 0x04, 0x07, 0x1b, 0x0f, 0x1b, 0x5f, 0x59, + 0x0e, 0x0f, 0x0c, 0x0f, 0x10, 0x09, 0x20, 0x09, 0x30, 0x09, 0x03, + 0x30, 0x09, 0x80, 0x09, 0x90, 0x09, 0xd0, 0x09, 0xe0, 0x09, 0x05, + 0x09, 0x09, 0x0f, 0x13, 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x71, 0x11, + 0x33, 0x10, 0xcd, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x33, + 0x2f, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x04, 0x13, 0x07, 0x2e, 0x01, 0x27, 0x11, 0x36, + 0x37, 0x17, 0x02, 0x05, 0x15, 0x23, 0x35, 0x26, 0x02, 0x11, 0x10, + 0x12, 0x37, 0x35, 0x33, 0x01, 0x14, 0x12, 0x17, 0x11, 0x06, 0x02, + 0x02, 0xd3, 0x01, 0x14, 0x74, 0xa8, 0x1e, 0x77, 0x4b, 0xa9, 0x5b, + 0x9f, 0x88, 0xfe, 0xe5, 0x7c, 0xea, 0xfc, 0xf6, 0xf0, 0x7c, 0xfe, + 0x67, 0x8c, 0x91, 0x97, 0x86, 0x05, 0x56, 0x22, 0xfe, 0xd7, 0x41, + 0x5a, 0x7e, 0x13, 0xfb, 0xd8, 0x26, 0xee, 0x41, 0xfe, 0xb1, 0x21, + 0xdc, 0xdb, 0x13, 0x01, 0x67, 0x01, 0x40, 0x01, 0x49, 0x01, 0x57, + 0x0f, 0x74, 0xfc, 0xdd, 0xf8, 0xfe, 0xf2, 0x17, 0x04, 0x2f, 0x14, + 0xfe, 0xf4, 0x00, 0x03, 0x00, 0x30, 0xff, 0x46, 0x04, 0xa6, 0x05, + 0xf7, 0x00, 0x08, 0x00, 0x10, 0x00, 0x31, 0x00, 0x00, 0x01, 0x34, + 0x26, 0x2b, 0x01, 0x11, 0x21, 0x32, 0x36, 0x03, 0x34, 0x26, 0x2b, + 0x01, 0x11, 0x33, 0x20, 0x01, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, + 0x21, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x04, 0x11, 0x14, + 0x06, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x07, 0x06, 0x07, 0x15, 0x23, + 0x35, 0x23, 0x15, 0x23, 0x03, 0xe5, 0xb2, 0xb0, 0xfc, 0x01, 0x0a, + 0xaf, 0xa5, 0x51, 0x97, 0x97, 0xdf, 0xe1, 0x01, 0x2c, 0xfd, 0xb1, + 0xfe, 0xeb, 0x98, 0x98, 0x01, 0x15, 0x99, 0x7f, 0x99, 0x01, 0x5e, + 0x90, 0x7c, 0xa7, 0xb7, 0x89, 0x70, 0xb7, 0x99, 0x7f, 0x99, 0x01, + 0x8d, 0x72, 0x78, 0xfe, 0x22, 0x79, 0x02, 0xd4, 0x6b, 0x5b, 0xfe, + 0x60, 0xfc, 0xf4, 0x99, 0x04, 0x13, 0x99, 0xb2, 0xb2, 0xb2, 0xba, + 0x2c, 0xfe, 0xed, 0x7a, 0xa4, 0x19, 0x12, 0xb2, 0x87, 0xb4, 0x64, + 0x52, 0x0f, 0xbd, 0xba, 0xba, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x93, + 0x04, 0x1b, 0x01, 0x6f, 0x06, 0xea, 0x10, 0x07, 0x00, 0x0d, 0xfd, + 0x9b, 0x01, 0x1f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0xf4, + 0x04, 0xcd, 0x05, 0x50, 0x00, 0x0a, 0x00, 0x16, 0x00, 0x2e, 0x00, + 0x32, 0x00, 0x84, 0x40, 0x4c, 0x31, 0x32, 0x2f, 0x30, 0x32, 0x30, + 0x00, 0x23, 0x11, 0x06, 0x06, 0x0b, 0x00, 0x00, 0x34, 0x2a, 0x1c, + 0x1c, 0x29, 0x1d, 0x1d, 0x17, 0x23, 0x23, 0x33, 0x31, 0x06, 0x2f, + 0x18, 0x00, 0x1c, 0x10, 0x1c, 0xf0, 0x1c, 0x03, 0x0b, 0x03, 0x1c, + 0x1c, 0x20, 0x20, 0x1a, 0xb6, 0x59, 0x26, 0x20, 0xb8, 0x5b, 0x26, + 0x2d, 0xb6, 0x59, 0x0f, 0x2a, 0x01, 0x0c, 0x03, 0x2a, 0x2a, 0x26, + 0x07, 0x09, 0x0e, 0xb6, 0x59, 0x03, 0x09, 0xb8, 0x5b, 0x03, 0x14, + 0xb6, 0x59, 0x03, 0x19, 0x00, 0x3f, 0x2b, 0x2b, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x2b, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x3f, 0x3f, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x20, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x16, 0x33, 0x32, 0x36, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x13, 0x23, 0x01, 0x33, 0x04, + 0xcd, 0x8e, 0x80, 0x80, 0x89, 0x85, 0x88, 0x01, 0x0a, 0x94, 0x38, + 0x3e, 0x42, 0x38, 0x39, 0x3f, 0x3d, 0x3b, 0xfc, 0x59, 0x45, 0x39, + 0x53, 0x15, 0x8d, 0x0d, 0x82, 0x62, 0x87, 0x8d, 0x8c, 0x87, 0x5e, + 0x7a, 0x15, 0x8f, 0x0a, 0x2b, 0x2d, 0x7d, 0xb0, 0x76, 0x02, 0xbf, + 0x73, 0x01, 0x94, 0xc9, 0xd7, 0xd7, 0xc9, 0xd3, 0xd2, 0xfe, 0x5b, + 0xa5, 0x91, 0x92, 0xa4, 0x9a, 0x98, 0x94, 0x02, 0xbb, 0x90, 0xa5, + 0xa9, 0x09, 0x79, 0x99, 0xdf, 0xc5, 0xca, 0xd8, 0x87, 0x7c, 0x0b, + 0x48, 0x55, 0xfb, 0x21, 0x05, 0x45, 0x00, 0x00, 0x02, 0x01, 0x1e, + 0xff, 0xec, 0x03, 0x9d, 0x05, 0x95, 0x00, 0x1c, 0x00, 0x26, 0x00, + 0x8b, 0x40, 0x11, 0x1d, 0x16, 0x24, 0x1a, 0x1a, 0x0f, 0x09, 0x03, + 0x04, 0x04, 0x09, 0x16, 0x03, 0x27, 0x28, 0x0c, 0x0d, 0xb8, 0x01, + 0x18, 0xb5, 0x59, 0x0c, 0x0c, 0x0a, 0x0f, 0x0a, 0xb8, 0x01, 0x18, + 0x40, 0x0d, 0x59, 0x0f, 0x0f, 0x1f, 0x0f, 0x02, 0x09, 0x03, 0x0f, + 0x0f, 0x19, 0x24, 0x19, 0xb8, 0x01, 0x18, 0xb6, 0x59, 0x24, 0x24, + 0x13, 0x00, 0x13, 0x20, 0xb8, 0x01, 0x18, 0x40, 0x11, 0x59, 0x0f, + 0x13, 0x3f, 0x13, 0x4f, 0x13, 0x6f, 0x13, 0x7f, 0x13, 0x05, 0x09, + 0x03, 0x13, 0x06, 0x00, 0xb8, 0x01, 0x19, 0xb4, 0x59, 0x04, 0x04, + 0x06, 0x16, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x25, 0x32, 0x36, + 0x37, 0x33, 0x02, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x06, 0x07, 0x35, + 0x36, 0x37, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x02, + 0x07, 0x15, 0x14, 0x16, 0x13, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x11, 0x36, 0x12, 0x02, 0xc6, 0x33, 0x4e, 0x11, 0x45, 0x28, 0xdb, + 0x73, 0x85, 0x33, 0x51, 0x4f, 0x35, 0x83, 0x7b, 0x69, 0x7e, 0xb0, + 0x8f, 0x48, 0x9c, 0x48, 0x37, 0x32, 0x33, 0x66, 0x7e, 0x4e, 0x68, + 0x6d, 0xfe, 0xc9, 0xa6, 0x94, 0xaf, 0x1b, 0x1f, 0x49, 0x1f, 0x1c, + 0x02, 0x4b, 0x93, 0x98, 0xa3, 0x89, 0xb9, 0xfe, 0xc0, 0x52, 0xf4, + 0x65, 0x77, 0x04, 0x14, 0x63, 0x84, 0x67, 0x79, 0xfe, 0x05, 0x45, + 0x01, 0x13, 0x00, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x04, 0xb9, + 0x05, 0x45, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x24, 0x00, 0x28, 0x00, + 0x65, 0x40, 0x35, 0x00, 0x0c, 0x0c, 0x0d, 0x25, 0x1f, 0x14, 0x0d, + 0x14, 0x06, 0x0f, 0x08, 0x05, 0x05, 0x06, 0x19, 0x28, 0x0f, 0x06, + 0x0f, 0x29, 0x2a, 0x12, 0x22, 0xb6, 0x59, 0x12, 0x12, 0x25, 0x16, + 0x25, 0x26, 0x60, 0x59, 0x25, 0x12, 0x16, 0x1c, 0xb6, 0x59, 0x0f, + 0x16, 0x01, 0x16, 0x0f, 0x0c, 0x01, 0x07, 0x03, 0x09, 0x00, 0x06, + 0x12, 0x00, 0x3f, 0x33, 0x33, 0x3f, 0x33, 0x33, 0x3f, 0x5d, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x21, 0x01, 0x17, 0x16, 0x15, 0x11, 0x23, 0x11, + 0x33, 0x01, 0x26, 0x35, 0x11, 0x33, 0x11, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x11, 0x10, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x01, 0x35, 0x21, 0x15, + 0x01, 0xaa, 0xfe, 0xf2, 0x03, 0x03, 0x8c, 0xc0, 0x01, 0x16, 0x08, + 0x8d, 0x02, 0x48, 0x78, 0x83, 0xf5, 0xf9, 0x80, 0x77, 0x95, 0x29, + 0x36, 0x38, 0x2c, 0x27, 0x35, 0x3a, 0x2d, 0xfe, 0xc4, 0x01, 0xb3, + 0x04, 0x1a, 0x58, 0x39, 0x6d, 0xfc, 0xe4, 0x05, 0x45, 0xfb, 0xde, + 0xa0, 0x72, 0x03, 0x10, 0xfa, 0xbb, 0x02, 0xb2, 0xd0, 0xb7, 0x01, + 0x87, 0x01, 0x86, 0xbb, 0xcb, 0x97, 0x7f, 0x7d, 0x99, 0x96, 0x81, + 0x79, 0xfd, 0xec, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x1f, 0x00, 0x26, 0x04, 0xad, 0x05, 0xcc, 0x00, 0x0f, 0x00, 0x1c, + 0x00, 0x27, 0x00, 0x30, 0x00, 0x60, 0x40, 0x34, 0x17, 0x2d, 0x1e, + 0x1e, 0x1f, 0x28, 0x24, 0x10, 0x1f, 0x24, 0x08, 0x00, 0x08, 0x00, + 0x31, 0x32, 0x1d, 0x2d, 0xc8, 0x59, 0x1d, 0x2c, 0x40, 0x2c, 0x20, + 0xc8, 0x59, 0x00, 0x2c, 0x10, 0x2c, 0x20, 0x2c, 0x03, 0x0b, 0x03, + 0x2c, 0x0f, 0x0c, 0x13, 0xc8, 0x59, 0x0c, 0x01, 0x1f, 0x1f, 0x1a, + 0x04, 0x1a, 0xc8, 0x59, 0x04, 0x00, 0x2f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x5f, 0x5e, 0x5d, 0x2b, + 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x12, 0x39, 0x39, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x32, 0x31, 0x30, 0x01, 0x14, 0x02, 0x04, 0x23, 0x22, 0x24, 0x02, + 0x35, 0x34, 0x12, 0x24, 0x33, 0x32, 0x04, 0x12, 0x07, 0x10, 0x00, + 0x23, 0x22, 0x06, 0x02, 0x15, 0x10, 0x00, 0x33, 0x32, 0x00, 0x25, + 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x13, + 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, 0x04, 0xad, 0x8e, + 0xfe, 0xf9, 0xb2, 0xb0, 0xfe, 0xf9, 0x90, 0x8e, 0x01, 0x09, 0xb0, + 0xb0, 0x01, 0x09, 0x8e, 0x5c, 0xfe, 0xfc, 0xe7, 0x97, 0xdb, 0x76, + 0x00, 0xff, 0xe9, 0xe9, 0x01, 0x02, 0xfd, 0x8a, 0x7f, 0x01, 0x33, + 0x8e, 0x97, 0x90, 0x7e, 0x8f, 0x5f, 0x51, 0xaa, 0xb6, 0x50, 0x54, + 0x02, 0xf9, 0xe4, 0xfe, 0xba, 0xa9, 0xaa, 0x01, 0x44, 0xe5, 0xe2, + 0x01, 0x46, 0xab, 0xaa, 0xfe, 0xbb, 0xe4, 0x01, 0x2d, 0x01, 0x47, + 0x91, 0xfe, 0xe5, 0xc8, 0xfe, 0xd5, 0xfe, 0xb6, 0x01, 0x48, 0xdb, + 0xfe, 0xb0, 0x03, 0x3f, 0x7e, 0x6f, 0x76, 0x8c, 0x01, 0x00, 0x45, + 0x48, 0xfe, 0xd3, 0x55, 0x00, 0x02, 0x00, 0x04, 0x03, 0x4a, 0x04, + 0xc8, 0x05, 0xcb, 0x00, 0x10, 0x00, 0x18, 0x00, 0x66, 0x40, 0x36, + 0x04, 0x03, 0x0c, 0x0c, 0x08, 0x0a, 0x07, 0x07, 0x08, 0x08, 0x10, + 0x13, 0x18, 0x12, 0x12, 0x15, 0x13, 0x0e, 0x00, 0x00, 0x10, 0x13, + 0x10, 0x19, 0x1a, 0x11, 0x15, 0x16, 0x15, 0xc8, 0x59, 0x01, 0x06, + 0x06, 0x0e, 0x09, 0x16, 0x00, 0x0f, 0x0c, 0x1f, 0x0c, 0x02, 0x0c, + 0x08, 0x0f, 0x04, 0x1f, 0x04, 0x02, 0x04, 0x00, 0x13, 0xd1, 0x00, + 0x3f, 0x33, 0x33, 0x5d, 0x33, 0x33, 0x5d, 0x3f, 0x33, 0x33, 0x33, + 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x11, 0x07, 0x03, 0x23, 0x02, 0x27, 0x11, 0x23, 0x11, + 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x11, 0x01, 0x11, 0x23, 0x11, + 0x23, 0x35, 0x21, 0x15, 0x04, 0x5f, 0x06, 0xc8, 0x59, 0x99, 0x2f, + 0x69, 0x9c, 0xb8, 0x0d, 0x3d, 0x8b, 0x98, 0xfc, 0x56, 0x6f, 0xab, + 0x01, 0xc9, 0x03, 0x4a, 0x02, 0x00, 0x12, 0xfe, 0x12, 0x01, 0x84, + 0x7c, 0xfe, 0x00, 0x02, 0x81, 0xfe, 0x2f, 0x23, 0x9e, 0x01, 0x56, + 0xfd, 0x7f, 0x02, 0x25, 0xfd, 0xdb, 0x02, 0x25, 0x5c, 0x5c, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x3b, 0x00, 0x00, 0x04, 0x93, 0x05, + 0x5a, 0x00, 0x23, 0x00, 0x47, 0x40, 0x23, 0x1e, 0x19, 0x06, 0x0b, + 0x19, 0x0b, 0x21, 0x0f, 0x09, 0x03, 0x1b, 0x15, 0x21, 0x03, 0x21, + 0x24, 0x25, 0x0c, 0x18, 0x18, 0x09, 0x1b, 0x1a, 0x1b, 0x5f, 0x59, + 0x0b, 0x1a, 0x12, 0x00, 0x12, 0x5f, 0x59, 0x00, 0x04, 0x00, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x32, 0x00, 0x11, 0x14, 0x02, 0x07, 0x36, 0x3b, 0x01, 0x15, 0x21, + 0x35, 0x36, 0x12, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, + 0x12, 0x17, 0x15, 0x21, 0x35, 0x33, 0x32, 0x17, 0x26, 0x02, 0x35, + 0x10, 0x00, 0x02, 0x67, 0xf5, 0x01, 0x1f, 0xae, 0xa3, 0x75, 0x2c, + 0xc8, 0xfe, 0x1d, 0x86, 0x82, 0xac, 0xa4, 0xa8, 0xaa, 0x83, 0x85, + 0xfe, 0x1d, 0xc8, 0x2c, 0x75, 0xa3, 0xae, 0x01, 0x1f, 0x05, 0x5a, + 0xfe, 0xbc, 0xfe, 0xed, 0xbd, 0xfe, 0xb7, 0x6c, 0x0b, 0x9c, 0xe0, + 0x62, 0x01, 0x08, 0xac, 0xe0, 0xe8, 0xec, 0xdc, 0xad, 0xfe, 0xf9, + 0x62, 0xe0, 0x9c, 0x0b, 0x6d, 0x01, 0x49, 0xbc, 0x01, 0x14, 0x01, + 0x43, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5f, 0xff, 0xde, 0x04, 0x83, + 0x04, 0x48, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x54, 0x40, 0x13, 0x0d, + 0x1f, 0x1f, 0x04, 0x14, 0x15, 0x15, 0x18, 0x0c, 0x04, 0x0c, 0x20, + 0x21, 0x14, 0x14, 0x0d, 0x11, 0x1f, 0x0d, 0xb8, 0x01, 0x18, 0xb6, + 0x59, 0x1f, 0x1f, 0x11, 0x08, 0x08, 0x1c, 0xb8, 0x01, 0x18, 0xb4, + 0x59, 0x08, 0x10, 0x00, 0x11, 0xb8, 0x01, 0x18, 0xb2, 0x59, 0x00, + 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, + 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x05, 0x22, 0x26, 0x02, 0x35, 0x34, 0x12, + 0x36, 0x33, 0x32, 0x16, 0x12, 0x15, 0x21, 0x11, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x17, 0x0e, 0x01, 0x13, 0x11, 0x2e, 0x01, 0x23, + 0x22, 0x07, 0x11, 0x02, 0x72, 0x9e, 0xf0, 0x85, 0x86, 0xf7, 0x96, + 0x98, 0xf3, 0x86, 0xfc, 0xc5, 0x32, 0xa3, 0x55, 0x84, 0xb9, 0x4e, + 0x48, 0x62, 0xdc, 0x95, 0x33, 0xa2, 0x57, 0xb3, 0x75, 0x22, 0x91, + 0x01, 0x07, 0x9d, 0xa6, 0x00, 0xff, 0x90, 0x8e, 0xfe, 0xfe, 0xa5, + 0xfe, 0x9c, 0x36, 0x46, 0x6c, 0x7e, 0x2a, 0x9b, 0x7a, 0x02, 0x8a, + 0x01, 0x15, 0x35, 0x41, 0x75, 0xfe, 0xea, 0x00, 0x00, 0x04, 0x00, + 0x06, 0xff, 0xff, 0x04, 0xc5, 0x05, 0x45, 0x00, 0x03, 0x00, 0x0b, + 0x00, 0x0e, 0x00, 0x35, 0x00, 0xad, 0x40, 0x62, 0x0d, 0x06, 0x07, + 0x07, 0x08, 0x01, 0x02, 0x0a, 0x09, 0x0e, 0x05, 0x0c, 0x04, 0x04, + 0x0b, 0x16, 0x15, 0x15, 0x2e, 0x23, 0x03, 0x00, 0x29, 0x28, 0x1b, + 0x0f, 0x0f, 0x28, 0x00, 0x23, 0x0b, 0x0c, 0x02, 0x08, 0x08, 0x36, + 0x37, 0x1b, 0x2e, 0x12, 0x26, 0x12, 0x19, 0xb6, 0x59, 0x16, 0x16, + 0x12, 0x12, 0x04, 0x08, 0x26, 0x2b, 0xb6, 0x59, 0x00, 0x29, 0x90, + 0x29, 0xa0, 0x29, 0xb0, 0x29, 0x04, 0x0f, 0x03, 0x29, 0x29, 0x26, + 0x05, 0x06, 0x0d, 0x06, 0xb6, 0x59, 0x0e, 0x0d, 0x60, 0x0d, 0x01, + 0x3f, 0x0d, 0x01, 0x08, 0x26, 0x0d, 0x0d, 0x26, 0x08, 0x03, 0x02, + 0x0c, 0x09, 0x03, 0x03, 0x03, 0x02, 0x12, 0x00, 0x3f, 0x3f, 0x3f, + 0x33, 0x12, 0x17, 0x39, 0x2f, 0x2f, 0x2f, 0x5d, 0x5d, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x39, + 0x39, 0x31, 0x30, 0x09, 0x01, 0x23, 0x09, 0x01, 0x27, 0x23, 0x07, + 0x23, 0x13, 0x33, 0x13, 0x01, 0x03, 0x33, 0x01, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x35, 0x34, 0x2e, + 0x01, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x07, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x01, 0x17, 0x1e, 0x02, + 0x04, 0x5c, 0xfc, 0xfd, 0x6d, 0x03, 0x02, 0xfd, 0xd0, 0x3b, 0xd3, + 0x3e, 0x6c, 0xe4, 0x60, 0xe1, 0xfe, 0xee, 0x4f, 0xa0, 0x03, 0x5b, + 0x7f, 0x75, 0x68, 0x7d, 0x14, 0x62, 0x0e, 0x43, 0x46, 0x89, 0x19, + 0x34, 0x58, 0x58, 0x48, 0x28, 0x76, 0x70, 0xca, 0x1d, 0x63, 0x12, + 0x72, 0x3c, 0x3f, 0x1b, 0x36, 0x48, 0x5c, 0x4c, 0x2c, 0x05, 0x45, + 0xfa, 0xbb, 0x05, 0x45, 0xfd, 0x16, 0xd9, 0xd9, 0x02, 0xea, 0xfd, + 0x16, 0x02, 0x59, 0xfe, 0xde, 0xfd, 0x44, 0x67, 0x70, 0x5d, 0x67, + 0x16, 0x3b, 0x40, 0x6f, 0x24, 0x2c, 0x20, 0x1b, 0x1d, 0x33, 0x47, + 0x34, 0x64, 0x6a, 0xb5, 0x0e, 0x65, 0x34, 0x2e, 0x1f, 0x2a, 0x1f, + 0x16, 0x1c, 0x35, 0x4f, 0x00, 0x01, 0x00, 0xc9, 0x00, 0x00, 0x03, + 0xc8, 0x04, 0x3a, 0x00, 0x09, 0x00, 0x36, 0x40, 0x1b, 0x07, 0x03, + 0x02, 0x09, 0x05, 0x05, 0x02, 0x03, 0x02, 0x0a, 0x0b, 0x08, 0x07, + 0x50, 0x59, 0x08, 0x08, 0x03, 0x00, 0x03, 0x04, 0x50, 0x59, 0x03, + 0x15, 0x00, 0x0f, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x31, 0x30, 0x01, 0x33, 0x11, 0x21, 0x35, + 0x21, 0x11, 0x21, 0x35, 0x21, 0x03, 0x14, 0xb4, 0xfd, 0x01, 0x02, + 0x4b, 0xfd, 0xdc, 0x02, 0x24, 0x04, 0x3a, 0xfb, 0xc6, 0x8b, 0x01, + 0x3f, 0x8a, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x11, 0xff, 0xef, + 0x04, 0x99, 0x05, 0x45, 0x10, 0x27, 0x09, 0x09, 0xfe, 0xec, 0x00, + 0x00, 0x10, 0x26, 0x07, 0xf0, 0xf0, 0x00, 0x10, 0x07, 0x09, 0x0b, + 0x01, 0xac, 0xfd, 0xb4, 0xff, 0xff, 0xff, 0xe6, 0xff, 0xef, 0x04, + 0x99, 0x05, 0x51, 0x10, 0x27, 0x09, 0x0a, 0xfe, 0xec, 0x00, 0x00, + 0x10, 0x26, 0x07, 0xf0, 0xf0, 0x00, 0x10, 0x07, 0x09, 0x0b, 0x01, + 0xac, 0xfd, 0xb4, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf4, 0x04, 0xc3, + 0x05, 0x45, 0x10, 0x27, 0x09, 0x09, 0xfe, 0xdc, 0x00, 0x00, 0x10, + 0x26, 0x07, 0xf0, 0xeb, 0x00, 0x11, 0x07, 0x09, 0x0f, 0x01, 0xbd, + 0xfd, 0xb4, 0x00, 0x24, 0x40, 0x14, 0x04, 0x03, 0x02, 0x2c, 0x18, + 0x04, 0x03, 0x02, 0x30, 0x2c, 0x01, 0x2f, 0x2c, 0x01, 0x2c, 0x01, + 0x60, 0x10, 0x01, 0x10, 0x11, 0x5d, 0x35, 0x11, 0x5d, 0x5d, 0x35, + 0x35, 0x35, 0x00, 0x3f, 0x35, 0x35, 0x35, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x09, 0xff, 0xf4, 0x04, 0xc3, 0x05, 0x51, 0x10, 0x27, 0x09, + 0x0b, 0xff, 0x1f, 0x00, 0x00, 0x10, 0x26, 0x07, 0xf0, 0xfc, 0x00, + 0x11, 0x07, 0x09, 0x0f, 0x01, 0xbd, 0xfd, 0xb4, 0x00, 0x24, 0x40, + 0x14, 0x04, 0x03, 0x02, 0x46, 0x18, 0x04, 0x03, 0x02, 0x30, 0x49, + 0x01, 0x2f, 0x49, 0x01, 0x49, 0x00, 0x40, 0x00, 0x01, 0x00, 0x11, + 0x5d, 0x35, 0x11, 0x5d, 0x5d, 0x35, 0x35, 0x35, 0x00, 0x3f, 0x35, + 0x35, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x25, 0xff, 0xf4, 0x04, + 0xc3, 0x05, 0x45, 0x10, 0x27, 0x09, 0x0d, 0xff, 0x21, 0x00, 0x00, + 0x10, 0x26, 0x07, 0xf0, 0x08, 0x00, 0x11, 0x07, 0x09, 0x0f, 0x01, + 0xbd, 0xfd, 0xb4, 0x00, 0x28, 0x40, 0x17, 0x04, 0x03, 0x02, 0x38, + 0x18, 0x04, 0x03, 0x02, 0x30, 0x3b, 0x01, 0x2f, 0x3b, 0x01, 0x3b, + 0x00, 0x40, 0x00, 0x01, 0x30, 0x00, 0x01, 0x00, 0x11, 0x5d, 0x5d, + 0x35, 0x11, 0x5d, 0x5d, 0x35, 0x35, 0x35, 0x00, 0x3f, 0x35, 0x35, + 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x39, 0xff, 0xf4, 0x04, 0xa3, + 0x05, 0x45, 0x10, 0x27, 0x09, 0x0e, 0xff, 0x3d, 0x00, 0x00, 0x10, + 0x26, 0x07, 0xf0, 0xb5, 0x00, 0x11, 0x07, 0x09, 0x0f, 0x01, 0x9d, + 0xfd, 0xb4, 0x00, 0x30, 0x40, 0x1c, 0x04, 0x03, 0x02, 0x29, 0x18, + 0x04, 0x03, 0x02, 0x2f, 0x2c, 0x01, 0x2c, 0x01, 0x5f, 0x0c, 0x01, + 0x0c, 0x00, 0x60, 0x00, 0x01, 0x50, 0x00, 0x01, 0x40, 0x00, 0x01, + 0x00, 0x11, 0x5d, 0x5d, 0x5d, 0x35, 0x11, 0x5d, 0x35, 0x11, 0x5d, + 0x35, 0x35, 0x35, 0x00, 0x3f, 0x35, 0x35, 0x35, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xad, 0xff, 0xec, 0x04, 0x20, 0x04, 0x4e, 0x00, 0x19, + 0x00, 0x68, 0x40, 0x22, 0x14, 0x13, 0x06, 0x07, 0x00, 0x0d, 0x0d, + 0x07, 0x13, 0x03, 0x1a, 0x1b, 0x10, 0x17, 0x50, 0x59, 0x70, 0x14, + 0x01, 0x00, 0x14, 0x10, 0x14, 0x60, 0x14, 0x70, 0x14, 0x80, 0x14, + 0xc0, 0x14, 0x06, 0x09, 0x14, 0xb8, 0xff, 0xc0, 0x40, 0x1e, 0x1b, + 0x1e, 0x48, 0x14, 0x14, 0x10, 0x16, 0x0f, 0x06, 0x6f, 0x06, 0x7f, + 0x06, 0x03, 0x0a, 0x03, 0x06, 0x40, 0x1b, 0x1e, 0x48, 0x06, 0x06, + 0x0a, 0x0a, 0x03, 0x50, 0x59, 0x0a, 0x10, 0x00, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x5f, 0x5e, 0x5d, 0x3f, 0x33, 0x2f, + 0x2b, 0x5e, 0x5d, 0x71, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x12, 0x11, 0x10, + 0x02, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x03, 0x64, 0x81, 0x8e, 0x69, 0x72, 0x0e, 0xb9, 0x1d, 0xd9, 0xa7, + 0xe0, 0xf0, 0xef, 0xe3, 0xab, 0xe1, 0x15, 0xb6, 0x0f, 0x81, 0x60, + 0x8a, 0x87, 0x02, 0x22, 0xe2, 0xbd, 0x6a, 0x5a, 0x0e, 0x97, 0xac, + 0xfe, 0xe1, 0xfe, 0xef, 0xfe, 0xed, 0xfe, 0xe1, 0xba, 0x9c, 0x0c, + 0x6c, 0x68, 0xd1, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x64, 0x04, + 0xc4, 0x02, 0x44, 0x00, 0x0d, 0x00, 0x2d, 0x40, 0x14, 0x0c, 0x0f, + 0x0b, 0x00, 0x05, 0x09, 0x02, 0x02, 0x05, 0x05, 0x0e, 0x03, 0x00, + 0x40, 0x0b, 0x00, 0xaf, 0x59, 0x08, 0x0b, 0x00, 0x2f, 0xcd, 0x2b, + 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x13, 0x16, 0x17, + 0x23, 0x26, 0x27, 0x35, 0x36, 0x37, 0x33, 0x06, 0x07, 0x21, 0x15, + 0xe7, 0x39, 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, 0x48, 0x3e, 0x39, + 0x03, 0xdd, 0x01, 0x29, 0x43, 0x82, 0x95, 0x49, 0x24, 0x49, 0x95, + 0x82, 0x43, 0x56, 0x00, 0x00, 0x00, 0x01, 0x01, 0x76, 0xff, 0xc3, + 0x03, 0x56, 0x04, 0x7f, 0x00, 0x0d, 0x00, 0x26, 0x40, 0x11, 0x09, + 0x0c, 0x0c, 0x02, 0x0d, 0x0d, 0x0e, 0x0f, 0x0c, 0x00, 0x0b, 0x09, + 0x6f, 0x02, 0x01, 0x02, 0x05, 0x00, 0x2f, 0xc4, 0x5d, 0x32, 0x39, + 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x06, 0x07, 0x35, 0x36, 0x37, 0x33, 0x16, 0x17, + 0x15, 0x26, 0x27, 0x11, 0x23, 0x02, 0x3b, 0x43, 0x82, 0x95, 0x49, + 0x24, 0x49, 0x95, 0x82, 0x43, 0x56, 0x03, 0xa0, 0x39, 0x3e, 0x48, + 0x7f, 0x8f, 0x8f, 0x7f, 0x48, 0x3e, 0x39, 0xfc, 0x23, 0x00, 0x01, + 0x00, 0x08, 0x00, 0x64, 0x04, 0xc4, 0x02, 0x44, 0x00, 0x0d, 0x00, + 0x29, 0x40, 0x12, 0x0b, 0x00, 0x02, 0x09, 0x06, 0x06, 0x0f, 0x0c, + 0x0e, 0x09, 0x0c, 0x40, 0x0d, 0x0c, 0xaf, 0x59, 0x02, 0x0d, 0x00, + 0x2f, 0xce, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xce, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x32, 0x39, 0x39, 0x31, 0x30, 0x01, 0x26, + 0x27, 0x33, 0x16, 0x17, 0x15, 0x06, 0x07, 0x23, 0x36, 0x37, 0x21, + 0x35, 0x03, 0xe5, 0x39, 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, 0x48, + 0x3e, 0x39, 0xfc, 0x23, 0x01, 0x7f, 0x43, 0x82, 0x95, 0x49, 0x24, + 0x49, 0x95, 0x82, 0x43, 0x56, 0x00, 0x00, 0x01, 0x01, 0x76, 0xff, + 0xc3, 0x03, 0x56, 0x04, 0x7f, 0x00, 0x0d, 0x00, 0x26, 0x40, 0x11, + 0x02, 0x00, 0x00, 0x09, 0x0b, 0x0b, 0x0e, 0x0f, 0x0c, 0x00, 0x0b, + 0x02, 0x60, 0x09, 0x01, 0x09, 0x06, 0x00, 0x2f, 0xc4, 0x5d, 0x32, + 0x39, 0x39, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x25, 0x36, 0x37, 0x15, 0x06, 0x07, 0x23, 0x26, + 0x27, 0x35, 0x16, 0x17, 0x11, 0x33, 0x02, 0x91, 0x43, 0x82, 0x95, + 0x49, 0x24, 0x49, 0x95, 0x82, 0x43, 0x56, 0xa2, 0x39, 0x3e, 0x48, + 0x7f, 0x8f, 0x8f, 0x7f, 0x48, 0x3e, 0x39, 0x03, 0xdd, 0x00, 0x00, + 0x01, 0x00, 0x08, 0x00, 0x64, 0x04, 0xc4, 0x02, 0x44, 0x00, 0x17, + 0x00, 0x3f, 0x40, 0x1d, 0x0c, 0x12, 0x0e, 0x15, 0x15, 0x12, 0x12, + 0x19, 0x0b, 0x00, 0x05, 0x09, 0x02, 0x02, 0x05, 0x05, 0x18, 0x0e, + 0x08, 0x0b, 0x15, 0x02, 0x00, 0x40, 0x0b, 0x00, 0xaf, 0x59, 0x0b, + 0x00, 0x2f, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x32, 0x10, 0xcd, + 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x31, 0x30, 0x13, + 0x16, 0x17, 0x23, 0x26, 0x27, 0x35, 0x36, 0x37, 0x33, 0x06, 0x07, + 0x21, 0x26, 0x27, 0x33, 0x16, 0x17, 0x15, 0x06, 0x07, 0x23, 0x36, + 0x37, 0xe7, 0x39, 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, 0x48, 0x3e, + 0x39, 0x02, 0xfe, 0x39, 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, 0x48, + 0x3e, 0x39, 0x01, 0x29, 0x43, 0x82, 0x95, 0x49, 0x24, 0x49, 0x95, + 0x82, 0x43, 0x43, 0x82, 0x95, 0x49, 0x24, 0x49, 0x95, 0x82, 0x43, + 0x00, 0x01, 0x01, 0x76, 0xff, 0xc3, 0x03, 0x56, 0x04, 0x7f, 0x00, + 0x17, 0x00, 0x3c, 0x40, 0x1d, 0x02, 0x14, 0x14, 0x17, 0x09, 0x0f, + 0x0f, 0x0c, 0x0c, 0x17, 0x17, 0x18, 0x19, 0x0c, 0x17, 0x0e, 0x60, + 0x15, 0x01, 0x15, 0x12, 0x0b, 0x00, 0x09, 0x6f, 0x02, 0x01, 0x02, + 0x05, 0x00, 0x2f, 0xcc, 0x5d, 0x32, 0x39, 0x39, 0x2f, 0xcc, 0x5d, + 0x32, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x06, 0x07, + 0x35, 0x36, 0x37, 0x33, 0x16, 0x17, 0x15, 0x26, 0x27, 0x11, 0x36, + 0x37, 0x15, 0x06, 0x07, 0x23, 0x26, 0x27, 0x35, 0x16, 0x17, 0x02, + 0x3b, 0x43, 0x82, 0x95, 0x49, 0x24, 0x49, 0x95, 0x82, 0x43, 0x43, + 0x82, 0x95, 0x49, 0x24, 0x49, 0x95, 0x82, 0x43, 0x03, 0xa0, 0x39, + 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, 0x48, 0x3e, 0x39, 0xfd, 0x02, + 0x39, 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, 0x48, 0x3e, 0x39, 0x00, + 0x00, 0x00, 0x02, 0x01, 0x76, 0xff, 0x48, 0x03, 0x56, 0x04, 0x7f, + 0x00, 0x03, 0x00, 0x1b, 0x00, 0x53, 0x40, 0x29, 0x06, 0x00, 0x19, + 0x19, 0x1b, 0x0d, 0x01, 0x12, 0x12, 0x10, 0x10, 0x1b, 0x1b, 0x1c, + 0x1d, 0x10, 0x1b, 0x12, 0x00, 0x19, 0x01, 0x0f, 0x03, 0x19, 0x16, + 0x40, 0x00, 0x03, 0xaf, 0x59, 0x00, 0x00, 0x16, 0x0f, 0x04, 0x0d, + 0x6f, 0x06, 0x01, 0x06, 0x09, 0x00, 0x2f, 0xcc, 0x5d, 0x32, 0x39, + 0x39, 0x2f, 0x33, 0x2f, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xcc, 0x5f, + 0x5e, 0x5d, 0x32, 0x39, 0x39, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x05, 0x21, 0x15, 0x21, 0x13, 0x06, 0x07, 0x35, 0x36, 0x37, + 0x33, 0x16, 0x17, 0x15, 0x26, 0x27, 0x11, 0x36, 0x37, 0x15, 0x06, + 0x07, 0x23, 0x26, 0x27, 0x35, 0x16, 0x17, 0x01, 0x76, 0x01, 0xe0, + 0xfe, 0x20, 0xc5, 0x43, 0x82, 0x95, 0x49, 0x24, 0x49, 0x95, 0x82, + 0x43, 0x43, 0x82, 0x95, 0x49, 0x24, 0x49, 0x95, 0x82, 0x43, 0x68, + 0x50, 0x04, 0x58, 0x39, 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, 0x48, + 0x3e, 0x39, 0xfd, 0x02, 0x39, 0x3e, 0x48, 0x7f, 0x8f, 0x8f, 0x7f, + 0x48, 0x3e, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0xe6, + 0x04, 0xc4, 0x02, 0xc6, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x13, + 0x07, 0x17, 0x05, 0x37, 0x27, 0x05, 0x16, 0x17, 0x23, 0x26, 0x27, + 0x35, 0x36, 0x37, 0x33, 0x06, 0x07, 0x21, 0x26, 0x27, 0x33, 0x16, + 0x17, 0x15, 0x06, 0x07, 0x23, 0x36, 0x37, 0xf2, 0x56, 0x68, 0x02, + 0xce, 0x66, 0x5e, 0xfd, 0x49, 0x1d, 0x1e, 0x48, 0x7f, 0x8f, 0x8f, + 0x7f, 0x48, 0x1e, 0x1d, 0x02, 0x90, 0x23, 0x22, 0x48, 0x7f, 0x8f, + 0x8f, 0x7f, 0x48, 0x22, 0x23, 0x02, 0x33, 0x5d, 0x61, 0x03, 0x65, + 0x59, 0xfd, 0x27, 0x26, 0x95, 0x49, 0x24, 0x49, 0x95, 0x2c, 0x2b, + 0x2b, 0x2c, 0x95, 0x49, 0x24, 0x49, 0x95, 0x26, 0x27, 0x00, 0x00, + 0x02, 0x00, 0x69, 0xff, 0xe5, 0x04, 0x63, 0x05, 0xc5, 0x00, 0x1e, + 0x00, 0x2c, 0x00, 0x62, 0x40, 0x37, 0x19, 0x00, 0x26, 0x08, 0x1f, + 0x10, 0x13, 0x13, 0x00, 0x08, 0x00, 0x2d, 0x2e, 0x1f, 0x10, 0x10, + 0x0d, 0x0d, 0x22, 0x51, 0x59, 0x0f, 0x0d, 0x1f, 0x0d, 0x2f, 0x0d, + 0x4f, 0x0d, 0x5f, 0x0d, 0x6f, 0x0d, 0x06, 0x10, 0x03, 0x0d, 0x0d, + 0x05, 0x1c, 0x19, 0x19, 0x1c, 0x1c, 0x16, 0x50, 0x59, 0x1c, 0x00, + 0x05, 0x29, 0x50, 0x59, 0x05, 0x16, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x11, 0x12, 0x39, 0x2f, + 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x31, 0x30, 0x01, 0x14, 0x0a, 0x01, 0x06, 0x23, 0x22, 0x26, + 0x35, 0x34, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x17, 0x33, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x37, 0x36, 0x33, 0x32, 0x12, + 0x03, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x02, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x12, 0x04, 0x63, 0x5c, 0xa9, 0xeb, 0x91, 0xb5, 0xc4, + 0x54, 0x8c, 0xc3, 0x75, 0x64, 0x9a, 0x25, 0x04, 0x05, 0x92, 0x91, + 0x3c, 0x8a, 0x34, 0x27, 0x7c, 0x7a, 0xd2, 0xe4, 0xd9, 0x15, 0x86, + 0x55, 0x65, 0xa4, 0x6a, 0x6f, 0x64, 0x5f, 0xa5, 0x75, 0x03, 0xaa, + 0xb3, 0xfe, 0x82, 0xfe, 0xf5, 0x89, 0xc9, 0xb6, 0x76, 0xfb, 0xb3, + 0x64, 0x63, 0x54, 0x3f, 0x36, 0xc4, 0xd1, 0x27, 0x24, 0x93, 0x3e, + 0xfe, 0xec, 0xfd, 0xf7, 0x59, 0x72, 0x85, 0xfe, 0xf9, 0x81, 0x73, + 0x86, 0x95, 0x01, 0x07, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x00, 0x04, + 0xc0, 0x05, 0x81, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x49, 0x40, 0x25, + 0x03, 0x02, 0x06, 0x06, 0x04, 0x08, 0x01, 0x09, 0x04, 0x01, 0x04, + 0x0b, 0x0c, 0x1d, 0x06, 0x01, 0x0f, 0x06, 0x01, 0x0d, 0x04, 0x06, + 0x03, 0x02, 0x04, 0x04, 0x04, 0x08, 0x01, 0x01, 0x08, 0x00, 0x08, + 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x11, 0x33, 0x2f, 0x3f, 0x33, 0x33, 0x5f, 0x5e, 0x5d, 0x5d, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x33, 0x35, 0x01, 0x33, 0x01, 0x15, + 0x01, 0x03, 0x01, 0x21, 0x01, 0x0c, 0x01, 0xdd, 0xf4, 0x01, 0xe3, + 0xfd, 0xa4, 0x62, 0xfe, 0xca, 0x03, 0x34, 0xfe, 0xc6, 0x91, 0x04, + 0xf0, 0xfb, 0x12, 0x93, 0x04, 0xfa, 0xfe, 0xeb, 0xfc, 0xb7, 0x03, + 0x49, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x69, 0xfe, 0x39, 0x04, + 0x62, 0x05, 0x45, 0x00, 0x07, 0x00, 0x22, 0x40, 0x10, 0x03, 0x04, + 0x00, 0x07, 0x04, 0x07, 0x08, 0x09, 0x05, 0x02, 0x5f, 0x59, 0x05, + 0x03, 0x04, 0x00, 0x00, 0x2f, 0x32, 0x3f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x21, + 0x11, 0x23, 0x11, 0x21, 0x11, 0x03, 0xaa, 0xfd, 0x7e, 0xbf, 0x03, + 0xf9, 0xfe, 0x39, 0x06, 0x6a, 0xf9, 0x96, 0x07, 0x0c, 0xf8, 0xf4, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1b, 0xfe, 0x39, 0x04, 0xb1, + 0x05, 0x45, 0x00, 0x0b, 0x00, 0x4a, 0x40, 0x24, 0x07, 0x03, 0x03, + 0x01, 0x08, 0x02, 0x02, 0x0a, 0x03, 0x09, 0x01, 0x06, 0x0a, 0x01, + 0x0a, 0x0c, 0x0d, 0x03, 0x07, 0x04, 0x07, 0x5f, 0x59, 0x08, 0x02, + 0x02, 0x09, 0x04, 0x03, 0x01, 0x09, 0x00, 0x09, 0x5f, 0x59, 0x00, + 0x00, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x12, 0x39, 0x2f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x35, 0x09, 0x01, 0x35, 0x21, 0x15, 0x21, + 0x09, 0x01, 0x21, 0x15, 0x1b, 0x02, 0x7b, 0xfd, 0x95, 0x04, 0x42, + 0xfc, 0xb2, 0x02, 0x48, 0xfd, 0xa8, 0x03, 0xa2, 0xfe, 0x39, 0x6d, + 0x03, 0x22, 0x03, 0x13, 0x6a, 0x98, 0xfd, 0x1d, 0xfd, 0x07, 0x98, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x75, 0x02, 0x60, 0x04, 0x58, + 0x02, 0xf2, 0x00, 0x03, 0x00, 0x16, 0x40, 0x0a, 0x00, 0x03, 0x04, + 0x05, 0x01, 0x00, 0xad, 0x59, 0x01, 0xb3, 0x00, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x31, 0x30, 0x13, 0x35, 0x21, 0x15, 0x75, + 0x03, 0xe3, 0x02, 0x60, 0x92, 0x92, 0x00, 0xff, 0xff, 0x00, 0xcc, + 0x00, 0x00, 0x03, 0xfe, 0x05, 0x45, 0x10, 0x06, 0x07, 0xf0, 0x00, + 0x00, 0x00, 0x01, 0x01, 0xf0, 0x01, 0xa4, 0x02, 0xdb, 0x02, 0xcf, + 0x00, 0x03, 0x00, 0x25, 0x40, 0x16, 0x03, 0x00, 0x00, 0x04, 0x05, + 0x00, 0x01, 0x9b, 0x5b, 0x0f, 0x00, 0x1f, 0x00, 0x3f, 0x00, 0x03, + 0x00, 0x40, 0x0e, 0x11, 0x48, 0x00, 0x00, 0x2f, 0x2b, 0x5d, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x33, + 0x11, 0x01, 0xf0, 0xeb, 0x01, 0xa4, 0x01, 0x2b, 0xfe, 0xd5, 0x00, + 0x01, 0x00, 0x4e, 0xff, 0xf2, 0x04, 0x7d, 0x06, 0x54, 0x00, 0x08, + 0x00, 0x30, 0x40, 0x17, 0x01, 0x00, 0x06, 0x06, 0x08, 0x05, 0x02, + 0x07, 0x08, 0x02, 0x08, 0x09, 0x0a, 0x05, 0x02, 0xaf, 0x59, 0x05, + 0x05, 0x07, 0x19, 0x06, 0x00, 0x00, 0x2f, 0x32, 0x3f, 0x39, 0x2f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x05, 0x23, 0x01, 0x23, 0x35, + 0x21, 0x13, 0x01, 0x33, 0x02, 0x89, 0x6a, 0xfe, 0xe5, 0xb6, 0x01, + 0x0e, 0xf2, 0x01, 0xae, 0x81, 0x0e, 0x03, 0x18, 0x75, 0xfd, 0x4e, + 0x05, 0x87, 0x00, 0x00, 0x03, 0x00, 0x1d, 0x00, 0xcb, 0x04, 0xab, + 0x03, 0xd7, 0x00, 0x14, 0x00, 0x20, 0x00, 0x2b, 0x00, 0x5a, 0x40, + 0x35, 0x27, 0x18, 0x10, 0x05, 0x21, 0x04, 0x0b, 0x1e, 0x00, 0x0b, + 0x00, 0x2c, 0x2d, 0x15, 0x24, 0x0e, 0x24, 0xad, 0x59, 0x18, 0x21, + 0x05, 0x21, 0x10, 0x03, 0x08, 0x12, 0x0e, 0x1b, 0x2a, 0x08, 0x2a, + 0xad, 0x59, 0x03, 0x3f, 0x08, 0x5f, 0x08, 0xff, 0x08, 0x03, 0x08, + 0x40, 0x1b, 0x2c, 0x48, 0x08, 0x40, 0x12, 0x16, 0x48, 0x08, 0x00, + 0x2f, 0x2b, 0x2b, 0x5d, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, + 0x33, 0x12, 0x17, 0x39, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x17, 0x39, 0x32, 0x31, + 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x03, 0x0e, 0x01, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x13, 0x12, 0x33, 0x32, 0x16, + 0x25, 0x22, 0x06, 0x07, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, + 0x26, 0x05, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, + 0x32, 0x04, 0xab, 0xa0, 0x7a, 0xb9, 0x77, 0x38, 0x9e, 0x52, 0x7e, + 0x9e, 0xa1, 0x7b, 0xb7, 0x73, 0x82, 0xae, 0x7f, 0x99, 0xfe, 0xce, + 0x3d, 0x67, 0x30, 0x2d, 0x66, 0x42, 0x48, 0x5e, 0x5e, 0xfe, 0x60, + 0x2c, 0x67, 0x43, 0x47, 0x5c, 0x5c, 0x49, 0x75, 0x02, 0x4e, 0xa6, + 0xdd, 0x01, 0x1a, 0x7e, 0x96, 0xd4, 0xaf, 0xab, 0xd8, 0xfe, 0xe5, + 0x01, 0x15, 0xd5, 0x52, 0x7e, 0x82, 0x80, 0x80, 0x8f, 0x73, 0x6b, + 0x93, 0xfa, 0x80, 0x80, 0x92, 0x70, 0x73, 0x8b, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x34, 0x00, 0x00, 0x04, 0x98, 0x04, 0xc7, 0x00, + 0x05, 0x00, 0x1b, 0x40, 0x0c, 0x02, 0x05, 0x05, 0x03, 0x06, 0x07, + 0x05, 0x02, 0xaf, 0x59, 0x05, 0x00, 0x00, 0x2f, 0x2f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, 0x11, + 0x21, 0x15, 0x21, 0x34, 0x5e, 0x04, 0x06, 0xfb, 0x9c, 0x04, 0xc7, + 0xfb, 0x97, 0x5e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9c, 0xff, 0xfe, + 0x04, 0x30, 0x04, 0x08, 0x00, 0x13, 0x00, 0x21, 0x40, 0x0f, 0x13, + 0x00, 0x0b, 0x0a, 0x00, 0x0a, 0x14, 0x15, 0x05, 0x0f, 0xaf, 0x59, + 0x05, 0x0b, 0x00, 0x00, 0x2f, 0x32, 0x2f, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x17, 0x11, 0x34, + 0x3e, 0x01, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x11, 0x23, 0x11, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x9c, 0x74, 0xd1, 0x82, 0x83, + 0xd3, 0x77, 0x67, 0xc4, 0xa0, 0xa2, 0xc0, 0x02, 0x02, 0x00, 0x96, + 0xef, 0x85, 0x84, 0xf2, 0x94, 0xfe, 0x00, 0x02, 0x02, 0xbe, 0xe4, + 0xe2, 0xc2, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xeb, 0xfe, + 0x39, 0x03, 0xe1, 0x05, 0xe3, 0x00, 0x16, 0x00, 0x26, 0x40, 0x12, + 0x14, 0x04, 0x04, 0x09, 0x0e, 0x0e, 0x17, 0x18, 0x12, 0x00, 0xad, + 0x59, 0x12, 0x07, 0x0c, 0xad, 0x59, 0x07, 0x00, 0x2f, 0x2b, 0x00, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x06, 0x23, + 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x36, 0x33, + 0x32, 0x17, 0x15, 0x26, 0x03, 0x6e, 0x53, 0x59, 0xae, 0xa3, 0x4f, + 0x37, 0x3c, 0x39, 0xaa, 0xae, 0xa6, 0x57, 0x2c, 0x31, 0x05, 0x58, + 0x77, 0x72, 0xfb, 0x2d, 0xac, 0xb7, 0x13, 0x93, 0x18, 0xe9, 0x04, + 0xd1, 0xac, 0xb6, 0x12, 0x94, 0x1b, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x6c, 0x01, 0x50, 0x04, 0x60, 0x03, 0xf4, 0x00, 0x17, 0x00, 0x2d, + 0x00, 0x7c, 0x40, 0x4c, 0x26, 0x08, 0x1b, 0x15, 0x08, 0x15, 0x2e, + 0x2f, 0x29, 0x23, 0xad, 0x59, 0x1a, 0x29, 0x40, 0x17, 0x1c, 0x48, + 0x29, 0x40, 0x09, 0x0c, 0x48, 0x29, 0x1e, 0x40, 0x26, 0x1e, 0x1e, + 0x18, 0xad, 0x59, 0x5f, 0x1e, 0x01, 0x1e, 0x40, 0x12, 0x15, 0x48, + 0x00, 0x1e, 0x10, 0x1e, 0x02, 0x0a, 0x03, 0x1e, 0x14, 0x0b, 0x0b, + 0x05, 0xad, 0x59, 0x0b, 0x40, 0x17, 0x1c, 0x48, 0x0b, 0x40, 0x09, + 0x0c, 0x48, 0x0b, 0x00, 0x40, 0x00, 0x12, 0xad, 0x59, 0x08, 0x3f, + 0x00, 0x01, 0x00, 0x00, 0x2f, 0x5d, 0x32, 0x2b, 0x00, 0x1a, 0x18, + 0x10, 0xcd, 0x2b, 0x2b, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x2b, 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x1a, 0x18, 0x10, + 0xcd, 0x2b, 0x2b, 0x32, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x27, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x35, 0x36, 0x33, 0x32, 0x16, 0x1f, 0x01, 0x1e, + 0x01, 0x33, 0x32, 0x37, 0x15, 0x0e, 0x01, 0x03, 0x32, 0x37, 0x15, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, + 0x35, 0x36, 0x33, 0x32, 0x17, 0x1e, 0x01, 0x03, 0x5c, 0x45, 0x91, + 0x49, 0x85, 0x54, 0x3f, 0x72, 0x47, 0x72, 0x95, 0x4d, 0x93, 0x46, + 0x0f, 0x59, 0x4e, 0x1d, 0x82, 0x72, 0x3c, 0x73, 0x45, 0x82, 0x72, + 0x3c, 0x75, 0x53, 0x45, 0x91, 0x49, 0x85, 0x54, 0x43, 0x74, 0x41, + 0x6f, 0x98, 0x66, 0x85, 0x93, 0x57, 0x02, 0xf6, 0x2b, 0x1a, 0x2d, + 0x25, 0x33, 0x90, 0x54, 0x2c, 0x19, 0x05, 0x1e, 0x0f, 0x5e, 0x95, + 0x2a, 0x26, 0xfe, 0xe3, 0x5c, 0x93, 0x2d, 0x25, 0x2c, 0x1a, 0x2f, + 0x29, 0x2f, 0x8d, 0x54, 0x2e, 0x33, 0x14, 0x00, 0x00, 0x01, 0x00, + 0x74, 0x00, 0x37, 0x04, 0x57, 0x05, 0x10, 0x00, 0x13, 0x00, 0x89, + 0x40, 0x57, 0x0d, 0x10, 0x11, 0x00, 0x04, 0x01, 0x0c, 0x0a, 0x07, + 0x06, 0x03, 0x04, 0x0b, 0x01, 0x02, 0x0b, 0x0c, 0x02, 0x0c, 0x0e, + 0x08, 0x04, 0x13, 0x0e, 0x04, 0x0e, 0x14, 0x15, 0x10, 0x08, 0x09, + 0x08, 0xad, 0x59, 0x0d, 0x0b, 0x30, 0x09, 0x50, 0x09, 0x60, 0x09, + 0x70, 0x09, 0x04, 0x50, 0x09, 0x70, 0x09, 0x80, 0x09, 0xb0, 0x09, + 0xd0, 0x09, 0x05, 0x0f, 0x09, 0x01, 0x09, 0x03, 0x09, 0x11, 0x05, + 0x04, 0x05, 0xad, 0x59, 0x02, 0x00, 0x1f, 0x04, 0x7f, 0x04, 0x9f, + 0x04, 0xaf, 0x04, 0xbf, 0x04, 0x05, 0x04, 0x40, 0x12, 0x16, 0x48, + 0x04, 0x00, 0x2f, 0x2b, 0x71, 0x33, 0xc6, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x5d, 0x71, 0xc6, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, + 0x12, 0x17, 0x39, 0x31, 0x30, 0x01, 0x03, 0x23, 0x13, 0x23, 0x35, + 0x21, 0x13, 0x21, 0x35, 0x21, 0x13, 0x33, 0x03, 0x21, 0x15, 0x21, + 0x03, 0x21, 0x15, 0x01, 0xf3, 0x98, 0x91, 0x97, 0xed, 0x01, 0x37, + 0xbe, 0xfe, 0x0b, 0x02, 0x3d, 0x9a, 0x8f, 0x98, 0x01, 0x15, 0xfe, + 0xa2, 0xbf, 0x02, 0x1d, 0x01, 0x58, 0xfe, 0xdf, 0x01, 0x21, 0x94, + 0x01, 0x6c, 0x94, 0x01, 0x24, 0xfe, 0xdc, 0x94, 0xfe, 0x94, 0x94, + 0x00, 0x03, 0x00, 0x74, 0x00, 0xf4, 0x04, 0x57, 0x04, 0x50, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x4f, 0x40, 0x2f, 0x08, 0x04, + 0x00, 0x0b, 0x07, 0x03, 0x00, 0x03, 0x0c, 0x0d, 0x09, 0x08, 0xad, + 0x59, 0x09, 0x09, 0x05, 0x01, 0x04, 0x05, 0xad, 0x59, 0x04, 0x01, + 0x00, 0xad, 0x59, 0x6f, 0x01, 0x9f, 0x01, 0xaf, 0x01, 0xcf, 0x01, + 0xef, 0x01, 0x05, 0x50, 0x01, 0x01, 0x0f, 0x01, 0x1f, 0x01, 0x02, + 0x01, 0x00, 0x2f, 0x5d, 0x5d, 0x5d, 0x2b, 0x00, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x35, + 0x21, 0x15, 0x01, 0x35, 0x21, 0x15, 0x01, 0x35, 0x21, 0x15, 0x74, + 0x03, 0xe3, 0xfc, 0x1d, 0x03, 0xe3, 0xfc, 0x1d, 0x03, 0xe3, 0x03, + 0xbc, 0x94, 0x94, 0xfd, 0x38, 0x94, 0x94, 0x01, 0x64, 0x94, 0x94, + 0x00, 0x01, 0x00, 0x74, 0xff, 0xdd, 0x04, 0x57, 0x05, 0x79, 0x00, + 0x1b, 0x00, 0x00, 0x13, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x13, + 0x33, 0x03, 0x33, 0x15, 0x21, 0x07, 0x21, 0x15, 0x21, 0x07, 0x21, + 0x15, 0x21, 0x03, 0x23, 0x13, 0x21, 0x35, 0x21, 0x37, 0x74, 0x01, + 0xe4, 0x5c, 0xfd, 0xc0, 0x02, 0x81, 0x84, 0x90, 0x83, 0xd1, 0xfe, + 0xed, 0x5c, 0x01, 0x6f, 0xfe, 0x50, 0x5c, 0x02, 0x0c, 0xfd, 0xb3, + 0x7b, 0x91, 0x7b, 0xfe, 0xfb, 0x01, 0x46, 0x5c, 0x02, 0x58, 0x94, + 0xd0, 0x94, 0x01, 0x29, 0xfe, 0xd7, 0x94, 0xd0, 0x94, 0xd0, 0x94, + 0xfe, 0xe9, 0x01, 0x17, 0x94, 0xd0, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x73, 0x00, 0x00, 0x04, 0x58, 0x04, 0xcf, 0x00, 0x06, 0x00, 0x0a, + 0x00, 0x4f, 0x40, 0x2e, 0x07, 0x04, 0x00, 0x0a, 0x02, 0x06, 0x00, + 0x06, 0x0b, 0x0c, 0x07, 0x08, 0xad, 0x59, 0x07, 0x01, 0x00, 0x04, + 0x04, 0x02, 0x05, 0xd0, 0x06, 0x01, 0x2f, 0x06, 0x3f, 0x06, 0x02, + 0x06, 0x03, 0x70, 0x02, 0x80, 0x02, 0xb0, 0x02, 0x03, 0x0f, 0x02, + 0x4f, 0x02, 0x5f, 0x02, 0x03, 0x02, 0x00, 0x2f, 0x5d, 0x5d, 0x33, + 0x2f, 0x5d, 0x5d, 0x33, 0x12, 0x39, 0x3d, 0x2f, 0x33, 0x33, 0x18, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x13, 0x35, 0x01, 0x15, 0x09, 0x01, 0x15, + 0x05, 0x35, 0x21, 0x15, 0x75, 0x03, 0xe3, 0xfc, 0xa6, 0x03, 0x5a, + 0xfc, 0x1b, 0x03, 0xe3, 0x02, 0x77, 0xcd, 0x01, 0x8b, 0x9a, 0xfe, + 0xa8, 0xfe, 0xa8, 0x99, 0xec, 0x91, 0x91, 0x00, 0x00, 0x02, 0x00, + 0x74, 0x00, 0x00, 0x04, 0x57, 0x04, 0xcf, 0x00, 0x06, 0x00, 0x0a, + 0x00, 0x4d, 0x40, 0x2d, 0x07, 0x04, 0x00, 0x0a, 0x02, 0x06, 0x00, + 0x06, 0x0b, 0x0c, 0x07, 0x08, 0xad, 0x59, 0x07, 0x06, 0x05, 0x02, + 0x02, 0x03, 0x70, 0x04, 0x80, 0x04, 0xb0, 0x04, 0x03, 0x0f, 0x04, + 0x4f, 0x04, 0x5f, 0x04, 0x03, 0x04, 0x01, 0xd0, 0x00, 0x01, 0x2f, + 0x00, 0x3f, 0x00, 0x02, 0x00, 0x00, 0x2f, 0x5d, 0x5d, 0x32, 0x2f, + 0x5d, 0x5d, 0x33, 0x39, 0x3d, 0x2f, 0x33, 0x33, 0x18, 0x2f, 0x2b, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x37, 0x35, 0x09, 0x01, 0x35, 0x01, 0x15, 0x01, 0x35, + 0x21, 0x15, 0x74, 0x03, 0x5a, 0xfc, 0xa6, 0x03, 0xe3, 0xfc, 0x1d, + 0x03, 0xe3, 0xec, 0x99, 0x01, 0x58, 0x01, 0x58, 0x9a, 0xfe, 0x75, + 0xcd, 0xfd, 0x89, 0x91, 0x91, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x8a, 0x00, 0x00, 0x04, 0x42, 0x04, 0x3b, 0x00, 0x04, 0x00, 0x09, + 0x00, 0x26, 0x40, 0x12, 0x05, 0x00, 0x06, 0x04, 0x00, 0x04, 0x0a, + 0x0b, 0x02, 0x08, 0xaf, 0x59, 0x02, 0x00, 0x05, 0xaf, 0x59, 0x00, + 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x09, 0x01, + 0x11, 0x25, 0x21, 0x11, 0x09, 0x01, 0x8a, 0x01, 0xdc, 0x01, 0xdc, + 0xfc, 0x9b, 0x03, 0x12, 0xfe, 0x77, 0xfe, 0x77, 0x02, 0x7b, 0x01, + 0xc0, 0xfe, 0x40, 0xfd, 0x85, 0x55, 0x02, 0x00, 0x01, 0x72, 0xfe, + 0x8e, 0x00, 0x01, 0x00, 0x73, 0x00, 0xb4, 0x04, 0x57, 0x02, 0xf2, + 0x00, 0x05, 0x00, 0x27, 0x40, 0x16, 0x01, 0x02, 0x02, 0x04, 0x06, + 0x07, 0x03, 0x00, 0xad, 0x59, 0x0f, 0x03, 0x3f, 0x03, 0xef, 0x03, + 0x03, 0x03, 0x3f, 0x01, 0x01, 0x01, 0x00, 0x2f, 0x5d, 0x2f, 0x5d, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x11, 0x23, 0x13, 0x21, 0x15, 0x01, 0x06, 0x93, 0x01, 0x03, 0xe3, + 0x02, 0x60, 0xfe, 0x54, 0x02, 0x3e, 0x92, 0x00, 0x01, 0x02, 0x1e, + 0xfd, 0x99, 0x04, 0x02, 0x06, 0xa9, 0x00, 0x13, 0x00, 0x1a, 0x40, + 0x0a, 0x08, 0x00, 0x01, 0x01, 0x14, 0x15, 0x10, 0x0b, 0x05, 0x00, + 0x00, 0x2f, 0x2f, 0xcd, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x31, 0x30, 0x01, 0x23, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x15, + 0x02, 0xaf, 0x91, 0xa4, 0x95, 0x46, 0x65, 0x32, 0x23, 0x27, 0x2b, + 0x1d, 0x1b, 0x16, 0x33, 0x2b, 0xfd, 0x99, 0x07, 0x1e, 0xe9, 0x01, + 0x09, 0x49, 0x38, 0x27, 0x31, 0x24, 0x2b, 0x24, 0x97, 0xa7, 0x00, + 0x00, 0x01, 0x00, 0xcb, 0xfd, 0x99, 0x02, 0xaf, 0x06, 0xa9, 0x00, + 0x13, 0x00, 0x1a, 0x40, 0x0a, 0x08, 0x02, 0x13, 0x13, 0x14, 0x15, + 0x10, 0x0b, 0x05, 0x00, 0x00, 0x2f, 0x2f, 0xcd, 0xcd, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x14, + 0x02, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x02, + 0x33, 0x32, 0x36, 0x35, 0x02, 0x1e, 0x91, 0xa6, 0x93, 0x46, 0x65, + 0x32, 0x23, 0x27, 0x2b, 0x1d, 0x1b, 0x16, 0x33, 0x2b, 0x06, 0xa9, + 0xf8, 0xe2, 0xed, 0xfe, 0xfb, 0x49, 0x38, 0x27, 0x31, 0x24, 0x2b, + 0x24, 0x97, 0xa7, 0x00, 0x00, 0x01, 0xff, 0xf6, 0x02, 0x2b, 0x04, + 0xd7, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x18, 0xb5, 0x02, 0x05, 0x01, + 0x04, 0x01, 0x00, 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfc, 0x00, + 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, + 0x21, 0x15, 0x0a, 0x04, 0xe1, 0x02, 0x2b, 0x91, 0x91, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x1e, 0xfd, 0x99, 0x02, 0xaf, 0x06, 0xa9, + 0x00, 0x03, 0x00, 0x16, 0x40, 0x09, 0x02, 0x03, 0x03, 0x04, 0x05, + 0x02, 0xfe, 0x00, 0xfa, 0x00, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x23, 0x02, 0x1e, 0x91, + 0x91, 0x06, 0xa9, 0xf6, 0xf0, 0x00, 0x01, 0x02, 0x1e, 0xfd, 0x99, + 0x04, 0xd7, 0x02, 0xbc, 0x00, 0x05, 0x00, 0x22, 0x40, 0x0a, 0x04, + 0x05, 0x05, 0x06, 0x01, 0x07, 0x04, 0xfe, 0x00, 0x03, 0xb8, 0x01, + 0x00, 0xb2, 0x59, 0x00, 0xfc, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x11, 0x01, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, + 0x15, 0x21, 0x11, 0x23, 0x02, 0x1e, 0x02, 0xb9, 0xfd, 0xd8, 0x91, + 0x02, 0xbc, 0x91, 0xfb, 0x6e, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf6, + 0xfd, 0x99, 0x02, 0xaf, 0x02, 0xbc, 0x00, 0x05, 0x00, 0x22, 0x40, + 0x0a, 0x03, 0x04, 0x04, 0x07, 0x00, 0x06, 0x03, 0xfe, 0x01, 0x00, + 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x11, 0x01, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x03, 0x35, 0x21, 0x11, 0x23, 0x11, 0x0a, 0x02, 0xb9, 0x91, 0x02, + 0x2b, 0x91, 0xfa, 0xdd, 0x04, 0x92, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x1e, 0x02, 0x2b, 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x05, 0x00, + 0x1f, 0xb7, 0x02, 0x05, 0x05, 0x06, 0x03, 0x07, 0x02, 0x05, 0xb8, + 0x01, 0x00, 0xb4, 0x59, 0x02, 0xfc, 0x00, 0xfa, 0x00, 0x3f, 0x3f, + 0x2b, 0x11, 0x01, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x33, 0x11, 0x21, 0x15, 0x21, 0x02, 0x1e, 0x91, 0x02, 0x28, 0xfd, + 0x47, 0x06, 0xa9, 0xfc, 0x13, 0x91, 0x00, 0x00, 0x01, 0xff, 0xf6, + 0x02, 0x2b, 0x02, 0xaf, 0x06, 0xa9, 0x00, 0x05, 0x00, 0x22, 0x40, + 0x0a, 0x05, 0x02, 0x02, 0x07, 0x00, 0x06, 0x03, 0xfa, 0x02, 0x05, + 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x02, 0xfc, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x11, 0x01, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x03, 0x35, 0x21, 0x11, 0x33, 0x11, 0x0a, 0x02, 0x28, 0x91, 0x02, + 0x2b, 0x91, 0x03, 0xed, 0xfb, 0x82, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x1e, 0xfd, 0x99, 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x07, 0x00, + 0x29, 0x40, 0x0c, 0x02, 0x06, 0x06, 0x07, 0x07, 0x08, 0x03, 0x09, + 0x06, 0xfe, 0x02, 0x05, 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x02, 0xfc, + 0x00, 0xfa, 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x01, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, + 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x02, 0x1e, 0x91, 0x02, 0x28, + 0xfd, 0xd8, 0x91, 0x06, 0xa9, 0xfc, 0x13, 0x91, 0xfb, 0x6e, 0x00, + 0x00, 0x00, 0x01, 0xff, 0xf6, 0xfd, 0x99, 0x02, 0xaf, 0x06, 0xa9, + 0x00, 0x07, 0x00, 0x27, 0x40, 0x0d, 0x05, 0x02, 0x06, 0x06, 0x09, + 0x00, 0x08, 0x05, 0xfe, 0x03, 0xfa, 0x01, 0x00, 0xb8, 0x01, 0x00, + 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, + 0x11, 0x01, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, + 0x35, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x0a, 0x02, 0x28, 0x91, + 0x91, 0x02, 0x2b, 0x91, 0x03, 0xed, 0xf6, 0xf0, 0x04, 0x92, 0x00, + 0x00, 0x01, 0xff, 0xf6, 0xfd, 0x99, 0x04, 0xd7, 0x02, 0xbc, 0x00, + 0x07, 0x00, 0x2a, 0x40, 0x0e, 0x05, 0x06, 0x06, 0x08, 0x02, 0x09, + 0x01, 0x08, 0x05, 0xfe, 0x04, 0x00, 0x01, 0x00, 0xb8, 0x01, 0x00, + 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x03, 0x35, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x0a, 0x04, + 0xe1, 0xfd, 0xd8, 0x91, 0x02, 0x2b, 0x91, 0x91, 0xfb, 0x6e, 0x04, + 0x92, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf6, 0x02, 0x2b, 0x04, 0xd7, + 0x06, 0xa9, 0x00, 0x07, 0x00, 0x2a, 0x40, 0x0e, 0x05, 0x02, 0x02, + 0x08, 0x06, 0x09, 0x01, 0x08, 0x03, 0xfa, 0x05, 0x01, 0x01, 0x00, + 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, + 0x15, 0x0a, 0x02, 0x28, 0x91, 0x02, 0x28, 0x02, 0x2b, 0x91, 0x03, + 0xed, 0xfc, 0x13, 0x91, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf6, 0xfd, + 0x99, 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x0b, 0x00, 0x35, 0x40, 0x13, + 0x05, 0x09, 0x09, 0x02, 0x0a, 0x0a, 0x0c, 0x06, 0x0d, 0x01, 0x0c, + 0x09, 0xfe, 0x03, 0xfa, 0x08, 0x00, 0x01, 0x00, 0xb8, 0x01, 0x00, + 0xb3, 0x59, 0x05, 0x01, 0xfc, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x11, + 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x0a, 0x02, 0x28, + 0x91, 0x02, 0x28, 0xfd, 0xd8, 0x91, 0x02, 0x2b, 0x91, 0x03, 0xed, + 0xfc, 0x13, 0x91, 0xfb, 0x6e, 0x04, 0x92, 0x00, 0x02, 0xff, 0xf6, + 0x01, 0x77, 0x04, 0xd7, 0x03, 0x70, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x2e, 0x40, 0x0a, 0x07, 0x02, 0x02, 0x09, 0x04, 0x01, 0x01, 0x08, + 0x05, 0x04, 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x05, 0xfd, 0x01, 0x00, + 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfb, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x15, 0x01, 0x35, 0x21, 0x15, + 0x0a, 0x04, 0xe1, 0xfb, 0x1f, 0x04, 0xe1, 0x02, 0xdf, 0x91, 0x91, + 0xfe, 0x98, 0x91, 0x91, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x6a, + 0xfd, 0x99, 0x03, 0x63, 0x06, 0xa9, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x20, 0x40, 0x0e, 0x02, 0x03, 0x07, 0x06, 0x03, 0x06, 0x08, 0x09, + 0x07, 0x02, 0xfe, 0x04, 0x00, 0xfa, 0x00, 0x3f, 0x32, 0x3f, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x33, 0x11, 0x23, 0x01, 0x33, 0x11, 0x23, 0x01, 0x6a, 0x91, + 0x91, 0x01, 0x68, 0x91, 0x91, 0x06, 0xa9, 0xf6, 0xf0, 0x09, 0x10, + 0xf6, 0xf0, 0x00, 0x01, 0x02, 0x1e, 0xfd, 0x99, 0x04, 0xd7, 0x03, + 0x70, 0x00, 0x09, 0x00, 0x39, 0x40, 0x0f, 0x04, 0x08, 0x08, 0x09, + 0x09, 0x0a, 0x0b, 0x06, 0x01, 0x01, 0x0b, 0x08, 0xfe, 0x04, 0x07, + 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x04, 0xfd, 0x00, 0x03, 0xb8, 0x01, + 0x00, 0xb2, 0x59, 0x00, 0xfb, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x02, 0x1e, 0x02, 0xb9, 0xfd, + 0xd8, 0x02, 0x28, 0xfd, 0xd8, 0x91, 0x03, 0x70, 0x91, 0xd7, 0x91, + 0xfc, 0x22, 0x00, 0x00, 0x01, 0x01, 0x6a, 0xfd, 0x99, 0x04, 0xd7, + 0x02, 0xbc, 0x00, 0x09, 0x00, 0x2d, 0x40, 0x0d, 0x07, 0x08, 0x04, + 0x03, 0x08, 0x03, 0x0a, 0x00, 0x0b, 0x02, 0x06, 0x09, 0x06, 0xb8, + 0x01, 0x00, 0xb5, 0x59, 0x09, 0xfc, 0x08, 0x03, 0xfe, 0x00, 0x3f, + 0x33, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x15, 0x21, 0x11, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x04, 0xd7, 0xfe, 0x8c, 0x91, + 0xd7, 0x91, 0x02, 0xbc, 0x91, 0xfb, 0x6e, 0x04, 0x92, 0xfb, 0x6e, + 0x05, 0x23, 0x00, 0x00, 0x02, 0x01, 0x6a, 0xfd, 0x99, 0x04, 0xd7, + 0x03, 0x70, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x3b, 0x40, 0x0e, 0x04, + 0x05, 0x0b, 0x0a, 0x05, 0x0a, 0x0c, 0x0d, 0x08, 0x01, 0x01, 0x0d, + 0x06, 0x09, 0xb8, 0x01, 0x00, 0xb7, 0x59, 0x06, 0xfd, 0x0b, 0x04, + 0xfe, 0x00, 0x03, 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x00, 0xfb, 0x00, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x21, 0x15, 0x21, 0x11, 0x23, 0x01, 0x21, 0x15, 0x21, + 0x11, 0x23, 0x01, 0x6a, 0x03, 0x6d, 0xfd, 0x24, 0x91, 0x01, 0x68, + 0x02, 0x05, 0xfe, 0x8c, 0x91, 0x03, 0x70, 0x91, 0xfa, 0xba, 0x04, + 0x6f, 0x91, 0xfc, 0x22, 0x00, 0x00, 0x01, 0xff, 0xf6, 0xfd, 0x99, + 0x02, 0xaf, 0x03, 0x70, 0x00, 0x09, 0x00, 0x37, 0x40, 0x0e, 0x07, + 0x02, 0x08, 0x08, 0x0a, 0x0b, 0x04, 0x00, 0x00, 0x0a, 0x07, 0xfe, + 0x05, 0x04, 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x05, 0xfb, 0x01, 0x00, + 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfd, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, + 0x35, 0x21, 0x35, 0x21, 0x11, 0x23, 0x11, 0x0a, 0x02, 0x28, 0xfd, + 0xd8, 0x02, 0xb9, 0x91, 0x01, 0x77, 0x91, 0xd7, 0x91, 0xfa, 0x29, + 0x03, 0xde, 0x00, 0x01, 0xff, 0xf6, 0xfd, 0x99, 0x03, 0x63, 0x02, + 0xbc, 0x00, 0x09, 0x00, 0x2e, 0x40, 0x10, 0x07, 0x08, 0x04, 0x03, + 0x08, 0x03, 0x0b, 0x00, 0x0a, 0x08, 0x03, 0xfe, 0x06, 0x00, 0x01, + 0x00, 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x11, 0x01, 0x33, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x11, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x0a, 0x03, 0x6d, 0x91, 0xd7, + 0x91, 0x02, 0x2b, 0x91, 0xfa, 0xdd, 0x04, 0x92, 0xfb, 0x6e, 0x04, + 0x92, 0x00, 0x00, 0x02, 0xff, 0xf6, 0xfd, 0x99, 0x03, 0x63, 0x03, + 0x70, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x3b, 0x40, 0x0e, 0x06, 0x07, + 0x02, 0x01, 0x07, 0x01, 0x0c, 0x0d, 0x09, 0x04, 0x04, 0x0c, 0x0a, + 0x09, 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x0a, 0xfd, 0x05, 0x04, 0xb8, + 0x01, 0x00, 0xb5, 0x59, 0x05, 0xfb, 0x07, 0x01, 0xfe, 0x00, 0x3f, + 0x33, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x11, 0x23, 0x11, 0x21, 0x35, 0x01, 0x23, 0x11, 0x21, 0x35, + 0x21, 0x03, 0x63, 0x91, 0xfd, 0x24, 0x02, 0x05, 0x91, 0xfe, 0x8c, + 0x02, 0x05, 0x03, 0x70, 0xfa, 0x29, 0x05, 0x46, 0x91, 0xfa, 0x29, + 0x03, 0xde, 0x91, 0x00, 0x00, 0x01, 0x02, 0x1e, 0x01, 0x77, 0x04, + 0xd7, 0x06, 0xa9, 0x00, 0x09, 0x00, 0x37, 0x40, 0x0d, 0x02, 0x06, + 0x06, 0x09, 0x09, 0x0a, 0x0b, 0x08, 0x03, 0x03, 0x0b, 0x06, 0x09, + 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x06, 0xfd, 0x02, 0x05, 0xb8, 0x01, + 0x00, 0xb4, 0x59, 0x02, 0xfb, 0x00, 0xfa, 0x00, 0x3f, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x21, + 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x02, 0x1e, 0x91, 0x02, 0x28, + 0xfd, 0xd8, 0x02, 0x28, 0xfd, 0x47, 0x06, 0xa9, 0xfc, 0xc7, 0x91, + 0xd7, 0x91, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x6a, 0x02, 0x2b, + 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x09, 0x00, 0x2a, 0x40, 0x0b, 0x08, + 0x05, 0x09, 0x02, 0x05, 0x02, 0x0a, 0x03, 0x0b, 0x08, 0x05, 0xb8, + 0x01, 0x00, 0xb6, 0x59, 0x02, 0x08, 0xfc, 0x06, 0x00, 0xfa, 0x00, + 0x3f, 0x32, 0x3f, 0x33, 0x2b, 0x11, 0x01, 0x33, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x21, 0x15, + 0x21, 0x11, 0x33, 0x11, 0x33, 0x02, 0xd2, 0x91, 0x01, 0x74, 0xfc, + 0x93, 0x91, 0xd7, 0x06, 0xa9, 0xfc, 0x13, 0x91, 0x04, 0x7e, 0xfc, + 0x13, 0x00, 0x02, 0x01, 0x6a, 0x01, 0x77, 0x04, 0xd7, 0x06, 0xa9, + 0x00, 0x05, 0x00, 0x0b, 0x00, 0x3b, 0x40, 0x0e, 0x02, 0x05, 0x0b, + 0x08, 0x05, 0x08, 0x0c, 0x0d, 0x0a, 0x03, 0x03, 0x0d, 0x08, 0x0b, + 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x08, 0xfb, 0x02, 0x05, 0xb8, 0x01, + 0x00, 0xb5, 0x59, 0x02, 0xfd, 0x06, 0x00, 0xfa, 0x00, 0x3f, 0x32, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x33, 0x11, 0x21, 0x15, 0x21, 0x01, 0x33, 0x11, 0x21, 0x15, 0x21, + 0x01, 0x6a, 0x91, 0x02, 0xdc, 0xfc, 0x93, 0x01, 0x68, 0x91, 0x01, + 0x74, 0xfd, 0xfb, 0x06, 0xa9, 0xfb, 0x5f, 0x91, 0x05, 0x32, 0xfc, + 0xc7, 0x91, 0x00, 0x00, 0x01, 0xff, 0xf6, 0x01, 0x77, 0x02, 0xaf, + 0x06, 0xa9, 0x00, 0x09, 0x00, 0x37, 0x40, 0x0e, 0x09, 0x06, 0x02, + 0x02, 0x0b, 0x0a, 0x04, 0x00, 0x00, 0x0a, 0x07, 0xfa, 0x05, 0x04, + 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x05, 0xfb, 0x01, 0x00, 0xb8, 0x01, + 0x00, 0xb2, 0x59, 0x01, 0xfd, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x35, 0x21, + 0x35, 0x21, 0x11, 0x33, 0x11, 0x0a, 0x02, 0x28, 0xfd, 0xd8, 0x02, + 0x28, 0x91, 0x01, 0x77, 0x91, 0xd7, 0x91, 0x03, 0x39, 0xfa, 0xce, + 0x00, 0x01, 0xff, 0xf6, 0x02, 0x2b, 0x03, 0x63, 0x06, 0xa9, 0x00, + 0x09, 0x00, 0x2e, 0x40, 0x10, 0x06, 0x03, 0x07, 0x00, 0x03, 0x00, + 0x0b, 0x01, 0x0a, 0x08, 0x04, 0xfa, 0x06, 0x02, 0x02, 0x01, 0xb8, + 0x01, 0x00, 0xb2, 0x59, 0x02, 0xfc, 0x00, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x33, 0x11, 0x01, 0x33, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x03, 0x63, 0xfc, 0x93, 0x01, 0x74, 0x91, + 0xd7, 0x91, 0x02, 0x2b, 0x91, 0x03, 0xed, 0xfc, 0x13, 0x03, 0xed, + 0x00, 0x02, 0xff, 0xf6, 0x01, 0x77, 0x03, 0x63, 0x06, 0xa9, 0x00, + 0x05, 0x00, 0x0b, 0x00, 0x3b, 0x40, 0x0e, 0x08, 0x0b, 0x03, 0x00, + 0x0b, 0x00, 0x0c, 0x0d, 0x09, 0x01, 0x01, 0x0c, 0x0a, 0x09, 0xb8, + 0x01, 0x00, 0xb7, 0x59, 0x0a, 0xfb, 0x06, 0x04, 0xfa, 0x02, 0x01, + 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x02, 0xfd, 0x00, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, + 0x35, 0x21, 0x11, 0x33, 0x21, 0x33, 0x11, 0x21, 0x35, 0x21, 0x03, + 0x63, 0xfc, 0x93, 0x02, 0xdc, 0x91, 0xfe, 0x07, 0x91, 0xfd, 0xfb, + 0x01, 0x74, 0x01, 0x77, 0x91, 0x04, 0xa1, 0xfc, 0x36, 0x91, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x1e, 0xfd, 0x99, 0x04, 0xd7, 0x06, + 0xa9, 0x00, 0x0b, 0x00, 0x3e, 0x40, 0x10, 0x06, 0x02, 0x0a, 0x0a, + 0x0b, 0x0b, 0x0c, 0x0d, 0x08, 0x03, 0x03, 0x0d, 0x0a, 0xfe, 0x06, + 0x09, 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x06, 0xfd, 0x02, 0x05, 0xb8, + 0x01, 0x00, 0xb4, 0x59, 0x02, 0xfb, 0x00, 0xfa, 0x00, 0x3f, 0x3f, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x01, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x11, 0x23, 0x02, 0x1e, 0x91, 0x02, 0x28, 0xfd, 0xd8, 0x02, 0x28, + 0xfd, 0xd8, 0x91, 0x06, 0xa9, 0xfc, 0xc7, 0x91, 0xd7, 0x91, 0xfc, + 0x22, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x6a, 0xfd, 0x99, 0x04, + 0xd7, 0x06, 0xa9, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x31, 0x40, 0x0f, + 0x0a, 0x0b, 0x07, 0x02, 0x06, 0x0b, 0x06, 0x0c, 0x03, 0x0d, 0x0b, + 0x06, 0xfe, 0x02, 0x05, 0xb8, 0x01, 0x00, 0xb5, 0x59, 0x02, 0xfc, + 0x08, 0x00, 0xfa, 0x00, 0x3f, 0x32, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x33, 0x11, 0x01, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, + 0x01, 0x33, 0x11, 0x23, 0x02, 0xd2, 0x91, 0x01, 0x74, 0xfe, 0x8c, + 0x91, 0xfe, 0x98, 0x91, 0x91, 0x06, 0xa9, 0xfc, 0x13, 0x91, 0xfb, + 0x6e, 0x09, 0x10, 0xf6, 0xf0, 0x00, 0x03, 0x01, 0x6a, 0xfd, 0x99, + 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x03, 0x00, 0x09, 0x00, 0x0f, 0x00, + 0x47, 0x40, 0x11, 0x0e, 0x05, 0x05, 0x11, 0x00, 0x01, 0x0f, 0x09, + 0x09, 0x0c, 0x08, 0x01, 0x08, 0x10, 0x11, 0x0c, 0x0f, 0xb8, 0x01, + 0x00, 0xb4, 0x59, 0x0c, 0xfb, 0x04, 0x07, 0xb8, 0x01, 0x00, 0x40, + 0x09, 0x59, 0x04, 0xfd, 0x0a, 0x02, 0xfa, 0x09, 0x00, 0xfe, 0x00, + 0x3f, 0x32, 0x3f, 0x33, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x11, 0x33, 0x13, + 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, + 0x01, 0xfb, 0x91, 0x91, 0xd7, 0x02, 0x05, 0xfe, 0x8c, 0x91, 0x91, + 0x01, 0x74, 0xfd, 0xfb, 0xfd, 0x99, 0x09, 0x10, 0xfb, 0x5f, 0x91, + 0xfc, 0x22, 0x09, 0x10, 0xfc, 0xc7, 0x91, 0x00, 0x00, 0x00, 0x01, + 0xff, 0xf6, 0xfd, 0x99, 0x02, 0xaf, 0x06, 0xa9, 0x00, 0x0b, 0x00, + 0x3c, 0x40, 0x11, 0x09, 0x06, 0x02, 0x0a, 0x0a, 0x0c, 0x0d, 0x04, + 0x00, 0x00, 0x0c, 0x09, 0xfe, 0x07, 0xfa, 0x05, 0x04, 0xb8, 0x01, + 0x00, 0xb4, 0x59, 0x05, 0xfb, 0x01, 0x00, 0xb8, 0x01, 0x00, 0xb2, + 0x59, 0x01, 0xfd, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x33, 0x33, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x35, 0x21, + 0x35, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x0a, 0x02, 0x28, 0xfd, + 0xd8, 0x02, 0x28, 0x91, 0x91, 0x01, 0x77, 0x91, 0xd7, 0x91, 0x03, + 0x39, 0xf6, 0xf0, 0x03, 0xde, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf6, + 0xfd, 0x99, 0x03, 0x63, 0x06, 0xa9, 0x00, 0x07, 0x00, 0x0b, 0x00, + 0x31, 0x40, 0x12, 0x05, 0x02, 0x06, 0x0b, 0x0a, 0x06, 0x0a, 0x0d, + 0x00, 0x0c, 0x0b, 0x05, 0xfe, 0x08, 0x03, 0xfa, 0x01, 0x00, 0xb8, + 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x3f, 0x33, 0x11, 0x01, 0x33, 0x12, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x11, 0x33, + 0x11, 0x23, 0x11, 0x01, 0x33, 0x11, 0x23, 0x0a, 0x01, 0x74, 0x91, + 0x91, 0x01, 0x68, 0x91, 0x91, 0x02, 0x2b, 0x91, 0x03, 0xed, 0xf6, + 0xf0, 0x04, 0x92, 0x04, 0x7e, 0xf6, 0xf0, 0x00, 0x00, 0x03, 0xff, + 0xf6, 0xfd, 0x99, 0x03, 0x63, 0x06, 0xa9, 0x00, 0x03, 0x00, 0x09, + 0x00, 0x0f, 0x00, 0x47, 0x40, 0x11, 0x06, 0x0a, 0x0a, 0x09, 0x0b, + 0x03, 0x02, 0x0b, 0x02, 0x10, 0x11, 0x0d, 0x07, 0x07, 0x10, 0x0e, + 0x0d, 0xb8, 0x01, 0x00, 0xb4, 0x59, 0x0e, 0xfd, 0x08, 0x07, 0xb8, + 0x01, 0x00, 0x40, 0x09, 0x59, 0x08, 0xfb, 0x0b, 0x02, 0xfe, 0x04, + 0x00, 0xfa, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, + 0x11, 0x23, 0x01, 0x33, 0x11, 0x21, 0x35, 0x21, 0x13, 0x23, 0x11, + 0x21, 0x35, 0x21, 0x02, 0xd2, 0x91, 0x91, 0xfe, 0x98, 0x91, 0xfd, + 0xfb, 0x01, 0x74, 0x91, 0x91, 0xfe, 0x8c, 0x02, 0x05, 0x06, 0xa9, + 0xf6, 0xf0, 0x09, 0x10, 0xfc, 0x36, 0x91, 0xfa, 0x29, 0x03, 0xde, + 0x91, 0x00, 0x02, 0xff, 0xf6, 0xfd, 0x99, 0x04, 0xd7, 0x03, 0x70, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x40, 0x40, 0x0f, 0x05, 0x06, 0x06, + 0x0d, 0x0c, 0x03, 0x0b, 0x0b, 0x0d, 0x08, 0x00, 0x00, 0x0c, 0x09, + 0x08, 0xb8, 0x01, 0x00, 0x40, 0x09, 0x59, 0x09, 0xfb, 0x05, 0xfe, + 0x04, 0x00, 0x01, 0x00, 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfd, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x15, 0x21, 0x11, 0x23, + 0x11, 0x01, 0x35, 0x21, 0x15, 0x0a, 0x04, 0xe1, 0xfd, 0xd8, 0x91, + 0xfd, 0xd8, 0x04, 0xe1, 0x01, 0x77, 0x91, 0x91, 0xfc, 0x22, 0x03, + 0xde, 0x01, 0x68, 0x91, 0x91, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf6, + 0xfd, 0x99, 0x04, 0xd7, 0x02, 0xbc, 0x00, 0x0b, 0x00, 0x34, 0x40, + 0x13, 0x09, 0x0a, 0x06, 0x05, 0x0a, 0x05, 0x0c, 0x03, 0x0d, 0x00, + 0x0c, 0x0a, 0x05, 0xfe, 0x08, 0x04, 0x00, 0x01, 0x00, 0xb8, 0x01, + 0x00, 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x18, 0x3f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x15, + 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x0a, 0x04, 0xe1, + 0xfe, 0x8c, 0x91, 0xd7, 0x91, 0x02, 0x2b, 0x91, 0x91, 0xfb, 0x6e, + 0x04, 0x92, 0xfb, 0x6e, 0x04, 0x92, 0x00, 0x00, 0x00, 0x03, 0xff, + 0xf6, 0xfd, 0x99, 0x04, 0xd7, 0x03, 0x70, 0x00, 0x05, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x49, 0x40, 0x12, 0x00, 0x01, 0x0b, 0x0a, 0x01, + 0x0a, 0x11, 0x10, 0x0d, 0x08, 0x08, 0x11, 0x0e, 0x03, 0x03, 0x10, + 0x0f, 0x0e, 0xb8, 0x01, 0x00, 0xb6, 0x59, 0x0f, 0xfb, 0x09, 0x03, + 0x04, 0x03, 0xb8, 0x01, 0x00, 0xb6, 0x59, 0x06, 0x04, 0xfd, 0x0b, + 0x00, 0xfe, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x23, 0x11, 0x21, 0x35, 0x21, 0x33, 0x21, 0x15, 0x21, 0x11, + 0x23, 0x01, 0x15, 0x21, 0x35, 0x01, 0xfb, 0x91, 0xfe, 0x8c, 0x02, + 0x05, 0xd7, 0x02, 0x05, 0xfe, 0x8c, 0x91, 0x02, 0x05, 0xfb, 0x1f, + 0xfd, 0x99, 0x03, 0xde, 0x91, 0x91, 0xfc, 0x22, 0x05, 0xd7, 0x91, + 0x91, 0x00, 0x02, 0xff, 0xf6, 0x01, 0x77, 0x04, 0xd7, 0x06, 0xa9, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x40, 0x40, 0x0f, 0x05, 0x02, 0x02, + 0x0d, 0x0c, 0x0b, 0x07, 0x07, 0x0d, 0x08, 0x00, 0x00, 0x0c, 0x09, + 0x08, 0xb8, 0x01, 0x00, 0x40, 0x09, 0x59, 0x09, 0xfd, 0x03, 0xfa, + 0x05, 0x01, 0x01, 0x00, 0xb8, 0x01, 0x00, 0xb2, 0x59, 0x01, 0xfb, + 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, + 0x15, 0x01, 0x35, 0x21, 0x15, 0x0a, 0x02, 0x28, 0x91, 0x02, 0x28, + 0xfb, 0x1f, 0x04, 0xe1, 0x02, 0xdf, 0x91, 0x03, 0x39, 0xfc, 0xc7, + 0x91, 0xfe, 0x98, 0x91, 0x91, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf6, + 0x02, 0x2b, 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x0b, 0x00, 0x34, 0x40, + 0x13, 0x05, 0x02, 0x06, 0x09, 0x02, 0x09, 0x0c, 0x0b, 0x0d, 0x00, + 0x0c, 0x07, 0x03, 0xfa, 0x09, 0x05, 0x01, 0x01, 0x00, 0xb8, 0x01, + 0x00, 0xb2, 0x59, 0x01, 0xfc, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x18, 0x3f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x0a, 0x01, 0x74, + 0x91, 0xd7, 0x91, 0x01, 0x74, 0x02, 0x2b, 0x91, 0x03, 0xed, 0xfc, + 0x13, 0x03, 0xed, 0xfc, 0x13, 0x91, 0x00, 0x00, 0x00, 0x03, 0xff, + 0xf6, 0x01, 0x77, 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x05, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x49, 0x40, 0x12, 0x08, 0x0b, 0x05, 0x02, 0x0b, + 0x02, 0x11, 0x10, 0x0f, 0x04, 0x04, 0x11, 0x0c, 0x09, 0x09, 0x10, + 0x0d, 0x0c, 0xb8, 0x01, 0x00, 0xb6, 0x59, 0x0d, 0xfd, 0x05, 0x09, + 0x0a, 0x09, 0xb8, 0x01, 0x00, 0xb6, 0x59, 0x02, 0x0a, 0xfb, 0x06, + 0x00, 0xfa, 0x00, 0x3f, 0x32, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x3f, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x33, 0x11, 0x21, 0x15, 0x21, 0x01, 0x33, 0x11, 0x21, 0x35, + 0x21, 0x01, 0x35, 0x21, 0x15, 0x02, 0xd2, 0x91, 0x01, 0x74, 0xfd, + 0xfb, 0xfe, 0x98, 0x91, 0xfd, 0xfb, 0x01, 0x74, 0xfe, 0x8c, 0x04, + 0xe1, 0x06, 0xa9, 0xfc, 0xc7, 0x91, 0x03, 0xca, 0xfc, 0x36, 0x91, + 0xfe, 0x07, 0x91, 0x91, 0x00, 0x00, 0x01, 0xff, 0xf6, 0xfd, 0x99, + 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x13, 0x00, 0x56, 0x40, 0x1a, 0x0d, + 0x09, 0x11, 0x11, 0x06, 0x02, 0x12, 0x12, 0x15, 0x14, 0x0f, 0x0a, + 0x0a, 0x15, 0x00, 0x05, 0x05, 0x14, 0x11, 0xfe, 0x07, 0xfa, 0x0c, + 0x04, 0x05, 0x04, 0xb8, 0x01, 0x00, 0xb7, 0x59, 0x09, 0x05, 0xfb, + 0x10, 0x00, 0x01, 0x00, 0xb8, 0x01, 0x00, 0xb3, 0x59, 0x0d, 0x01, + 0xfd, 0x00, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x35, 0x21, 0x35, 0x21, + 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, + 0x21, 0x11, 0x23, 0x11, 0x0a, 0x02, 0x28, 0xfd, 0xd8, 0x02, 0x28, + 0x91, 0x02, 0x28, 0xfd, 0xd8, 0x02, 0x28, 0xfd, 0xd8, 0x91, 0x01, + 0x77, 0x91, 0xd7, 0x91, 0x03, 0x39, 0xfc, 0xc7, 0x91, 0xd7, 0x91, + 0xfc, 0x22, 0x03, 0xde, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf6, + 0xfd, 0x99, 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x13, 0x00, 0x49, 0x40, + 0x16, 0x12, 0x0a, 0x0a, 0x0f, 0x0b, 0x13, 0x07, 0x07, 0x02, 0x06, + 0x0b, 0x06, 0x14, 0x04, 0x15, 0x0d, 0x14, 0x09, 0x05, 0x0d, 0x0e, + 0x0d, 0xb8, 0x01, 0x00, 0x40, 0x0b, 0x59, 0x12, 0x02, 0x0e, 0xfc, + 0x0b, 0x06, 0xfe, 0x10, 0x00, 0xfa, 0x00, 0x3f, 0x32, 0x3f, 0x33, + 0x3f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x21, 0x15, + 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, + 0x11, 0x33, 0x11, 0x33, 0x02, 0xd2, 0x91, 0x01, 0x74, 0xfe, 0x8c, + 0x91, 0xd7, 0x91, 0xfe, 0x8c, 0x01, 0x74, 0x91, 0xd7, 0x06, 0xa9, + 0xfc, 0x13, 0x91, 0xfb, 0x6e, 0x04, 0x92, 0xfb, 0x6e, 0x04, 0x92, + 0x91, 0x03, 0xed, 0xfc, 0x13, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, + 0xf6, 0xfd, 0x99, 0x04, 0xd7, 0x06, 0xa9, 0x00, 0x05, 0x00, 0x0b, + 0x00, 0x11, 0x00, 0x17, 0x00, 0x62, 0x40, 0x1a, 0x14, 0x06, 0x06, + 0x17, 0x07, 0x05, 0x11, 0x11, 0x02, 0x10, 0x07, 0x10, 0x19, 0x18, + 0x03, 0x0e, 0x0e, 0x19, 0x15, 0x09, 0x09, 0x18, 0x05, 0x15, 0x16, + 0x15, 0xb8, 0x01, 0x00, 0xb7, 0x59, 0x02, 0x16, 0xfb, 0x0f, 0x09, + 0x0a, 0x09, 0xb8, 0x01, 0x00, 0x40, 0x0a, 0x59, 0x0c, 0x0a, 0xfd, + 0x11, 0x06, 0xfe, 0x12, 0x00, 0xfa, 0x00, 0x3f, 0x32, 0x3f, 0x33, + 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x33, 0x11, 0x21, 0x15, 0x21, + 0x03, 0x23, 0x11, 0x21, 0x35, 0x21, 0x33, 0x21, 0x15, 0x21, 0x11, + 0x23, 0x01, 0x33, 0x11, 0x21, 0x35, 0x21, 0x02, 0xd2, 0x91, 0x01, + 0x74, 0xfd, 0xfb, 0xd7, 0x91, 0xfe, 0x8c, 0x02, 0x05, 0xd7, 0x02, + 0x05, 0xfe, 0x8c, 0x91, 0xfe, 0x98, 0x91, 0xfd, 0xfb, 0x01, 0x74, + 0x06, 0xa9, 0xfc, 0xc7, 0x91, 0xfa, 0xba, 0x03, 0xde, 0x91, 0x91, + 0xfc, 0x22, 0x09, 0x10, 0xfc, 0x36, 0x91, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x02, 0x73, 0x04, 0xcd, 0x06, 0xa9, 0x00, 0x03, 0x00, + 0x12, 0xb6, 0x00, 0x05, 0x01, 0x04, 0x02, 0xfa, 0x00, 0x00, 0x2f, + 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, + 0x21, 0x04, 0xcd, 0xfb, 0x33, 0x04, 0xcd, 0x02, 0x73, 0x04, 0x36, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfd, 0x99, 0x04, 0xcd, 0x02, + 0x73, 0x00, 0x03, 0x00, 0x12, 0xb6, 0x00, 0x05, 0x01, 0x04, 0x02, + 0x00, 0xfe, 0x00, 0x3f, 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x21, 0x11, 0x21, 0x04, 0xcd, 0xfb, 0x33, 0x04, 0xcd, + 0xfd, 0x99, 0x04, 0xda, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfd, + 0x99, 0x04, 0xcd, 0x06, 0xa9, 0x00, 0x03, 0x00, 0x13, 0xb7, 0x00, + 0x05, 0x01, 0x04, 0x02, 0xfa, 0x00, 0xfe, 0x00, 0x3f, 0x3f, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x21, 0x04, + 0xcd, 0xfb, 0x33, 0x04, 0xcd, 0xfd, 0x99, 0x09, 0x10, 0x00, 0x00, + 0x01, 0x00, 0x00, 0xfd, 0x99, 0x02, 0x67, 0x06, 0xa9, 0x00, 0x03, + 0x00, 0x13, 0xb7, 0x00, 0x01, 0x01, 0x04, 0x02, 0xfa, 0x00, 0xfe, + 0x00, 0x3f, 0x3f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x21, 0x11, 0x21, 0x02, 0x67, 0xfd, 0x99, 0x02, 0x67, 0xfd, 0x99, + 0x09, 0x10, 0x00, 0x00, 0x01, 0x02, 0x66, 0xfd, 0x99, 0x04, 0xcd, + 0x06, 0xa9, 0x00, 0x03, 0x00, 0x11, 0xb6, 0x01, 0x00, 0x05, 0x02, + 0xfa, 0x00, 0xfe, 0x00, 0x3f, 0x3f, 0x11, 0x01, 0x33, 0x32, 0x31, + 0x30, 0x01, 0x21, 0x11, 0x21, 0x04, 0xcd, 0xfd, 0x99, 0x02, 0x67, + 0xfd, 0x99, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, + 0xfd, 0xfb, 0x04, 0x67, 0x06, 0xa9, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, + 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, 0x00, + 0x37, 0x00, 0x3b, 0x00, 0x3f, 0x00, 0x43, 0x00, 0x47, 0x00, 0x4b, + 0x00, 0x4f, 0x00, 0x53, 0x00, 0x57, 0x00, 0x5b, 0x00, 0x5f, 0x00, + 0x63, 0x00, 0x67, 0x00, 0x6b, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x77, + 0x00, 0x7b, 0x00, 0x7f, 0x00, 0x83, 0x00, 0x87, 0x00, 0x8b, 0x00, + 0x8f, 0x01, 0xca, 0x40, 0x6a, 0x0e, 0x26, 0x46, 0x56, 0x7a, 0x05, + 0x6e, 0x6e, 0x0f, 0x27, 0x47, 0x57, 0x7b, 0x05, 0x6f, 0x06, 0x1e, + 0x36, 0x4e, 0x8a, 0x05, 0x66, 0x66, 0x07, 0x1f, 0x37, 0x4f, 0x8b, + 0x05, 0x67, 0x12, 0x2a, 0x3e, 0x5a, 0x7e, 0x05, 0x72, 0x72, 0x13, + 0x2b, 0x3f, 0x5b, 0x7f, 0x05, 0x73, 0x0a, 0x22, 0x3a, 0x4a, 0x8e, + 0x05, 0x62, 0x62, 0x0b, 0x23, 0x3b, 0x4b, 0x8f, 0x05, 0x63, 0x63, + 0x73, 0x67, 0x6f, 0x04, 0x6b, 0x77, 0x02, 0x1a, 0x32, 0x52, 0x86, + 0x05, 0x6a, 0x6a, 0x03, 0x1b, 0x33, 0x53, 0x87, 0x05, 0x6b, 0x6b, + 0x90, 0x17, 0x2f, 0x43, 0x5f, 0x83, 0x05, 0x77, 0x16, 0x2e, 0x42, + 0x5e, 0x82, 0x05, 0x77, 0x76, 0x76, 0x91, 0x67, 0x63, 0x6b, 0x68, + 0x6b, 0xb8, 0x01, 0x04, 0x40, 0x09, 0x59, 0x64, 0x60, 0x68, 0x5f, + 0x5b, 0x57, 0x54, 0x57, 0xb8, 0x01, 0x04, 0x40, 0x09, 0x59, 0x5c, + 0x58, 0x54, 0x4f, 0x4b, 0x53, 0x50, 0x53, 0xb8, 0x01, 0x04, 0x40, + 0x09, 0x59, 0x4c, 0x48, 0x50, 0x43, 0x3f, 0x47, 0x44, 0x47, 0xb8, + 0x01, 0x04, 0x40, 0x09, 0x59, 0x40, 0x3c, 0x44, 0x3b, 0x37, 0x33, + 0x30, 0x33, 0xb8, 0x01, 0x04, 0x40, 0x09, 0x59, 0x38, 0x34, 0x30, + 0x2f, 0x2b, 0x27, 0x24, 0x27, 0xb8, 0x01, 0x04, 0x40, 0x09, 0x59, + 0x2c, 0x28, 0x24, 0x23, 0x1f, 0x1b, 0x18, 0x1b, 0xb8, 0x01, 0x04, + 0x40, 0x09, 0x59, 0x20, 0x1c, 0x18, 0x17, 0x13, 0x0f, 0x0c, 0x0f, + 0xb8, 0x01, 0x04, 0x40, 0x09, 0x59, 0x14, 0x10, 0x0c, 0x0b, 0x07, + 0x03, 0x00, 0x03, 0xb8, 0x01, 0x04, 0x40, 0x09, 0x59, 0x08, 0x04, + 0x00, 0x83, 0x7f, 0x7b, 0x78, 0x7b, 0xb8, 0x01, 0x04, 0x40, 0x1f, + 0x59, 0x80, 0x7c, 0x78, 0x68, 0x54, 0x50, 0x44, 0x30, 0x24, 0x18, + 0x0c, 0x00, 0x78, 0x78, 0x00, 0x0c, 0x18, 0x24, 0x30, 0x44, 0x50, + 0x54, 0x68, 0x0a, 0x84, 0x74, 0x70, 0x6c, 0x6f, 0x6c, 0xb8, 0x01, + 0x04, 0x40, 0x09, 0x59, 0x77, 0x73, 0x6f, 0x8f, 0x8b, 0x87, 0x84, + 0x87, 0xb8, 0x01, 0x04, 0xb4, 0x59, 0x8c, 0x88, 0x84, 0xfa, 0x00, + 0x3f, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x18, 0x2f, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x12, 0x17, 0x39, 0x18, 0x2f, + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x11, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x33, 0x11, 0x33, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x17, 0x33, 0x11, 0x17, 0x33, + 0x11, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x12, + 0x17, 0x39, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, + 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, + 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x31, 0x30, 0x11, + 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, + 0x05, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, + 0x23, 0x05, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, + 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, + 0x33, 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, + 0x25, 0x33, 0x15, 0x23, 0x07, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, + 0x23, 0x25, 0x33, 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x25, 0x33, + 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x17, 0x33, 0x15, 0x23, 0x25, + 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x07, 0x33, 0x15, 0x23, + 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x17, 0x33, 0x15, + 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x01, 0x33, + 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x01, + 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, + 0x67, 0x67, 0x01, 0x9a, 0x67, 0x67, 0x01, 0x9a, 0x67, 0x67, 0xfd, + 0x99, 0x66, 0x66, 0x01, 0x9a, 0x66, 0x66, 0x01, 0x9a, 0x66, 0x66, + 0xfb, 0xff, 0x67, 0x67, 0x01, 0x9a, 0x67, 0x67, 0x01, 0x9a, 0x67, + 0x67, 0xfd, 0x99, 0x66, 0x66, 0x01, 0x9a, 0x66, 0x66, 0x01, 0x9a, + 0x66, 0x66, 0xfb, 0xff, 0x67, 0x67, 0x01, 0x9a, 0x67, 0x67, 0x01, + 0x9a, 0x67, 0x67, 0xcd, 0x66, 0x66, 0x01, 0x9a, 0x66, 0x66, 0xfc, + 0xcc, 0x66, 0x66, 0x02, 0x67, 0x67, 0x67, 0xfe, 0x66, 0x67, 0x67, + 0xfe, 0x66, 0x67, 0x67, 0xcd, 0x66, 0x66, 0x01, 0x9a, 0x66, 0x66, + 0x01, 0x9a, 0x66, 0x66, 0xcd, 0x67, 0x67, 0xfe, 0x66, 0x67, 0x67, + 0xfe, 0x66, 0x67, 0x67, 0xcd, 0x66, 0x66, 0x01, 0x9a, 0x66, 0x66, + 0x01, 0x9a, 0x66, 0x66, 0xfc, 0xcc, 0x66, 0x66, 0x01, 0x9a, 0x66, + 0x66, 0x01, 0x9a, 0x66, 0x66, 0xfb, 0xff, 0x67, 0x67, 0x01, 0x9a, + 0x67, 0x67, 0x01, 0x9a, 0x67, 0x67, 0x05, 0x28, 0x62, 0x62, 0x62, + 0x62, 0x62, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x63, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x63, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x61, 0x61, 0x61, 0x61, 0x61, 0x62, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x62, 0x61, 0x61, 0x61, 0x61, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x07, 0xed, 0x62, 0x62, 0x62, 0x62, 0x62, 0x01, 0x23, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x48, 0x00, 0x00, 0xfd, 0xfb, + 0x04, 0xce, 0x06, 0xa9, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, + 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, + 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x37, 0x00, + 0x3b, 0x00, 0x3f, 0x00, 0x43, 0x00, 0x47, 0x00, 0x4b, 0x00, 0x4f, + 0x00, 0x53, 0x00, 0x57, 0x00, 0x5b, 0x00, 0x5f, 0x00, 0x63, 0x00, + 0x67, 0x00, 0x6b, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x77, 0x00, 0x7b, + 0x00, 0x7f, 0x00, 0x83, 0x00, 0x87, 0x00, 0x8b, 0x00, 0x8f, 0x00, + 0x93, 0x00, 0x97, 0x00, 0x9b, 0x00, 0x9f, 0x00, 0xa3, 0x00, 0xa7, + 0x00, 0xab, 0x00, 0xaf, 0x00, 0xb3, 0x00, 0xb7, 0x00, 0xbb, 0x00, + 0xbf, 0x00, 0xc3, 0x00, 0xc7, 0x00, 0xcb, 0x00, 0xcf, 0x00, 0xd3, + 0x00, 0xd7, 0x00, 0xdb, 0x00, 0xdf, 0x00, 0xe3, 0x00, 0xe7, 0x00, + 0xeb, 0x00, 0xef, 0x00, 0xf3, 0x00, 0xf7, 0x00, 0xfb, 0x00, 0xff, + 0x01, 0x03, 0x01, 0x07, 0x01, 0x0b, 0x01, 0x0f, 0x01, 0x13, 0x01, + 0x17, 0x01, 0x1b, 0x01, 0x1f, 0x03, 0x0b, 0xb3, 0x02, 0x32, 0x62, + 0xa6, 0xb8, 0x01, 0x0a, 0xb6, 0x05, 0xd6, 0xd6, 0x03, 0x33, 0x63, + 0xa7, 0xb8, 0x01, 0x0b, 0x40, 0x15, 0x05, 0xd7, 0x1e, 0x4e, 0x8e, + 0xae, 0xf6, 0x05, 0xde, 0xde, 0x1f, 0x4f, 0x8f, 0xaf, 0xf7, 0x05, + 0xdf, 0x06, 0x36, 0x66, 0xa2, 0xb8, 0x01, 0x0e, 0xb6, 0x05, 0xd2, + 0xd2, 0x07, 0x37, 0x67, 0xa3, 0xb8, 0x01, 0x0f, 0x40, 0x15, 0x05, + 0xd3, 0x22, 0x52, 0x7e, 0xb2, 0xfa, 0x05, 0xe2, 0xe2, 0x23, 0x53, + 0x7f, 0xb3, 0xfb, 0x05, 0xe3, 0x0a, 0x3a, 0x6a, 0x9e, 0xb8, 0x01, + 0x12, 0xb6, 0x05, 0xce, 0xce, 0x0b, 0x3b, 0x6b, 0x9f, 0xb8, 0x01, + 0x13, 0x40, 0x15, 0x05, 0xcf, 0x26, 0x56, 0x82, 0xb6, 0xfe, 0x05, + 0xe6, 0xe6, 0x27, 0x57, 0x83, 0xb7, 0xff, 0x05, 0xe7, 0x0e, 0x3e, + 0x6e, 0x9a, 0xb8, 0x01, 0x16, 0xb6, 0x05, 0xca, 0xca, 0x0f, 0x3f, + 0x6f, 0x9b, 0xb8, 0x01, 0x17, 0xb5, 0x05, 0xcb, 0x2a, 0x5a, 0x86, + 0xba, 0xb8, 0x01, 0x02, 0xb6, 0x05, 0xea, 0xea, 0x2b, 0x5b, 0x87, + 0xbb, 0xb8, 0x01, 0x03, 0xb5, 0x05, 0xeb, 0x12, 0x42, 0x72, 0x96, + 0xb8, 0x01, 0x1a, 0xb6, 0x05, 0xc6, 0xc6, 0x13, 0x43, 0x73, 0x97, + 0xb8, 0x01, 0x1b, 0xb5, 0x05, 0xc7, 0x2e, 0x5e, 0x8a, 0xbe, 0xb8, + 0x01, 0x06, 0xb6, 0x05, 0xee, 0xee, 0x2f, 0x5f, 0x8b, 0xbf, 0xb8, + 0x01, 0x07, 0x40, 0x1f, 0x05, 0xef, 0xef, 0xc7, 0xeb, 0xcb, 0xe7, + 0xcf, 0xe3, 0xd3, 0xdf, 0xd7, 0x0a, 0xdb, 0xc3, 0x1a, 0x4a, 0x7a, + 0xaa, 0xf2, 0x05, 0xda, 0xda, 0x1b, 0x4b, 0x7b, 0xab, 0xf3, 0x05, + 0xdb, 0xdb, 0xb8, 0x01, 0x20, 0xb3, 0x17, 0x47, 0x77, 0x93, 0xb8, + 0x01, 0x1f, 0xb5, 0x05, 0xc3, 0x16, 0x46, 0x76, 0x92, 0xb8, 0x01, + 0x1e, 0xb3, 0x05, 0xc3, 0xc2, 0xc2, 0xb8, 0x01, 0x21, 0x40, 0x09, + 0xc3, 0xc7, 0xcb, 0xcf, 0xd3, 0x05, 0xd7, 0xd4, 0xd7, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0xc0, 0xc4, 0xc8, 0xcc, 0xd0, 0x05, 0xd4, + 0xaf, 0xb3, 0xb7, 0xbb, 0xbf, 0x05, 0xab, 0xa8, 0xab, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0xac, 0xb0, 0xb4, 0xb8, 0xbc, 0x05, 0xa8, + 0x93, 0x97, 0x9b, 0x9f, 0xa3, 0x05, 0xa7, 0xa4, 0xa7, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0x90, 0x94, 0x98, 0x9c, 0xa0, 0x05, 0xa4, + 0x7f, 0x83, 0x87, 0x8b, 0x8f, 0x05, 0x7b, 0x78, 0x7b, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0x7c, 0x80, 0x84, 0x88, 0x8c, 0x05, 0x78, + 0x67, 0x6b, 0x6f, 0x73, 0x77, 0x05, 0x63, 0x60, 0x63, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0x64, 0x68, 0x6c, 0x70, 0x74, 0x05, 0x60, + 0x4f, 0x53, 0x57, 0x5b, 0x5f, 0x05, 0x4b, 0x48, 0x4b, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0x4c, 0x50, 0x54, 0x58, 0x5c, 0x05, 0x48, + 0x37, 0x3b, 0x3f, 0x43, 0x47, 0x05, 0x33, 0x30, 0x33, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0x34, 0x38, 0x3c, 0x40, 0x44, 0x05, 0x30, + 0x1f, 0x23, 0x27, 0x2b, 0x2f, 0x05, 0x1b, 0x18, 0x1b, 0xb8, 0x01, + 0x04, 0x40, 0x11, 0x59, 0x1c, 0x20, 0x24, 0x28, 0x2c, 0x05, 0x18, + 0x07, 0x0b, 0x0f, 0x13, 0x17, 0x05, 0x03, 0x00, 0x03, 0xb8, 0x01, + 0x04, 0x40, 0x0b, 0x59, 0x04, 0x08, 0x0c, 0x10, 0x14, 0x05, 0x00, + 0xf7, 0xfb, 0xff, 0xb9, 0x01, 0x03, 0x01, 0x07, 0xb3, 0x05, 0xf3, + 0xf0, 0xf3, 0xb8, 0x01, 0x04, 0xb3, 0x59, 0xf4, 0xf8, 0xfc, 0xb9, + 0x01, 0x00, 0x01, 0x04, 0x40, 0x17, 0x05, 0xf0, 0xd4, 0xa8, 0xa4, + 0x78, 0x60, 0x48, 0x30, 0x18, 0x00, 0xf0, 0xf0, 0x00, 0x18, 0x30, + 0x48, 0x60, 0x78, 0xa4, 0xa8, 0xd4, 0x0a, 0xb8, 0x01, 0x08, 0x40, + 0x09, 0xdc, 0xe0, 0xe4, 0xe8, 0xec, 0x05, 0xd8, 0xdb, 0xd8, 0xb8, + 0x01, 0x04, 0xb7, 0x59, 0xdf, 0xe3, 0xe7, 0xeb, 0xef, 0x05, 0xdb, + 0x41, 0x13, 0x01, 0x0f, 0x01, 0x13, 0x01, 0x17, 0x01, 0x1b, 0x01, + 0x1f, 0x00, 0x05, 0x01, 0x0b, 0x01, 0x08, 0x01, 0x0b, 0x01, 0x04, + 0x00, 0x59, 0x01, 0x0c, 0x01, 0x10, 0x01, 0x14, 0x01, 0x18, 0x01, + 0x1c, 0x00, 0x05, 0x01, 0x08, 0x00, 0xfa, 0x00, 0x3f, 0x17, 0x33, + 0x2b, 0x11, 0x00, 0x17, 0x33, 0x18, 0x2f, 0x17, 0x33, 0x2b, 0x11, + 0x00, 0x17, 0x33, 0x12, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x11, 0x17, 0x33, 0x2b, 0x11, + 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, + 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, + 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, + 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, + 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, + 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, + 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x17, 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, + 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, + 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, + 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, + 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, + 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, + 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, + 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, + 0x11, 0x17, 0x33, 0x31, 0x30, 0x13, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, + 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, + 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, + 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x05, 0x33, + 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, + 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, + 0x05, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, + 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, + 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, + 0x37, 0x33, 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, + 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x27, + 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, + 0x27, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, 0x07, 0x33, 0x15, + 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x17, + 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, + 0x27, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, 0x23, 0x27, 0x33, 0x15, + 0x23, 0x07, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, + 0x33, 0x15, 0x23, 0x01, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, + 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, + 0x23, 0x37, 0x33, 0x15, 0x23, 0x01, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x37, + 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x66, 0x67, 0x67, 0xcd, + 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, + 0xcd, 0x67, 0x67, 0xfb, 0x99, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, + 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, + 0xfc, 0x65, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, + 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xfb, 0x99, 0x66, + 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, + 0x66, 0x66, 0xcd, 0x66, 0x66, 0xfc, 0x65, 0x67, 0x67, 0xcd, 0x67, + 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, + 0x67, 0x67, 0xfb, 0x99, 0x66, 0x66, 0x01, 0x9a, 0x66, 0x66, 0xcd, + 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xfc, 0xcc, 0x66, + 0x66, 0x03, 0x9a, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, + 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0x66, 0x66, + 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, + 0x66, 0x66, 0xcd, 0x66, 0x66, 0x66, 0x67, 0x67, 0xcd, 0x67, 0x67, + 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, + 0x67, 0x66, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, + 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xfb, 0xff, 0x66, + 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, + 0x66, 0x66, 0xcd, 0x66, 0x66, 0xfc, 0x65, 0x67, 0x67, 0xcd, 0x67, + 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, + 0x67, 0x67, 0x05, 0x28, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, + 0x62, 0x62, 0x62, 0x62, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x63, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x63, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x61, + 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x62, + 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x62, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, + 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x07, 0xed, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, + 0x62, 0x62, 0x62, 0x62, 0x01, 0x23, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x38, 0x00, 0x00, 0xfd, + 0x99, 0x04, 0xce, 0x06, 0xa9, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, + 0x00, 0x51, 0x00, 0x55, 0x00, 0x59, 0x00, 0x5d, 0x00, 0x61, 0x00, + 0x65, 0x00, 0x69, 0x00, 0x6d, 0x00, 0x71, 0x00, 0x75, 0x00, 0x79, + 0x00, 0x7d, 0x00, 0x81, 0x00, 0x85, 0x00, 0x89, 0x00, 0x8d, 0x00, + 0x91, 0x00, 0x95, 0x00, 0x99, 0x00, 0x9d, 0x00, 0xa1, 0x00, 0xa5, + 0x00, 0xa9, 0x00, 0xad, 0x00, 0xb1, 0x00, 0xb5, 0x00, 0xb9, 0x00, + 0xbd, 0x00, 0xc1, 0x00, 0xc5, 0x00, 0xc9, 0x00, 0xcd, 0x00, 0xd1, + 0x00, 0xd5, 0x00, 0xd9, 0x00, 0xdd, 0x00, 0xe1, 0x00, 0xe5, 0x00, + 0xe9, 0x00, 0xed, 0x00, 0xf1, 0x00, 0xf5, 0x00, 0xf9, 0x00, 0xfd, + 0x01, 0x01, 0x01, 0x05, 0x01, 0x09, 0x01, 0x0d, 0x01, 0x11, 0x01, + 0x15, 0x01, 0x19, 0x01, 0x1d, 0x01, 0x21, 0x03, 0x11, 0x40, 0x6b, + 0x1a, 0x64, 0x78, 0xa5, 0xe4, 0x05, 0xc5, 0xc5, 0x07, 0x0b, 0x0f, + 0x13, 0x17, 0x05, 0x03, 0x4b, 0x6b, 0x91, 0xab, 0xf0, 0x05, 0xcb, + 0xcb, 0x48, 0x68, 0x88, 0xa8, 0xf5, 0x05, 0xc8, 0x1e, 0x60, 0x7b, + 0xa1, 0xe0, 0x05, 0xc1, 0xc1, 0x1b, 0x65, 0x79, 0xa2, 0xe5, 0x05, + 0xc2, 0x4f, 0x6f, 0x8b, 0xaf, 0xec, 0x05, 0xcf, 0xcf, 0x4c, 0x6c, + 0x8e, 0xac, 0xf1, 0x05, 0xcc, 0x22, 0x5c, 0x7f, 0x9d, 0xdc, 0x05, + 0xbd, 0xbd, 0x1f, 0x61, 0x7c, 0x9e, 0xe1, 0x05, 0xbe, 0x53, 0x73, + 0x93, 0xb3, 0xe8, 0x05, 0xd3, 0xd3, 0x50, 0x70, 0x8c, 0xb0, 0xed, + 0x05, 0xd0, 0x26, 0x58, 0x83, 0x99, 0xd8, 0x05, 0xb9, 0xb9, 0x23, + 0x5d, 0x80, 0x9a, 0xdd, 0x05, 0xba, 0xf7, 0xff, 0xbd, 0x01, 0x07, + 0x01, 0x0f, 0x01, 0x20, 0x00, 0x05, 0x01, 0x17, 0x01, 0x17, 0x40, + 0x09, 0x54, 0x74, 0x94, 0xb4, 0xe9, 0x05, 0xd4, 0x2a, 0xfc, 0xbd, + 0x01, 0x03, 0x01, 0x0d, 0x01, 0x1c, 0x00, 0x05, 0x01, 0x15, 0x01, + 0x15, 0x40, 0x10, 0x27, 0x59, 0x84, 0x96, 0xd9, 0x05, 0xb6, 0x30, + 0x34, 0x38, 0x3c, 0x40, 0x05, 0x44, 0x44, 0xf8, 0xbe, 0x01, 0x00, + 0x01, 0x08, 0x01, 0x10, 0x01, 0x21, 0x00, 0x05, 0x01, 0x18, 0x01, + 0x18, 0x40, 0x0b, 0xb6, 0xd4, 0xba, 0xd0, 0xbe, 0xcc, 0xc2, 0xc8, + 0x03, 0x0a, 0x01, 0xb8, 0x01, 0x12, 0x40, 0x10, 0x47, 0x67, 0x87, + 0xa7, 0xf4, 0x05, 0xc7, 0xc7, 0x05, 0x09, 0x0d, 0x11, 0x15, 0x05, + 0x01, 0x01, 0xb8, 0x01, 0x22, 0x40, 0x0b, 0x2e, 0x32, 0x36, 0x3a, + 0x3e, 0x42, 0x06, 0x00, 0x00, 0x2b, 0xfd, 0xbe, 0x01, 0x04, 0x01, + 0x0a, 0x01, 0x1d, 0x00, 0x05, 0x01, 0x12, 0x01, 0x12, 0x01, 0x23, + 0x40, 0x0c, 0x1c, 0x20, 0x24, 0x28, 0x2c, 0x05, 0x18, 0x16, 0x43, + 0xca, 0xce, 0xd2, 0xb8, 0x01, 0x16, 0xb3, 0x05, 0xc6, 0x02, 0xc6, + 0xb8, 0x01, 0x04, 0xb4, 0x59, 0xb9, 0xbd, 0xc1, 0xc5, 0xb8, 0x01, + 0x15, 0xb5, 0x05, 0x02, 0xb8, 0xbc, 0xc0, 0xc4, 0xb8, 0x01, 0x14, + 0xb3, 0x05, 0x05, 0xa7, 0x05, 0xb8, 0x01, 0x04, 0xb4, 0x59, 0x40, + 0xab, 0xaf, 0xb3, 0xb8, 0x01, 0x0f, 0xb5, 0x05, 0xa7, 0x3f, 0xaa, + 0xae, 0xb2, 0xb8, 0x01, 0x0e, 0xb3, 0x05, 0xa6, 0x06, 0xa6, 0xb8, + 0x01, 0x04, 0xb4, 0x59, 0x99, 0x9d, 0xa1, 0xa5, 0xb8, 0x01, 0x0d, + 0xb5, 0x05, 0x06, 0x98, 0x9c, 0xa0, 0xa4, 0xb8, 0x01, 0x0c, 0xb3, + 0x05, 0x09, 0x87, 0x09, 0xb8, 0x01, 0x04, 0xb4, 0x59, 0x3c, 0x8b, + 0x91, 0x93, 0xb8, 0x01, 0x07, 0xb5, 0x05, 0x87, 0x3b, 0x8a, 0x90, + 0x92, 0xb8, 0x01, 0x06, 0xb3, 0x05, 0x86, 0x0a, 0x86, 0xb8, 0x01, + 0x04, 0xb4, 0x59, 0x78, 0x7b, 0x7f, 0x83, 0xb8, 0x01, 0x03, 0xb5, + 0x05, 0x0a, 0x77, 0x7a, 0x7e, 0x82, 0xb8, 0x01, 0x02, 0xb3, 0x05, + 0x0d, 0x67, 0x0d, 0xb8, 0x01, 0x04, 0x40, 0x11, 0x59, 0x38, 0x6b, + 0x6f, 0x73, 0xff, 0x05, 0x67, 0x37, 0x6a, 0x6e, 0x72, 0xfe, 0x05, + 0x66, 0x0e, 0x66, 0xb8, 0x01, 0x04, 0x40, 0x11, 0x59, 0x58, 0x5c, + 0x60, 0x64, 0xfc, 0x05, 0x0e, 0x57, 0x5b, 0x5f, 0x63, 0xfb, 0x05, + 0x11, 0x47, 0x11, 0xb8, 0x01, 0x04, 0x40, 0x11, 0x59, 0x34, 0x4b, + 0x4f, 0x53, 0xf7, 0x05, 0x47, 0x33, 0x4a, 0x4e, 0x52, 0xf6, 0x05, + 0x46, 0x12, 0x46, 0xb8, 0x01, 0x04, 0xb4, 0x59, 0xd8, 0xdc, 0xe0, + 0xe4, 0xb8, 0x01, 0x1c, 0xb5, 0x05, 0x12, 0xd7, 0xdb, 0xdf, 0xe3, + 0xb8, 0x01, 0x1b, 0xb3, 0x05, 0x15, 0xf4, 0x15, 0xb8, 0x01, 0x04, + 0xb4, 0x59, 0x30, 0xe8, 0xec, 0xf0, 0xb8, 0x01, 0x20, 0x40, 0x1c, + 0x05, 0xf4, 0x02, 0xa7, 0x06, 0x87, 0x0a, 0x67, 0x0e, 0x47, 0x12, + 0xf4, 0xf4, 0x12, 0x47, 0x0e, 0x67, 0x0a, 0x87, 0x06, 0xa7, 0x02, + 0x0a, 0x16, 0x44, 0xcb, 0xcf, 0xd3, 0xb8, 0x01, 0x17, 0xb3, 0x05, + 0xc7, 0x01, 0xc7, 0xb8, 0x01, 0x04, 0xb6, 0x59, 0x01, 0xfe, 0x2f, + 0xe7, 0xeb, 0xef, 0xb8, 0x01, 0x1f, 0xb3, 0x05, 0xf3, 0x16, 0xf3, + 0xb8, 0x01, 0x04, 0xb7, 0x59, 0x1a, 0x1e, 0x22, 0x26, 0x2a, 0x05, + 0x16, 0x00, 0x2f, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x18, + 0x3f, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x12, 0x17, 0x39, 0x18, 0x2f, + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x11, 0x17, + 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, + 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, + 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, + 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, + 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, + 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, + 0x11, 0x00, 0x17, 0x33, 0x11, 0x17, 0x33, 0x2b, 0x11, 0x00, 0x17, + 0x33, 0x18, 0x10, 0xc6, 0x17, 0x32, 0x11, 0x01, 0x33, 0x11, 0x17, + 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x33, 0x11, 0x17, 0x33, 0x33, + 0x11, 0x17, 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, 0x17, 0x33, 0x33, + 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, + 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, + 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, + 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, + 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, + 0x33, 0x11, 0x17, 0x33, 0x11, 0x17, 0x33, 0x33, 0x11, 0x17, 0x33, + 0x31, 0x30, 0x01, 0x21, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, + 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, 0x35, 0x23, 0x11, 0x33, + 0x35, 0x23, 0x11, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, + 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, + 0x15, 0x33, 0x35, 0x33, 0x15, 0x23, 0x15, 0x33, 0x11, 0x23, 0x15, + 0x33, 0x11, 0x23, 0x15, 0x33, 0x11, 0x23, 0x15, 0x33, 0x11, 0x23, + 0x15, 0x33, 0x11, 0x23, 0x15, 0x33, 0x01, 0x15, 0x33, 0x35, 0x33, + 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, + 0x17, 0x23, 0x15, 0x33, 0x27, 0x23, 0x15, 0x33, 0x27, 0x23, 0x15, + 0x33, 0x27, 0x23, 0x15, 0x33, 0x07, 0x15, 0x33, 0x35, 0x33, 0x15, + 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x05, + 0x23, 0x15, 0x33, 0x37, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, + 0x33, 0x15, 0x33, 0x35, 0x05, 0x15, 0x33, 0x35, 0x21, 0x15, 0x33, + 0x35, 0x07, 0x35, 0x23, 0x15, 0x25, 0x15, 0x33, 0x35, 0x13, 0x35, + 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, + 0x35, 0x23, 0x15, 0x07, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, + 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x13, 0x35, 0x23, + 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, + 0x23, 0x15, 0x07, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, + 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x13, 0x23, 0x15, 0x33, + 0x27, 0x23, 0x15, 0x33, 0x27, 0x23, 0x15, 0x33, 0x27, 0x23, 0x15, + 0x33, 0x01, 0x23, 0x15, 0x33, 0x27, 0x23, 0x15, 0x33, 0x27, 0x23, + 0x15, 0x33, 0x27, 0x23, 0x15, 0x33, 0x01, 0x15, 0x33, 0x35, 0x17, + 0x23, 0x15, 0x33, 0x07, 0x15, 0x33, 0x35, 0x1d, 0x01, 0x33, 0x35, + 0x07, 0x15, 0x33, 0x35, 0x13, 0x35, 0x23, 0x15, 0x07, 0x15, 0x33, + 0x35, 0x13, 0x35, 0x23, 0x15, 0x07, 0x15, 0x33, 0x35, 0x13, 0x23, + 0x15, 0x33, 0x03, 0x23, 0x15, 0x33, 0x04, 0xce, 0xfb, 0x32, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, + 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, 0x67, + 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, + 0xfb, 0x98, 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x66, + 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0xcd, + 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, 0xfd, 0xff, 0x66, 0x66, + 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0xfc, 0xcc, 0x67, 0x01, 0x33, + 0x67, 0xcd, 0x67, 0x01, 0x9a, 0x67, 0x66, 0x66, 0x67, 0x66, 0x67, + 0x66, 0x67, 0x66, 0x67, 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, + 0x66, 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x67, 0x67, 0x66, + 0x67, 0x66, 0x67, 0x66, 0x67, 0x66, 0x66, 0x66, 0xcd, 0x66, 0x66, + 0xcd, 0x66, 0x66, 0xcd, 0x66, 0x66, 0x02, 0x01, 0x67, 0x67, 0xcd, + 0x67, 0x67, 0xcd, 0x67, 0x67, 0xcd, 0x67, 0x67, 0x02, 0xcd, 0x67, + 0x66, 0x66, 0x66, 0xcd, 0x67, 0x66, 0xcd, 0x67, 0x66, 0x66, 0x67, + 0x67, 0x66, 0x66, 0x67, 0x67, 0x66, 0x66, 0x66, 0x66, 0x67, 0x67, + 0xfd, 0x99, 0x01, 0x22, 0x61, 0x01, 0x22, 0x61, 0x01, 0x23, 0x60, + 0x01, 0x21, 0x62, 0x01, 0x21, 0x62, 0x01, 0x21, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc1, 0x62, 0xfe, + 0xdf, 0x60, 0xfe, 0xdd, 0x60, 0xfe, 0xdd, 0x60, 0xfe, 0xdd, 0x5e, + 0xfe, 0xdd, 0x60, 0x06, 0x6a, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0xc0, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x61, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc3, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xfe, 0xdf, 0x61, 0x61, 0x61, + 0x61, 0x61, 0x61, 0x61, 0x61, 0x62, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, + 0x5e, 0x5e, 0x5e, 0xfe, 0xdf, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, + 0x61, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x06, 0xcd, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x01, 0x22, + 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0xfe, 0xdf, 0x60, 0x60, + 0xc0, 0x62, 0x61, 0x60, 0x60, 0xc0, 0x60, 0x60, 0xc3, 0x60, 0x60, + 0xfe, 0xdf, 0x61, 0x61, 0x62, 0x5e, 0x5e, 0xfe, 0xdf, 0x61, 0x61, + 0x60, 0x60, 0x60, 0x06, 0xcd, 0x62, 0x01, 0x22, 0x62, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x77, 0x00, 0x75, 0x04, 0x56, 0x04, 0x54, 0x00, + 0x03, 0x00, 0x11, 0xb5, 0x01, 0x05, 0x00, 0x04, 0x02, 0x00, 0x00, + 0x2f, 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, + 0x11, 0x21, 0x77, 0x03, 0xdf, 0xfc, 0x21, 0x04, 0x54, 0xfc, 0x21, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x04, 0xcb, 0x04, 0xc9, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x1e, 0x40, 0x0c, 0x06, 0x02, 0x02, 0x09, + 0x05, 0x03, 0x03, 0x08, 0x05, 0x03, 0x04, 0x00, 0x00, 0x2f, 0x32, + 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x21, 0x11, 0x21, 0x13, 0x11, 0x21, 0x11, 0x02, + 0x04, 0xc9, 0xfb, 0x37, 0x4c, 0x04, 0x31, 0x04, 0xc9, 0xfb, 0x37, + 0x04, 0x7d, 0xfb, 0xcf, 0x04, 0x31, 0x00, 0x01, 0x01, 0x68, 0x01, + 0x7f, 0x03, 0x64, 0x03, 0x7b, 0x00, 0x03, 0x00, 0x1a, 0x40, 0x0c, + 0x00, 0x01, 0x01, 0x04, 0x05, 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x2f, 0xcd, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x21, 0x11, 0x21, 0x03, 0x64, 0xfe, 0x04, 0x01, + 0xfc, 0x01, 0x7f, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x02, 0x01, 0x68, + 0x01, 0x7f, 0x03, 0x64, 0x03, 0x7b, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x39, 0x40, 0x0a, 0x04, 0x00, 0x00, 0x07, 0x01, 0x01, 0x08, 0x09, + 0x00, 0x07, 0xb8, 0x01, 0x02, 0x40, 0x0c, 0x59, 0x00, 0x00, 0x10, + 0x00, 0x02, 0x09, 0x03, 0x00, 0x02, 0x02, 0x06, 0xb8, 0x01, 0x02, + 0xb1, 0x59, 0x02, 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x21, 0x11, 0x21, 0x03, 0x11, 0x21, 0x11, + 0x03, 0x64, 0xfe, 0x04, 0x01, 0xfc, 0x4c, 0xfe, 0x9c, 0x01, 0x7f, + 0x01, 0xfc, 0xfe, 0x50, 0x01, 0x62, 0xfe, 0x9e, 0x00, 0x01, 0x00, + 0x08, 0x00, 0x46, 0x04, 0xc5, 0x02, 0x22, 0x00, 0x03, 0x00, 0x11, + 0xb5, 0x01, 0x05, 0x00, 0x04, 0x02, 0x00, 0x00, 0x2f, 0x2f, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x21, 0x11, 0x21, 0x08, + 0x04, 0xbd, 0xfb, 0x43, 0x02, 0x22, 0xfe, 0x24, 0x00, 0x01, 0x00, + 0x0f, 0x00, 0x32, 0x04, 0xbd, 0x04, 0xae, 0x00, 0x02, 0x00, 0x15, + 0xb7, 0x01, 0x02, 0x02, 0x04, 0x00, 0x03, 0x01, 0x00, 0x00, 0x2f, + 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x39, 0x31, 0x30, 0x37, + 0x09, 0x01, 0x0f, 0x02, 0x58, 0x02, 0x56, 0x32, 0x04, 0x7c, 0xfb, + 0x84, 0x00, 0x01, 0x00, 0x34, 0xff, 0xe5, 0x04, 0xcb, 0x04, 0xac, + 0x00, 0x02, 0x00, 0x11, 0xb5, 0x01, 0x04, 0x00, 0x03, 0x02, 0x00, + 0x00, 0x2f, 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x09, 0x01, 0x34, 0x04, 0x97, 0xfb, 0x69, 0x04, 0xac, 0xfd, 0x9e, + 0xfd, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0f, 0xff, 0xe5, + 0x04, 0xbd, 0x04, 0x61, 0x00, 0x02, 0x00, 0x15, 0xb7, 0x01, 0x02, + 0x00, 0x04, 0x02, 0x03, 0x01, 0x00, 0x00, 0x2f, 0x2f, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x11, 0x39, 0x31, 0x30, 0x09, 0x02, 0x04, 0xbd, + 0xfd, 0xaa, 0xfd, 0xa8, 0x04, 0x61, 0xfb, 0x84, 0x04, 0x7c, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xff, 0xe5, 0x04, 0x99, 0x04, + 0xac, 0x00, 0x02, 0x00, 0x11, 0xb5, 0x00, 0x04, 0x02, 0x03, 0x01, + 0x00, 0x00, 0x2f, 0x2f, 0x11, 0x01, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x11, 0x01, 0x04, 0x99, 0xfb, 0x69, 0x04, 0xac, 0xfb, 0x39, + 0x02, 0x65, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, 0x04, 0x59, 0x05, + 0xa0, 0x00, 0x05, 0x00, 0x09, 0x00, 0x50, 0x40, 0x28, 0x04, 0x03, + 0x06, 0x00, 0x01, 0x06, 0x03, 0x08, 0x08, 0x02, 0x09, 0x05, 0x07, + 0x02, 0x05, 0x02, 0x0a, 0x0b, 0x09, 0x05, 0x02, 0x07, 0x07, 0x03, + 0x08, 0x03, 0x06, 0xb0, 0x59, 0x0f, 0x03, 0x01, 0x09, 0x03, 0x03, + 0x01, 0x08, 0xb0, 0x59, 0x01, 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x2f, + 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x3d, 0x2f, 0x33, + 0x33, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, + 0x23, 0x09, 0x01, 0x33, 0x09, 0x04, 0x02, 0x8e, 0x52, 0xfe, 0x37, + 0x01, 0xc9, 0x52, 0x01, 0xcb, 0xfe, 0x0e, 0xfe, 0x9e, 0x01, 0x62, + 0x01, 0x60, 0x02, 0xcf, 0x02, 0xd1, 0xfd, 0x31, 0x02, 0x35, 0xfd, + 0xcb, 0xfd, 0xc2, 0x02, 0x3e, 0x00, 0x00, 0x02, 0x00, 0xa3, 0x00, + 0xa2, 0x04, 0x2a, 0x04, 0x29, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x30, + 0x40, 0x0a, 0x18, 0x08, 0x08, 0x10, 0x00, 0x00, 0x20, 0x21, 0x0c, + 0x14, 0xb8, 0x01, 0x02, 0xb5, 0x59, 0x0c, 0x0c, 0x04, 0x04, 0x1c, + 0xb8, 0x01, 0x02, 0xb1, 0x59, 0x04, 0x00, 0x2f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x3e, 0x01, 0x33, 0x32, 0x1e, + 0x01, 0x15, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x37, 0x14, + 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x34, 0x2e, 0x01, 0x23, + 0x22, 0x0e, 0x01, 0xa3, 0x78, 0xd1, 0x79, 0x7a, 0xd2, 0x79, 0x79, + 0xd1, 0x7b, 0x7a, 0xd0, 0x78, 0x56, 0x62, 0xa7, 0x63, 0x62, 0xa9, + 0x64, 0x62, 0xab, 0x62, 0x61, 0xa9, 0x62, 0x02, 0x64, 0x7a, 0xd2, + 0x79, 0x79, 0xd3, 0x79, 0x79, 0xd1, 0x78, 0x78, 0xd0, 0x7a, 0x62, + 0xa9, 0x61, 0x60, 0xaa, 0x62, 0x62, 0xab, 0x62, 0x62, 0xa9, 0x00, + 0x00, 0x10, 0x00, 0x68, 0x00, 0x56, 0x04, 0x65, 0x04, 0x52, 0x00, + 0x07, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x27, 0x00, 0x2f, + 0x00, 0x37, 0x00, 0x3f, 0x00, 0x47, 0x00, 0x4f, 0x00, 0x57, 0x00, + 0x5f, 0x00, 0x67, 0x00, 0x6f, 0x00, 0x77, 0x00, 0x7f, 0x01, 0x17, + 0x40, 0x38, 0x50, 0x68, 0x68, 0x54, 0x6c, 0x38, 0x78, 0x78, 0x3c, + 0x7c, 0x28, 0x70, 0x70, 0x2c, 0x74, 0x20, 0x60, 0x60, 0x24, 0x64, + 0x08, 0x48, 0x48, 0x0c, 0x4c, 0x00, 0x40, 0x40, 0x04, 0x44, 0x10, + 0x30, 0x30, 0x14, 0x34, 0x34, 0x44, 0x4c, 0x64, 0x74, 0x7c, 0x6c, + 0x07, 0x18, 0x58, 0x5c, 0x1c, 0x18, 0x5c, 0x18, 0x80, 0x81, 0x4e, + 0x76, 0x72, 0x76, 0xb8, 0x01, 0x19, 0xb6, 0x59, 0x4a, 0x72, 0x46, + 0x7e, 0x7a, 0x7e, 0xb8, 0x01, 0x19, 0xb6, 0x59, 0x42, 0x7a, 0x36, + 0x6e, 0x6a, 0x6e, 0xb8, 0x01, 0x19, 0xb6, 0x59, 0x32, 0x6a, 0x1e, + 0x5e, 0x5a, 0x5e, 0xb8, 0x01, 0x19, 0xb6, 0x59, 0x1a, 0x5a, 0x16, + 0x56, 0x52, 0x56, 0xb8, 0x01, 0x19, 0xb6, 0x59, 0x12, 0x52, 0x06, + 0x3e, 0x3a, 0x3e, 0xb8, 0x01, 0x19, 0xb6, 0x59, 0x02, 0x3a, 0x0e, + 0x2e, 0x2a, 0x2e, 0xb8, 0x01, 0x19, 0x40, 0x16, 0x59, 0x0a, 0x2a, + 0x72, 0x7a, 0x6a, 0x5a, 0x52, 0x3a, 0x2a, 0x2a, 0x3a, 0x52, 0x5a, + 0x6a, 0x7a, 0x72, 0x07, 0x62, 0x26, 0x62, 0x66, 0xb8, 0x01, 0x19, + 0xb4, 0x59, 0x62, 0x26, 0x26, 0x22, 0xb8, 0x01, 0x19, 0xb2, 0x59, + 0x26, 0x10, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x2b, 0x11, + 0x12, 0x00, 0x17, 0x39, 0x18, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, + 0x32, 0x27, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x13, 0x14, + 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x17, 0x14, 0x23, 0x22, 0x35, + 0x34, 0x33, 0x32, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, + 0x07, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x01, 0x14, 0x23, + 0x22, 0x35, 0x34, 0x33, 0x32, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, + 0x33, 0x32, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x07, + 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x01, 0x14, 0x23, 0x22, + 0x35, 0x34, 0x33, 0x32, 0x07, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, + 0x32, 0x01, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x25, 0x14, + 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, 0x13, 0x14, 0x23, 0x22, 0x35, + 0x34, 0x33, 0x32, 0x27, 0x14, 0x23, 0x22, 0x35, 0x34, 0x33, 0x32, + 0x03, 0xde, 0x34, 0x38, 0x38, 0x34, 0x94, 0x34, 0x38, 0x38, 0x34, + 0xf7, 0x37, 0x35, 0x37, 0x35, 0x24, 0x34, 0x38, 0x38, 0x34, 0xfe, + 0x37, 0x36, 0x36, 0x36, 0x36, 0xad, 0x37, 0x35, 0x35, 0x37, 0x02, + 0x52, 0x37, 0x35, 0x35, 0x37, 0xfd, 0x1a, 0x36, 0x36, 0x36, 0x36, + 0x02, 0x83, 0x34, 0x38, 0x38, 0x34, 0x94, 0x34, 0x38, 0x38, 0x34, + 0xfd, 0xae, 0x34, 0x38, 0x36, 0x36, 0x24, 0x34, 0x38, 0x38, 0x34, + 0x01, 0xc8, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x5c, 0x36, 0x36, 0x36, + 0x36, 0xf7, 0x37, 0x35, 0x35, 0x37, 0x94, 0x36, 0x36, 0x36, 0x36, + 0x03, 0x96, 0x36, 0x36, 0x36, 0x2c, 0x35, 0x35, 0x37, 0xfe, 0xd3, + 0x37, 0x37, 0x35, 0xe3, 0x36, 0x36, 0x36, 0x01, 0x93, 0x37, 0x37, + 0x35, 0x5a, 0x35, 0x35, 0x37, 0xfd, 0x77, 0x35, 0x35, 0x37, 0x01, + 0xb9, 0x36, 0x33, 0x39, 0xfd, 0x44, 0x35, 0x35, 0x37, 0x99, 0x34, + 0x34, 0x38, 0x02, 0x1c, 0x37, 0x37, 0x35, 0xe3, 0x36, 0x36, 0x36, + 0xfe, 0x03, 0x37, 0x37, 0x35, 0xe4, 0x35, 0x35, 0x37, 0xfe, 0xd5, + 0x38, 0x34, 0x38, 0x2a, 0x35, 0x35, 0x37, 0x00, 0x01, 0x00, 0xae, + 0x00, 0x89, 0x04, 0x1f, 0x03, 0xfa, 0x00, 0x0d, 0x00, 0x13, 0xb6, + 0x04, 0x0a, 0x0a, 0x0e, 0x0f, 0x07, 0x00, 0x00, 0x2f, 0xcd, 0x11, + 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, 0x1e, 0x01, + 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x34, 0x3e, 0x01, 0x02, + 0x66, 0x6e, 0xd9, 0x72, 0xfe, 0xfe, 0xb7, 0xb6, 0xfe, 0xfe, 0x6f, + 0xd7, 0x03, 0xfa, 0x74, 0xda, 0x6a, 0xb7, 0xfe, 0xfe, 0x01, 0x03, + 0xb6, 0x6c, 0xd5, 0x77, 0x00, 0x00, 0x00, 0x02, 0x00, 0xae, 0x00, + 0x89, 0x04, 0x1f, 0x03, 0xfa, 0x00, 0x0a, 0x00, 0x18, 0x00, 0x00, + 0x25, 0x30, 0x11, 0x16, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x07, 0x06, + 0x03, 0x22, 0x0e, 0x01, 0x15, 0x14, 0x00, 0x33, 0x32, 0x00, 0x35, + 0x34, 0x2e, 0x01, 0x02, 0x68, 0x70, 0x6a, 0x6b, 0x6e, 0x80, 0x7f, + 0xb5, 0x6e, 0xd9, 0x72, 0x01, 0x02, 0xb7, 0xb6, 0x01, 0x02, 0x6f, + 0xd7, 0x8d, 0x03, 0x69, 0x01, 0x3a, 0x3b, 0xd3, 0x6b, 0xb4, 0x80, + 0x80, 0x03, 0x6c, 0x74, 0xda, 0x6a, 0xb7, 0xfe, 0xfe, 0x01, 0x03, + 0xb6, 0x6c, 0xd5, 0x77, 0x00, 0x00, 0x00, 0x02, 0x00, 0xae, 0x00, + 0x89, 0x04, 0x1f, 0x03, 0xfa, 0x00, 0x0a, 0x00, 0x18, 0x00, 0x00, + 0x25, 0x30, 0x11, 0x06, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x17, 0x16, + 0x13, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, + 0x34, 0x3e, 0x01, 0x02, 0x65, 0x70, 0x6a, 0x6b, 0x6e, 0x80, 0x7f, + 0xb5, 0x6e, 0xd9, 0x72, 0xfe, 0xfe, 0xb7, 0xb6, 0xfe, 0xfe, 0x6f, + 0xd7, 0x8d, 0x03, 0x69, 0x01, 0x3a, 0x3b, 0xd3, 0x6b, 0xb4, 0x80, + 0x80, 0x03, 0x6c, 0x74, 0xda, 0x6a, 0xb7, 0xfe, 0xfe, 0x01, 0x03, + 0xb6, 0x6c, 0xd5, 0x77, 0x00, 0x00, 0x00, 0x02, 0x00, 0xae, 0x00, + 0x89, 0x04, 0x1f, 0x03, 0xfa, 0x00, 0x0a, 0x00, 0x18, 0x00, 0x00, + 0x13, 0x30, 0x21, 0x26, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x06, + 0x05, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x00, 0x35, 0x34, 0x00, 0x33, + 0x32, 0x1e, 0x01, 0xb2, 0x03, 0x69, 0x01, 0x3a, 0x3b, 0xd3, 0x6b, + 0xb4, 0x80, 0x80, 0x03, 0x6c, 0x74, 0xda, 0x6a, 0xb7, 0xfe, 0xfe, + 0x01, 0x03, 0xb6, 0x6c, 0xd5, 0x77, 0x02, 0x43, 0x70, 0x6a, 0x6b, + 0x6e, 0x80, 0x7f, 0xb5, 0x6e, 0xd9, 0x72, 0x01, 0x02, 0xb7, 0xb6, + 0x01, 0x02, 0x6f, 0xd7, 0x00, 0x00, 0x00, 0x02, 0x00, 0xae, 0x00, + 0x89, 0x04, 0x1f, 0x03, 0xfa, 0x00, 0x0a, 0x00, 0x18, 0x00, 0x00, + 0x01, 0x30, 0x21, 0x16, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x36, + 0x25, 0x34, 0x3e, 0x01, 0x33, 0x32, 0x00, 0x15, 0x14, 0x00, 0x23, + 0x22, 0x2e, 0x01, 0x04, 0x1b, 0xfc, 0x97, 0x01, 0x3a, 0x3b, 0xd3, + 0x6b, 0xb4, 0x80, 0x80, 0xfc, 0x94, 0x74, 0xda, 0x6a, 0xb7, 0x01, + 0x02, 0xfe, 0xfd, 0xb6, 0x6c, 0xd5, 0x77, 0x02, 0x40, 0x70, 0x6a, + 0x6b, 0x6e, 0x80, 0x7f, 0xb5, 0x6e, 0xd9, 0x72, 0xfe, 0xfe, 0xb7, + 0xb6, 0xfe, 0xfe, 0x6f, 0xd7, 0x00, 0x00, 0x02, 0x00, 0xae, 0x00, + 0x89, 0x04, 0x1f, 0x03, 0xfa, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x00, + 0x01, 0x30, 0x05, 0x36, 0x37, 0x06, 0x07, 0x06, 0x07, 0x06, 0x15, + 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x01, 0x32, 0x1e, 0x01, + 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x34, 0x3e, 0x01, 0x04, + 0x1b, 0xfe, 0x45, 0x02, 0x02, 0x70, 0x69, 0x6b, 0x37, 0x37, 0x80, + 0x80, 0xb4, 0xb5, 0x80, 0x7f, 0xfe, 0x4c, 0x6e, 0xd9, 0x72, 0xfe, + 0xfe, 0xb7, 0xb6, 0xfe, 0xfe, 0x6f, 0xd7, 0x02, 0x41, 0x01, 0xdb, + 0xdb, 0x01, 0x3a, 0x3b, 0x6a, 0x69, 0x6b, 0xb4, 0x80, 0x81, 0x80, + 0x7f, 0x02, 0x6e, 0x74, 0xda, 0x6a, 0xb7, 0xfe, 0xfe, 0x01, 0x03, + 0xb6, 0x6c, 0xd5, 0x77, 0x00, 0x02, 0x00, 0xae, 0x00, 0x89, 0x04, + 0x1f, 0x03, 0xfa, 0x00, 0x09, 0x00, 0x17, 0x00, 0x00, 0x13, 0x30, + 0x25, 0x26, 0x27, 0x06, 0x07, 0x06, 0x07, 0x06, 0x01, 0x32, 0x1e, + 0x01, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x34, 0x3e, 0x01, + 0xb3, 0x01, 0xb5, 0x02, 0x02, 0x70, 0x69, 0x6b, 0x37, 0x34, 0x01, + 0xb1, 0x6e, 0xd9, 0x72, 0xfe, 0xfe, 0xb7, 0xb6, 0xfe, 0xfe, 0x6f, + 0xd7, 0x02, 0x4c, 0x01, 0xd4, 0xd5, 0x01, 0x3a, 0x3b, 0x6a, 0x64, + 0x01, 0x48, 0x74, 0xda, 0x6a, 0xb7, 0xfe, 0xfe, 0x01, 0x03, 0xb6, + 0x6c, 0xd5, 0x77, 0x00, 0x00, 0x01, 0x01, 0x94, 0x00, 0x89, 0x03, + 0x48, 0x03, 0xfa, 0x00, 0x0a, 0x00, 0x00, 0x25, 0x26, 0x27, 0x26, + 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, 0x30, 0x03, 0x47, 0xb3, 0x7f, + 0x81, 0x6f, 0x6b, 0x6a, 0x70, 0x89, 0x02, 0x7f, 0x82, 0xb6, 0x6c, + 0xd5, 0x3b, 0x3b, 0x01, 0x00, 0x01, 0x01, 0x90, 0x00, 0x89, 0x03, + 0x43, 0x03, 0xfa, 0x00, 0x09, 0x00, 0x00, 0x25, 0x36, 0x37, 0x36, + 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x01, 0x90, 0xb3, 0x7f, 0x81, + 0x72, 0x6d, 0x69, 0x6b, 0x89, 0x02, 0x7f, 0x81, 0xb7, 0x6a, 0xda, + 0x3a, 0x38, 0x02, 0x00, 0x00, 0x02, 0x00, 0x25, 0x00, 0x00, 0x04, + 0xa8, 0x04, 0x83, 0x00, 0x03, 0x00, 0x13, 0x00, 0x1e, 0x40, 0x0c, + 0x04, 0x0c, 0x01, 0x02, 0x02, 0x15, 0x01, 0x14, 0x10, 0x01, 0x08, + 0x00, 0x00, 0x2f, 0xcd, 0x2f, 0xcd, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x33, 0x11, 0x21, 0x11, 0x01, + 0x14, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x34, 0x2e, 0x01, + 0x23, 0x22, 0x0e, 0x01, 0x25, 0x04, 0x83, 0xfc, 0x04, 0x76, 0xcb, + 0x77, 0x76, 0xcd, 0x76, 0x76, 0xcc, 0x77, 0x76, 0xcd, 0x75, 0x04, + 0x83, 0xfb, 0x7d, 0x02, 0x41, 0x76, 0xcc, 0x76, 0x76, 0xcd, 0x75, + 0x76, 0xcd, 0x76, 0x77, 0xcc, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, + 0x04, 0xa8, 0x04, 0x83, 0x00, 0x03, 0x00, 0x13, 0x00, 0x23, 0x00, + 0x2a, 0x40, 0x12, 0x04, 0x14, 0x0c, 0x1c, 0x14, 0x1c, 0x01, 0x02, + 0x02, 0x25, 0x01, 0x24, 0x08, 0x20, 0x01, 0x10, 0x18, 0x00, 0x00, + 0x2f, 0xdd, 0xce, 0x2f, 0xdd, 0xce, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, + 0x11, 0x21, 0x11, 0x01, 0x34, 0x3e, 0x01, 0x33, 0x32, 0x1e, 0x01, + 0x15, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x27, 0x14, 0x1e, + 0x01, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x34, 0x2e, 0x01, 0x23, 0x22, + 0x0e, 0x01, 0x25, 0x04, 0x83, 0xfc, 0x51, 0x62, 0xaa, 0x61, 0x61, + 0xaa, 0x62, 0x62, 0xaa, 0x61, 0x61, 0xaa, 0x62, 0x4d, 0x76, 0xcb, + 0x77, 0x76, 0xcd, 0x76, 0x76, 0xcc, 0x77, 0x76, 0xcd, 0x75, 0x04, + 0x83, 0xfb, 0x7d, 0x02, 0x41, 0x61, 0xaa, 0x62, 0x62, 0xaa, 0x61, + 0x61, 0xaa, 0x62, 0x62, 0xaa, 0x61, 0x76, 0xcc, 0x76, 0x76, 0xcd, + 0x75, 0x76, 0xcd, 0x76, 0x77, 0xcc, 0x00, 0x00, 0x02, 0x01, 0x6e, + 0x01, 0x85, 0x03, 0x5e, 0x03, 0x75, 0x00, 0x0d, 0x00, 0x19, 0x00, + 0x39, 0x40, 0x0a, 0x0e, 0x00, 0x00, 0x14, 0x07, 0x07, 0x1a, 0x1b, + 0x03, 0x17, 0xb8, 0x01, 0x02, 0x40, 0x0c, 0x59, 0x00, 0x03, 0x10, + 0x03, 0x02, 0x09, 0x03, 0x03, 0x0a, 0x0a, 0x11, 0xb8, 0x01, 0x02, + 0xb1, 0x59, 0x0a, 0x00, 0x2f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x5f, + 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x01, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x5e, 0x97, 0x61, + 0x44, 0x70, 0x44, 0x93, 0x65, 0x67, 0x47, 0x4a, 0x4c, 0x66, 0x46, + 0x46, 0x66, 0x62, 0x4a, 0x4d, 0x5f, 0x02, 0x7d, 0x6b, 0x8d, 0x41, + 0x72, 0x45, 0x67, 0x91, 0x4a, 0x47, 0x67, 0x46, 0x66, 0x66, 0x46, + 0x47, 0x65, 0x69, 0x00, 0x00, 0x05, 0x00, 0x1b, 0x00, 0x02, 0x04, + 0xb1, 0x04, 0x98, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x37, + 0x00, 0x45, 0x00, 0x7c, 0x40, 0x14, 0x26, 0x20, 0x2c, 0x32, 0x3f, + 0x32, 0x20, 0x45, 0x04, 0x00, 0x18, 0x08, 0x08, 0x47, 0x10, 0x00, + 0x00, 0x46, 0x3e, 0x38, 0xb8, 0xff, 0xe0, 0xb7, 0x09, 0x0d, 0x48, + 0x38, 0x38, 0x3b, 0x3b, 0x41, 0xb8, 0x01, 0x04, 0xb4, 0x59, 0x35, + 0x29, 0x23, 0x29, 0xb8, 0x01, 0x00, 0x40, 0x10, 0x59, 0x2f, 0x23, + 0x3b, 0x40, 0x0c, 0x10, 0x48, 0x3b, 0x23, 0x3b, 0x23, 0x0c, 0x04, + 0x0c, 0x14, 0xb8, 0x01, 0x02, 0xb2, 0x59, 0x04, 0x1c, 0xb8, 0x01, + 0x02, 0xb2, 0x59, 0x04, 0x0c, 0x00, 0x2f, 0xcc, 0x2b, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x2b, 0x11, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x33, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x12, 0x24, + 0x33, 0x32, 0x04, 0x12, 0x15, 0x14, 0x02, 0x04, 0x23, 0x22, 0x24, + 0x02, 0x37, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x34, + 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, 0x37, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x01, 0x1e, 0x01, + 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x23, 0x22, 0x2e, 0x01, 0x27, + 0x1b, 0x9d, 0x01, 0x10, 0x9e, 0x9e, 0x01, 0x0f, 0x9e, 0x9d, 0xfe, + 0xf0, 0x9e, 0x9e, 0xfe, 0xf0, 0x9d, 0x3f, 0x8c, 0xf3, 0x8d, 0x8c, + 0xf3, 0x8c, 0x8c, 0xf2, 0x8d, 0x8c, 0xf3, 0x8d, 0xec, 0x29, 0x1d, + 0x1d, 0x2a, 0x2a, 0x1d, 0x1d, 0x29, 0x01, 0xb3, 0x29, 0x1d, 0x1d, + 0x2a, 0x2a, 0x1d, 0x1d, 0x29, 0xfe, 0x68, 0x3a, 0x7d, 0x4e, 0x50, + 0x7c, 0x39, 0x3a, 0x70, 0xcf, 0x47, 0x73, 0x57, 0x2e, 0x02, 0x4d, + 0x9e, 0x01, 0x10, 0x9d, 0x9d, 0xfe, 0xf0, 0x9e, 0x9e, 0xfe, 0xf0, + 0x9d, 0x9d, 0x01, 0x10, 0x9e, 0x8c, 0xf3, 0x8d, 0x8d, 0xf4, 0x8b, + 0x8c, 0xf2, 0x8d, 0x8c, 0xf4, 0x0d, 0x1d, 0x2a, 0x2a, 0x1d, 0x1d, + 0x29, 0x29, 0x1d, 0x1d, 0x2a, 0x2a, 0x1d, 0x1d, 0x29, 0x29, 0xfe, + 0xf2, 0x4e, 0x3a, 0x3b, 0x4d, 0x31, 0xb1, 0x28, 0x44, 0x45, 0x00, + 0x04, 0x00, 0x1b, 0x00, 0x02, 0x04, 0xb1, 0x04, 0x98, 0x00, 0x0f, + 0x00, 0x1b, 0x00, 0x27, 0x00, 0x35, 0x00, 0x62, 0x40, 0x13, 0x1c, + 0x22, 0x16, 0x10, 0x28, 0x10, 0x22, 0x2e, 0x04, 0x08, 0x00, 0x08, + 0x37, 0x00, 0x36, 0x1f, 0x13, 0x19, 0x13, 0xb8, 0x01, 0x00, 0x40, + 0x09, 0x59, 0x25, 0x19, 0x2f, 0x35, 0x35, 0x32, 0x32, 0x2c, 0xb8, + 0x01, 0x04, 0x40, 0x15, 0x59, 0x0f, 0x19, 0x01, 0x0f, 0x32, 0x3f, + 0x32, 0x4f, 0x32, 0x6f, 0x32, 0x7f, 0x32, 0x05, 0x19, 0x32, 0x19, + 0x32, 0x04, 0x0c, 0x00, 0x2f, 0xc4, 0x39, 0x39, 0x2f, 0x2f, 0x5d, + 0x5d, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x33, 0x11, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x12, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x12, 0x24, + 0x33, 0x32, 0x04, 0x12, 0x15, 0x14, 0x02, 0x04, 0x23, 0x22, 0x24, + 0x02, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x01, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x27, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x27, 0x1b, 0x9d, 0x01, 0x10, 0x9e, 0x9e, + 0x01, 0x0f, 0x9e, 0x9d, 0xfe, 0xf0, 0x9e, 0x9e, 0xfe, 0xf0, 0x9d, + 0x01, 0x2b, 0x29, 0x1d, 0x1d, 0x2a, 0x2a, 0x1d, 0x1d, 0x29, 0x01, + 0xb3, 0x29, 0x1d, 0x1d, 0x2a, 0x2a, 0x1d, 0x1d, 0x29, 0xfe, 0x2e, + 0x2d, 0x57, 0x72, 0x49, 0xcf, 0x70, 0x3a, 0x3a, 0x7d, 0x4e, 0x4f, + 0x7d, 0x39, 0x02, 0x4d, 0x9e, 0x01, 0x10, 0x9d, 0x9d, 0xfe, 0xf0, + 0x9e, 0x9e, 0xfe, 0xf0, 0x9d, 0x9d, 0x01, 0x10, 0x01, 0x36, 0x1d, + 0x29, 0x29, 0x1d, 0x1d, 0x2a, 0x2a, 0x1d, 0x1d, 0x29, 0x29, 0x1d, + 0x1d, 0x2a, 0x2a, 0xfe, 0x87, 0x44, 0x44, 0x29, 0xb1, 0x31, 0x4e, + 0x3a, 0x3b, 0x4d, 0x00, 0x02, 0x00, 0x1a, 0xff, 0x86, 0x04, 0xb2, + 0x04, 0x1e, 0x00, 0x27, 0x00, 0x33, 0x00, 0x5f, 0x40, 0x13, 0x28, + 0x24, 0x21, 0x21, 0x03, 0x2e, 0x0d, 0x10, 0x10, 0x17, 0x06, 0x06, + 0x1a, 0x03, 0x03, 0x34, 0x35, 0x17, 0x2b, 0xb8, 0x01, 0x02, 0xb7, + 0x59, 0x1a, 0x17, 0x17, 0x10, 0x21, 0x24, 0x21, 0xb8, 0x01, 0x02, + 0xb2, 0x59, 0x06, 0x31, 0xb8, 0x01, 0x02, 0x40, 0x0c, 0x59, 0x03, + 0x70, 0x06, 0x01, 0x06, 0x06, 0x0d, 0x1f, 0x24, 0x01, 0x24, 0x00, + 0x2f, 0x5d, 0x33, 0x33, 0x2f, 0x5d, 0x33, 0x2b, 0x2b, 0x11, 0x00, + 0x33, 0x33, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x31, 0x30, 0x13, 0x17, 0x36, 0x37, 0x35, 0x33, 0x15, + 0x16, 0x17, 0x37, 0x17, 0x07, 0x16, 0x17, 0x33, 0x15, 0x23, 0x06, + 0x07, 0x17, 0x07, 0x27, 0x06, 0x07, 0x15, 0x23, 0x35, 0x26, 0x27, + 0x07, 0x27, 0x37, 0x26, 0x27, 0x23, 0x35, 0x33, 0x36, 0x37, 0x27, + 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, + 0x06, 0xe0, 0xa4, 0x57, 0x67, 0x48, 0x66, 0x57, 0xa5, 0x33, 0xa5, + 0x46, 0x09, 0xe9, 0xe9, 0x0a, 0x45, 0xa5, 0x33, 0xa5, 0x57, 0x66, + 0x48, 0x67, 0x57, 0xa4, 0x33, 0xa4, 0x45, 0x0a, 0xe8, 0xe8, 0x09, + 0x46, 0xa4, 0x9c, 0xa5, 0x78, 0x78, 0xa5, 0xa7, 0x76, 0x76, 0xa7, + 0x03, 0x8b, 0xa5, 0x45, 0x0a, 0xe9, 0xe9, 0x09, 0x46, 0xa5, 0x33, + 0xa5, 0x57, 0x66, 0x48, 0x67, 0x57, 0xa4, 0x33, 0xa4, 0x46, 0x09, + 0xe8, 0xe8, 0x0a, 0x45, 0xa4, 0x33, 0xa4, 0x57, 0x67, 0x48, 0x66, + 0x57, 0xa5, 0xfe, 0x7a, 0x76, 0xa7, 0xa7, 0x76, 0x76, 0xa7, 0xa7, + 0x00, 0x00, 0x00, 0x02, 0x01, 0x3c, 0x00, 0x46, 0x03, 0x90, 0x04, + 0x94, 0x00, 0x16, 0x00, 0x22, 0x00, 0x62, 0x40, 0x16, 0x17, 0x16, + 0x05, 0x0f, 0x13, 0x13, 0x01, 0x14, 0x1d, 0x11, 0x0b, 0x0b, 0x05, + 0x14, 0x03, 0x23, 0x24, 0x14, 0x12, 0x16, 0x00, 0x16, 0xb8, 0x01, + 0x02, 0xb6, 0x59, 0x0f, 0x00, 0x00, 0x02, 0x02, 0x1a, 0xb8, 0x01, + 0x02, 0x40, 0x0b, 0x59, 0x0e, 0x00, 0x02, 0x01, 0x0c, 0x03, 0x02, + 0x08, 0x08, 0x20, 0xb8, 0x01, 0x02, 0xb1, 0x59, 0x08, 0x00, 0x2f, + 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x5f, 0x5e, 0x5d, 0x32, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x11, + 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x33, 0x35, 0x2e, 0x01, + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, + 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x13, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0x58, 0xea, + 0x72, 0x94, 0xaf, 0x7b, 0x7b, 0xaf, 0x94, 0x72, 0xea, 0xea, 0x48, + 0xea, 0x2c, 0x84, 0x5e, 0x5f, 0x83, 0x84, 0x5e, 0x5b, 0x87, 0x01, + 0x78, 0xca, 0x0e, 0xaa, 0x70, 0x7b, 0xaf, 0xaf, 0x7b, 0x6f, 0xaa, + 0x0f, 0xca, 0x48, 0xea, 0xea, 0x02, 0x3a, 0x5e, 0x84, 0x86, 0x5c, + 0x5d, 0x85, 0x82, 0x00, 0x00, 0x02, 0x00, 0xa4, 0x00, 0x72, 0x04, + 0x04, 0x03, 0xd2, 0x00, 0x15, 0x00, 0x21, 0x00, 0x6c, 0x40, 0x18, + 0x16, 0x00, 0x0d, 0x06, 0x08, 0x08, 0x0c, 0x0b, 0x0b, 0x0e, 0x05, + 0x00, 0x1c, 0x10, 0x00, 0x10, 0x22, 0x23, 0x05, 0x0e, 0x03, 0x13, + 0x13, 0x19, 0xb8, 0x01, 0x02, 0x40, 0x19, 0x59, 0x30, 0x13, 0x01, + 0x13, 0x03, 0x06, 0x0d, 0x0b, 0x07, 0x40, 0x0f, 0x08, 0x1f, 0x08, + 0x2f, 0x08, 0x03, 0x09, 0x03, 0x08, 0x08, 0x03, 0x03, 0x1f, 0xb8, + 0x01, 0x02, 0xb1, 0x59, 0x03, 0x00, 0x2f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x1a, 0xcd, 0xcc, 0x39, 0x39, 0x10, + 0xc4, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x39, 0x33, 0x11, 0x33, 0x33, + 0x12, 0x39, 0x39, 0x11, 0x33, 0x31, 0x30, 0x13, 0x34, 0x36, 0x33, + 0x32, 0x17, 0x01, 0x2f, 0x01, 0x21, 0x17, 0x11, 0x2f, 0x01, 0x01, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0xa4, 0xaf, 0x7b, + 0x66, 0x51, 0x01, 0x01, 0xe2, 0x02, 0x01, 0x4b, 0x17, 0x37, 0x14, + 0xfe, 0xff, 0x40, 0xaf, 0x7b, 0x7b, 0xaf, 0x48, 0x84, 0x5e, 0x5f, + 0x83, 0x84, 0x5e, 0x5b, 0x87, 0x01, 0x9c, 0x7b, 0xaf, 0x40, 0x01, + 0x01, 0x14, 0x37, 0x17, 0xfe, 0xb5, 0x02, 0xe2, 0xfe, 0xff, 0x51, + 0x66, 0x7b, 0xaf, 0xaf, 0x7b, 0x5e, 0x84, 0x86, 0x5c, 0x5d, 0x85, + 0x82, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x66, 0x00, 0x00, 0x04, + 0x66, 0x04, 0xab, 0x00, 0x21, 0x00, 0x30, 0x40, 0x1a, 0x0c, 0x15, + 0x06, 0x10, 0x15, 0x11, 0x1b, 0x05, 0x22, 0x23, 0x09, 0x18, 0x0c, + 0x15, 0x15, 0x1f, 0x18, 0x2f, 0x18, 0x3f, 0x18, 0x03, 0x18, 0x18, + 0x10, 0x00, 0x00, 0x2f, 0x2f, 0x39, 0x2f, 0x5d, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x14, 0x16, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x14, 0x16, 0x33, 0x15, 0x21, 0x35, 0x32, 0x36, 0x35, + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x3e, 0x01, + 0x35, 0x02, 0x80, 0x8e, 0x6d, 0x82, 0x69, 0x88, 0x63, 0x3c, 0x84, + 0x25, 0xaf, 0x91, 0xfd, 0x20, 0x91, 0xaf, 0x26, 0x84, 0x3b, 0x64, + 0x87, 0x63, 0x88, 0x6d, 0x8e, 0x04, 0xab, 0x56, 0xd5, 0x56, 0x66, + 0x97, 0x4f, 0x6c, 0x82, 0x39, 0x2b, 0x85, 0x97, 0x38, 0x38, 0x97, + 0x85, 0x2b, 0x39, 0x82, 0x6c, 0x4d, 0x92, 0x6d, 0x55, 0xd7, 0x55, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x61, 0x00, 0x00, 0x04, 0x6b, 0x04, + 0xab, 0x00, 0x2a, 0x00, 0x30, 0x40, 0x1a, 0x11, 0x1a, 0x0b, 0x15, + 0x1a, 0x16, 0x20, 0x05, 0x2b, 0x2c, 0x0e, 0x1d, 0x11, 0x1a, 0x1a, + 0x1f, 0x1d, 0x2f, 0x1d, 0x3f, 0x1d, 0x03, 0x1d, 0x1d, 0x15, 0x00, + 0x00, 0x2f, 0x2f, 0x39, 0x2f, 0x5d, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x32, + 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x37, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x14, 0x16, 0x33, 0x15, 0x21, 0x35, + 0x32, 0x36, 0x35, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, + 0x33, 0x17, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, 0x02, 0x66, 0x55, + 0x7c, 0x44, 0x43, 0x33, 0x37, 0x87, 0xa8, 0x88, 0x63, 0x3d, 0x88, + 0x25, 0xaf, 0x91, 0xfd, 0x20, 0x91, 0xaf, 0x24, 0x87, 0x3f, 0x64, + 0x87, 0xa8, 0x87, 0x37, 0x33, 0x43, 0x44, 0x7c, 0x04, 0xab, 0x3d, + 0x6d, 0x40, 0x43, 0x85, 0x24, 0x03, 0x89, 0x71, 0x6c, 0x82, 0x3b, + 0x29, 0x85, 0x97, 0x38, 0x38, 0x97, 0x85, 0x29, 0x3b, 0x82, 0x6c, + 0x72, 0x88, 0x03, 0x24, 0x85, 0x43, 0x40, 0x6d, 0x3d, 0x00, 0x01, + 0x00, 0x66, 0xff, 0xff, 0x04, 0x66, 0x04, 0x68, 0x00, 0x1a, 0x00, + 0x15, 0x40, 0x09, 0x14, 0x0d, 0x0c, 0x05, 0x04, 0x1b, 0x1c, 0x09, + 0x00, 0x00, 0x2f, 0x2f, 0x11, 0x12, 0x01, 0x17, 0x39, 0x31, 0x30, + 0x05, 0x34, 0x26, 0x27, 0x02, 0x35, 0x34, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x17, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, + 0x03, 0x0e, 0x02, 0x15, 0x02, 0x4c, 0x77, 0x84, 0xeb, 0x43, 0x72, + 0x40, 0x59, 0x91, 0x1e, 0x06, 0x1e, 0x92, 0x58, 0x40, 0x72, 0x43, + 0xeb, 0x6c, 0x59, 0x36, 0x01, 0x44, 0xd1, 0x9e, 0x01, 0x1d, 0xa1, + 0x46, 0x72, 0x40, 0x83, 0x63, 0x64, 0x82, 0x40, 0x73, 0x45, 0xa1, + 0xfe, 0xe3, 0x85, 0x86, 0x77, 0x31, 0x00, 0x00, 0x01, 0x00, 0x84, + 0xff, 0xff, 0x04, 0x48, 0x04, 0xae, 0x00, 0x0b, 0x00, 0x11, 0xb5, + 0x00, 0x06, 0x0c, 0x0d, 0x0a, 0x04, 0x00, 0x2f, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x31, 0x30, 0x13, 0x35, 0x12, 0x13, 0x33, 0x12, + 0x13, 0x15, 0x02, 0x03, 0x23, 0x02, 0x84, 0xf9, 0xe3, 0x0c, 0xe3, + 0xf9, 0xf9, 0xe3, 0x0c, 0xe3, 0x02, 0x55, 0x03, 0x01, 0x1c, 0x01, + 0x3a, 0xfe, 0xc6, 0xfe, 0xe4, 0x03, 0xfe, 0xe4, 0xfe, 0xc6, 0x01, + 0x3a, 0x00, 0x00, 0x01, 0x01, 0x1a, 0x00, 0x18, 0x02, 0x98, 0x04, + 0x66, 0x00, 0x10, 0x00, 0x00, 0x01, 0x13, 0x1c, 0x01, 0x15, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, + 0x02, 0x84, 0x14, 0x88, 0x56, 0x45, 0x5b, 0x89, 0x53, 0x3a, 0x2a, + 0x04, 0x66, 0xfc, 0x59, 0x01, 0x02, 0x01, 0x3f, 0x64, 0x44, 0x38, + 0x41, 0x64, 0x17, 0x03, 0x44, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1a, + 0x00, 0x18, 0x03, 0xa9, 0x04, 0x66, 0x00, 0x1c, 0x00, 0x24, 0x40, + 0x0f, 0x12, 0x07, 0x07, 0x0d, 0x03, 0x19, 0x0d, 0x19, 0x1d, 0x1e, + 0x06, 0x13, 0x0a, 0x00, 0x10, 0x00, 0x2f, 0x33, 0xcd, 0x2f, 0x33, + 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x27, 0x11, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, + 0x33, 0x16, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x03, 0x14, + 0x23, 0x29, 0x6e, 0x5a, 0x88, 0x56, 0x45, 0x5b, 0x89, 0x53, 0x3a, + 0x2a, 0x26, 0x0c, 0x79, 0x57, 0x4d, 0x37, 0x30, 0x01, 0x10, 0x26, + 0x73, 0x41, 0x68, 0xa5, 0x1e, 0xfd, 0xaa, 0x44, 0x63, 0x44, 0x38, + 0x41, 0x64, 0x17, 0x03, 0x44, 0x74, 0x7b, 0x59, 0xa5, 0x66, 0x48, + 0x88, 0x33, 0x00, 0x00, 0x01, 0x00, 0x70, 0xff, 0xd2, 0x04, 0x3c, + 0x04, 0x83, 0x00, 0x1b, 0x00, 0x7e, 0x40, 0x4b, 0x1c, 0x16, 0x0b, + 0x0b, 0x11, 0x1d, 0x08, 0x08, 0x19, 0x11, 0x19, 0x20, 0x21, 0x89, + 0x0a, 0x01, 0x0a, 0x1c, 0x88, 0x1c, 0x01, 0x67, 0x1c, 0x01, 0x54, + 0x1c, 0x01, 0x1c, 0x89, 0x09, 0x01, 0x09, 0x1d, 0x27, 0x1d, 0x01, + 0x15, 0x1d, 0x01, 0x04, 0x1d, 0x01, 0x1d, 0x18, 0x79, 0x1f, 0x89, + 0x1f, 0x02, 0x1f, 0x17, 0x77, 0x17, 0x87, 0x17, 0x02, 0x56, 0x17, + 0x01, 0x17, 0x18, 0x00, 0x06, 0x06, 0x14, 0x89, 0x1e, 0x01, 0x1e, + 0x18, 0x0e, 0x3f, 0x14, 0x01, 0x14, 0x00, 0x2f, 0x5d, 0xcd, 0x2f, + 0x33, 0x5d, 0x12, 0x39, 0x2f, 0xcd, 0x11, 0x33, 0x5d, 0x5d, 0x11, + 0x33, 0x5d, 0x11, 0x33, 0x5d, 0x5d, 0x5d, 0x11, 0x33, 0x5d, 0x33, + 0x5d, 0x5d, 0x5d, 0x11, 0x33, 0x5d, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, + 0x25, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x05, + 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, + 0x17, 0x11, 0x25, 0x11, 0x14, 0x06, 0x03, 0x5e, 0x45, 0x5b, 0x89, + 0x53, 0x3a, 0x2a, 0xfd, 0xf0, 0x88, 0x56, 0x45, 0x5b, 0x89, 0x53, + 0x3a, 0x2a, 0x02, 0x8c, 0x88, 0x2c, 0x44, 0x38, 0x41, 0x64, 0x17, + 0x02, 0xb7, 0x51, 0xfc, 0xdd, 0x44, 0x63, 0x44, 0x38, 0x41, 0x64, + 0x17, 0x03, 0x43, 0x64, 0xfc, 0x50, 0x44, 0x63, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x70, 0xff, 0xd2, 0x04, 0x3c, 0x04, 0x83, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x00, 0x25, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, + 0x32, 0x17, 0x11, 0x05, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, + 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x25, 0x11, 0x14, 0x06, 0x01, + 0x25, 0x35, 0x05, 0x03, 0x5e, 0x45, 0x5b, 0x89, 0x53, 0x3a, 0x2a, + 0xfd, 0xf0, 0x88, 0x56, 0x45, 0x5b, 0x89, 0x53, 0x3a, 0x2a, 0x02, + 0x8c, 0x88, 0xfe, 0x3a, 0x02, 0x10, 0xfd, 0xf0, 0x2c, 0x44, 0x38, + 0x41, 0x64, 0x17, 0x01, 0xb3, 0x51, 0xfd, 0xe1, 0x44, 0x63, 0x44, + 0x38, 0x41, 0x64, 0x17, 0x03, 0x43, 0x64, 0xfc, 0x50, 0x44, 0x63, + 0x02, 0xf8, 0x51, 0x78, 0x51, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x98, 0xff, 0x38, 0x04, 0x34, 0x05, 0xcc, 0x00, 0x1b, 0x00, 0x1f, + 0x00, 0x78, 0x40, 0x40, 0x06, 0x0b, 0x0f, 0x03, 0x07, 0x1c, 0x13, + 0x03, 0x16, 0x1a, 0x03, 0x03, 0x02, 0x07, 0x02, 0x20, 0x21, 0x1f, + 0x12, 0x17, 0x17, 0x13, 0x16, 0x19, 0x1d, 0x0f, 0x12, 0x1e, 0x0c, + 0x1c, 0x1a, 0x01, 0x04, 0x0b, 0x1f, 0x05, 0x08, 0x0c, 0x12, 0x1d, + 0x16, 0x04, 0x10, 0x0d, 0x08, 0x1f, 0x04, 0x1a, 0x04, 0x1b, 0x09, + 0x10, 0x0d, 0x1b, 0x09, 0x09, 0x1b, 0x0d, 0x10, 0x04, 0x14, 0x07, + 0x03, 0x12, 0x00, 0x3f, 0xc4, 0xc6, 0x17, 0x39, 0x2f, 0x2f, 0x2f, + 0x2f, 0x11, 0x12, 0x17, 0x39, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x32, 0x2f, 0x01, 0x2f, 0x33, 0x11, 0x12, 0x39, + 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, 0x11, 0x17, 0x33, 0x31, + 0x30, 0x01, 0x07, 0x11, 0x23, 0x11, 0x05, 0x11, 0x23, 0x11, 0x07, + 0x35, 0x37, 0x11, 0x07, 0x35, 0x37, 0x11, 0x33, 0x11, 0x25, 0x11, + 0x33, 0x11, 0x37, 0x15, 0x07, 0x11, 0x37, 0x05, 0x11, 0x05, 0x11, + 0x04, 0x34, 0xc8, 0x60, 0xfe, 0xb4, 0x60, 0xc8, 0xc8, 0xc8, 0xc8, + 0x60, 0x01, 0x4c, 0x60, 0xc8, 0xc8, 0xc8, 0xfe, 0xd8, 0xfe, 0xb4, + 0x01, 0xbd, 0x59, 0xfe, 0x9c, 0x01, 0x3d, 0xa0, 0xfe, 0x9b, 0x01, + 0x3e, 0x59, 0x9f, 0x59, 0x01, 0xf5, 0x59, 0x9f, 0x59, 0x01, 0x47, + 0xfe, 0xe0, 0xa0, 0x01, 0x5c, 0xfe, 0xcb, 0x59, 0x9f, 0x59, 0xfe, + 0x0b, 0x59, 0x80, 0x01, 0xf5, 0xa0, 0xfe, 0x0b, 0x00, 0x00, 0x01, + 0x00, 0x5f, 0x00, 0x00, 0x04, 0x4c, 0x05, 0x45, 0x00, 0x15, 0x00, + 0x5f, 0x40, 0x31, 0x0f, 0x0b, 0x13, 0x13, 0x08, 0x04, 0x0d, 0x11, + 0x11, 0x00, 0x14, 0x00, 0x14, 0x16, 0x17, 0x12, 0x02, 0x03, 0x02, + 0x60, 0x59, 0x0f, 0x03, 0x0e, 0x06, 0x07, 0x06, 0x60, 0x59, 0x0b, + 0x07, 0x0f, 0x07, 0x01, 0x0c, 0x03, 0x03, 0x07, 0x03, 0x07, 0x00, + 0x09, 0x03, 0x00, 0x13, 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x5f, 0x5e, 0x5d, + 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x32, 0x32, 0x32, 0x11, 0x33, 0x33, 0x31, 0x30, 0x33, 0x11, 0x23, + 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, + 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0xed, 0x8e, 0x8e, + 0x8e, 0x8e, 0xbf, 0x01, 0x85, 0xfe, 0x7c, 0x01, 0x84, 0xfe, 0x7b, + 0x02, 0xa0, 0x01, 0xe4, 0x85, 0x94, 0x85, 0x01, 0xc3, 0xfe, 0x3d, + 0x85, 0x94, 0x85, 0xfe, 0xb8, 0x9c, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x9e, 0x00, 0x00, 0x03, 0x2e, 0x05, 0xcc, 0x00, 0x13, 0x00, 0x44, + 0x40, 0x23, 0x0f, 0x0b, 0x13, 0x04, 0x08, 0x13, 0x03, 0x00, 0x00, + 0x14, 0x15, 0x12, 0x02, 0x03, 0x02, 0x50, 0x59, 0x0f, 0x03, 0x0e, + 0x06, 0x07, 0x06, 0x50, 0x59, 0x0b, 0x07, 0x03, 0x07, 0x03, 0x07, + 0x09, 0x01, 0x00, 0x15, 0x00, 0x3f, 0x3f, 0x39, 0x39, 0x2f, 0x2f, + 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x11, + 0x02, 0x0c, 0x6e, 0x6e, 0x6e, 0x6e, 0xb4, 0x6e, 0x6e, 0x6e, 0x6e, + 0x02, 0x0c, 0x85, 0x94, 0x85, 0x02, 0x22, 0xfd, 0xde, 0x85, 0x94, + 0x85, 0xfd, 0xf4, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x04, + 0x4c, 0x05, 0x45, 0x00, 0x1b, 0x00, 0x4e, 0x40, 0x28, 0x12, 0x13, + 0x13, 0x0d, 0x19, 0x19, 0x00, 0x05, 0x06, 0x06, 0x0a, 0x00, 0x00, + 0x1c, 0x1d, 0x16, 0x0f, 0x60, 0x59, 0x06, 0x16, 0x13, 0x09, 0x09, + 0x02, 0x60, 0x59, 0x16, 0x09, 0x16, 0x09, 0x00, 0x0b, 0x03, 0x00, + 0x19, 0x5f, 0x59, 0x00, 0x12, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x33, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x11, 0x27, + 0x22, 0x06, 0x15, 0x23, 0x3e, 0x01, 0x33, 0x17, 0x11, 0x33, 0x11, + 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x06, 0x23, 0x22, 0x27, + 0x11, 0x21, 0x15, 0xed, 0x23, 0x27, 0x1b, 0x82, 0x02, 0x6b, 0x54, + 0x26, 0xbf, 0x1c, 0x1a, 0x1f, 0x1a, 0x06, 0x82, 0x5a, 0x60, 0x21, + 0x1c, 0x02, 0xa0, 0x02, 0xb9, 0x04, 0x30, 0x2f, 0x68, 0x7c, 0x03, + 0x02, 0x06, 0xfd, 0xb2, 0x05, 0x2f, 0x30, 0x72, 0x72, 0x05, 0xfe, + 0x2a, 0x9c, 0x00, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x04, 0x5f, + 0x05, 0x45, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x4c, 0x40, 0x27, 0x18, + 0x14, 0x06, 0x06, 0x0b, 0x16, 0x07, 0x10, 0x00, 0x07, 0x00, 0x1c, + 0x1d, 0x18, 0x05, 0x5f, 0x59, 0x17, 0x09, 0x0a, 0x09, 0x60, 0x59, + 0x14, 0x0a, 0x18, 0x0a, 0x18, 0x0a, 0x07, 0x0c, 0x0c, 0x13, 0x5f, + 0x59, 0x0c, 0x03, 0x07, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x39, 0x18, 0x2f, 0x2f, 0x11, 0x33, 0x2b, 0x11, 0x00, + 0x33, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, + 0x32, 0x32, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x14, 0x0e, 0x01, + 0x23, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, + 0x04, 0x07, 0x34, 0x21, 0x23, 0x15, 0x21, 0x15, 0x21, 0x15, 0x33, + 0x32, 0x36, 0x04, 0x5f, 0x77, 0xdd, 0x91, 0xfe, 0xe7, 0xbf, 0x8d, + 0x8d, 0x01, 0xcc, 0xee, 0x01, 0x03, 0xc0, 0xfe, 0xb8, 0xf6, 0x01, + 0x5d, 0xfe, 0xa3, 0xfe, 0x95, 0xab, 0x03, 0xb1, 0x7d, 0xc4, 0x6e, + 0xfd, 0xfe, 0x03, 0x62, 0x85, 0x01, 0x5e, 0xd5, 0xc2, 0xfe, 0xc5, + 0x85, 0xc9, 0x92, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa2, 0xfe, + 0x57, 0x04, 0x99, 0x05, 0x45, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x51, + 0x40, 0x2a, 0x13, 0x16, 0x16, 0x10, 0x1c, 0x00, 0x00, 0x0b, 0x15, + 0x14, 0x14, 0x18, 0x10, 0x10, 0x06, 0x0b, 0x03, 0x20, 0x21, 0x13, + 0x17, 0x1c, 0x17, 0x5f, 0x59, 0x1c, 0x1c, 0x0c, 0x15, 0x12, 0x0c, + 0x1b, 0x5f, 0x59, 0x0c, 0x03, 0x08, 0x03, 0x5f, 0x59, 0x08, 0x1c, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, + 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x05, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, + 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x07, 0x01, 0x23, 0x01, 0x23, 0x01, 0x34, 0x29, 0x01, 0x11, + 0x21, 0x32, 0x36, 0x01, 0x61, 0x2f, 0x34, 0x3c, 0x32, 0x46, 0x3e, + 0x81, 0x8b, 0x01, 0xe2, 0xe9, 0xf4, 0xbb, 0x9d, 0x01, 0x90, 0xdc, + 0xfe, 0x92, 0xee, 0x02, 0x40, 0xfe, 0xd0, 0xfe, 0xf0, 0x01, 0x18, + 0x92, 0x96, 0x6d, 0x51, 0x4c, 0x10, 0x9e, 0x11, 0x94, 0x88, 0x05, + 0xd2, 0xc1, 0xb4, 0x95, 0xcc, 0x1a, 0xfd, 0xab, 0x02, 0x3f, 0x01, + 0x8e, 0xdf, 0xfe, 0x2a, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x6e, + 0xfe, 0x58, 0x04, 0x91, 0x05, 0xcc, 0x00, 0x29, 0x00, 0x30, 0x00, + 0x36, 0x00, 0x3b, 0x00, 0xaa, 0x40, 0x65, 0x27, 0x2a, 0x30, 0x3a, + 0x39, 0x15, 0x06, 0x14, 0x29, 0x29, 0x31, 0x03, 0x0d, 0x0e, 0x3b, + 0x23, 0x2e, 0x2e, 0x18, 0x12, 0x08, 0x06, 0x34, 0x33, 0x01, 0x06, + 0x00, 0x13, 0x13, 0x14, 0x14, 0x18, 0x18, 0x0e, 0x03, 0x00, 0x04, + 0x3c, 0x3d, 0x08, 0x39, 0x0a, 0x33, 0x2a, 0x27, 0x2a, 0x50, 0x59, + 0x34, 0x2f, 0x3b, 0x2f, 0x51, 0x59, 0x07, 0x12, 0x15, 0x0f, 0x3b, + 0x1f, 0x3b, 0x02, 0x19, 0x03, 0x3b, 0x3b, 0x10, 0x23, 0x01, 0x27, + 0x16, 0x20, 0x1b, 0x51, 0x59, 0x20, 0x15, 0x13, 0x01, 0x10, 0x0a, + 0x50, 0x59, 0x0f, 0x0d, 0x1f, 0x0d, 0x02, 0x2f, 0x0d, 0x8f, 0x0d, + 0xff, 0x0d, 0x03, 0x0d, 0x0d, 0x10, 0x10, 0x00, 0x1b, 0x00, 0x3f, + 0x3f, 0x33, 0x2f, 0x5d, 0x71, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x33, 0x33, 0x12, 0x39, 0x2f, 0x5f, 0x5e, 0x5d, + 0x39, 0x39, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x2b, 0x11, 0x00, 0x33, + 0x12, 0x39, 0x39, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x32, 0x11, 0x12, 0x17, 0x39, 0x31, 0x30, 0x1b, + 0x01, 0x26, 0x35, 0x34, 0x36, 0x37, 0x33, 0x13, 0x26, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x12, 0x21, 0x32, 0x17, 0x13, 0x33, 0x03, 0x16, + 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, + 0x26, 0x27, 0x23, 0x0e, 0x01, 0x2b, 0x01, 0x03, 0x13, 0x3e, 0x02, + 0x3d, 0x01, 0x07, 0x05, 0x14, 0x17, 0x13, 0x0e, 0x01, 0x01, 0x34, + 0x27, 0x07, 0x37, 0x6e, 0xbe, 0xb7, 0xdd, 0xf6, 0x08, 0x80, 0x30, + 0x4d, 0x79, 0x6e, 0x0b, 0xbc, 0x2e, 0x01, 0x84, 0x64, 0x51, 0xb6, + 0x8e, 0xd1, 0x72, 0x2a, 0x3b, 0x1a, 0x21, 0x44, 0x47, 0x64, 0x5b, + 0x06, 0x06, 0x45, 0xb7, 0x83, 0x0b, 0xb4, 0xf0, 0x61, 0x98, 0x55, + 0x94, 0xfe, 0x87, 0x40, 0xa7, 0x7b, 0x6c, 0x02, 0x0d, 0x0e, 0x4d, + 0x5b, 0xfe, 0x58, 0x01, 0xaa, 0x42, 0xea, 0xa8, 0xb4, 0x06, 0x01, + 0x1f, 0x16, 0x52, 0x5a, 0x11, 0x01, 0x24, 0x19, 0x01, 0x97, 0xfe, + 0x2c, 0x5e, 0xb8, 0xfe, 0x2e, 0x50, 0x51, 0x07, 0x70, 0x10, 0x69, + 0x70, 0x7c, 0x67, 0xfe, 0x6c, 0x02, 0x1b, 0x01, 0x5f, 0x99, 0x51, + 0x59, 0x03, 0xe8, 0x67, 0x2f, 0x01, 0x77, 0x0f, 0x6e, 0x01, 0x40, + 0x49, 0x28, 0xae, 0x02, 0x00, 0x02, 0x00, 0x8d, 0xfe, 0x58, 0x04, + 0x67, 0x05, 0xcc, 0x00, 0x1c, 0x00, 0x1f, 0x00, 0x70, 0x40, 0x28, + 0x05, 0x1d, 0x1d, 0x1b, 0x16, 0x0d, 0x0c, 0x09, 0x04, 0x08, 0x17, + 0x17, 0x06, 0x1e, 0x19, 0x03, 0x18, 0x07, 0x18, 0x02, 0x1b, 0x07, + 0x08, 0x08, 0x12, 0x1b, 0x12, 0x20, 0x21, 0x18, 0x1b, 0x1d, 0x0d, + 0x19, 0x16, 0x04, 0x14, 0x01, 0x14, 0x0f, 0xb8, 0x01, 0x0a, 0x40, + 0x11, 0x59, 0x14, 0x16, 0x07, 0x01, 0x1f, 0x0c, 0x00, 0x01, 0x00, + 0x50, 0x59, 0x09, 0x05, 0x03, 0x01, 0x0f, 0x00, 0x3f, 0xc6, 0x33, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x33, 0x18, 0x3f, 0x3f, 0x2b, 0x11, + 0x12, 0x00, 0x17, 0x39, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x12, 0x17, 0x39, + 0x32, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x35, 0x33, 0x13, 0x33, 0x11, 0x21, 0x13, 0x33, 0x03, 0x33, + 0x15, 0x23, 0x01, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, + 0x27, 0x03, 0x23, 0x13, 0x26, 0x35, 0x11, 0x1b, 0x01, 0x23, 0xbe, + 0xaa, 0x3a, 0x78, 0x01, 0x0d, 0xb2, 0x8e, 0xb2, 0x15, 0x54, 0xfe, + 0xb8, 0x27, 0x7b, 0x86, 0xa3, 0xa9, 0xa6, 0x7d, 0x4c, 0xc5, 0x8f, + 0xf3, 0x1a, 0xb4, 0xce, 0xce, 0x03, 0xac, 0x8e, 0x01, 0x1a, 0xfe, + 0xe6, 0x01, 0x92, 0xfe, 0x6e, 0x8e, 0xfd, 0x19, 0x40, 0x22, 0x89, + 0x2e, 0x27, 0xfe, 0x41, 0x02, 0x26, 0x3c, 0x53, 0x02, 0x9f, 0xfe, + 0x2d, 0x01, 0xd3, 0x00, 0x00, 0x01, 0x00, 0xa2, 0xfe, 0x68, 0x04, + 0xb5, 0x05, 0x45, 0x00, 0x0f, 0x00, 0x52, 0x40, 0x2d, 0x0b, 0x07, + 0x07, 0x08, 0x0c, 0x04, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x0f, 0x08, + 0x0f, 0x10, 0x11, 0x0b, 0x06, 0x5f, 0x59, 0x00, 0x0b, 0x10, 0x0b, + 0xb0, 0x0b, 0x03, 0x13, 0x03, 0x0b, 0x0b, 0x04, 0x0d, 0x09, 0x03, + 0x08, 0x12, 0x04, 0x0f, 0x5f, 0x59, 0x04, 0x12, 0x02, 0x1b, 0x00, + 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, + 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x04, 0xb5, 0xb1, 0x99, 0xfd, + 0xf6, 0xbf, 0xbf, 0x02, 0x0a, 0xbf, 0xa0, 0xfd, 0xc8, 0x01, 0x98, + 0x02, 0x6f, 0xfd, 0x91, 0x05, 0x45, 0xfd, 0xca, 0x02, 0x36, 0xfb, + 0x5b, 0x00, 0x01, 0x00, 0xb9, 0xfe, 0x68, 0x04, 0x8e, 0x05, 0xcc, + 0x00, 0x1c, 0x00, 0x3f, 0x40, 0x20, 0x1c, 0x15, 0x15, 0x16, 0x0a, + 0x09, 0x09, 0x0c, 0x07, 0x16, 0x07, 0x1d, 0x1e, 0x17, 0x01, 0x16, + 0x15, 0x0c, 0x07, 0x51, 0x59, 0x0c, 0x15, 0x0a, 0x1b, 0x03, 0x11, + 0x50, 0x59, 0x00, 0x03, 0x10, 0x00, 0x3f, 0x33, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x33, 0x11, + 0x23, 0x11, 0x23, 0x11, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, + 0x11, 0x23, 0x11, 0x33, 0x11, 0x14, 0x06, 0x07, 0x01, 0x68, 0x3a, + 0xa3, 0x7d, 0xb0, 0xa7, 0x75, 0xa3, 0x87, 0x2a, 0x60, 0x55, 0x7f, + 0x99, 0xb4, 0xb4, 0x07, 0x01, 0x03, 0x81, 0x6a, 0x63, 0xaf, 0xce, + 0xfd, 0xb2, 0xfd, 0xe5, 0x01, 0x98, 0x02, 0xae, 0x72, 0x6f, 0x34, + 0xb0, 0x95, 0xfd, 0x82, 0x05, 0xcc, 0xfe, 0x7e, 0x3d, 0x82, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8e, 0xfe, 0x68, 0x04, 0xca, + 0x05, 0x45, 0x00, 0x0f, 0x00, 0x4f, 0x40, 0x28, 0x0d, 0x09, 0x09, + 0x0a, 0x00, 0x07, 0x0e, 0x0f, 0x0f, 0x06, 0x01, 0x01, 0x04, 0x03, + 0x03, 0x07, 0x0a, 0x03, 0x10, 0x11, 0x08, 0x0d, 0x07, 0x00, 0x0d, + 0x00, 0x06, 0x0e, 0x0b, 0x03, 0x0a, 0x12, 0x06, 0x01, 0x5f, 0x59, + 0x06, 0x12, 0x04, 0x1b, 0x00, 0x3f, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x3f, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, + 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x09, 0x01, 0x33, + 0x11, 0x23, 0x11, 0x23, 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, 0x11, + 0x01, 0x33, 0x02, 0x72, 0x01, 0xcd, 0x8b, 0xb1, 0x42, 0xfe, 0x19, + 0xa3, 0xbf, 0xbf, 0x02, 0x3c, 0xe1, 0x03, 0x09, 0xfd, 0x97, 0xfd, + 0xc8, 0x01, 0x98, 0x02, 0x7e, 0xa9, 0xfe, 0x2b, 0x05, 0x45, 0xfd, + 0x5f, 0x02, 0xa1, 0x00, 0x00, 0x01, 0x00, 0xec, 0xfe, 0x68, 0x04, + 0x64, 0x05, 0xcc, 0x00, 0x0f, 0x00, 0x50, 0x40, 0x29, 0x0a, 0x06, + 0x06, 0x07, 0x0d, 0x04, 0x0b, 0x0c, 0x0c, 0x03, 0x0e, 0x0e, 0x01, + 0x00, 0x00, 0x04, 0x07, 0x03, 0x10, 0x11, 0x05, 0x0a, 0x04, 0x0d, + 0x0a, 0x0d, 0x03, 0x0b, 0x0f, 0x08, 0x01, 0x07, 0x15, 0x03, 0x0e, + 0x51, 0x59, 0x03, 0x15, 0x01, 0x1b, 0x00, 0x3f, 0x3f, 0x2b, 0x00, + 0x18, 0x3f, 0x3f, 0x3f, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x23, 0x11, 0x23, 0x01, 0x07, 0x11, 0x23, 0x11, 0x33, 0x11, 0x01, + 0x33, 0x09, 0x01, 0x33, 0x04, 0x64, 0xa3, 0x2f, 0xfe, 0x92, 0x84, + 0xb4, 0xb4, 0x01, 0xdb, 0xd3, 0xfe, 0x49, 0x01, 0x6c, 0x61, 0xfe, + 0x68, 0x01, 0x98, 0x01, 0xf3, 0x62, 0xfe, 0x6f, 0x05, 0xcc, 0xfc, + 0x61, 0x02, 0x0d, 0xfe, 0x2f, 0xfe, 0x1a, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x49, 0xfe, 0x68, 0x04, 0x83, 0x05, 0x45, 0x00, 0x0b, 0x00, + 0x3c, 0x40, 0x1f, 0x0a, 0x04, 0x02, 0x0b, 0x0b, 0x05, 0x09, 0x09, + 0x06, 0x04, 0x03, 0x0c, 0x0d, 0x09, 0x06, 0x07, 0x06, 0x5f, 0x59, + 0x07, 0x03, 0x04, 0x0a, 0x03, 0x0a, 0x5f, 0x59, 0x03, 0x12, 0x01, + 0x1b, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x11, 0x21, 0x35, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x04, 0x83, 0xb1, 0xfc, + 0x77, 0x03, 0x32, 0xfd, 0x17, 0x03, 0xc2, 0xfc, 0xce, 0x03, 0x61, + 0xfe, 0x68, 0x01, 0x98, 0x8f, 0x04, 0x1a, 0x9c, 0x8b, 0xfb, 0xe2, + 0x00, 0x01, 0x00, 0xa4, 0xfe, 0x68, 0x04, 0x29, 0x04, 0x3a, 0x00, + 0x0b, 0x00, 0x3d, 0x40, 0x1f, 0x07, 0x01, 0x0b, 0x08, 0x08, 0x02, + 0x06, 0x06, 0x03, 0x01, 0x03, 0x0c, 0x0d, 0x0a, 0x1b, 0x06, 0x03, + 0x04, 0x03, 0x50, 0x59, 0x04, 0x0f, 0x01, 0x07, 0x00, 0x07, 0x50, + 0x59, 0x00, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x33, 0x35, + 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x21, 0x11, 0x23, 0x11, 0xa4, + 0x02, 0x95, 0xfd, 0x93, 0x03, 0x38, 0xfd, 0x6a, 0x02, 0xbb, 0xa3, + 0x89, 0x03, 0x26, 0x8b, 0x89, 0xfc, 0xda, 0xfd, 0xdd, 0x01, 0x98, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x71, 0xff, 0xec, 0x04, 0x47, 0x05, + 0x5a, 0x00, 0x0e, 0x00, 0x19, 0x00, 0x3a, 0x40, 0x1d, 0x0f, 0x07, + 0x0c, 0x02, 0x14, 0x14, 0x00, 0x07, 0x00, 0x1a, 0x1b, 0x0d, 0x03, + 0x0a, 0x17, 0x5f, 0x59, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x5f, 0x59, + 0x02, 0x04, 0x13, 0x01, 0x12, 0x00, 0x3f, 0x3f, 0x33, 0x2b, 0x00, + 0x18, 0x3f, 0x33, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x21, + 0x23, 0x35, 0x06, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x21, 0x32, + 0x17, 0x37, 0x33, 0x01, 0x10, 0x12, 0x33, 0x32, 0x37, 0x11, 0x26, + 0x23, 0x22, 0x02, 0x04, 0x47, 0xbe, 0x66, 0xa3, 0xfe, 0xfe, 0xef, + 0x01, 0x11, 0x01, 0x07, 0xb1, 0x69, 0x85, 0x1f, 0xfc, 0xf3, 0xab, + 0xb0, 0x99, 0x5a, 0x4f, 0xaf, 0xab, 0xa5, 0x4b, 0x5f, 0x01, 0x70, + 0x01, 0x4d, 0x01, 0x51, 0x01, 0x60, 0x5c, 0x4d, 0xfd, 0x5e, 0xfe, + 0xef, 0xfe, 0xef, 0x79, 0x03, 0x3e, 0x80, 0xfe, 0xfe, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x60, 0x00, 0x00, 0x04, 0xcd, 0x04, 0x4e, 0x00, + 0x14, 0x00, 0x2d, 0x40, 0x0d, 0x09, 0x08, 0x07, 0x06, 0x0c, 0x14, + 0x0c, 0x08, 0x03, 0x15, 0x16, 0x12, 0x02, 0xb8, 0x01, 0x0a, 0xb7, + 0x59, 0x12, 0x10, 0x08, 0x0f, 0x0c, 0x07, 0x15, 0x00, 0x3f, 0x33, + 0x3f, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x26, 0x23, 0x22, 0x06, 0x07, 0x01, + 0x23, 0x01, 0x33, 0x13, 0x16, 0x17, 0x3f, 0x01, 0x13, 0x3e, 0x01, + 0x33, 0x32, 0x17, 0x04, 0x86, 0x1b, 0x21, 0x2a, 0x32, 0x17, 0xfe, + 0xe7, 0xd5, 0xfe, 0x77, 0xc0, 0xee, 0x0d, 0x38, 0x10, 0x3a, 0x8e, + 0x2a, 0x7a, 0x68, 0x53, 0x43, 0x03, 0xa2, 0x10, 0x3a, 0x44, 0xfc, + 0xcc, 0x04, 0x3a, 0xfd, 0x40, 0x28, 0xc5, 0x35, 0xb6, 0x01, 0xd0, + 0x89, 0x7d, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x14, + 0x05, 0x45, 0x00, 0x21, 0x00, 0x4e, 0x40, 0x27, 0x07, 0x06, 0x0c, + 0x0f, 0x0e, 0x03, 0x01, 0x00, 0x12, 0x12, 0x03, 0x0c, 0x03, 0x08, + 0x1b, 0x1b, 0x23, 0x09, 0x08, 0x08, 0x22, 0x03, 0x0e, 0x0e, 0x07, + 0x18, 0x18, 0x1e, 0x5f, 0x59, 0x18, 0x03, 0x08, 0x03, 0x12, 0x0c, + 0x01, 0x07, 0x12, 0x00, 0x3f, 0x33, 0x33, 0x33, 0x3f, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x17, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x21, 0x23, 0x0b, 0x01, + 0x07, 0x06, 0x03, 0x23, 0x03, 0x33, 0x13, 0x16, 0x17, 0x36, 0x13, + 0x33, 0x13, 0x16, 0x17, 0x1b, 0x01, 0x3e, 0x02, 0x33, 0x32, 0x16, + 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x07, 0x03, 0xc8, 0xd0, 0x5a, + 0x4f, 0x1d, 0x1b, 0x70, 0xd4, 0xd3, 0xbd, 0x6d, 0x11, 0x10, 0x22, + 0x8a, 0xaf, 0x63, 0x19, 0x30, 0x23, 0x51, 0x0b, 0x37, 0x57, 0x4f, + 0x1a, 0x3e, 0x0e, 0x2b, 0x18, 0x12, 0x22, 0x27, 0x0b, 0x01, 0x8c, + 0x01, 0x68, 0x8e, 0x84, 0xfe, 0x1e, 0x05, 0x45, 0xfc, 0xbd, 0x89, + 0xd1, 0xa1, 0x02, 0x5a, 0xfe, 0x69, 0x67, 0xfd, 0x01, 0x5a, 0x02, + 0x55, 0x56, 0x68, 0x30, 0x0c, 0x07, 0x8f, 0x06, 0x39, 0x45, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x15, 0x00, 0x00, 0x05, 0x00, 0x04, 0x4e, + 0x00, 0x28, 0x00, 0x00, 0x21, 0x23, 0x03, 0x2f, 0x01, 0x0f, 0x01, + 0x03, 0x23, 0x03, 0x33, 0x13, 0x1e, 0x03, 0x15, 0x3f, 0x01, 0x13, + 0x33, 0x13, 0x17, 0x34, 0x37, 0x12, 0x36, 0x37, 0x36, 0x33, 0x32, + 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x07, 0x03, + 0xc8, 0xcc, 0x76, 0x11, 0x28, 0x15, 0x26, 0x7b, 0xcb, 0xb7, 0xb2, + 0x5d, 0x03, 0x0b, 0x0b, 0x08, 0x17, 0x23, 0x6e, 0xc1, 0x69, 0x37, + 0x1a, 0x35, 0x2f, 0x34, 0x32, 0x5e, 0x05, 0x05, 0x1a, 0x3e, 0x0e, + 0x2b, 0x18, 0x12, 0x22, 0x28, 0x0a, 0x01, 0xaf, 0x45, 0xad, 0x5c, + 0x9a, 0xfe, 0x55, 0x04, 0x3a, 0xfd, 0xa1, 0x18, 0x4f, 0x59, 0x55, + 0x1d, 0x60, 0x8a, 0x01, 0x80, 0xfe, 0x7f, 0xe9, 0x45, 0xac, 0x01, + 0x5a, 0xf1, 0x36, 0x33, 0x0c, 0x07, 0x8f, 0x06, 0x3d, 0x41, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4b, 0x04, 0x45, + 0x00, 0x18, 0x00, 0x22, 0x00, 0x5a, 0x40, 0x26, 0x1b, 0x11, 0x19, + 0x15, 0x19, 0x05, 0x06, 0x03, 0x08, 0x02, 0x02, 0x01, 0x15, 0x1d, + 0x0e, 0x18, 0x00, 0x00, 0x0e, 0x15, 0x08, 0x04, 0x23, 0x24, 0x03, + 0x11, 0x1b, 0x11, 0x51, 0x59, 0x06, 0x1b, 0x1b, 0x02, 0x18, 0x0f, + 0x0b, 0x20, 0xb8, 0x01, 0x0a, 0xb5, 0x59, 0x0b, 0x10, 0x15, 0x02, + 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x12, 0x39, + 0x2f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x12, 0x39, 0x39, + 0x32, 0x32, 0x11, 0x12, 0x39, 0x39, 0x31, 0x30, 0x09, 0x01, 0x23, + 0x03, 0x07, 0x27, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x15, 0x14, 0x06, 0x07, 0x17, 0x16, 0x1f, 0x01, 0x3f, 0x01, 0x13, + 0x05, 0x14, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x04, + 0x4b, 0xfe, 0x6c, 0xd5, 0xc6, 0x6a, 0x31, 0x6d, 0x26, 0x82, 0x6c, + 0x5c, 0x71, 0x63, 0x6e, 0x55, 0x13, 0x24, 0x0e, 0x10, 0x3a, 0xf6, + 0xfd, 0xd7, 0x22, 0x69, 0x22, 0x1d, 0x1d, 0x2f, 0x04, 0x3a, 0xfb, + 0xc6, 0x02, 0x23, 0x24, 0x7d, 0x27, 0x72, 0x48, 0x66, 0x82, 0x78, + 0x63, 0x59, 0x80, 0x34, 0xe3, 0x31, 0x87, 0x35, 0x35, 0xb6, 0x02, + 0xc2, 0xde, 0x34, 0x4e, 0x3b, 0x4d, 0x22, 0x2b, 0x27, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xca, 0x00, 0x00, 0x04, 0x02, 0x05, 0x45, 0x00, + 0x07, 0x00, 0x31, 0x40, 0x1b, 0x05, 0x01, 0x01, 0x02, 0x02, 0x06, + 0x08, 0x09, 0x05, 0x00, 0x5f, 0x59, 0x50, 0x05, 0x01, 0xa0, 0x05, + 0xb0, 0x05, 0x02, 0x05, 0x05, 0x02, 0x03, 0x03, 0x02, 0x12, 0x00, + 0x3f, 0x3f, 0x12, 0x39, 0x2f, 0x5d, 0x71, 0x2b, 0x11, 0x12, 0x01, + 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, + 0x11, 0x33, 0x11, 0x21, 0x15, 0x01, 0x89, 0xbf, 0xbf, 0x02, 0x79, + 0x02, 0x6f, 0xfd, 0x91, 0x05, 0x45, 0xfd, 0xca, 0xa0, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x19, 0x00, 0x00, 0x03, 0xb4, 0x04, 0x3a, 0x00, + 0x07, 0x00, 0x2b, 0x40, 0x16, 0x01, 0x05, 0x05, 0x06, 0x06, 0x02, + 0x08, 0x09, 0x01, 0x04, 0x51, 0x59, 0x2f, 0x01, 0x01, 0x01, 0x01, + 0x06, 0x07, 0x0f, 0x06, 0x15, 0x00, 0x3f, 0x3f, 0x12, 0x39, 0x2f, + 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x01, + 0xcd, 0x01, 0xe7, 0xfe, 0x19, 0xb4, 0x04, 0x3a, 0xfe, 0x36, 0x83, + 0xfe, 0x13, 0x04, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x24, + 0xff, 0xec, 0x04, 0xa9, 0x04, 0x52, 0x00, 0x15, 0x00, 0x1e, 0x00, + 0x3b, 0x40, 0x1f, 0x0c, 0x05, 0x1c, 0x0f, 0x16, 0x00, 0x00, 0x0f, + 0x09, 0x05, 0x04, 0x1f, 0x20, 0x09, 0x19, 0x13, 0x19, 0x50, 0x59, + 0x13, 0x10, 0x08, 0x10, 0x1c, 0x0f, 0x02, 0x0f, 0x50, 0x59, 0x02, + 0x16, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x3f, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x10, 0x21, 0x20, 0x00, 0x11, + 0x34, 0x12, 0x37, 0x17, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x17, 0x11, + 0x34, 0x36, 0x33, 0x32, 0x12, 0x07, 0x34, 0x26, 0x23, 0x22, 0x19, + 0x01, 0x3e, 0x01, 0x04, 0xa9, 0xfd, 0xb8, 0xfe, 0xdc, 0xfe, 0xe7, + 0xdf, 0xc5, 0x15, 0x7c, 0x80, 0x8f, 0x9b, 0x9a, 0x9e, 0xa7, 0xbf, + 0xbd, 0x57, 0x50, 0x90, 0xa1, 0x96, 0x02, 0x35, 0xfd, 0xb7, 0x01, + 0x1c, 0x01, 0x19, 0xe7, 0x01, 0x2a, 0x20, 0x88, 0x1b, 0xda, 0xb8, + 0xce, 0xcc, 0x09, 0x02, 0x41, 0xc1, 0xd4, 0xfe, 0xdc, 0xf5, 0xc1, + 0xd3, 0xfe, 0xf3, 0xfd, 0xbc, 0x07, 0xd8, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x52, 0x00, 0x8b, 0x03, 0x7b, 0x03, 0x87, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x36, 0x40, 0x1a, 0x05, 0x01, 0x04, 0x00, 0x01, + 0x00, 0x08, 0x09, 0x02, 0x01, 0x04, 0x07, 0x01, 0x07, 0x01, 0x07, + 0x03, 0x06, 0x05, 0x00, 0x0f, 0x03, 0x1f, 0x03, 0x02, 0x03, 0x00, + 0x2f, 0x5d, 0x33, 0x2f, 0x33, 0x12, 0x39, 0x39, 0x2f, 0x2f, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x05, 0x35, 0x25, 0x11, 0x05, 0x35, 0x25, + 0x03, 0x7b, 0xfd, 0xd7, 0x02, 0x29, 0xfd, 0xd7, 0x02, 0x29, 0x02, + 0xe5, 0xf0, 0xa2, 0xf0, 0xfd, 0xf4, 0xf0, 0xa2, 0xf0, 0x00, 0x00, + 0x00, 0x02, 0xff, 0x4a, 0x03, 0xb6, 0x00, 0xb4, 0x05, 0xcc, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x21, 0x40, 0x0e, 0x04, 0x07, 0x07, 0x08, + 0x03, 0x00, 0x00, 0x08, 0x00, 0x01, 0x01, 0x04, 0x06, 0x00, 0x00, + 0x3f, 0xcd, 0x39, 0x2f, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x35, 0x33, 0x15, 0x17, 0x11, + 0x33, 0x11, 0xb6, 0x9a, 0x55, 0x7b, 0x04, 0x73, 0x93, 0x93, 0xbd, + 0x02, 0x16, 0xfd, 0xea, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb3, 0x03, + 0xf7, 0x01, 0x87, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1f, + 0x40, 0x0d, 0x02, 0x00, 0x00, 0x07, 0x04, 0x04, 0x08, 0x01, 0x03, + 0x03, 0x04, 0x06, 0x00, 0x00, 0x3f, 0x33, 0x33, 0x2f, 0xcd, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x31, 0x30, 0x09, 0x01, + 0x27, 0x01, 0x05, 0x35, 0x33, 0x15, 0x01, 0x87, 0xfe, 0x93, 0x57, + 0x01, 0x6d, 0xfe, 0x83, 0x9a, 0x05, 0x64, 0xfe, 0x93, 0x56, 0x01, + 0x6d, 0x81, 0x93, 0x93, 0x00, 0x00, 0x02, 0xfe, 0xee, 0x04, 0x5f, + 0x01, 0x12, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1d, 0x40, + 0x0c, 0x07, 0x04, 0x04, 0x00, 0x01, 0x00, 0x08, 0x02, 0x01, 0x04, + 0x06, 0x00, 0x00, 0x3f, 0x33, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x33, + 0x11, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, 0x21, 0x25, + 0x35, 0x33, 0x15, 0x01, 0x12, 0xfd, 0xdc, 0x02, 0x24, 0xfe, 0xa1, + 0x9a, 0x04, 0x5f, 0x79, 0x61, 0x93, 0x93, 0x00, 0x01, 0xfe, 0xee, + 0x04, 0x5f, 0x01, 0x12, 0x05, 0xcc, 0x00, 0x05, 0x00, 0x17, 0x40, + 0x09, 0x01, 0x04, 0x04, 0x05, 0x06, 0x00, 0x05, 0x03, 0x00, 0x00, + 0x3f, 0xcc, 0x32, 0x11, 0x01, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x21, 0x35, 0x33, 0x11, 0x21, 0xfe, 0xee, 0x01, 0xa7, 0x7d, + 0xfd, 0xdc, 0x04, 0xd8, 0xf4, 0xfe, 0x93, 0x00, 0x00, 0x01, 0x00, + 0xff, 0x04, 0x07, 0x03, 0xce, 0x07, 0x76, 0x00, 0x09, 0x00, 0x22, + 0x40, 0x0e, 0x00, 0x02, 0x02, 0x05, 0x03, 0x03, 0x0a, 0x0b, 0x01, + 0x05, 0x05, 0x03, 0x08, 0x03, 0x00, 0x2f, 0x2f, 0x12, 0x39, 0x2f, + 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x01, 0x33, 0x01, + 0x03, 0xce, 0xfe, 0xe2, 0x93, 0xfe, 0xe2, 0x01, 0x5b, 0x11, 0x01, + 0x63, 0x06, 0x0a, 0xfd, 0xfd, 0x02, 0x03, 0x17, 0x01, 0x55, 0xfe, + 0xaa, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0x04, 0x07, 0x03, + 0xce, 0x07, 0x76, 0x00, 0x09, 0x00, 0x22, 0x40, 0x0e, 0x09, 0x07, + 0x07, 0x04, 0x06, 0x06, 0x0a, 0x0b, 0x08, 0x04, 0x04, 0x02, 0x07, + 0x02, 0x00, 0x2f, 0x2f, 0x12, 0x39, 0x2f, 0x33, 0x11, 0x12, 0x01, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x09, 0x01, 0x23, + 0x01, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x03, 0xce, 0xfe, 0x9d, + 0x11, 0xfe, 0xa5, 0x01, 0x1e, 0x93, 0x01, 0x1e, 0x05, 0x5d, 0xfe, + 0xaa, 0x01, 0x55, 0x17, 0x02, 0x03, 0xfd, 0xfd, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x01, 0xf8, 0x03, 0xa6, 0x02, 0xd4, 0x07, 0xcd, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x29, 0x40, 0x12, 0x07, 0x03, 0x03, 0x04, + 0x02, 0x02, 0x08, 0x09, 0x01, 0x01, 0x05, 0x03, 0x05, 0x04, 0x9e, + 0x5b, 0x05, 0x03, 0x00, 0x2f, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x23, 0x03, 0x33, 0x03, 0x35, 0x33, 0x15, 0x02, + 0x9b, 0x69, 0x38, 0xda, 0xdc, 0xd7, 0x04, 0xd2, 0x02, 0xfb, 0xfb, + 0xd9, 0x98, 0x98, 0x00, 0x02, 0x01, 0xf8, 0x03, 0xa6, 0x02, 0xd4, + 0x07, 0xcd, 0x00, 0x03, 0x00, 0x07, 0x00, 0x29, 0x40, 0x12, 0x05, + 0x00, 0x00, 0x06, 0x01, 0x01, 0x08, 0x09, 0x02, 0x02, 0x01, 0x07, + 0x07, 0x06, 0x9e, 0x5b, 0x07, 0x01, 0x00, 0x2f, 0x2f, 0x2b, 0x11, + 0x12, 0x00, 0x39, 0x18, 0x2f, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, 0x13, 0x33, 0x13, 0x15, + 0x23, 0x35, 0x02, 0xd4, 0xda, 0x38, 0x69, 0x34, 0xd7, 0x03, 0xa6, + 0x02, 0xfb, 0x01, 0x2c, 0x98, 0x98, 0x00, 0x02, 0x01, 0xf8, 0x01, + 0xa5, 0x02, 0xd4, 0x05, 0xcc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x2a, + 0x40, 0x11, 0x05, 0x00, 0x00, 0x06, 0x01, 0x01, 0x08, 0x09, 0x02, + 0x02, 0x01, 0x07, 0x07, 0x06, 0x9e, 0x5b, 0x07, 0xb8, 0x01, 0x2c, + 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x39, 0x2f, 0x11, 0x12, + 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x13, 0x33, 0x13, 0x15, 0x23, 0x35, 0x02, 0xd4, 0xda, 0x38, 0x69, + 0x34, 0xd7, 0x01, 0xa5, 0x02, 0xfb, 0x01, 0x2c, 0x98, 0x98, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xfe, 0xa0, 0x04, 0x69, 0x01, 0x38, 0x05, + 0xcc, 0x00, 0x09, 0x00, 0x25, 0x40, 0x10, 0x02, 0x03, 0x03, 0x00, + 0x00, 0x06, 0x07, 0x07, 0x0a, 0x01, 0x05, 0x05, 0x07, 0x03, 0x09, + 0x00, 0x00, 0x3f, 0xcc, 0x32, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x11, 0x21, 0x01, 0x38, 0xef, + 0x7d, 0xaf, 0x7d, 0x02, 0x98, 0x05, 0x4f, 0xe6, 0xe6, 0xe6, 0x01, + 0x63, 0x00, 0x01, 0xfe, 0xa0, 0x00, 0x00, 0x01, 0x38, 0x01, 0x63, + 0x00, 0x09, 0x00, 0x24, 0x40, 0x0f, 0x08, 0x05, 0x05, 0x00, 0x00, + 0x04, 0x01, 0x01, 0x0a, 0x08, 0x04, 0x04, 0x06, 0x03, 0x01, 0x00, + 0x2f, 0xcd, 0x32, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x29, 0x01, 0x11, 0x33, + 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x01, 0x38, 0xfd, 0x68, 0x7d, + 0xaf, 0x7d, 0xef, 0x01, 0x63, 0xe6, 0xe6, 0xe6, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x1c, 0xfe, 0x57, 0x02, 0x95, 0xff, 0x74, 0x00, + 0x06, 0x00, 0x2a, 0x40, 0x12, 0x02, 0x01, 0x05, 0x05, 0x00, 0x04, + 0x03, 0x06, 0x00, 0x03, 0x00, 0x08, 0x07, 0x00, 0x04, 0x80, 0x05, + 0x02, 0x00, 0x2f, 0x33, 0x1a, 0xcd, 0x32, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x1b, 0x01, 0x33, 0x13, 0x23, 0x27, 0x07, 0x1c, 0xeb, 0xac, + 0xe2, 0xaa, 0x95, 0x92, 0xfe, 0x57, 0x01, 0x1d, 0xfe, 0xe3, 0xbe, + 0xbe, 0x00, 0x00, 0x00, 0x02, 0x02, 0x05, 0x00, 0xc9, 0x02, 0xc8, + 0x04, 0x3a, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1f, 0x40, 0x0d, 0x07, + 0x03, 0x03, 0x04, 0x00, 0x00, 0x08, 0x09, 0x05, 0x04, 0x03, 0x02, + 0x0f, 0x00, 0x3f, 0x33, 0xc4, 0x32, 0x11, 0x12, 0x01, 0x39, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x33, 0x15, 0x03, + 0x35, 0x33, 0x15, 0x02, 0x05, 0xc3, 0xc3, 0xc3, 0x03, 0x6b, 0xcf, + 0xcf, 0xfd, 0x5e, 0xcf, 0xcf, 0x00, 0x02, 0x01, 0x0a, 0x00, 0xf4, + 0x03, 0xc2, 0x03, 0x6a, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1e, 0x40, + 0x0c, 0x04, 0x00, 0x07, 0x03, 0x00, 0x03, 0x08, 0x09, 0x00, 0x02, + 0x05, 0x04, 0x00, 0x2f, 0x33, 0xcc, 0x32, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x21, 0x15, + 0x01, 0x35, 0x21, 0x15, 0x01, 0x0a, 0x02, 0xb8, 0xfd, 0x48, 0x02, + 0xb8, 0x02, 0xd6, 0x94, 0x94, 0xfe, 0x1e, 0x94, 0x94, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x0a, 0x02, 0x59, 0x02, 0xc3, 0x05, 0xcc, 0x00, + 0x05, 0x00, 0x14, 0xb7, 0x05, 0x04, 0x04, 0x07, 0x06, 0x02, 0x04, + 0x00, 0x00, 0x3f, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x03, 0x23, 0x03, 0x35, 0x33, 0x02, 0xc3, 0x35, 0x51, + 0x33, 0xb9, 0x04, 0xeb, 0xfd, 0x6e, 0x02, 0x92, 0xe1, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x0a, 0x03, 0x50, 0x02, 0xc3, 0x05, 0xcc, + 0x00, 0x05, 0x00, 0x14, 0xb7, 0x05, 0x04, 0x04, 0x06, 0x07, 0x02, + 0x04, 0x00, 0x00, 0x3f, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x03, 0x23, 0x03, 0x35, 0x33, 0x02, 0xc3, 0x35, + 0x51, 0x33, 0xb9, 0x04, 0xeb, 0xfe, 0x65, 0x01, 0x9b, 0xe1, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, 0x04, 0x25, 0x05, + 0xcc, 0x00, 0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x57, 0x40, 0x2f, + 0x13, 0x0c, 0x01, 0x01, 0x06, 0x02, 0x16, 0x19, 0x19, 0x1a, 0x1d, + 0x02, 0x1d, 0x1e, 0x1f, 0x17, 0x00, 0x16, 0x10, 0x16, 0xb0, 0x16, + 0xe0, 0x16, 0x04, 0x11, 0x03, 0x16, 0x0a, 0x0f, 0x50, 0x59, 0x0a, + 0x00, 0x00, 0x04, 0x05, 0x04, 0x51, 0x59, 0x1b, 0x13, 0x05, 0x0f, + 0x1a, 0x01, 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x33, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x00, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, + 0x2f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, 0x23, + 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, + 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x33, 0x15, 0x13, 0x35, 0x33, + 0x15, 0x03, 0x11, 0x33, 0x11, 0x01, 0xa0, 0xb4, 0x98, 0x98, 0x82, + 0x86, 0x4b, 0x34, 0x2d, 0x23, 0x45, 0x3e, 0xd3, 0xfe, 0xb4, 0xb4, + 0xb4, 0x03, 0xb7, 0xfc, 0x49, 0x03, 0xb7, 0x83, 0x7a, 0x94, 0x82, + 0x0c, 0x89, 0x08, 0x46, 0x5c, 0x61, 0x83, 0x01, 0x69, 0xac, 0xac, + 0xfa, 0xe0, 0x04, 0x3a, 0xfb, 0xc6, 0x00, 0x02, 0x00, 0x54, 0x00, + 0x00, 0x04, 0x25, 0x05, 0xcc, 0x00, 0x15, 0x00, 0x19, 0x00, 0x40, + 0x40, 0x20, 0x13, 0x0c, 0x01, 0x01, 0x06, 0x02, 0x16, 0x19, 0x02, + 0x19, 0x1a, 0x1b, 0x17, 0x00, 0x0a, 0x0f, 0x50, 0x59, 0x0a, 0x00, + 0x00, 0x04, 0x05, 0x04, 0x51, 0x59, 0x13, 0x05, 0x0f, 0x16, 0x01, + 0x15, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x11, + 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, + 0x15, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x33, 0x15, 0x13, 0x11, + 0x33, 0x11, 0x01, 0xa0, 0xb4, 0x98, 0x98, 0x82, 0x86, 0x4b, 0x34, + 0x2d, 0x23, 0x45, 0x3e, 0xd3, 0xfe, 0xb4, 0x03, 0xb7, 0xfc, 0x49, + 0x03, 0xb7, 0x83, 0x7a, 0x94, 0x82, 0x0c, 0x89, 0x08, 0x46, 0x5c, + 0x61, 0x83, 0xfc, 0x49, 0x05, 0xcc, 0xfa, 0x34, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x02, 0x0a, 0x01, 0x26, 0x02, 0xc3, 0x04, 0xcb, 0x12, + 0x26, 0x05, 0x08, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0x00, 0x00, + 0xfe, 0xb5, 0x00, 0x0a, 0xb4, 0x01, 0x60, 0x0e, 0x01, 0x0e, 0x00, + 0x11, 0x5d, 0x35, 0x00, 0x01, 0x01, 0x1d, 0x05, 0xa6, 0x03, 0xb0, + 0x06, 0xe3, 0x00, 0x0d, 0x00, 0x0f, 0xb3, 0x06, 0x00, 0x0a, 0x03, + 0xb8, 0x01, 0x53, 0x00, 0x3f, 0x33, 0xcd, 0x32, 0x31, 0x30, 0x01, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, + 0x36, 0x35, 0x03, 0xb0, 0xb4, 0x96, 0x96, 0xb3, 0xa1, 0x5a, 0x4e, + 0x4d, 0x5b, 0x06, 0xe3, 0x91, 0xac, 0xb0, 0x8d, 0x4d, 0x5d, 0x5e, + 0x4c, 0xff, 0xff, 0x01, 0x0b, 0x01, 0x3c, 0x03, 0xc3, 0x04, 0xcb, + 0x10, 0x27, 0x04, 0xee, 0x00, 0x00, 0x02, 0x23, 0x10, 0x27, 0x05, + 0x08, 0xff, 0x01, 0x00, 0x00, 0x10, 0x07, 0x05, 0x08, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5a, 0xff, 0xdf, 0x04, + 0x72, 0x04, 0xcb, 0x10, 0x06, 0x05, 0x11, 0x14, 0x00, 0xff, 0xff, + 0x00, 0x10, 0x00, 0x00, 0x04, 0xba, 0x04, 0xcb, 0x12, 0x06, 0x04, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0x00, 0x00, 0x04, 0x46, + 0x04, 0xcb, 0x12, 0x06, 0x05, 0x02, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x7b, 0x00, 0x00, 0x04, 0x52, 0x04, 0xcb, 0x12, 0x06, 0x05, 0x03, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xac, 0x00, 0x00, 0x04, 0x1f, 0x04, + 0xcb, 0x12, 0x06, 0x05, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x91, + 0xff, 0xd3, 0x04, 0x27, 0x06, 0x81, 0x12, 0x06, 0x05, 0x0b, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x83, 0x00, 0x00, 0x04, 0x4c, 0x04, 0xcb, + 0x12, 0x06, 0x05, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x60, 0x00, + 0x00, 0x03, 0xdb, 0x04, 0xcb, 0x12, 0x06, 0x05, 0x17, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x27, 0x00, 0x00, 0x04, 0x4c, 0x04, 0xcb, 0x12, + 0x06, 0x05, 0x19, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7f, 0x02, 0x02, + 0x04, 0x4c, 0x04, 0x68, 0x00, 0x07, 0x00, 0x2c, 0x40, 0x0d, 0x06, + 0x03, 0x03, 0x01, 0x00, 0x00, 0x01, 0x09, 0x08, 0x06, 0x02, 0x01, + 0x02, 0xb8, 0x01, 0x55, 0xb2, 0x59, 0x01, 0x04, 0xb8, 0x01, 0x4b, + 0x00, 0x3f, 0xc4, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, 0x01, 0x21, 0x35, + 0x21, 0x11, 0x33, 0x11, 0x21, 0x04, 0x4c, 0xfc, 0x33, 0x01, 0x87, + 0xbb, 0x01, 0x8b, 0x02, 0x02, 0xba, 0x01, 0xac, 0xfe, 0x54, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x19, 0xff, 0xf6, 0x04, 0xb0, 0x05, 0xe1, + 0x12, 0x26, 0x05, 0x18, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf8, 0x01, + 0xfa, 0x00, 0x00, 0x00, 0x12, 0x40, 0x0b, 0x01, 0x1a, 0x16, 0x1a, + 0x01, 0x17, 0x1a, 0x20, 0x11, 0x12, 0x25, 0x01, 0x2b, 0x5d, 0x11, + 0x35, 0xff, 0xff, 0x00, 0x08, 0xff, 0xf6, 0x04, 0xaa, 0x05, 0xe1, + 0x12, 0x26, 0x05, 0x18, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf8, 0xfd, + 0xf1, 0x00, 0x00, 0x00, 0x14, 0xb4, 0x01, 0x1a, 0x16, 0x1a, 0x01, + 0xb8, 0xff, 0xdf, 0xb4, 0x1a, 0x20, 0x18, 0x19, 0x25, 0x01, 0x2b, + 0x5d, 0x11, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0x19, 0xff, 0xf6, + 0x04, 0xc0, 0x05, 0xe1, 0x12, 0x26, 0x05, 0x18, 0x00, 0x00, 0x10, + 0x27, 0x04, 0xf3, 0x00, 0xb8, 0xff, 0xb1, 0x11, 0x07, 0x04, 0xf8, + 0x02, 0x0a, 0x00, 0x00, 0x00, 0x2f, 0x40, 0x1f, 0x02, 0x26, 0x16, + 0x26, 0x01, 0x27, 0x26, 0x2c, 0x11, 0x12, 0x25, 0x01, 0xc7, 0x1d, + 0x01, 0x40, 0x1d, 0x01, 0x01, 0x1d, 0x7b, 0x1d, 0x01, 0x94, 0x1d, + 0x01, 0x82, 0x1d, 0xa2, 0x1d, 0x02, 0x5d, 0x5d, 0x5d, 0x11, 0x35, + 0x00, 0x5d, 0x5d, 0x35, 0x01, 0x2b, 0x5d, 0x11, 0x35, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x08, 0xff, 0xf6, 0x04, 0xaa, 0x05, 0xe1, + 0x12, 0x26, 0x05, 0x18, 0x00, 0x00, 0x10, 0x27, 0x04, 0xf3, 0x00, + 0xb8, 0xff, 0xb1, 0x11, 0x07, 0x04, 0xf8, 0xfd, 0xf1, 0x00, 0x00, + 0x00, 0x2f, 0xb4, 0x02, 0x26, 0x16, 0x26, 0x01, 0xb8, 0xff, 0xdf, + 0x40, 0x16, 0x26, 0x2c, 0x18, 0x19, 0x25, 0x01, 0x7b, 0x1d, 0x01, + 0x94, 0x1d, 0x01, 0x82, 0x1d, 0xa2, 0x1d, 0x02, 0x01, 0x1d, 0x40, + 0x1d, 0x01, 0x00, 0x5d, 0x11, 0x35, 0x01, 0x5d, 0x5d, 0x5d, 0x35, + 0x01, 0x2b, 0x5d, 0x11, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x10, 0xff, 0x19, 0x04, 0xba, 0x04, 0xcb, 0x12, 0x26, 0x04, 0xff, + 0x00, 0x00, 0x11, 0x06, 0x04, 0xee, 0xed, 0x00, 0x00, 0x0f, 0xb1, + 0x01, 0x1a, 0xb8, 0xff, 0x5e, 0xb4, 0x1a, 0x1a, 0x0d, 0x13, 0x25, + 0x2b, 0x11, 0x35, 0x00, 0xff, 0xff, 0x00, 0x10, 0xfe, 0xa4, 0x04, + 0xba, 0x04, 0xcb, 0x12, 0x26, 0x04, 0xff, 0x00, 0x00, 0x11, 0x06, + 0x04, 0xef, 0xed, 0x00, 0x00, 0x13, 0xb4, 0x01, 0x1d, 0x04, 0x1d, + 0x01, 0xb8, 0xff, 0x5e, 0xb4, 0x1d, 0x1d, 0x0d, 0x13, 0x25, 0x2b, + 0x5d, 0x11, 0x35, 0x00, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x04, + 0xba, 0x04, 0xcb, 0x12, 0x26, 0x04, 0xff, 0x00, 0x00, 0x11, 0x07, + 0x04, 0xf3, 0xff, 0x8e, 0xfe, 0x01, 0x00, 0x2f, 0x40, 0x13, 0x01, + 0x3e, 0x23, 0x01, 0x28, 0x23, 0x58, 0x23, 0x02, 0x07, 0x23, 0x47, + 0x23, 0x77, 0x23, 0x03, 0x15, 0x23, 0x01, 0xb8, 0xff, 0xa2, 0x40, + 0x0a, 0x23, 0x23, 0x0d, 0x13, 0x25, 0x01, 0x23, 0x10, 0x23, 0x01, + 0x00, 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4e, 0x00, 0x00, 0x04, 0x7d, + 0x04, 0xcb, 0x12, 0x26, 0x05, 0x00, 0x00, 0x00, 0x11, 0x07, 0x04, + 0xf3, 0xff, 0x69, 0xff, 0xaf, 0x00, 0x24, 0xb6, 0x01, 0x14, 0x13, + 0x01, 0x22, 0x13, 0x01, 0xb8, 0xff, 0xf1, 0x40, 0x0d, 0x13, 0x13, + 0x00, 0x0c, 0x25, 0x01, 0x13, 0x95, 0x13, 0x01, 0xd0, 0x13, 0x01, + 0x00, 0x5d, 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x35, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xf0, 0x00, 0x00, 0x03, 0xdd, 0x04, 0xcb, + 0x12, 0x26, 0x05, 0x01, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xff, + 0x13, 0x00, 0x4c, 0x00, 0x47, 0x40, 0x34, 0x01, 0x46, 0x1f, 0xb6, + 0x1f, 0x02, 0xa5, 0x1f, 0x01, 0x14, 0x1f, 0x01, 0x53, 0x1f, 0x01, + 0x22, 0x1f, 0x01, 0x00, 0x1f, 0x30, 0x1f, 0x60, 0x1f, 0x03, 0x02, + 0x1f, 0x1f, 0x19, 0x1a, 0x25, 0x01, 0x1f, 0x2f, 0x1f, 0x4f, 0x1f, + 0x02, 0xcb, 0x1f, 0x01, 0x19, 0x1f, 0x01, 0x3f, 0x1f, 0x01, 0x94, + 0x1f, 0xa4, 0x1f, 0x02, 0x00, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, + 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0x00, 0x00, 0x04, 0x46, 0x04, + 0xcb, 0x12, 0x26, 0x05, 0x02, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, + 0xff, 0x28, 0xff, 0x67, 0x00, 0x2c, 0xb6, 0x01, 0x16, 0x0b, 0x01, + 0x55, 0x0b, 0x01, 0xb8, 0xff, 0xf8, 0x40, 0x13, 0x0b, 0x0b, 0x02, + 0x03, 0x25, 0x01, 0x0b, 0x96, 0x0b, 0x01, 0x3f, 0x0b, 0x01, 0x2f, + 0x0b, 0x01, 0x0f, 0x0b, 0x01, 0x00, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, + 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x7b, 0x00, 0x00, 0x04, 0x52, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x03, + 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xff, 0xff, 0xff, 0x67, 0x00, + 0x2c, 0xb3, 0x02, 0x19, 0x13, 0x01, 0xb8, 0xff, 0xf4, 0x40, 0x16, + 0x13, 0x13, 0x03, 0x06, 0x25, 0x02, 0x13, 0x96, 0x13, 0x01, 0xa5, + 0x13, 0x01, 0x3f, 0x13, 0x01, 0x2f, 0x13, 0x01, 0x0f, 0x13, 0x01, + 0x00, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, + 0x35, 0x00, 0x00, 0xff, 0xff, 0x01, 0x7e, 0x00, 0x00, 0x03, 0x29, + 0x04, 0xcb, 0x10, 0x26, 0x05, 0x04, 0x66, 0x00, 0x11, 0x07, 0x04, + 0xf3, 0xff, 0x67, 0xff, 0xaf, 0x00, 0x57, 0x40, 0x28, 0x01, 0x0a, + 0x54, 0x0a, 0x01, 0xd2, 0x0a, 0x01, 0x81, 0x0a, 0xb1, 0x0a, 0xc1, + 0x0a, 0x03, 0x50, 0x0a, 0x01, 0x00, 0x0a, 0x20, 0x0a, 0x30, 0x0a, + 0x90, 0x0a, 0x04, 0x47, 0x0a, 0x01, 0x03, 0x44, 0x0a, 0x01, 0x13, + 0x0a, 0xa3, 0x0a, 0x02, 0x02, 0xb8, 0xff, 0xad, 0x40, 0x13, 0x0a, + 0x0a, 0x00, 0x00, 0x25, 0x01, 0x07, 0x8f, 0x07, 0x01, 0x7f, 0x07, + 0x01, 0x5f, 0x07, 0x01, 0x4f, 0x07, 0x01, 0x00, 0x5d, 0x5d, 0x5d, + 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5f, 0x5d, 0x5d, 0x5f, 0x5d, 0x5d, + 0x71, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x10, 0x00, 0x00, 0x03, 0xbd, 0x04, 0xdd, 0x10, 0x26, 0x05, + 0x05, 0x1f, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xfe, 0xf9, 0xff, 0x67, + 0x00, 0x41, 0x40, 0x19, 0x01, 0x15, 0x47, 0x15, 0x01, 0x96, 0x15, + 0x01, 0x55, 0x15, 0x01, 0x74, 0x15, 0x01, 0x13, 0x15, 0x01, 0x82, + 0x15, 0x01, 0x00, 0x15, 0x20, 0x15, 0x02, 0xb8, 0xff, 0x94, 0x40, + 0x10, 0x15, 0x15, 0x09, 0x09, 0x25, 0x01, 0x18, 0x3f, 0x18, 0x01, + 0x2f, 0x18, 0x01, 0x0f, 0x18, 0x01, 0x00, 0x5d, 0x5d, 0x5d, 0x11, + 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, + 0x35, 0x00, 0xff, 0xff, 0x00, 0x85, 0xff, 0xec, 0x04, 0x5a, 0x04, + 0xdf, 0x12, 0x26, 0x05, 0x07, 0x00, 0x00, 0x11, 0x06, 0x04, 0xf3, + 0xff, 0xaf, 0x00, 0x34, 0xb6, 0x01, 0x07, 0x21, 0x01, 0x16, 0x21, + 0x01, 0xb8, 0xff, 0xf9, 0x40, 0x19, 0x21, 0x21, 0x06, 0x0e, 0x25, + 0x01, 0x23, 0xcf, 0x23, 0x01, 0xba, 0x23, 0x01, 0x8c, 0x23, 0x01, + 0x7c, 0x23, 0x01, 0x5f, 0x23, 0x01, 0x4f, 0x23, 0x01, 0x00, 0x5d, + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, + 0x35, 0xff, 0xff, 0x01, 0x91, 0x02, 0x46, 0x03, 0x3c, 0x04, 0xcb, + 0x10, 0x26, 0x05, 0x08, 0x79, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xff, + 0x7a, 0x00, 0xac, 0x00, 0x73, 0x40, 0x4b, 0x01, 0x07, 0x2f, 0x07, + 0x7f, 0x07, 0x8f, 0x07, 0x03, 0xcd, 0x07, 0x01, 0xd7, 0x07, 0x01, + 0x01, 0x0a, 0x06, 0x0a, 0x01, 0x76, 0x0a, 0x01, 0xd5, 0x0a, 0x01, + 0x34, 0x0a, 0x01, 0x54, 0x0a, 0x01, 0x23, 0x0a, 0x01, 0x83, 0x0a, + 0xb3, 0x0a, 0x02, 0x22, 0x0a, 0x01, 0xc1, 0x0a, 0x01, 0x50, 0x0a, + 0x01, 0x00, 0x0a, 0x30, 0x0a, 0x90, 0x0a, 0x03, 0x47, 0x0a, 0x01, + 0x03, 0x44, 0x0a, 0x01, 0xa3, 0x0a, 0x01, 0x02, 0x17, 0x0a, 0x01, + 0x03, 0x13, 0x0a, 0x01, 0x02, 0xb8, 0xff, 0xad, 0xb4, 0x0a, 0x0a, + 0x00, 0x00, 0x25, 0x2b, 0x5f, 0x5d, 0x5f, 0x5d, 0x5f, 0x5d, 0x5d, + 0x5f, 0x5d, 0x5d, 0x71, 0x5d, 0x5d, 0x5d, 0x71, 0x5d, 0x71, 0x5d, + 0x5d, 0x71, 0x11, 0x35, 0x00, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x60, 0xfe, 0x7f, 0x03, 0xdb, 0x04, + 0xcb, 0x12, 0x26, 0x05, 0x09, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, + 0xff, 0x6b, 0xff, 0x67, 0x00, 0x2b, 0x40, 0x1e, 0x01, 0x15, 0x0f, + 0x01, 0xb6, 0x0f, 0x01, 0x95, 0x0f, 0x01, 0x22, 0x0f, 0x01, 0x0f, + 0x0f, 0x0f, 0x02, 0x06, 0x25, 0x01, 0x0f, 0x0f, 0x0f, 0x2f, 0x0f, + 0x3f, 0x0f, 0xd0, 0x0f, 0x04, 0x00, 0x5d, 0x11, 0x35, 0x01, 0x2b, + 0x5d, 0x5d, 0x5d, 0x5d, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xac, 0x00, 0x00, 0x04, 0x1f, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x0a, + 0x00, 0x00, 0x11, 0x06, 0x04, 0xf3, 0xc8, 0xaf, 0x00, 0x4d, 0x40, + 0x3b, 0x01, 0x14, 0x15, 0x44, 0x15, 0x74, 0x15, 0x84, 0x15, 0x04, + 0xc3, 0x15, 0x01, 0xe1, 0x15, 0x01, 0x00, 0x15, 0x20, 0x15, 0x30, + 0x15, 0x50, 0x15, 0x60, 0x15, 0xa0, 0x15, 0xb0, 0x15, 0xd0, 0x15, + 0x08, 0x26, 0x15, 0x15, 0x09, 0x0d, 0x25, 0x01, 0x15, 0xcf, 0x15, + 0x01, 0xba, 0x15, 0x01, 0x8c, 0x15, 0x01, 0x7c, 0x15, 0x01, 0x5f, + 0x15, 0x01, 0x4f, 0x15, 0x01, 0x00, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, + 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x91, 0xff, 0xd3, 0x04, 0x27, 0x06, + 0x81, 0x12, 0x26, 0x05, 0x0b, 0x00, 0x00, 0x11, 0x06, 0x04, 0xf3, + 0x93, 0x00, 0x00, 0x21, 0x40, 0x0e, 0x01, 0x11, 0x47, 0x11, 0x01, + 0x15, 0x11, 0x01, 0x22, 0x11, 0x01, 0x00, 0x11, 0x01, 0xb8, 0xff, + 0xfa, 0xb4, 0x11, 0x17, 0x04, 0x07, 0x25, 0x01, 0x2b, 0x5d, 0x5d, + 0x5d, 0x5d, 0x11, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0e, + 0x00, 0x00, 0x04, 0x4c, 0x04, 0xdf, 0x12, 0x26, 0x05, 0x0d, 0x00, + 0x00, 0x11, 0x06, 0x04, 0xf3, 0x31, 0xaf, 0x00, 0x43, 0x40, 0x12, + 0x01, 0x1b, 0x47, 0x1b, 0xb7, 0x1b, 0x02, 0x19, 0x1b, 0x01, 0x81, + 0x1b, 0x01, 0x20, 0x1b, 0x60, 0x1b, 0x02, 0xb8, 0xff, 0xd6, 0x40, + 0x19, 0x1b, 0x21, 0x06, 0x07, 0x25, 0x01, 0x23, 0xcf, 0x23, 0x01, + 0xba, 0x23, 0x01, 0x8c, 0x23, 0x01, 0x7c, 0x23, 0x01, 0x5f, 0x23, + 0x01, 0x4f, 0x23, 0x01, 0x00, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, + 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x00, + 0xff, 0xff, 0x01, 0x25, 0x00, 0x00, 0x03, 0x7f, 0x04, 0xcb, 0x12, + 0x26, 0x05, 0x0f, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xff, 0x69, + 0xff, 0xaf, 0x00, 0x4d, 0x40, 0x21, 0x01, 0x07, 0x13, 0x37, 0x13, + 0x47, 0x13, 0x03, 0xa6, 0x13, 0xb6, 0x13, 0x02, 0x54, 0x13, 0x84, + 0x13, 0xc4, 0x13, 0xd4, 0x13, 0x04, 0x22, 0x13, 0x01, 0x17, 0x13, + 0x01, 0x03, 0x13, 0x13, 0x01, 0x02, 0xb8, 0xff, 0xbc, 0x40, 0x13, + 0x13, 0x13, 0x04, 0x09, 0x25, 0x01, 0x13, 0x19, 0x13, 0x01, 0x28, + 0x13, 0x01, 0xa5, 0x13, 0x01, 0xd4, 0x13, 0x01, 0x00, 0x5d, 0x5d, + 0x5d, 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5f, 0x5d, 0x5f, 0x5d, 0x5d, + 0x5d, 0x5d, 0x5d, 0x35, 0x00, 0xff, 0xff, 0x00, 0x19, 0xff, 0xec, + 0x04, 0x62, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x10, 0x00, 0x00, 0x11, + 0x06, 0x04, 0xf3, 0x02, 0xaf, 0x00, 0x31, 0x40, 0x21, 0x02, 0x07, + 0x23, 0x01, 0x16, 0x23, 0x01, 0x02, 0x23, 0x23, 0x13, 0x1c, 0x25, + 0x02, 0x23, 0xcf, 0x23, 0x01, 0xba, 0x23, 0x01, 0x8c, 0x23, 0x01, + 0x7c, 0x23, 0x01, 0x5f, 0x23, 0x01, 0x4f, 0x23, 0x01, 0x00, 0x5d, + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, + 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x73, 0xfe, 0x7f, 0x04, + 0x46, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x12, 0x00, 0x00, 0x11, 0x06, + 0x04, 0xf3, 0x70, 0xaf, 0x00, 0x1f, 0x40, 0x14, 0x01, 0x19, 0xcf, + 0x19, 0x01, 0xba, 0x19, 0x01, 0x8c, 0x19, 0x01, 0x7c, 0x19, 0x01, + 0x4f, 0x19, 0x01, 0x12, 0x19, 0x01, 0x00, 0x5d, 0x5d, 0x5d, 0x5d, + 0x5d, 0x5d, 0x11, 0x35, 0x00, 0xff, 0xff, 0x00, 0x75, 0x00, 0x00, + 0x04, 0x56, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x13, 0x00, 0x00, 0x11, + 0x06, 0x04, 0xf3, 0x74, 0xaf, 0x00, 0x23, 0x40, 0x17, 0x01, 0x20, + 0xcf, 0x20, 0x01, 0xba, 0x20, 0x01, 0x8c, 0x20, 0x01, 0x7c, 0x20, + 0x01, 0x5f, 0x20, 0x01, 0x4f, 0x20, 0x01, 0x12, 0x20, 0x01, 0x00, + 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x00, 0xff, + 0xff, 0x00, 0x4a, 0x00, 0x00, 0x04, 0x44, 0x04, 0xcb, 0x12, 0x26, + 0x05, 0x15, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xff, 0x21, 0xfe, + 0xd4, 0x00, 0x37, 0x40, 0x0d, 0x01, 0x58, 0x1b, 0x01, 0x47, 0x1b, + 0x01, 0x14, 0x1b, 0x01, 0x00, 0x1b, 0x01, 0xb8, 0xff, 0x8e, 0x40, + 0x15, 0x1b, 0x1b, 0x02, 0x03, 0x25, 0x01, 0x1b, 0x3f, 0x1b, 0x01, + 0x2f, 0x1b, 0x01, 0x60, 0x1b, 0x70, 0x1b, 0x02, 0x0f, 0x1b, 0x01, + 0x00, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, + 0x5d, 0x5d, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7f, 0xfe, + 0x7f, 0x04, 0x4c, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x16, 0x00, 0x00, + 0x11, 0x06, 0x04, 0xf3, 0xf3, 0xd8, 0x00, 0x2b, 0x40, 0x0b, 0x02, + 0x14, 0x49, 0x14, 0x01, 0x18, 0x14, 0x01, 0x07, 0x14, 0x01, 0xb8, + 0xff, 0xdc, 0x40, 0x0d, 0x14, 0x1a, 0x00, 0x0f, 0x25, 0x02, 0x1d, + 0x95, 0x1d, 0x01, 0x70, 0x1d, 0x01, 0x00, 0x71, 0x5d, 0x11, 0x35, + 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x00, 0xff, 0xff, 0x00, + 0x60, 0x00, 0x00, 0x03, 0xdb, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x17, + 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xff, 0x6b, 0xff, 0x67, 0x00, + 0x31, 0x40, 0x21, 0x01, 0x15, 0x0f, 0x01, 0xb6, 0x0f, 0x01, 0x95, + 0x0f, 0x01, 0x22, 0x0f, 0x01, 0x0f, 0x0f, 0x0f, 0x02, 0x06, 0x25, + 0x01, 0x0f, 0x96, 0x0f, 0x01, 0x3f, 0x0f, 0x01, 0x2f, 0x0f, 0x01, + 0x0f, 0x0f, 0x01, 0x00, 0x5d, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x01, + 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x35, 0x00, 0xff, 0xff, 0x00, 0x19, + 0xff, 0xf6, 0x04, 0xaa, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x18, 0x00, + 0x00, 0x11, 0x07, 0x04, 0xf3, 0x00, 0xba, 0xff, 0xb1, 0x00, 0x1c, + 0x40, 0x11, 0x01, 0x7b, 0x1d, 0x01, 0x94, 0x1d, 0x01, 0x82, 0x1d, + 0xa2, 0x1d, 0x02, 0x01, 0x1d, 0x40, 0x1d, 0x01, 0x00, 0x5d, 0x11, + 0x35, 0x01, 0x5d, 0x5d, 0x5d, 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x27, 0x00, 0x00, 0x04, 0x4c, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x19, + 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0x00, 0x2f, 0xff, 0x67, 0x00, + 0x43, 0x40, 0x1a, 0x01, 0x18, 0x23, 0x01, 0xa7, 0x23, 0xb7, 0x23, + 0x02, 0x46, 0x23, 0x76, 0x23, 0x02, 0xd5, 0x23, 0x01, 0x84, 0x23, + 0x01, 0x22, 0x23, 0x01, 0x60, 0x23, 0x01, 0xb8, 0xff, 0xf7, 0x40, + 0x14, 0x23, 0x23, 0x09, 0x0e, 0x25, 0x01, 0x23, 0x0f, 0x23, 0x2f, + 0x23, 0x3f, 0x23, 0x90, 0x23, 0xa0, 0x23, 0xcf, 0x23, 0x06, 0x00, + 0x5d, 0x11, 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, + 0x5d, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0x0a, 0x00, 0x00, + 0x02, 0xc3, 0x06, 0x46, 0x12, 0x26, 0x05, 0x04, 0x00, 0x00, 0x10, + 0x06, 0x04, 0xf1, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4e, + 0x00, 0x00, 0x04, 0x7d, 0x05, 0xb1, 0x12, 0x26, 0x05, 0x00, 0x00, + 0x00, 0x11, 0x06, 0x04, 0xf6, 0x9b, 0x00, 0x00, 0x0e, 0xb9, 0x00, + 0x01, 0xff, 0x80, 0xb4, 0x13, 0x13, 0x00, 0x0c, 0x25, 0x01, 0x2b, + 0x35, 0x00, 0x00, 0xff, 0xff, 0x00, 0xac, 0x00, 0x00, 0x04, 0x1f, + 0x05, 0xb1, 0x12, 0x26, 0x05, 0x0a, 0x00, 0x00, 0x11, 0x06, 0x04, + 0xf6, 0xcc, 0x00, 0x00, 0x0e, 0xb9, 0x00, 0x01, 0xff, 0x87, 0xb4, + 0x15, 0x15, 0x08, 0x0d, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x75, 0x00, 0x00, 0x04, 0x56, 0x05, 0xb1, 0x12, 0x26, + 0x05, 0x13, 0x00, 0x00, 0x11, 0x06, 0x04, 0xf6, 0xc2, 0x00, 0x00, + 0x0e, 0xb9, 0x00, 0x01, 0xff, 0x1f, 0xb4, 0x1a, 0x1a, 0x00, 0x04, + 0x25, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x00, 0x01, 0x00, 0x19, 0x00, + 0x00, 0x04, 0xb4, 0x06, 0x81, 0x00, 0x11, 0x00, 0x42, 0x40, 0x16, + 0x11, 0x10, 0x09, 0x0a, 0x00, 0x05, 0x04, 0x01, 0x01, 0x05, 0x06, + 0x0f, 0x0a, 0x10, 0x06, 0x13, 0x12, 0x0f, 0x06, 0x06, 0x04, 0x11, + 0xbf, 0x01, 0x4e, 0x00, 0x09, 0x01, 0x4d, 0x00, 0x01, 0x00, 0x04, + 0x01, 0x4d, 0x00, 0x02, 0x01, 0x4a, 0x00, 0x3f, 0x3f, 0x33, 0x3f, + 0x3f, 0x12, 0x39, 0x11, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x23, + 0x11, 0x33, 0x11, 0x33, 0x01, 0x36, 0x13, 0x37, 0x33, 0x07, 0x0e, + 0x02, 0x07, 0x01, 0x23, 0xb6, 0x9d, 0xba, 0x56, 0x01, 0xc3, 0x96, + 0x1c, 0x16, 0xbf, 0x17, 0x0a, 0x3c, 0x63, 0x67, 0x01, 0x68, 0xe9, + 0x04, 0x2f, 0x02, 0x52, 0xfe, 0x4a, 0xfd, 0x93, 0x8c, 0x01, 0x02, + 0xdf, 0xdb, 0x6b, 0xac, 0x96, 0x66, 0xfe, 0x23, 0x00, 0x00, 0x00, + 0x01, 0xfc, 0xe9, 0x04, 0xbf, 0x00, 0x04, 0x06, 0x32, 0x00, 0x09, + 0x00, 0x1a, 0x40, 0x0c, 0x09, 0x04, 0x05, 0x05, 0x0b, 0x09, 0x00, + 0x8f, 0x59, 0x09, 0x05, 0x94, 0x00, 0x3f, 0xcc, 0x2b, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x23, 0x22, 0x04, 0x07, + 0x23, 0x36, 0x24, 0x21, 0x33, 0x04, 0x04, 0xeb, 0xfe, 0xb7, 0x5e, + 0x85, 0x78, 0x01, 0x7e, 0x01, 0x0d, 0x18, 0x05, 0xb7, 0x76, 0x82, + 0xbe, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfd, 0x04, 0xbf, + 0x03, 0x18, 0x06, 0x32, 0x00, 0x09, 0x00, 0x1c, 0x40, 0x0d, 0x05, + 0x04, 0x04, 0x09, 0x09, 0x0a, 0x00, 0x08, 0x8f, 0x59, 0x00, 0x05, + 0x94, 0x00, 0x3f, 0xcc, 0x2b, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x03, 0x33, 0x20, 0x04, 0x17, 0x23, 0x26, 0x24, + 0x2b, 0x01, 0x03, 0x18, 0x01, 0x0c, 0x01, 0x7f, 0x78, 0x85, 0x5e, + 0xfe, 0xb7, 0xeb, 0x04, 0x06, 0x32, 0xb5, 0xbe, 0x82, 0x76, 0x00, + 0x00, 0x01, 0xfc, 0xfc, 0x04, 0xc4, 0x00, 0x00, 0x05, 0xd0, 0x00, + 0x0d, 0x00, 0x1a, 0x40, 0x0c, 0x07, 0x08, 0x08, 0x00, 0x0e, 0x0b, + 0x03, 0x8f, 0x59, 0x0b, 0x08, 0x94, 0x00, 0x3f, 0xcd, 0x2b, 0x11, + 0x01, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x11, 0x2e, 0x01, 0x23, + 0x22, 0x0e, 0x01, 0x07, 0x23, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x60, + 0xb0, 0x46, 0x5b, 0x71, 0x3e, 0x12, 0x92, 0x20, 0xdc, 0xba, 0x77, + 0xd7, 0x04, 0xfb, 0x17, 0x29, 0x17, 0x2e, 0x32, 0x8f, 0x7d, 0x35, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0xc4, 0x03, 0x05, + 0x05, 0xd0, 0x00, 0x0e, 0x00, 0x1e, 0x40, 0x0d, 0x06, 0x07, 0x0e, + 0x0f, 0x07, 0x0b, 0x40, 0x0b, 0x03, 0x8f, 0x59, 0x0b, 0x94, 0x00, + 0x3f, 0x2b, 0x00, 0x1a, 0x18, 0x10, 0xcd, 0x11, 0x01, 0x33, 0x33, + 0x32, 0x31, 0x30, 0x11, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x33, + 0x0e, 0x02, 0x23, 0x22, 0x26, 0x27, 0x61, 0xb1, 0x45, 0x84, 0x82, + 0x14, 0x94, 0x19, 0x6d, 0xb2, 0x7a, 0x4e, 0xad, 0x58, 0x05, 0x9b, + 0x18, 0x2a, 0x34, 0x43, 0x66, 0x71, 0x35, 0x22, 0x15, 0x00, 0x00, + 0x01, 0x01, 0xdb, 0xfe, 0x59, 0x02, 0xef, 0xff, 0x9e, 0x00, 0x05, + 0x00, 0x26, 0x40, 0x0a, 0x02, 0x03, 0x03, 0x05, 0x00, 0x00, 0x06, + 0x07, 0x02, 0x05, 0xb8, 0x01, 0x0c, 0xb6, 0x5b, 0x00, 0x02, 0x10, + 0x02, 0x02, 0x02, 0x00, 0x2f, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x35, 0x13, 0x33, + 0x15, 0x03, 0x01, 0xdb, 0x4f, 0xc5, 0xab, 0xfe, 0x59, 0x21, 0x01, + 0x24, 0x25, 0xfe, 0xe0, 0x00, 0x00, 0x01, 0x01, 0x05, 0x04, 0xb0, + 0x03, 0xe3, 0x05, 0xb4, 0x00, 0x0b, 0x00, 0x28, 0x40, 0x14, 0x03, + 0x02, 0x09, 0x0a, 0x02, 0x0a, 0x0c, 0x0d, 0x09, 0x03, 0x00, 0x03, + 0x8c, 0x5b, 0x00, 0x06, 0x8e, 0x59, 0x00, 0x93, 0x00, 0x3f, 0x2b, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x20, 0x03, 0x33, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x33, 0x02, 0x02, 0x74, 0xfe, 0x9a, 0x09, 0xa4, + 0x05, 0x5c, 0x6a, 0x69, 0x5d, 0x05, 0xa4, 0x09, 0x04, 0xb0, 0x01, + 0x04, 0x4d, 0x48, 0x48, 0x4d, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x01, + 0x01, 0xdb, 0x04, 0x87, 0x02, 0xef, 0x05, 0xcc, 0x00, 0x05, 0x00, + 0x21, 0x40, 0x0a, 0x02, 0x03, 0x03, 0x05, 0x00, 0x00, 0x06, 0x07, + 0x05, 0x02, 0xb8, 0x01, 0x0c, 0xb2, 0x5b, 0x05, 0x93, 0x00, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x35, 0x13, 0x33, 0x15, 0x03, 0x01, 0xdb, 0x4f, 0xc5, + 0xab, 0x04, 0x87, 0x21, 0x01, 0x24, 0x25, 0xfe, 0xe0, 0x00, 0x00, + 0x00, 0x01, 0x01, 0xdb, 0x04, 0xbb, 0x02, 0xef, 0x06, 0x00, 0x00, + 0x05, 0x00, 0x21, 0x40, 0x0a, 0x05, 0x00, 0x00, 0x02, 0x03, 0x03, + 0x06, 0x07, 0x02, 0x05, 0xb8, 0x01, 0x0c, 0xb2, 0x5b, 0x02, 0x94, + 0x00, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x15, 0x03, 0x23, 0x35, 0x13, 0x02, 0xef, + 0x4f, 0xc5, 0xab, 0x06, 0x00, 0x21, 0xfe, 0xdc, 0x25, 0x01, 0x20, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x75, 0xfe, 0x57, 0x03, 0x44, 0x04, + 0x3a, 0x00, 0x10, 0x00, 0x28, 0x40, 0x14, 0x0f, 0x06, 0x0c, 0x00, + 0x06, 0x00, 0x11, 0x12, 0x0f, 0x0e, 0x50, 0x59, 0x0f, 0x0f, 0x03, + 0x09, 0x50, 0x59, 0x03, 0x1b, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x31, + 0x30, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x35, 0x16, 0x33, + 0x32, 0x36, 0x35, 0x11, 0x21, 0x35, 0x21, 0x03, 0x44, 0xe0, 0xcf, + 0x4f, 0xa4, 0x2d, 0x96, 0x7b, 0x80, 0x8a, 0xfe, 0x69, 0x02, 0x4b, + 0x1c, 0xbb, 0xd2, 0x1a, 0x11, 0x8c, 0x22, 0x84, 0x77, 0x03, 0xc5, + 0x8e, 0x00, 0x00, 0x00, 0x01, 0x01, 0x25, 0x02, 0x4d, 0x02, 0xc7, + 0x05, 0x45, 0x00, 0x0e, 0x00, 0x47, 0x40, 0x19, 0x0d, 0x0c, 0x0c, + 0x02, 0x06, 0x01, 0x01, 0x0a, 0x02, 0x02, 0x0f, 0x10, 0x07, 0x06, + 0xe4, 0x59, 0x00, 0x07, 0x01, 0x09, 0x03, 0x07, 0x07, 0x03, 0x0a, + 0xb8, 0x01, 0x11, 0xb6, 0x0c, 0x01, 0x00, 0x01, 0xe4, 0x59, 0x00, + 0xb8, 0x01, 0x12, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x33, 0x33, 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x01, 0x39, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x35, 0x33, 0x11, 0x0e, 0x01, 0x23, 0x35, 0x32, 0x36, 0x37, + 0x33, 0x11, 0x33, 0x15, 0x01, 0x49, 0x87, 0x14, 0x6a, 0x2d, 0x32, + 0x68, 0x1b, 0x79, 0x74, 0x02, 0x4d, 0x6b, 0x02, 0x01, 0x27, 0x38, + 0x77, 0x3f, 0x35, 0xfd, 0x73, 0x6b, 0x00, 0x01, 0x00, 0xfa, 0x02, + 0x4d, 0x03, 0x04, 0x05, 0x51, 0x00, 0x1a, 0x00, 0x4f, 0x40, 0x1c, + 0x19, 0x19, 0x13, 0x13, 0x07, 0x07, 0x00, 0x1c, 0x0c, 0x0d, 0x0d, + 0x00, 0x18, 0x18, 0x00, 0x0f, 0x0c, 0x01, 0x0e, 0x03, 0x0c, 0x0c, + 0x10, 0x10, 0x09, 0xe4, 0x59, 0x10, 0xb8, 0x01, 0x13, 0xb6, 0x01, + 0x18, 0x00, 0x18, 0xe4, 0x59, 0x00, 0xb8, 0x01, 0x12, 0x00, 0x3f, + 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x5f, 0x5e, 0x5d, 0x01, 0x2f, 0x33, 0x2f, 0x11, 0x33, 0x2f, + 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x2f, 0x31, 0x30, + 0x13, 0x35, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x23, 0x22, + 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, + 0x0e, 0x01, 0x07, 0x21, 0x15, 0xfa, 0x1b, 0x6b, 0x5a, 0x52, 0x46, + 0x6f, 0x3d, 0x3b, 0x08, 0x82, 0x0d, 0x8b, 0x6f, 0x78, 0x79, 0xa0, + 0x75, 0x4b, 0x11, 0x01, 0x7c, 0x02, 0x4d, 0x61, 0x3e, 0x72, 0x44, + 0x3d, 0x60, 0x35, 0x79, 0x3e, 0x3d, 0x05, 0x66, 0x74, 0x70, 0x67, + 0x83, 0x78, 0x59, 0x47, 0x27, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xea, 0x02, 0x3b, 0x02, 0xed, 0x05, 0x51, 0x00, 0x28, 0x00, + 0x8c, 0x40, 0x43, 0x0f, 0x25, 0x01, 0x10, 0x04, 0x1b, 0x1c, 0x1c, + 0x22, 0x15, 0x11, 0x15, 0x06, 0x00, 0x0d, 0x07, 0x0d, 0x2a, 0x06, + 0x25, 0x10, 0x11, 0x11, 0x10, 0xe4, 0x59, 0x8f, 0x11, 0x01, 0x4f, + 0x11, 0x5f, 0x11, 0x6f, 0x11, 0x03, 0x0f, 0x11, 0x1f, 0x11, 0x2f, + 0x11, 0x6f, 0x11, 0x7f, 0x11, 0x8f, 0x11, 0x06, 0x09, 0x11, 0x11, + 0x03, 0x1f, 0x0f, 0x1b, 0x01, 0x0e, 0x03, 0x1b, 0x1b, 0x1f, 0x1f, + 0x18, 0xe4, 0x59, 0x1f, 0xb8, 0x01, 0x13, 0x40, 0x0a, 0x03, 0x0a, + 0xe4, 0x59, 0x50, 0x07, 0x01, 0x07, 0x07, 0x03, 0xb8, 0x01, 0x14, + 0x00, 0x3f, 0x33, 0x2f, 0x5d, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, + 0x00, 0x33, 0x18, 0x2f, 0x5f, 0x5e, 0x5d, 0x11, 0x12, 0x39, 0x2f, + 0x5e, 0x5d, 0x71, 0x72, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x01, 0x18, + 0x2f, 0x12, 0x39, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, + 0x32, 0x2f, 0x33, 0x00, 0x5f, 0x5e, 0x5d, 0x31, 0x30, 0x01, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, + 0x35, 0x34, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, + 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x02, 0xed, 0x8a, 0x77, 0x6b, + 0x88, 0x0f, 0x88, 0x09, 0x41, 0x30, 0x36, 0x42, 0x95, 0x29, 0x25, + 0x44, 0x40, 0x36, 0x29, 0x2d, 0x42, 0x06, 0x87, 0x0d, 0x86, 0x69, + 0x6d, 0x7b, 0x43, 0x45, 0x52, 0x4b, 0x03, 0x1a, 0x65, 0x7a, 0x70, + 0x64, 0x0d, 0x3c, 0x3d, 0x3c, 0x41, 0x78, 0x6d, 0x39, 0x42, 0x35, + 0x32, 0x3f, 0x39, 0x0c, 0x64, 0x72, 0x6e, 0x5c, 0x42, 0x55, 0x1a, + 0x02, 0x12, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc5, 0x02, 0x4b, + 0x03, 0x35, 0x05, 0x45, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x4b, 0x40, + 0x24, 0x09, 0x09, 0x08, 0x01, 0x01, 0x0e, 0x06, 0x02, 0x02, 0x11, + 0x0d, 0x04, 0x00, 0x04, 0x0d, 0x04, 0xe4, 0x59, 0x08, 0x05, 0x0f, + 0x0d, 0x1f, 0x0d, 0x2f, 0x0d, 0x9f, 0x0d, 0xbf, 0x0d, 0x05, 0x0d, + 0x0d, 0x01, 0x0b, 0x06, 0xba, 0x01, 0x11, 0x00, 0x01, 0x01, 0x12, + 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x33, 0x33, 0x2b, + 0x11, 0x00, 0x33, 0x01, 0x18, 0x2f, 0x33, 0x12, 0x39, 0x11, 0x33, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x2f, 0x31, 0x30, 0x01, 0x15, 0x23, + 0x35, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, 0x15, 0x03, 0x06, 0x03, + 0x21, 0x11, 0x02, 0xbb, 0x7f, 0xfe, 0x89, 0x01, 0x69, 0x8d, 0x7a, + 0xf8, 0x22, 0xe8, 0x01, 0x09, 0x02, 0xec, 0xa1, 0xa1, 0x63, 0x01, + 0xf6, 0xfe, 0x0c, 0x65, 0x01, 0xd9, 0x33, 0xfe, 0xbf, 0x01, 0x41, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x04, 0x02, 0x46, 0x02, 0xfb, 0x05, + 0x45, 0x00, 0x1a, 0x00, 0x5d, 0x40, 0x24, 0x16, 0x15, 0x10, 0x10, + 0x12, 0x11, 0x11, 0x06, 0x05, 0x0b, 0x13, 0x00, 0x05, 0x00, 0x1b, + 0x1c, 0x11, 0x16, 0xe5, 0x59, 0x11, 0x11, 0x18, 0x18, 0x0d, 0xe4, + 0x59, 0x18, 0x18, 0x12, 0x03, 0x12, 0x15, 0xe5, 0x59, 0x12, 0xb8, + 0x01, 0x11, 0xb6, 0x03, 0x09, 0xe4, 0x59, 0x06, 0x06, 0x03, 0xb8, + 0x01, 0x14, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, + 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x18, + 0x2f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x35, + 0x34, 0x23, 0x22, 0x06, 0x07, 0x23, 0x13, 0x21, 0x15, 0x21, 0x07, + 0x36, 0x33, 0x32, 0x16, 0x02, 0xfb, 0x83, 0x76, 0xdb, 0x23, 0x85, + 0x0b, 0x39, 0x32, 0x75, 0x74, 0x28, 0x32, 0x15, 0x81, 0x21, 0x01, + 0xaa, 0xfe, 0xc2, 0x13, 0x34, 0x52, 0x70, 0x7b, 0x03, 0x43, 0x7a, + 0x83, 0xbf, 0x0f, 0x36, 0x2f, 0x94, 0x88, 0x1e, 0x1e, 0x01, 0xb6, + 0x71, 0xd7, 0x3b, 0x7e, 0x00, 0x00, 0x00, 0x01, 0x00, 0xfc, 0x02, + 0x4d, 0x03, 0x03, 0x05, 0x45, 0x00, 0x0b, 0x00, 0x2e, 0x40, 0x11, + 0x04, 0x05, 0x05, 0x09, 0x08, 0x00, 0x09, 0x00, 0x0c, 0x0d, 0x00, + 0x09, 0x0a, 0x09, 0xe5, 0x59, 0x0a, 0xba, 0x01, 0x11, 0x00, 0x04, + 0x01, 0x12, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, + 0x01, 0x39, 0x39, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x0e, 0x02, 0x15, 0x23, 0x34, 0x12, 0x37, 0x21, 0x35, 0x21, + 0x03, 0x03, 0x7c, 0x5d, 0x2b, 0x85, 0x71, 0x97, 0xfe, 0x7a, 0x02, + 0x07, 0x04, 0xe0, 0xac, 0xb8, 0xbd, 0x72, 0xa4, 0x01, 0x1d, 0xc6, + 0x71, 0x00, 0x00, 0x00, 0x03, 0x01, 0x11, 0x02, 0x40, 0x03, 0x06, + 0x05, 0x51, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x2c, 0x00, 0x6d, 0x40, + 0x32, 0x2a, 0x1e, 0x21, 0x00, 0x27, 0x06, 0x21, 0x21, 0x27, 0x16, + 0x11, 0x1c, 0x0c, 0x16, 0x1c, 0x16, 0x2d, 0x2e, 0x2a, 0x1e, 0x1e, + 0x09, 0x0e, 0x09, 0x0e, 0xe4, 0x59, 0x5f, 0x09, 0x6f, 0x09, 0x02, + 0x0f, 0x09, 0x1f, 0x09, 0x2f, 0x09, 0x03, 0x09, 0x03, 0x09, 0x09, + 0x24, 0x19, 0x24, 0x03, 0xe4, 0x59, 0x24, 0xb8, 0x01, 0x13, 0xb4, + 0x19, 0x13, 0xe4, 0x59, 0x19, 0xb8, 0x01, 0x14, 0x00, 0x3f, 0x2b, + 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x5f, + 0x5e, 0x5d, 0x71, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x33, 0x11, + 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x34, + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x13, + 0x34, 0x23, 0x22, 0x06, 0x15, 0x14, 0x33, 0x32, 0x36, 0x37, 0x14, + 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x35, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x1e, 0x01, 0x02, + 0x6b, 0x2e, 0x33, 0x38, 0x28, 0x33, 0x2e, 0x2f, 0x31, 0x15, 0x76, + 0x3a, 0x39, 0x76, 0x3a, 0x39, 0x86, 0x7e, 0x7c, 0x7a, 0x81, 0x79, + 0x65, 0x7b, 0x6a, 0x6e, 0x79, 0x66, 0x42, 0x39, 0x04, 0x80, 0x3c, + 0x31, 0x3b, 0x32, 0x38, 0x3a, 0x34, 0xfe, 0xe7, 0x80, 0x3e, 0x42, + 0x84, 0x3b, 0x40, 0x6c, 0x74, 0x73, 0x6d, 0x93, 0x26, 0x03, 0x31, + 0x7f, 0x59, 0x6c, 0x6a, 0x5c, 0x80, 0x2e, 0x03, 0x13, 0x5a, 0x00, + 0x00, 0x00, 0x01, 0xff, 0x05, 0xfe, 0xbf, 0xff, 0xcd, 0xff, 0x7f, + 0x00, 0x03, 0x00, 0x0f, 0xb4, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, + 0x2f, 0xcd, 0x11, 0x01, 0x33, 0x32, 0x31, 0x30, 0x03, 0x35, 0x33, + 0x15, 0xfb, 0xc8, 0xfe, 0xbf, 0xc0, 0xc0, 0x00, 0x00, 0x01, 0xfe, + 0x3f, 0x05, 0x48, 0xff, 0xf0, 0x06, 0x8c, 0x00, 0x12, 0x00, 0x24, + 0x40, 0x0f, 0x0e, 0x0f, 0x0f, 0x06, 0x00, 0x0a, 0x0a, 0x06, 0x06, + 0x13, 0x05, 0x03, 0x03, 0x08, 0x0f, 0x00, 0x2f, 0xcc, 0x32, 0x10, + 0xc6, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x03, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x36, + 0x33, 0x32, 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 0x35, 0x3e, 0x01, + 0xb7, 0x33, 0x2a, 0x48, 0x46, 0x1f, 0x5a, 0x6a, 0xed, 0x51, 0x5b, + 0x70, 0x45, 0x30, 0x05, 0xe2, 0x1f, 0x22, 0x18, 0x63, 0x1e, 0x95, + 0x3b, 0x55, 0x0b, 0x14, 0x5a, 0x03, 0x1e, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x04, 0x3a, 0x00, 0x09, 0x00, + 0x2c, 0x40, 0x16, 0x01, 0x00, 0x00, 0x04, 0x05, 0x05, 0x0a, 0x0b, + 0x08, 0x07, 0x50, 0x59, 0x08, 0x0f, 0x00, 0x04, 0x03, 0x04, 0x50, + 0x59, 0x03, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, + 0x2b, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x25, 0x21, 0x15, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, + 0x02, 0xe9, 0x01, 0x7c, 0xfc, 0x2a, 0x01, 0xa6, 0xfe, 0xc1, 0x01, + 0xf3, 0x8e, 0x8e, 0x8e, 0x03, 0x1e, 0x8e, 0x00, 0x00, 0x00, 0x03, + 0xfe, 0xd6, 0x05, 0xb2, 0x01, 0x2b, 0x07, 0x2b, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x0b, 0x00, 0x34, 0x40, 0x16, 0x08, 0x09, 0x04, 0x00, + 0x03, 0x03, 0x07, 0x04, 0x04, 0x0c, 0x09, 0x0b, 0x00, 0x40, 0x05, + 0x01, 0x00, 0x01, 0x90, 0x5b, 0x04, 0x00, 0xb8, 0x01, 0x46, 0x00, + 0x3f, 0x32, 0x2b, 0x11, 0x00, 0x33, 0x1a, 0x18, 0x10, 0xcc, 0x32, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, + 0x31, 0x30, 0x13, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x25, + 0x21, 0x35, 0x21, 0x88, 0xa3, 0xfd, 0xab, 0xa3, 0x01, 0x9a, 0xfd, + 0xdb, 0x02, 0x25, 0x05, 0xb2, 0xb8, 0xb8, 0xb8, 0xb8, 0xfa, 0x7f, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0xd6, 0x05, 0xa8, 0x01, 0x2b, + 0x07, 0x2b, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x39, 0x40, + 0x19, 0x00, 0x01, 0x01, 0x03, 0x04, 0x04, 0x0a, 0x06, 0x09, 0x09, + 0x0d, 0x0a, 0x0a, 0x0e, 0x0b, 0x07, 0x06, 0x07, 0x90, 0x5b, 0x04, + 0x04, 0x01, 0x0a, 0x06, 0xb8, 0x01, 0x46, 0x00, 0x3f, 0x33, 0xcc, + 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x13, 0x33, 0x15, 0x05, 0x23, 0x35, 0x17, 0x35, 0x33, 0x15, + 0x21, 0x35, 0x33, 0x15, 0x3e, 0xe2, 0xfe, 0xfb, 0x82, 0xef, 0xa3, + 0xfd, 0xab, 0xa3, 0x07, 0x2b, 0x0c, 0xab, 0x0a, 0xd6, 0xb8, 0xb8, + 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0xcf, 0x05, 0xa8, + 0x01, 0x33, 0x07, 0x2b, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x10, 0x00, + 0x47, 0x40, 0x20, 0x04, 0x03, 0x08, 0x08, 0x06, 0x00, 0x01, 0x01, + 0x09, 0x0c, 0x0c, 0x0d, 0x07, 0x06, 0x06, 0x10, 0x0d, 0x0d, 0x11, + 0x0e, 0x0a, 0x09, 0x0a, 0x90, 0x5b, 0x04, 0x08, 0x08, 0x06, 0x01, + 0x0d, 0x09, 0xb8, 0x01, 0x46, 0x00, 0x3f, 0x33, 0xcc, 0x32, 0x39, + 0x11, 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x33, 0x15, 0x07, 0x23, + 0x27, 0x35, 0x33, 0x17, 0x13, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, + 0x15, 0x98, 0x9b, 0xd0, 0xc3, 0xd1, 0x9b, 0x97, 0x87, 0xa3, 0xfd, + 0xab, 0xa3, 0x07, 0x2b, 0x0a, 0xad, 0xab, 0x0c, 0x61, 0xfe, 0xde, + 0xb8, 0xb8, 0xb8, 0xb8, 0x00, 0x00, 0x03, 0xfe, 0xd6, 0x05, 0xa8, + 0x01, 0x2b, 0x07, 0x2b, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, + 0x39, 0x40, 0x19, 0x0a, 0x0d, 0x0d, 0x06, 0x02, 0x01, 0x01, 0x05, + 0x04, 0x04, 0x09, 0x06, 0x06, 0x0e, 0x0b, 0x07, 0x06, 0x07, 0x90, + 0x5b, 0x02, 0x02, 0x05, 0x0a, 0x06, 0xb8, 0x01, 0x46, 0x00, 0x3f, + 0x33, 0xcc, 0x39, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x15, 0x23, 0x25, 0x35, 0x33, 0x03, 0x35, + 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x68, 0x82, 0xfe, 0xfb, 0xe2, + 0xed, 0xa3, 0x01, 0x0f, 0xa3, 0x06, 0x7e, 0x0a, 0xab, 0x0c, 0xfe, + 0x7d, 0xb8, 0xb8, 0xb8, 0xb8, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xee, + 0x05, 0xbc, 0x01, 0x13, 0x07, 0x2b, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x2d, 0x40, 0x14, 0x03, 0x00, 0x00, 0x05, 0x04, 0x05, 0x04, 0x08, + 0x07, 0x04, 0x8f, 0x59, 0x07, 0x00, 0x40, 0x00, 0x01, 0x90, 0x5b, + 0x00, 0xb8, 0x01, 0x46, 0x00, 0x3f, 0x2b, 0x00, 0x1a, 0x18, 0x10, + 0xcc, 0x2b, 0x11, 0x01, 0x33, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, + 0x31, 0x30, 0x03, 0x35, 0x33, 0x15, 0x37, 0x21, 0x35, 0x21, 0x57, + 0xa3, 0xc7, 0xfd, 0xdb, 0x02, 0x25, 0x05, 0xbc, 0xb8, 0xb8, 0xf0, + 0x7f, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xc2, 0x05, 0xc3, 0x01, 0x3f, + 0x07, 0x2b, 0x00, 0x03, 0x00, 0x1b, 0x00, 0x43, 0x40, 0x20, 0x00, + 0x01, 0x0c, 0x17, 0x18, 0x18, 0x1c, 0x0b, 0x0c, 0x0c, 0x1c, 0x18, + 0x10, 0x10, 0x08, 0x8e, 0x59, 0x10, 0x10, 0x14, 0x03, 0x04, 0x14, + 0x8e, 0x59, 0x03, 0x00, 0x8f, 0x59, 0x03, 0x0c, 0x04, 0xb8, 0x01, + 0x47, 0x00, 0x3f, 0x33, 0xcc, 0x2b, 0x2b, 0x11, 0x12, 0x00, 0x39, + 0x18, 0x2f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x21, + 0x35, 0x21, 0x03, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x23, + 0x3e, 0x02, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, + 0x0e, 0x02, 0x01, 0x13, 0xfd, 0xdb, 0x02, 0x25, 0x94, 0x33, 0x54, + 0x55, 0x24, 0x2d, 0x2d, 0x08, 0x5b, 0x0b, 0x2b, 0x4c, 0x3f, 0x37, + 0x53, 0x53, 0x22, 0x30, 0x2b, 0x06, 0x5c, 0x0c, 0x2a, 0x4b, 0x06, + 0xac, 0x7f, 0xfe, 0x98, 0x26, 0x25, 0x23, 0x28, 0x52, 0x48, 0x28, + 0x25, 0x26, 0x26, 0x25, 0x51, 0x4a, 0x27, 0x00, 0x00, 0x00, 0x01, + 0xfe, 0x37, 0x04, 0xbe, 0x01, 0xc9, 0x05, 0x81, 0x00, 0x0b, 0x00, + 0x1b, 0x40, 0x0b, 0x00, 0x0b, 0x0c, 0x04, 0x08, 0x08, 0x00, 0x0a, + 0x06, 0x02, 0x94, 0x00, 0x3f, 0x33, 0x33, 0xcd, 0x32, 0x11, 0x33, + 0x11, 0x01, 0x33, 0x33, 0x31, 0x30, 0x01, 0x07, 0x23, 0x27, 0x23, + 0x07, 0x23, 0x27, 0x23, 0x07, 0x23, 0x27, 0x01, 0xc9, 0x5a, 0x28, + 0x2f, 0xd5, 0x2f, 0x28, 0x2f, 0xd5, 0x2f, 0x28, 0x5a, 0x05, 0x81, + 0xc3, 0x65, 0x65, 0x65, 0x65, 0xc3, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xe5, 0x04, 0xb0, 0x02, 0xc3, 0x05, 0xf0, 0x00, 0x09, 0x00, 0x2c, + 0x40, 0x15, 0x07, 0x08, 0x08, 0x03, 0x02, 0x02, 0x0a, 0x07, 0x0f, + 0x03, 0x01, 0x09, 0x03, 0x03, 0x00, 0x00, 0x05, 0x8e, 0x59, 0x00, + 0x93, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x10, 0xc4, 0x5f, 0x5e, 0x5d, + 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x20, 0x03, 0x33, 0x16, 0x33, 0x32, 0x37, 0x33, 0x02, 0x01, + 0x54, 0xfe, 0x9c, 0x0b, 0xa4, 0x0c, 0xbf, 0xbf, 0x0c, 0xa4, 0x0b, + 0x04, 0xb0, 0x01, 0x40, 0xc7, 0xc7, 0xfe, 0xc0, 0x00, 0x02, 0xfe, + 0xee, 0x05, 0xd8, 0x01, 0x13, 0x07, 0x2b, 0x00, 0x05, 0x00, 0x09, + 0x00, 0x29, 0x40, 0x12, 0x02, 0x01, 0x01, 0x05, 0x04, 0x04, 0x07, + 0x06, 0x07, 0x0a, 0x02, 0x02, 0x08, 0x08, 0x05, 0x80, 0x07, 0xa0, + 0x00, 0x3f, 0x1a, 0xcc, 0x33, 0x11, 0x39, 0x2f, 0x11, 0x01, 0x33, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, + 0x15, 0x23, 0x25, 0x35, 0x33, 0x01, 0x21, 0x35, 0x21, 0x80, 0x82, + 0xfe, 0xfb, 0xe2, 0x01, 0x38, 0xfd, 0xdb, 0x02, 0x25, 0x06, 0x7e, + 0x0a, 0xab, 0x0c, 0xfe, 0xad, 0x7f, 0x00, 0x00, 0x00, 0x02, 0xfe, + 0xee, 0x05, 0xd8, 0x01, 0x13, 0x07, 0x2b, 0x00, 0x05, 0x00, 0x09, + 0x00, 0x27, 0x40, 0x11, 0x03, 0x04, 0x04, 0x00, 0x01, 0x08, 0x08, + 0x09, 0x0a, 0x04, 0x04, 0x06, 0x06, 0x01, 0x80, 0x09, 0xa0, 0x00, + 0x3f, 0x1a, 0xcc, 0x33, 0x11, 0x39, 0x2f, 0x11, 0x01, 0x33, 0x33, + 0x11, 0x33, 0x32, 0x32, 0x11, 0x33, 0x31, 0x30, 0x13, 0x33, 0x15, + 0x05, 0x23, 0x35, 0x07, 0x21, 0x15, 0x21, 0x26, 0xe2, 0xfe, 0xfb, + 0x82, 0x93, 0x02, 0x25, 0xfd, 0xdb, 0x07, 0x2b, 0x0c, 0xab, 0x0a, + 0x27, 0x7f, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xc2, 0x05, 0xc3, 0x01, + 0x3f, 0x07, 0x2b, 0x00, 0x17, 0x00, 0x1d, 0x00, 0x3b, 0x40, 0x19, + 0x1b, 0x1c, 0x1c, 0x18, 0x19, 0x19, 0x08, 0x13, 0x14, 0x14, 0x1e, + 0x07, 0x08, 0x08, 0x1e, 0x14, 0x04, 0x0c, 0x0c, 0x10, 0x1c, 0x19, + 0x10, 0x08, 0x00, 0xb8, 0x01, 0x47, 0x00, 0x3f, 0x32, 0x32, 0xcc, + 0x32, 0x11, 0x39, 0x2f, 0x33, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x23, + 0x3e, 0x02, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, + 0x0e, 0x02, 0x03, 0x33, 0x15, 0x07, 0x23, 0x35, 0x7f, 0x33, 0x54, + 0x55, 0x24, 0x2d, 0x2d, 0x08, 0x5b, 0x0b, 0x2b, 0x4c, 0x3f, 0x37, + 0x53, 0x53, 0x22, 0x30, 0x2b, 0x06, 0x5c, 0x0c, 0x2a, 0x4b, 0x98, + 0xe2, 0xe7, 0x82, 0x05, 0xc3, 0x26, 0x25, 0x23, 0x28, 0x52, 0x48, + 0x28, 0x25, 0x26, 0x26, 0x25, 0x51, 0x4a, 0x27, 0x01, 0x68, 0x0c, + 0x83, 0x0a, 0x00, 0x03, 0xfe, 0xc2, 0x05, 0xc3, 0x01, 0x3f, 0x07, + 0x53, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x47, 0x40, 0x20, + 0x05, 0x06, 0x02, 0x01, 0x06, 0x01, 0x10, 0x1b, 0x1c, 0x1c, 0x20, + 0x0f, 0x10, 0x10, 0x20, 0x1c, 0x0c, 0x14, 0x14, 0x18, 0x00, 0x18, + 0x08, 0x06, 0x01, 0x07, 0x8f, 0x00, 0x01, 0x00, 0x10, 0x08, 0xb8, + 0x01, 0x47, 0x00, 0x3f, 0x33, 0xdc, 0x5d, 0x32, 0xcd, 0x32, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x2f, 0x33, 0x33, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, + 0x01, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, + 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x02, + 0x01, 0x2b, 0xa3, 0xfe, 0xf1, 0xa3, 0x01, 0xa9, 0x33, 0x54, 0x55, + 0x24, 0x2d, 0x2d, 0x08, 0x5b, 0x0b, 0x2b, 0x4c, 0x3f, 0x37, 0x53, + 0x53, 0x22, 0x30, 0x2b, 0x06, 0x5c, 0x0c, 0x2a, 0x4b, 0x07, 0x53, + 0xb8, 0xb8, 0xb8, 0xb8, 0xfe, 0x70, 0x26, 0x25, 0x23, 0x28, 0x52, + 0x48, 0x28, 0x25, 0x26, 0x26, 0x25, 0x51, 0x4a, 0x27, 0x00, 0x02, + 0xff, 0x59, 0x05, 0xa5, 0x01, 0x58, 0x06, 0xba, 0x00, 0x03, 0x00, + 0x09, 0x00, 0x34, 0x40, 0x1a, 0x09, 0x04, 0x04, 0x06, 0x07, 0x07, + 0x0b, 0x00, 0x01, 0x01, 0x0a, 0x02, 0x01, 0x8f, 0x59, 0x02, 0x02, + 0x0f, 0x07, 0x1f, 0x07, 0x2f, 0x07, 0x03, 0x07, 0x04, 0xb8, 0x01, + 0x45, 0x00, 0x3f, 0xcd, 0x5d, 0x39, 0x2f, 0x2b, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x03, 0x23, 0x35, 0x33, 0x03, 0x35, 0x13, 0x33, 0x15, 0x05, 0x20, + 0x87, 0x87, 0x30, 0xd9, 0xcf, 0xfe, 0xb6, 0x06, 0x27, 0x89, 0xfe, + 0xf5, 0x14, 0x01, 0x01, 0x1d, 0xf8, 0x00, 0x02, 0xfe, 0xb5, 0x05, + 0xa5, 0x01, 0x4b, 0x06, 0xf6, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x39, + 0x40, 0x1a, 0x00, 0x01, 0x05, 0x04, 0x09, 0x01, 0x09, 0x07, 0x0c, + 0x0c, 0x07, 0x0e, 0x00, 0x40, 0x03, 0x40, 0x09, 0x0d, 0x48, 0x03, + 0x03, 0x0b, 0x07, 0x80, 0x0a, 0x05, 0xb8, 0x01, 0x45, 0x00, 0x3f, + 0x33, 0x1a, 0xcd, 0x32, 0x32, 0x2f, 0x2b, 0x1a, 0xcd, 0x11, 0x01, + 0x33, 0x33, 0x11, 0x12, 0x39, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x13, 0x23, 0x35, 0x33, 0x13, 0x23, 0x27, 0x35, 0x33, + 0x17, 0x33, 0x37, 0x33, 0x15, 0x44, 0x87, 0x87, 0x27, 0xcc, 0xea, + 0x68, 0xe8, 0x02, 0xdb, 0x69, 0x06, 0x6d, 0x89, 0xfe, 0xaf, 0xef, + 0x15, 0x8b, 0x8b, 0x15, 0x00, 0x03, 0xfe, 0xd6, 0x05, 0xb2, 0x01, + 0x2b, 0x07, 0x2b, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x33, + 0x40, 0x15, 0x08, 0x09, 0x00, 0x04, 0x07, 0x07, 0x0c, 0x03, 0x00, + 0x00, 0x0c, 0x02, 0x06, 0x06, 0x01, 0x40, 0x07, 0x00, 0xc0, 0x0a, + 0x09, 0xb8, 0x01, 0x46, 0x00, 0x3f, 0x33, 0x1a, 0xdc, 0x32, 0x1a, + 0xcd, 0x32, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x31, 0x30, 0x01, 0x15, 0x23, 0x35, + 0x21, 0x15, 0x23, 0x35, 0x01, 0x21, 0x35, 0x21, 0x01, 0x2b, 0xa3, + 0xfe, 0xf1, 0xa3, 0x02, 0x3d, 0xfd, 0xdb, 0x02, 0x25, 0x07, 0x2b, + 0xb8, 0xb8, 0xb8, 0xb8, 0xfe, 0x87, 0x7f, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x04, 0x3a, 0x00, 0x11, 0x00, + 0x46, 0x40, 0x24, 0x05, 0x00, 0x04, 0x08, 0x0d, 0x04, 0x03, 0x09, + 0x09, 0x12, 0x13, 0x03, 0x0b, 0x0c, 0x0b, 0x50, 0x59, 0x00, 0x0c, + 0x0c, 0x07, 0x10, 0x10, 0x0f, 0x50, 0x59, 0x10, 0x0f, 0x04, 0x08, + 0x07, 0x08, 0x50, 0x59, 0x07, 0x15, 0x00, 0x3f, 0x2b, 0x11, 0x00, + 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, 0x33, + 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x17, 0x33, + 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x33, 0x15, 0x23, 0x11, 0x21, + 0x15, 0x21, 0x35, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x35, + 0x21, 0x02, 0xe9, 0xd6, 0xd6, 0x01, 0x7c, 0xfc, 0x2a, 0x01, 0xa6, + 0xe9, 0xe9, 0xfe, 0xc1, 0x01, 0xf3, 0x02, 0x69, 0x85, 0xfe, 0xaa, + 0x8e, 0x8e, 0x01, 0x56, 0x85, 0x01, 0x43, 0x8e, 0x00, 0xff, 0xff, + 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x07, 0x34, 0x12, 0x26, 0x03, + 0x62, 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, 0xf3, 0x00, 0x11, 0x07, + 0x07, 0xa0, 0x01, 0x09, 0x01, 0x68, 0x00, 0x19, 0xb6, 0x02, 0x27, + 0x11, 0x26, 0x04, 0x03, 0x02, 0xb8, 0xff, 0xde, 0xb4, 0x28, 0x29, + 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, + 0x07, 0x34, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x26, 0x09, + 0x69, 0xf3, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x01, 0x21, 0x01, 0x68, + 0x00, 0x19, 0xb6, 0x02, 0x27, 0x11, 0x26, 0x04, 0x03, 0x02, 0xb8, + 0xff, 0xde, 0xb4, 0x28, 0x29, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x81, 0xff, 0xec, 0x04, 0x90, 0x07, 0x34, 0x12, 0x26, 0x03, 0x62, + 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, 0xf3, 0x00, 0x11, 0x07, 0x07, + 0xad, 0x00, 0xfc, 0x01, 0x68, 0x00, 0x19, 0xb6, 0x02, 0x27, 0x11, + 0x26, 0x04, 0x03, 0x02, 0xb8, 0xff, 0xde, 0xb4, 0x28, 0x29, 0x05, + 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x07, + 0x34, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, + 0xf3, 0x00, 0x11, 0x07, 0x07, 0xae, 0x01, 0x0d, 0x01, 0x68, 0x00, + 0x19, 0xb6, 0x02, 0x27, 0x11, 0x26, 0x04, 0x03, 0x02, 0xb8, 0xff, + 0xde, 0xb4, 0x28, 0x29, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, + 0xff, 0xec, 0x04, 0x90, 0x07, 0x34, 0x12, 0x26, 0x03, 0x62, 0x00, + 0x00, 0x10, 0x27, 0x02, 0xc7, 0x02, 0x44, 0x00, 0x00, 0x11, 0x07, + 0x07, 0xa0, 0x00, 0xfe, 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, 0x04, + 0x03, 0x39, 0x40, 0x09, 0x0c, 0x48, 0x39, 0x02, 0x26, 0x11, 0x26, + 0x04, 0x03, 0x02, 0xb8, 0xff, 0xde, 0xb4, 0x29, 0x31, 0x05, 0x0f, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, 0x07, + 0x34, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x27, 0x02, 0xc7, + 0x02, 0x44, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x00, 0xff, 0x01, + 0x68, 0x00, 0x26, 0x40, 0x0f, 0x04, 0x03, 0x34, 0x40, 0x09, 0x0c, + 0x48, 0x34, 0x02, 0x26, 0x11, 0x26, 0x04, 0x03, 0x02, 0xb8, 0xff, + 0xde, 0xb4, 0x29, 0x31, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, + 0x81, 0xff, 0xec, 0x04, 0x90, 0x07, 0x34, 0x12, 0x26, 0x03, 0x62, + 0x00, 0x00, 0x10, 0x27, 0x02, 0xc7, 0x02, 0x44, 0x00, 0x00, 0x11, + 0x07, 0x07, 0xad, 0x00, 0xe6, 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, + 0x04, 0x03, 0x34, 0x40, 0x09, 0x0c, 0x48, 0x34, 0x02, 0x26, 0x11, + 0x26, 0x04, 0x03, 0x02, 0xb8, 0xff, 0xde, 0xb4, 0x29, 0x31, 0x05, + 0x0f, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, + 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0x81, 0xff, 0xec, 0x04, 0x90, + 0x07, 0x34, 0x12, 0x26, 0x03, 0x62, 0x00, 0x00, 0x10, 0x27, 0x02, + 0xc7, 0x02, 0x44, 0x00, 0x00, 0x11, 0x07, 0x07, 0xae, 0x00, 0xe6, + 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, 0x04, 0x03, 0x34, 0x40, 0x09, + 0x0c, 0x48, 0x34, 0x02, 0x26, 0x11, 0x26, 0x04, 0x03, 0x02, 0xb8, + 0xff, 0xde, 0xb4, 0x29, 0x31, 0x05, 0x0f, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x35, 0x35, 0xff, 0xff, + 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x07, 0x34, 0x12, 0x26, 0x03, + 0x6a, 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, 0xc6, 0x00, 0x11, 0x07, + 0x07, 0xa0, 0x00, 0xdc, 0x01, 0x68, 0x00, 0x19, 0xb6, 0x01, 0x11, + 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, 0xb6, 0xb4, 0x12, 0x13, + 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, + 0x07, 0x34, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x10, 0x26, 0x09, + 0x69, 0xc6, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x00, 0xfd, 0x01, 0x68, + 0x00, 0x19, 0xb6, 0x01, 0x11, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, + 0xff, 0xb6, 0xb4, 0x12, 0x13, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x95, 0xff, 0xec, 0x04, 0x5d, 0x07, 0x34, 0x12, 0x26, 0x03, 0x6a, + 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, 0xc6, 0x00, 0x11, 0x07, 0x07, + 0xad, 0x00, 0xda, 0x01, 0x68, 0x00, 0x19, 0xb6, 0x01, 0x11, 0x11, + 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, 0xb6, 0xb4, 0x12, 0x13, 0x0e, + 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x07, + 0x34, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, + 0xc6, 0x00, 0x11, 0x07, 0x07, 0xae, 0x00, 0xe9, 0x01, 0x68, 0x00, + 0x19, 0xb6, 0x01, 0x11, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, + 0xb6, 0xb4, 0x12, 0x13, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, + 0xff, 0xec, 0x04, 0x5d, 0x07, 0x34, 0x12, 0x26, 0x03, 0x6a, 0x00, + 0x00, 0x10, 0x27, 0x02, 0xc7, 0x02, 0x26, 0x00, 0x00, 0x11, 0x07, + 0x07, 0xa0, 0x00, 0xd9, 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, 0x03, + 0x02, 0x23, 0x40, 0x09, 0x0c, 0x48, 0x23, 0x01, 0x10, 0x11, 0x26, + 0x03, 0x02, 0x01, 0xb8, 0xff, 0xa6, 0xb4, 0x13, 0x1b, 0x0e, 0x06, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, 0x07, + 0x34, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x10, 0x27, 0x02, 0xc7, + 0x02, 0x26, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x00, 0xe4, 0x01, + 0x68, 0x00, 0x26, 0x40, 0x0f, 0x03, 0x02, 0x23, 0x40, 0x09, 0x0c, + 0x48, 0x23, 0x01, 0x10, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, + 0xa6, 0xb4, 0x13, 0x1b, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, + 0x95, 0xff, 0xec, 0x04, 0x5d, 0x07, 0x34, 0x12, 0x26, 0x03, 0x6a, + 0x00, 0x00, 0x10, 0x27, 0x02, 0xc7, 0x02, 0x26, 0x00, 0x00, 0x11, + 0x07, 0x07, 0xad, 0x00, 0xcc, 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, + 0x03, 0x02, 0x23, 0x40, 0x09, 0x0c, 0x48, 0x23, 0x01, 0x10, 0x11, + 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, 0xa6, 0xb4, 0x13, 0x1b, 0x0e, + 0x06, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, + 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0x95, 0xff, 0xec, 0x04, 0x5d, + 0x07, 0x34, 0x12, 0x26, 0x03, 0x6a, 0x00, 0x00, 0x10, 0x27, 0x02, + 0xc7, 0x02, 0x26, 0x00, 0x00, 0x11, 0x07, 0x07, 0xae, 0x00, 0xe2, + 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, 0x03, 0x02, 0x23, 0x40, 0x09, + 0x0c, 0x48, 0x23, 0x01, 0x10, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, + 0xff, 0xa6, 0xb4, 0x13, 0x1b, 0x0e, 0x06, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x35, 0x35, 0xff, 0xff, + 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x07, 0x34, 0x12, 0x26, 0x03, + 0x76, 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, 0xe9, 0x00, 0x11, 0x07, + 0x07, 0xa0, 0x00, 0xfc, 0x01, 0x68, 0x00, 0x19, 0xb6, 0x01, 0x16, + 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x17, 0x18, + 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, + 0x07, 0x34, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x10, 0x26, 0x09, + 0x69, 0xe9, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x01, 0x1c, 0x01, 0x68, + 0x00, 0x19, 0xb6, 0x01, 0x16, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, + 0xff, 0xf3, 0xb4, 0x17, 0x18, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xa3, 0xff, 0xec, 0x04, 0x44, 0x07, 0x34, 0x12, 0x26, 0x03, 0x76, + 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, 0xe9, 0x00, 0x11, 0x07, 0x07, + 0xad, 0x00, 0xfa, 0x01, 0x68, 0x00, 0x19, 0xb6, 0x01, 0x16, 0x11, + 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x17, 0x18, 0x07, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x07, + 0x34, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x10, 0x26, 0x09, 0x69, + 0xe9, 0x00, 0x11, 0x07, 0x07, 0xae, 0x01, 0x15, 0x01, 0x68, 0x00, + 0x19, 0xb6, 0x01, 0x16, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, + 0xf3, 0xb4, 0x17, 0x18, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa3, + 0xff, 0xec, 0x04, 0x44, 0x07, 0x34, 0x12, 0x26, 0x03, 0x76, 0x00, + 0x00, 0x10, 0x27, 0x02, 0xc7, 0x02, 0x52, 0x00, 0x00, 0x11, 0x07, + 0x07, 0xa0, 0x01, 0x08, 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, 0x03, + 0x02, 0x28, 0x40, 0x09, 0x0c, 0x48, 0x28, 0x01, 0x15, 0x11, 0x26, + 0x03, 0x02, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x18, 0x20, 0x07, 0x00, + 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, + 0x35, 0x35, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, 0x07, + 0x34, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x10, 0x27, 0x02, 0xc7, + 0x02, 0x52, 0x00, 0x00, 0x11, 0x07, 0x07, 0xa1, 0x01, 0x25, 0x01, + 0x68, 0x00, 0x26, 0x40, 0x0f, 0x03, 0x02, 0x28, 0x40, 0x09, 0x0c, + 0x48, 0x28, 0x01, 0x15, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, + 0xf3, 0xb4, 0x18, 0x20, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, + 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, + 0xa3, 0xff, 0xec, 0x04, 0x44, 0x07, 0x34, 0x12, 0x26, 0x03, 0x76, + 0x00, 0x00, 0x10, 0x27, 0x02, 0xc7, 0x02, 0x52, 0x00, 0x00, 0x11, + 0x07, 0x07, 0xad, 0x00, 0xff, 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, + 0x03, 0x02, 0x28, 0x40, 0x09, 0x0c, 0x48, 0x28, 0x01, 0x15, 0x11, + 0x26, 0x03, 0x02, 0x01, 0xb8, 0xff, 0xf3, 0xb4, 0x18, 0x20, 0x07, + 0x00, 0x25, 0x01, 0x2b, 0x35, 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, + 0x2b, 0x35, 0x35, 0xff, 0xff, 0x00, 0xa3, 0xff, 0xec, 0x04, 0x44, + 0x07, 0x34, 0x12, 0x26, 0x03, 0x76, 0x00, 0x00, 0x10, 0x27, 0x02, + 0xc7, 0x02, 0x52, 0x00, 0x00, 0x11, 0x07, 0x07, 0xae, 0x01, 0x04, + 0x01, 0x68, 0x00, 0x26, 0x40, 0x0f, 0x03, 0x02, 0x28, 0x40, 0x09, + 0x0c, 0x48, 0x28, 0x01, 0x15, 0x11, 0x26, 0x03, 0x02, 0x01, 0xb8, + 0xff, 0xf3, 0xb4, 0x18, 0x20, 0x07, 0x00, 0x25, 0x01, 0x2b, 0x35, + 0x35, 0x35, 0x00, 0x2b, 0x35, 0x11, 0x2b, 0x35, 0x35, 0xff, 0xff, + 0x00, 0x8f, 0x00, 0x00, 0x04, 0x65, 0x07, 0x1e, 0x12, 0x26, 0x00, + 0x4c, 0x00, 0x00, 0x11, 0x07, 0x00, 0x76, 0x00, 0x77, 0x01, 0x6a, + 0x00, 0x13, 0x40, 0x0b, 0x02, 0x13, 0x02, 0x26, 0x02, 0x63, 0x0f, + 0x12, 0x04, 0x02, 0x25, 0x01, 0x2b, 0x35, 0x00, 0x2b, 0x35, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x9e, 0xfe, 0x57, 0x04, 0x35, 0x05, + 0x59, 0x00, 0x21, 0x00, 0x3d, 0x40, 0x20, 0x18, 0x12, 0x12, 0x13, + 0x04, 0x03, 0x09, 0x1f, 0x1f, 0x03, 0x13, 0x03, 0x22, 0x23, 0x18, + 0x1b, 0x1b, 0x0d, 0x5f, 0x59, 0x1b, 0x04, 0x15, 0x03, 0x13, 0x12, + 0x00, 0x06, 0x5f, 0x59, 0x00, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x17, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, + 0x34, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x11, 0x23, 0x11, 0x03, + 0x33, 0x16, 0x15, 0x33, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x10, + 0x02, 0x02, 0x83, 0x5f, 0xa4, 0x3b, 0x7f, 0x5a, 0x6a, 0x80, 0x6a, + 0x63, 0x78, 0x4e, 0x92, 0x56, 0xbf, 0x04, 0xb8, 0x07, 0x04, 0x75, + 0xfb, 0xb7, 0xad, 0xd6, 0xfe, 0x57, 0x4a, 0x4a, 0x73, 0x6e, 0xd6, + 0xf9, 0x02, 0x8b, 0xc9, 0xab, 0x6c, 0xb0, 0x63, 0xfc, 0xc1, 0x04, + 0x08, 0x01, 0x3d, 0x9a, 0x4d, 0xfb, 0xfb, 0xff, 0xfd, 0x5c, 0xfe, + 0xc2, 0xfe, 0xda, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa2, 0xfe, 0x57, + 0x04, 0x2a, 0x05, 0x45, 0x00, 0x19, 0x00, 0x39, 0x40, 0x1d, 0x14, + 0x0e, 0x11, 0x11, 0x12, 0x17, 0x0c, 0x15, 0x00, 0x00, 0x0c, 0x05, + 0x12, 0x04, 0x1a, 0x1b, 0x18, 0x0e, 0x13, 0x03, 0x15, 0x12, 0x12, + 0x03, 0x08, 0x5f, 0x59, 0x03, 0x1c, 0x00, 0x3f, 0x2b, 0x00, 0x18, + 0x3f, 0x33, 0x3f, 0x33, 0x33, 0x11, 0x12, 0x01, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x31, 0x30, 0x05, + 0x14, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x3e, 0x01, + 0x3d, 0x01, 0x01, 0x16, 0x15, 0x11, 0x23, 0x11, 0x33, 0x01, 0x26, + 0x35, 0x11, 0x33, 0x04, 0x2a, 0x7d, 0x7a, 0x52, 0x41, 0x34, 0x28, + 0x2d, 0x31, 0x15, 0xfd, 0xcd, 0x10, 0xaa, 0xde, 0x02, 0x10, 0x12, + 0xac, 0x86, 0x96, 0x8d, 0x0e, 0x98, 0x0b, 0x1c, 0x41, 0x53, 0x5e, + 0x04, 0x6a, 0xb0, 0x4e, 0xfc, 0x94, 0x05, 0x45, 0xfb, 0xda, 0x90, + 0x82, 0x03, 0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9e, 0xff, + 0xec, 0x04, 0x35, 0x05, 0x59, 0x00, 0x22, 0x00, 0x46, 0x40, 0x23, + 0x1c, 0x16, 0x16, 0x17, 0x07, 0x06, 0x06, 0x17, 0x0d, 0x00, 0x17, + 0x00, 0x23, 0x24, 0x1c, 0x1f, 0x1f, 0x11, 0x5f, 0x59, 0x1f, 0x04, + 0x17, 0x17, 0x03, 0x19, 0x03, 0x03, 0x0a, 0x5f, 0x59, 0x07, 0x07, + 0x03, 0x13, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x00, 0x18, 0x3f, 0x12, + 0x39, 0x2f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x31, 0x30, 0x01, 0x10, 0x02, 0x23, 0x22, 0x26, 0x27, 0x37, 0x1e, + 0x01, 0x33, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x26, 0x23, 0x22, 0x0e, + 0x01, 0x1d, 0x01, 0x23, 0x11, 0x03, 0x33, 0x16, 0x15, 0x33, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x04, 0x35, 0xf5, 0xe2, 0xb6, 0xdb, 0x2c, + 0xb3, 0x18, 0x81, 0x6f, 0x82, 0x94, 0x63, 0x78, 0x4e, 0x92, 0x56, + 0xbf, 0x04, 0xb8, 0x07, 0x04, 0x75, 0xfb, 0xb7, 0xad, 0x02, 0x52, + 0xfe, 0xd7, 0xfe, 0xc3, 0x8b, 0x98, 0x1e, 0x57, 0x55, 0xf3, 0xde, + 0xf8, 0xc9, 0xab, 0x6c, 0xb0, 0x63, 0xad, 0x01, 0x76, 0x01, 0x3d, + 0x9a, 0x4d, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x02, 0xfe, 0xcc, 0x00, + 0x6a, 0x01, 0x32, 0x03, 0x6a, 0x00, 0x0b, 0x00, 0x16, 0x00, 0x20, + 0xb7, 0x12, 0x06, 0x0c, 0x00, 0x06, 0x17, 0x0f, 0x09, 0xbb, 0x01, + 0x3b, 0x00, 0x15, 0x00, 0x03, 0x01, 0x3d, 0x00, 0x3f, 0x33, 0x3f, + 0x33, 0x11, 0x01, 0x33, 0x33, 0x32, 0x11, 0x33, 0x31, 0x30, 0x01, + 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, + 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, + 0x01, 0x32, 0x9e, 0x97, 0x96, 0x9b, 0x95, 0xa0, 0x9c, 0x95, 0x92, + 0x4c, 0x53, 0x56, 0x4d, 0x4e, 0x52, 0xa2, 0x01, 0xea, 0xbd, 0xc3, + 0xc1, 0xbf, 0xc2, 0xbe, 0xc1, 0xbf, 0x8b, 0x80, 0x81, 0x8a, 0x84, + 0x87, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x58, 0x00, 0x7d, 0x00, + 0xa7, 0x03, 0x63, 0x00, 0x06, 0x00, 0x20, 0x40, 0x09, 0x00, 0x06, + 0x06, 0x02, 0x07, 0x02, 0x02, 0x01, 0x04, 0xba, 0x01, 0x3b, 0x00, + 0x00, 0x01, 0x3c, 0x00, 0x3f, 0x3f, 0x33, 0x39, 0x2f, 0x11, 0x01, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x37, 0x11, 0x07, 0x35, 0x37, + 0x33, 0x11, 0x1f, 0xc7, 0xd0, 0x7f, 0x7d, 0x02, 0x59, 0x78, 0x8c, + 0x79, 0xfd, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xdd, 0x00, + 0x7d, 0x01, 0x24, 0x03, 0x6a, 0x00, 0x1c, 0x00, 0x4f, 0x40, 0x1d, + 0x0d, 0x0e, 0x0e, 0x01, 0x1b, 0x07, 0x14, 0x14, 0x1d, 0x1a, 0x01, + 0x01, 0x1d, 0x07, 0x11, 0x00, 0x0d, 0x40, 0x0e, 0x12, 0x48, 0x0d, + 0x0d, 0x11, 0x11, 0x0a, 0xe5, 0x59, 0x11, 0xb8, 0x01, 0x3b, 0xb6, + 0x01, 0x1a, 0x00, 0x1a, 0xe5, 0x59, 0x00, 0xb8, 0x01, 0x3c, 0x00, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x3f, 0x2b, 0x11, 0x00, 0x33, + 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x39, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x25, 0x35, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x23, + 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, + 0x06, 0x07, 0x0e, 0x01, 0x07, 0x21, 0x15, 0xfe, 0xdd, 0x24, 0x7a, + 0x64, 0x5c, 0x45, 0x46, 0x3d, 0x3a, 0x53, 0x08, 0x86, 0x0b, 0x9c, + 0x79, 0x83, 0x91, 0x54, 0x51, 0x7a, 0x55, 0x15, 0x01, 0x97, 0x7d, + 0x43, 0x46, 0x7c, 0x46, 0x40, 0x53, 0x2c, 0x36, 0x38, 0x36, 0x35, + 0x1d, 0x58, 0x6b, 0x70, 0x64, 0x45, 0x76, 0x36, 0x51, 0x45, 0x24, + 0x6e, 0x00, 0x00, 0x01, 0xfe, 0xd0, 0x00, 0x6a, 0x01, 0x30, 0x03, + 0x6a, 0x00, 0x23, 0x00, 0x79, 0x40, 0x33, 0x18, 0x19, 0x14, 0x1f, + 0x1f, 0x21, 0x0f, 0x19, 0x04, 0x00, 0x07, 0x06, 0x06, 0x24, 0x0c, + 0x00, 0x00, 0x24, 0x21, 0x10, 0x0f, 0x10, 0x0f, 0xe4, 0x59, 0x0f, + 0x10, 0x1f, 0x10, 0x2f, 0x10, 0x03, 0x0a, 0x03, 0x10, 0x10, 0x03, + 0x1c, 0x18, 0x40, 0x0f, 0x12, 0x48, 0x18, 0x18, 0x1c, 0x1c, 0x16, + 0xe5, 0x59, 0x1c, 0xb8, 0x01, 0x3b, 0xb4, 0x03, 0x09, 0xe5, 0x59, + 0x07, 0xb8, 0xff, 0xc0, 0xb5, 0x0e, 0x12, 0x48, 0x07, 0x07, 0x03, + 0xb8, 0x01, 0x3d, 0x00, 0x3f, 0x33, 0x2f, 0x2b, 0x2b, 0x00, 0x18, + 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x39, + 0x2f, 0x5f, 0x5e, 0x5d, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2b, 0x01, 0x37, + 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x07, 0x27, 0x3e, 0x01, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x16, 0x01, 0x30, 0x9a, + 0x92, 0x83, 0xa3, 0x0e, 0x93, 0x12, 0x8e, 0x48, 0x52, 0xba, 0x3f, + 0x0e, 0x33, 0x57, 0x4d, 0x8c, 0x85, 0x0c, 0x8c, 0x0b, 0x9c, 0x79, + 0x84, 0x93, 0xae, 0xc7, 0x01, 0x4b, 0x67, 0x7a, 0x6d, 0x5e, 0x1a, + 0x70, 0x40, 0x3b, 0x6a, 0x6b, 0x2f, 0x31, 0x65, 0x62, 0x0f, 0x5b, + 0x6e, 0x70, 0x5e, 0x87, 0x21, 0x02, 0x13, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xfe, 0xc2, 0x00, 0x7d, 0x01, 0x41, 0x03, 0x63, 0x00, 0x0a, + 0x00, 0x10, 0x00, 0x3c, 0x40, 0x18, 0x0f, 0x05, 0x05, 0x11, 0x10, + 0x06, 0x02, 0x02, 0x08, 0x01, 0x01, 0x11, 0x00, 0x04, 0x0f, 0x04, + 0xe5, 0x59, 0x08, 0x0f, 0x0f, 0x02, 0x0b, 0x06, 0xba, 0x01, 0x3b, + 0x00, 0x02, 0x01, 0x3c, 0x00, 0x3f, 0x3f, 0x33, 0x12, 0x39, 0x2f, + 0x33, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x15, + 0x23, 0x35, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, 0x15, 0x03, 0x0f, + 0x01, 0x06, 0x07, 0x33, 0xd0, 0x74, 0xfe, 0x66, 0x01, 0x8d, 0x81, + 0x71, 0xec, 0x24, 0xb3, 0x0d, 0x18, 0xfc, 0x01, 0x1c, 0x9f, 0x9f, + 0x54, 0x01, 0xf3, 0xfe, 0x2a, 0x71, 0x01, 0xaf, 0x35, 0xdf, 0x15, + 0x15, 0x00, 0x00, 0x01, 0xfe, 0xcf, 0x00, 0x6a, 0x01, 0x31, 0x03, + 0x5b, 0x00, 0x1d, 0x00, 0x62, 0x40, 0x20, 0x17, 0x14, 0x14, 0x13, + 0x18, 0x12, 0x12, 0x13, 0x16, 0x13, 0x00, 0x06, 0x05, 0x05, 0x1e, + 0x0c, 0x00, 0x00, 0x1e, 0x12, 0x0f, 0x0f, 0x18, 0x1b, 0x1b, 0x03, + 0x14, 0x14, 0x17, 0xe5, 0x59, 0x14, 0xb8, 0x01, 0x3a, 0xb4, 0x03, + 0x09, 0xe5, 0x59, 0x06, 0xb8, 0xff, 0xc0, 0xb5, 0x0e, 0x12, 0x48, + 0x06, 0x06, 0x03, 0xb8, 0x01, 0x3d, 0x00, 0x3f, 0x33, 0x2f, 0x2b, + 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x18, 0x2f, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x20, 0x27, 0x37, + 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, + 0x07, 0x23, 0x13, 0x21, 0x15, 0x21, 0x07, 0x3e, 0x01, 0x33, 0x32, + 0x16, 0x01, 0x31, 0xa5, 0x8b, 0xfe, 0xff, 0x31, 0x93, 0x14, 0x4f, + 0x3e, 0x4c, 0x57, 0x49, 0x50, 0x3f, 0x51, 0x20, 0x75, 0x1d, 0x01, + 0xfd, 0xfe, 0x72, 0x11, 0x23, 0x54, 0x3f, 0x82, 0x96, 0x01, 0x7a, + 0x7d, 0x93, 0xc9, 0x18, 0x3b, 0x35, 0x53, 0x47, 0x43, 0x52, 0x28, + 0x1e, 0x01, 0x97, 0x75, 0xb1, 0x1c, 0x23, 0x87, 0x00, 0x00, 0x00, + 0x00, 0x02, 0xfe, 0xd7, 0x00, 0x69, 0x01, 0x29, 0x03, 0x6a, 0x00, + 0x16, 0x00, 0x22, 0x00, 0x4b, 0x40, 0x20, 0x11, 0x1d, 0x1d, 0x0c, + 0x0b, 0x0b, 0x06, 0x00, 0x06, 0x23, 0x17, 0x00, 0x00, 0x23, 0x1a, + 0x11, 0xa0, 0x14, 0xb0, 0x14, 0x02, 0x14, 0x14, 0x03, 0x0e, 0x09, + 0x9f, 0x0c, 0x01, 0x0c, 0x0c, 0x09, 0xbb, 0x01, 0x3b, 0x00, 0x20, + 0x00, 0x03, 0x01, 0x3d, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x2f, 0x5d, + 0x11, 0x33, 0x12, 0x39, 0x2f, 0x5d, 0x33, 0x33, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x32, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, + 0x36, 0x33, 0x32, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x3e, + 0x01, 0x33, 0x32, 0x16, 0x07, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, + 0x14, 0x16, 0x33, 0x32, 0x36, 0x01, 0x29, 0x9c, 0x83, 0x96, 0x9d, + 0xa7, 0x94, 0xc4, 0x37, 0x87, 0x1c, 0x5e, 0x4e, 0x5b, 0x17, 0x60, + 0x48, 0x76, 0x91, 0x91, 0x46, 0x51, 0x43, 0x48, 0x49, 0x46, 0x45, + 0x4e, 0x01, 0x6f, 0x77, 0x8f, 0xbc, 0xb3, 0xc7, 0xcb, 0x99, 0x19, + 0x4c, 0x7b, 0x7d, 0x22, 0x31, 0x80, 0x7b, 0x4b, 0x43, 0x4a, 0x44, + 0x45, 0x4e, 0x4e, 0x00, 0x00, 0x01, 0xfe, 0xdd, 0x00, 0x7c, 0x01, + 0x23, 0x03, 0x5c, 0x00, 0x0a, 0x00, 0x30, 0x40, 0x12, 0x03, 0x04, + 0x04, 0x08, 0x00, 0x08, 0x0b, 0x07, 0x00, 0x00, 0x0b, 0x00, 0x08, + 0x09, 0x08, 0xe5, 0x59, 0x09, 0xba, 0x01, 0x3a, 0x00, 0x04, 0x01, + 0x3c, 0x00, 0x3f, 0x3f, 0x2b, 0x11, 0x00, 0x33, 0x11, 0x01, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x31, 0x30, + 0x01, 0x06, 0x02, 0x15, 0x23, 0x34, 0x12, 0x37, 0x21, 0x35, 0x21, + 0x01, 0x23, 0x9f, 0x7d, 0x94, 0x80, 0xa5, 0xfe, 0x45, 0x02, 0x46, + 0x02, 0xfc, 0xab, 0xfe, 0xd8, 0xad, 0x96, 0x01, 0x23, 0xb8, 0x6f, + 0x00, 0x00, 0x03, 0xfe, 0xd7, 0x00, 0x6a, 0x01, 0x30, 0x03, 0x6a, + 0x00, 0x19, 0x00, 0x22, 0x00, 0x2d, 0x00, 0x56, 0x40, 0x23, 0x1e, + 0x0d, 0x1a, 0x13, 0x13, 0x16, 0x09, 0x0d, 0x04, 0x00, 0x29, 0x06, + 0x06, 0x2e, 0x23, 0x00, 0x00, 0x2e, 0x16, 0x09, 0x21, 0x26, 0x21, + 0x26, 0xe4, 0x59, 0x21, 0x21, 0x03, 0x10, 0x10, 0x1c, 0xe4, 0x59, + 0x10, 0xb8, 0x01, 0x3b, 0xb4, 0x03, 0x2b, 0xe4, 0x59, 0x03, 0xb8, + 0x01, 0x3d, 0x00, 0x3f, 0x2b, 0x00, 0x18, 0x3f, 0x2b, 0x11, 0x12, + 0x00, 0x39, 0x18, 0x2f, 0x2b, 0x11, 0x12, 0x00, 0x39, 0x39, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, + 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x14, 0x06, 0x23, 0x22, + 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x1e, 0x01, 0x03, + 0x34, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x17, 0x34, 0x26, + 0x23, 0x22, 0x06, 0x15, 0x14, 0x33, 0x32, 0x36, 0x01, 0x30, 0x9d, + 0x8f, 0x8f, 0x9e, 0x60, 0x50, 0x4b, 0x4f, 0x97, 0x7e, 0x7f, 0x9a, + 0x51, 0x4c, 0x51, 0x61, 0xa4, 0x8a, 0x89, 0x45, 0x45, 0x89, 0x12, + 0x51, 0x4b, 0x49, 0x50, 0x9d, 0x4e, 0x4a, 0x01, 0x42, 0x69, 0x6f, + 0x70, 0x67, 0x48, 0x66, 0x0c, 0x02, 0x0f, 0x5e, 0x3e, 0x56, 0x6c, + 0x6a, 0x59, 0x3d, 0x5e, 0x0e, 0x02, 0x0b, 0x62, 0x01, 0x14, 0x69, + 0x69, 0x36, 0x39, 0xe2, 0x3a, 0x3b, 0x40, 0x37, 0x81, 0x40, 0x00, + 0x00, 0x00, 0x02, 0xfe, 0xd8, 0x00, 0x69, 0x01, 0x2a, 0x03, 0x6a, + 0x00, 0x18, 0x00, 0x24, 0x00, 0x53, 0x40, 0x28, 0x13, 0x1f, 0x1f, + 0x06, 0x0d, 0x0c, 0x0c, 0x00, 0x06, 0x06, 0x25, 0x19, 0x00, 0x00, + 0x25, 0x16, 0x4f, 0x1c, 0x5f, 0x1c, 0x6f, 0x1c, 0xaf, 0x1c, 0xbf, + 0x1c, 0x05, 0x1c, 0x1c, 0x03, 0x10, 0x09, 0x80, 0x0d, 0x90, 0x0d, + 0x02, 0x0d, 0x0d, 0x09, 0xbb, 0x01, 0x3d, 0x00, 0x22, 0x00, 0x03, + 0x01, 0x3b, 0x00, 0x3f, 0x33, 0x3f, 0x33, 0x2f, 0x5d, 0x11, 0x33, + 0x12, 0x39, 0x2f, 0x5d, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x12, 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x31, + 0x30, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, + 0x22, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x0e, + 0x01, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, + 0x34, 0x26, 0x23, 0x22, 0x06, 0xfe, 0xd8, 0x9c, 0x83, 0x94, 0x9f, + 0x98, 0xa3, 0x65, 0x88, 0x1c, 0x87, 0x0f, 0x4e, 0x2b, 0x4e, 0x5b, + 0x17, 0x60, 0x48, 0x76, 0x91, 0x91, 0x4c, 0x4b, 0x43, 0x48, 0x49, + 0x46, 0x45, 0x4e, 0x02, 0x64, 0x77, 0x8f, 0xbb, 0xb4, 0xc8, 0xca, + 0x53, 0x4d, 0x19, 0x29, 0x27, 0x78, 0x7d, 0x22, 0x31, 0x80, 0x7d, + 0x52, 0x40, 0x4c, 0x46, 0x45, 0x4a, 0x4a, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xfe, 0x53, 0x05, 0xa5, 0x01, 0xad, 0x07, 0x1a, 0x00, 0x05, + 0x00, 0x0f, 0x00, 0x4b, 0x40, 0x25, 0x0f, 0x0e, 0x09, 0x09, 0x0c, + 0x08, 0x07, 0x07, 0x0b, 0x0c, 0x0c, 0x10, 0x03, 0x04, 0x04, 0x00, + 0x01, 0x01, 0x10, 0x0a, 0x0f, 0x0e, 0x1f, 0x0e, 0x02, 0x0e, 0x08, + 0x04, 0x04, 0x01, 0x40, 0x09, 0x0d, 0x48, 0x01, 0x0c, 0x08, 0xb8, + 0x01, 0x45, 0x00, 0x3f, 0x33, 0xc4, 0x2b, 0x39, 0x2f, 0x10, 0xcd, + 0x5d, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x13, 0x33, 0x15, 0x07, 0x23, 0x35, 0x17, 0x15, 0x23, + 0x27, 0x23, 0x07, 0x23, 0x35, 0x13, 0x33, 0xd4, 0xd9, 0xe2, 0x60, + 0x74, 0x69, 0xdb, 0x02, 0xde, 0x68, 0xe0, 0xcc, 0x07, 0x1a, 0x0c, + 0xb0, 0x0a, 0xaf, 0x14, 0xa9, 0xa9, 0x14, 0x01, 0x0e, 0x00, 0x00, + 0x02, 0xfe, 0x55, 0x05, 0xa5, 0x01, 0xac, 0x07, 0x1a, 0x00, 0x05, + 0x00, 0x0f, 0x00, 0x47, 0x40, 0x23, 0x0f, 0x0e, 0x09, 0x09, 0x07, + 0x0b, 0x0c, 0x0c, 0x08, 0x07, 0x07, 0x10, 0x02, 0x01, 0x01, 0x05, + 0x04, 0x10, 0x02, 0x02, 0x04, 0x40, 0x09, 0x0d, 0x48, 0x04, 0x0a, + 0x0f, 0x0e, 0x1f, 0x0e, 0x02, 0x0e, 0x0c, 0x08, 0xb8, 0x01, 0x45, + 0x00, 0x3f, 0x33, 0xcd, 0x5d, 0x32, 0xc4, 0x2b, 0x39, 0x2f, 0x11, + 0x01, 0x33, 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x15, + 0x23, 0x27, 0x35, 0x33, 0x01, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, + 0x35, 0x13, 0x33, 0x69, 0x60, 0xe2, 0xd9, 0x02, 0x7e, 0x69, 0xdb, + 0x02, 0xde, 0x68, 0xe0, 0xcc, 0x06, 0x68, 0x0a, 0xb0, 0x0c, 0xfe, + 0x9f, 0x14, 0xa9, 0xa9, 0x14, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xfe, 0x7c, 0x05, 0xa5, 0x01, 0x84, 0x07, 0x1a, 0x00, 0x10, + 0x00, 0x1a, 0x00, 0x4f, 0x40, 0x25, 0x1a, 0x19, 0x14, 0x14, 0x17, + 0x13, 0x12, 0x12, 0x16, 0x17, 0x17, 0x1b, 0x0d, 0x0e, 0x0e, 0x05, + 0x05, 0x00, 0x09, 0x09, 0x1b, 0x15, 0x19, 0x13, 0x80, 0x0f, 0x0e, + 0x0e, 0x02, 0x07, 0x40, 0x09, 0x0d, 0x48, 0x07, 0x16, 0x13, 0xb8, + 0x01, 0x45, 0x00, 0x3f, 0x33, 0xc4, 0x2b, 0x32, 0x39, 0x2f, 0x33, + 0x1a, 0x10, 0xcd, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x34, 0x23, 0x22, 0x07, + 0x27, 0x36, 0x33, 0x32, 0x15, 0x14, 0x06, 0x23, 0x15, 0x23, 0x35, + 0x32, 0x07, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, 0x35, 0x13, 0x33, + 0x01, 0x19, 0x3b, 0x33, 0x28, 0x14, 0x3a, 0x43, 0x98, 0x43, 0x36, + 0x3d, 0x4b, 0x11, 0x69, 0xdb, 0x02, 0xde, 0x68, 0xe0, 0xcc, 0x06, + 0xb3, 0x23, 0x10, 0x40, 0x14, 0x60, 0x2c, 0x38, 0x17, 0x4e, 0xd4, + 0x14, 0xa9, 0xa9, 0x14, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x02, + 0xfe, 0xc2, 0x05, 0xa5, 0x01, 0x3f, 0x07, 0x1a, 0x00, 0x17, 0x00, + 0x20, 0x00, 0x51, 0x40, 0x26, 0x1d, 0x1c, 0x18, 0x18, 0x1a, 0x20, + 0x1f, 0x1f, 0x13, 0x14, 0x14, 0x21, 0x19, 0x1a, 0x1a, 0x07, 0x08, + 0x08, 0x21, 0x18, 0x1c, 0x10, 0x08, 0x00, 0x1c, 0x00, 0x1c, 0x00, + 0x14, 0x04, 0x0c, 0x40, 0x09, 0x0d, 0x48, 0x0c, 0x1a, 0x20, 0xb8, + 0x01, 0x45, 0x00, 0x3f, 0x33, 0xcc, 0x2b, 0x32, 0x32, 0x39, 0x39, + 0x2f, 0x2f, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x22, 0x27, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x16, + 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x02, 0x0f, 0x01, 0x23, 0x35, + 0x37, 0x33, 0x17, 0x15, 0x23, 0x7f, 0x33, 0x54, 0x55, 0x24, 0x2d, + 0x2d, 0x08, 0x5b, 0x0b, 0x2b, 0x4c, 0x3f, 0x37, 0x53, 0x53, 0x22, + 0x30, 0x2b, 0x06, 0x5c, 0x0c, 0x2a, 0x4b, 0xbd, 0x97, 0x9b, 0xd1, + 0xc3, 0xd0, 0x9b, 0x06, 0x58, 0x26, 0x25, 0x23, 0x28, 0x52, 0x48, + 0x28, 0x25, 0x26, 0x26, 0x25, 0x51, 0x4a, 0x27, 0x70, 0x43, 0x0c, + 0x8d, 0x8f, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xc7, 0x05, + 0xa5, 0x01, 0x39, 0x07, 0x1a, 0x00, 0x05, 0x00, 0x13, 0x00, 0x37, + 0x40, 0x17, 0x00, 0x01, 0x01, 0x03, 0x04, 0x04, 0x09, 0x10, 0x11, + 0x11, 0x14, 0x0a, 0x09, 0x09, 0x14, 0x04, 0x11, 0x09, 0x09, 0x01, + 0xc0, 0x0d, 0x06, 0xb8, 0x01, 0x45, 0x00, 0x3f, 0x33, 0x1a, 0xcc, + 0x39, 0x2f, 0x33, 0xc4, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x33, 0x15, 0x07, 0x23, 0x35, 0x17, 0x22, 0x26, 0x27, 0x33, + 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x23, 0xe2, + 0xdd, 0x82, 0x59, 0x81, 0xa5, 0x12, 0x6b, 0x11, 0x6a, 0x54, 0x54, + 0x68, 0x11, 0x6b, 0x16, 0xa3, 0x07, 0x1a, 0x0c, 0x92, 0x0a, 0xe1, + 0x85, 0x74, 0x44, 0x37, 0x38, 0x43, 0x78, 0x81, 0x00, 0x00, 0x02, + 0xfe, 0xc7, 0x05, 0xa5, 0x01, 0x39, 0x07, 0x1a, 0x00, 0x05, 0x00, + 0x13, 0x00, 0x37, 0x40, 0x17, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, + 0x09, 0x10, 0x11, 0x11, 0x14, 0x0a, 0x09, 0x09, 0x14, 0x02, 0x11, + 0x09, 0x09, 0x05, 0xc0, 0x0d, 0x06, 0xb8, 0x01, 0x45, 0x00, 0x3f, + 0x33, 0x1a, 0xcc, 0x39, 0x2f, 0x33, 0xc4, 0x11, 0x01, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x15, 0x23, 0x27, 0x35, 0x33, 0x13, 0x22, + 0x26, 0x27, 0x33, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, + 0x01, 0x5c, 0x82, 0xdd, 0xe2, 0x20, 0x81, 0xa5, 0x12, 0x6b, 0x11, + 0x6a, 0x54, 0x54, 0x68, 0x11, 0x6b, 0x16, 0xa3, 0x06, 0x86, 0x0a, + 0x92, 0x0c, 0xfe, 0x8b, 0x85, 0x74, 0x44, 0x37, 0x38, 0x43, 0x78, + 0x81, 0x00, 0x02, 0xfe, 0xc7, 0x05, 0xa5, 0x01, 0x39, 0x07, 0x1a, + 0x00, 0x0d, 0x00, 0x1d, 0x00, 0x3f, 0x40, 0x1c, 0x0e, 0x17, 0x17, + 0x1c, 0x13, 0x03, 0x03, 0x0a, 0x0b, 0x0b, 0x1e, 0x04, 0x03, 0x03, + 0x1e, 0x1c, 0x1b, 0x1b, 0x07, 0x0b, 0x03, 0x03, 0x07, 0x10, 0x15, + 0xc0, 0x07, 0x00, 0xb8, 0x01, 0x45, 0x00, 0x3f, 0x32, 0x1a, 0xcc, + 0x32, 0x11, 0x39, 0x2f, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, 0x17, 0x39, 0x11, + 0x33, 0x31, 0x30, 0x03, 0x22, 0x26, 0x27, 0x33, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x03, 0x34, 0x23, 0x22, 0x07, + 0x27, 0x36, 0x33, 0x32, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x35, 0x32, + 0x01, 0x81, 0xa5, 0x12, 0x6b, 0x11, 0x6a, 0x54, 0x54, 0x68, 0x11, + 0x6b, 0x16, 0xa3, 0x63, 0x3b, 0x33, 0x28, 0x14, 0x3a, 0x43, 0x98, + 0x4a, 0x49, 0x23, 0x4b, 0x05, 0xa5, 0x85, 0x74, 0x44, 0x37, 0x38, + 0x43, 0x78, 0x81, 0x01, 0x0e, 0x23, 0x10, 0x40, 0x14, 0x60, 0x30, + 0x34, 0x37, 0x00, 0x00, 0x02, 0xfe, 0xc2, 0x05, 0xa5, 0x01, 0x3f, + 0x07, 0x1a, 0x00, 0x0b, 0x00, 0x24, 0x00, 0x45, 0x40, 0x1e, 0x04, + 0x03, 0x08, 0x09, 0x03, 0x09, 0x14, 0x20, 0x21, 0x21, 0x25, 0x13, + 0x14, 0x14, 0x25, 0x1d, 0x14, 0x0c, 0x09, 0x03, 0x0c, 0x03, 0x0c, + 0x03, 0x21, 0x11, 0x18, 0xc0, 0x06, 0x00, 0xb8, 0x01, 0x45, 0x00, + 0x3f, 0x32, 0x1a, 0xcc, 0x32, 0x32, 0x39, 0x39, 0x2f, 0x2f, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x39, 0x11, 0x33, 0x11, 0x33, 0x31, 0x30, + 0x13, 0x22, 0x26, 0x27, 0x33, 0x16, 0x33, 0x32, 0x37, 0x33, 0x0e, + 0x01, 0x37, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x07, 0x23, 0x3e, 0x02, + 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x02, + 0x01, 0x66, 0x85, 0x0e, 0x55, 0x1d, 0x89, 0x87, 0x1d, 0x55, 0x15, + 0x81, 0x19, 0x23, 0x44, 0x41, 0x3d, 0x1b, 0x51, 0x11, 0x5b, 0x0c, + 0x2a, 0x4b, 0x40, 0x24, 0x46, 0x40, 0x3b, 0x1a, 0x30, 0x2b, 0x06, + 0x5c, 0x0b, 0x2a, 0x4c, 0x05, 0xa5, 0x6a, 0x5d, 0x53, 0x53, 0x64, + 0x63, 0xdb, 0x13, 0x16, 0x13, 0x3c, 0x41, 0x39, 0x20, 0x13, 0x16, + 0x13, 0x1f, 0x1d, 0x40, 0x3b, 0x1f, 0x00, 0x00, 0x02, 0xfe, 0x53, + 0x04, 0xb1, 0x01, 0xad, 0x06, 0x26, 0x00, 0x05, 0x00, 0x0f, 0x00, + 0x3d, 0x40, 0x1c, 0x0f, 0x0e, 0x09, 0x09, 0x0c, 0x08, 0x07, 0x07, + 0x0b, 0x0c, 0x0c, 0x10, 0x03, 0x04, 0x04, 0x00, 0x01, 0x10, 0x01, + 0x40, 0x04, 0x04, 0x0a, 0x0e, 0x80, 0x0c, 0x08, 0x93, 0x00, 0x3f, + 0x33, 0x1a, 0xcd, 0x32, 0x39, 0x2f, 0x1a, 0xcd, 0x11, 0x01, 0x33, + 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x13, 0x33, 0x15, 0x07, + 0x23, 0x35, 0x17, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, 0x35, 0x13, + 0x33, 0xd4, 0xd9, 0xe2, 0x60, 0x74, 0x69, 0xdb, 0x02, 0xde, 0x68, + 0xe0, 0xcc, 0x06, 0x26, 0x0c, 0xb0, 0x0a, 0xaf, 0x14, 0xa9, 0xa9, + 0x14, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfe, 0x53, 0x04, + 0xb1, 0x01, 0xad, 0x06, 0x26, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x3f, + 0x40, 0x1d, 0x07, 0x06, 0x0b, 0x0b, 0x09, 0x0d, 0x0e, 0x0e, 0x0a, + 0x09, 0x09, 0x10, 0x02, 0x01, 0x01, 0x05, 0x04, 0x10, 0x04, 0x40, + 0x02, 0x02, 0x0e, 0x0c, 0x06, 0x80, 0x0e, 0x0a, 0x93, 0x00, 0x3f, + 0x33, 0x1a, 0xcd, 0x32, 0x11, 0x39, 0x2f, 0x1a, 0xcd, 0x11, 0x01, + 0x33, 0x32, 0x32, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x03, 0x15, 0x23, + 0x27, 0x35, 0x33, 0x17, 0x33, 0x13, 0x15, 0x23, 0x27, 0x23, 0x07, + 0x23, 0x35, 0x6b, 0x60, 0xe2, 0xd9, 0xd5, 0xcc, 0xe0, 0x68, 0xde, + 0x02, 0xdb, 0x69, 0x05, 0x74, 0x0a, 0xb0, 0x0c, 0x53, 0xfe, 0xf2, + 0x14, 0xa9, 0xa9, 0x14, 0x00, 0x00, 0x02, 0xfe, 0x6c, 0x04, 0xb1, + 0x01, 0x95, 0x06, 0x75, 0x00, 0x11, 0x00, 0x1b, 0x00, 0x45, 0x40, + 0x20, 0x1b, 0x1a, 0x15, 0x15, 0x18, 0x14, 0x13, 0x13, 0x17, 0x18, + 0x18, 0x1c, 0x0d, 0x0e, 0x0e, 0x05, 0x05, 0x00, 0x09, 0x09, 0x1c, + 0x02, 0x07, 0x0f, 0x0e, 0x0e, 0x16, 0x1a, 0x80, 0x18, 0x14, 0x93, + 0x00, 0x3f, 0x33, 0x1a, 0xcd, 0x32, 0x39, 0x2f, 0x33, 0xcc, 0x32, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x12, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x34, 0x23, 0x22, 0x07, 0x27, 0x36, 0x33, 0x32, + 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 0x35, 0x3e, 0x01, 0x03, 0x15, + 0x23, 0x27, 0x23, 0x07, 0x23, 0x35, 0x13, 0x33, 0x01, 0x0e, 0x4c, + 0x3d, 0x35, 0x1a, 0x46, 0x59, 0xc0, 0x42, 0x49, 0x5b, 0x2a, 0x35, + 0x16, 0x69, 0xdb, 0x02, 0xde, 0x68, 0xe0, 0xcc, 0x05, 0xf4, 0x2c, + 0x13, 0x50, 0x18, 0x70, 0x30, 0x45, 0x09, 0x26, 0x5e, 0x02, 0x12, + 0xfe, 0xf2, 0x14, 0xa9, 0xa9, 0x14, 0x01, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x02, 0xfe, 0xb8, 0x04, 0xb1, 0x01, 0x49, 0x06, 0xef, 0x00, + 0x09, 0x00, 0x21, 0x00, 0x49, 0x40, 0x22, 0x01, 0x00, 0x05, 0x05, + 0x08, 0x04, 0x03, 0x03, 0x1d, 0x1e, 0x1e, 0x22, 0x07, 0x08, 0x08, + 0x11, 0x12, 0x12, 0x22, 0x06, 0x00, 0x1a, 0x12, 0x0a, 0x00, 0x0a, + 0x00, 0x0a, 0x1e, 0x0e, 0x16, 0x08, 0x04, 0x93, 0x00, 0x3f, 0x33, + 0xcc, 0x32, 0x32, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, + 0x30, 0x03, 0x33, 0x13, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, 0x35, + 0x01, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, + 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x02, + 0x63, 0xcc, 0xe0, 0x68, 0xde, 0x02, 0xdb, 0x69, 0x01, 0xb8, 0x33, + 0x54, 0x55, 0x24, 0x2d, 0x2d, 0x08, 0x5b, 0x0b, 0x2b, 0x4c, 0x3f, + 0x37, 0x53, 0x53, 0x22, 0x30, 0x2b, 0x06, 0x5c, 0x0c, 0x2a, 0x4b, + 0x05, 0xd3, 0xfe, 0xf2, 0x14, 0xa9, 0xa9, 0x14, 0x01, 0x68, 0x26, + 0x25, 0x23, 0x28, 0x52, 0x48, 0x28, 0x25, 0x26, 0x26, 0x25, 0x51, + 0x4a, 0x27, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xb3, 0x04, 0xb1, 0x01, + 0x4d, 0x06, 0xf0, 0x00, 0x0b, 0x00, 0x11, 0x00, 0x37, 0x40, 0x19, + 0x0e, 0x0f, 0x0f, 0x11, 0x0c, 0x0c, 0x03, 0x08, 0x09, 0x09, 0x12, + 0x04, 0x03, 0x03, 0x12, 0x09, 0x03, 0x11, 0x03, 0x11, 0x03, 0x0f, + 0x06, 0x00, 0x93, 0x00, 0x3f, 0x32, 0xcc, 0x39, 0x39, 0x2f, 0x2f, + 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x12, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x22, + 0x26, 0x27, 0x33, 0x16, 0x33, 0x32, 0x37, 0x33, 0x0e, 0x01, 0x03, + 0x35, 0x37, 0x33, 0x15, 0x05, 0x01, 0x84, 0xb6, 0x12, 0x75, 0x1c, + 0xbd, 0xba, 0x1d, 0x75, 0x15, 0xb3, 0xf1, 0xd9, 0xcf, 0xfe, 0xca, + 0x04, 0xb1, 0xaa, 0x8b, 0x99, 0x99, 0x8e, 0xa7, 0x01, 0x49, 0x14, + 0xe2, 0x1d, 0xd9, 0x00, 0x02, 0xfe, 0xb3, 0x04, 0xb1, 0x01, 0x4d, + 0x06, 0xf0, 0x00, 0x0b, 0x00, 0x11, 0x00, 0x37, 0x40, 0x19, 0x0f, + 0x0e, 0x0e, 0x0c, 0x11, 0x11, 0x03, 0x08, 0x09, 0x09, 0x12, 0x04, + 0x03, 0x03, 0x12, 0x09, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0f, 0x06, + 0x00, 0x93, 0x00, 0x3f, 0x32, 0xcc, 0x39, 0x39, 0x2f, 0x2f, 0x11, + 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x12, + 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x22, 0x26, + 0x27, 0x33, 0x16, 0x33, 0x32, 0x37, 0x33, 0x0e, 0x01, 0x03, 0x25, + 0x35, 0x33, 0x17, 0x15, 0x01, 0x87, 0xb2, 0x15, 0x75, 0x1d, 0xba, + 0xbd, 0x1c, 0x75, 0x12, 0xb6, 0x8b, 0xfe, 0xca, 0xcf, 0xd9, 0x04, + 0xb1, 0xa8, 0x8d, 0x99, 0x99, 0x8c, 0xa9, 0x01, 0x49, 0xd9, 0x1d, + 0xe2, 0x14, 0x00, 0x02, 0xfe, 0xb3, 0x04, 0xb1, 0x01, 0x4d, 0x07, + 0x2b, 0x00, 0x0b, 0x00, 0x1d, 0x00, 0x3f, 0x40, 0x1d, 0x19, 0x1a, + 0x1a, 0x11, 0x11, 0x0c, 0x15, 0x15, 0x03, 0x08, 0x09, 0x09, 0x1e, + 0x04, 0x03, 0x03, 0x1e, 0x1b, 0x1a, 0x1a, 0x09, 0x03, 0x03, 0x0e, + 0x13, 0xc0, 0x06, 0x00, 0x93, 0x00, 0x3f, 0x32, 0x1a, 0xcc, 0x32, + 0x39, 0x2f, 0x33, 0x33, 0x11, 0x33, 0x11, 0x01, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x12, 0x39, + 0x11, 0x33, 0x31, 0x30, 0x03, 0x22, 0x26, 0x27, 0x33, 0x16, 0x33, + 0x32, 0x37, 0x33, 0x0e, 0x01, 0x03, 0x34, 0x23, 0x22, 0x07, 0x27, + 0x36, 0x33, 0x32, 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 0x35, 0x3e, + 0x01, 0x01, 0x84, 0xb6, 0x12, 0x75, 0x1c, 0xbd, 0xba, 0x1d, 0x75, + 0x15, 0xb3, 0x52, 0x5d, 0x48, 0x46, 0x1f, 0x5a, 0x6a, 0xed, 0x51, + 0x5b, 0x70, 0x45, 0x30, 0x04, 0xb1, 0xaa, 0x8b, 0x99, 0x99, 0x8e, + 0xa7, 0x01, 0xda, 0x37, 0x18, 0x63, 0x1e, 0x8b, 0x3b, 0x55, 0x0b, + 0x28, 0x6e, 0x03, 0x1e, 0x00, 0x02, 0xfe, 0xb3, 0x04, 0xb1, 0x01, + 0x4d, 0x06, 0xef, 0x00, 0x0b, 0x00, 0x23, 0x00, 0x3f, 0x40, 0x1d, + 0x1f, 0x20, 0x20, 0x08, 0x09, 0x09, 0x24, 0x13, 0x14, 0x14, 0x04, + 0x03, 0x03, 0x24, 0x1c, 0x14, 0x0c, 0x09, 0x03, 0x0c, 0x03, 0x0c, + 0x03, 0x20, 0x10, 0x18, 0x06, 0x00, 0x93, 0x00, 0x3f, 0x32, 0xcc, + 0x32, 0x32, 0x39, 0x39, 0x2f, 0x2f, 0x11, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, + 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x03, 0x22, 0x26, 0x27, 0x33, + 0x16, 0x33, 0x32, 0x37, 0x33, 0x0e, 0x01, 0x03, 0x22, 0x27, 0x26, + 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x16, + 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x02, 0x01, 0x84, 0xb6, 0x12, + 0x75, 0x1c, 0xbd, 0xba, 0x1d, 0x75, 0x15, 0xb3, 0x09, 0x33, 0x54, + 0x55, 0x24, 0x2d, 0x2d, 0x08, 0x5b, 0x0b, 0x2b, 0x4c, 0x3f, 0x37, + 0x53, 0x53, 0x22, 0x30, 0x2b, 0x06, 0x5c, 0x0c, 0x2a, 0x4b, 0x04, + 0xb1, 0xaa, 0x8b, 0x99, 0x99, 0x8e, 0xa7, 0x01, 0x7c, 0x26, 0x25, + 0x23, 0x28, 0x52, 0x48, 0x28, 0x25, 0x26, 0x26, 0x25, 0x51, 0x4a, + 0x27, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6a, 0x05, 0xa6, 0x02, + 0x12, 0x06, 0x9c, 0x00, 0x05, 0x00, 0x1f, 0x40, 0x0b, 0x00, 0x05, + 0x05, 0x03, 0x02, 0x02, 0x06, 0x07, 0x03, 0x80, 0x00, 0xb8, 0x01, + 0x45, 0x00, 0x3f, 0x1a, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, + 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x25, 0x35, 0x33, 0x17, 0x15, + 0x01, 0xa0, 0xfe, 0xca, 0xcf, 0xd9, 0x05, 0xa6, 0xd9, 0x1d, 0xe2, + 0x14, 0x00, 0x00, 0x01, 0x00, 0x48, 0x05, 0xa5, 0x01, 0xf0, 0x06, + 0x9b, 0x00, 0x05, 0x00, 0x1f, 0x40, 0x0b, 0x02, 0x03, 0x03, 0x05, + 0x00, 0x00, 0x06, 0x07, 0x03, 0x80, 0x00, 0xb8, 0x01, 0x46, 0x00, + 0x3f, 0x1a, 0xcd, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x13, 0x35, 0x37, 0x33, 0x15, 0x05, 0x48, 0xd9, + 0xcf, 0xfe, 0xca, 0x05, 0xa5, 0x14, 0xe2, 0x1d, 0xd9, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x05, 0xa5, 0x02, 0x96, 0x06, 0xa8, 0x00, + 0x09, 0x00, 0x2b, 0x40, 0x11, 0x09, 0x08, 0x03, 0x03, 0x06, 0x02, + 0x01, 0x01, 0x05, 0x06, 0x06, 0x0a, 0x04, 0x09, 0x80, 0x06, 0x02, + 0xb8, 0x01, 0x45, 0x00, 0x3f, 0x33, 0x1a, 0xcd, 0x32, 0x11, 0x01, + 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, + 0x31, 0x30, 0x01, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, 0x35, 0x37, + 0x33, 0x02, 0x96, 0x69, 0xdb, 0x02, 0xe8, 0x68, 0xfe, 0xa4, 0x05, + 0xb9, 0x14, 0x8a, 0x8a, 0x14, 0xef, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x05, 0xa5, 0x02, 0x96, 0x06, 0xa8, 0x00, 0x09, 0x00, 0x2b, 0x40, + 0x11, 0x00, 0x01, 0x05, 0x05, 0x03, 0x07, 0x08, 0x08, 0x04, 0x03, + 0x03, 0x0a, 0x07, 0x04, 0x80, 0x06, 0x01, 0xb8, 0x01, 0x45, 0x00, + 0x3f, 0x33, 0x1a, 0xcd, 0x32, 0x11, 0x01, 0x33, 0x11, 0x33, 0x33, + 0x11, 0x33, 0x12, 0x39, 0x11, 0x33, 0x33, 0x31, 0x30, 0x01, 0x23, + 0x27, 0x35, 0x33, 0x17, 0x33, 0x37, 0x33, 0x15, 0x01, 0xa2, 0xa4, + 0xfe, 0x68, 0xe8, 0x02, 0xdb, 0x69, 0x05, 0xa5, 0xef, 0x14, 0x8a, + 0x8a, 0x14, 0x00, 0x00, 0x02, 0x00, 0x2d, 0x05, 0xce, 0x02, 0x5a, + 0x06, 0x86, 0x00, 0x03, 0x00, 0x07, 0x00, 0x27, 0x40, 0x10, 0x00, + 0x03, 0x03, 0x07, 0x04, 0x04, 0x08, 0x09, 0x05, 0x02, 0x00, 0x02, + 0x90, 0x5b, 0x04, 0x00, 0xb8, 0x01, 0x47, 0x00, 0x3f, 0x32, 0x2b, + 0x11, 0x00, 0x33, 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, + 0x01, 0xb7, 0xa3, 0xfd, 0xd3, 0xa5, 0x05, 0xce, 0xb8, 0xb8, 0xb8, + 0xb8, 0x00, 0x00, 0x01, 0xff, 0xe8, 0x05, 0xa7, 0x02, 0xb5, 0x06, + 0x9f, 0x00, 0x18, 0x00, 0x25, 0x40, 0x0e, 0x15, 0x16, 0x16, 0x08, + 0x09, 0x09, 0x19, 0x16, 0x05, 0x0d, 0x80, 0x12, 0x09, 0x00, 0xb8, + 0x01, 0x45, 0x00, 0x3f, 0x32, 0x32, 0x1a, 0xcd, 0x32, 0x32, 0x11, + 0x01, 0x33, 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x01, 0x22, + 0x2e, 0x02, 0x23, 0x22, 0x06, 0x07, 0x23, 0x3e, 0x02, 0x33, 0x32, + 0x1e, 0x02, 0x33, 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x01, 0xeb, + 0x2a, 0x54, 0x50, 0x4d, 0x23, 0x25, 0x26, 0x0b, 0x6f, 0x0b, 0x2f, + 0x52, 0x3f, 0x2c, 0x54, 0x50, 0x4a, 0x21, 0x25, 0x28, 0x0a, 0x70, + 0x10, 0x63, 0x05, 0xa7, 0x25, 0x2d, 0x25, 0x2f, 0x48, 0x60, 0x62, + 0x36, 0x25, 0x2d, 0x25, 0x2f, 0x48, 0x8a, 0x6e, 0x00, 0x02, 0x00, + 0x20, 0x05, 0xa5, 0x03, 0x0f, 0x06, 0x9c, 0x00, 0x05, 0x00, 0x0b, + 0x00, 0x31, 0x40, 0x14, 0x08, 0x09, 0x09, 0x0b, 0x06, 0x06, 0x00, + 0x02, 0x03, 0x03, 0x05, 0x00, 0x00, 0x0c, 0x0d, 0x08, 0x03, 0x80, + 0x06, 0x00, 0xb8, 0x01, 0x45, 0x00, 0x3f, 0x32, 0x1a, 0xcd, 0x32, + 0x11, 0x12, 0x01, 0x39, 0x11, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, + 0x11, 0x33, 0x33, 0x11, 0x33, 0x31, 0x30, 0x13, 0x35, 0x37, 0x33, + 0x15, 0x05, 0x33, 0x35, 0x37, 0x33, 0x15, 0x05, 0x20, 0xc5, 0xcf, + 0xfe, 0xca, 0xfd, 0xc5, 0xcf, 0xfe, 0xca, 0x05, 0xa5, 0x14, 0xe3, + 0x1d, 0xda, 0x14, 0xe3, 0x1d, 0xda, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x19, 0x05, 0xa5, 0x03, 0xb3, 0x06, 0x9e, 0x00, 0x0d, 0x00, + 0x23, 0x40, 0x0d, 0x04, 0x03, 0x0a, 0x0b, 0x03, 0x0b, 0x0e, 0x0f, + 0x0a, 0x04, 0x80, 0x07, 0x00, 0xb8, 0x01, 0x45, 0x00, 0x3f, 0x32, + 0x1a, 0xcc, 0x32, 0x11, 0x12, 0x01, 0x39, 0x39, 0x11, 0x33, 0x11, + 0x33, 0x31, 0x30, 0x01, 0x22, 0x26, 0x27, 0x33, 0x1e, 0x01, 0x33, + 0x32, 0x36, 0x37, 0x33, 0x0e, 0x01, 0x02, 0x65, 0x85, 0xb5, 0x12, + 0x75, 0x11, 0x6d, 0x5b, 0x5b, 0x6b, 0x11, 0x75, 0x15, 0xb4, 0x05, + 0xa5, 0x8a, 0x6f, 0x35, 0x3c, 0x3d, 0x34, 0x72, 0x87, 0x00, 0x01, + 0x01, 0x54, 0x04, 0xd3, 0x03, 0x79, 0x05, 0x52, 0x00, 0x03, 0x00, + 0x16, 0x40, 0x0a, 0x01, 0x00, 0x04, 0x05, 0x01, 0x02, 0x8f, 0x59, + 0x01, 0xa1, 0x00, 0x3f, 0x2b, 0x11, 0x12, 0x01, 0x39, 0x39, 0x31, + 0x30, 0x01, 0x21, 0x35, 0x21, 0x03, 0x79, 0xfd, 0xdb, 0x02, 0x25, + 0x04, 0xd3, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x2f, 0xff, + 0xd3, 0x04, 0x9e, 0x06, 0x81, 0x10, 0x26, 0x05, 0x0b, 0x77, 0x00, + 0x10, 0x27, 0x04, 0xf0, 0xfe, 0x18, 0x00, 0x00, 0x11, 0x06, 0x04, + 0xf3, 0x06, 0x14, 0x00, 0x57, 0x40, 0x0e, 0x02, 0x1d, 0x47, 0x1d, + 0x01, 0x15, 0x1d, 0x01, 0x22, 0x1d, 0x01, 0x00, 0x1d, 0x01, 0xb8, + 0xff, 0xf6, 0x40, 0x2c, 0x1d, 0x23, 0x04, 0x07, 0x25, 0x01, 0x17, + 0x13, 0x17, 0x01, 0x10, 0x17, 0x40, 0x17, 0x70, 0x17, 0x03, 0x00, + 0x17, 0x20, 0x17, 0x30, 0x17, 0x40, 0x17, 0x50, 0x17, 0x60, 0x17, + 0x70, 0x17, 0x80, 0x17, 0x90, 0x17, 0xa0, 0x17, 0xb0, 0x17, 0xc0, + 0x17, 0xd0, 0x17, 0x0d, 0xb8, 0xff, 0xc6, 0xb4, 0x17, 0x17, 0x08, + 0x08, 0x25, 0x2b, 0x5d, 0x71, 0x5d, 0x11, 0x35, 0x2b, 0x5d, 0x5d, + 0x5d, 0x5d, 0x11, 0x35, 0x00, 0xff, 0xff, 0x00, 0x2f, 0xff, 0xd3, + 0x04, 0x9e, 0x06, 0x81, 0x10, 0x26, 0x05, 0x0b, 0x77, 0x00, 0x11, + 0x07, 0x04, 0xf0, 0xfe, 0x18, 0x00, 0x00, 0x00, 0x38, 0x40, 0x27, + 0x01, 0x17, 0x13, 0x17, 0x01, 0x10, 0x17, 0x40, 0x17, 0x70, 0x17, + 0x03, 0x00, 0x17, 0x20, 0x17, 0x30, 0x17, 0x40, 0x17, 0x50, 0x17, + 0x60, 0x17, 0x70, 0x17, 0x80, 0x17, 0x90, 0x17, 0xa0, 0x17, 0xb0, + 0x17, 0xc0, 0x17, 0xd0, 0x17, 0x0d, 0xb8, 0xff, 0xc6, 0xb4, 0x17, + 0x17, 0x08, 0x08, 0x25, 0x2b, 0x5d, 0x71, 0x5d, 0x11, 0x35, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x60, 0xfe, 0x7f, 0x03, 0xdb, 0x04, 0xcb, + 0x12, 0x26, 0x05, 0x09, 0x00, 0x00, 0x11, 0x07, 0x04, 0xef, 0xff, + 0x55, 0x03, 0x0a, 0x00, 0x21, 0x40, 0x15, 0x01, 0x04, 0x10, 0x01, + 0x20, 0x10, 0x01, 0x9d, 0x10, 0x10, 0x02, 0x06, 0x25, 0x01, 0x10, + 0x5f, 0x10, 0x01, 0x30, 0x10, 0x01, 0x00, 0x5d, 0x5d, 0x11, 0x35, + 0x01, 0x2b, 0x5d, 0x5d, 0x35, 0x00, 0xff, 0xff, 0x00, 0x60, 0xfe, + 0x7f, 0x03, 0xdb, 0x04, 0xcb, 0x12, 0x26, 0x05, 0x09, 0x00, 0x00, + 0x11, 0x07, 0x04, 0xe7, 0xff, 0x6b, 0x03, 0x0a, 0x00, 0x21, 0x40, + 0x14, 0x02, 0x01, 0x15, 0x0f, 0x01, 0x20, 0x0f, 0x01, 0x0f, 0x0f, + 0x0f, 0x02, 0x06, 0x25, 0x02, 0x01, 0x0f, 0x30, 0x0f, 0x01, 0x00, + 0x5d, 0x11, 0x35, 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x35, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x19, 0xfe, 0x7f, 0x04, 0xb4, 0x06, 0x81, 0x12, + 0x26, 0x08, 0xff, 0x00, 0x00, 0x11, 0x06, 0x04, 0xe8, 0xfb, 0x00, + 0x00, 0x32, 0x40, 0x1b, 0x05, 0x04, 0x03, 0x02, 0x01, 0x3c, 0xb8, + 0x3c, 0x01, 0x27, 0x3c, 0x01, 0x16, 0x3c, 0x66, 0x3c, 0x76, 0x3c, + 0x03, 0x05, 0x3c, 0x01, 0x34, 0x3c, 0x84, 0x3c, 0x02, 0xb8, 0x01, + 0x4d, 0xb4, 0x3c, 0x3c, 0x00, 0x11, 0x25, 0x2b, 0x5d, 0x5d, 0x5d, + 0x5d, 0x5d, 0x11, 0x35, 0x35, 0x35, 0x35, 0x35, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x19, 0xfe, 0x7f, 0x04, 0xb4, 0x06, 0x81, 0x12, 0x26, + 0x08, 0xff, 0x00, 0x00, 0x11, 0x06, 0x04, 0xed, 0xe8, 0x00, 0x00, + 0x1f, 0x40, 0x15, 0x03, 0x02, 0x01, 0x24, 0x19, 0x24, 0x01, 0x88, + 0x24, 0x01, 0x05, 0x24, 0x45, 0x24, 0x02, 0xd0, 0x24, 0x24, 0x00, + 0x11, 0x25, 0x2b, 0x5d, 0x5d, 0x5d, 0x11, 0x35, 0x35, 0x35, 0x00, + 0xff, 0xff, 0x00, 0x19, 0xfe, 0xa4, 0x04, 0xb4, 0x06, 0x81, 0x12, + 0x26, 0x08, 0xff, 0x00, 0x00, 0x11, 0x06, 0x04, 0xec, 0xef, 0x00, + 0x00, 0x0f, 0x40, 0x09, 0x02, 0x01, 0x24, 0xd7, 0x24, 0x24, 0x00, + 0x11, 0x25, 0x2b, 0x11, 0x35, 0x35, 0x00, 0xff, 0xff, 0x00, 0x91, + 0xff, 0xd3, 0x04, 0x27, 0x06, 0x81, 0x12, 0x06, 0x05, 0x0b, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x10, 0x00, 0x00, 0x04, 0xba, 0x04, 0xcb, + 0x12, 0x26, 0x04, 0xff, 0x00, 0x00, 0x11, 0x07, 0x04, 0xf3, 0xff, + 0x8e, 0xfe, 0x01, 0x00, 0x2f, 0x40, 0x13, 0x01, 0x3e, 0x23, 0x01, + 0x28, 0x23, 0x58, 0x23, 0x02, 0x07, 0x23, 0x47, 0x23, 0x77, 0x23, + 0x03, 0x15, 0x23, 0x01, 0xb8, 0xff, 0xa2, 0x40, 0x0a, 0x23, 0x23, + 0x0d, 0x13, 0x25, 0x01, 0x23, 0x10, 0x23, 0x01, 0x00, 0x5d, 0x11, + 0x35, 0x01, 0x2b, 0x5d, 0x5d, 0x5d, 0x5d, 0x35, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0xc4, 0xfe, 0x7f, 0x04, 0x07, 0xff, 0xee, 0x00, + 0x0b, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x3b, 0x00, 0x3f, + 0x00, 0x25, 0x40, 0x13, 0x3c, 0x39, 0x1b, 0x00, 0x21, 0x01, 0x40, + 0x21, 0xa0, 0x21, 0x02, 0x21, 0x15, 0x09, 0x09, 0x3d, 0x27, 0x0f, + 0x03, 0x00, 0x2f, 0x33, 0x33, 0x33, 0x33, 0x11, 0x33, 0xcc, 0x5d, + 0x71, 0x32, 0x32, 0x32, 0x31, 0x30, 0x17, 0x34, 0x36, 0x33, 0x32, + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x07, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x25, 0x34, + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x15, + 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, + 0x07, 0x11, 0x33, 0x11, 0xc4, 0x2e, 0x22, 0x22, 0x2e, 0x30, 0x20, + 0x20, 0x30, 0xe7, 0x2e, 0x20, 0x22, 0x2e, 0x30, 0x20, 0x20, 0x2e, + 0x74, 0x2f, 0x20, 0x20, 0x30, 0x2f, 0x21, 0x20, 0x2f, 0x02, 0x30, + 0x2e, 0x22, 0x20, 0x30, 0x30, 0x20, 0x22, 0x2e, 0x2e, 0x20, 0x21, + 0x2f, 0x2e, 0x22, 0x20, 0x2e, 0xc7, 0x6f, 0x62, 0x22, 0x2e, 0x30, + 0x20, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, 0x2e, 0x22, 0x22, 0x2e, + 0x30, 0xaf, 0x20, 0x2e, 0x2e, 0x20, 0x20, 0x30, 0x2e, 0xf2, 0x22, + 0x2d, 0x2d, 0x22, 0x20, 0x2e, 0x2e, 0xaf, 0x20, 0x30, 0x2f, 0x21, + 0x22, 0x2e, 0x2e, 0x2e, 0x01, 0x6e, 0xfe, 0x92, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0xe3, 0xfe, 0x80, 0x03, 0xe8, 0xff, 0xee, 0x00, + 0x03, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x1b, 0x40, 0x0e, + 0x01, 0x01, 0x1f, 0x00, 0x19, 0x01, 0x40, 0x19, 0xa0, 0x19, 0x02, + 0x19, 0x1e, 0x07, 0x00, 0x2f, 0x33, 0xcc, 0x5d, 0x71, 0x32, 0x39, + 0x2f, 0x31, 0x30, 0x17, 0x21, 0x15, 0x21, 0x25, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x15, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x07, 0x11, + 0x33, 0x11, 0xe3, 0x01, 0x47, 0xfe, 0xb9, 0x02, 0x65, 0x2e, 0x22, + 0x20, 0x30, 0x30, 0x20, 0x22, 0x2e, 0x2e, 0x20, 0x21, 0x2f, 0x2e, + 0x22, 0x20, 0x2e, 0xc7, 0x6f, 0x35, 0x6a, 0x3e, 0x22, 0x2d, 0x2d, + 0x22, 0x20, 0x2e, 0x2e, 0xaf, 0x20, 0x30, 0x2f, 0x21, 0x22, 0x2e, + 0x2e, 0x2e, 0x01, 0x6e, 0xfe, 0x92, 0x00, 0x00, 0x04, 0x00, 0xe3, + 0xfe, 0x80, 0x03, 0xe8, 0xff, 0xee, 0x00, 0x07, 0x00, 0x13, 0x00, + 0x1f, 0x00, 0x23, 0x00, 0x1b, 0x40, 0x0e, 0x01, 0x01, 0x20, 0x00, + 0x1d, 0x01, 0x40, 0x1d, 0xa0, 0x1d, 0x02, 0x1d, 0x21, 0x0b, 0x00, + 0x2f, 0x33, 0xcc, 0x5d, 0x71, 0x32, 0x39, 0x2f, 0x31, 0x30, 0x01, + 0x35, 0x23, 0x35, 0x21, 0x15, 0x23, 0x15, 0x25, 0x34, 0x36, 0x33, + 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x15, 0x34, 0x36, + 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x07, 0x11, + 0x33, 0x11, 0x01, 0x51, 0x6e, 0x01, 0x47, 0x6a, 0x01, 0x88, 0x2e, + 0x22, 0x20, 0x30, 0x30, 0x20, 0x22, 0x2e, 0x2e, 0x20, 0x21, 0x2f, + 0x2e, 0x22, 0x20, 0x2e, 0xc7, 0x6f, 0xfe, 0xec, 0x75, 0x6a, 0x6a, + 0x75, 0xb3, 0x22, 0x2d, 0x2d, 0x22, 0x20, 0x2e, 0x2e, 0xaf, 0x20, + 0x30, 0x2f, 0x21, 0x22, 0x2e, 0x2e, 0x2e, 0x01, 0x6e, 0xfe, 0x92, + 0x00, 0x02, 0x00, 0x74, 0xff, 0xec, 0x04, 0x3b, 0x06, 0x35, 0x00, + 0x13, 0x00, 0x35, 0x00, 0x00, 0x01, 0x34, 0x2e, 0x02, 0x27, 0x0e, + 0x03, 0x15, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x3e, 0x02, 0x09, 0x01, + 0x16, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x02, 0x23, + 0x22, 0x2e, 0x02, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x01, 0x35, 0x24, + 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x03, 0x7e, 0x31, 0x45, + 0x4c, 0x1a, 0x49, 0x86, 0x66, 0x3c, 0x23, 0x49, 0x6f, 0x4d, 0x51, + 0x70, 0x45, 0x1f, 0xfe, 0x72, 0x01, 0x2f, 0x55, 0x14, 0x33, 0x27, + 0x28, 0x31, 0x40, 0x7b, 0xb4, 0x73, 0x72, 0xb4, 0x7d, 0x42, 0x49, + 0x7f, 0xa9, 0x60, 0xfe, 0xe2, 0x01, 0x19, 0xe7, 0x67, 0x5d, 0x51, + 0x56, 0xa1, 0x01, 0xd7, 0x55, 0x91, 0x73, 0x56, 0x1b, 0x1a, 0x51, + 0x72, 0x92, 0x5b, 0x4c, 0x83, 0x60, 0x37, 0x36, 0x5f, 0x83, 0x03, + 0xc6, 0xfe, 0xbd, 0x5b, 0x16, 0x39, 0x44, 0x43, 0x9f, 0x61, 0x6e, + 0xb6, 0x83, 0x48, 0x44, 0x7f, 0xb7, 0x73, 0x70, 0xb0, 0x87, 0x61, + 0x21, 0x01, 0x3a, 0x77, 0x82, 0x1a, 0x84, 0x1d, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x01, 0x6e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x56, 0x00, 0xae, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x0f, 0x01, 0x25, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0x01, 0x45, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1a, 0x01, 0x83, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0f, 0x01, 0xbe, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0d, 0x01, 0xea, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0e, 0x02, + 0x16, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, + 0x03, 0x1b, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x14, 0x03, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, + 0x00, 0x0e, 0x03, 0xf3, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0a, 0x01, 0x73, 0x06, 0xea, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0b, 0x00, 0x1c, 0x08, 0x98, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x00, 0x2e, 0x09, 0x13, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0d, 0x00, 0x35, 0x09, 0xae, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x1a, 0x0a, 0x1a, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x1e, 0x01, 0x05, + 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x0e, 0x01, + 0x35, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x34, + 0x01, 0x4d, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, + 0x1e, 0x01, 0x9e, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, + 0x00, 0x1a, 0x01, 0xce, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, + 0x06, 0x00, 0x1c, 0x01, 0xf8, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, + 0x00, 0x07, 0x00, 0xf4, 0x02, 0x25, 0x00, 0x03, 0x00, 0x01, 0x04, + 0x09, 0x00, 0x08, 0x00, 0x28, 0x03, 0x96, 0x00, 0x03, 0x00, 0x01, + 0x04, 0x09, 0x00, 0x09, 0x00, 0x1c, 0x03, 0xd5, 0x00, 0x03, 0x00, + 0x01, 0x04, 0x09, 0x00, 0x0a, 0x02, 0xe6, 0x04, 0x02, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x0b, 0x00, 0x38, 0x08, 0x5e, 0x00, + 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0c, 0x00, 0x5c, 0x08, 0xb5, + 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0d, 0x00, 0x6a, 0x09, + 0x42, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0e, 0x00, 0x34, + 0x09, 0xe4, 0x00, 0x44, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x7a, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x20, 0x00, + 0x63, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, + 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, 0x00, + 0x63, 0x00, 0x29, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, + 0x00, 0x30, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, + 0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x61, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x2e, 0x00, 0x0a, + 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, + 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, + 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, + 0x31, 0x00, 0x32, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x48, 0x00, 0x61, 0x00, 0x74, 0x00, 0x2c, 0x00, + 0x20, 0x00, 0x49, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x2e, 0x00, 0x00, + 0x44, 0x69, 0x67, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x31, 0x30, + 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x43, 0x6f, 0x72, + 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x43, + 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, + 0x29, 0x20, 0x32, 0x30, 0x31, 0x32, 0x20, 0x52, 0x65, 0x64, 0x20, + 0x48, 0x61, 0x74, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x00, 0x00, + 0x4c, 0x00, 0x69, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, + 0x4d, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x00, 0x4c, 0x69, + 0x62, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x4d, 0x6f, + 0x6e, 0x6f, 0x00, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, + 0x00, 0x6c, 0x00, 0x61, 0x00, 0x72, 0x00, 0x00, 0x52, 0x65, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x00, 0x00, 0x41, 0x00, 0x73, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x20, 0x00, 0x2d, 0x00, 0x20, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x62, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, + 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x4d, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x6f, 0x00, 0x00, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x2d, 0x20, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x4d, 0x6f, 0x6e, 0x6f, 0x00, 0x00, 0x4c, + 0x00, 0x69, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, + 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x4d, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x00, 0x4c, 0x69, 0x62, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x4d, 0x6f, 0x6e, + 0x6f, 0x00, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, + 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x32, 0x00, 0x2e, + 0x00, 0x31, 0x00, 0x2e, 0x00, 0x35, 0x00, 0x00, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x31, 0x2e, 0x35, 0x00, + 0x00, 0x4c, 0x00, 0x69, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x4d, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x00, 0x4c, 0x69, 0x62, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x6f, + 0x00, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, + 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 0x00, + 0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x66, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x64, 0x00, + 0x20, 0x00, 0x48, 0x00, 0x61, 0x00, 0x74, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x49, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x2e, 0x00, 0x20, 0x00, + 0x72, 0x00, 0x65, 0x00, 0x67, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, + 0x69, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x55, 0x00, 0x2e, 0x00, 0x53, + 0x00, 0x2e, 0x00, 0x20, 0x00, 0x50, 0x00, 0x61, 0x00, 0x74, 0x00, + 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, + 0x64, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, + 0x00, 0x20, 0x00, 0x4f, 0x00, 0x66, 0x00, 0x66, 0x00, 0x69, 0x00, + 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x63, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, + 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x6a, 0x00, + 0x75, 0x00, 0x72, 0x00, 0x69, 0x00, 0x73, 0x00, 0x64, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, + 0x73, 0x00, 0x2e, 0x00, 0x00, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x6f, 0x66, + 0x20, 0x52, 0x65, 0x64, 0x20, 0x48, 0x61, 0x74, 0x2c, 0x20, 0x49, + 0x6e, 0x63, 0x2e, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x55, 0x2e, 0x53, 0x2e, + 0x20, 0x50, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x54, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, + 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x73, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x70, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, + 0x6f, 0x00, 0x6e, 0x00, 0x00, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x53, 0x00, 0x74, 0x00, 0x65, 0x00, + 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x4d, 0x00, 0x61, 0x00, 0x74, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6e, 0x00, + 0x00, 0x53, 0x74, 0x65, 0x76, 0x65, 0x20, 0x4d, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x6f, 0x6e, 0x00, 0x00, 0x42, 0x00, 0x61, 0x00, 0x73, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x6e, 0x00, + 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x75, 0x00, 0x73, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x77, 0x00, + 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x77, + 0x00, 0x61, 0x00, 0x73, 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, 0x00, + 0x73, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x53, 0x00, + 0x74, 0x00, 0x65, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x4d, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, + 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x61, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, + 0x6e, 0x00, 0x6f, 0x00, 0x76, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x76, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x72, 0x00, + 0x65, 0x00, 0x66, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, 0x00, 0x73, 0x00, + 0x61, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x66, 0x00, 0x20, 0x00, 0x64, 0x00, + 0x65, 0x00, 0x73, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x61, 0x00, 0x74, 0x00, 0x20, 0x00, + 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x74, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x6c, 0x00, + 0x6c, 0x00, 0x79, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, + 0x00, 0x70, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x62, 0x00, + 0x6c, 0x00, 0x65, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x75, 0x00, + 0x72, 0x00, 0x69, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x4e, + 0x00, 0x65, 0x00, 0x77, 0x21, 0x22, 0x00, 0x2e, 0x00, 0x20, 0x00, + 0x43, 0x00, 0x6f, 0x00, 0x75, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x66, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6d, + 0x00, 0x70, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x76, 0x00, 0x65, 0x00, + 0x64, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x2d, 0x00, 0x73, + 0x00, 0x63, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6e, 0x00, + 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x61, 0x00, 0x64, 0x00, 0x61, + 0x00, 0x62, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x74, 0x00, + 0x79, 0x00, 0x20, 0x00, 0x63, 0x00, 0x68, 0x00, 0x61, 0x00, 0x72, + 0x00, 0x61, 0x00, 0x63, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, + 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x63, 0x00, 0x73, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, + 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x70, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x2d, 0x00, 0x45, 0x00, 0x75, 0x00, 0x72, 0x00, + 0x6f, 0x00, 0x70, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x57, 0x00, 0x47, 0x00, 0x4c, 0x00, 0x20, 0x00, 0x63, 0x00, + 0x68, 0x00, 0x61, 0x00, 0x72, 0x00, 0x61, 0x00, 0x63, 0x00, 0x74, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, + 0x74, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x76, 0x00, 0x65, 0x00, + 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x6e, 0x00, 0x65, 0x00, 0x65, 0x00, 0x64, 0x00, 0x73, 0x00, + 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x76, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x70, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x6f, + 0x00, 0x6f, 0x00, 0x6b, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, + 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x77, + 0x00, 0x69, 0x00, 0x64, 0x00, 0x74, 0x00, 0x68, 0x00, 0x2d, 0x00, + 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x70, 0x00, 0x61, 0x00, 0x74, + 0x00, 0x69, 0x00, 0x62, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x20, 0x00, + 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x61, 0x00, 0x64, 0x00, + 0x64, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x64, 0x00, 0x6f, 0x00, 0x63, 0x00, 0x75, 0x00, 0x6d, 0x00, + 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x70, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x69, 0x00, + 0x6c, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x63, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x73, 0x00, + 0x20, 0x00, 0x70, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x74, 0x00, 0x66, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x6d, 0x00, 0x73, 0x00, 0x2e, 0x00, + 0x00, 0x42, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x43, + 0x6f, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x77, 0x68, 0x69, + 0x63, 0x68, 0x20, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x53, 0x74, 0x65, + 0x76, 0x65, 0x20, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x6f, 0x6e, + 0x20, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x6e, 0x6f, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x2c, 0x20, 0x72, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x61, 0x6e, + 0x73, 0x20, 0x73, 0x65, 0x72, 0x69, 0x66, 0x20, 0x64, 0x65, 0x73, + 0x69, 0x67, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, + 0x20, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x43, 0x6f, 0x75, 0x72, 0x69, + 0x65, 0x72, 0x20, 0x4e, 0x65, 0x77, 0xaa, 0x2e, 0x20, 0x43, 0x6f, + 0x75, 0x73, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x20, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, + 0x6f, 0x6e, 0x2d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x72, + 0x65, 0x61, 0x64, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, + 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x61, 0x6e, 0x2d, 0x45, 0x75, 0x72, 0x6f, 0x70, + 0x65, 0x61, 0x6e, 0x20, 0x57, 0x47, 0x4c, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x20, 0x73, 0x65, 0x74, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, + 0x73, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, + 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x00, 0x00, + 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, + 0x00, 0x2f, 0x00, 0x77, 0x00, 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, + 0x61, 0x00, 0x73, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x72, 0x00, + 0x70, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2f, + 0x00, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x00, 0x00, 0x68, + 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, + 0x2f, 0x00, 0x77, 0x00, 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, 0x61, + 0x00, 0x73, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x64, 0x00, + 0x65, 0x00, 0x72, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x70, + 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2f, 0x00, + 0x74, 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x73, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x73, 0x00, 0x2e, 0x00, 0x68, 0x00, 0x74, 0x00, 0x6d, + 0x00, 0x6c, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, + 0x73, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x00, 0x00, 0x4c, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, + 0x64, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, + 0x20, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4c, 0x00, 0x20, 0x00, 0x4f, + 0x00, 0x70, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x46, 0x00, + 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x4c, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, + 0x2c, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x31, 0x00, + 0x2e, 0x00, 0x31, 0x00, 0x00, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x53, 0x49, 0x4c, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x20, + 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x2c, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x31, 0x2e, 0x31, 0x00, 0x00, 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, + 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x73, 0x00, 0x63, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x73, 0x00, + 0x2e, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x2e, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x67, 0x00, 0x2f, 0x00, 0x4f, 0x00, 0x46, 0x00, + 0x4c, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x2e, 0x73, 0x69, 0x6c, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x4f, 0x46, 0x4c, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x77, 0x00, 0x54, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x77, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, + 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, + 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, + 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, + 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, + 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, + 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, + 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, + 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, + 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, + 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, + 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, + 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, + 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, + 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, + 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, + 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, + 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x01, 0x02, 0x00, + 0xa3, 0x00, 0x84, 0x00, 0x85, 0x00, 0xbd, 0x00, 0x96, 0x00, 0xe8, + 0x00, 0x86, 0x00, 0x8e, 0x00, 0x8b, 0x00, 0x9d, 0x00, 0xa9, 0x00, + 0xa4, 0x01, 0x03, 0x00, 0x8a, 0x00, 0xda, 0x00, 0x83, 0x00, 0x93, + 0x00, 0xf2, 0x00, 0xf3, 0x00, 0x8d, 0x00, 0x97, 0x00, 0x88, 0x00, + 0xc3, 0x00, 0xde, 0x00, 0xf1, 0x00, 0x9e, 0x00, 0xaa, 0x00, 0xf5, + 0x00, 0xf4, 0x00, 0xf6, 0x00, 0xa2, 0x00, 0xad, 0x00, 0xc9, 0x00, + 0xc7, 0x00, 0xae, 0x00, 0x62, 0x00, 0x63, 0x00, 0x90, 0x00, 0x64, + 0x00, 0xcb, 0x00, 0x65, 0x00, 0xc8, 0x00, 0xca, 0x00, 0xcf, 0x00, + 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xe9, 0x00, 0x66, 0x00, 0xd3, + 0x00, 0xd0, 0x00, 0xd1, 0x00, 0xaf, 0x00, 0x67, 0x00, 0xf0, 0x00, + 0x91, 0x00, 0xd6, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0x68, 0x00, 0xeb, + 0x00, 0xed, 0x00, 0x89, 0x00, 0x6a, 0x00, 0x69, 0x00, 0x6b, 0x00, + 0x6d, 0x00, 0x6c, 0x00, 0x6e, 0x00, 0xa0, 0x00, 0x6f, 0x00, 0x71, + 0x00, 0x70, 0x00, 0x72, 0x00, 0x73, 0x00, 0x75, 0x00, 0x74, 0x00, + 0x76, 0x00, 0x77, 0x00, 0xea, 0x00, 0x78, 0x00, 0x7a, 0x00, 0x79, + 0x00, 0x7b, 0x00, 0x7d, 0x00, 0x7c, 0x00, 0xb8, 0x00, 0xa1, 0x00, + 0x7f, 0x00, 0x7e, 0x00, 0x80, 0x00, 0x81, 0x00, 0xec, 0x00, 0xee, + 0x00, 0xba, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, + 0x08, 0x01, 0x09, 0x00, 0xfd, 0x00, 0xfe, 0x01, 0x0a, 0x01, 0x0b, + 0x01, 0x0c, 0x01, 0x0d, 0x00, 0xff, 0x01, 0x00, 0x01, 0x0e, 0x01, + 0x0f, 0x01, 0x10, 0x01, 0x01, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, + 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, + 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x00, 0xf8, 0x00, 0xf9, + 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, + 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, + 0x01, 0x28, 0x01, 0x29, 0x01, 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x00, + 0xfa, 0x00, 0xd7, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x30, + 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x35, 0x01, + 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x3b, + 0x00, 0xe2, 0x00, 0xe3, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, + 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, + 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, + 0x4a, 0x00, 0xb0, 0x00, 0xb1, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x4d, + 0x01, 0x4e, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, + 0x53, 0x01, 0x54, 0x00, 0xfb, 0x00, 0xfc, 0x00, 0xe4, 0x00, 0xe5, + 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, + 0x5a, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e, 0x01, 0x5f, + 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, + 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6a, + 0x00, 0xbb, 0x01, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x6e, 0x00, + 0xe6, 0x00, 0xe7, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, + 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, + 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, 0x01, 0x7c, 0x01, 0x7d, + 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 0x00, 0xa6, 0x01, + 0x82, 0x01, 0x83, 0x01, 0x84, 0x01, 0x85, 0x01, 0x86, 0x01, 0x87, + 0x01, 0x88, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, + 0x8d, 0x01, 0x8e, 0x01, 0x8f, 0x01, 0x90, 0x01, 0x91, 0x01, 0x92, + 0x01, 0x93, 0x01, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, + 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, + 0x01, 0x9e, 0x01, 0x9f, 0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, + 0xa3, 0x01, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, + 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xab, 0x01, 0xac, 0x01, 0xad, 0x01, + 0xae, 0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, + 0x01, 0xb4, 0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x01, + 0xb9, 0x01, 0xba, 0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 0x01, 0xbe, + 0x01, 0xbf, 0x01, 0xc0, 0x01, 0xc1, 0x01, 0xc2, 0x01, 0xc3, 0x01, + 0xc4, 0x01, 0xc5, 0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, + 0x01, 0xca, 0x01, 0xcb, 0x01, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, + 0xcf, 0x01, 0xd0, 0x01, 0xd1, 0x01, 0xd2, 0x01, 0xd3, 0x01, 0xd4, + 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 0x01, 0xd8, 0x01, 0xd9, 0x01, + 0xda, 0x01, 0xdb, 0x01, 0xdc, 0x01, 0xdd, 0x01, 0xde, 0x01, 0xdf, + 0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe3, 0x01, 0xe4, 0x01, + 0xe5, 0x01, 0xe6, 0x01, 0xe7, 0x01, 0xe8, 0x01, 0xe9, 0x01, 0xea, + 0x01, 0xeb, 0x01, 0xec, 0x01, 0xed, 0x01, 0xee, 0x01, 0xef, 0x01, + 0xf0, 0x01, 0xf1, 0x01, 0xf2, 0x01, 0xf3, 0x01, 0xf4, 0x01, 0xf5, + 0x01, 0xf6, 0x01, 0xf7, 0x01, 0xf8, 0x01, 0xf9, 0x01, 0xfa, 0x01, + 0xfb, 0x01, 0xfc, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x02, 0x00, + 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, + 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x02, 0x0b, + 0x02, 0x0c, 0x02, 0x0d, 0x02, 0x0e, 0x02, 0x0f, 0x02, 0x10, 0x02, + 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x14, 0x02, 0x15, 0x02, 0x16, + 0x02, 0x17, 0x02, 0x18, 0x02, 0x19, 0x02, 0x1a, 0x02, 0x1b, 0x02, + 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x02, 0x20, 0x02, 0x21, + 0x02, 0x22, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, + 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2a, 0x02, 0x2b, 0x02, 0x2c, + 0x02, 0x2d, 0x02, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x31, 0x02, + 0x32, 0x02, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, + 0x02, 0x38, 0x02, 0x39, 0x02, 0x3a, 0x02, 0x3b, 0x02, 0x3c, 0x02, + 0x3d, 0x02, 0x3e, 0x02, 0x3f, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, + 0x02, 0x43, 0x02, 0x44, 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, 0x02, + 0x48, 0x02, 0x49, 0x02, 0x4a, 0x02, 0x4b, 0x02, 0x4c, 0x02, 0x4d, + 0x02, 0x4e, 0x02, 0x4f, 0x02, 0x50, 0x02, 0x51, 0x02, 0x52, 0x02, + 0x53, 0x02, 0x54, 0x02, 0x55, 0x02, 0x56, 0x02, 0x57, 0x02, 0x58, + 0x02, 0x59, 0x02, 0x5a, 0x02, 0x5b, 0x02, 0x5c, 0x02, 0x5d, 0x02, + 0x5e, 0x02, 0x5f, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, 0x02, 0x63, + 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, 0x68, 0x02, + 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x6d, 0x02, 0x6e, + 0x02, 0x6f, 0x02, 0x70, 0x02, 0x71, 0x02, 0x72, 0x02, 0x73, 0x02, + 0x74, 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, + 0x02, 0x7a, 0x02, 0x7b, 0x02, 0x7c, 0x02, 0x7d, 0x02, 0x7e, 0x02, + 0x7f, 0x02, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, + 0x02, 0x85, 0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x89, 0x02, + 0x8a, 0x02, 0x8b, 0x02, 0x8c, 0x02, 0x8d, 0x02, 0x8e, 0x02, 0x8f, + 0x02, 0x90, 0x02, 0x91, 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, + 0x95, 0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, 0x02, 0x9a, + 0x02, 0x9b, 0x02, 0x9c, 0x02, 0x9d, 0x02, 0x9e, 0x02, 0x9f, 0x02, + 0xa0, 0x02, 0xa1, 0x02, 0xa2, 0x02, 0xa3, 0x02, 0xa4, 0x02, 0xa5, + 0x02, 0xa6, 0x02, 0xa7, 0x02, 0xa8, 0x02, 0xa9, 0x02, 0xaa, 0x02, + 0xab, 0x02, 0xac, 0x02, 0xad, 0x02, 0xae, 0x02, 0xaf, 0x02, 0xb0, + 0x02, 0xb1, 0x02, 0xb2, 0x02, 0xb3, 0x00, 0xd8, 0x00, 0xe1, 0x02, + 0xb4, 0x02, 0xb5, 0x02, 0xb6, 0x02, 0xb7, 0x02, 0xb8, 0x02, 0xb9, + 0x02, 0xba, 0x02, 0xbb, 0x02, 0xbc, 0x02, 0xbd, 0x02, 0xbe, 0x02, + 0xbf, 0x02, 0xc0, 0x02, 0xc1, 0x02, 0xc2, 0x02, 0xc3, 0x00, 0xdb, + 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xe0, 0x00, 0xd9, 0x00, 0xdf, 0x02, + 0xc4, 0x02, 0xc5, 0x02, 0xc6, 0x02, 0xc7, 0x02, 0xc8, 0x02, 0xc9, + 0x02, 0xca, 0x02, 0xcb, 0x02, 0xcc, 0x02, 0xcd, 0x02, 0xce, 0x02, + 0xcf, 0x02, 0xd0, 0x02, 0xd1, 0x02, 0xd2, 0x02, 0xd3, 0x02, 0xd4, + 0x02, 0xd5, 0x02, 0xd6, 0x02, 0xd7, 0x02, 0xd8, 0x02, 0xd9, 0x02, + 0xda, 0x02, 0xdb, 0x02, 0xdc, 0x02, 0xdd, 0x02, 0xde, 0x02, 0xdf, + 0x02, 0xe0, 0x02, 0xe1, 0x02, 0xe2, 0x02, 0xe3, 0x02, 0xe4, 0x02, + 0xe5, 0x02, 0xe6, 0x02, 0xe7, 0x02, 0xe8, 0x02, 0xe9, 0x02, 0xea, + 0x02, 0xeb, 0x02, 0xec, 0x02, 0xed, 0x02, 0xee, 0x02, 0xef, 0x02, + 0xf0, 0x02, 0xf1, 0x02, 0xf2, 0x02, 0xf3, 0x02, 0xf4, 0x02, 0xf5, + 0x02, 0xf6, 0x02, 0xf7, 0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfa, 0x02, + 0xfb, 0x02, 0xfc, 0x02, 0xfd, 0x02, 0xfe, 0x02, 0xff, 0x03, 0x00, + 0x03, 0x01, 0x03, 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x05, 0x03, + 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x09, 0x03, 0x0a, 0x03, 0x0b, + 0x03, 0x0c, 0x03, 0x0d, 0x03, 0x0e, 0x03, 0x0f, 0x03, 0x10, 0x03, + 0x11, 0x03, 0x12, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 0x03, 0x16, + 0x03, 0x17, 0x03, 0x18, 0x03, 0x19, 0x03, 0x1a, 0x03, 0x1b, 0x03, + 0x1c, 0x03, 0x1d, 0x03, 0x1e, 0x03, 0x1f, 0x03, 0x20, 0x03, 0x21, + 0x03, 0x22, 0x03, 0x23, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, 0x03, + 0x27, 0x03, 0x28, 0x03, 0x29, 0x03, 0x2a, 0x03, 0x2b, 0x03, 0x2c, + 0x03, 0x2d, 0x03, 0x2e, 0x03, 0x2f, 0x03, 0x30, 0x03, 0x31, 0x03, + 0x32, 0x03, 0x33, 0x03, 0x34, 0x03, 0x35, 0x03, 0x36, 0x03, 0x37, + 0x03, 0x38, 0x03, 0x39, 0x03, 0x3a, 0x03, 0x3b, 0x03, 0x3c, 0x03, + 0x3d, 0x03, 0x3e, 0x03, 0x3f, 0x03, 0x40, 0x03, 0x41, 0x03, 0x42, + 0x03, 0x43, 0x03, 0x44, 0x03, 0x45, 0x03, 0x46, 0x03, 0x47, 0x03, + 0x48, 0x03, 0x49, 0x03, 0x4a, 0x03, 0x4b, 0x03, 0x4c, 0x03, 0x4d, + 0x03, 0x4e, 0x03, 0x4f, 0x03, 0x50, 0x03, 0x51, 0x03, 0x52, 0x03, + 0x53, 0x03, 0x54, 0x03, 0x55, 0x03, 0x56, 0x03, 0x57, 0x03, 0x58, + 0x03, 0x59, 0x03, 0x5a, 0x03, 0x5b, 0x03, 0x5c, 0x03, 0x5d, 0x03, + 0x5e, 0x03, 0x5f, 0x03, 0x60, 0x03, 0x61, 0x03, 0x62, 0x03, 0x63, + 0x03, 0x64, 0x03, 0x65, 0x03, 0x66, 0x03, 0x67, 0x03, 0x68, 0x03, + 0x69, 0x03, 0x6a, 0x03, 0x6b, 0x03, 0x6c, 0x03, 0x6d, 0x03, 0x6e, + 0x03, 0x6f, 0x03, 0x70, 0x03, 0x71, 0x03, 0x72, 0x03, 0x73, 0x03, + 0x74, 0x03, 0x75, 0x03, 0x76, 0x03, 0x77, 0x03, 0x78, 0x03, 0x79, + 0x03, 0x7a, 0x03, 0x7b, 0x03, 0x7c, 0x03, 0x7d, 0x03, 0x7e, 0x03, + 0x7f, 0x03, 0x80, 0x03, 0x81, 0x03, 0x82, 0x03, 0x83, 0x03, 0x84, + 0x03, 0x85, 0x03, 0x86, 0x03, 0x87, 0x03, 0x88, 0x03, 0x89, 0x03, + 0x8a, 0x03, 0x8b, 0x03, 0x8c, 0x03, 0x8d, 0x03, 0x8e, 0x03, 0x8f, + 0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 0x03, 0x93, 0x03, 0x94, 0x03, + 0x95, 0x00, 0x9b, 0x03, 0x96, 0x03, 0x97, 0x03, 0x98, 0x03, 0x99, + 0x03, 0x9a, 0x03, 0x9b, 0x03, 0x9c, 0x03, 0x9d, 0x03, 0x9e, 0x03, + 0x9f, 0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa2, 0x03, 0xa3, 0x03, 0xa4, + 0x03, 0xa5, 0x03, 0xa6, 0x03, 0xa7, 0x03, 0xa8, 0x03, 0xa9, 0x03, + 0xaa, 0x03, 0xab, 0x03, 0xac, 0x03, 0xad, 0x03, 0xae, 0x03, 0xaf, + 0x03, 0xb0, 0x03, 0xb1, 0x03, 0xb2, 0x03, 0xb3, 0x03, 0xb4, 0x03, + 0xb5, 0x03, 0xb6, 0x03, 0xb7, 0x03, 0xb8, 0x03, 0xb9, 0x03, 0xba, + 0x03, 0xbb, 0x03, 0xbc, 0x03, 0xbd, 0x03, 0xbe, 0x03, 0xbf, 0x03, + 0xc0, 0x03, 0xc1, 0x03, 0xc2, 0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, + 0x03, 0xc6, 0x03, 0xc7, 0x03, 0xc8, 0x03, 0xc9, 0x03, 0xca, 0x03, + 0xcb, 0x03, 0xcc, 0x03, 0xcd, 0x03, 0xce, 0x03, 0xcf, 0x03, 0xd0, + 0x03, 0xd1, 0x03, 0xd2, 0x03, 0xd3, 0x03, 0xd4, 0x03, 0xd5, 0x03, + 0xd6, 0x03, 0xd7, 0x03, 0xd8, 0x03, 0xd9, 0x03, 0xda, 0x03, 0xdb, + 0x03, 0xdc, 0x03, 0xdd, 0x03, 0xde, 0x03, 0xdf, 0x03, 0xe0, 0x03, + 0xe1, 0x03, 0xe2, 0x03, 0xe3, 0x03, 0xe4, 0x03, 0xe5, 0x03, 0xe6, + 0x03, 0xe7, 0x03, 0xe8, 0x03, 0xe9, 0x03, 0xea, 0x03, 0xeb, 0x03, + 0xec, 0x03, 0xed, 0x03, 0xee, 0x03, 0xef, 0x03, 0xf0, 0x03, 0xf1, + 0x03, 0xf2, 0x03, 0xf3, 0x03, 0xf4, 0x03, 0xf5, 0x03, 0xf6, 0x03, + 0xf7, 0x03, 0xf8, 0x03, 0xf9, 0x03, 0xfa, 0x03, 0xfb, 0x03, 0xfc, + 0x03, 0xfd, 0x03, 0xfe, 0x03, 0xff, 0x04, 0x00, 0x04, 0x01, 0x04, + 0x02, 0x04, 0x03, 0x04, 0x04, 0x04, 0x05, 0x04, 0x06, 0x04, 0x07, + 0x04, 0x08, 0x04, 0x09, 0x04, 0x0a, 0x04, 0x0b, 0x04, 0x0c, 0x04, + 0x0d, 0x04, 0x0e, 0x04, 0x0f, 0x04, 0x10, 0x04, 0x11, 0x04, 0x12, + 0x04, 0x13, 0x04, 0x14, 0x04, 0x15, 0x04, 0x16, 0x04, 0x17, 0x04, + 0x18, 0x04, 0x19, 0x04, 0x1a, 0x04, 0x1b, 0x04, 0x1c, 0x04, 0x1d, + 0x04, 0x1e, 0x04, 0x1f, 0x04, 0x20, 0x04, 0x21, 0x04, 0x22, 0x04, + 0x23, 0x04, 0x24, 0x04, 0x25, 0x04, 0x26, 0x04, 0x27, 0x04, 0x28, + 0x04, 0x29, 0x04, 0x2a, 0x04, 0x2b, 0x04, 0x2c, 0x04, 0x2d, 0x04, + 0x2e, 0x04, 0x2f, 0x04, 0x30, 0x04, 0x31, 0x04, 0x32, 0x04, 0x33, + 0x04, 0x34, 0x04, 0x35, 0x04, 0x36, 0x04, 0x37, 0x04, 0x38, 0x04, + 0x39, 0x04, 0x3a, 0x04, 0x3b, 0x04, 0x3c, 0x04, 0x3d, 0x04, 0x3e, + 0x04, 0x3f, 0x04, 0x40, 0x04, 0x41, 0x04, 0x42, 0x04, 0x43, 0x04, + 0x44, 0x04, 0x45, 0x04, 0x46, 0x04, 0x47, 0x04, 0x48, 0x04, 0x49, + 0x04, 0x4a, 0x04, 0x4b, 0x04, 0x4c, 0x04, 0x4d, 0x04, 0x4e, 0x04, + 0x4f, 0x04, 0x50, 0x04, 0x51, 0x04, 0x52, 0x04, 0x53, 0x04, 0x54, + 0x04, 0x55, 0x04, 0x56, 0x04, 0x57, 0x04, 0x58, 0x04, 0x59, 0x04, + 0x5a, 0x04, 0x5b, 0x04, 0x5c, 0x04, 0x5d, 0x04, 0x5e, 0x04, 0x5f, + 0x04, 0x60, 0x04, 0x61, 0x04, 0x62, 0x04, 0x63, 0x04, 0x64, 0x04, + 0x65, 0x04, 0x66, 0x04, 0x67, 0x04, 0x68, 0x04, 0x69, 0x04, 0x6a, + 0x04, 0x6b, 0x04, 0x6c, 0x04, 0x6d, 0x04, 0x6e, 0x04, 0x6f, 0x04, + 0x70, 0x04, 0x71, 0x04, 0x72, 0x04, 0x73, 0x04, 0x74, 0x04, 0x75, + 0x04, 0x76, 0x04, 0x77, 0x04, 0x78, 0x04, 0x79, 0x04, 0x7a, 0x04, + 0x7b, 0x04, 0x7c, 0x04, 0x7d, 0x04, 0x7e, 0x04, 0x7f, 0x04, 0x80, + 0x04, 0x81, 0x04, 0x82, 0x04, 0x83, 0x04, 0x84, 0x04, 0x85, 0x04, + 0x86, 0x04, 0x87, 0x04, 0x88, 0x04, 0x89, 0x04, 0x8a, 0x04, 0x8b, + 0x04, 0x8c, 0x04, 0x8d, 0x04, 0x8e, 0x04, 0x8f, 0x04, 0x90, 0x04, + 0x91, 0x04, 0x92, 0x04, 0x93, 0x04, 0x94, 0x04, 0x95, 0x04, 0x96, + 0x04, 0x97, 0x04, 0x98, 0x04, 0x99, 0x04, 0x9a, 0x04, 0x9b, 0x04, + 0x9c, 0x04, 0x9d, 0x04, 0x9e, 0x04, 0x9f, 0x04, 0xa0, 0x04, 0xa1, + 0x04, 0xa2, 0x04, 0xa3, 0x04, 0xa4, 0x04, 0xa5, 0x04, 0xa6, 0x04, + 0xa7, 0x04, 0xa8, 0x04, 0xa9, 0x04, 0xaa, 0x04, 0xab, 0x04, 0xac, + 0x04, 0xad, 0x04, 0xae, 0x04, 0xaf, 0x04, 0xb0, 0x04, 0xb1, 0x04, + 0xb2, 0x04, 0xb3, 0x04, 0xb4, 0x04, 0xb5, 0x04, 0xb6, 0x04, 0xb7, + 0x04, 0xb8, 0x04, 0xb9, 0x04, 0xba, 0x04, 0xbb, 0x04, 0xbc, 0x04, + 0xbd, 0x04, 0xbe, 0x04, 0xbf, 0x04, 0xc0, 0x04, 0xc1, 0x04, 0xc2, + 0x04, 0xc3, 0x04, 0xc4, 0x04, 0xc5, 0x04, 0xc6, 0x04, 0xc7, 0x04, + 0xc8, 0x04, 0xc9, 0x04, 0xca, 0x04, 0xcb, 0x04, 0xcc, 0x04, 0xcd, + 0x04, 0xce, 0x04, 0xcf, 0x04, 0xd0, 0x04, 0xd1, 0x04, 0xd2, 0x04, + 0xd3, 0x04, 0xd4, 0x04, 0xd5, 0x04, 0xd6, 0x04, 0xd7, 0x04, 0xd8, + 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, + 0xde, 0x04, 0xdf, 0x04, 0xe0, 0x04, 0xe1, 0x04, 0xe2, 0x04, 0xe3, + 0x04, 0xe4, 0x04, 0xe5, 0x04, 0xe6, 0x04, 0xe7, 0x04, 0xe8, 0x04, + 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, + 0x04, 0xef, 0x04, 0xf0, 0x04, 0xf1, 0x04, 0xf2, 0x04, 0xf3, 0x04, + 0xf4, 0x04, 0xf5, 0x04, 0xf6, 0x04, 0xf7, 0x04, 0xf8, 0x04, 0xf9, + 0x04, 0xfa, 0x04, 0xfb, 0x04, 0xfc, 0x04, 0xfd, 0x04, 0xfe, 0x04, + 0xff, 0x05, 0x00, 0x05, 0x01, 0x05, 0x02, 0x05, 0x03, 0x05, 0x04, + 0x05, 0x05, 0x05, 0x06, 0x05, 0x07, 0x05, 0x08, 0x05, 0x09, 0x05, + 0x0a, 0x05, 0x0b, 0x05, 0x0c, 0x05, 0x0d, 0x05, 0x0e, 0x05, 0x0f, + 0x05, 0x10, 0x05, 0x11, 0x05, 0x12, 0x05, 0x13, 0x05, 0x14, 0x05, + 0x15, 0x05, 0x16, 0x05, 0x17, 0x05, 0x18, 0x05, 0x19, 0x05, 0x1a, + 0x05, 0x1b, 0x05, 0x1c, 0x05, 0x1d, 0x05, 0x1e, 0x05, 0x1f, 0x05, + 0x20, 0x05, 0x21, 0x05, 0x22, 0x05, 0x23, 0x05, 0x24, 0x05, 0x25, + 0x05, 0x26, 0x05, 0x27, 0x05, 0x28, 0x05, 0x29, 0x05, 0x2a, 0x05, + 0x2b, 0x05, 0x2c, 0x05, 0x2d, 0x05, 0x2e, 0x05, 0x2f, 0x05, 0x30, + 0x05, 0x31, 0x05, 0x32, 0x05, 0x33, 0x05, 0x34, 0x05, 0x35, 0x05, + 0x36, 0x05, 0x37, 0x05, 0x38, 0x05, 0x39, 0x05, 0x3a, 0x05, 0x3b, + 0x05, 0x3c, 0x05, 0x3d, 0x05, 0x3e, 0x05, 0x3f, 0x05, 0x40, 0x05, + 0x41, 0x05, 0x42, 0x05, 0x43, 0x05, 0x44, 0x05, 0x45, 0x05, 0x46, + 0x05, 0x47, 0x05, 0x48, 0x05, 0x49, 0x05, 0x4a, 0x05, 0x4b, 0x05, + 0x4c, 0x05, 0x4d, 0x05, 0x4e, 0x05, 0x4f, 0x05, 0x50, 0x05, 0x51, + 0x05, 0x52, 0x05, 0x53, 0x05, 0x54, 0x05, 0x55, 0x05, 0x56, 0x05, + 0x57, 0x05, 0x58, 0x05, 0x59, 0x05, 0x5a, 0x05, 0x5b, 0x05, 0x5c, + 0x05, 0x5d, 0x05, 0x5e, 0x05, 0x5f, 0x05, 0x60, 0x05, 0x61, 0x05, + 0x62, 0x05, 0x63, 0x05, 0x64, 0x05, 0x65, 0x05, 0x66, 0x05, 0x67, + 0x05, 0x68, 0x05, 0x69, 0x05, 0x6a, 0x05, 0x6b, 0x05, 0x6c, 0x05, + 0x6d, 0x05, 0x6e, 0x05, 0x6f, 0x05, 0x70, 0x05, 0x71, 0x05, 0x72, + 0x05, 0x73, 0x05, 0x74, 0x05, 0x75, 0x05, 0x76, 0x05, 0x77, 0x05, + 0x78, 0x05, 0x79, 0x05, 0x7a, 0x05, 0x7b, 0x05, 0x7c, 0x05, 0x7d, + 0x05, 0x7e, 0x05, 0x7f, 0x05, 0x80, 0x05, 0x81, 0x05, 0x82, 0x05, + 0x83, 0x05, 0x84, 0x05, 0x85, 0x05, 0x86, 0x05, 0x87, 0x05, 0x88, + 0x05, 0x89, 0x05, 0x8a, 0x05, 0x8b, 0x05, 0x8c, 0x05, 0x8d, 0x05, + 0x8e, 0x05, 0x8f, 0x05, 0x90, 0x05, 0x91, 0x05, 0x92, 0x05, 0x93, + 0x05, 0x94, 0x05, 0x95, 0x05, 0x96, 0x05, 0x97, 0x05, 0x98, 0x05, + 0x99, 0x05, 0x9a, 0x05, 0x9b, 0x05, 0x9c, 0x05, 0x9d, 0x05, 0x9e, + 0x05, 0x9f, 0x05, 0xa0, 0x05, 0xa1, 0x05, 0xa2, 0x05, 0xa3, 0x05, + 0xa4, 0x05, 0xa5, 0x05, 0xa6, 0x05, 0xa7, 0x05, 0xa8, 0x05, 0xa9, + 0x05, 0xaa, 0x05, 0xab, 0x05, 0xac, 0x05, 0xad, 0x05, 0xae, 0x05, + 0xaf, 0x05, 0xb0, 0x05, 0xb1, 0x05, 0xb2, 0x05, 0xb3, 0x05, 0xb4, + 0x05, 0xb5, 0x05, 0xb6, 0x05, 0xb7, 0x05, 0xb8, 0x05, 0xb9, 0x05, + 0xba, 0x05, 0xbb, 0x05, 0xbc, 0x05, 0xbd, 0x05, 0xbe, 0x05, 0xbf, + 0x05, 0xc0, 0x05, 0xc1, 0x05, 0xc2, 0x05, 0xc3, 0x05, 0xc4, 0x05, + 0xc5, 0x05, 0xc6, 0x05, 0xc7, 0x05, 0xc8, 0x05, 0xc9, 0x05, 0xca, + 0x05, 0xcb, 0x05, 0xcc, 0x05, 0xcd, 0x05, 0xce, 0x05, 0xcf, 0x05, + 0xd0, 0x05, 0xd1, 0x05, 0xd2, 0x05, 0xd3, 0x05, 0xd4, 0x05, 0xd5, + 0x05, 0xd6, 0x05, 0xd7, 0x05, 0xd8, 0x05, 0xd9, 0x05, 0xda, 0x05, + 0xdb, 0x05, 0xdc, 0x05, 0xdd, 0x05, 0xde, 0x05, 0xdf, 0x05, 0xe0, + 0x05, 0xe1, 0x05, 0xe2, 0x05, 0xe3, 0x05, 0xe4, 0x05, 0xe5, 0x05, + 0xe6, 0x05, 0xe7, 0x05, 0xe8, 0x05, 0xe9, 0x05, 0xea, 0x05, 0xeb, + 0x05, 0xec, 0x05, 0xed, 0x05, 0xee, 0x05, 0xef, 0x05, 0xf0, 0x05, + 0xf1, 0x05, 0xf2, 0x05, 0xf3, 0x05, 0xf4, 0x05, 0xf5, 0x05, 0xf6, + 0x05, 0xf7, 0x05, 0xf8, 0x05, 0xf9, 0x05, 0xfa, 0x05, 0xfb, 0x05, + 0xfc, 0x05, 0xfd, 0x05, 0xfe, 0x05, 0xff, 0x06, 0x00, 0x06, 0x01, + 0x06, 0x02, 0x06, 0x03, 0x06, 0x04, 0x06, 0x05, 0x06, 0x06, 0x06, + 0x07, 0x06, 0x08, 0x06, 0x09, 0x06, 0x0a, 0x06, 0x0b, 0x06, 0x0c, + 0x06, 0x0d, 0x06, 0x0e, 0x06, 0x0f, 0x06, 0x10, 0x06, 0x11, 0x06, + 0x12, 0x06, 0x13, 0x06, 0x14, 0x06, 0x15, 0x06, 0x16, 0x06, 0x17, + 0x06, 0x18, 0x06, 0x19, 0x06, 0x1a, 0x06, 0x1b, 0x06, 0x1c, 0x06, + 0x1d, 0x06, 0x1e, 0x06, 0x1f, 0x06, 0x20, 0x06, 0x21, 0x06, 0x22, + 0x06, 0x23, 0x06, 0x24, 0x06, 0x25, 0x06, 0x26, 0x06, 0x27, 0x06, + 0x28, 0x06, 0x29, 0x06, 0x2a, 0x06, 0x2b, 0x06, 0x2c, 0x06, 0x2d, + 0x06, 0x2e, 0x06, 0x2f, 0x06, 0x30, 0x06, 0x31, 0x06, 0x32, 0x06, + 0x33, 0x06, 0x34, 0x06, 0x35, 0x06, 0x36, 0x06, 0x37, 0x06, 0x38, + 0x06, 0x39, 0x06, 0x3a, 0x06, 0x3b, 0x06, 0x3c, 0x06, 0x3d, 0x06, + 0x3e, 0x06, 0x3f, 0x06, 0x40, 0x06, 0x41, 0x06, 0x42, 0x06, 0x43, + 0x06, 0x44, 0x06, 0x45, 0x06, 0x46, 0x06, 0x47, 0x06, 0x48, 0x06, + 0x49, 0x06, 0x4a, 0x06, 0x4b, 0x06, 0x4c, 0x06, 0x4d, 0x06, 0x4e, + 0x06, 0x4f, 0x06, 0x50, 0x06, 0x51, 0x06, 0x52, 0x06, 0x53, 0x06, + 0x54, 0x06, 0x55, 0x06, 0x56, 0x06, 0x57, 0x06, 0x58, 0x06, 0x59, + 0x06, 0x5a, 0x06, 0x5b, 0x06, 0x5c, 0x06, 0x5d, 0x06, 0x5e, 0x06, + 0x5f, 0x06, 0x60, 0x06, 0x61, 0x06, 0x62, 0x06, 0x63, 0x06, 0x64, + 0x06, 0x65, 0x06, 0x66, 0x06, 0x67, 0x06, 0x68, 0x06, 0x69, 0x06, + 0x6a, 0x06, 0x6b, 0x06, 0x6c, 0x06, 0x6d, 0x06, 0x6e, 0x06, 0x6f, + 0x06, 0x70, 0x06, 0x71, 0x06, 0x72, 0x06, 0x73, 0x06, 0x74, 0x06, + 0x75, 0x06, 0x76, 0x06, 0x77, 0x06, 0x78, 0x06, 0x79, 0x06, 0x7a, + 0x06, 0x7b, 0x06, 0x7c, 0x06, 0x7d, 0x06, 0x7e, 0x06, 0x7f, 0x06, + 0x80, 0x06, 0x81, 0x06, 0x82, 0x06, 0x83, 0x06, 0x84, 0x06, 0x85, + 0x06, 0x86, 0x06, 0x87, 0x06, 0x88, 0x06, 0x89, 0x06, 0x8a, 0x06, + 0x8b, 0x06, 0x8c, 0x06, 0x8d, 0x06, 0x8e, 0x06, 0x8f, 0x06, 0x90, + 0x06, 0x91, 0x06, 0x92, 0x06, 0x93, 0x06, 0x94, 0x06, 0x95, 0x06, + 0x96, 0x06, 0x97, 0x06, 0x98, 0x06, 0x99, 0x06, 0x9a, 0x06, 0x9b, + 0x06, 0x9c, 0x06, 0x9d, 0x06, 0x9e, 0x06, 0x9f, 0x06, 0xa0, 0x06, + 0xa1, 0x06, 0xa2, 0x06, 0xa3, 0x06, 0xa4, 0x06, 0xa5, 0x06, 0xa6, + 0x06, 0xa7, 0x06, 0xa8, 0x06, 0xa9, 0x06, 0xaa, 0x06, 0xab, 0x06, + 0xac, 0x06, 0xad, 0x06, 0xae, 0x06, 0xaf, 0x06, 0xb0, 0x06, 0xb1, + 0x06, 0xb2, 0x06, 0xb3, 0x06, 0xb4, 0x06, 0xb5, 0x06, 0xb6, 0x06, + 0xb7, 0x06, 0xb8, 0x06, 0xb9, 0x06, 0xba, 0x06, 0xbb, 0x06, 0xbc, + 0x06, 0xbd, 0x06, 0xbe, 0x06, 0xbf, 0x06, 0xc0, 0x06, 0xc1, 0x06, + 0xc2, 0x06, 0xc3, 0x06, 0xc4, 0x06, 0xc5, 0x06, 0xc6, 0x06, 0xc7, + 0x06, 0xc8, 0x06, 0xc9, 0x06, 0xca, 0x06, 0xcb, 0x06, 0xcc, 0x06, + 0xcd, 0x06, 0xce, 0x06, 0xcf, 0x06, 0xd0, 0x06, 0xd1, 0x06, 0xd2, + 0x06, 0xd3, 0x06, 0xd4, 0x06, 0xd5, 0x06, 0xd6, 0x06, 0xd7, 0x06, + 0xd8, 0x06, 0xd9, 0x06, 0xda, 0x06, 0xdb, 0x06, 0xdc, 0x06, 0xdd, + 0x06, 0xde, 0x06, 0xdf, 0x06, 0xe0, 0x06, 0xe1, 0x06, 0xe2, 0x06, + 0xe3, 0x06, 0xe4, 0x06, 0xe5, 0x06, 0xe6, 0x06, 0xe7, 0x06, 0xe8, + 0x06, 0xe9, 0x06, 0xea, 0x06, 0xeb, 0x06, 0xec, 0x06, 0xed, 0x06, + 0xee, 0x06, 0xef, 0x06, 0xf0, 0x06, 0xf1, 0x06, 0xf2, 0x06, 0xf3, + 0x06, 0xf4, 0x06, 0xf5, 0x06, 0xf6, 0x06, 0xf7, 0x06, 0xf8, 0x06, + 0xf9, 0x06, 0xfa, 0x06, 0xfb, 0x06, 0xfc, 0x06, 0xfd, 0x06, 0xfe, + 0x06, 0xff, 0x07, 0x00, 0x07, 0x01, 0x07, 0x02, 0x07, 0x03, 0x07, + 0x04, 0x07, 0x05, 0x07, 0x06, 0x07, 0x07, 0x07, 0x08, 0x07, 0x09, + 0x07, 0x0a, 0x07, 0x0b, 0x07, 0x0c, 0x07, 0x0d, 0x07, 0x0e, 0x07, + 0x0f, 0x07, 0x10, 0x07, 0x11, 0x07, 0x12, 0x07, 0x13, 0x07, 0x14, + 0x07, 0x15, 0x07, 0x16, 0x07, 0x17, 0x07, 0x18, 0x07, 0x19, 0x07, + 0x1a, 0x07, 0x1b, 0x07, 0x1c, 0x07, 0x1d, 0x07, 0x1e, 0x07, 0x1f, + 0x07, 0x20, 0x07, 0x21, 0x07, 0x22, 0x07, 0x23, 0x07, 0x24, 0x07, + 0x25, 0x07, 0x26, 0x07, 0x27, 0x07, 0x28, 0x07, 0x29, 0x07, 0x2a, + 0x07, 0x2b, 0x07, 0x2c, 0x07, 0x2d, 0x07, 0x2e, 0x07, 0x2f, 0x07, + 0x30, 0x07, 0x31, 0x07, 0x32, 0x07, 0x33, 0x07, 0x34, 0x07, 0x35, + 0x07, 0x36, 0x07, 0x37, 0x07, 0x38, 0x07, 0x39, 0x07, 0x3a, 0x07, + 0x3b, 0x07, 0x3c, 0x07, 0x3d, 0x07, 0x3e, 0x07, 0x3f, 0x07, 0x40, + 0x07, 0x41, 0x07, 0x42, 0x07, 0x43, 0x07, 0x44, 0x07, 0x45, 0x07, + 0x46, 0x07, 0x47, 0x07, 0x48, 0x07, 0x49, 0x07, 0x4a, 0x07, 0x4b, + 0x07, 0x4c, 0x07, 0x4d, 0x07, 0x4e, 0x07, 0x4f, 0x07, 0x50, 0x07, + 0x51, 0x07, 0x52, 0x07, 0x53, 0x07, 0x54, 0x07, 0x55, 0x07, 0x56, + 0x07, 0x57, 0x07, 0x58, 0x07, 0x59, 0x07, 0x5a, 0x07, 0x5b, 0x07, + 0x5c, 0x07, 0x5d, 0x07, 0x5e, 0x07, 0x5f, 0x07, 0x60, 0x07, 0x61, + 0x07, 0x62, 0x07, 0x63, 0x07, 0x64, 0x07, 0x65, 0x07, 0x66, 0x07, + 0x67, 0x07, 0x68, 0x07, 0x69, 0x07, 0x6a, 0x07, 0x6b, 0x07, 0x6c, + 0x07, 0x6d, 0x07, 0x6e, 0x07, 0x6f, 0x07, 0x70, 0x07, 0x71, 0x07, + 0x72, 0x07, 0x73, 0x07, 0x74, 0x07, 0x75, 0x07, 0x76, 0x07, 0x77, + 0x07, 0x78, 0x07, 0x79, 0x07, 0x7a, 0x07, 0x7b, 0x07, 0x7c, 0x07, + 0x7d, 0x07, 0x7e, 0x07, 0x7f, 0x07, 0x80, 0x07, 0x81, 0x07, 0x82, + 0x07, 0x83, 0x07, 0x84, 0x07, 0x85, 0x07, 0x86, 0x07, 0x87, 0x07, + 0x88, 0x07, 0x89, 0x07, 0x8a, 0x07, 0x8b, 0x07, 0x8c, 0x07, 0x8d, + 0x07, 0x8e, 0x07, 0x8f, 0x07, 0x90, 0x07, 0x91, 0x07, 0x92, 0x07, + 0x93, 0x07, 0x94, 0x07, 0x95, 0x07, 0x96, 0x07, 0x97, 0x07, 0x98, + 0x07, 0x99, 0x07, 0x9a, 0x07, 0x9b, 0x07, 0x9c, 0x07, 0x9d, 0x07, + 0x9e, 0x07, 0x9f, 0x07, 0xa0, 0x07, 0xa1, 0x07, 0xa2, 0x07, 0xa3, + 0x07, 0xa4, 0x07, 0xa5, 0x07, 0xa6, 0x07, 0xa7, 0x07, 0xa8, 0x07, + 0xa9, 0x07, 0xaa, 0x07, 0xab, 0x07, 0xac, 0x07, 0xad, 0x07, 0xae, + 0x07, 0xaf, 0x07, 0xb0, 0x07, 0xb1, 0x07, 0xb2, 0x07, 0xb3, 0x07, + 0xb4, 0x07, 0xb5, 0x07, 0xb6, 0x07, 0xb7, 0x07, 0xb8, 0x07, 0xb9, + 0x07, 0xba, 0x07, 0xbb, 0x07, 0xbc, 0x07, 0xbd, 0x07, 0xbe, 0x07, + 0xbf, 0x07, 0xc0, 0x07, 0xc1, 0x07, 0xc2, 0x07, 0xc3, 0x07, 0xc4, + 0x07, 0xc5, 0x07, 0xc6, 0x07, 0xc7, 0x07, 0xc8, 0x07, 0xc9, 0x07, + 0xca, 0x07, 0xcb, 0x07, 0xcc, 0x07, 0xcd, 0x07, 0xce, 0x07, 0xcf, + 0x07, 0xd0, 0x07, 0xd1, 0x07, 0xd2, 0x07, 0xd3, 0x07, 0xd4, 0x07, + 0xd5, 0x07, 0xd6, 0x07, 0xd7, 0x07, 0xd8, 0x07, 0xd9, 0x07, 0xda, + 0x07, 0xdb, 0x07, 0xdc, 0x07, 0xdd, 0x07, 0xde, 0x07, 0xdf, 0x07, + 0xe0, 0x07, 0xe1, 0x07, 0xe2, 0x07, 0xe3, 0x07, 0xe4, 0x07, 0xe5, + 0x07, 0xe6, 0x07, 0xe7, 0x07, 0xe8, 0x07, 0xe9, 0x07, 0xea, 0x07, + 0xeb, 0x07, 0xec, 0x07, 0xed, 0x07, 0xee, 0x07, 0xef, 0x07, 0xf0, + 0x07, 0xf1, 0x07, 0xf2, 0x07, 0xf3, 0x07, 0xf4, 0x07, 0xf5, 0x07, + 0xf6, 0x00, 0xb2, 0x00, 0xb3, 0x07, 0xf7, 0x07, 0xf8, 0x00, 0xb6, + 0x00, 0xb7, 0x00, 0xc4, 0x07, 0xf9, 0x00, 0xb4, 0x00, 0xb5, 0x00, + 0xc5, 0x07, 0xfa, 0x00, 0x82, 0x00, 0xc2, 0x00, 0x87, 0x00, 0xab, + 0x07, 0xfb, 0x07, 0xfc, 0x07, 0xfd, 0x07, 0xfe, 0x07, 0xff, 0x00, + 0xc6, 0x08, 0x00, 0x08, 0x01, 0x08, 0x02, 0x00, 0xbe, 0x00, 0xbf, + 0x08, 0x03, 0x08, 0x04, 0x00, 0xbc, 0x08, 0x05, 0x08, 0x06, 0x08, + 0x07, 0x08, 0x08, 0x08, 0x09, 0x08, 0x0a, 0x08, 0x0b, 0x08, 0x0c, + 0x08, 0x0d, 0x08, 0x0e, 0x08, 0x0f, 0x08, 0x10, 0x08, 0x11, 0x08, + 0x12, 0x08, 0x13, 0x08, 0x14, 0x08, 0x15, 0x08, 0x16, 0x08, 0x17, + 0x08, 0x18, 0x08, 0x19, 0x08, 0x1a, 0x08, 0x1b, 0x08, 0x1c, 0x08, + 0x1d, 0x08, 0x1e, 0x08, 0x1f, 0x08, 0x20, 0x08, 0x21, 0x08, 0x22, + 0x08, 0x23, 0x08, 0x24, 0x00, 0xf7, 0x08, 0x25, 0x08, 0x26, 0x08, + 0x27, 0x08, 0x28, 0x08, 0x29, 0x08, 0x2a, 0x08, 0x2b, 0x08, 0x2c, + 0x08, 0x2d, 0x08, 0x2e, 0x08, 0x2f, 0x08, 0x30, 0x08, 0x31, 0x08, + 0x32, 0x08, 0x33, 0x08, 0x34, 0x08, 0x35, 0x08, 0x36, 0x08, 0x37, + 0x08, 0x38, 0x08, 0x39, 0x08, 0x3a, 0x08, 0x3b, 0x08, 0x3c, 0x00, + 0x8c, 0x08, 0x3d, 0x08, 0x3e, 0x08, 0x3f, 0x08, 0x40, 0x08, 0x41, + 0x08, 0x42, 0x08, 0x43, 0x08, 0x44, 0x08, 0x45, 0x08, 0x46, 0x08, + 0x47, 0x08, 0x48, 0x08, 0x49, 0x08, 0x4a, 0x08, 0x4b, 0x08, 0x4c, + 0x08, 0x4d, 0x08, 0x4e, 0x08, 0x4f, 0x00, 0x98, 0x00, 0xa8, 0x00, + 0x9a, 0x00, 0x99, 0x00, 0xef, 0x08, 0x50, 0x08, 0x51, 0x00, 0xa5, + 0x00, 0x92, 0x08, 0x52, 0x08, 0x53, 0x00, 0x9c, 0x00, 0xa7, 0x00, + 0x8f, 0x08, 0x54, 0x08, 0x55, 0x00, 0x94, 0x00, 0x95, 0x08, 0x56, + 0x08, 0x57, 0x08, 0x58, 0x08, 0x59, 0x08, 0x5a, 0x08, 0x5b, 0x08, + 0x5c, 0x08, 0x5d, 0x08, 0x5e, 0x08, 0x5f, 0x08, 0x60, 0x08, 0x61, + 0x08, 0x62, 0x08, 0x63, 0x08, 0x64, 0x08, 0x65, 0x08, 0x66, 0x08, + 0x67, 0x08, 0x68, 0x08, 0x69, 0x08, 0x6a, 0x08, 0x6b, 0x08, 0x6c, + 0x08, 0x6d, 0x08, 0x6e, 0x08, 0x6f, 0x08, 0x70, 0x08, 0x71, 0x08, + 0x72, 0x08, 0x73, 0x08, 0x74, 0x08, 0x75, 0x08, 0x76, 0x08, 0x77, + 0x08, 0x78, 0x08, 0x79, 0x08, 0x7a, 0x08, 0x7b, 0x08, 0x7c, 0x08, + 0x7d, 0x08, 0x7e, 0x08, 0x7f, 0x08, 0x80, 0x08, 0x81, 0x08, 0x82, + 0x08, 0x83, 0x08, 0x84, 0x08, 0x85, 0x08, 0x86, 0x08, 0x87, 0x08, + 0x88, 0x08, 0x89, 0x08, 0x8a, 0x08, 0x8b, 0x08, 0x8c, 0x08, 0x8d, + 0x08, 0x8e, 0x08, 0x8f, 0x08, 0x90, 0x08, 0x91, 0x08, 0x92, 0x00, + 0xb9, 0x08, 0x93, 0x08, 0x94, 0x08, 0x95, 0x08, 0x96, 0x08, 0x97, + 0x08, 0x98, 0x08, 0x99, 0x08, 0x9a, 0x08, 0x9b, 0x08, 0x9c, 0x08, + 0x9d, 0x08, 0x9e, 0x08, 0x9f, 0x08, 0xa0, 0x08, 0xa1, 0x08, 0xa2, + 0x08, 0xa3, 0x08, 0xa4, 0x08, 0xa5, 0x08, 0xa6, 0x08, 0xa7, 0x08, + 0xa8, 0x08, 0xa9, 0x08, 0xaa, 0x08, 0xab, 0x08, 0xac, 0x08, 0xad, + 0x08, 0xae, 0x08, 0xaf, 0x08, 0xb0, 0x08, 0xb1, 0x08, 0xb2, 0x08, + 0xb3, 0x08, 0xb4, 0x08, 0xb5, 0x08, 0xb6, 0x08, 0xb7, 0x08, 0xb8, + 0x08, 0xb9, 0x08, 0xba, 0x08, 0xbb, 0x08, 0xbc, 0x08, 0xbd, 0x08, + 0xbe, 0x08, 0xbf, 0x08, 0xc0, 0x08, 0xc1, 0x08, 0xc2, 0x08, 0xc3, + 0x08, 0xc4, 0x08, 0xc5, 0x08, 0xc6, 0x08, 0xc7, 0x08, 0xc8, 0x08, + 0xc9, 0x08, 0xca, 0x08, 0xcb, 0x08, 0xcc, 0x08, 0xcd, 0x08, 0xce, + 0x08, 0xcf, 0x08, 0xd0, 0x08, 0xd1, 0x08, 0xd2, 0x08, 0xd3, 0x08, + 0xd4, 0x00, 0xc0, 0x00, 0xc1, 0x08, 0xd5, 0x08, 0xd6, 0x08, 0xd7, + 0x08, 0xd8, 0x08, 0xd9, 0x08, 0xda, 0x08, 0xdb, 0x08, 0xdc, 0x08, + 0xdd, 0x08, 0xde, 0x08, 0xdf, 0x08, 0xe0, 0x08, 0xe1, 0x08, 0xe2, + 0x08, 0xe3, 0x08, 0xe4, 0x08, 0xe5, 0x08, 0xe6, 0x08, 0xe7, 0x08, + 0xe8, 0x08, 0xe9, 0x08, 0xea, 0x08, 0xeb, 0x08, 0xec, 0x08, 0xed, + 0x08, 0xee, 0x08, 0xef, 0x08, 0xf0, 0x08, 0xf1, 0x08, 0xf2, 0x08, + 0xf3, 0x08, 0xf4, 0x08, 0xf5, 0x08, 0xf6, 0x08, 0xf7, 0x08, 0xf8, + 0x08, 0xf9, 0x08, 0xfa, 0x08, 0xfb, 0x08, 0xfc, 0x08, 0xfd, 0x08, + 0xfe, 0x08, 0xff, 0x09, 0x00, 0x09, 0x01, 0x09, 0x02, 0x09, 0x03, + 0x09, 0x04, 0x09, 0x05, 0x09, 0x06, 0x09, 0x07, 0x09, 0x08, 0x09, + 0x09, 0x09, 0x0a, 0x09, 0x0b, 0x09, 0x0c, 0x09, 0x0d, 0x09, 0x0e, + 0x09, 0x0f, 0x09, 0x10, 0x09, 0x11, 0x09, 0x12, 0x09, 0x13, 0x09, + 0x14, 0x09, 0x15, 0x09, 0x16, 0x09, 0x17, 0x09, 0x18, 0x09, 0x19, + 0x09, 0x1a, 0x09, 0x1b, 0x09, 0x1c, 0x09, 0x1d, 0x09, 0x1e, 0x09, + 0x1f, 0x09, 0x20, 0x09, 0x21, 0x09, 0x22, 0x09, 0x23, 0x09, 0x24, + 0x09, 0x25, 0x09, 0x26, 0x09, 0x27, 0x09, 0x28, 0x09, 0x29, 0x09, + 0x2a, 0x09, 0x2b, 0x09, 0x2c, 0x09, 0x2d, 0x09, 0x2e, 0x09, 0x2f, + 0x09, 0x30, 0x09, 0x31, 0x09, 0x32, 0x09, 0x33, 0x09, 0x34, 0x09, + 0x35, 0x09, 0x36, 0x09, 0x37, 0x09, 0x38, 0x09, 0x39, 0x09, 0x3a, + 0x09, 0x3b, 0x09, 0x3c, 0x09, 0x3d, 0x09, 0x3e, 0x09, 0x3f, 0x09, + 0x40, 0x09, 0x41, 0x09, 0x42, 0x09, 0x43, 0x09, 0x44, 0x09, 0x45, + 0x09, 0x46, 0x09, 0x47, 0x09, 0x48, 0x09, 0x49, 0x09, 0x4a, 0x09, + 0x4b, 0x09, 0x4c, 0x09, 0x4d, 0x09, 0x4e, 0x09, 0x4f, 0x09, 0x50, + 0x09, 0x51, 0x09, 0x52, 0x09, 0x53, 0x09, 0x54, 0x09, 0x55, 0x09, + 0x56, 0x09, 0x57, 0x09, 0x58, 0x09, 0x59, 0x09, 0x5a, 0x09, 0x5b, + 0x09, 0x5c, 0x09, 0x5d, 0x09, 0x5e, 0x09, 0x5f, 0x09, 0x60, 0x09, + 0x61, 0x09, 0x62, 0x09, 0x63, 0x09, 0x64, 0x09, 0x65, 0x09, 0x66, + 0x09, 0x67, 0x09, 0x68, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, + 0x6c, 0x09, 0x6d, 0x09, 0x6e, 0x09, 0x6f, 0x09, 0x70, 0x09, 0x71, + 0x09, 0x72, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x09, 0x76, 0x09, + 0x77, 0x09, 0x78, 0x09, 0x79, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x41, 0x44, 0x07, + 0x41, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x61, 0x6d, 0x61, + 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x41, 0x62, 0x72, 0x65, 0x76, 0x65, + 0x06, 0x61, 0x62, 0x72, 0x65, 0x76, 0x65, 0x07, 0x41, 0x6f, 0x67, + 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x61, 0x6f, 0x67, 0x6f, 0x6e, 0x65, + 0x6b, 0x0b, 0x43, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, + 0x65, 0x78, 0x0b, 0x63, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, + 0x6c, 0x65, 0x78, 0x0a, 0x43, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, + 0x65, 0x6e, 0x74, 0x0a, 0x63, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, + 0x65, 0x6e, 0x74, 0x06, 0x44, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, + 0x64, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x44, 0x63, 0x72, 0x6f, + 0x61, 0x74, 0x07, 0x45, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, + 0x65, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x45, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x06, 0x65, 0x62, 0x72, 0x65, 0x76, 0x65, 0x0a, + 0x45, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0a, + 0x65, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x07, + 0x45, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x65, 0x6f, 0x67, + 0x6f, 0x6e, 0x65, 0x6b, 0x06, 0x45, 0x63, 0x61, 0x72, 0x6f, 0x6e, + 0x06, 0x65, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x0b, 0x47, 0x63, 0x69, + 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0b, 0x67, 0x63, + 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0a, 0x47, + 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0a, 0x67, + 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x47, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, + 0x0c, 0x67, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, + 0x6e, 0x74, 0x0b, 0x48, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, + 0x6c, 0x65, 0x78, 0x0b, 0x68, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, + 0x66, 0x6c, 0x65, 0x78, 0x04, 0x48, 0x62, 0x61, 0x72, 0x04, 0x68, + 0x62, 0x61, 0x72, 0x06, 0x49, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x06, + 0x69, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x07, 0x49, 0x6d, 0x61, 0x63, + 0x72, 0x6f, 0x6e, 0x07, 0x69, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, + 0x06, 0x49, 0x62, 0x72, 0x65, 0x76, 0x65, 0x06, 0x69, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x07, 0x49, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, + 0x07, 0x69, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x02, 0x49, 0x4a, + 0x02, 0x69, 0x6a, 0x0b, 0x4a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, + 0x66, 0x6c, 0x65, 0x78, 0x0b, 0x6a, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0c, 0x4b, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6b, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6b, + 0x67, 0x72, 0x65, 0x65, 0x6e, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x63, + 0x06, 0x4c, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x6c, 0x61, 0x63, + 0x75, 0x74, 0x65, 0x0c, 0x4c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, + 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6c, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 0x4c, 0x63, 0x61, + 0x72, 0x6f, 0x6e, 0x06, 0x6c, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x04, + 0x4c, 0x64, 0x6f, 0x74, 0x04, 0x6c, 0x64, 0x6f, 0x74, 0x06, 0x4e, + 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x6e, 0x61, 0x63, 0x75, 0x74, + 0x65, 0x0c, 0x4e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, + 0x65, 0x6e, 0x74, 0x0c, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, + 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 0x4e, 0x63, 0x61, 0x72, 0x6f, + 0x6e, 0x06, 0x6e, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x0b, 0x6e, 0x61, + 0x70, 0x6f, 0x73, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x03, 0x45, + 0x6e, 0x67, 0x03, 0x65, 0x6e, 0x67, 0x07, 0x4f, 0x6d, 0x61, 0x63, + 0x72, 0x6f, 0x6e, 0x07, 0x6f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, + 0x06, 0x4f, 0x62, 0x72, 0x65, 0x76, 0x65, 0x06, 0x6f, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x0d, 0x4f, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, + 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x0d, 0x6f, 0x68, 0x75, 0x6e, + 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x06, 0x52, + 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x72, 0x61, 0x63, 0x75, 0x74, + 0x65, 0x0c, 0x52, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, + 0x65, 0x6e, 0x74, 0x0c, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, + 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 0x52, 0x63, 0x61, 0x72, 0x6f, + 0x6e, 0x06, 0x72, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x53, 0x61, + 0x63, 0x75, 0x74, 0x65, 0x06, 0x73, 0x61, 0x63, 0x75, 0x74, 0x65, + 0x0b, 0x53, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x0b, 0x73, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, + 0x65, 0x78, 0x0c, 0x54, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, + 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x74, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 0x54, 0x63, 0x61, 0x72, + 0x6f, 0x6e, 0x06, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x04, 0x54, + 0x62, 0x61, 0x72, 0x04, 0x74, 0x62, 0x61, 0x72, 0x06, 0x55, 0x74, + 0x69, 0x6c, 0x64, 0x65, 0x06, 0x75, 0x74, 0x69, 0x6c, 0x64, 0x65, + 0x07, 0x55, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x75, 0x6d, + 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x55, 0x62, 0x72, 0x65, 0x76, + 0x65, 0x06, 0x75, 0x62, 0x72, 0x65, 0x76, 0x65, 0x05, 0x55, 0x72, + 0x69, 0x6e, 0x67, 0x05, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x0d, 0x55, + 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, + 0x74, 0x0d, 0x75, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, + 0x6c, 0x61, 0x75, 0x74, 0x07, 0x55, 0x6f, 0x67, 0x6f, 0x6e, 0x65, + 0x6b, 0x07, 0x75, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x0b, 0x57, + 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0b, + 0x77, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, + 0x0b, 0x59, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x0b, 0x79, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, + 0x65, 0x78, 0x06, 0x5a, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x7a, + 0x61, 0x63, 0x75, 0x74, 0x65, 0x0a, 0x5a, 0x64, 0x6f, 0x74, 0x61, + 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0a, 0x7a, 0x64, 0x6f, 0x74, 0x61, + 0x63, 0x63, 0x65, 0x6e, 0x74, 0x05, 0x6c, 0x6f, 0x6e, 0x67, 0x73, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x38, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x38, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x38, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x38, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x38, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x38, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x38, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x39, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x39, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x39, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x39, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x39, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x39, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x39, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x39, 0x46, 0x05, 0x4f, 0x68, 0x6f, 0x72, + 0x6e, 0x05, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x41, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, + 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x34, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x41, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x37, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x38, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x41, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x42, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x41, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x41, + 0x45, 0x05, 0x55, 0x68, 0x6f, 0x72, 0x6e, 0x05, 0x75, 0x68, 0x6f, + 0x72, 0x6e, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x42, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x42, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x42, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x42, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x42, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x42, + 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x43, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x43, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x43, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x43, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x43, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x43, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x43, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x43, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x44, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x44, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x44, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x44, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x44, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x44, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x44, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x45, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x45, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x45, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x45, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x45, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x45, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x45, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x45, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x31, 0x46, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, + 0x46, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x31, 0x46, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x46, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x31, 0x46, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x31, 0x46, 0x39, 0x0a, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, + 0x75, 0x74, 0x65, 0x0a, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, + 0x75, 0x74, 0x65, 0x07, 0x41, 0x45, 0x61, 0x63, 0x75, 0x74, 0x65, + 0x07, 0x61, 0x65, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x4f, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x6f, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x61, 0x63, 0x75, 0x74, 0x65, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x30, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x31, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x32, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x31, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x35, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x36, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x31, 0x37, 0x0c, 0x53, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x73, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x31, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x31, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x31, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x31, + 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x32, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x32, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x32, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x32, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x32, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x32, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x32, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x33, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x33, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x33, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x33, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x33, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x33, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x34, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x34, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x34, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x34, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x34, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x34, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, + 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x34, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x34, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x34, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x30, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x31, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x35, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x35, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x34, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x35, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x35, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, + 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x38, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x35, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x35, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x42, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x35, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x35, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x35, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x36, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x36, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x36, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x36, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x36, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x36, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x36, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x36, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x37, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x32, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x37, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x37, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x35, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x36, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x37, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, + 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x39, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x37, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x37, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x43, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x37, 0x44, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x37, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x37, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x30, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x31, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x38, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, + 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x34, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x38, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x38, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x37, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x38, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x38, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x38, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x42, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x43, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x38, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, + 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x38, 0x46, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x39, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x39, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x39, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x39, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x39, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x39, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x39, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x39, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x39, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x41, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x41, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x41, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x41, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x41, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x41, + 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x42, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x42, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x42, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x42, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x42, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x42, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x42, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x43, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x43, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x43, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x38, 0x10, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x74, 0x6f, 0x6e, 0x65, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x73, 0x65, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x43, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x43, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x44, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x44, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x44, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x44, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x45, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x45, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x45, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x45, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x45, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x45, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x45, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x45, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x46, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x46, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x32, 0x46, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, + 0x46, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x32, 0x46, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, + 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x32, 0x46, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x32, 0x46, 0x46, 0x09, 0x67, 0x72, 0x61, 0x76, 0x65, 0x63, 0x6f, + 0x6d, 0x62, 0x09, 0x61, 0x63, 0x75, 0x74, 0x65, 0x63, 0x6f, 0x6d, + 0x62, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x32, 0x09, 0x74, + 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x30, 0x38, 0x0d, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, + 0x6f, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x30, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x30, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x30, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x31, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x31, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x31, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x31, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x31, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x31, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x31, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x32, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x32, 0x0c, 0x64, + 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x63, 0x6f, 0x6d, 0x62, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x32, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x32, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x32, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x32, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x32, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x33, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x33, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x33, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x33, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x33, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x33, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x33, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x34, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x34, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x34, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x34, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x34, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x34, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x34, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x35, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x35, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x35, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x35, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x35, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x35, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x35, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x35, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x36, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x36, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x36, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x36, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, + 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x36, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x36, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x36, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x37, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x37, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x37, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x37, 0x45, 0x05, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0d, + 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x6f, 0x6e, + 0x6f, 0x73, 0x0a, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x74, 0x6f, 0x6e, + 0x6f, 0x73, 0x09, 0x61, 0x6e, 0x6f, 0x74, 0x65, 0x6c, 0x65, 0x69, + 0x61, 0x0c, 0x45, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, + 0x6e, 0x6f, 0x73, 0x08, 0x45, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, + 0x73, 0x09, 0x49, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, + 0x0c, 0x4f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, + 0x6f, 0x73, 0x0c, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, + 0x6f, 0x6e, 0x6f, 0x73, 0x0a, 0x4f, 0x6d, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x6e, 0x6f, 0x73, 0x11, 0x69, 0x6f, 0x74, 0x61, 0x64, 0x69, + 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, + 0x05, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x04, 0x42, 0x65, 0x74, 0x61, + 0x05, 0x47, 0x61, 0x6d, 0x6d, 0x61, 0x0a, 0x44, 0x65, 0x6c, 0x74, + 0x61, 0x67, 0x72, 0x65, 0x65, 0x6b, 0x07, 0x45, 0x70, 0x73, 0x69, + 0x6c, 0x6f, 0x6e, 0x04, 0x5a, 0x65, 0x74, 0x61, 0x03, 0x45, 0x74, + 0x61, 0x05, 0x54, 0x68, 0x65, 0x74, 0x61, 0x04, 0x49, 0x6f, 0x74, + 0x61, 0x05, 0x4b, 0x61, 0x70, 0x70, 0x61, 0x06, 0x4c, 0x61, 0x6d, + 0x62, 0x64, 0x61, 0x02, 0x4d, 0x75, 0x02, 0x4e, 0x75, 0x02, 0x58, + 0x69, 0x07, 0x4f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x02, 0x50, + 0x69, 0x03, 0x52, 0x68, 0x6f, 0x05, 0x53, 0x69, 0x67, 0x6d, 0x61, + 0x03, 0x54, 0x61, 0x75, 0x07, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, + 0x6e, 0x03, 0x50, 0x68, 0x69, 0x03, 0x43, 0x68, 0x69, 0x03, 0x50, + 0x73, 0x69, 0x0a, 0x4f, 0x6d, 0x65, 0x67, 0x61, 0x67, 0x72, 0x65, + 0x65, 0x6b, 0x0c, 0x49, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, + 0x65, 0x73, 0x69, 0x73, 0x0f, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, + 0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0a, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0c, 0x65, + 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, + 0x08, 0x65, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x09, 0x69, + 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x14, 0x75, 0x70, + 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, + 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x05, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x04, 0x62, 0x65, 0x74, 0x61, 0x05, 0x67, 0x61, 0x6d, + 0x6d, 0x61, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x07, 0x65, 0x70, + 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x04, 0x7a, 0x65, 0x74, 0x61, 0x03, + 0x65, 0x74, 0x61, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x04, 0x69, + 0x6f, 0x74, 0x61, 0x05, 0x6b, 0x61, 0x70, 0x70, 0x61, 0x06, 0x6c, + 0x61, 0x6d, 0x62, 0x64, 0x61, 0x07, 0x6d, 0x75, 0x67, 0x72, 0x65, + 0x65, 0x6b, 0x02, 0x6e, 0x75, 0x02, 0x78, 0x69, 0x07, 0x6f, 0x6d, + 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x03, 0x72, 0x68, 0x6f, 0x06, 0x73, + 0x69, 0x67, 0x6d, 0x61, 0x31, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, + 0x03, 0x74, 0x61, 0x75, 0x07, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, + 0x6e, 0x03, 0x70, 0x68, 0x69, 0x03, 0x63, 0x68, 0x69, 0x03, 0x70, + 0x73, 0x69, 0x05, 0x6f, 0x6d, 0x65, 0x67, 0x61, 0x0c, 0x69, 0x6f, + 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0f, + 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x72, + 0x65, 0x73, 0x69, 0x73, 0x0c, 0x6f, 0x6d, 0x69, 0x63, 0x72, 0x6f, + 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0c, 0x75, 0x70, 0x73, 0x69, + 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0a, 0x6f, 0x6d, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x44, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x44, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x44, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x44, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x44, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x44, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x45, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x45, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x45, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x45, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x45, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x45, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x45, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x45, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x46, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x46, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x46, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x46, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x46, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x46, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x46, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x46, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, + 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x30, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x30, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x31, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x34, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x35, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x31, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, + 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x38, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x31, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x31, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x42, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x31, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x31, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x32, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x32, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x32, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x32, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x32, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x32, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x33, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x32, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x33, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x35, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x36, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x33, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, + 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x39, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x33, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x33, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x43, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x44, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x33, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x30, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x31, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x34, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, + 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x34, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x34, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x34, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x37, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x38, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x34, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x34, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x42, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x43, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, + 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x46, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x35, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x35, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x35, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x35, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x35, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x35, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x35, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x35, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x36, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x36, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x36, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x36, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x36, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, + 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x37, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x37, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x37, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x37, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x37, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x37, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x37, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x38, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x38, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x38, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x38, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x38, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x38, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x38, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x39, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x39, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x39, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x39, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x39, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x39, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x39, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x41, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x41, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x41, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x41, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x41, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x42, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x42, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x42, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x42, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x42, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, + 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x42, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x42, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x30, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x31, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x43, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x43, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x34, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x35, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x43, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, + 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x38, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x43, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x43, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x42, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x43, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x43, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x44, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x44, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x44, 0x38, 0x09, 0x61, 0x66, 0x69, 0x69, 0x31, + 0x30, 0x38, 0x34, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x44, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x44, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x45, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x45, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x45, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x45, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x45, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x45, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x45, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x45, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x46, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x46, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x34, 0x46, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, + 0x46, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x34, 0x46, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x34, 0x46, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x34, 0x46, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x35, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, + 0x30, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x35, 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x35, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x35, 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x35, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, + 0x30, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x35, 0x31, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x35, 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x35, 0x31, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x42, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x35, 0x31, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, + 0x39, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x35, 0x39, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x35, 0x39, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x35, 0x39, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x35, 0x39, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, + 0x39, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x35, 0x39, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x35, 0x39, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x35, 0x41, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x35, 0x41, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x30, 0x35, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, + 0x41, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x30, 0x35, 0x41, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x35, 0x41, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, + 0x35, 0x41, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x41, 0x46, + 0x05, 0x73, 0x68, 0x65, 0x76, 0x61, 0x0a, 0x68, 0x61, 0x74, 0x61, + 0x66, 0x73, 0x65, 0x67, 0x6f, 0x6c, 0x0a, 0x68, 0x61, 0x74, 0x61, + 0x66, 0x70, 0x61, 0x74, 0x61, 0x68, 0x0b, 0x68, 0x61, 0x74, 0x61, + 0x66, 0x71, 0x61, 0x6d, 0x61, 0x74, 0x73, 0x05, 0x68, 0x69, 0x72, + 0x69, 0x71, 0x05, 0x74, 0x73, 0x65, 0x72, 0x65, 0x05, 0x73, 0x65, + 0x67, 0x6f, 0x6c, 0x05, 0x70, 0x61, 0x74, 0x61, 0x68, 0x06, 0x71, + 0x61, 0x6d, 0x61, 0x74, 0x73, 0x05, 0x68, 0x6f, 0x6c, 0x61, 0x6d, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x41, 0x06, 0x71, 0x75, + 0x62, 0x75, 0x74, 0x73, 0x06, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, + 0x05, 0x6d, 0x65, 0x74, 0x65, 0x67, 0x05, 0x6d, 0x61, 0x71, 0x61, + 0x66, 0x04, 0x72, 0x61, 0x66, 0x65, 0x05, 0x70, 0x61, 0x73, 0x65, + 0x71, 0x07, 0x73, 0x68, 0x69, 0x6e, 0x64, 0x6f, 0x74, 0x06, 0x73, + 0x69, 0x6e, 0x64, 0x6f, 0x74, 0x08, 0x73, 0x6f, 0x66, 0x70, 0x61, + 0x73, 0x75, 0x71, 0x09, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x64, + 0x6f, 0x74, 0x08, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x64, 0x6f, 0x74, + 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x43, 0x36, 0x0b, 0x71, 0x61, + 0x6d, 0x61, 0x74, 0x73, 0x71, 0x61, 0x74, 0x61, 0x6e, 0x04, 0x61, + 0x6c, 0x65, 0x66, 0x03, 0x62, 0x65, 0x74, 0x05, 0x67, 0x69, 0x6d, + 0x65, 0x6c, 0x05, 0x64, 0x61, 0x6c, 0x65, 0x74, 0x02, 0x68, 0x65, + 0x03, 0x76, 0x61, 0x76, 0x05, 0x7a, 0x61, 0x79, 0x69, 0x6e, 0x03, + 0x68, 0x65, 0x74, 0x03, 0x74, 0x65, 0x74, 0x03, 0x79, 0x6f, 0x64, + 0x08, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6b, 0x61, 0x66, 0x03, 0x6b, + 0x61, 0x66, 0x05, 0x6c, 0x61, 0x6d, 0x65, 0x64, 0x08, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x6d, 0x65, 0x6d, 0x03, 0x6d, 0x65, 0x6d, 0x08, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6e, 0x75, 0x6e, 0x03, 0x6e, 0x75, + 0x6e, 0x06, 0x73, 0x61, 0x6d, 0x65, 0x6b, 0x68, 0x04, 0x61, 0x79, + 0x69, 0x6e, 0x07, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x70, 0x65, 0x02, + 0x70, 0x65, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x74, 0x73, 0x61, + 0x64, 0x69, 0x05, 0x74, 0x73, 0x61, 0x64, 0x69, 0x03, 0x71, 0x6f, + 0x66, 0x04, 0x72, 0x65, 0x73, 0x68, 0x04, 0x73, 0x68, 0x69, 0x6e, + 0x03, 0x74, 0x61, 0x76, 0x06, 0x76, 0x61, 0x76, 0x76, 0x61, 0x76, + 0x06, 0x76, 0x61, 0x76, 0x79, 0x6f, 0x64, 0x06, 0x79, 0x6f, 0x64, + 0x79, 0x6f, 0x64, 0x06, 0x67, 0x65, 0x72, 0x65, 0x73, 0x68, 0x09, + 0x67, 0x65, 0x72, 0x73, 0x68, 0x61, 0x79, 0x69, 0x6d, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x30, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x31, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x31, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x31, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x31, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x31, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x31, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x31, + 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x32, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x32, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x32, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x32, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x32, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x32, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x32, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x33, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x33, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x33, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x33, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x33, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x33, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x33, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x34, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x34, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x34, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x34, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x34, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x34, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x34, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x35, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x35, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x35, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x35, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x35, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x35, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x35, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x35, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x36, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x36, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x36, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x36, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, + 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x36, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x36, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x36, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x30, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x31, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x37, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x37, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x34, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x35, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x37, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, + 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x38, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x37, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x37, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x42, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x37, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x37, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x37, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x38, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x38, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x38, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x38, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x38, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x38, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x38, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x39, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x32, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x39, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x39, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x35, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x36, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x39, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, + 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x39, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x39, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x39, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x43, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x39, 0x44, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x39, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x39, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x30, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x31, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x41, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, + 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x34, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x41, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x37, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x38, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x41, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x42, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x41, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, + 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x41, 0x46, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x42, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x42, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x42, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x42, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x42, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x42, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x42, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x42, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x43, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x44, 0x43, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x44, 0x43, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x44, 0x43, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x43, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x44, 0x43, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, + 0x46, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x44, 0x46, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x31, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x32, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x31, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x35, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x36, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x31, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, + 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x39, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x31, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x31, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x43, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x31, 0x44, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x31, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x31, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x30, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x31, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x32, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, + 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x34, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x32, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x32, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x37, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x38, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x32, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x32, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x42, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x32, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, + 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x32, 0x46, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x33, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x33, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x33, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x33, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x33, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x33, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x34, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x34, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x34, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x34, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x34, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x34, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x34, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x34, + 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x35, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x35, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x35, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x35, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x35, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x35, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x35, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x35, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x36, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x36, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x36, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x36, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x36, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x36, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x36, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x37, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x37, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x37, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x37, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x38, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x37, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, + 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x37, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x37, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x37, 0x46, + 0x06, 0x57, 0x67, 0x72, 0x61, 0x76, 0x65, 0x06, 0x77, 0x67, 0x72, + 0x61, 0x76, 0x65, 0x06, 0x57, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, + 0x77, 0x61, 0x63, 0x75, 0x74, 0x65, 0x09, 0x57, 0x64, 0x69, 0x65, + 0x72, 0x65, 0x73, 0x69, 0x73, 0x09, 0x77, 0x64, 0x69, 0x65, 0x72, + 0x65, 0x73, 0x69, 0x73, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, + 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x38, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x38, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x38, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x45, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x38, 0x46, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x39, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x45, 0x39, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x45, 0x39, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x45, 0x39, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, + 0x39, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x45, 0x39, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x39, + 0x45, 0x09, 0x41, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, + 0x09, 0x61, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x0a, + 0x41, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, + 0x61, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x10, + 0x41, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, + 0x61, 0x63, 0x75, 0x74, 0x65, 0x10, 0x61, 0x63, 0x69, 0x72, 0x63, + 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x61, 0x63, 0x75, 0x74, 0x65, + 0x10, 0x41, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x67, 0x72, 0x61, 0x76, 0x65, 0x10, 0x61, 0x63, 0x69, 0x72, + 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x67, 0x72, 0x61, 0x76, + 0x65, 0x14, 0x41, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, + 0x65, 0x78, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, + 0x14, 0x61, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x10, + 0x41, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, + 0x74, 0x69, 0x6c, 0x64, 0x65, 0x10, 0x61, 0x63, 0x69, 0x72, 0x63, + 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x74, 0x69, 0x6c, 0x64, 0x65, + 0x13, 0x41, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x13, 0x61, + 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x64, + 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x0b, 0x41, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x61, 0x62, + 0x72, 0x65, 0x76, 0x65, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x41, + 0x62, 0x72, 0x65, 0x76, 0x65, 0x67, 0x72, 0x61, 0x76, 0x65, 0x0b, + 0x61, 0x62, 0x72, 0x65, 0x76, 0x65, 0x67, 0x72, 0x61, 0x76, 0x65, + 0x0f, 0x41, 0x62, 0x72, 0x65, 0x76, 0x65, 0x68, 0x6f, 0x6f, 0x6b, + 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0f, 0x61, 0x62, 0x72, 0x65, 0x76, + 0x65, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0b, + 0x41, 0x62, 0x72, 0x65, 0x76, 0x65, 0x74, 0x69, 0x6c, 0x64, 0x65, + 0x0b, 0x61, 0x62, 0x72, 0x65, 0x76, 0x65, 0x74, 0x69, 0x6c, 0x64, + 0x65, 0x0e, 0x41, 0x62, 0x72, 0x65, 0x76, 0x65, 0x64, 0x6f, 0x74, + 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x0e, 0x61, 0x62, 0x72, 0x65, 0x76, + 0x65, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x09, 0x45, + 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x09, 0x65, 0x64, + 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x0a, 0x45, 0x68, 0x6f, + 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x65, 0x68, 0x6f, + 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x06, 0x45, 0x74, 0x69, + 0x6c, 0x64, 0x65, 0x06, 0x65, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x10, + 0x45, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, + 0x61, 0x63, 0x75, 0x74, 0x65, 0x10, 0x65, 0x63, 0x69, 0x72, 0x63, + 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x61, 0x63, 0x75, 0x74, 0x65, + 0x10, 0x45, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x67, 0x72, 0x61, 0x76, 0x65, 0x10, 0x65, 0x63, 0x69, 0x72, + 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x67, 0x72, 0x61, 0x76, + 0x65, 0x14, 0x45, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, + 0x65, 0x78, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, + 0x14, 0x65, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x10, + 0x45, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, + 0x74, 0x69, 0x6c, 0x64, 0x65, 0x10, 0x65, 0x63, 0x69, 0x72, 0x63, + 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x74, 0x69, 0x6c, 0x64, 0x65, + 0x13, 0x45, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x13, 0x65, + 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x64, + 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x0a, 0x49, 0x68, 0x6f, + 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x69, 0x68, 0x6f, + 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x09, 0x49, 0x64, 0x6f, + 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x09, 0x69, 0x64, 0x6f, 0x74, + 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x09, 0x4f, 0x64, 0x6f, 0x74, 0x62, + 0x65, 0x6c, 0x6f, 0x77, 0x09, 0x6f, 0x64, 0x6f, 0x74, 0x62, 0x65, + 0x6c, 0x6f, 0x77, 0x0a, 0x4f, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, + 0x6f, 0x76, 0x65, 0x0a, 0x6f, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, + 0x6f, 0x76, 0x65, 0x10, 0x4f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, + 0x66, 0x6c, 0x65, 0x78, 0x61, 0x63, 0x75, 0x74, 0x65, 0x10, 0x6f, + 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x61, + 0x63, 0x75, 0x74, 0x65, 0x10, 0x4f, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x67, 0x72, 0x61, 0x76, 0x65, 0x10, + 0x6f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, + 0x67, 0x72, 0x61, 0x76, 0x65, 0x14, 0x4f, 0x63, 0x69, 0x72, 0x63, + 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x68, 0x6f, 0x6f, 0x6b, 0x61, + 0x62, 0x6f, 0x76, 0x65, 0x14, 0x6f, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, + 0x6f, 0x76, 0x65, 0x10, 0x4f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, + 0x66, 0x6c, 0x65, 0x78, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x10, 0x6f, + 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x74, + 0x69, 0x6c, 0x64, 0x65, 0x13, 0x4f, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, + 0x6f, 0x77, 0x13, 0x6f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, + 0x6c, 0x65, 0x78, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, + 0x0a, 0x4f, 0x68, 0x6f, 0x72, 0x6e, 0x61, 0x63, 0x75, 0x74, 0x65, + 0x0a, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x61, 0x63, 0x75, 0x74, 0x65, + 0x0a, 0x4f, 0x68, 0x6f, 0x72, 0x6e, 0x67, 0x72, 0x61, 0x76, 0x65, + 0x0a, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x67, 0x72, 0x61, 0x76, 0x65, + 0x0e, 0x4f, 0x68, 0x6f, 0x72, 0x6e, 0x68, 0x6f, 0x6f, 0x6b, 0x61, + 0x62, 0x6f, 0x76, 0x65, 0x0e, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x68, + 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x4f, 0x68, + 0x6f, 0x72, 0x6e, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x0a, 0x6f, 0x68, + 0x6f, 0x72, 0x6e, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x0d, 0x4f, 0x68, + 0x6f, 0x72, 0x6e, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, + 0x0d, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x64, 0x6f, 0x74, 0x62, 0x65, + 0x6c, 0x6f, 0x77, 0x09, 0x55, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, + 0x6f, 0x77, 0x09, 0x75, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, + 0x77, 0x0a, 0x55, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, + 0x65, 0x0a, 0x75, 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, + 0x65, 0x0a, 0x55, 0x68, 0x6f, 0x72, 0x6e, 0x61, 0x63, 0x75, 0x74, + 0x65, 0x0a, 0x75, 0x68, 0x6f, 0x72, 0x6e, 0x61, 0x63, 0x75, 0x74, + 0x65, 0x0a, 0x55, 0x68, 0x6f, 0x72, 0x6e, 0x67, 0x72, 0x61, 0x76, + 0x65, 0x0a, 0x75, 0x68, 0x6f, 0x72, 0x6e, 0x67, 0x72, 0x61, 0x76, + 0x65, 0x0e, 0x55, 0x68, 0x6f, 0x72, 0x6e, 0x68, 0x6f, 0x6f, 0x6b, + 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0e, 0x75, 0x68, 0x6f, 0x72, 0x6e, + 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x55, + 0x68, 0x6f, 0x72, 0x6e, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x0a, 0x75, + 0x68, 0x6f, 0x72, 0x6e, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x0d, 0x55, + 0x68, 0x6f, 0x72, 0x6e, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, + 0x77, 0x0d, 0x75, 0x68, 0x6f, 0x72, 0x6e, 0x64, 0x6f, 0x74, 0x62, + 0x65, 0x6c, 0x6f, 0x77, 0x06, 0x59, 0x67, 0x72, 0x61, 0x76, 0x65, + 0x06, 0x79, 0x67, 0x72, 0x61, 0x76, 0x65, 0x09, 0x59, 0x64, 0x6f, + 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x09, 0x79, 0x64, 0x6f, 0x74, + 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x0a, 0x59, 0x68, 0x6f, 0x6f, 0x6b, + 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x79, 0x68, 0x6f, 0x6f, 0x6b, + 0x61, 0x62, 0x6f, 0x76, 0x65, 0x06, 0x59, 0x74, 0x69, 0x6c, 0x64, + 0x65, 0x06, 0x79, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x30, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x31, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x31, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x31, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x31, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x32, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x32, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x32, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x32, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x32, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x32, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x45, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x32, 0x46, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x33, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x33, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x32, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x33, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, + 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x33, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x33, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x33, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x33, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x33, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x34, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x34, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x34, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x34, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x34, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x34, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x30, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x35, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x35, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x33, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x34, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x35, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x35, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x39, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x35, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x35, 0x46, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x36, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x36, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x36, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x36, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x36, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x36, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x36, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x37, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x37, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x37, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x37, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x37, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x37, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x37, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x38, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, + 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x38, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x38, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x35, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x36, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x38, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x39, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x41, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x38, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, + 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x38, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x38, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x38, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x30, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x31, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x39, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x39, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x34, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x35, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x39, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, + 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x38, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x39, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x39, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x42, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x39, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x39, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x39, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x41, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x41, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x41, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x41, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x41, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x41, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x42, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x32, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x42, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x42, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x42, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x42, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x42, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x42, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x43, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x43, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x36, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x43, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x43, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x39, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x43, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x43, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x44, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x43, 0x45, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x43, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x44, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x44, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x44, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x44, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, + 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x44, 0x46, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x45, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x45, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x45, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x45, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x45, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x45, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x45, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x45, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x45, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x46, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x33, 0x07, + 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x31, 0x46, 0x46, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, + 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x38, 0x07, 0x75, + 0x6e, 0x69, 0x31, 0x46, 0x46, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, + 0x46, 0x46, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x42, + 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, 0x46, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x31, 0x46, 0x46, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x46, + 0x46, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x30, 0x30, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, + 0x45, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x46, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x30, 0x31, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x30, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x35, + 0x0d, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x64, 0x62, 0x6c, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x65, + 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x30, 0x31, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x41, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x42, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x30, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, + 0x32, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x45, 0x06, + 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x06, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x33, 0x34, 0x09, + 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x64, 0x62, 0x6c, 0x09, 0x72, + 0x61, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x65, 0x78, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x30, 0x35, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, + 0x36, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x42, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x43, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x30, 0x36, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, + 0x45, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x36, 0x46, 0x09, 0x66, + 0x6f, 0x75, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x73, 0x09, 0x66, 0x69, + 0x76, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x73, 0x08, 0x73, 0x69, 0x78, + 0x2e, 0x73, 0x75, 0x70, 0x73, 0x0a, 0x73, 0x65, 0x76, 0x65, 0x6e, + 0x2e, 0x73, 0x75, 0x70, 0x73, 0x0a, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x2e, 0x73, 0x75, 0x70, 0x73, 0x09, 0x6e, 0x69, 0x6e, 0x65, 0x2e, + 0x73, 0x75, 0x70, 0x73, 0x09, 0x6e, 0x73, 0x75, 0x70, 0x65, 0x72, + 0x69, 0x6f, 0x72, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x2e, 0x73, 0x75, + 0x62, 0x73, 0x08, 0x6f, 0x6e, 0x65, 0x2e, 0x73, 0x75, 0x62, 0x73, + 0x08, 0x74, 0x77, 0x6f, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x0a, 0x74, + 0x68, 0x72, 0x65, 0x65, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x09, 0x66, + 0x6f, 0x75, 0x72, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x09, 0x66, 0x69, + 0x76, 0x65, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x08, 0x73, 0x69, 0x78, + 0x2e, 0x73, 0x75, 0x62, 0x73, 0x0a, 0x73, 0x65, 0x76, 0x65, 0x6e, + 0x2e, 0x73, 0x75, 0x62, 0x73, 0x0a, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x2e, 0x73, 0x75, 0x62, 0x73, 0x09, 0x6e, 0x69, 0x6e, 0x65, 0x2e, + 0x73, 0x75, 0x62, 0x73, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, + 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x30, 0x39, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x30, 0x39, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x39, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x30, 0x41, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, + 0x41, 0x32, 0x04, 0x6c, 0x69, 0x72, 0x61, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x30, 0x41, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, + 0x36, 0x06, 0x70, 0x65, 0x73, 0x65, 0x74, 0x61, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x30, 0x41, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, + 0x41, 0x39, 0x06, 0x73, 0x68, 0x65, 0x71, 0x65, 0x6c, 0x04, 0x64, + 0x6f, 0x6e, 0x67, 0x04, 0x45, 0x75, 0x72, 0x6f, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x30, 0x41, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, + 0x41, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x30, 0x42, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x30, 0x42, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x30, 0x42, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x42, 0x46, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x46, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x31, 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x31, + 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x37, 0x03, 0x4f, 0x68, 0x6d, + 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x31, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x31, 0x34, 0x45, 0x08, 0x6f, 0x6e, 0x65, 0x74, 0x68, 0x69, + 0x72, 0x64, 0x09, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x69, 0x72, 0x64, + 0x73, 0x09, 0x6f, 0x6e, 0x65, 0x65, 0x69, 0x67, 0x68, 0x74, 0x68, + 0x0c, 0x74, 0x68, 0x72, 0x65, 0x65, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x68, 0x73, 0x0b, 0x66, 0x69, 0x76, 0x65, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x68, 0x73, 0x0c, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x68, 0x73, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x31, + 0x38, 0x34, 0x09, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x6c, 0x65, 0x66, + 0x74, 0x07, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x75, 0x70, 0x0a, 0x61, + 0x72, 0x72, 0x6f, 0x77, 0x72, 0x69, 0x67, 0x68, 0x74, 0x09, 0x61, + 0x72, 0x72, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x09, 0x61, 0x72, + 0x72, 0x6f, 0x77, 0x62, 0x6f, 0x74, 0x68, 0x09, 0x61, 0x72, 0x72, + 0x6f, 0x77, 0x75, 0x70, 0x64, 0x6e, 0x0c, 0x61, 0x72, 0x72, 0x6f, + 0x77, 0x75, 0x70, 0x64, 0x6e, 0x62, 0x73, 0x65, 0x0c, 0x61, 0x72, + 0x72, 0x6f, 0x77, 0x64, 0x62, 0x6c, 0x62, 0x6f, 0x74, 0x68, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x32, 0x31, 0x35, 0x0e, 0x62, 0x75, 0x6c, + 0x6c, 0x65, 0x74, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x0a, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, 0x6f, 0x6e, 0x61, 0x6c, + 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x0b, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, + 0x6e, 0x63, 0x65, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x32, 0x36, 0x32, + 0x05, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x0d, 0x72, 0x65, 0x76, 0x6c, + 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x6e, 0x6f, 0x74, 0x0a, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x74, 0x70, 0x0a, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x62, 0x74, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x35, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x35, 0x30, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x30, 0x43, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x30, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x35, 0x31, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, + 0x31, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x31, 0x43, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x35, 0x32, 0x34, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x35, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x33, 0x43, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x35, 0x35, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x35, 0x35, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, 0x32, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, 0x33, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x35, 0x35, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, + 0x35, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, 0x36, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x35, 0x35, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x35, 0x35, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x35, 0x35, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x35, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x35, 0x35, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, + 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x35, 0x36, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x35, 0x36, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x35, 0x36, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x38, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x39, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x35, 0x36, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, + 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x36, 0x43, 0x07, + 0x75, 0x70, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x07, 0x64, 0x6e, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x07, + 0x6c, 0x66, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x07, 0x72, 0x74, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x07, 0x6c, 0x74, 0x73, 0x68, 0x61, 0x64, + 0x65, 0x05, 0x73, 0x68, 0x61, 0x64, 0x65, 0x07, 0x64, 0x6b, 0x73, + 0x68, 0x61, 0x64, 0x65, 0x09, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, + 0x62, 0x6f, 0x78, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x41, 0x41, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x35, 0x41, 0x42, 0x0a, 0x66, 0x69, 0x6c, 0x6c, 0x65, + 0x64, 0x72, 0x65, 0x63, 0x74, 0x07, 0x74, 0x72, 0x69, 0x61, 0x67, + 0x75, 0x70, 0x07, 0x74, 0x72, 0x69, 0x61, 0x67, 0x72, 0x74, 0x07, + 0x74, 0x72, 0x69, 0x61, 0x67, 0x64, 0x6e, 0x07, 0x74, 0x72, 0x69, + 0x61, 0x67, 0x6c, 0x66, 0x06, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x43, 0x43, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x35, 0x43, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, + 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x32, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x35, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, + 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x35, 0x44, 0x35, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x35, 0x44, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x35, 0x44, 0x37, 0x09, 0x69, 0x6e, 0x76, 0x62, 0x75, 0x6c, 0x6c, + 0x65, 0x74, 0x09, 0x69, 0x6e, 0x76, 0x63, 0x69, 0x72, 0x63, 0x6c, + 0x65, 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x62, 0x75, 0x6c, 0x6c, 0x65, + 0x74, 0x09, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x66, 0x61, 0x63, 0x65, + 0x0c, 0x69, 0x6e, 0x76, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x66, 0x61, + 0x63, 0x65, 0x03, 0x73, 0x75, 0x6e, 0x06, 0x66, 0x65, 0x6d, 0x61, + 0x6c, 0x65, 0x04, 0x6d, 0x61, 0x6c, 0x65, 0x05, 0x73, 0x70, 0x61, + 0x64, 0x65, 0x04, 0x63, 0x6c, 0x75, 0x62, 0x05, 0x68, 0x65, 0x61, + 0x72, 0x74, 0x07, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x39, 0x0b, 0x6d, 0x75, 0x73, + 0x69, 0x63, 0x61, 0x6c, 0x6e, 0x6f, 0x74, 0x65, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x36, 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x36, + 0x36, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x36, 0x36, 0x46, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x43, 0x36, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, + 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x33, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x43, 0x36, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x43, 0x36, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x36, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x37, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x43, 0x36, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, + 0x36, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x41, 0x07, + 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, 0x42, 0x07, 0x75, 0x6e, 0x69, + 0x32, 0x43, 0x36, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x36, + 0x44, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x32, 0x43, 0x37, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, + 0x43, 0x37, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x34, + 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, 0x37, 0x35, 0x07, 0x75, 0x6e, + 0x69, 0x32, 0x43, 0x37, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x43, + 0x37, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x45, 0x31, 0x37, 0x07, + 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x37, 0x07, 0x75, 0x6e, 0x69, + 0x41, 0x37, 0x31, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, + 0x39, 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x41, 0x37, 0x31, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x41, + 0x37, 0x31, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x44, + 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x31, 0x45, 0x07, 0x75, 0x6e, + 0x69, 0x41, 0x37, 0x31, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, + 0x32, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x32, 0x31, 0x07, + 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, + 0x41, 0x37, 0x38, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, + 0x41, 0x07, 0x75, 0x6e, 0x69, 0x41, 0x37, 0x38, 0x42, 0x07, 0x75, + 0x6e, 0x69, 0x41, 0x37, 0x38, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x46, + 0x42, 0x31, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x31, 0x45, + 0x0c, 0x79, 0x6f, 0x64, 0x79, 0x6f, 0x64, 0x5f, 0x70, 0x61, 0x74, + 0x61, 0x68, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x61, 0x79, 0x69, 0x6e, 0x08, 0x61, 0x6c, 0x65, + 0x66, 0x77, 0x69, 0x64, 0x65, 0x09, 0x64, 0x61, 0x6c, 0x65, 0x74, + 0x77, 0x69, 0x64, 0x65, 0x06, 0x68, 0x65, 0x77, 0x69, 0x64, 0x65, + 0x07, 0x6b, 0x61, 0x66, 0x77, 0x69, 0x64, 0x65, 0x09, 0x6c, 0x61, + 0x6d, 0x65, 0x64, 0x77, 0x69, 0x64, 0x65, 0x0c, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x6d, 0x65, 0x6d, 0x77, 0x69, 0x64, 0x65, 0x08, 0x72, + 0x65, 0x73, 0x68, 0x77, 0x69, 0x64, 0x65, 0x07, 0x74, 0x61, 0x76, + 0x77, 0x69, 0x64, 0x65, 0x0c, 0x61, 0x6c, 0x74, 0x5f, 0x70, 0x6c, + 0x75, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x0b, 0x73, 0x68, 0x69, 0x6e, + 0x73, 0x68, 0x69, 0x6e, 0x64, 0x6f, 0x74, 0x0a, 0x73, 0x68, 0x69, + 0x6e, 0x73, 0x69, 0x6e, 0x64, 0x6f, 0x74, 0x11, 0x73, 0x68, 0x69, + 0x6e, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x73, 0x68, 0x69, 0x6e, + 0x64, 0x6f, 0x74, 0x10, 0x73, 0x68, 0x69, 0x6e, 0x64, 0x61, 0x67, + 0x65, 0x73, 0x68, 0x73, 0x69, 0x6e, 0x64, 0x6f, 0x74, 0x09, 0x61, + 0x6c, 0x65, 0x66, 0x70, 0x61, 0x74, 0x61, 0x68, 0x0a, 0x61, 0x6c, + 0x65, 0x66, 0x71, 0x61, 0x6d, 0x61, 0x74, 0x73, 0x09, 0x61, 0x6c, + 0x65, 0x66, 0x6d, 0x61, 0x70, 0x69, 0x71, 0x09, 0x62, 0x65, 0x74, + 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0b, 0x67, 0x69, 0x6d, 0x65, + 0x6c, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0b, 0x64, 0x61, 0x6c, + 0x65, 0x74, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x08, 0x68, 0x65, + 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, 0x76, 0x61, 0x76, 0x64, + 0x61, 0x67, 0x65, 0x73, 0x68, 0x0b, 0x7a, 0x61, 0x79, 0x69, 0x6e, + 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, 0x74, 0x65, 0x74, 0x64, + 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, 0x79, 0x6f, 0x64, 0x64, 0x61, + 0x67, 0x65, 0x73, 0x68, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6b, + 0x61, 0x66, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, 0x6b, 0x61, + 0x66, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0b, 0x6c, 0x61, 0x6d, + 0x65, 0x64, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, 0x6d, 0x65, + 0x6d, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, 0x6e, 0x75, 0x6e, + 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0c, 0x73, 0x61, 0x6d, 0x65, + 0x6b, 0x68, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0d, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x70, 0x65, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, + 0x08, 0x70, 0x65, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0b, 0x74, + 0x73, 0x61, 0x64, 0x69, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, + 0x71, 0x6f, 0x66, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0a, 0x72, + 0x65, 0x73, 0x68, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x0a, 0x73, + 0x68, 0x69, 0x6e, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x09, 0x74, + 0x61, 0x76, 0x64, 0x61, 0x67, 0x65, 0x73, 0x68, 0x08, 0x76, 0x61, + 0x76, 0x68, 0x6f, 0x6c, 0x61, 0x6d, 0x07, 0x62, 0x65, 0x74, 0x72, + 0x61, 0x66, 0x65, 0x07, 0x6b, 0x61, 0x66, 0x72, 0x61, 0x66, 0x65, + 0x06, 0x70, 0x65, 0x72, 0x61, 0x66, 0x65, 0x09, 0x61, 0x6c, 0x65, + 0x66, 0x6c, 0x61, 0x6d, 0x65, 0x64, 0x07, 0x75, 0x6e, 0x69, 0x46, + 0x45, 0x32, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x32, 0x31, + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x32, 0x32, 0x07, 0x75, 0x6e, + 0x69, 0x46, 0x45, 0x32, 0x33, 0x10, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, + 0x0d, 0x63, 0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x10, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x11, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x6f, 0x74, 0x61, 0x74, 0x65, 0x08, 0x64, 0x6f, 0x74, 0x6c, 0x65, + 0x73, 0x73, 0x6a, 0x0b, 0x6f, 0x6e, 0x65, 0x66, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x0b, 0x74, 0x77, 0x6f, 0x66, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0d, 0x74, 0x68, 0x72, 0x65, 0x65, + 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0c, 0x66, 0x6f, + 0x75, 0x72, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0c, + 0x66, 0x69, 0x76, 0x65, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x66, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x0d, 0x65, 0x69, 0x67, 0x68, 0x74, 0x66, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0d, 0x64, 0x6f, 0x74, + 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x2e, 0x61, 0x6c, 0x74, 0x31, 0x0e, + 0x68, 0x6f, 0x6f, 0x6b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x61, + 0x6c, 0x74, 0x34, 0x0d, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, + 0x69, 0x2e, 0x61, 0x6c, 0x74, 0x31, 0x0f, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x34, 0x2e, 0x63, 0x61, 0x70, + 0x0f, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, + 0x31, 0x2e, 0x63, 0x61, 0x70, 0x0f, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x30, 0x38, 0x30, 0x33, 0x30, 0x43, 0x2e, 0x63, 0x61, 0x70, 0x0f, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x30, + 0x2e, 0x63, 0x61, 0x70, 0x0f, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, + 0x37, 0x30, 0x33, 0x30, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x0f, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x34, 0x2e, + 0x63, 0x61, 0x70, 0x0f, 0x63, 0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, + 0x63, 0x5f, 0x6f, 0x74, 0x6d, 0x61, 0x72, 0x6b, 0x09, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x2e, 0x63, 0x79, 0x72, 0x0f, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x30, 0x30, 0x2e, 0x63, 0x61, + 0x70, 0x0f, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, + 0x30, 0x31, 0x2e, 0x63, 0x61, 0x70, 0x0f, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x31, 0x2e, 0x63, 0x61, 0x70, + 0x0f, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, + 0x38, 0x2e, 0x63, 0x61, 0x70, 0x0f, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x30, 0x31, 0x30, 0x33, 0x30, 0x37, 0x2e, 0x63, 0x61, 0x70, 0x0f, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, 0x43, 0x30, 0x33, 0x30, 0x37, + 0x2e, 0x63, 0x61, 0x70, 0x0f, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x30, + 0x34, 0x30, 0x33, 0x30, 0x38, 0x2e, 0x63, 0x61, 0x70, 0x0c, 0x62, + 0x61, 0x72, 0x69, 0x2e, 0x64, 0x6f, 0x74, 0x6c, 0x65, 0x73, 0x73, + 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x31, 0x30, 0x33, 0x30, + 0x34, 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x42, 0x31, 0x30, 0x33, 0x30, 0x34, 0x30, + 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x42, 0x31, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x31, + 0x34, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x42, 0x31, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x31, 0x34, 0x30, + 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x31, + 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, + 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x31, 0x30, 0x33, + 0x30, 0x36, 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, 0x31, 0x13, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x31, 0x30, 0x33, 0x30, 0x36, + 0x30, 0x33, 0x31, 0x34, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x42, 0x31, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, + 0x31, 0x34, 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x42, 0x39, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x31, 0x33, + 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, + 0x39, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, + 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x39, 0x30, + 0x33, 0x30, 0x34, 0x30, 0x33, 0x31, 0x34, 0x30, 0x33, 0x30, 0x30, + 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x39, 0x30, 0x33, 0x30, + 0x34, 0x30, 0x33, 0x31, 0x34, 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x42, 0x39, 0x30, 0x33, 0x30, 0x36, 0x30, + 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x42, 0x39, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x31, + 0x33, 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x42, 0x39, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x31, 0x34, 0x30, + 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x39, + 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x31, 0x34, 0x30, 0x33, 0x30, + 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, 0x33, + 0x30, 0x34, 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, 0x30, 0x13, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, 0x34, + 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, + 0x31, 0x34, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x31, 0x34, + 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, + 0x35, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, + 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, + 0x33, 0x30, 0x36, 0x30, 0x33, 0x31, 0x33, 0x30, 0x33, 0x30, 0x31, + 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, + 0x36, 0x30, 0x33, 0x31, 0x34, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, + 0x6e, 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, 0x36, 0x30, + 0x33, 0x31, 0x34, 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, + 0x30, 0x33, 0x42, 0x39, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, + 0x34, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, + 0x42, 0x39, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x34, 0x30, + 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x39, + 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x30, + 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x42, 0x39, 0x30, 0x33, + 0x30, 0x38, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, 0x30, 0x31, 0x13, + 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, 0x38, + 0x30, 0x33, 0x30, 0x34, 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, + 0x69, 0x30, 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, + 0x30, 0x34, 0x30, 0x33, 0x30, 0x31, 0x13, 0x75, 0x6e, 0x69, 0x30, + 0x33, 0x43, 0x35, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x36, + 0x30, 0x33, 0x30, 0x30, 0x13, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x43, + 0x35, 0x30, 0x33, 0x30, 0x38, 0x30, 0x33, 0x30, 0x36, 0x30, 0x33, + 0x30, 0x31, 0x0c, 0x64, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x69, 0x61, + 0x63, 0x75, 0x74, 0x65, 0x08, 0x45, 0x6e, 0x67, 0x2e, 0x61, 0x6c, + 0x74, 0x31, 0x08, 0x45, 0x6e, 0x67, 0x2e, 0x61, 0x6c, 0x74, 0x32, + 0x08, 0x45, 0x6e, 0x67, 0x2e, 0x61, 0x6c, 0x74, 0x33, 0x08, 0x7a, + 0x65, 0x72, 0x6f, 0x2e, 0x61, 0x6c, 0x74, 0x07, 0x6f, 0x6e, 0x65, + 0x2e, 0x61, 0x6c, 0x74, 0x07, 0x74, 0x77, 0x6f, 0x2e, 0x61, 0x6c, + 0x74, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2e, 0x61, 0x6c, 0x74, + 0x08, 0x66, 0x6f, 0x75, 0x72, 0x2e, 0x61, 0x6c, 0x74, 0x08, 0x66, + 0x69, 0x76, 0x65, 0x2e, 0x61, 0x6c, 0x74, 0x07, 0x73, 0x69, 0x78, + 0x2e, 0x61, 0x6c, 0x74, 0x09, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x2e, + 0x61, 0x6c, 0x74, 0x09, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x61, + 0x6c, 0x74, 0x08, 0x6e, 0x69, 0x6e, 0x65, 0x2e, 0x61, 0x6c, 0x74, + 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, + 0x61, 0x63, 0x75, 0x74, 0x65, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x67, 0x72, 0x61, 0x76, 0x65, 0x0e, + 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x68, + 0x6f, 0x6f, 0x6b, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, + 0x6c, 0x65, 0x78, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x0a, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0a, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x67, 0x72, 0x61, 0x76, 0x65, 0x09, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x68, 0x6f, 0x6f, 0x6b, 0x0a, 0x62, 0x72, 0x65, + 0x76, 0x65, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x12, 0x63, 0x69, 0x72, + 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x61, 0x63, 0x75, 0x74, + 0x65, 0x2e, 0x6c, 0x63, 0x12, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, + 0x66, 0x6c, 0x65, 0x78, 0x67, 0x72, 0x61, 0x76, 0x65, 0x2e, 0x6c, + 0x63, 0x11, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x68, 0x6f, 0x6f, 0x6b, 0x2e, 0x6c, 0x63, 0x12, 0x63, 0x69, + 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x74, 0x69, 0x6c, + 0x64, 0x65, 0x2e, 0x6c, 0x63, 0x0d, 0x62, 0x72, 0x65, 0x76, 0x65, + 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x6c, 0x63, 0x0d, 0x62, 0x72, + 0x65, 0x76, 0x65, 0x67, 0x72, 0x61, 0x76, 0x65, 0x2e, 0x6c, 0x63, + 0x0c, 0x62, 0x72, 0x65, 0x76, 0x65, 0x68, 0x6f, 0x6f, 0x6b, 0x2e, + 0x6c, 0x63, 0x0d, 0x62, 0x72, 0x65, 0x76, 0x65, 0x74, 0x69, 0x6c, + 0x64, 0x65, 0x2e, 0x6c, 0x63, 0x08, 0x67, 0x72, 0x61, 0x76, 0x65, + 0x2e, 0x75, 0x63, 0x08, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x75, + 0x63, 0x0d, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, + 0x78, 0x2e, 0x75, 0x63, 0x08, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, + 0x75, 0x63, 0x0b, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, + 0x2e, 0x75, 0x63, 0x08, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x75, + 0x63, 0x0f, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, + 0x61, 0x75, 0x74, 0x2e, 0x75, 0x63, 0x08, 0x62, 0x72, 0x65, 0x76, + 0x65, 0x2e, 0x75, 0x63, 0x0f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x10, 0x6c, + 0x61, 0x6d, 0x65, 0x64, 0x68, 0x6f, 0x6c, 0x61, 0x6d, 0x64, 0x61, + 0x67, 0x65, 0x73, 0x68, 0x0a, 0x6c, 0x61, 0x6d, 0x65, 0x64, 0x68, + 0x6f, 0x6c, 0x61, 0x6d, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6b, + 0x61, 0x66, 0x71, 0x61, 0x6d, 0x61, 0x74, 0x73, 0x0d, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x6b, 0x61, 0x66, 0x73, 0x68, 0x65, 0x76, 0x61, + 0x13, 0x61, 0x6c, 0x65, 0x66, 0x6c, 0x61, 0x6d, 0x65, 0x64, 0x68, + 0x61, 0x74, 0x61, 0x66, 0x73, 0x65, 0x67, 0x6f, 0x6c, 0x0e, 0x61, + 0x6c, 0x65, 0x66, 0x6c, 0x61, 0x6d, 0x65, 0x64, 0x73, 0x65, 0x67, + 0x6f, 0x6c, 0x0e, 0x61, 0x6c, 0x65, 0x66, 0x6c, 0x61, 0x6d, 0x65, + 0x64, 0x74, 0x73, 0x65, 0x72, 0x65, 0x10, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6d, 0x65, + 0x64, 0x0a, 0x61, 0x6c, 0x65, 0x66, 0x64, 0x61, 0x67, 0x65, 0x73, + 0x68, 0x0b, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x31, 0x30, 0x35, + 0x42, 0x44, 0x0b, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x32, 0x30, + 0x35, 0x42, 0x44, 0x0b, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x42, 0x33, + 0x30, 0x35, 0x42, 0x44, 0x04, 0x53, 0x5f, 0x42, 0x45, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x08, 0x00, 0x02, 0x00, 0x11, + 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0xe2, 0x35, 0xbe, 0x1e, 0x00, 0x00, 0x00, 0x00, + 0xc8, 0x43, 0x7a, 0xa7, 0x00, 0x00, 0x00, 0x00, 0xdd, 0x7b, 0x63, + 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x82, + 0x00, 0x8a, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x02, 0xc0, 0x00, + 0x01, 0x02, 0xc1, 0x03, 0x23, 0x00, 0x03, 0x03, 0x24, 0x04, 0xc7, + 0x00, 0x01, 0x04, 0xc8, 0x04, 0xf4, 0x00, 0x03, 0x04, 0xf5, 0x04, + 0xf5, 0x00, 0x01, 0x04, 0xf6, 0x04, 0xf6, 0x00, 0x03, 0x04, 0xf7, + 0x04, 0xf7, 0x00, 0x01, 0x04, 0xf8, 0x04, 0xfc, 0x00, 0x03, 0x04, + 0xfd, 0x04, 0xfd, 0x00, 0x01, 0x04, 0xfe, 0x04, 0xfe, 0x00, 0x03, + 0x04, 0xff, 0x08, 0xd2, 0x00, 0x01, 0x08, 0xd3, 0x08, 0xd3, 0x00, + 0x03, 0x08, 0xd4, 0x08, 0xfe, 0x00, 0x01, 0x08, 0xff, 0x08, 0xff, + 0x00, 0x02, 0x09, 0x00, 0x09, 0x6d, 0x00, 0x01, 0x09, 0x6e, 0x09, + 0x70, 0x00, 0x02, 0x09, 0x71, 0x09, 0x72, 0x00, 0x01, 0x09, 0x73, + 0x09, 0x75, 0x00, 0x03, 0x09, 0x76, 0x09, 0x76, 0x00, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0a, 0x00, 0x8a, 0x00, 0xc2, 0x00, 0x07, 0x44, 0x46, 0x4c, 0x54, + 0x00, 0x2c, 0x62, 0x6f, 0x70, 0x6f, 0x00, 0x38, 0x63, 0x6f, 0x70, + 0x74, 0x00, 0x44, 0x63, 0x79, 0x72, 0x6c, 0x00, 0x50, 0x67, 0x72, + 0x65, 0x6b, 0x00, 0x5c, 0x68, 0x65, 0x62, 0x72, 0x00, 0x68, 0x6c, + 0x61, 0x74, 0x6e, 0x00, 0x74, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x02, 0x6d, 0x61, 0x72, 0x6b, 0x00, 0x0e, 0x6d, 0x61, + 0x72, 0x6b, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, + 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, + 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, + 0x00, 0x0f, 0x00, 0x17, 0x00, 0x30, 0x00, 0x38, 0x00, 0x40, 0x00, + 0x48, 0x00, 0x50, 0x00, 0x58, 0x00, 0x60, 0x00, 0x6e, 0x00, 0x7c, + 0x00, 0x8a, 0x00, 0x98, 0x00, 0xa0, 0x00, 0xa8, 0x00, 0xb0, 0x00, + 0xc6, 0x00, 0xe6, 0x00, 0xf0, 0x00, 0xf8, 0x01, 0x00, 0x01, 0x08, + 0x01, 0x10, 0x01, 0x18, 0x01, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x06, 0x54, + 0x00, 0x04, 0x00, 0x07, 0x00, 0x01, 0x08, 0xf4, 0x00, 0x04, 0x00, + 0x01, 0x00, 0x01, 0x09, 0x1a, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, + 0x09, 0xea, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x0f, 0xaa, 0x00, + 0x08, 0x00, 0x01, 0x00, 0x04, 0x15, 0xd6, 0x16, 0x28, 0x16, 0x7a, + 0x16, 0xcc, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x17, 0x10, 0x17, + 0x88, 0x18, 0x0a, 0x18, 0x8c, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04, + 0x18, 0xf6, 0x19, 0x48, 0x19, 0x9a, 0x19, 0xec, 0x00, 0x08, 0x00, + 0x01, 0x00, 0x04, 0x1a, 0x30, 0x1a, 0xb2, 0x1b, 0x2a, 0x1b, 0xac, + 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x1c, 0x16, 0x00, 0x04, 0x00, + 0x01, 0x00, 0x01, 0x1e, 0xce, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, + 0x21, 0x7a, 0x00, 0x08, 0x00, 0x01, 0x00, 0x08, 0x24, 0x26, 0x24, + 0x94, 0x24, 0xee, 0x25, 0x48, 0x25, 0xa2, 0x25, 0xfc, 0x26, 0x56, + 0x26, 0xb0, 0x00, 0x08, 0x00, 0x01, 0x00, 0x0d, 0x26, 0xec, 0x27, + 0x1c, 0x27, 0x4c, 0x27, 0x7c, 0x27, 0xac, 0x27, 0xdc, 0x28, 0x0c, + 0x28, 0x3c, 0x28, 0x6c, 0x28, 0x9c, 0x28, 0xcc, 0x28, 0xfc, 0x29, + 0x2c, 0x00, 0x08, 0x00, 0x01, 0x00, 0x02, 0x29, 0x3c, 0x29, 0x6a, + 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x29, 0x8e, 0x00, 0x04, 0x00, + 0x01, 0x00, 0x01, 0x2c, 0x3a, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, + 0x2f, 0xfa, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x33, 0x36, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x36, 0xf6, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x36, 0xfe, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x37, + 0x1a, 0x00, 0x01, 0x04, 0x20, 0x04, 0x04, 0x00, 0x03, 0x04, 0x54, + 0x00, 0x0c, 0x00, 0x36, 0x01, 0x46, 0x01, 0x4c, 0x01, 0x52, 0x00, + 0x00, 0x01, 0x58, 0x01, 0x5e, 0x00, 0x00, 0x01, 0x64, 0x01, 0x6a, + 0x00, 0x00, 0x01, 0x70, 0x01, 0x76, 0x01, 0x7c, 0x01, 0x82, 0x01, + 0x88, 0x00, 0x00, 0x01, 0x8e, 0x01, 0x94, 0x00, 0x00, 0x01, 0x9a, + 0x01, 0xa0, 0x00, 0x00, 0x01, 0xa6, 0x01, 0xac, 0x01, 0xb2, 0x01, + 0xb8, 0x01, 0xbe, 0x00, 0x00, 0x01, 0xc4, 0x01, 0xca, 0x00, 0x00, + 0x01, 0xd0, 0x01, 0xd6, 0x00, 0x00, 0x01, 0xdc, 0x01, 0xe2, 0x00, + 0x00, 0x01, 0xe8, 0x01, 0xee, 0x00, 0x00, 0x01, 0xf4, 0x01, 0xfa, + 0x00, 0x00, 0x02, 0x00, 0x02, 0x06, 0x00, 0x00, 0x02, 0x0c, 0x02, + 0x12, 0x00, 0x00, 0x02, 0x18, 0x02, 0x1e, 0x00, 0x00, 0x02, 0x24, + 0x02, 0x2a, 0x00, 0x00, 0x02, 0x30, 0x02, 0x36, 0x00, 0x00, 0x02, + 0x3c, 0x02, 0x42, 0x00, 0x00, 0x02, 0x48, 0x02, 0x4e, 0x00, 0x00, + 0x02, 0x54, 0x02, 0x5a, 0x00, 0x00, 0x02, 0x60, 0x02, 0x66, 0x00, + 0x00, 0x02, 0x6c, 0x02, 0x72, 0x00, 0x00, 0x02, 0x78, 0x02, 0x7e, + 0x00, 0x00, 0x02, 0x84, 0x02, 0x8a, 0x02, 0x90, 0x02, 0x96, 0x02, + 0x9c, 0x00, 0x00, 0x02, 0xa2, 0x02, 0xa8, 0x00, 0x00, 0x02, 0xae, + 0x02, 0xb4, 0x00, 0x00, 0x02, 0xba, 0x02, 0xc0, 0x02, 0xc6, 0x02, + 0xcc, 0x02, 0xd2, 0x00, 0x00, 0x02, 0xd8, 0x02, 0xde, 0x00, 0x00, + 0x02, 0xe4, 0x02, 0xea, 0x00, 0x00, 0x02, 0xf0, 0x02, 0xf6, 0x00, + 0x00, 0x02, 0xfc, 0x03, 0x02, 0x00, 0x00, 0x03, 0x08, 0x03, 0x0e, + 0x00, 0x00, 0x03, 0x14, 0x03, 0x1a, 0x00, 0x00, 0x03, 0x20, 0x03, + 0x26, 0x00, 0x00, 0x03, 0x2c, 0x03, 0x32, 0x00, 0x00, 0x03, 0x38, + 0x03, 0x3e, 0x03, 0x44, 0x03, 0x4a, 0x03, 0x50, 0x00, 0x00, 0x03, + 0x56, 0x03, 0x5c, 0x00, 0x00, 0x03, 0x62, 0x03, 0x68, 0x00, 0x00, + 0x03, 0x6e, 0x03, 0x74, 0x00, 0x00, 0x03, 0x7a, 0x03, 0x80, 0x00, + 0x00, 0x03, 0x86, 0x03, 0x8c, 0x03, 0x92, 0x03, 0x98, 0x03, 0x9e, + 0x00, 0x00, 0x03, 0xa4, 0x03, 0xaa, 0x00, 0x00, 0x03, 0xb0, 0x03, + 0xb6, 0x00, 0x00, 0x03, 0xbc, 0x03, 0xc2, 0x00, 0x00, 0x03, 0xc8, + 0x03, 0xce, 0x00, 0x00, 0x03, 0xd4, 0x03, 0xda, 0x00, 0x00, 0x03, + 0xe0, 0x03, 0xe6, 0x00, 0x00, 0x03, 0xec, 0x03, 0xf2, 0x00, 0x01, + 0x04, 0x65, 0x00, 0x1d, 0x00, 0x01, 0x02, 0x6f, 0x05, 0x42, 0x00, + 0x01, 0x02, 0x61, 0xff, 0xfc, 0x00, 0x01, 0x02, 0x53, 0x05, 0x3f, + 0x00, 0x01, 0x02, 0x4f, 0xff, 0xfc, 0x00, 0x01, 0x02, 0x7d, 0x05, + 0x59, 0x00, 0x01, 0x02, 0x97, 0xff, 0xeb, 0x00, 0x01, 0x02, 0x25, + 0x05, 0x3f, 0x00, 0x01, 0x01, 0xf0, 0x00, 0x01, 0x00, 0x01, 0x04, + 0x0b, 0x00, 0x27, 0x00, 0x01, 0x02, 0x81, 0x05, 0x45, 0x00, 0x01, + 0x02, 0x96, 0xff, 0xff, 0x00, 0x01, 0x02, 0x85, 0x05, 0x43, 0x00, + 0x01, 0x02, 0x6a, 0x00, 0x01, 0x00, 0x01, 0x02, 0x89, 0x05, 0x55, + 0x00, 0x01, 0x02, 0x95, 0xff, 0xe7, 0x00, 0x01, 0x02, 0x67, 0x05, + 0x3d, 0x00, 0x01, 0x02, 0x5b, 0x00, 0x01, 0x00, 0x01, 0x02, 0x7f, + 0x00, 0x3b, 0x00, 0x01, 0x02, 0x73, 0x05, 0x42, 0x00, 0x01, 0x02, + 0x78, 0xff, 0xfd, 0x00, 0x01, 0x02, 0xdd, 0x05, 0x43, 0x00, 0x01, + 0x02, 0x58, 0xff, 0xec, 0x00, 0x01, 0x02, 0x7b, 0x05, 0x3b, 0x00, + 0x01, 0x02, 0x87, 0xff, 0xff, 0x00, 0x01, 0x02, 0x9f, 0x05, 0x45, + 0x00, 0x01, 0x02, 0xa4, 0xff, 0xfc, 0x00, 0x01, 0x02, 0x7b, 0x05, + 0x3f, 0x00, 0x01, 0x02, 0x69, 0xff, 0xff, 0x00, 0x01, 0x02, 0x76, + 0x05, 0x3f, 0x00, 0x01, 0x02, 0x4f, 0xff, 0xff, 0x00, 0x01, 0x02, + 0x71, 0x05, 0x5b, 0x00, 0x01, 0x02, 0x68, 0xff, 0xe9, 0x00, 0x01, + 0x02, 0x55, 0x05, 0x41, 0x00, 0x01, 0x02, 0x3a, 0xff, 0xfb, 0x00, + 0x01, 0x02, 0x6f, 0x05, 0x5f, 0x00, 0x01, 0x03, 0x0e, 0xfe, 0x8c, + 0x00, 0x01, 0x02, 0x7e, 0x05, 0x4d, 0x00, 0x01, 0x02, 0x81, 0x00, + 0x02, 0x00, 0x01, 0x02, 0x5a, 0x05, 0x5e, 0x00, 0x01, 0x02, 0x63, + 0xff, 0xee, 0x00, 0x01, 0x02, 0x63, 0x05, 0x43, 0x00, 0x01, 0x02, + 0x63, 0x00, 0x00, 0x00, 0x01, 0x02, 0x70, 0x05, 0x45, 0x00, 0x01, + 0x02, 0x62, 0xff, 0xea, 0x00, 0x01, 0x02, 0x76, 0x05, 0x77, 0x00, + 0x01, 0x02, 0x68, 0xff, 0xd3, 0x00, 0x01, 0x02, 0x6f, 0x05, 0x3d, + 0x00, 0x01, 0x02, 0x64, 0xff, 0xfe, 0x00, 0x01, 0x02, 0x7c, 0x05, + 0x3f, 0x00, 0x01, 0x02, 0x5e, 0x00, 0x02, 0x00, 0x01, 0x02, 0x79, + 0x05, 0x38, 0x00, 0x01, 0x02, 0x60, 0xff, 0xfd, 0x00, 0x01, 0x02, + 0x7d, 0x05, 0x41, 0x00, 0x01, 0x02, 0x79, 0x00, 0x02, 0x00, 0x01, + 0x04, 0x33, 0x00, 0x07, 0x00, 0x01, 0x02, 0x5e, 0x04, 0x50, 0x00, + 0x01, 0x02, 0x6e, 0xff, 0xec, 0x00, 0x01, 0x02, 0x1e, 0x05, 0xbe, + 0x00, 0x01, 0x02, 0x2a, 0xff, 0xe8, 0x00, 0x01, 0x02, 0x94, 0x04, + 0x47, 0x00, 0x01, 0x02, 0x68, 0xff, 0xe9, 0x00, 0x01, 0x02, 0xbe, + 0x05, 0xc5, 0x00, 0x01, 0x02, 0x93, 0xff, 0xdf, 0x00, 0x01, 0x02, + 0xad, 0x00, 0x25, 0x00, 0x01, 0x02, 0x70, 0x04, 0x4a, 0x00, 0x01, + 0x02, 0x70, 0xff, 0xee, 0x00, 0x01, 0x02, 0xdb, 0x05, 0xc4, 0x00, + 0x01, 0x01, 0xf4, 0xff, 0xf9, 0x00, 0x01, 0x02, 0x99, 0x04, 0x50, + 0x00, 0x01, 0x02, 0xa1, 0xfe, 0x50, 0x00, 0x01, 0x02, 0x2b, 0x05, + 0xc2, 0x00, 0x01, 0x02, 0x61, 0x00, 0x00, 0x00, 0x01, 0x02, 0x8c, + 0x05, 0xca, 0x00, 0x01, 0x02, 0x96, 0xff, 0xfc, 0x00, 0x01, 0x02, + 0xe2, 0x05, 0xcc, 0x00, 0x01, 0x02, 0x04, 0xfe, 0x53, 0x00, 0x01, + 0x02, 0x54, 0x05, 0xca, 0x00, 0x01, 0x02, 0x97, 0xff, 0xff, 0x00, + 0x01, 0x01, 0xfc, 0x05, 0xca, 0x00, 0x01, 0x03, 0x07, 0xff, 0xff, + 0x00, 0x01, 0x02, 0x63, 0x04, 0x4c, 0x00, 0x01, 0x02, 0x6d, 0xff, + 0xff, 0x00, 0x01, 0x02, 0x61, 0x04, 0x4d, 0x00, 0x01, 0x02, 0x6d, + 0x00, 0x05, 0x00, 0x01, 0x02, 0x73, 0x00, 0x25, 0x00, 0x01, 0x02, + 0x7e, 0x04, 0x4a, 0x00, 0x01, 0x02, 0x6e, 0xff, 0xea, 0x00, 0x01, + 0x02, 0x67, 0x04, 0x4f, 0x00, 0x01, 0x02, 0x53, 0xfe, 0x56, 0x00, + 0x01, 0x02, 0x61, 0x04, 0x4c, 0x00, 0x01, 0x02, 0x9b, 0xfe, 0x4e, + 0x00, 0x01, 0x02, 0x7b, 0x04, 0x36, 0x00, 0x01, 0x01, 0x7f, 0xff, + 0xfe, 0x00, 0x01, 0x02, 0x74, 0x04, 0x4d, 0x00, 0x01, 0x02, 0x6d, + 0xff, 0xea, 0x00, 0x01, 0x01, 0xdb, 0x05, 0x52, 0x00, 0x01, 0x02, + 0x7c, 0xff, 0xed, 0x00, 0x01, 0x03, 0xc1, 0x00, 0x21, 0x00, 0x01, + 0x02, 0x68, 0x04, 0x38, 0x00, 0x01, 0x02, 0x74, 0xff, 0xeb, 0x00, + 0x01, 0x02, 0x79, 0x04, 0x3a, 0x00, 0x01, 0x02, 0x61, 0x00, 0x01, + 0x00, 0x01, 0x02, 0x69, 0x04, 0x37, 0x00, 0x01, 0x02, 0x5c, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x6b, 0x04, 0x36, 0x00, 0x01, 0x02, 0x6f, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x71, 0x04, 0x36, 0x00, 0x01, 0x01, + 0x99, 0xfe, 0x52, 0x00, 0x01, 0x02, 0x79, 0x04, 0x3e, 0x00, 0x01, + 0x02, 0x6f, 0xff, 0xfe, 0x00, 0x01, 0x03, 0x1e, 0x05, 0x91, 0x00, + 0x01, 0x02, 0x7a, 0xff, 0xc9, 0x00, 0x01, 0x02, 0x7a, 0x04, 0x8c, + 0x00, 0x01, 0x02, 0x3a, 0xff, 0xac, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x24, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x44, 0x00, 0x5d, 0x00, 0x1a, + 0x00, 0x88, 0x00, 0x88, 0x00, 0x34, 0x00, 0xa8, 0x00, 0xa8, 0x00, + 0x35, 0x00, 0x02, 0x00, 0x08, 0x02, 0xc1, 0x02, 0xc9, 0x00, 0x00, + 0x02, 0xcc, 0x02, 0xcd, 0x00, 0x09, 0x02, 0xd1, 0x02, 0xd1, 0x00, + 0x0b, 0x02, 0xe1, 0x02, 0xe1, 0x00, 0x0c, 0x02, 0xe4, 0x02, 0xe5, + 0x00, 0x0d, 0x02, 0xe9, 0x02, 0xe9, 0x00, 0x0f, 0x02, 0xf1, 0x02, + 0xf4, 0x00, 0x10, 0x03, 0x1d, 0x03, 0x23, 0x00, 0x14, 0x00, 0x1b, + 0x00, 0x01, 0x00, 0x6e, 0x00, 0x01, 0x00, 0x74, 0x00, 0x01, 0x00, + 0x7a, 0x00, 0x01, 0x00, 0x80, 0x00, 0x01, 0x00, 0x86, 0x00, 0x01, + 0x00, 0x8c, 0x00, 0x01, 0x00, 0x92, 0x00, 0x01, 0x00, 0x98, 0x00, + 0x01, 0x00, 0x9e, 0x00, 0x01, 0x00, 0xa4, 0x00, 0x01, 0x00, 0xaa, + 0x00, 0x01, 0x00, 0xb0, 0x00, 0x02, 0x00, 0xb6, 0x00, 0x02, 0x00, + 0xbc, 0x00, 0x02, 0x00, 0xc2, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x02, + 0x00, 0xce, 0x00, 0x02, 0x00, 0xd4, 0x00, 0x02, 0x00, 0xda, 0x00, + 0x02, 0x00, 0xe0, 0x00, 0x02, 0x00, 0xe6, 0x00, 0x01, 0x00, 0xec, + 0x00, 0x01, 0x00, 0xf2, 0x00, 0x02, 0x00, 0xf8, 0x00, 0x01, 0x00, + 0xfe, 0x00, 0x01, 0x01, 0x04, 0x00, 0x02, 0x01, 0x0a, 0x00, 0x01, + 0xff, 0x24, 0x05, 0xac, 0x00, 0x01, 0xfe, 0xc1, 0x05, 0xac, 0x00, + 0x01, 0xff, 0xff, 0x04, 0x51, 0x00, 0x01, 0xfd, 0xa2, 0x05, 0x9b, + 0x00, 0x01, 0xff, 0xff, 0x04, 0x74, 0x00, 0x01, 0xff, 0xff, 0x05, + 0xc4, 0x00, 0x01, 0xff, 0xff, 0x04, 0x30, 0x00, 0x01, 0x00, 0x00, + 0x04, 0x75, 0x00, 0x01, 0xff, 0xff, 0x04, 0x65, 0x00, 0x01, 0xff, + 0x62, 0x04, 0x51, 0x00, 0x01, 0xff, 0xff, 0x04, 0x51, 0x00, 0x01, + 0x00, 0x00, 0x04, 0x4e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2a, 0x00, + 0x01, 0xfd, 0x5d, 0x00, 0x6e, 0x00, 0x01, 0xff, 0xff, 0xff, 0xd6, + 0x00, 0x01, 0x00, 0x1e, 0xff, 0xf7, 0x00, 0x01, 0x00, 0x01, 0x00, + 0x2a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0xff, 0xff, + 0xff, 0xb1, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x63, 0x00, 0x01, 0xff, + 0x98, 0x00, 0x92, 0x00, 0x01, 0xff, 0xb9, 0x04, 0x62, 0x00, 0x01, + 0xff, 0x56, 0x04, 0xac, 0x00, 0x01, 0xff, 0x52, 0x00, 0x1c, 0x00, + 0x01, 0xff, 0x96, 0x04, 0x63, 0x00, 0x01, 0xff, 0x9e, 0x04, 0x61, + 0x00, 0x01, 0xff, 0x54, 0x00, 0x0b, 0x00, 0x01, 0x02, 0x96, 0x02, + 0x6e, 0x00, 0x01, 0x02, 0x9c, 0x00, 0x0c, 0x00, 0x4c, 0x00, 0x9a, + 0x00, 0xa0, 0x00, 0xa6, 0x00, 0xac, 0x00, 0xb2, 0x00, 0xb8, 0x00, + 0xbe, 0x00, 0xc4, 0x00, 0xca, 0x00, 0xd0, 0x00, 0xd6, 0x00, 0xdc, + 0x00, 0xe2, 0x00, 0xe8, 0x00, 0xee, 0x00, 0xf4, 0x00, 0xfa, 0x01, + 0x00, 0x01, 0x06, 0x01, 0x0c, 0x01, 0x12, 0x01, 0x18, 0x01, 0x1e, + 0x01, 0x24, 0x01, 0x2a, 0x01, 0x30, 0x01, 0x36, 0x01, 0x3c, 0x01, + 0x42, 0x01, 0x48, 0x01, 0x4e, 0x01, 0x54, 0x01, 0x5a, 0x01, 0x60, + 0x01, 0x66, 0x01, 0x6c, 0x01, 0x72, 0x01, 0x78, 0x01, 0x7e, 0x01, + 0x84, 0x01, 0x8a, 0x01, 0x90, 0x01, 0x96, 0x01, 0x9c, 0x01, 0xa2, + 0x01, 0xa8, 0x01, 0xae, 0x01, 0xb4, 0x01, 0xba, 0x01, 0xc0, 0x01, + 0xc6, 0x01, 0xcc, 0x01, 0xd2, 0x01, 0xd8, 0x01, 0xde, 0x01, 0xe4, + 0x01, 0xea, 0x01, 0xf0, 0x01, 0xf6, 0x01, 0xfc, 0x02, 0x02, 0x02, + 0x08, 0x02, 0x0e, 0x02, 0x14, 0x02, 0x1a, 0x02, 0x20, 0x02, 0x26, + 0x02, 0x2c, 0x02, 0x32, 0x02, 0x38, 0x02, 0x3e, 0x02, 0x44, 0x02, + 0x4a, 0x02, 0x50, 0x02, 0x56, 0x02, 0x5c, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x96, 0x00, 0x01, 0x00, 0x14, 0x05, 0x96, 0x00, 0x01, 0x00, + 0xc8, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, + 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x02, 0x67, 0x05, 0x96, 0x00, + 0x01, 0x00, 0xdc, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, + 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x01, 0x90, 0x05, + 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x96, 0x00, 0x01, 0xff, 0xe2, 0x05, 0x96, 0x00, 0x01, 0x00, + 0x00, 0x05, 0x96, 0x00, 0x01, 0xff, 0xe2, 0x05, 0x96, 0x00, 0x01, + 0x01, 0x90, 0x05, 0x96, 0x00, 0x01, 0x01, 0x04, 0x05, 0x96, 0x00, + 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x1e, 0x05, 0x96, + 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, + 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, + 0x00, 0x05, 0x96, 0x00, 0x01, 0xff, 0xc4, 0x05, 0x96, 0x00, 0x01, + 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x78, 0x05, 0x96, 0x00, + 0x01, 0x00, 0x78, 0x05, 0x96, 0x00, 0x01, 0x00, 0x78, 0x05, 0x96, + 0x00, 0x01, 0x00, 0x64, 0x05, 0xa1, 0x00, 0x01, 0x00, 0x78, 0x05, + 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, + 0x00, 0x05, 0x96, 0x00, 0x01, 0xff, 0xe2, 0x05, 0x96, 0x00, 0x01, + 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, + 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0xff, 0xc4, 0x05, 0x96, + 0x00, 0x01, 0xff, 0x60, 0x05, 0x96, 0x00, 0x01, 0xff, 0xc4, 0x05, + 0x96, 0x00, 0x01, 0xff, 0x60, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, + 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x14, 0x05, 0x96, 0x00, 0x01, + 0x00, 0xc8, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, + 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x01, 0xcc, 0x05, 0x96, + 0x00, 0x01, 0x00, 0xdc, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, + 0x96, 0x00, 0x01, 0x01, 0xcc, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, + 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0xff, + 0xe2, 0x05, 0x96, 0x00, 0x01, 0xff, 0xe2, 0x05, 0x96, 0x00, 0x01, + 0x01, 0x04, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, + 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, + 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, + 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0xff, 0xc4, + 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x01, + 0xcc, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, + 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, + 0x01, 0xff, 0x60, 0x05, 0x96, 0x00, 0x01, 0xff, 0x60, 0x05, 0x96, + 0x00, 0x01, 0x00, 0x00, 0x05, 0x96, 0x00, 0x01, 0x00, 0x00, 0x05, + 0x96, 0x00, 0x02, 0x00, 0x06, 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, + 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd4, 0x08, 0xd4, 0x00, + 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x20, 0x08, 0xdf, 0x08, 0xfe, + 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x48, 0x00, 0x01, 0x00, + 0x01, 0x04, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x6a, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x16, 0x00, + 0x01, 0x00, 0x22, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, + 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x00, 0x01, 0x08, 0x8f, 0x00, + 0x01, 0x00, 0x01, 0x04, 0xf8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x96, 0x00, 0x01, 0x00, 0xc6, 0x00, + 0x9e, 0x00, 0x01, 0x00, 0xcc, 0x00, 0x0c, 0x00, 0x12, 0x00, 0x26, + 0x00, 0x2c, 0x00, 0x32, 0x00, 0x38, 0x00, 0x3e, 0x00, 0x44, 0x00, + 0x4a, 0x00, 0x50, 0x00, 0x56, 0x00, 0x5c, 0x00, 0x62, 0x00, 0x68, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x7a, 0x00, 0x80, 0x00, 0x86, 0x00, + 0x8c, 0x00, 0x01, 0x02, 0x66, 0x02, 0x58, 0x00, 0x01, 0x02, 0x66, + 0x02, 0x58, 0x00, 0x01, 0x01, 0x40, 0x02, 0xbc, 0x00, 0x01, 0x02, + 0xb3, 0x03, 0x41, 0x00, 0x01, 0x00, 0xc1, 0x02, 0x1c, 0x00, 0x01, + 0x00, 0x32, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x32, 0x03, 0x7a, 0x00, + 0x01, 0x00, 0x32, 0x03, 0x7a, 0x00, 0x01, 0x02, 0x66, 0x02, 0x58, + 0x00, 0x01, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x01, 0x01, 0xc2, 0x02, + 0x58, 0x00, 0x01, 0x02, 0x66, 0x02, 0x58, 0x00, 0x01, 0x01, 0xb8, + 0x02, 0x80, 0x00, 0x01, 0x01, 0xae, 0x02, 0xd0, 0x00, 0x01, 0x01, + 0xfe, 0x02, 0x58, 0x00, 0x01, 0x02, 0xa2, 0x02, 0x94, 0x00, 0x01, + 0x02, 0xae, 0x01, 0xc7, 0x00, 0x01, 0x02, 0xae, 0x01, 0xc7, 0x00, + 0x01, 0x00, 0x12, 0x05, 0x06, 0x05, 0x0c, 0x05, 0x0e, 0x05, 0x11, + 0x05, 0x14, 0x05, 0x1a, 0x05, 0x1b, 0x05, 0x1c, 0x08, 0x8f, 0x08, + 0xd6, 0x08, 0xd7, 0x08, 0xd8, 0x08, 0xd9, 0x08, 0xda, 0x08, 0xdc, + 0x08, 0xdd, 0x08, 0xdf, 0x08, 0xe0, 0x00, 0x01, 0x00, 0x01, 0x04, + 0xf3, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x02, 0x66, + 0x02, 0xbc, 0x00, 0x01, 0x04, 0xf6, 0x04, 0xce, 0x00, 0x02, 0x05, + 0x1c, 0x00, 0x0c, 0x00, 0x4c, 0x01, 0x32, 0x01, 0x38, 0x01, 0x3e, + 0x01, 0x44, 0x01, 0x4a, 0x01, 0x50, 0x01, 0x56, 0x01, 0x5c, 0x01, + 0x62, 0x01, 0x68, 0x01, 0x6e, 0x01, 0x74, 0x01, 0x7a, 0x01, 0x80, + 0x01, 0x86, 0x01, 0x8c, 0x01, 0x92, 0x01, 0x98, 0x01, 0x9e, 0x01, + 0xa4, 0x01, 0xaa, 0x01, 0xb0, 0x01, 0xb6, 0x01, 0xbc, 0x01, 0xc2, + 0x01, 0xc8, 0x01, 0xce, 0x01, 0xd4, 0x01, 0xda, 0x01, 0xe0, 0x01, + 0xe6, 0x01, 0xec, 0x01, 0xf2, 0x01, 0xf8, 0x01, 0xfe, 0x02, 0x04, + 0x02, 0x0a, 0x02, 0x10, 0x02, 0x16, 0x02, 0x1c, 0x02, 0x22, 0x02, + 0x28, 0x02, 0x2e, 0x02, 0x34, 0x02, 0x3a, 0x02, 0x40, 0x02, 0x46, + 0x02, 0x4c, 0x02, 0x52, 0x02, 0x58, 0x02, 0x5e, 0x02, 0x64, 0x02, + 0x6a, 0x02, 0x70, 0x02, 0x76, 0x02, 0x7c, 0x02, 0x82, 0x02, 0x88, + 0x02, 0x8e, 0x02, 0x94, 0x02, 0x9a, 0x02, 0xa0, 0x02, 0xa6, 0x02, + 0xac, 0x02, 0xb2, 0x02, 0xb8, 0x02, 0xbe, 0x02, 0xc4, 0x02, 0xca, + 0x02, 0xd0, 0x02, 0xd6, 0x02, 0xdc, 0x02, 0xe2, 0x02, 0xe8, 0x02, + 0xee, 0x02, 0xf4, 0x02, 0xfa, 0x03, 0x00, 0x03, 0x06, 0x03, 0x0c, + 0x03, 0x12, 0x03, 0x18, 0x03, 0x1e, 0x03, 0x24, 0x03, 0x2a, 0x03, + 0x30, 0x03, 0x36, 0x03, 0x3c, 0x03, 0x42, 0x03, 0x48, 0x03, 0x4e, + 0x03, 0x54, 0x03, 0x5a, 0x03, 0x60, 0x03, 0x66, 0x03, 0x6c, 0x03, + 0x72, 0x03, 0x78, 0x03, 0x7e, 0x03, 0x84, 0x03, 0x8a, 0x03, 0x90, + 0x03, 0x96, 0x03, 0x9c, 0x03, 0xa2, 0x03, 0xa8, 0x03, 0xae, 0x03, + 0xb4, 0x03, 0xba, 0x03, 0xc0, 0x03, 0xc6, 0x03, 0xcc, 0x03, 0xd2, + 0x03, 0xd8, 0x03, 0xde, 0x03, 0xe4, 0x03, 0xea, 0x03, 0xf0, 0x03, + 0xf6, 0x03, 0xfc, 0x04, 0x02, 0x04, 0x08, 0x04, 0x0e, 0x04, 0x14, + 0x04, 0x1a, 0x04, 0x20, 0x04, 0x26, 0x04, 0x2c, 0x04, 0x32, 0x04, + 0x38, 0x04, 0x3e, 0x04, 0x44, 0x04, 0x4a, 0x04, 0x50, 0x04, 0x56, + 0x04, 0x5c, 0x04, 0x62, 0x04, 0x68, 0x04, 0x6e, 0x04, 0x74, 0x04, + 0x7a, 0x04, 0x80, 0x04, 0x86, 0x04, 0x8c, 0x04, 0x92, 0x04, 0x98, + 0x04, 0x9e, 0x04, 0xa4, 0x04, 0xaa, 0x04, 0xb0, 0x04, 0xb6, 0x04, + 0xbc, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x06, 0xa4, 0x00, 0x01, 0x01, 0xf4, 0x05, 0x46, 0x00, 0x01, 0x01, + 0xf4, 0x06, 0xa4, 0x00, 0x01, 0x01, 0xcc, 0x05, 0x46, 0x00, 0x01, + 0x01, 0xcc, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x1c, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x1c, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x4e, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, 0x02, + 0x4e, 0x05, 0x46, 0x00, 0x01, 0x02, 0x4e, 0x06, 0xa4, 0x00, 0x01, + 0x02, 0x4e, 0x05, 0x46, 0x00, 0x01, 0x02, 0x4e, 0x06, 0xa4, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, + 0x00, 0x01, 0x01, 0xe0, 0x05, 0x46, 0x00, 0x01, 0x01, 0xe0, 0x06, + 0xa4, 0x00, 0x01, 0x01, 0xf4, 0x05, 0x46, 0x00, 0x01, 0x01, 0xf4, + 0x06, 0xa4, 0x00, 0x01, 0x02, 0x58, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x58, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x4e, 0x06, 0xa4, 0x00, 0x01, 0x02, 0xbc, 0x05, 0x46, 0x00, + 0x01, 0x02, 0xbc, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x26, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x26, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x4e, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x4e, 0x06, 0xa4, 0x00, 0x01, 0x02, + 0x70, 0x05, 0x46, 0x00, 0x01, 0x02, 0x70, 0x06, 0xa4, 0x00, 0x01, + 0x02, 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, 0x44, 0x06, 0xa4, 0x00, + 0x01, 0x02, 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, 0x44, 0x06, 0xa4, + 0x00, 0x01, 0x02, 0x58, 0x05, 0x46, 0x00, 0x01, 0x02, 0x58, 0x06, + 0xa4, 0x00, 0x01, 0x02, 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, 0x44, + 0x06, 0xa4, 0x00, 0x01, 0x02, 0x30, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x30, 0x06, 0xa4, 0x00, 0x01, 0x01, 0xc2, 0x05, 0x46, 0x00, 0x01, + 0x01, 0xc2, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x4e, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, 0x02, + 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x08, 0x06, 0xa4, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x06, + 0xa4, 0x00, 0x01, 0x02, 0x1c, 0x05, 0x46, 0x00, 0x01, 0x02, 0x1c, + 0x06, 0xa4, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x4e, 0x06, 0xa4, 0x00, 0x01, 0x01, 0xf4, 0x05, 0x46, 0x00, 0x01, + 0x01, 0xf4, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x58, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x58, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x4e, 0x06, 0xa4, 0x00, 0x01, 0x01, 0xc2, 0x05, + 0x46, 0x00, 0x01, 0x01, 0xc2, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x4e, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x4e, 0x06, 0xa4, 0x00, 0x01, 0x02, + 0x8a, 0x05, 0x46, 0x00, 0x01, 0x02, 0xf8, 0x06, 0xa4, 0x00, 0x01, + 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x02, 0xf8, 0x06, 0xa4, 0x00, + 0x01, 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x02, 0xf8, 0x06, 0xa4, + 0x00, 0x01, 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x02, 0xf8, 0x06, + 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x94, + 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x94, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x94, 0x06, 0xa4, 0x00, 0x01, 0x01, 0xf4, 0x05, 0x46, 0x00, + 0x01, 0x01, 0xf4, 0x06, 0xa4, 0x00, 0x01, 0x01, 0xf4, 0x05, 0x46, + 0x00, 0x01, 0x01, 0x68, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x1c, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x1c, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x58, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x58, 0x06, 0xa4, 0x00, 0x01, 0x02, + 0xbc, 0x05, 0x46, 0x00, 0x01, 0x01, 0x0e, 0x06, 0xa4, 0x00, 0x01, + 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x01, 0xa4, 0x06, 0xa4, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x94, 0x06, 0xa4, + 0x00, 0x01, 0x02, 0xd0, 0x05, 0x46, 0x00, 0x01, 0x01, 0x0e, 0x06, + 0xa4, 0x00, 0x01, 0x01, 0xf4, 0x05, 0x46, 0x00, 0x01, 0x01, 0x90, + 0x06, 0xa4, 0x00, 0x01, 0x01, 0xd6, 0x05, 0x46, 0x00, 0x01, 0x01, + 0x90, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x58, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x58, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x8a, 0x05, 0x46, 0x00, + 0x01, 0x03, 0x0c, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x08, 0x05, 0x46, + 0x00, 0x01, 0x01, 0x40, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x80, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x44, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x58, 0x06, 0xa4, 0x00, 0x01, 0x02, + 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, 0x58, 0x06, 0xa4, 0x00, 0x01, + 0x02, 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, 0x08, 0x06, 0xa4, 0x00, + 0x01, 0x02, 0x30, 0x05, 0x46, 0x00, 0x01, 0x02, 0x30, 0x06, 0xa4, + 0x00, 0x01, 0x01, 0xe0, 0x05, 0x46, 0x00, 0x01, 0x01, 0xa4, 0x06, + 0xa4, 0x00, 0x01, 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x02, 0xf8, + 0x06, 0xa4, 0x00, 0x01, 0x02, 0x26, 0x05, 0x46, 0x00, 0x01, 0x02, + 0xbc, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x66, 0x06, 0xa4, 0x00, 0x01, + 0x01, 0x0e, 0x06, 0xa4, 0x00, 0x01, 0x01, 0xf4, 0x06, 0xa4, 0x00, + 0x01, 0x01, 0xf4, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x26, 0x06, 0xa4, + 0x00, 0x01, 0x01, 0xcc, 0x06, 0xa4, 0x00, 0x01, 0x02, 0x30, 0x06, + 0xa4, 0x00, 0x01, 0x02, 0x30, 0x06, 0xa4, 0x00, 0x01, 0x02, 0xee, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x58, 0x06, 0xa4, 0x00, 0x01, 0x02, + 0xee, 0x05, 0x46, 0x00, 0x01, 0x02, 0x58, 0x06, 0xa4, 0x00, 0x01, + 0x01, 0xc2, 0x05, 0x46, 0x00, 0x01, 0x01, 0x90, 0x06, 0xa4, 0x00, + 0x01, 0x01, 0xc2, 0x05, 0x46, 0x00, 0x01, 0x01, 0x90, 0x06, 0xa4, + 0x00, 0x02, 0x00, 0x06, 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, + 0x8f, 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x1f, + 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x20, 0x08, 0xdf, 0x08, 0xfe, 0x00, + 0x28, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x48, 0x00, 0x01, 0x00, 0x11, + 0x04, 0xc9, 0x04, 0xca, 0x04, 0xcb, 0x04, 0xcc, 0x04, 0xce, 0x04, + 0xcf, 0x04, 0xd3, 0x04, 0xd5, 0x04, 0xd6, 0x04, 0xd8, 0x04, 0xdf, + 0x04, 0xe2, 0x04, 0xe3, 0x04, 0xe6, 0x04, 0xf6, 0x04, 0xfb, 0x08, + 0xd3, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x4c, + 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x5e, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x70, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x7c, 0x00, + 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x8e, + 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x01, 0x00, + 0xa0, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x6e, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x06, 0x0e, 0x00, 0x01, 0x02, 0x66, 0x05, 0x9a, 0x00, 0x01, 0x04, + 0xf6, 0x04, 0xce, 0x00, 0x02, 0x05, 0x2e, 0x00, 0x0c, 0x00, 0x4c, + 0x01, 0x32, 0x01, 0x38, 0x01, 0x3e, 0x01, 0x44, 0x01, 0x4a, 0x01, + 0x50, 0x01, 0x56, 0x01, 0x5c, 0x01, 0x62, 0x01, 0x68, 0x01, 0x6e, + 0x01, 0x74, 0x01, 0x7a, 0x01, 0x80, 0x01, 0x86, 0x01, 0x8c, 0x01, + 0x92, 0x01, 0x98, 0x01, 0x9e, 0x01, 0xa4, 0x01, 0xaa, 0x01, 0xb0, + 0x01, 0xb6, 0x01, 0xbc, 0x01, 0xc2, 0x01, 0xc8, 0x01, 0xce, 0x01, + 0xd4, 0x01, 0xda, 0x01, 0xe0, 0x01, 0xe6, 0x01, 0xec, 0x01, 0xf2, + 0x01, 0xf8, 0x01, 0xfe, 0x02, 0x04, 0x02, 0x0a, 0x02, 0x10, 0x02, + 0x16, 0x02, 0x1c, 0x02, 0x22, 0x02, 0x28, 0x02, 0x2e, 0x02, 0x34, + 0x02, 0x3a, 0x02, 0x40, 0x02, 0x46, 0x02, 0x4c, 0x02, 0x52, 0x02, + 0x58, 0x02, 0x5e, 0x02, 0x64, 0x02, 0x6a, 0x02, 0x70, 0x02, 0x76, + 0x02, 0x7c, 0x02, 0x82, 0x02, 0x88, 0x02, 0x8e, 0x02, 0x94, 0x02, + 0x9a, 0x02, 0xa0, 0x02, 0xa6, 0x02, 0xac, 0x02, 0xb2, 0x02, 0xb8, + 0x02, 0xbe, 0x02, 0xc4, 0x02, 0xca, 0x02, 0xd0, 0x02, 0xd6, 0x02, + 0xdc, 0x02, 0xe2, 0x02, 0xe8, 0x02, 0xee, 0x02, 0xf4, 0x02, 0xfa, + 0x03, 0x00, 0x03, 0x06, 0x03, 0x0c, 0x03, 0x12, 0x03, 0x18, 0x03, + 0x1e, 0x03, 0x24, 0x03, 0x2a, 0x03, 0x30, 0x03, 0x36, 0x03, 0x3c, + 0x03, 0x42, 0x03, 0x48, 0x03, 0x4e, 0x03, 0x54, 0x03, 0x5a, 0x03, + 0x60, 0x03, 0x66, 0x03, 0x6c, 0x03, 0x72, 0x03, 0x78, 0x03, 0x7e, + 0x03, 0x84, 0x03, 0x8a, 0x03, 0x90, 0x03, 0x96, 0x03, 0x9c, 0x03, + 0xa2, 0x03, 0xa8, 0x03, 0xae, 0x03, 0xb4, 0x03, 0xba, 0x03, 0xc0, + 0x03, 0xc6, 0x03, 0xcc, 0x03, 0xd2, 0x03, 0xd8, 0x03, 0xde, 0x03, + 0xe4, 0x03, 0xea, 0x03, 0xf0, 0x03, 0xf6, 0x03, 0xfc, 0x04, 0x02, + 0x04, 0x08, 0x04, 0x0e, 0x04, 0x14, 0x04, 0x1a, 0x04, 0x20, 0x04, + 0x26, 0x04, 0x2c, 0x04, 0x32, 0x04, 0x38, 0x04, 0x3e, 0x04, 0x44, + 0x04, 0x4a, 0x04, 0x50, 0x04, 0x56, 0x04, 0x5c, 0x04, 0x62, 0x04, + 0x68, 0x04, 0x6e, 0x04, 0x74, 0x04, 0x7a, 0x04, 0x80, 0x04, 0x86, + 0x04, 0x8c, 0x04, 0x92, 0x04, 0x98, 0x04, 0x9e, 0x04, 0xa4, 0x04, + 0xaa, 0x04, 0xb0, 0x04, 0xb6, 0x04, 0xbc, 0x00, 0x01, 0x02, 0x4e, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x4e, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x30, 0x00, 0x00, 0x00, 0x01, 0x02, 0x30, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x4d, 0x00, 0x00, 0x00, 0x01, 0x03, 0x4d, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x5c, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, + 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0xf4, + 0x00, 0x00, 0x00, 0x01, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x01, 0x01, + 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x58, 0x00, 0x00, 0x00, 0x01, 0x02, 0x94, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x94, 0x00, 0x00, 0x00, 0x01, 0x01, 0xb8, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xb8, 0x00, 0x00, 0x00, 0x01, 0x02, 0x3a, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x3a, 0x00, 0x00, 0x00, 0x01, 0x03, 0xc0, 0x00, + 0x00, 0x00, 0x01, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x00, 0x00, 0x01, 0x03, + 0x5c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x01, + 0x03, 0x84, 0x00, 0x00, 0x00, 0x01, 0x01, 0xc2, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x08, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x08, 0x00, 0x00, 0x00, 0x01, 0x02, 0x4e, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x4e, 0x00, 0x00, 0x00, 0x01, 0x03, 0x4d, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x4d, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x01, 0xf4, 0x00, 0x00, 0x00, 0x01, 0x01, 0xf4, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x01, 0xc2, 0x00, 0x00, 0x00, 0x01, 0x01, 0xc2, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, 0x00, 0x01, + 0x02, 0xd0, 0x00, 0x00, 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, 0x00, + 0x01, 0x02, 0xd0, 0x00, 0x00, 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, + 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, 0x00, 0x01, 0x02, 0xd0, 0x00, + 0x00, 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, 0x00, 0x01, 0x01, 0x68, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x94, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x68, 0x00, 0x00, 0x00, 0x01, 0x02, 0x94, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x94, 0x00, 0x00, 0x00, 0x01, 0x02, 0x94, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x30, 0x00, 0x00, 0x00, 0x01, 0x02, 0x30, 0x00, 0x00, + 0x00, 0x01, 0x01, 0xc2, 0x00, 0x00, 0x00, 0x01, 0x01, 0xc2, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x3e, 0x00, 0x00, 0x00, 0x01, 0x02, 0x30, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x94, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x94, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x02, 0xa8, 0x00, 0x00, + 0x00, 0x01, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x01, 0x18, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x18, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, + 0xcc, 0x00, 0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x00, 0x01, + 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, + 0x01, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x02, 0xa8, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x68, 0x00, 0x00, 0x00, 0x01, 0x01, 0x68, 0x00, + 0x00, 0x00, 0x01, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x02, 0xa8, + 0x00, 0x00, 0x00, 0x01, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x01, 0x01, + 0xf4, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x58, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, 0x01, 0x03, 0x5c, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x03, 0x34, 0x00, + 0x00, 0x00, 0x01, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x01, 0x02, 0xd0, + 0x00, 0x00, 0x00, 0x01, 0x02, 0xd0, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x94, 0x00, 0x00, 0x00, 0x01, 0x02, 0x94, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0e, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x30, 0x00, 0x00, 0x00, 0x01, 0x02, 0x30, 0x00, 0x00, + 0x00, 0x01, 0x01, 0xcc, 0x00, 0x00, 0x00, 0x01, 0x01, 0xcc, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, + 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, + 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, + 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x54, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x04, + 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, + 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, + 0x20, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, + 0x00, 0x48, 0x00, 0x01, 0x00, 0x1a, 0x04, 0xc8, 0x04, 0xcd, 0x04, + 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, + 0x04, 0xde, 0x04, 0xe1, 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, + 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, + 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfc, 0x04, 0xfe, 0x09, 0x73, 0x09, + 0x74, 0x09, 0x75, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, + 0x00, 0x70, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x7c, 0x00, + 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x8e, + 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, + 0xa0, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, + 0x00, 0xb2, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0xbe, 0x00, + 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00, 0xd0, + 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, + 0xe2, 0x00, 0x01, 0x00, 0xe8, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, + 0x00, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x32, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x14, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x14, 0x00, 0x03, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x14, + 0x00, 0x01, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x02, 0x04, 0xf6, 0x08, 0xd3, 0x00, 0x02, 0x00, 0x03, + 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, + 0x1e, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0e, + 0x04, 0xc9, 0x04, 0xca, 0x04, 0xcb, 0x04, 0xcc, 0x04, 0xce, 0x04, + 0xcf, 0x04, 0xd3, 0x04, 0xd5, 0x04, 0xd6, 0x04, 0xd8, 0x04, 0xdf, + 0x04, 0xe2, 0x04, 0xe3, 0x04, 0xe6, 0x00, 0x03, 0x00, 0x02, 0x00, + 0x1c, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x02, 0x04, 0xf6, 0x08, + 0xd3, 0x00, 0x01, 0x00, 0x0e, 0x04, 0xc9, 0x04, 0xca, 0x04, 0xcb, + 0x04, 0xcc, 0x04, 0xce, 0x04, 0xcf, 0x04, 0xd3, 0x04, 0xd5, 0x04, + 0xd6, 0x04, 0xd8, 0x04, 0xdf, 0x04, 0xe2, 0x04, 0xe3, 0x04, 0xe6, + 0x00, 0x02, 0x00, 0x03, 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, + 0x8f, 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, + 0x00, 0x03, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x14, 0x00, + 0x01, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, + 0x00, 0x02, 0x04, 0xf6, 0x08, 0xd3, 0x00, 0x02, 0x00, 0x03, 0x08, + 0xd4, 0x08, 0xd4, 0x00, 0x00, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x01, + 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x21, 0x00, 0x01, 0x00, 0x0e, 0x04, + 0xc9, 0x04, 0xca, 0x04, 0xcb, 0x04, 0xcc, 0x04, 0xce, 0x04, 0xcf, + 0x04, 0xd3, 0x04, 0xd5, 0x04, 0xd6, 0x04, 0xd8, 0x04, 0xdf, 0x04, + 0xe2, 0x04, 0xe3, 0x04, 0xe6, 0x00, 0x03, 0x00, 0x02, 0x00, 0x1c, + 0x00, 0x3c, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x02, 0x04, 0xf6, 0x08, 0xd3, + 0x00, 0x01, 0x00, 0x0e, 0x04, 0xc9, 0x04, 0xca, 0x04, 0xcb, 0x04, + 0xcc, 0x04, 0xce, 0x04, 0xcf, 0x04, 0xd3, 0x04, 0xd5, 0x04, 0xd6, + 0x04, 0xd8, 0x04, 0xdf, 0x04, 0xe2, 0x04, 0xe3, 0x04, 0xe6, 0x00, + 0x02, 0x00, 0x03, 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x00, 0x08, 0xdf, + 0x08, 0xfe, 0x00, 0x01, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x21, 0x00, + 0x03, 0x00, 0x01, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, + 0x00, 0x60, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, + 0x19, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, + 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x04, + 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, + 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, + 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x02, 0x00, 0x03, + 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, + 0x1e, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0a, + 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, + 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x00, 0x03, + 0x00, 0x01, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, + 0x60, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x19, + 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, + 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x04, 0xe7, + 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, + 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, + 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x02, 0x00, 0x03, 0x04, + 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, + 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x0f, 0x04, + 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, + 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, + 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x03, 0x00, 0x01, + 0x00, 0x4a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, 0x60, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x19, 0x04, 0xc8, + 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, + 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x04, 0xe7, 0x04, 0xe8, + 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, + 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, 0x73, + 0x09, 0x74, 0x09, 0x75, 0x00, 0x02, 0x00, 0x03, 0x08, 0xd4, 0x08, + 0xd4, 0x00, 0x00, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x01, 0x09, 0x6a, + 0x09, 0x6d, 0x00, 0x21, 0x00, 0x01, 0x00, 0x0f, 0x04, 0xe7, 0x04, + 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, + 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, + 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x03, 0x00, 0x01, 0x00, 0x4a, + 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, 0x60, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x19, 0x04, 0xc8, 0x04, 0xcd, + 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, + 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, + 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, + 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, + 0x09, 0x75, 0x00, 0x02, 0x00, 0x03, 0x08, 0xd4, 0x08, 0xd4, 0x00, + 0x00, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x01, 0x09, 0x6a, 0x09, 0x6d, + 0x00, 0x21, 0x00, 0x01, 0x00, 0x0a, 0x04, 0xc8, 0x04, 0xcd, 0x04, + 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, + 0x04, 0xde, 0x04, 0xe1, 0x00, 0x03, 0x00, 0x02, 0x00, 0x34, 0x00, + 0x3c, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x12, 0x00, 0x01, 0x00, 0x0e, 0x04, 0xc9, 0x04, 0xca, 0x04, + 0xcb, 0x04, 0xcc, 0x04, 0xce, 0x04, 0xcf, 0x04, 0xd3, 0x04, 0xd5, + 0x04, 0xd6, 0x04, 0xd8, 0x04, 0xdf, 0x04, 0xe2, 0x04, 0xe3, 0x04, + 0xe6, 0x00, 0x01, 0x00, 0x02, 0x04, 0xf6, 0x08, 0xd3, 0x00, 0x02, + 0x00, 0x03, 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, + 0x8f, 0x00, 0x1e, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, 0x00, 0x03, + 0x00, 0x01, 0x00, 0x34, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, + 0x4a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x01, 0x00, 0x0e, + 0x04, 0xc9, 0x04, 0xca, 0x04, 0xcb, 0x04, 0xcc, 0x04, 0xce, 0x04, + 0xcf, 0x04, 0xd3, 0x04, 0xd5, 0x04, 0xd6, 0x04, 0xd8, 0x04, 0xdf, + 0x04, 0xe2, 0x04, 0xe3, 0x04, 0xe6, 0x00, 0x02, 0x00, 0x03, 0x04, + 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, + 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x02, 0x04, + 0xf6, 0x08, 0xd3, 0x00, 0x03, 0x00, 0x02, 0x00, 0x34, 0x00, 0x3c, + 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x01, 0x00, 0x0e, 0x04, 0xc9, 0x04, 0xca, 0x04, 0xcb, + 0x04, 0xcc, 0x04, 0xce, 0x04, 0xcf, 0x04, 0xd3, 0x04, 0xd5, 0x04, + 0xd6, 0x04, 0xd8, 0x04, 0xdf, 0x04, 0xe2, 0x04, 0xe3, 0x04, 0xe6, + 0x00, 0x01, 0x00, 0x02, 0x04, 0xf6, 0x08, 0xd3, 0x00, 0x02, 0x00, + 0x03, 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x00, 0x08, 0xdf, 0x08, 0xfe, + 0x00, 0x01, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x21, 0x00, 0x03, 0x00, + 0x01, 0x00, 0x34, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, 0x4a, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x01, 0x00, 0x0e, 0x04, + 0xc9, 0x04, 0xca, 0x04, 0xcb, 0x04, 0xcc, 0x04, 0xce, 0x04, 0xcf, + 0x04, 0xd3, 0x04, 0xd5, 0x04, 0xd6, 0x04, 0xd8, 0x04, 0xdf, 0x04, + 0xe2, 0x04, 0xe3, 0x04, 0xe6, 0x00, 0x02, 0x00, 0x03, 0x08, 0xd4, + 0x08, 0xd4, 0x00, 0x00, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x01, 0x09, + 0x6a, 0x09, 0x6d, 0x00, 0x21, 0x00, 0x01, 0x00, 0x02, 0x04, 0xf6, + 0x08, 0xd3, 0x00, 0x03, 0x00, 0x02, 0x00, 0x4a, 0x00, 0x6c, 0x00, + 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, + 0x00, 0x01, 0x00, 0x19, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, + 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, + 0x04, 0xe1, 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, + 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, + 0x04, 0xf4, 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, + 0x01, 0x00, 0x0f, 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, + 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, + 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, + 0x00, 0x02, 0x00, 0x03, 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, + 0x8f, 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, + 0x00, 0x03, 0x00, 0x02, 0x00, 0x4a, 0x00, 0x62, 0x00, 0x01, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x01, + 0x00, 0x19, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, + 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, + 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, + 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, + 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x01, 0x00, + 0x0a, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, + 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x00, + 0x02, 0x00, 0x03, 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, + 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, 0x00, + 0x03, 0x00, 0x02, 0x00, 0x4a, 0x00, 0x6c, 0x00, 0x01, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x01, 0x00, + 0x19, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, + 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x04, + 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, + 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, + 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x01, 0x00, 0x0f, + 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, + 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, + 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x02, 0x00, + 0x03, 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x00, 0x08, 0xdf, 0x08, 0xfe, + 0x00, 0x01, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x21, 0x00, 0x03, 0x00, + 0x02, 0x00, 0x4a, 0x00, 0x62, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x01, 0x00, 0x19, 0x04, + 0xc8, 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, + 0x04, 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x04, 0xe7, 0x04, + 0xe8, 0x04, 0xe9, 0x04, 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, + 0x04, 0xee, 0x04, 0xef, 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, + 0x73, 0x09, 0x74, 0x09, 0x75, 0x00, 0x01, 0x00, 0x0a, 0x04, 0xc8, + 0x04, 0xcd, 0x04, 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, + 0xdc, 0x04, 0xdd, 0x04, 0xde, 0x04, 0xe1, 0x00, 0x02, 0x00, 0x03, + 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x00, 0x08, 0xdf, 0x08, 0xfe, 0x00, + 0x01, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x21, 0x00, 0x01, 0x02, 0x96, + 0x02, 0x6e, 0x00, 0x01, 0x02, 0xa0, 0x00, 0x0c, 0x00, 0x4c, 0x00, + 0x9a, 0x00, 0xa0, 0x00, 0xa6, 0x00, 0xac, 0x00, 0xb2, 0x00, 0xb8, + 0x00, 0xbe, 0x00, 0xc4, 0x00, 0xca, 0x00, 0xd0, 0x00, 0xd6, 0x00, + 0xdc, 0x00, 0xe2, 0x00, 0xe8, 0x00, 0xee, 0x00, 0xf4, 0x00, 0xfa, + 0x01, 0x00, 0x01, 0x06, 0x01, 0x0c, 0x01, 0x12, 0x01, 0x18, 0x01, + 0x1e, 0x01, 0x24, 0x01, 0x2a, 0x01, 0x30, 0x01, 0x36, 0x01, 0x3c, + 0x01, 0x42, 0x01, 0x48, 0x01, 0x4e, 0x01, 0x54, 0x01, 0x5a, 0x01, + 0x60, 0x01, 0x66, 0x01, 0x6c, 0x01, 0x72, 0x01, 0x78, 0x01, 0x7e, + 0x01, 0x84, 0x01, 0x8a, 0x01, 0x90, 0x01, 0x96, 0x01, 0x9c, 0x01, + 0xa2, 0x01, 0xa8, 0x01, 0xae, 0x01, 0xb4, 0x01, 0xba, 0x01, 0xc0, + 0x01, 0xc6, 0x01, 0xcc, 0x01, 0xd2, 0x01, 0xd8, 0x01, 0xde, 0x01, + 0xe4, 0x01, 0xea, 0x01, 0xf0, 0x01, 0xf6, 0x01, 0xfc, 0x02, 0x02, + 0x02, 0x08, 0x02, 0x0e, 0x02, 0x14, 0x02, 0x1a, 0x02, 0x20, 0x02, + 0x26, 0x02, 0x2c, 0x02, 0x32, 0x02, 0x38, 0x02, 0x3e, 0x02, 0x44, + 0x02, 0x4a, 0x02, 0x50, 0x02, 0x56, 0x02, 0x5c, 0x00, 0x01, 0x00, + 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, + 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, + 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x02, 0x76, 0x05, 0x46, + 0x00, 0x01, 0x01, 0xc2, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, + 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x02, 0x76, + 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, + 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0x00, 0x05, 0x46, 0x00, 0x01, + 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0x8c, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x76, 0x05, 0x46, 0x00, 0x01, 0x01, 0xc2, 0x05, 0x46, + 0x00, 0x01, 0x00, 0xc8, 0x05, 0x46, 0x00, 0x01, 0x00, 0xc8, 0x05, + 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, + 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, + 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, + 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, + 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x01, 0x5e, 0x05, 0x46, + 0x00, 0x01, 0x01, 0x5e, 0x05, 0x46, 0x00, 0x01, 0x01, 0x5e, 0x05, + 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x01, 0x5e, + 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, + 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, + 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0x00, 0x05, 0x46, 0x00, + 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, + 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, + 0x46, 0x00, 0x01, 0x00, 0x00, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, + 0x05, 0x46, 0x00, 0x01, 0x00, 0x00, 0x05, 0x46, 0x00, 0x01, 0x00, + 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, + 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, + 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, + 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x02, 0xd0, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x08, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, + 0x05, 0x46, 0x00, 0x01, 0x02, 0xd0, 0x05, 0x46, 0x00, 0x01, 0x00, + 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, + 0x00, 0x00, 0x05, 0x46, 0x00, 0x01, 0x00, 0x8c, 0x05, 0x46, 0x00, + 0x01, 0x01, 0xc2, 0x05, 0x46, 0x00, 0x01, 0x00, 0xc8, 0x05, 0x46, + 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, + 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, + 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, + 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, + 0x01, 0xe0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, + 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, + 0x00, 0x01, 0x00, 0xaa, 0x06, 0x0e, 0x00, 0x01, 0x00, 0xaa, 0x06, + 0x0e, 0x00, 0x01, 0x00, 0xf0, 0x05, 0x46, 0x00, 0x01, 0x00, 0xf0, + 0x05, 0x46, 0x00, 0x02, 0x00, 0x06, 0x04, 0xff, 0x05, 0x1c, 0x00, + 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd4, 0x08, 0xd4, + 0x00, 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x20, 0x08, 0xdf, 0x08, + 0xfe, 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x48, 0x00, 0x01, + 0x00, 0x03, 0x04, 0xd0, 0x04, 0xe0, 0x04, 0xe5, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1a, + 0x00, 0x01, 0x03, 0x0c, 0x05, 0x46, 0x00, 0x01, 0x03, 0x52, 0x05, + 0x46, 0x00, 0x01, 0x03, 0x9d, 0x05, 0x46, 0x00, 0x01, 0x02, 0x96, + 0x02, 0x6e, 0x00, 0x01, 0x02, 0x9e, 0x00, 0x0c, 0x00, 0x4c, 0x00, + 0x9a, 0x00, 0xa0, 0x00, 0xa6, 0x00, 0xac, 0x00, 0xb2, 0x00, 0xb8, + 0x00, 0xbe, 0x00, 0xc4, 0x00, 0xca, 0x00, 0xd0, 0x00, 0xd6, 0x00, + 0xdc, 0x00, 0xe2, 0x00, 0xe8, 0x00, 0xee, 0x00, 0xf4, 0x00, 0xfa, + 0x01, 0x00, 0x01, 0x06, 0x01, 0x0c, 0x01, 0x12, 0x01, 0x18, 0x01, + 0x1e, 0x01, 0x24, 0x01, 0x2a, 0x01, 0x30, 0x01, 0x36, 0x01, 0x3c, + 0x01, 0x42, 0x01, 0x48, 0x01, 0x4e, 0x01, 0x54, 0x01, 0x5a, 0x01, + 0x60, 0x01, 0x66, 0x01, 0x6c, 0x01, 0x72, 0x01, 0x78, 0x01, 0x7e, + 0x01, 0x84, 0x01, 0x8a, 0x01, 0x90, 0x01, 0x96, 0x01, 0x9c, 0x01, + 0xa2, 0x01, 0xa8, 0x01, 0xae, 0x01, 0xb4, 0x01, 0xba, 0x01, 0xc0, + 0x01, 0xc6, 0x01, 0xcc, 0x01, 0xd2, 0x01, 0xd8, 0x01, 0xde, 0x01, + 0xe4, 0x01, 0xea, 0x01, 0xf0, 0x01, 0xf6, 0x01, 0xfc, 0x02, 0x02, + 0x02, 0x08, 0x02, 0x0e, 0x02, 0x14, 0x02, 0x1a, 0x02, 0x20, 0x02, + 0x26, 0x02, 0x2c, 0x02, 0x32, 0x02, 0x38, 0x02, 0x3e, 0x02, 0x44, + 0x02, 0x4a, 0x02, 0x50, 0x02, 0x56, 0x02, 0x5c, 0x00, 0x01, 0x04, + 0x1a, 0x05, 0x46, 0x00, 0x01, 0x03, 0x84, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x03, 0x84, 0x05, 0x46, 0x00, + 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0xda, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, + 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x03, 0x20, 0x05, 0x46, 0x00, 0x01, 0x03, + 0x20, 0x05, 0x46, 0x00, 0x01, 0x03, 0x70, 0x05, 0x46, 0x00, 0x01, + 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0xee, 0x05, 0x46, + 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, + 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, + 0x05, 0x46, 0x00, 0x01, 0x03, 0xb6, 0x05, 0x46, 0x00, 0x01, 0x03, + 0x84, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, + 0x03, 0x5c, 0x05, 0x46, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x46, 0x00, + 0x01, 0x03, 0xb6, 0x05, 0x46, 0x00, 0x01, 0x03, 0x34, 0x05, 0x46, + 0x00, 0x01, 0x03, 0x34, 0x05, 0x46, 0x00, 0x01, 0x03, 0x34, 0x05, + 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x03, 0x52, + 0x05, 0x46, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x46, 0x00, 0x01, 0x03, + 0x84, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, + 0x03, 0x20, 0x05, 0x46, 0x00, 0x01, 0x03, 0x20, 0x05, 0x46, 0x00, + 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x03, 0x5c, 0x05, 0x46, + 0x00, 0x01, 0x03, 0xb6, 0x05, 0x46, 0x00, 0x01, 0x05, 0x14, 0x05, + 0x46, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x46, 0x00, 0x01, 0x05, 0x14, + 0x05, 0x46, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x46, 0x00, 0x01, 0x04, + 0x1a, 0x05, 0x46, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x46, 0x00, 0x01, + 0x04, 0x1a, 0x05, 0x46, 0x00, 0x01, 0x03, 0x84, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x03, 0x84, 0x05, 0x46, + 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x02, 0x8a, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x9e, 0x05, 0x46, 0x00, 0x01, 0x03, + 0x20, 0x05, 0x46, 0x00, 0x01, 0x03, 0x20, 0x05, 0x46, 0x00, 0x01, + 0x03, 0x84, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, + 0x01, 0x02, 0xee, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, + 0x00, 0x01, 0x03, 0xe8, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, 0x05, + 0x46, 0x00, 0x01, 0x03, 0x84, 0x05, 0x46, 0x00, 0x01, 0x03, 0xe8, + 0x05, 0x46, 0x00, 0x01, 0x03, 0x5c, 0x05, 0x46, 0x00, 0x01, 0x04, + 0x1a, 0x05, 0x46, 0x00, 0x01, 0x03, 0xb6, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x8a, 0x05, 0x46, 0x00, 0x01, 0x03, 0x84, 0x05, 0x46, 0x00, + 0x01, 0x03, 0x84, 0x05, 0x46, 0x00, 0x01, 0x03, 0xb6, 0x05, 0x46, + 0x00, 0x01, 0x03, 0xb6, 0x05, 0x46, 0x00, 0x01, 0x03, 0xb6, 0x05, + 0x46, 0x00, 0x01, 0x03, 0x20, 0x05, 0x46, 0x00, 0x01, 0x03, 0x20, + 0x05, 0x46, 0x00, 0x02, 0x00, 0x06, 0x04, 0xff, 0x05, 0x1c, 0x00, + 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd4, 0x08, 0xd4, + 0x00, 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x20, 0x08, 0xdf, 0x08, + 0xfe, 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x48, 0x00, 0x01, + 0x00, 0x02, 0x04, 0xd4, 0x04, 0xd7, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x01, 0xbc, 0x05, 0x46, + 0x00, 0x01, 0x01, 0x7c, 0x05, 0x46, 0x00, 0x01, 0x02, 0x96, 0x02, + 0x6e, 0x00, 0x01, 0x02, 0x9e, 0x00, 0x0c, 0x00, 0x4c, 0x00, 0x9a, + 0x00, 0xa0, 0x00, 0xa6, 0x00, 0xac, 0x00, 0xb2, 0x00, 0xb8, 0x00, + 0xbe, 0x00, 0xc4, 0x00, 0xca, 0x00, 0xd0, 0x00, 0xd6, 0x00, 0xdc, + 0x00, 0xe2, 0x00, 0xe8, 0x00, 0xee, 0x00, 0xf4, 0x00, 0xfa, 0x01, + 0x00, 0x01, 0x06, 0x01, 0x0c, 0x01, 0x12, 0x01, 0x18, 0x01, 0x1e, + 0x01, 0x24, 0x01, 0x2a, 0x01, 0x30, 0x01, 0x36, 0x01, 0x3c, 0x01, + 0x42, 0x01, 0x48, 0x01, 0x4e, 0x01, 0x54, 0x01, 0x5a, 0x01, 0x60, + 0x01, 0x66, 0x01, 0x6c, 0x01, 0x72, 0x01, 0x78, 0x01, 0x7e, 0x01, + 0x84, 0x01, 0x8a, 0x01, 0x90, 0x01, 0x96, 0x01, 0x9c, 0x01, 0xa2, + 0x01, 0xa8, 0x01, 0xae, 0x01, 0xb4, 0x01, 0xba, 0x01, 0xc0, 0x01, + 0xc6, 0x01, 0xcc, 0x01, 0xd2, 0x01, 0xd8, 0x01, 0xde, 0x01, 0xe4, + 0x01, 0xea, 0x01, 0xf0, 0x01, 0xf6, 0x01, 0xfc, 0x02, 0x02, 0x02, + 0x08, 0x02, 0x0e, 0x02, 0x14, 0x02, 0x1a, 0x02, 0x20, 0x02, 0x26, + 0x02, 0x2c, 0x02, 0x32, 0x02, 0x38, 0x02, 0x3e, 0x02, 0x44, 0x02, + 0x4a, 0x02, 0x50, 0x02, 0x56, 0x02, 0x5c, 0x00, 0x01, 0x03, 0xe8, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x48, 0x00, 0x00, 0x00, 0x01, 0x03, + 0x20, 0x00, 0x00, 0x00, 0x01, 0x02, 0xf8, 0x00, 0x00, 0x00, 0x01, + 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x02, 0x12, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, + 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x02, 0x12, 0x00, + 0x00, 0x00, 0x01, 0x04, 0x4c, 0x00, 0x00, 0x00, 0x01, 0x03, 0x3e, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x20, 0x00, 0x00, 0x00, 0x01, 0x03, + 0xa2, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, + 0x03, 0x20, 0x00, 0x00, 0x00, 0x01, 0x02, 0xda, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, + 0x00, 0x01, 0x04, 0xb0, 0x00, 0x00, 0x00, 0x01, 0x03, 0x84, 0x00, + 0x00, 0x00, 0x01, 0x02, 0xe4, 0x00, 0x00, 0x00, 0x01, 0x03, 0x7a, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, 0x00, 0x00, 0x01, 0x03, + 0x20, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, + 0x03, 0x98, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0c, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0c, 0x00, 0x00, + 0x00, 0x01, 0x03, 0xe8, 0x00, 0x00, 0x00, 0x01, 0x03, 0x3e, 0x00, + 0x00, 0x00, 0x01, 0x03, 0xe8, 0x00, 0x00, 0x00, 0x01, 0x02, 0xf8, + 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x03, + 0x20, 0x00, 0x00, 0x00, 0x01, 0x03, 0x20, 0x00, 0x00, 0x00, 0x01, + 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x03, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x84, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, + 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, + 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x03, 0xe8, + 0x00, 0x00, 0x00, 0x01, 0x03, 0xe8, 0x00, 0x00, 0x00, 0x01, 0x03, + 0xe8, 0x00, 0x00, 0x00, 0x01, 0x03, 0x48, 0x00, 0x00, 0x00, 0x01, + 0x03, 0x20, 0x00, 0x00, 0x00, 0x01, 0x02, 0xf8, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x02, 0x76, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x12, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x76, 0x00, 0x00, 0x00, 0x01, 0x04, 0x4c, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x3e, 0x00, 0x00, 0x00, 0x01, 0x03, + 0x20, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, + 0x02, 0xda, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, + 0x01, 0x04, 0xb0, 0x00, 0x00, 0x00, 0x01, 0x03, 0x84, 0x00, 0x00, + 0x00, 0x01, 0x03, 0x84, 0x00, 0x00, 0x00, 0x01, 0x02, 0x58, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x20, 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, + 0x00, 0x00, 0x00, 0x01, 0x03, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x76, 0x00, 0x00, 0x00, 0x01, 0x03, 0x48, 0x00, 0x00, 0x00, 0x01, + 0x03, 0x3e, 0x00, 0x00, 0x00, 0x01, 0x03, 0x84, 0x00, 0x00, 0x00, + 0x01, 0x02, 0xbc, 0x00, 0x00, 0x00, 0x01, 0x02, 0xbc, 0x00, 0x00, + 0x00, 0x01, 0x04, 0x4c, 0x00, 0x00, 0x00, 0x01, 0x04, 0x4c, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x06, 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, + 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, 0x08, 0xd4, 0x08, 0xd4, 0x00, + 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x20, 0x08, 0xdf, 0x08, 0xfe, + 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, 0x00, 0x48, 0x00, 0x01, 0x00, + 0x02, 0x04, 0xd1, 0x04, 0xe4, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0a, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x01, 0xc5, 0x00, 0x28, 0x00, + 0x01, 0x01, 0xc3, 0x00, 0x0a, 0x00, 0x03, 0x00, 0x02, 0x00, 0x1c, + 0x00, 0x3e, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x01, 0x00, 0x02, 0x04, 0xd1, 0x04, 0xe4, + 0x00, 0x01, 0x00, 0x0f, 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, + 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, + 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, + 0x75, 0x00, 0x01, 0x00, 0x16, 0x05, 0x01, 0x05, 0x02, 0x05, 0x04, + 0x05, 0x05, 0x05, 0x08, 0x05, 0x0b, 0x05, 0x0f, 0x05, 0x17, 0x08, + 0xd7, 0x08, 0xda, 0x08, 0xdc, 0x08, 0xe7, 0x08, 0xe8, 0x08, 0xea, + 0x08, 0xeb, 0x08, 0xed, 0x08, 0xf0, 0x08, 0xf2, 0x08, 0xf8, 0x08, + 0xfb, 0x09, 0x6a, 0x09, 0x6b, 0x00, 0x03, 0x00, 0x03, 0x00, 0x1e, + 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x01, 0x00, 0x02, 0x04, 0xd1, + 0x04, 0xe4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xeb, 0x00, 0x01, 0x00, + 0x01, 0x04, 0xe7, 0x00, 0x01, 0x00, 0x16, 0x05, 0x01, 0x05, 0x02, + 0x05, 0x04, 0x05, 0x05, 0x05, 0x08, 0x05, 0x0b, 0x05, 0x0f, 0x05, + 0x17, 0x08, 0xd7, 0x08, 0xda, 0x08, 0xdc, 0x08, 0xe7, 0x08, 0xe8, + 0x08, 0xea, 0x08, 0xeb, 0x08, 0xed, 0x08, 0xf0, 0x08, 0xf2, 0x08, + 0xf8, 0x08, 0xfb, 0x09, 0x6a, 0x09, 0x6b, 0x00, 0x03, 0x00, 0x03, + 0x00, 0x1e, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x16, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x01, 0x00, 0x02, + 0x04, 0xd1, 0x04, 0xe4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xf4, 0x00, + 0x01, 0x00, 0x01, 0x04, 0xe7, 0x00, 0x01, 0x00, 0x16, 0x05, 0x01, + 0x05, 0x02, 0x05, 0x04, 0x05, 0x05, 0x05, 0x08, 0x05, 0x0b, 0x05, + 0x0f, 0x05, 0x17, 0x08, 0xd7, 0x08, 0xda, 0x08, 0xdc, 0x08, 0xe7, + 0x08, 0xe8, 0x08, 0xea, 0x08, 0xeb, 0x08, 0xed, 0x08, 0xf0, 0x08, + 0xf2, 0x08, 0xf8, 0x08, 0xfb, 0x09, 0x6a, 0x09, 0x6b, 0x00, 0x03, + 0x00, 0x03, 0x00, 0x1e, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x01, + 0x00, 0x02, 0x04, 0xd1, 0x04, 0xe4, 0x00, 0x01, 0x00, 0x01, 0x04, + 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xeb, 0x00, 0x01, 0x00, 0x16, + 0x05, 0x01, 0x05, 0x02, 0x05, 0x04, 0x05, 0x05, 0x05, 0x08, 0x05, + 0x0b, 0x05, 0x0f, 0x05, 0x17, 0x08, 0xd7, 0x08, 0xda, 0x08, 0xdc, + 0x08, 0xe7, 0x08, 0xe8, 0x08, 0xea, 0x08, 0xeb, 0x08, 0xed, 0x08, + 0xf0, 0x08, 0xf2, 0x08, 0xf8, 0x08, 0xfb, 0x09, 0x6a, 0x09, 0x6b, + 0x00, 0x03, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x24, 0x00, 0x2a, 0x00, + 0x01, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, + 0x00, 0x01, 0x00, 0x02, 0x04, 0xd1, 0x04, 0xe4, 0x00, 0x01, 0x00, + 0x01, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xec, 0x00, 0x01, + 0x00, 0x16, 0x05, 0x01, 0x05, 0x02, 0x05, 0x04, 0x05, 0x05, 0x05, + 0x08, 0x05, 0x0b, 0x05, 0x0f, 0x05, 0x17, 0x08, 0xd7, 0x08, 0xda, + 0x08, 0xdc, 0x08, 0xe7, 0x08, 0xe8, 0x08, 0xea, 0x08, 0xeb, 0x08, + 0xed, 0x08, 0xf0, 0x08, 0xf2, 0x08, 0xf8, 0x08, 0xfb, 0x09, 0x6a, + 0x09, 0x6b, 0x00, 0x03, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x24, 0x00, + 0x2a, 0x00, 0x01, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x14, 0x00, 0x01, 0x00, 0x02, 0x04, 0xd1, 0x04, 0xe4, 0x00, + 0x01, 0x00, 0x01, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xee, + 0x00, 0x01, 0x00, 0x16, 0x05, 0x01, 0x05, 0x02, 0x05, 0x04, 0x05, + 0x05, 0x05, 0x08, 0x05, 0x0b, 0x05, 0x0f, 0x05, 0x17, 0x08, 0xd7, + 0x08, 0xda, 0x08, 0xdc, 0x08, 0xe7, 0x08, 0xe8, 0x08, 0xea, 0x08, + 0xeb, 0x08, 0xed, 0x08, 0xf0, 0x08, 0xf2, 0x08, 0xf8, 0x08, 0xfb, + 0x09, 0x6a, 0x09, 0x6b, 0x00, 0x03, 0x00, 0x03, 0x00, 0x1e, 0x00, + 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x14, 0x00, 0x01, 0x00, 0x02, 0x04, 0xd1, 0x04, + 0xe4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, + 0x04, 0xef, 0x00, 0x01, 0x00, 0x16, 0x05, 0x01, 0x05, 0x02, 0x05, + 0x04, 0x05, 0x05, 0x05, 0x08, 0x05, 0x0b, 0x05, 0x0f, 0x05, 0x17, + 0x08, 0xd7, 0x08, 0xda, 0x08, 0xdc, 0x08, 0xe7, 0x08, 0xe8, 0x08, + 0xea, 0x08, 0xeb, 0x08, 0xed, 0x08, 0xf0, 0x08, 0xf2, 0x08, 0xf8, + 0x08, 0xfb, 0x09, 0x6a, 0x09, 0x6b, 0x00, 0x03, 0x00, 0x02, 0x00, + 0x1c, 0x00, 0x22, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x14, 0x00, 0x01, 0x00, 0x02, 0x04, 0xd1, 0x04, + 0xe4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x16, + 0x05, 0x01, 0x05, 0x02, 0x05, 0x04, 0x05, 0x05, 0x05, 0x08, 0x05, + 0x0b, 0x05, 0x0f, 0x05, 0x17, 0x08, 0xd7, 0x08, 0xda, 0x08, 0xdc, + 0x08, 0xe7, 0x08, 0xe8, 0x08, 0xea, 0x08, 0xeb, 0x08, 0xed, 0x08, + 0xf0, 0x08, 0xf2, 0x08, 0xf8, 0x08, 0xfb, 0x09, 0x6a, 0x09, 0x6b, + 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x01, + 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xda, 0x04, 0xdb, 0x04, + 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xf4, 0x00, 0x01, + 0x00, 0x01, 0x04, 0xeb, 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, + 0x2a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x15, 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, + 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, + 0x04, 0xda, 0x00, 0x01, 0x00, 0x01, 0x04, 0xec, 0x00, 0x03, 0x00, + 0x02, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x01, 0x00, 0x06, 0x04, + 0xc8, 0x04, 0xcd, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, + 0x00, 0x01, 0x00, 0x01, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, + 0xec, 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, + 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xda, 0x04, 0xdb, + 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xda, 0x00, + 0x01, 0x00, 0x01, 0x04, 0xed, 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, + 0x00, 0x2a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x15, 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, + 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, + 0x01, 0x04, 0xd1, 0x00, 0x01, 0x00, 0x01, 0x04, 0xed, 0x00, 0x03, + 0x00, 0x02, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x01, 0x00, 0x06, + 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, + 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xcd, 0x00, 0x01, 0x00, 0x01, + 0x04, 0xee, 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, 0x2a, 0x00, + 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, + 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xda, 0x04, + 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xe7, + 0x00, 0x01, 0x00, 0x01, 0x04, 0xef, 0x00, 0x03, 0x00, 0x02, 0x00, + 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x15, 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, + 0xcd, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, + 0x00, 0x01, 0x04, 0xeb, 0x00, 0x01, 0x00, 0x01, 0x04, 0xef, 0x00, + 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x01, 0x00, + 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, + 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xcd, 0x00, 0x01, 0x00, + 0x01, 0x04, 0xef, 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, 0x2a, + 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xda, + 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, + 0xd1, 0x00, 0x01, 0x00, 0x01, 0x04, 0xef, 0x00, 0x03, 0x00, 0x02, + 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, + 0x04, 0xcd, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, + 0x01, 0x00, 0x01, 0x04, 0xda, 0x00, 0x01, 0x00, 0x01, 0x04, 0xef, + 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, 0x2a, 0x00, 0x01, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x01, + 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, 0xda, 0x04, 0xdb, 0x04, + 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xdb, 0x00, 0x01, + 0x00, 0x01, 0x04, 0xef, 0x00, 0x03, 0x00, 0x02, 0x00, 0x24, 0x00, + 0x2a, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x15, 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, 0x04, + 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, + 0x04, 0xf4, 0x00, 0x01, 0x00, 0x01, 0x04, 0xef, 0x00, 0x03, 0x00, + 0x02, 0x00, 0x22, 0x00, 0x28, 0x00, 0x02, 0x00, 0x16, 0x00, 0x1c, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x01, 0x00, + 0x01, 0x04, 0xdb, 0x00, 0x01, 0x00, 0x01, 0x04, 0xdc, 0x00, 0x01, + 0x00, 0x01, 0x04, 0xf0, 0x00, 0x01, 0x00, 0x01, 0x05, 0x11, 0x00, + 0x03, 0x00, 0x02, 0x00, 0x22, 0x00, 0x28, 0x00, 0x02, 0x00, 0x16, + 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, + 0x01, 0x00, 0x01, 0x04, 0xdb, 0x00, 0x01, 0x00, 0x01, 0x04, 0xdc, + 0x00, 0x01, 0x00, 0x01, 0x04, 0xf3, 0x00, 0x01, 0x00, 0x01, 0x05, + 0x11, 0x00, 0x01, 0x02, 0x96, 0x02, 0x6e, 0x00, 0x01, 0x02, 0x9e, + 0x00, 0x0c, 0x00, 0x4c, 0x00, 0x9a, 0x00, 0xa0, 0x00, 0xa6, 0x00, + 0xac, 0x00, 0xb2, 0x00, 0xb8, 0x00, 0xbe, 0x00, 0xc4, 0x00, 0xca, + 0x00, 0xd0, 0x00, 0xd6, 0x00, 0xdc, 0x00, 0xe2, 0x00, 0xe8, 0x00, + 0xee, 0x00, 0xf4, 0x00, 0xfa, 0x01, 0x00, 0x01, 0x06, 0x01, 0x0c, + 0x01, 0x12, 0x01, 0x18, 0x01, 0x1e, 0x01, 0x24, 0x01, 0x2a, 0x01, + 0x30, 0x01, 0x36, 0x01, 0x3c, 0x01, 0x42, 0x01, 0x48, 0x01, 0x4e, + 0x01, 0x54, 0x01, 0x5a, 0x01, 0x60, 0x01, 0x66, 0x01, 0x6c, 0x01, + 0x72, 0x01, 0x78, 0x01, 0x7e, 0x01, 0x84, 0x01, 0x8a, 0x01, 0x90, + 0x01, 0x96, 0x01, 0x9c, 0x01, 0xa2, 0x01, 0xa8, 0x01, 0xae, 0x01, + 0xb4, 0x01, 0xba, 0x01, 0xc0, 0x01, 0xc6, 0x01, 0xcc, 0x01, 0xd2, + 0x01, 0xd8, 0x01, 0xde, 0x01, 0xe4, 0x01, 0xea, 0x01, 0xf0, 0x01, + 0xf6, 0x01, 0xfc, 0x02, 0x02, 0x02, 0x08, 0x02, 0x0e, 0x02, 0x14, + 0x02, 0x1a, 0x02, 0x20, 0x02, 0x26, 0x02, 0x2c, 0x02, 0x32, 0x02, + 0x38, 0x02, 0x3e, 0x02, 0x44, 0x02, 0x4a, 0x02, 0x50, 0x02, 0x56, + 0x02, 0x5c, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x96, 0x00, 0x01, 0x03, + 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0x20, 0x05, 0x96, 0x00, 0x01, + 0x03, 0x98, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, + 0x01, 0x03, 0x84, 0x05, 0x96, 0x00, 0x01, 0x03, 0x84, 0x05, 0x96, + 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x04, 0x38, 0x05, + 0x96, 0x00, 0x01, 0x03, 0x84, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, + 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, + 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, + 0x04, 0x1a, 0x05, 0x96, 0x00, 0x01, 0x03, 0x84, 0x05, 0x96, 0x00, + 0x01, 0x03, 0x84, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, + 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, + 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xd4, + 0x05, 0x96, 0x00, 0x01, 0x03, 0xd4, 0x05, 0x96, 0x00, 0x01, 0x03, + 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0x84, 0x05, 0x96, 0x00, 0x01, + 0x04, 0x4c, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, + 0x01, 0x03, 0x70, 0x05, 0x96, 0x00, 0x01, 0x03, 0x70, 0x05, 0x96, + 0x00, 0x01, 0x03, 0x70, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, + 0x96, 0x00, 0x01, 0x03, 0x70, 0x05, 0x96, 0x00, 0x01, 0x04, 0x1a, + 0x05, 0x96, 0x00, 0x01, 0x03, 0x84, 0x05, 0x96, 0x00, 0x01, 0x03, + 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, + 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, + 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, + 0x00, 0x01, 0x05, 0xdc, 0x05, 0x96, 0x00, 0x01, 0x04, 0x4c, 0x05, + 0x96, 0x00, 0x01, 0x05, 0xdc, 0x05, 0x96, 0x00, 0x01, 0x04, 0x4c, + 0x05, 0x96, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x96, 0x00, 0x01, 0x04, + 0x1a, 0x05, 0x96, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x96, 0x00, 0x01, + 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0x20, 0x05, 0x96, 0x00, + 0x01, 0x03, 0x98, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, + 0x00, 0x01, 0x03, 0xb6, 0x05, 0x96, 0x00, 0x01, 0x03, 0x98, 0x05, + 0x96, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x96, 0x00, 0x01, 0x03, 0xb6, + 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, + 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, + 0x04, 0x1a, 0x05, 0x96, 0x00, 0x01, 0x03, 0x84, 0x05, 0x96, 0x00, + 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, + 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x03, 0xd4, 0x05, + 0x96, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, + 0x05, 0x96, 0x00, 0x01, 0x04, 0x4c, 0x05, 0x96, 0x00, 0x01, 0x04, + 0x1a, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, + 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x04, 0x1a, 0x05, 0x96, 0x00, + 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x01, 0x04, 0x7e, 0x05, 0x96, + 0x00, 0x01, 0x03, 0x70, 0x05, 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, + 0x96, 0x00, 0x01, 0x03, 0xe8, 0x05, 0x96, 0x00, 0x02, 0x00, 0x06, + 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, + 0x1e, 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x1f, 0x08, 0xd6, 0x08, 0xdd, + 0x00, 0x20, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x28, 0x09, 0x6a, 0x09, + 0x6d, 0x00, 0x48, 0x00, 0x01, 0x00, 0x02, 0x04, 0xf6, 0x08, 0xd3, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x96, 0x00, 0x01, 0x02, 0x66, 0x05, 0x96, + 0x00, 0x01, 0x02, 0x96, 0x02, 0x6e, 0x00, 0x01, 0x02, 0xcc, 0x00, + 0x0c, 0x00, 0x4c, 0x00, 0x9a, 0x00, 0xa0, 0x00, 0xa6, 0x00, 0xac, + 0x00, 0xb2, 0x00, 0xb8, 0x00, 0xbe, 0x00, 0xc4, 0x00, 0xca, 0x00, + 0xd0, 0x00, 0xd6, 0x00, 0xdc, 0x00, 0xe2, 0x00, 0xe8, 0x00, 0xee, + 0x00, 0xf4, 0x00, 0xfa, 0x01, 0x00, 0x01, 0x06, 0x01, 0x0c, 0x01, + 0x12, 0x01, 0x18, 0x01, 0x1e, 0x01, 0x24, 0x01, 0x2a, 0x01, 0x30, + 0x01, 0x36, 0x01, 0x3c, 0x01, 0x42, 0x01, 0x48, 0x01, 0x4e, 0x01, + 0x54, 0x01, 0x5a, 0x01, 0x60, 0x01, 0x66, 0x01, 0x6c, 0x01, 0x72, + 0x01, 0x78, 0x01, 0x7e, 0x01, 0x84, 0x01, 0x8a, 0x01, 0x90, 0x01, + 0x96, 0x01, 0x9c, 0x01, 0xa2, 0x01, 0xa8, 0x01, 0xae, 0x01, 0xb4, + 0x01, 0xba, 0x01, 0xc0, 0x01, 0xc6, 0x01, 0xcc, 0x01, 0xd2, 0x01, + 0xd8, 0x01, 0xde, 0x01, 0xe4, 0x01, 0xea, 0x01, 0xf0, 0x01, 0xf6, + 0x01, 0xfc, 0x02, 0x02, 0x02, 0x08, 0x02, 0x0e, 0x02, 0x14, 0x02, + 0x1a, 0x02, 0x20, 0x02, 0x26, 0x02, 0x2c, 0x02, 0x32, 0x02, 0x38, + 0x02, 0x3e, 0x02, 0x44, 0x02, 0x4a, 0x02, 0x50, 0x02, 0x56, 0x02, + 0x5c, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, + 0xa4, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x52, 0x00, 0x00, 0x00, 0x01, 0x03, 0x52, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0xbc, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, + 0x01, 0x01, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x04, + 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, + 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, + 0x20, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, + 0x00, 0x48, 0x00, 0x01, 0x00, 0x19, 0x04, 0xc8, 0x04, 0xcd, 0x04, + 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, + 0x04, 0xde, 0x04, 0xe1, 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, + 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, + 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, + 0x75, 0x00, 0x19, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6c, + 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, + 0x7e, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x9c, 0x00, + 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xae, + 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, + 0xc0, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, + 0x00, 0xd2, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0xde, 0x00, + 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0xf0, + 0x00, 0x00, 0x00, 0xf6, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, + 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, + 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, + 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, + 0x00, 0x14, 0x00, 0x01, 0x01, 0x18, 0x00, 0x14, 0x00, 0x01, 0x01, + 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, + 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, + 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, + 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, + 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, + 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, + 0x3a, 0x00, 0x14, 0x00, 0x01, 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, + 0x01, 0x3a, 0x00, 0x14, 0x00, 0x01, 0x00, 0xdc, 0x00, 0x14, 0x00, + 0x01, 0x00, 0xfa, 0x00, 0x14, 0x00, 0x01, 0x00, 0xfa, 0x00, 0x14, + 0x00, 0x01, 0x02, 0x96, 0x02, 0x6e, 0x00, 0x01, 0x02, 0xb6, 0x00, + 0x0c, 0x00, 0x4c, 0x00, 0x9a, 0x00, 0xa0, 0x00, 0xa6, 0x00, 0xac, + 0x00, 0xb2, 0x00, 0xb8, 0x00, 0xbe, 0x00, 0xc4, 0x00, 0xca, 0x00, + 0xd0, 0x00, 0xd6, 0x00, 0xdc, 0x00, 0xe2, 0x00, 0xe8, 0x00, 0xee, + 0x00, 0xf4, 0x00, 0xfa, 0x01, 0x00, 0x01, 0x06, 0x01, 0x0c, 0x01, + 0x12, 0x01, 0x18, 0x01, 0x1e, 0x01, 0x24, 0x01, 0x2a, 0x01, 0x30, + 0x01, 0x36, 0x01, 0x3c, 0x01, 0x42, 0x01, 0x48, 0x01, 0x4e, 0x01, + 0x54, 0x01, 0x5a, 0x01, 0x60, 0x01, 0x66, 0x01, 0x6c, 0x01, 0x72, + 0x01, 0x78, 0x01, 0x7e, 0x01, 0x84, 0x01, 0x8a, 0x01, 0x90, 0x01, + 0x96, 0x01, 0x9c, 0x01, 0xa2, 0x01, 0xa8, 0x01, 0xae, 0x01, 0xb4, + 0x01, 0xba, 0x01, 0xc0, 0x01, 0xc6, 0x01, 0xcc, 0x01, 0xd2, 0x01, + 0xd8, 0x01, 0xde, 0x01, 0xe4, 0x01, 0xea, 0x01, 0xf0, 0x01, 0xf6, + 0x01, 0xfc, 0x02, 0x02, 0x02, 0x08, 0x02, 0x0e, 0x02, 0x14, 0x02, + 0x1a, 0x02, 0x20, 0x02, 0x26, 0x02, 0x2c, 0x02, 0x32, 0x02, 0x38, + 0x02, 0x3e, 0x02, 0x44, 0x02, 0x4a, 0x02, 0x50, 0x02, 0x56, 0x02, + 0x5c, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x44, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x44, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x03, 0x34, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x44, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x03, + 0x34, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0xbc, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0xbc, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x01, 0x90, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x03, 0x34, 0x05, 0x46, 0x00, 0x01, 0x02, + 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, + 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, + 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, + 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, + 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x01, 0x01, + 0x90, 0x05, 0x46, 0x00, 0x01, 0x01, 0xc2, 0x05, 0x46, 0x00, 0x01, + 0x01, 0xc2, 0x05, 0x46, 0x00, 0x01, 0x03, 0xd4, 0x05, 0x46, 0x00, + 0x01, 0x03, 0xd4, 0x05, 0x46, 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, + 0x00, 0x01, 0x02, 0x66, 0x05, 0x46, 0x00, 0x02, 0x00, 0x06, 0x04, + 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, + 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, + 0x20, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, + 0x00, 0x48, 0x00, 0x01, 0x00, 0x0e, 0x04, 0xc9, 0x04, 0xca, 0x04, + 0xcb, 0x04, 0xcc, 0x04, 0xce, 0x04, 0xcf, 0x04, 0xd3, 0x04, 0xd5, + 0x04, 0xd6, 0x04, 0xd8, 0x04, 0xdf, 0x04, 0xe2, 0x04, 0xe3, 0x04, + 0xe6, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, + 0x52, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, + 0x00, 0x64, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x70, 0x00, + 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x82, + 0x00, 0x00, 0x00, 0x88, 0x00, 0x01, 0x03, 0x70, 0x05, 0x46, 0x00, + 0x01, 0x03, 0x70, 0x05, 0x46, 0x00, 0x01, 0x03, 0x70, 0x05, 0x46, + 0x00, 0x01, 0x03, 0x70, 0x05, 0x46, 0x00, 0x01, 0x03, 0x70, 0x05, + 0x46, 0x00, 0x01, 0x03, 0xac, 0x05, 0x46, 0x00, 0x01, 0x03, 0x70, + 0x05, 0x46, 0x00, 0x01, 0x03, 0xca, 0x05, 0x46, 0x00, 0x01, 0x03, + 0xb6, 0x05, 0x46, 0x00, 0x01, 0x03, 0x70, 0x05, 0x46, 0x00, 0x01, + 0x03, 0x70, 0x05, 0x46, 0x00, 0x01, 0x03, 0x70, 0x05, 0x46, 0x00, + 0x01, 0x03, 0x70, 0x05, 0x46, 0x00, 0x01, 0x03, 0x70, 0x05, 0x6e, + 0x00, 0x01, 0x02, 0x96, 0x02, 0x6e, 0x00, 0x01, 0x02, 0xcc, 0x00, + 0x0c, 0x00, 0x4c, 0x00, 0x9a, 0x00, 0xa0, 0x00, 0xa6, 0x00, 0xac, + 0x00, 0xb2, 0x00, 0xb8, 0x00, 0xbe, 0x00, 0xc4, 0x00, 0xca, 0x00, + 0xd0, 0x00, 0xd6, 0x00, 0xdc, 0x00, 0xe2, 0x00, 0xe8, 0x00, 0xee, + 0x00, 0xf4, 0x00, 0xfa, 0x01, 0x00, 0x01, 0x06, 0x01, 0x0c, 0x01, + 0x12, 0x01, 0x18, 0x01, 0x1e, 0x01, 0x24, 0x01, 0x2a, 0x01, 0x30, + 0x01, 0x36, 0x01, 0x3c, 0x01, 0x42, 0x01, 0x48, 0x01, 0x4e, 0x01, + 0x54, 0x01, 0x5a, 0x01, 0x60, 0x01, 0x66, 0x01, 0x6c, 0x01, 0x72, + 0x01, 0x78, 0x01, 0x7e, 0x01, 0x84, 0x01, 0x8a, 0x01, 0x90, 0x01, + 0x96, 0x01, 0x9c, 0x01, 0xa2, 0x01, 0xa8, 0x01, 0xae, 0x01, 0xb4, + 0x01, 0xba, 0x01, 0xc0, 0x01, 0xc6, 0x01, 0xcc, 0x01, 0xd2, 0x01, + 0xd8, 0x01, 0xde, 0x01, 0xe4, 0x01, 0xea, 0x01, 0xf0, 0x01, 0xf6, + 0x01, 0xfc, 0x02, 0x02, 0x02, 0x08, 0x02, 0x0e, 0x02, 0x14, 0x02, + 0x1a, 0x02, 0x20, 0x02, 0x26, 0x02, 0x2c, 0x02, 0x32, 0x02, 0x38, + 0x02, 0x3e, 0x02, 0x44, 0x02, 0x4a, 0x02, 0x50, 0x02, 0x56, 0x02, + 0x5c, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0xf4, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x01, 0x90, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x01, 0xc2, 0x00, 0x00, 0x00, 0x01, 0x01, 0xc2, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x66, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x04, + 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, 0x1e, + 0x08, 0xd4, 0x08, 0xd4, 0x00, 0x1f, 0x08, 0xd6, 0x08, 0xdd, 0x00, + 0x20, 0x08, 0xdf, 0x08, 0xfe, 0x00, 0x28, 0x09, 0x6a, 0x09, 0x6d, + 0x00, 0x48, 0x00, 0x01, 0x00, 0x19, 0x04, 0xc8, 0x04, 0xcd, 0x04, + 0xd2, 0x04, 0xd9, 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xdd, + 0x04, 0xde, 0x04, 0xe1, 0x04, 0xe7, 0x04, 0xe8, 0x04, 0xe9, 0x04, + 0xea, 0x04, 0xeb, 0x04, 0xec, 0x04, 0xed, 0x04, 0xee, 0x04, 0xef, + 0x04, 0xf2, 0x04, 0xf4, 0x04, 0xfe, 0x09, 0x73, 0x09, 0x74, 0x09, + 0x75, 0x00, 0x19, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6c, + 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, + 0x7e, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x9c, 0x00, + 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xae, + 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, + 0xc0, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, + 0x00, 0xd2, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0xde, 0x00, + 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0xf0, + 0x00, 0x00, 0x00, 0xf6, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, + 0x01, 0x03, 0x70, 0x00, 0x00, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, + 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, + 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, + 0x00, 0x00, 0x00, 0x01, 0x03, 0xb6, 0x00, 0x00, 0x00, 0x01, 0x03, + 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, + 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0xe8, 0x00, 0x14, 0x00, + 0x01, 0x03, 0xca, 0x00, 0x14, 0x00, 0x01, 0x03, 0xca, 0x00, 0x14, + 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, + 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, + 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, + 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, 0x00, 0x00, 0x01, + 0x03, 0x70, 0x00, 0x00, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, + 0x01, 0x03, 0x70, 0x00, 0x14, 0x00, 0x01, 0x03, 0x70, 0x00, 0x14, + 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x01, 0x40, 0x00, 0x01, 0x00, + 0x02, 0x04, 0xd1, 0x04, 0xe4, 0x00, 0x02, 0x00, 0x14, 0x00, 0x01, + 0x00, 0x06, 0xfd, 0xe4, 0xfd, 0xe4, 0xfd, 0xe4, 0xfd, 0xe4, 0xfd, + 0xe4, 0xfe, 0x70, 0x00, 0x01, 0x00, 0x06, 0x04, 0xc8, 0x04, 0xcd, + 0x04, 0xda, 0x04, 0xdb, 0x04, 0xdc, 0x04, 0xf4, 0x00, 0x01, 0x00, + 0x14, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x01, + 0x04, 0xdc, 0x00, 0xc8, 0xff, 0x38, 0x00, 0x01, 0x00, 0x01, 0x04, + 0xdb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x9c, + 0x00, 0xd0, 0x00, 0x07, 0x44, 0x46, 0x4c, 0x54, 0x00, 0x2c, 0x62, + 0x6f, 0x70, 0x6f, 0x00, 0x3a, 0x63, 0x6f, 0x70, 0x74, 0x00, 0x48, + 0x63, 0x79, 0x72, 0x6c, 0x00, 0x56, 0x67, 0x72, 0x65, 0x6b, 0x00, + 0x64, 0x68, 0x65, 0x62, 0x72, 0x00, 0x72, 0x6c, 0x61, 0x74, 0x6e, + 0x00, 0x84, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, + 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x63, 0x63, 0x6d, 0x70, + 0x00, 0x1a, 0x64, 0x6c, 0x69, 0x67, 0x00, 0x22, 0x73, 0x75, 0x62, + 0x73, 0x00, 0x28, 0x73, 0x75, 0x70, 0x73, 0x00, 0x2e, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x04, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x16, 0x00, 0x1e, 0x00, + 0x26, 0x00, 0x2e, 0x00, 0x36, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x30, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x40, 0x00, + 0x06, 0x00, 0x01, 0x00, 0x01, 0x02, 0x02, 0x00, 0x04, 0x00, 0x01, + 0x00, 0x01, 0x02, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x8c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02, 0x94, 0x00, 0x01, + 0x00, 0x12, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x08, + 0xff, 0x00, 0x02, 0x05, 0x0b, 0x00, 0x01, 0x00, 0x01, 0x04, 0xff, + 0x00, 0x01, 0x01, 0x9c, 0x00, 0x19, 0x00, 0x38, 0x00, 0x42, 0x00, + 0x4c, 0x00, 0x56, 0x00, 0x60, 0x00, 0x6a, 0x00, 0x74, 0x00, 0x7e, + 0x00, 0x88, 0x00, 0x9a, 0x00, 0xa4, 0x00, 0xae, 0x00, 0xc0, 0x00, + 0xda, 0x00, 0xe4, 0x01, 0x00, 0x01, 0x0a, 0x01, 0x14, 0x01, 0x1e, + 0x01, 0x28, 0x01, 0x32, 0x01, 0x3c, 0x01, 0x46, 0x01, 0x50, 0x01, + 0x92, 0x00, 0x01, 0x00, 0x04, 0x09, 0x73, 0x00, 0x02, 0x04, 0xf4, + 0x00, 0x01, 0x00, 0x04, 0x09, 0x74, 0x00, 0x02, 0x04, 0xf4, 0x00, + 0x01, 0x00, 0x04, 0x09, 0x75, 0x00, 0x02, 0x04, 0xf4, 0x00, 0x01, + 0x00, 0x04, 0x09, 0x72, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, 0x00, + 0x04, 0x08, 0xe6, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, 0x00, 0x04, + 0x08, 0xe7, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, 0x00, 0x04, 0x08, + 0xe8, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, 0x00, 0x04, 0x08, 0xe9, + 0x00, 0x02, 0x04, 0xf3, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0c, 0x08, + 0xfb, 0x00, 0x02, 0x04, 0xf0, 0x08, 0xea, 0x00, 0x02, 0x04, 0xf3, + 0x00, 0x01, 0x00, 0x04, 0x08, 0xeb, 0x00, 0x02, 0x04, 0xf3, 0x00, + 0x01, 0x00, 0x04, 0x08, 0xec, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x02, + 0x00, 0x06, 0x00, 0x0c, 0x08, 0xed, 0x00, 0x02, 0x04, 0xf3, 0x08, + 0xd2, 0x00, 0x02, 0x04, 0xeb, 0x00, 0x03, 0x00, 0x08, 0x00, 0x0e, + 0x00, 0x14, 0x09, 0x6d, 0x00, 0x02, 0x04, 0xe7, 0x09, 0x6c, 0x00, + 0x02, 0x04, 0xef, 0x08, 0xee, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, + 0x00, 0x04, 0x08, 0xef, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x03, 0x00, + 0x08, 0x00, 0x10, 0x00, 0x16, 0x09, 0x6a, 0x00, 0x03, 0x04, 0xf3, + 0x04, 0xf0, 0x09, 0x6b, 0x00, 0x02, 0x04, 0xf0, 0x08, 0xf0, 0x00, + 0x02, 0x04, 0xf3, 0x00, 0x01, 0x00, 0x04, 0x08, 0xf1, 0x00, 0x02, + 0x04, 0xf3, 0x00, 0x01, 0x00, 0x04, 0x08, 0xf2, 0x00, 0x02, 0x04, + 0xf3, 0x00, 0x01, 0x00, 0x04, 0x08, 0xf3, 0x00, 0x02, 0x04, 0xf3, + 0x00, 0x01, 0x00, 0x04, 0x08, 0xf4, 0x00, 0x02, 0x04, 0xf3, 0x00, + 0x01, 0x00, 0x04, 0x08, 0xf5, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, + 0x00, 0x04, 0x08, 0xf6, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, 0x00, + 0x04, 0x08, 0xf7, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x01, 0x00, 0x04, + 0x08, 0xf8, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x07, 0x00, 0x10, 0x00, + 0x18, 0x00, 0x20, 0x00, 0x28, 0x00, 0x30, 0x00, 0x36, 0x00, 0x3c, + 0x08, 0xe2, 0x00, 0x03, 0x04, 0xf9, 0x04, 0xf3, 0x08, 0xe2, 0x00, + 0x03, 0x04, 0xf3, 0x04, 0xf9, 0x08, 0xe1, 0x00, 0x03, 0x04, 0xf8, + 0x04, 0xf3, 0x08, 0xe1, 0x00, 0x03, 0x04, 0xf3, 0x04, 0xf8, 0x08, + 0xf9, 0x00, 0x02, 0x04, 0xf3, 0x08, 0xe0, 0x00, 0x02, 0x04, 0xf9, + 0x08, 0xdf, 0x00, 0x02, 0x04, 0xf8, 0x00, 0x01, 0x00, 0x04, 0x08, + 0xfa, 0x00, 0x02, 0x04, 0xf3, 0x00, 0x02, 0x00, 0x07, 0x04, 0xe8, + 0x04, 0xea, 0x00, 0x00, 0x04, 0xff, 0x05, 0x05, 0x00, 0x03, 0x05, + 0x07, 0x05, 0x0b, 0x00, 0x0a, 0x05, 0x0d, 0x05, 0x0d, 0x00, 0x0f, + 0x05, 0x0f, 0x05, 0x10, 0x00, 0x10, 0x05, 0x12, 0x05, 0x13, 0x00, + 0x12, 0x05, 0x15, 0x05, 0x19, 0x00, 0x14, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x14, 0x00, 0x22, 0x00, 0x01, 0x00, 0x2c, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x05, 0x04, 0xff, + 0x05, 0x00, 0x05, 0x0a, 0x05, 0x13, 0x05, 0x1c, 0x00, 0x01, 0x00, + 0x03, 0x04, 0xee, 0x04, 0xef, 0x04, 0xf6, 0x00, 0x02, 0x00, 0x03, + 0x04, 0xff, 0x05, 0x1c, 0x00, 0x00, 0x08, 0x8f, 0x08, 0x8f, 0x00, + 0x1e, 0x08, 0xd6, 0x08, 0xdd, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x4a, + 0x00, 0x05, 0x00, 0x10, 0x00, 0x22, 0x00, 0x2c, 0x00, 0x36, 0x00, + 0x40, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0c, 0x08, 0xe4, 0x00, 0x02, + 0x04, 0xef, 0x08, 0xe3, 0x00, 0x02, 0x04, 0xee, 0x00, 0x01, 0x00, + 0x04, 0x08, 0xfc, 0x00, 0x02, 0x04, 0xf6, 0x00, 0x01, 0x00, 0x04, + 0x08, 0xfd, 0x00, 0x02, 0x04, 0xf6, 0x00, 0x01, 0x00, 0x04, 0x08, + 0xfe, 0x00, 0x02, 0x04, 0xf6, 0x00, 0x01, 0x00, 0x04, 0x08, 0xd4, + 0x00, 0x02, 0x04, 0xee, 0x00, 0x01, 0x00, 0x05, 0x04, 0xff, 0x05, + 0x00, 0x05, 0x0a, 0x05, 0x13, 0x05, 0x1c, 0x00, 0x01, 0x00, 0x06, + 0x07, 0xe1, 0x00, 0x02, 0x00, 0x01, 0x00, 0x17, 0x00, 0x1c, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x06, 0x07, 0xec, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x13, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00 +}; + +const unsigned int LiberationMonoRegular_ttf_length = 319624; diff --git a/src/lindbergh/rideboard.c b/src/lindbergh/rideBoard.c similarity index 98% rename from src/lindbergh/rideboard.c rename to src/lindbergh/rideBoard.c index d3c65d3..9bc98c4 100644 --- a/src/lindbergh/rideboard.c +++ b/src/lindbergh/rideBoard.c @@ -1,15 +1,4 @@ -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include "rideboard.h" +#include "rideBoard.h" RideState rideState = {0}; diff --git a/src/lindbergh/rideboard.h b/src/lindbergh/rideBoard.h similarity index 100% rename from src/lindbergh/rideboard.h rename to src/lindbergh/rideBoard.h diff --git a/src/lindbergh/sdlCalls.c b/src/lindbergh/sdlCalls.c new file mode 100644 index 0000000..e368f5b --- /dev/null +++ b/src/lindbergh/sdlCalls.c @@ -0,0 +1,316 @@ +#ifndef __i386__ +#define __i386__ +#endif +#undef __x86_64__ +#define GL_GLEXT_PROTOTYPES +#include +// #include +#include +#include +#include +#include +#include +#include +#include + +#include "blitStretching.h" +#include "config.h" +#include "customCursor.h" +#include "sdlInput.h" +#include "jvs.h" +#include "resources/LiberationMono-Regular.h" +#include "log.h" +#include "sdlCalls.h" + +extern uint32_t gId; +extern int gGrp; +extern int gWidth; +extern int gHeight; +extern int drawableW; +extern int drawableH; + +bool creatingWindow = false; +SDL_Window *sdlWindow = NULL; +SDL_GLContext sdlContext = NULL; +Display *x11Display = NULL; +Window x11Window; +char sdlGameTitle[256] = {0}; + +extern SDL_Cursor *customCursor; +extern SDL_Cursor *touchCursor; + +int glutInitialized = 0; + +bool isFullScreen = false; +bool sdlFontInit = false; +SDL_Renderer *fontRenderer; +TTF_Font *font; + +void GLAPIENTRY openglDebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, + const void *userParam) +{ + if (id == 1099) + return; + printf("OpenGL Debug Message:\n"); + printf("Source: 0x%x\n", source); + printf("Type: 0x%x\n", type); + printf("ID: %u\n", id); + printf("Severity: 0x%x\n", severity); + printf("Message: %s\n", message); + + if (severity == GL_DEBUG_SEVERITY_HIGH) + { + printf("This is a high severity error!\n"); + } +} + +int initSDL() +{ + if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMEPAD)) + { + log_error("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); + return 1; + } + + if (gGrp == GROUP_OUTRUN_TEST) + { + if (!TTF_Init()) + { + log_error("SDL_ttf could not initialize! SDL_ttf Error: %s\n", SDL_GetError()); + return 1; + } + SDL_IOStream *rw = SDL_IOFromConstMem(LiberationMonoRegular_ttf, LiberationMonoRegular_ttf_length); + float fontSize = 16.0; + if (gWidth > 640) + fontSize = fontSize * (((float)gWidth / 640.0f) + ((float)gHeight / 480.0f)) / 2.0f; + + font = TTF_OpenFontIO(rw, 1, fontSize); + fontRenderer = SDL_CreateRenderer(sdlWindow, ""); + } + return 0; +} + +void startSDL(int *argcp, char **argv) +{ + creatingWindow = true; + int numDisplays; + SDL_DisplayID *sdlDisplayId = SDL_GetDisplays(&numDisplays); + if (numDisplays > 1) + log_warn("More than 1 display detected, will use the first one.\n"); + + const SDL_DisplayMode *displayMode = SDL_GetCurrentDisplayMode(sdlDisplayId[0]); + if (displayMode == NULL) + { + log_error("SDL_GetCurrentDisplayMode Error: %s\n", SDL_GetError()); + SDL_Quit(); + exit(EXIT_FAILURE); + } + + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); // Double buffering + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); // 24-bit depth buffer + SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); // Set the alpha size to 8 bits + SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32); + SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); + + if (gGrp == GROUP_ABC || gGrp == GROUP_VF5 || gId == R_TUNED || gId == GHOST_SQUAD_EVOLUTION || gId == SEGA_RACE_TV || + gId == MJ4_REVG || gId == MJ4_EVO) + { + SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1); + } + + uint32_t windowFlags = SDL_WINDOW_OPENGL | SDL_WINDOW_HIDDEN; + + strcat(sdlGameTitle, getGameName()); + + // Hacky way to make AxA games render the characters properly + if (gId == QUIZ_AXA || gId == QUIZ_AXA_LIVE) + sdlWindow = SDL_CreateWindow(sdlGameTitle, 1024, 768, windowFlags); + else + sdlWindow = SDL_CreateWindow(sdlGameTitle, gWidth, gHeight, windowFlags); + + if (!sdlWindow) + { + SDL_Quit(); + log_error("Window could not be created! SDL_Error: %s\n", SDL_GetError()); + exit(EXIT_FAILURE); + } + + if (gId == GHOST_SQUAD_EVOLUTION || gId == MJ4_EVO || gId == MJ4_REVG) + SDL_SetWindowSize(sdlWindow, gWidth, gHeight + 1); + + x11Display = (Display *)SDL_GetPointerProperty(SDL_GetWindowProperties(sdlWindow), SDL_PROP_WINDOW_X11_DISPLAY_POINTER, NULL); + x11Window = (Window)SDL_GetNumberProperty(SDL_GetWindowProperties(sdlWindow), SDL_PROP_WINDOW_X11_WINDOW_NUMBER, 0); + if (!x11Display || !x11Window) + { + log_error("This program is not running on X11 or failed to get window/display.\n"); + } + + sdlContext = SDL_GL_CreateContext(sdlWindow); + if (!sdlContext) + { + SDL_DestroyWindow(sdlWindow); + SDL_Quit(); + log_error("OpenGL context could not be created! SDL_Error: %s\n", SDL_GetError()); + exit(EXIT_FAILURE); + } + + if (getConfig()->showDebugMessages) + { + // Enable OpenGL debug output + glEnable(GL_DEBUG_OUTPUT); + glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); + glDebugMessageCallback(openglDebugCallback, NULL); + } + + // If games are any of the LGJ or Primeval Hunt, we prevent the window to resize. + if ((gGrp == GROUP_LGJ || gId == PRIMEVAL_HUNT) && !getConfig()->fullscreen) + SDL_SetWindowMaximumSize(sdlWindow, gWidth, gHeight); + else if (gGrp != GROUP_LGJ) + SDL_SetWindowMaximumSize(sdlWindow, displayMode->w, displayMode->h); + + SDL_SetWindowMinimumSize(sdlWindow, gWidth, gHeight); + + // Hacky way to make AxA games render the characters properly + if (gId == QUIZ_AXA || gId == QUIZ_AXA_LIVE) + SDL_SetWindowPosition(sdlWindow, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); + + if (getConfig()->fullscreen) + { + SDL_SetWindowFullscreenMode(sdlWindow, NULL); + SDL_SetWindowFullscreen(sdlWindow, true); + isFullScreen = true; + } + + initBlitting(); + + SDL_ShowWindow(sdlWindow); + + Uint64 startTime = SDL_GetTicks(); + int running = 1; + + // We clear the window background + while (running) + { + if (SDL_GetTicks() - startTime >= 1000) + running = 0; + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); + + SDL_GL_SwapWindow(sdlWindow); + } + + if (gId != PRIMEVAL_HUNT) + SDL_SetWindowResizable(sdlWindow, true); + + creatingWindow = false; + + printf(" RESOLUTION: %dx%d\n", gWidth, gHeight); + + loadCursors(); + if (customCursor) + setCursor(customCursor); + + if ((gId == MJ4_REVG || gId == MJ4_EVO || gId == QUIZ_AXA || gId == QUIZ_AXA_LIVE) && strcmp(getConfig()->touchCursor, "") != 0 && + getConfig()->emulateTouchscreen) + setCursor(touchCursor); + else if (getConfig()->hideCursor) + SDL_HideCursor(); +} + +void sdlQuit() +{ + setSwitch(SYSTEM, BUTTON_TEST, 1); + usleep(50000); + setSwitch(SYSTEM, BUTTON_TEST, 0); + usleep(50000); + SDL_DestroyWindow(sdlWindow); + SDL_Quit(); + exit(0); +} + +void pollEvents() +{ + SDL_Event event; + while (SDL_PollEvent(&event)) + { + switch (event.type) + { + case SDL_EVENT_KEY_DOWN: + { + if (gGrp != GROUP_LGJ && gId != PRIMEVAL_HUNT) + { + SDL_Keymod mod = SDL_GetModState(); + if ((event.key.key == SDLK_RETURN && (mod & SDL_KMOD_ALT)) || event.key.key == SDLK_F11) + { + if (isFullScreen) + { + if (!SDL_SetWindowFullscreen(sdlWindow, 0)) + { + log_error("Error setting windowed mode: %s\n", SDL_GetError()); + } + else + { + if ((long long)gWidth * 3 == (long long)gHeight * 4) + SDL_SetWindowSize(sdlWindow, gWidth + 1, gHeight); + else + SDL_SetWindowSize(sdlWindow, gWidth, gHeight + 1); + isFullScreen = false; + if (getConfig()->fullscreen) + SDL_SetWindowBordered(sdlWindow, true); + } + } + else + { + if (!SDL_SetWindowFullscreen(sdlWindow, true)) + { + log_error("Error setting fullscreen mode: %s\n", SDL_GetError()); + } + else + { + isFullScreen = true; + } + } + break; + } + } + } + case SDL_EVENT_KEY_UP: + case SDL_EVENT_MOUSE_BUTTON_DOWN: + case SDL_EVENT_MOUSE_BUTTON_UP: + case SDL_EVENT_MOUSE_MOTION: + case SDL_EVENT_GAMEPAD_BUTTON_DOWN: + case SDL_EVENT_GAMEPAD_BUTTON_UP: + case SDL_EVENT_GAMEPAD_AXIS_MOTION: + case SDL_EVENT_JOYSTICK_BUTTON_DOWN: + case SDL_EVENT_JOYSTICK_BUTTON_UP: + case SDL_EVENT_JOYSTICK_AXIS_MOTION: + case SDL_EVENT_JOYSTICK_HAT_MOTION: + processSdlEvent(&event); + break; + case SDL_EVENT_WINDOW_CLOSE_REQUESTED: + sdlQuit(); + break; + case SDL_EVENT_WINDOW_RESTORED: + { + if (((long long)gWidth * 3 == (long long)gHeight * 4) || gGrp == GROUP_HUMMER) + SDL_SetWindowSize(sdlWindow, gWidth + 1, gHeight); + else + SDL_SetWindowSize(sdlWindow, gWidth, gHeight + 1); + } + break; + case SDL_EVENT_WINDOW_MOUSE_LEAVE: + case SDL_EVENT_WINDOW_MOUSE_ENTER: + processSdlEvent(&event); + default: + break; + } + } + if (gGrp == GROUP_HOD4 || gGrp == GROUP_HOD4_TEST) + updateGunShake(); + updateCombinedAxes(); + processChangedActions(); +} diff --git a/src/lindbergh/sdlCalls.h b/src/lindbergh/sdlCalls.h new file mode 100644 index 0000000..dd26471 --- /dev/null +++ b/src/lindbergh/sdlCalls.h @@ -0,0 +1,7 @@ +#pragma once + +#include + +int initSDL(); +void startSDL(int *argcp, char **argv); +void pollEvents(); diff --git a/src/lindbergh/sdlInput.c b/src/lindbergh/sdlInput.c new file mode 100644 index 0000000..f287cd6 --- /dev/null +++ b/src/lindbergh/sdlInput.c @@ -0,0 +1,2055 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "blitStretching.h" +#include "config.h" +#include "gameControllerMappings.h" +#include "iniParser.h" +#include "sdlInput.h" +#include "jvs.h" +#include "log.h" +#include "touchScreen.h" + +// --- GLOBAL STATE AND MAPPINGS --- +ActionState gActionStates[MAX_ENTITIES][NUM_LOGICAL_ACTIONS] = {0}; +JVSActionMapping gJvsMap[MAX_ENTITIES][NUM_LOGICAL_ACTIONS]; +ChangedAction gChangedActions[NUM_LOGICAL_ACTIONS * MAX_ENTITIES]; +LogicalActionProperties gActionProperties[MAX_ENTITIES][NUM_LOGICAL_ACTIONS] = {0}; +int gNumChangedActions = 0; +SDLControllers sdlJoysticks = {0}; +int gLastGunX[MAX_ENTITIES]; +int gLastGunY[MAX_ENTITIES]; +int gLastGunXDir[MAX_ENTITIES]; +int gLastGunYDir[MAX_ENTITIES]; +float gShakeValue[MAX_ENTITIES]; +float gShakeIncreaseRate = 10.0f; +float gShakeDecayRate = 0.95f; + +// --- NEW GLOBALS FOR GUID MAPPING --- +char gPlayerGUIDs[MAX_PLAYERS + 1][33]; // +1 for SYSTEM, 33 for 32 chars + null terminator +bool gPlayerGUIDsDirty = false; // Flag to check if we need to save the INI + +// Direct lookup tables for high-performance event handling +ControlBinding gKeyBindings[SDL_SCANCODE_COUNT] = {0}; +ControlBinding gMouseButtonBindings[MAX_MOUSE_BUTTONS] = {0}; +ControlBinding gMouseAxisBindings[2] = {0}; // 0=X, 1=Y +BindingPair gJoyAxisBindings[MAX_JOYSTICKS][MAX_JOY_AXES] = {0}; +ControlBinding gJoyButtonBindings[MAX_JOYSTICKS][MAX_JOY_BUTTONS] = {0}; +BindingPair gControllerAxisBindings[MAX_JOYSTICKS][SDL_GAMEPAD_AXIS_COUNT] = {0}; +ControlBinding gControllerButtonBindings[MAX_JOYSTICKS][SDL_GAMEPAD_BUTTON_COUNT] = {0}; +HatBinding gJoyHatBindings[MAX_JOYSTICKS][MAX_JOY_HATS] = {0}; + +extern uint32_t gId; +extern int gGrp; +extern int gWidth; +extern int gHeight; +int widthOri; +int heightOri; +extern SDL_Window *sdlWindow; + +extern Dest dest; + +extern int phX, phY, phW, phH; +int phIsDragging = 0; + +extern int drawableW; +extern int drawableH; + +int jvsAnalogueMaxValue; +int jvsAnalogueCenterValue; + +GameType gameType; + +// Map between string names and LogicalAction enums for INI parsing. +const struct +{ + const char *name; + LogicalAction action; +} gActionNameMap[] = {{"Test", LA_Test}, + {"Coin", LA_Coin}, + {"GearUp", LA_GearUp}, + {"GearDown", LA_GearDown}, + {"ViewChange", LA_ViewChange}, + {"MusicChange", LA_MusicChange}, + {"Boost", LA_Boost}, + {"BoostRight", LA_BoostRight}, + {"Start", LA_Start}, + {"Service", LA_Service}, + {"Up", LA_Up}, + {"Down", LA_Down}, + {"Left", LA_Left}, + {"Right", LA_Right}, + {"Button1", LA_Button1}, + {"Button2", LA_Button2}, + {"Button3", LA_Button3}, + {"Button4", LA_Button4}, + {"Button5", LA_Button5}, + {"Button6", LA_Button6}, + {"Button7", LA_Button7}, + {"Button8", LA_Button8}, + {"Button9", LA_Button9}, + {"Button10", LA_Button10}, + {"Trigger", LA_Trigger}, + {"OutOfScreen", LA_OutOfScreen}, + {"Reload", LA_Reload}, + {"GunButton", LA_GunButton}, + {"ActionButton", LA_ActionButton}, + {"PedalLeft", LA_PedalLeft}, + {"PedalRight", LA_PedalRight}, + {"Steer", LA_Steer}, + {"Gas", LA_Gas}, + {"Brake", LA_Brake}, + {"GunX", LA_GunX}, + {"GunY", LA_GunY}, + {"Steer_Left", LA_Steer_Left}, + {"Steer_Right", LA_Steer_Right}, + {"Gas_Digital", LA_Gas_Digital}, + {"Brake_Digital", LA_Brake_Digital}, + {"ABC_X", LA_ABC_X}, + {"ABC_Left", LA_ABC_Left}, + {"ABC_Right", LA_ABC_Right}, + {"ABC_Y", LA_ABC_Y}, + {"ABC_Up", LA_ABC_Up}, + {"ABC_Down", LA_ABC_Down}, + {"GunTrigger", LA_GunTrigger}, + {"MissileTrigger", LA_MissileTrigger}, + {"ClimaxSwitch", LA_ClimaxSwitch}, + {"Throttle", LA_Throttle}, + {"Throttle_Accelerate", LA_Throttle_Accelerate}, + {"Throttle_Slowdown", LA_Throttle_Slowdown}, + {"CardInsert", LA_CardInsert}, + {"Card1Insert", LA_Card1Insert}, + {"Card2Insert", LA_Card2Insert}, + {"ButtonA", LA_A}, + {"ButtonB", LA_B}, + {"ButtonC", LA_C}, + {"ButtonD", LA_D}, + {"ButtonE", LA_E}, + {"ButtonF", LA_F}, + {"ButtonG", LA_G}, + {"ButtonH", LA_H}, + {"ButtonI", LA_I}, + {"ButtonJ", LA_J}, + {"ButtonK", LA_K}, + {"ButtonL", LA_L}, + {"ButtonM", LA_M}, + {"ButtonN", LA_N}, + {"ButtonReach", LA_Reach}, + {"ButtonChi", LA_Chi}, + {"ButtonPon", LA_Pon}, + {"ButtonKan", LA_Kan}, + {"ButtonAgari", LA_Agari}, + {"ButtonCancel", LA_Cancel}}; + +const int NUM_ACTION_NAMES = sizeof(gActionNameMap) / sizeof(gActionNameMap[0]); + +// --- Default Bindings --- +// These arrays define the built-in control schemes that are used when controls.ini is not found. +// They are also used by createDefaultControlsIni() to generate a fresh INI file. +extern const ControlBinding gDefaultCommonBindings[]; +extern const ControlBinding gDefaultDigitalBindings[]; +extern const ControlBinding gDefaultDrivingBindings[]; +extern const ControlBinding gDefaultAbcBindings[]; +extern const ControlBinding gDefaultShootingBindings[]; +extern const ControlBinding gDefaultMahjongBindings[]; + +extern const size_t gDefaultCommonBindingsSize; +extern const size_t gDefaultDigitalBindingsSize; +extern const size_t gDefaultDrivingBindingsSize; +extern const size_t gDefaultAbcBindingsSize; +extern const size_t gDefaultShootingBindingsSize; +extern const size_t gDefaultMahjongBindingsSize; + +#ifndef COMPILING_LINDBERGH_ELF + +// Forward declaration +void saveGuidsToIni(); + +/** + * @brief Initializes the entire SDL input system. + * This function initializes SDL subsystems, detects attached controllers, + * loads control schemes from controls.ini, or applies hardcoded defaults. + * It is the main entry point for setting up all input handling. + * @return 0 on success, non-zero on failure. + */ +int initSdlInput(char *controlsPath) +{ + if (getConfig()->inputMode == 2) + return 0; + + // Initialize GameController subsystem + if (!SDL_Init(SDL_INIT_GAMEPAD)) + log_warn("Could not initialize SDL_GameController: %s\n", SDL_GetError()); + + // Loads the built-in database of controller + loadSDLControllerMappings(); + + // Load official and community-sourced controller mappings from a database file. + char *envDbPath = getenv("LINDBERGH_CONTROLS_DB_PATH"); + if (envDbPath) + { + SDL_AddGamepadMappingsFromFile(envDbPath); + printf("%s, as a controller database.\n", envDbPath); + } + + gameType = getConfig()->gameType; + jvsAnalogueMaxValue = (1 << getJVSIO()->capabilities.analogueInBits) - 1; + jvsAnalogueCenterValue = jvsAnalogueMaxValue / 2; + memset(gPlayerGUIDs, 0, sizeof(gPlayerGUIDs)); + + // Set initial analog values for specific games that require it. + if (gGrp == GROUP_HOD4 || gGrp == GROUP_HOD4_TEST) + { + setAnalogue(ANALOGUE_5, jvsAnalogueCenterValue); + setAnalogue(ANALOGUE_6, jvsAnalogueCenterValue); + setAnalogue(ANALOGUE_7, jvsAnalogueCenterValue); + setAnalogue(ANALOGUE_8, jvsAnalogueCenterValue); + } + else if (gId == HARLEY_DAVIDSON) + { + setAnalogue(ANALOGUE_2, jvsAnalogueCenterValue); + } + else if (gameType == DRIVING) + { + setAnalogue(ANALOGUE_1, jvsAnalogueCenterValue); + setAnalogue(ANALOGUE_5, jvsAnalogueCenterValue); + } + + // Initialize all mappings and properties. + initJvsMappings(); + initActionProperties(); + + // Load control bindings from specified file on tries to load it from the current folder, otherwise use defaults. + struct stat buffer; + IniConfig *ini; + int isProfileLoaded = 0; + if (stat(controlsPath, &buffer) == 0) + { + log_debug("controls config file loaded from %s\n", controlsPath); + ini = iniLoad(controlsPath); + } + else + { + log_debug("controls config file \"controls.ini\" loaded from current folder\n"); + ini = iniLoad("controls.ini"); + } + + if (ini) + { + printf("Found controls.ini, loading custom configuration...\n"); + loadGlobalConfig(ini); + loadProfileFromIni(iniGetSection(ini, "Common")); + if (gameType == DRIVING) + isProfileLoaded = loadProfileFromIni(iniGetSection(ini, "Driving")); + else if (gameType == DIGITAL) + isProfileLoaded = loadProfileFromIni(iniGetSection(ini, "Digital")); + else if (gameType == SHOOTING) + isProfileLoaded = loadProfileFromIni(iniGetSection(ini, "Shooting")); + else if (gameType == ABC) + isProfileLoaded = loadProfileFromIni(iniGetSection(ini, "ABC")); + else if (gameType == MAHJONG) + isProfileLoaded = loadProfileFromIni(iniGetSection(ini, "Mahjong")); + + iniFree(ini); + } + + if (!isProfileLoaded) + { + setDefaultMappings(); + } + + // --- NEW GUID-BASED CONTROLLER MAPPING --- + int numJoysticks; + SDL_JoystickID *joystics = SDL_GetJoysticks(&numJoysticks); + int playerToDeviceIndex[MAX_PLAYERS + 1]; + for (int i = 0; i <= MAX_PLAYERS; i++) + playerToDeviceIndex[i] = -1; // -1 means unassigned + + if (joystics) + { + bool deviceIsClaimed[MAX_JOYSTICKS] = {false}; + SDL_JoystickID instanceId; + // First Pass: Match saved GUIDs to available hardware + printf("Attempting to map controllers by saved GUIDs...\n"); + for (int player = 1; player <= MAX_PLAYERS; player++) + { + if (strlen(gPlayerGUIDs[player]) > 0 && isProfileLoaded) + { + for (int i = 0; i < numJoysticks; i++) + { + if (deviceIsClaimed[i]) + continue; + + instanceId = joystics[i]; + SDL_GUID guid = SDL_GetJoystickGUIDForID(instanceId); + char device_guid_str[33]; + SDL_GUIDToString(guid, device_guid_str, sizeof(device_guid_str)); + device_guid_str[4] = '0'; + device_guid_str[5] = '0'; + device_guid_str[6] = '0'; + device_guid_str[7] = '0'; + if (strcmp(gPlayerGUIDs[player], device_guid_str) == 0) + { + printf(" - Matched P%d to device %d ('%s') via GUID.\n", player, i, SDL_GetJoystickNameForID(instanceId)); + playerToDeviceIndex[player] = instanceId; + deviceIsClaimed[i] = true; + break; + } + } + } + } + + // Second Pass: Assign remaining players to unclaimed controllers + printf("Assigning remaining players to available controllers...\n"); + for (int player = 1; player <= MAX_PLAYERS; player++) + { + if (playerToDeviceIndex[player] == -1) // If this player is still unassigned + { + for (int i = 0; i < numJoysticks; i++) + { + if (!deviceIsClaimed[i]) // Find the first unclaimed device + { + instanceId = joystics[i]; + printf(" - Assigned P%d to first available device %d ('%s').\n", player, i, SDL_GetJoystickNameForID(instanceId)); + playerToDeviceIndex[player] = instanceId; + deviceIsClaimed[i] = true; + + // Get its GUID and mark for saving. + SDL_GUID guid = SDL_GetJoystickGUIDForID(instanceId); + SDL_GUIDToString(guid, gPlayerGUIDs[player], sizeof(gPlayerGUIDs[player])); + gPlayerGUIDs[player][4] = '0'; + gPlayerGUIDs[player][5] = '0'; + gPlayerGUIDs[player][6] = '0'; + gPlayerGUIDs[player][7] = '0'; + gPlayerGUIDsDirty = true; + break; + } + } + } + } + + // Now, open devices in player-centric order. + // The index `i` in sdlJoysticks (0..MAX_JOYSTICKS-1) now corresponds to Player (i+1). + // This makes JOY0_, GC0_ always refer to P1, etc. + sdlJoysticks.joysticksCount = 0; + for (int player = 1; player <= MAX_PLAYERS; player++) + { + int deviceIndex = playerToDeviceIndex[player]; + int internal_index = player - 1; + + if (deviceIndex != -1) + { + if (SDL_IsGamepad(deviceIndex)) + { + sdlJoysticks.controllers[internal_index] = SDL_OpenGamepad(deviceIndex); + } + else + { + sdlJoysticks.joysticks[internal_index] = SDL_OpenJoystick(deviceIndex); + } + + if (sdlJoysticks.controllers[internal_index] || sdlJoysticks.joysticks[internal_index]) + { + sdlJoysticks.joysticksCount++; + } + } + } + } + + // Save any new GUID assignments back to the INI file. + if (isProfileLoaded) + saveGuidsToIni(); + + // After loading all bindings, scan them to identify combined axes. + detectCombinedAxes(); + + // Apply any final game-specific mapping overrides. + remapPerGame(); + + return 0; +} + +/** + * @brief Parses a logical action key from the INI file (e.g., "P1_Start"). + * @param key The string key from the INI file. + * @param out_player Pointer to store the parsed JVSPlayer. + * @param out_action Pointer to store the parsed LogicalAction. + * @return True if parsing was successful, false otherwise. + */ +bool parseActionKey(const char *key, JVSPlayer *out_player, LogicalAction *out_action) +{ + char genericKey[64]; + int p_num; + if (sscanf(key, "P%d_%s", &p_num, genericKey) == 2) + { + if (p_num >= 1 && p_num <= MAX_PLAYERS) + *out_player = (JVSPlayer)p_num; + else + return false; + } + else + { + *out_player = PLAYER_1; + strcpy(genericKey, key); + if (strcmp(genericKey, "Test") == 0) + *out_player = SYSTEM; + } + for (int i = 0; i < NUM_ACTION_NAMES; i++) + { + if (strcmp(gActionNameMap[i].name, genericKey) == 0) + { + *out_action = gActionNameMap[i].action; + return true; + } + } + return false; +} + +/** + * @brief Initializes the mapping from LogicalActions to JVS inputs. + * This function sets up the default JVS configuration for all players and actions, + * defining whether an action corresponds to a switch, an analog input, or a coin drop. + */ +void initJvsMappings() +{ + for (int p = 0; p < MAX_ENTITIES; p++) + { + for (int i = 0; i < NUM_LOGICAL_ACTIONS; i++) + gJvsMap[p][i] = (JVSActionMapping){JVS_CALL_NONE, NONE}; + } + + gJvsMap[SYSTEM][LA_Test] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_TEST}; + + for (int p = 1; p <= MAX_PLAYERS; p++) + { + gJvsMap[p][LA_Start] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_START}; + gJvsMap[p][LA_Service] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_SERVICE}; + gJvsMap[p][LA_Coin] = (JVSActionMapping){JVS_CALL_COIN, COIN}; + + int shootingPlayerIdx = (p - 1) * 2; + + if (gameType == DIGITAL) + { + gJvsMap[p][LA_Up] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_UP}; + gJvsMap[p][LA_Down] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_DOWN}; + gJvsMap[p][LA_Left] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_LEFT}; + gJvsMap[p][LA_Right] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_RIGHT}; + gJvsMap[p][LA_Button1] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + gJvsMap[p][LA_Button2] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[p][LA_Button3] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + } + else if (gameType == SHOOTING) + { + gJvsMap[p][LA_GunX] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1 + shootingPlayerIdx}; + gJvsMap[p][LA_GunY] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2 + shootingPlayerIdx}; + gJvsMap[p][LA_Trigger] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + gJvsMap[p][LA_Reload] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[p][LA_GunButton] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + gJvsMap[p][LA_ActionButton] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_4}; + gJvsMap[p][LA_ChangeButton] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_5}; + gJvsMap[p][LA_PedalLeft] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_LEFT}; + gJvsMap[p][LA_PedalRight] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_RIGHT}; + } + } + + switch ((int)gameType) + { + case DRIVING: + { + gJvsMap[PLAYER_1][LA_ViewChange] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_DOWN}; + gJvsMap[PLAYER_2][LA_GearUp] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_UP}; + gJvsMap[PLAYER_2][LA_GearDown] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_DOWN}; + gJvsMap[PLAYER_2][LA_Boost] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + gJvsMap[PLAYER_1][LA_CardInsert] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_UP}; + + gJvsMap[PLAYER_1][LA_Steer] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_Gas] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_Brake] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_3}; + gJvsMap[PLAYER_1][LA_Gas_Digital] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_Brake_Digital] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_3}; + gJvsMap[PLAYER_1][LA_Steer_Left] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_Steer_Right] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_Up] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_UP}; + gJvsMap[PLAYER_1][LA_Down] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_DOWN}; + gJvsMap[PLAYER_1][LA_Left] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_LEFT}; + gJvsMap[PLAYER_1][LA_Right] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_RIGHT}; + + gJvsMap[PLAYER_2][LA_Steer] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_5}; + gJvsMap[PLAYER_2][LA_Gas] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_6}; + gJvsMap[PLAYER_2][LA_Brake] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_7}; + gJvsMap[PLAYER_2][LA_Gas_Digital] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_6}; + gJvsMap[PLAYER_2][LA_Brake_Digital] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_7}; + gJvsMap[PLAYER_2][LA_Steer_Left] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_5}; + gJvsMap[PLAYER_2][LA_Steer_Right] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_5}; + } + break; + case ABC: + { + gJvsMap[PLAYER_1][LA_ABC_X] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_ABC_Left] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_ABC_Right] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_ABC_Y] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_ABC_Up] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_ABC_Down] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_Throttle] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_3}; + gJvsMap[PLAYER_1][LA_Throttle_Accelerate] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_3}; + gJvsMap[PLAYER_1][LA_Throttle_Slowdown] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_3}; + gJvsMap[PLAYER_1][LA_GunTrigger] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + gJvsMap[PLAYER_1][LA_MissileTrigger] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[PLAYER_1][LA_ClimaxSwitch] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + } + break; + case MAHJONG: + { + gJvsMap[PLAYER_1][LA_A] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_RIGHT}; + gJvsMap[PLAYER_1][LA_B] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_LEFT}; + gJvsMap[PLAYER_1][LA_C] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_UP}; + gJvsMap[PLAYER_1][LA_D] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_DOWN}; + gJvsMap[PLAYER_1][LA_E] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + gJvsMap[PLAYER_1][LA_F] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[PLAYER_1][LA_G] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + gJvsMap[PLAYER_1][LA_H] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_4}; + gJvsMap[PLAYER_1][LA_I] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_5}; + gJvsMap[PLAYER_1][LA_J] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_6}; + gJvsMap[PLAYER_1][LA_K] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_7}; + gJvsMap[PLAYER_2][LA_L] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_RIGHT}; + gJvsMap[PLAYER_2][LA_M] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_LEFT}; + gJvsMap[PLAYER_2][LA_N] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_UP}; + gJvsMap[PLAYER_2][LA_Chi] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_DOWN}; + gJvsMap[PLAYER_2][LA_Pon] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + gJvsMap[PLAYER_2][LA_Kan] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[PLAYER_2][LA_Reach] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + gJvsMap[PLAYER_2][LA_Agari] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_4}; + gJvsMap[PLAYER_2][LA_Cancel] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_5}; + gJvsMap[PLAYER_2][LA_CardInsert] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_7}; + } + break; + } + gJvsMap[PLAYER_1][LA_Card1Insert] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_4}; + gJvsMap[PLAYER_2][LA_Card2Insert] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_4}; +} + +/** + * @brief Applies specific JVS mapping overrides for certain games. + * After the default mappings are set up, this function can patch them with + * game-specific exceptions (e.g., if a game uses an unusual button layout). + */ +void remapPerGame() +{ + if (gId == R_TUNED) + { + gJvsMap[PLAYER_1][LA_BoostRight] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_RIGHT}; + gJvsMap[PLAYER_1][LA_CardInsert] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_UP}; + } + else if (gGrp == GROUP_HUMMER) + gJvsMap[PLAYER_2][LA_Boost] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_DOWN}; + else if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP || gGrp == GROUP_ID5) + gJvsMap[PLAYER_1][LA_ViewChange] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + else if (gId == LETS_GO_JUNGLE || gId == LETS_GO_JUNGLE_REVA) + { + gJvsMap[PLAYER_1][LA_GunX] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_GunY] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_2][LA_GunX] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_2][LA_GunY] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + } + else if (gId == HARLEY_DAVIDSON) + { + gJvsMap[PLAYER_1][LA_Steer] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_Steer_Left] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_Steer_Right] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_2}; + gJvsMap[PLAYER_1][LA_Gas] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_Gas_Digital] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_1}; + gJvsMap[PLAYER_1][LA_Brake] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_4}; + gJvsMap[PLAYER_1][LA_Brake_Digital] = (JVSActionMapping){JVS_CALL_ANALOGUE, ANALOGUE_4}; + gJvsMap[PLAYER_1][LA_MusicChange] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_1}; + gJvsMap[PLAYER_1][LA_ViewChange] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[PLAYER_1][LA_GearUp] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + gJvsMap[PLAYER_1][LA_GearDown] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_4}; + } + else if (gId == PRIMEVAL_HUNT) + { + gJvsMap[PLAYER_1][LA_Reload] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[PLAYER_1][LA_GunButton] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + gJvsMap[PLAYER_2][LA_Reload] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_2}; + gJvsMap[PLAYER_2][LA_GunButton] = (JVSActionMapping){JVS_CALL_SWITCH, BUTTON_3}; + } +} + +/** + * @brief Initializes special properties for certain logical actions. + * For example, it defines which analog actions should auto-center (like a joystick) + * and which should not (like a gas pedal). + */ +void initActionProperties() +{ + for (int p = 0; p < MAX_ENTITIES; p++) + { + for (int i = 0; i < NUM_LOGICAL_ACTIONS; i++) + { + gActionProperties[p][i].isCentering = false; + gActionProperties[p][i].isCombinedAxis = false; + // Default deadzone for most actions is a sensible 8000 + gActionProperties[p][i].deadzone = 8000; + } + // Explicitly define which actions are centering (like sticks) + gActionProperties[p][LA_Steer].isCentering = true; + + // Set smaller default deadzones for non-centering actions + gActionProperties[p][LA_Gas].deadzone = 500; + gActionProperties[p][LA_Brake].deadzone = 500; + } + gActionProperties[PLAYER_1][LA_ABC_X].isCentering = true; + gActionProperties[PLAYER_1][LA_ABC_Y].isCentering = true; + gActionProperties[PLAYER_1][LA_Throttle].isCentering = true; +} + +/** + * @brief Adds a new control binding to the appropriate lookup table. + * It also checks for and reports any conflicts where a single physical input + * is mapped to two different logical actions. For axes, it allows up to two + * bindings to support split-axis configurations. + * @param binding The ControlBinding to add. + */ +void addBinding(ControlBinding binding) +{ + char name1[128], name2[128]; + char inputName[64] = "Unknown"; + + // Handle non-axis types first, as they only allow one binding per input. + if (binding.type != INPUT_TYPE_JOY_AXIS && binding.type != INPUT_TYPE_GAMEPAD_AXIS) + { + ControlBinding *existing = NULL; + switch (binding.type) + { + case INPUT_TYPE_KEY: + if (binding.sdlId < SDL_SCANCODE_COUNT) + { + existing = &gKeyBindings[binding.sdlId]; + snprintf(inputName, sizeof(inputName), "KEY_%s", SDL_GetScancodeName(binding.sdlId)); + } + break; + case INPUT_TYPE_MOUSE_BUTTON: + if (binding.sdlId < MAX_MOUSE_BUTTONS) + { + existing = &gMouseButtonBindings[binding.sdlId]; + snprintf(inputName, sizeof(inputName), "MOUSE_BUTTON_%d", binding.sdlId); + } + break; + case INPUT_TYPE_MOUSE_AXIS: + if (binding.sdlId < 2) + { + existing = &gMouseAxisBindings[binding.sdlId]; + snprintf(inputName, sizeof(inputName), "MOUSE_AXIS_%d", binding.sdlId); + } + break; + case INPUT_TYPE_JOY_BUTTON: + if (binding.deviceIndex < MAX_JOYSTICKS && binding.sdlId < MAX_JOY_BUTTONS) + { + existing = &gJoyButtonBindings[binding.deviceIndex][binding.sdlId]; + snprintf(inputName, sizeof(inputName), "JOY%d_BUTTON_%d", binding.deviceIndex, binding.sdlId); + } + break; + case INPUT_TYPE_GAMEPAD_BUTTON: + if (binding.deviceIndex < MAX_JOYSTICKS && binding.sdlId < SDL_GAMEPAD_BUTTON_COUNT) + { + existing = &gControllerButtonBindings[binding.deviceIndex][binding.sdlId]; + snprintf(inputName, sizeof(inputName), "GC%d_BUTTON_%s", binding.deviceIndex, + SDL_GetGamepadStringForButton(binding.sdlId)); + } + break; + default: + break; + } + + if (existing) + { + if (existing->type != INPUT_TYPE_NONE && existing->action != binding.action) + { + getLogicalActionString(existing, name1, sizeof(name1), ""); + getLogicalActionString(&binding, name2, sizeof(name2), ""); + fprintf(stderr, "ERROR: Input assignment conflict for '%s'.\n", inputName); + fprintf(stderr, " It is mapped to both '%s' and '%s'. Please fix controls.ini.\n", name1, name2); + } + else + { + *existing = binding; + } + } + return; + } + + if (binding.type == INPUT_TYPE_JOY_HAT) + { + if (binding.deviceIndex < MAX_JOYSTICKS && binding.sdlId < MAX_JOY_HATS) + { + HatBinding *hat = &gJoyHatBindings[binding.deviceIndex][binding.sdlId]; + ControlBinding *targetSlot = NULL; + + // Determine which directional slot to use + if (binding.axisThreshold == SDL_HAT_UP) + targetSlot = &hat->up; + else if (binding.axisThreshold == SDL_HAT_DOWN) + targetSlot = &hat->down; + else if (binding.axisThreshold == SDL_HAT_LEFT) + targetSlot = &hat->left; + else if (binding.axisThreshold == SDL_HAT_RIGHT) + targetSlot = &hat->right; + + if (targetSlot) + { + if (targetSlot->type != INPUT_TYPE_NONE && targetSlot->action != binding.action) + printf("Conflict detection"); + else + *targetSlot = binding; + } + } + return; + } + + // Special handling for axis types to allow two bindings per physical axis. + BindingPair *pair = NULL; + int devIdx = binding.deviceIndex; + int axisId = binding.sdlId; + + if (binding.type == INPUT_TYPE_JOY_AXIS) + { + if (devIdx < MAX_JOYSTICKS && axisId < MAX_JOY_AXES) + { + pair = &gJoyAxisBindings[devIdx][axisId]; + snprintf(inputName, sizeof(inputName), "JOY%d_AXIS_%d", devIdx, axisId); + } + } + else if (binding.type == INPUT_TYPE_GAMEPAD_AXIS) + { + if (devIdx < MAX_JOYSTICKS && axisId < SDL_GAMEPAD_AXIS_COUNT) + { + pair = &gControllerAxisBindings[devIdx][axisId]; + snprintf(inputName, sizeof(inputName), "GC%d_AXIS_%s", devIdx, SDL_GetGamepadStringForAxis(axisId)); + } + } + + if (pair) + { + // Find an empty slot in the pair to place the binding. + if (pair->bindings[0].type == INPUT_TYPE_NONE) + { + pair->bindings[0] = binding; + } + else if (pair->bindings[1].type == INPUT_TYPE_NONE) + { + // Check for redundant bindings before adding. + if (pair->bindings[0].action == binding.action) + { + getLogicalActionString(&binding, name1, sizeof(name1), ""); + fprintf(stderr, "WARNING: Redundant binding for '%s' on action '%s'. Check controls.ini.\n", inputName, name1); + } + pair->bindings[1] = binding; + } + else + { + fprintf(stderr, "ERROR: Cannot bind more than two actions to axis '%s'. Please fix controls.ini.\n", inputName); + } + } +} + +/** + * @brief Applies the default control mappings if controls.ini is not found. + * Iterates through the default binding arrays and adds them to the system. + */ +void setDefaultMappings() +{ + log_warn("controls.ini not found. Applying default mappings...\n"); + + // Add common bindings + for (size_t i = 0; i < gDefaultCommonBindingsSize; i++) + { + addBinding(gDefaultCommonBindings[i]); + } + + // Add game-specific bindings + const ControlBinding *game_bindings = NULL; + size_t bindingsCount = 0; + + if (gameType == DIGITAL) + { + game_bindings = gDefaultDigitalBindings; + bindingsCount = gDefaultDigitalBindingsSize; + } + else if (gameType == DRIVING) + { + game_bindings = gDefaultDrivingBindings; + bindingsCount = gDefaultDrivingBindingsSize; + } + else if (gameType == ABC) + { + game_bindings = gDefaultAbcBindings; + bindingsCount = gDefaultAbcBindingsSize; + } + else if (gameType == SHOOTING) + { + game_bindings = gDefaultShootingBindings; + bindingsCount = gDefaultShootingBindingsSize; + } + else if (gameType == MAHJONG) + { + game_bindings = gDefaultMahjongBindings; + bindingsCount = gDefaultMahjongBindingsSize; + } + + if (game_bindings) + { + for (size_t i = 0; i < bindingsCount; i++) + { + addBinding(game_bindings[i]); + } + } +} + +/** + * @brief Parses a single input source string (e.g., "KEY_A", "JOY0_AXIS_0_NEGATIVE") + * and creates a ControlBinding for it. + * @param token The string token representing the physical input. + * @param player The player this binding belongs to. + * @param action The logical action this input should trigger. + */ +void parseSdlSource(const char *token, JVSPlayer player, LogicalAction action) +{ + ControlBinding map = {0}; + map.action = action; + map.player = player; + map.type = INPUT_TYPE_NONE; + char mutableToken[128]; + strncpy(mutableToken, token, 127); + mutableToken[127] = '\0'; + char *invertedStr = strstr(mutableToken, "_INVERTED"); + if (invertedStr) + { + map.isInverted = true; + *invertedStr = '\0'; + } + else + { + map.isInverted = false; + } + + if (strncmp(mutableToken, "KEY_", 4) == 0) + { + map.type = INPUT_TYPE_KEY; + if (strcmp(mutableToken + 4, "Comma") == 0 || strcmp(mutableToken + 4, "COMMA") == 0) + map.sdlId = SDL_SCANCODE_COMMA; + else + map.sdlId = SDL_GetScancodeFromName(mutableToken + 4); + } + else if (strncmp(mutableToken, "GC", 2) == 0) + { + int devId; + char typeStr[32], nameStr[64]; + if (sscanf(mutableToken, "GC%d_%[^_]_%[^_]", &devId, typeStr, nameStr) == 3) + { + map.deviceIndex = devId; + if (strcmp(typeStr, "BUTTON") == 0) + { + map.type = INPUT_TYPE_GAMEPAD_BUTTON; + map.sdlId = SDL_GetGamepadButtonFromString(nameStr); + } + else if (strcmp(typeStr, "AXIS") == 0) + { + map.type = INPUT_TYPE_GAMEPAD_AXIS; + map.sdlId = SDL_GetGamepadAxisFromString(nameStr); + // Check for axis mode suffixes + if (strstr(mutableToken, "_POSITIVE_HALF")) + { + map.axisMode = AXIS_MODE_POSITIVE_HALF; + } + else if (strstr(mutableToken, "_NEGATIVE_HALF")) + { + map.axisMode = AXIS_MODE_NEGATIVE_HALF; + } + else if (strstr(mutableToken, "_POSITIVE")) + { + map.axisMode = AXIS_MODE_DIGITAL; + map.axisThreshold = 1; + } + else if (strstr(mutableToken, "_NEGATIVE")) + { + map.axisMode = AXIS_MODE_DIGITAL; + map.axisThreshold = -1; + } + else + { + map.axisMode = AXIS_MODE_FULL; + } + } + } + } + else if (strncmp(mutableToken, "JOY", 3) == 0) + { + int devId, compId; + char dirStr[32]; + if (sscanf(mutableToken, "JOY%d_BUTTON_%d", &devId, &compId) == 2) + { + map.type = INPUT_TYPE_JOY_BUTTON; + map.deviceIndex = devId; + map.sdlId = compId; + } + else if (sscanf(mutableToken, "JOY%d_AXIS_%d", &devId, &compId) == 2) + { + map.type = INPUT_TYPE_JOY_AXIS; + map.deviceIndex = devId; + map.sdlId = compId; + if (strstr(mutableToken, "_POSITIVE_HALF")) + map.axisMode = AXIS_MODE_POSITIVE_HALF; + else if (strstr(mutableToken, "_NEGATIVE_HALF")) + map.axisMode = AXIS_MODE_NEGATIVE_HALF; + else if (strstr(mutableToken, "_POSITIVE")) + { + map.axisMode = AXIS_MODE_DIGITAL; + map.axisThreshold = 1; + } + else if (strstr(mutableToken, "_NEGATIVE")) + { + map.axisMode = AXIS_MODE_DIGITAL; + map.axisThreshold = -1; + } + else + map.axisMode = AXIS_MODE_FULL; + } + else if (sscanf(mutableToken, "JOY%d_HAT%d_%s", &devId, &compId, dirStr) == 3) + { + map.type = INPUT_TYPE_JOY_HAT; + map.deviceIndex = devId; + map.sdlId = compId; + if (strcmp(dirStr, "UP") == 0) + map.axisThreshold = SDL_HAT_UP; + else if (strcmp(dirStr, "DOWN") == 0) + map.axisThreshold = SDL_HAT_DOWN; + else if (strcmp(dirStr, "LEFT") == 0) + map.axisThreshold = SDL_HAT_LEFT; + else if (strcmp(dirStr, "RIGHT") == 0) + map.axisThreshold = SDL_HAT_RIGHT; + } + } + else if (strncmp(mutableToken, "MOUSE_", 6) == 0) + { + const char *mouseToken = mutableToken + 6; + if (strcmp(mouseToken, "AXIS_X") == 0) + { + map.type = INPUT_TYPE_MOUSE_AXIS; + map.sdlId = 0; + } + else if (strcmp(mouseToken, "AXIS_Y") == 0) + { + map.type = INPUT_TYPE_MOUSE_AXIS; + map.sdlId = 1; + } + else if (strcmp(mouseToken, "LEFT_BUTTON") == 0) + { + map.type = INPUT_TYPE_MOUSE_BUTTON; + map.sdlId = SDL_BUTTON_LEFT; + } + else if (strcmp(mouseToken, "RIGHT_BUTTON") == 0) + { + map.type = INPUT_TYPE_MOUSE_BUTTON; + map.sdlId = SDL_BUTTON_RIGHT; + } + else if (strcmp(mouseToken, "MIDDLE_BUTTON") == 0) + { + map.type = INPUT_TYPE_MOUSE_BUTTON; + map.sdlId = SDL_BUTTON_MIDDLE; + } + } + if (map.type != INPUT_TYPE_NONE) + addBinding(map); +} + +/** + * @brief Finds the internal player-centric index for a GameController from an SDL_JoystickID. + * The internal index (0, 1, 2...) corresponds to the player number (P1, P2, P3...). + * @param instance_id The SDL_JoystickID from an SDL_Event. + * @return The internal player-centric index, or -1 if not found. + */ +int getControllerID(SDL_JoystickID instance_id) +{ + for (int i = 0; i < MAX_JOYSTICKS; i++) + { + if (sdlJoysticks.controllers[i]) + { + SDL_Joystick *joy = SDL_GetGamepadJoystick(sdlJoysticks.controllers[i]); + if (joy && SDL_GetJoystickID(joy) == instance_id) + return i; + } + } + return -1; +} + +/** + * @brief Finds the internal player-centric index for a raw Joystick from an SDL_JoystickID. + * @param instance_id The SDL_JoystickID from an SDL_Event. + * @return The internal player-centric index, or -1 if not found. + */ +int getJoystickID(SDL_JoystickID instance_id) +{ + for (int i = 0; i < MAX_JOYSTICKS; i++) + { + if (sdlJoysticks.joysticks[i]) + { + if (SDL_GetJoystickID(sdlJoysticks.joysticks[i]) == instance_id) + return i; + } + } + return -1; +} + +/** + * @brief Applies game-specific logic to determine the correct player for an action. + * Some actions are hardcoded to a specific player (e.g., P2_GearUp). + * @param action The logical action being assigned. + * @param player The player parsed from the INI file. + * @return The corrected JVSPlayer. + */ +JVSPlayer fixPlayerForAction(LogicalAction action, int player) +{ + if (action == LA_Boost) + return PLAYER_2; + + if ((action == LA_GearUp || action == LA_GearDown) && gId != HARLEY_DAVIDSON) + return PLAYER_2; + + return player; +} + +/** + * @brief Determines if a Mahjong action belongs to Player 2. + * @param action The logical action to check. + * @return True if it's a Player 2 mahjong action, false otherwise. + */ +bool isMahjongP2(LogicalAction action) +{ + switch (action) + { + case LA_L: + case LA_M: + case LA_N: + case LA_Chi: + case LA_Pon: + case LA_Kan: + case LA_Reach: + case LA_Agari: + case LA_Cancel: + case LA_CardInsert: + return true; + default: + return false; + } +} + +/** + * @brief Loads and applies all control bindings from a given INI section. + * @param section Pointer to the IniSection to parse. + */ +int loadProfileFromIni(const IniSection *section) +{ + if (!section) + return 0; + for (int i = 0; i < section->numPairs; i++) + { + JVSPlayer player; + LogicalAction action; + if (!parseActionKey(section->pairs[i].key, &player, &action)) + { + printf("Warning: Unknown action '%s'\n", section->pairs[i].key); + continue; + } + + if (player != SYSTEM && (action != LA_Card1Insert || action != LA_Card2Insert)) + player = fixPlayerForAction(action, player); + + if (action == LA_Card2Insert && gameType == DIGITAL) + player = PLAYER_2; + + if (strcmp(section->name, "Mahjong") == 0 && isMahjongP2(action)) + player = PLAYER_2; + + char *value_copy = strdup(section->pairs[i].value); + char *token = strtok(value_copy, ", "); + while (token != NULL) + { + parseSdlSource(token, player, action); + token = strtok(NULL, ", "); + } + free(value_copy); + } + return 1; +} + +/** + * @brief Loads global configuration settings from the [Config] section of the INI. + * This now includes loading saved controller GUIDs for player mapping. + * @param ini Pointer to the loaded IniConfig. + */ +void loadGlobalConfig(const IniConfig *ini) +{ + const IniSection *configSection = iniGetSection(ini, "Config"); + if (configSection) + { + printf("Loading global settings from [Config] section...\n"); + for (int i = 0; i < configSection->numPairs; i++) + { + const char *key = configSection->pairs[i].key; + const char *value = configSection->pairs[i].value; + int p_num = -1; + char actionKeyBuffer[64]; + + // Check for player-specific prefix like "P1_" + if (sscanf(key, "P%d_%s", &p_num, actionKeyBuffer) == 2) + { + // Player-specific key found (e.g., "P1_Steer_DeadZone") + char *deadzoneSuffix = strstr(actionKeyBuffer, "_DeadZone"); + if (deadzoneSuffix) + { + *deadzoneSuffix = '\0'; // Trim to just the action name + for (int j = 0; j < NUM_ACTION_NAMES; j++) + { + if (strcmp(gActionNameMap[j].name, actionKeyBuffer) == 0) + { + LogicalAction action = gActionNameMap[j].action; + if (p_num >= 1 && p_num <= MAX_PLAYERS) + { + gActionProperties[p_num][action].deadzone = atoi(value); + printf(" Set P%d_%s DeadZone to %d\n", p_num, actionKeyBuffer, gActionProperties[p_num][action].deadzone); + } + break; + } + } + } + } + else + { + // Handle generic keys and other settings + char *deadzonePos = strstr(key, "_DeadZone"); + if (deadzonePos != NULL) + { + // Generic key found (e.g., "Steer_DeadZone") + // Apply this setting to ALL players as a default + size_t actionNameLen = deadzonePos - key; + strncpy(actionKeyBuffer, key, actionNameLen); + actionKeyBuffer[actionNameLen] = '\0'; + + for (int j = 0; j < NUM_ACTION_NAMES; j++) + { + if (strcmp(gActionNameMap[j].name, actionKeyBuffer) == 0) + { + LogicalAction action = gActionNameMap[j].action; + int deadzoneVal = atoi(value); + for (int p = 1; p <= MAX_PLAYERS; p++) + { + // Set this only if a player-specific one wasn't already set + // (This requires ordering in the INI, or a second pass - for simplicity, we just set it) + gActionProperties[p][action].deadzone = deadzoneVal; + } + printf(" Set %s DeadZone to %d for all players (default)\n", actionKeyBuffer, deadzoneVal); + break; + } + } + } + else if (strcmp(key, "ShakeIncreaseRate") == 0) + { + gShakeIncreaseRate = atof(value); + printf(" Set ShakeIncreaseRate to %f\n", gShakeIncreaseRate); + } + else if (strcmp(key, "ShakeDecayRate") == 0) + { + gShakeDecayRate = atof(value); + printf(" Set ShakeDecayRate to %f\n", gShakeDecayRate); + } + } + } + } + + // Load saved controller GUIDs + const IniSection *guidSection = iniGetSection(ini, "ControllerGUIDs"); + if (guidSection) + { + printf("Loading saved controller GUIDs...\n"); + for (int i = 0; i < guidSection->numPairs; i++) + { + int p_num; + if (sscanf(guidSection->pairs[i].key, "P%d_GUID", &p_num) == 1) + { + if (p_num >= 1 && p_num <= MAX_PLAYERS) + { + strncpy(gPlayerGUIDs[p_num], guidSection->pairs[i].value, 32); + gPlayerGUIDs[p_num][32] = '\0'; + printf(" - Loaded P%d GUID: %s\n", p_num, gPlayerGUIDs[p_num]); + } + } + } + } +} + +/** + * @brief Adds an action to a list of "dirty" actions that need processing. + * This prevents redundant processing if an action's state changes multiple + * times between frames. + * @param player The player associated with the action. + * @param action The action that has changed state. + */ +void addActionToDirtyList(JVSPlayer player, LogicalAction action) +{ + for (int i = 0; i < gNumChangedActions; i++) + { + if (gChangedActions[i].player == player && gChangedActions[i].action == action) + return; + } + if (gNumChangedActions < (NUM_LOGICAL_ACTIONS * MAX_ENTITIES)) + { + gChangedActions[gNumChangedActions++] = (ChangedAction){player, action}; + } +} + +/** + * @brief Processes a single SDL_Event from the event queue. + * This is the main event handling function. It checks the event type and + * updates the internal state of the corresponding logical action. + * @param e Pointer to the SDL_Event to process. + */ +void processSdlEvent(const SDL_Event *e) +{ + switch (e->type) + { + case SDL_EVENT_KEY_DOWN: + case SDL_EVENT_KEY_UP: + { + ControlBinding *binding = &gKeyBindings[e->key.scancode]; + if (binding->type != INPUT_TYPE_NONE) + { + bool isActive = (e->type == SDL_EVENT_KEY_DOWN); + if (gActionStates[binding->player][binding->action].isActive != isActive) + { + gActionStates[binding->player][binding->action].isActive = isActive; + addActionToDirtyList(binding->player, binding->action); + } + } + } + break; + case SDL_EVENT_JOYSTICK_BUTTON_DOWN: + case SDL_EVENT_JOYSTICK_BUTTON_UP: + { + // printf("Joy Button: %d\n", e->jbutton.button); + int devIdx = getJoystickID(e->jbutton.which); + if (devIdx != -1 && e->jbutton.button < MAX_JOY_BUTTONS) + { + ControlBinding *binding = &gJoyButtonBindings[devIdx][e->jbutton.button]; + if (binding->type != INPUT_TYPE_NONE) + { + bool is_active = (e->type == SDL_EVENT_JOYSTICK_BUTTON_DOWN); + if (gActionStates[binding->player][binding->action].isActive != is_active) + { + gActionStates[binding->player][binding->action].isActive = is_active; + addActionToDirtyList(binding->player, binding->action); + } + } + } + } + break; + case SDL_EVENT_GAMEPAD_BUTTON_DOWN: + case SDL_EVENT_GAMEPAD_BUTTON_UP: + { + // printf("GC Button: %s\n", SDL_GameControllerGetStringForButton(e->cbutton.button)); + int devIdx = getControllerID(e->gbutton.which); + if (devIdx != -1 && e->gbutton.button < SDL_GAMEPAD_BUTTON_COUNT) + { + ControlBinding *binding = &gControllerButtonBindings[devIdx][e->gbutton.button]; + if (binding->type != INPUT_TYPE_NONE) + { + bool is_active = (e->type == SDL_EVENT_GAMEPAD_BUTTON_DOWN); + if (gActionStates[binding->player][binding->action].isActive != is_active) + { + gActionStates[binding->player][binding->action].isActive = is_active; + addActionToDirtyList(binding->player, binding->action); + } + } + } + } + break; + case SDL_EVENT_JOYSTICK_AXIS_MOTION: + { + // printf("Jaxis: %d, Value: %d, Device: %d\n", e->jaxis.axis, e->jaxis.value, e->jaxis.which); + int devIdx = getJoystickID(e->jaxis.which); + if (devIdx != -1 && e->jaxis.axis < MAX_JOY_AXES) + { + BindingPair *pair = &gJoyAxisBindings[devIdx][e->jaxis.axis]; + for (int i = 0; i < 2; i++) // Loop over the pair of possible bindings + { + ControlBinding *binding = &pair->bindings[i]; + if (binding->type == INPUT_TYPE_NONE) + continue; + + // UPDATED: Get deadzone from the action's properties + const int dead_zone = gActionProperties[binding->player][binding->action].deadzone; + ActionState *state = &gActionStates[binding->player][binding->action]; + bool state_did_change = false; + float newVal; + + if (binding->axisMode == AXIS_MODE_DIGITAL) + { + bool is_active = (abs(e->jaxis.value) > dead_zone) + ? ((binding->axisThreshold > 0) ? (e->jaxis.value > 16384) : (e->jaxis.value < -16384)) + : false; + + if (state->isActive != is_active) + { + state->isActive = is_active; + state_did_change = true; + } + } + else + { + if (gActionProperties[binding->player][binding->action].isCentering) + { + newVal = (abs(e->jaxis.value) < dead_zone) ? 0.5f : (float)(e->jaxis.value + 32768) / 65535.0f; + } + else + { + // For non-centering axes, the deadzone check is different. + // We check if the value has moved sufficiently from its resting point (-32768). + if (abs(e->jaxis.value - (-32768)) < dead_zone) + { + newVal = 0.0f; + } + else + { + newVal = (float)(e->jaxis.value + 32768) / 65535.0f; + } + } + + if (binding->isInverted) + newVal = 1.0f - newVal; + + if (binding->axisMode == AXIS_MODE_POSITIVE_HALF) + { + if (fabs(state->positiveContribution - newVal) > 0.001f) + { + state->positiveContribution = newVal; + state_did_change = true; + } + } + else if (binding->axisMode == AXIS_MODE_NEGATIVE_HALF) + { + if (fabs(state->negativeContribution - newVal) > 0.001f) + { + state->negativeContribution = newVal; + state_did_change = true; + } + } + else + { // AXIS_MODE_FULL + if (fabs(state->analogValue - newVal) > 0.001f) + { + state->analogValue = newVal; + state_did_change = true; + } + } + } + if (state_did_change) + addActionToDirtyList(binding->player, binding->action); + } + } + } + break; + case SDL_EVENT_GAMEPAD_AXIS_MOTION: + { + // printf("GC Axis: %s, Value: %d\n", SDL_GameControllerGetStringForAxis(e->caxis.axis), e->caxis.value); + int devIdx = getControllerID(e->gaxis.which); + if (devIdx != -1 && e->gaxis.axis < SDL_GAMEPAD_AXIS_COUNT) + { + BindingPair *pair = &gControllerAxisBindings[devIdx][e->gaxis.axis]; + for (int i = 0; i < 2; i++) + { + ControlBinding *binding = &pair->bindings[i]; + if (binding->type == INPUT_TYPE_NONE) + continue; + + // UPDATED: Get deadzone from the action's properties + const int deadZone = gActionProperties[binding->player][binding->action].deadzone; + ActionState *state = &gActionStates[binding->player][binding->action]; + bool stateDidChange = false; + float newVal; + + if (binding->axisMode == AXIS_MODE_DIGITAL) + { + bool isActive = (abs(e->gaxis.value) > deadZone) + ? ((binding->axisThreshold > 0) ? (e->gaxis.value > 16384) : (e->gaxis.value < -16384)) + : false; + if (state->isActive != isActive) + { + state->isActive = isActive; + stateDidChange = true; + } + } + else + { + bool isTrigger = + (e->gaxis.axis == SDL_GAMEPAD_AXIS_LEFT_TRIGGER || e->gaxis.axis == SDL_GAMEPAD_AXIS_RIGHT_TRIGGER); + + if (gActionProperties[binding->player][binding->action].isCentering && !isTrigger) + { + newVal = (abs(e->gaxis.value) < deadZone) ? 0.5f : (float)(e->gaxis.value + 32768) / 65535.0f; + } + else // This path is for triggers and other non-centering axes + { + newVal = (abs(e->gaxis.value) < deadZone) ? 0.0f : (float)e->gaxis.value / 32767.0f; + } + + if (binding->isInverted) + newVal = 1.0f - newVal; + + if (binding->axisMode == AXIS_MODE_POSITIVE_HALF) + { + if (fabs(state->positiveContribution - newVal) > 0.001f) + { + state->positiveContribution = newVal; + stateDidChange = true; + } + } + else if (binding->axisMode == AXIS_MODE_NEGATIVE_HALF) + { + if (fabs(state->negativeContribution - newVal) > 0.001f) + { + state->negativeContribution = newVal; + stateDidChange = true; + } + } + else + { // AXIS_MODE_FULL + if (fabs(state->analogValue - newVal) > 0.001f) + { + state->analogValue = newVal; + stateDidChange = true; + } + } + } + + if (stateDidChange) + addActionToDirtyList(binding->player, binding->action); + } + } + } + break; + case SDL_EVENT_JOYSTICK_HAT_MOTION: + { + int devIdx = getJoystickID(e->jhat.which); + if (devIdx != -1 && e->jhat.hat < MAX_JOY_HATS) + { + HatBinding *hat = &gJoyHatBindings[devIdx][e->jhat.hat]; + + // An array of the 4 directional bindings for easy iteration + ControlBinding *directions[] = {&hat->up, &hat->down, &hat->left, &hat->right}; + + for (int i = 0; i < 4; i++) + { + ControlBinding *binding = directions[i]; + if (binding->type == INPUT_TYPE_NONE) + continue; + + // Check if the current hat state activates this direction + bool is_active = (e->jhat.value & binding->axisThreshold) != 0; + ActionState *state = &gActionStates[binding->player][binding->action]; + + if (state->isActive != is_active) + { + state->isActive = is_active; + addActionToDirtyList(binding->player, binding->action); + } + } + } + } + break; + case SDL_EVENT_MOUSE_BUTTON_DOWN: + case SDL_EVENT_MOUSE_BUTTON_UP: + { + if (e->button.button < MAX_MOUSE_BUTTONS) + { + ControlBinding *binding = &gMouseButtonBindings[e->button.button]; + if (binding->type != INPUT_TYPE_NONE) + { + bool isActive = (e->type == SDL_EVENT_MOUSE_BUTTON_DOWN); + if (gActionStates[binding->player][binding->action].isActive != isActive) + { + int x, y; + gActionStates[binding->player][binding->action].isActive = isActive; + if (gId == PRIMEVAL_HUNT && getConfig()->emulateTouchscreen && + phIsInsideTouchScreen(e->motion.x, e->motion.y, &x, &y)) + { + phTouchClick(x, y, e->type); + phIsDragging = isActive; + } + else + { + if (e->button.button == SDL_BUTTON_RIGHT && (gId == RAMBO || gId == RAMBO_CHINA || gId == TOO_SPICY) && + isActive) + { + ActionState *state = &gActionStates[binding->player][LA_GunX]; + state->analogValue = -1; + addActionToDirtyList(binding->player, LA_GunX); + state = &gActionStates[binding->player][LA_GunY]; + state->analogValue = -1; + addActionToDirtyList(binding->player, LA_GunY); + gActionStates[binding->player][LA_Reload].isActive = isActive; + addActionToDirtyList(binding->player, LA_Reload); + } + else + { + addActionToDirtyList(binding->player, binding->action); + } + } + } + } + } + } + break; + case SDL_EVENT_MOUSE_MOTION: + { + double mX = e->motion.x; + double mY = e->motion.y; + float posX, posY; + + if (gId == PRIMEVAL_HUNT) + { + int x, y; + if (phIsDragging && phIsInsideTouchScreen(mX, mY, &x, &y)) + phTouchClick(x, y, e->type); + + int motX = mX, motY = mY; + phTouchScreenCursor(mX, mY, &motX, &motY); + posX = ((double)(motX - phX) / (double)phW); + posY = ((double)(motY - phY) / (double)phH); + } + else + { + if (mX <= dest.X) + posX = 0; + else if (mX >= (dest.W + dest.X - 5)) + posX = dest.W; + else + posX = mX - dest.X; + + if (mY <= dest.Y) + posY = 0; + else if (mY >= (dest.H + dest.Y - 5)) + posY = dest.H; + else + posY = mY - dest.Y; + + posX /= dest.W; + posY /= dest.H; + } + + ControlBinding *bindingX = &gMouseAxisBindings[0]; // X-Axis + ControlBinding *bindingY = &gMouseAxisBindings[1]; // Y-Axis + if (gameType == SHOOTING && (posX <= 0.01 || posX >= 0.99 || posY <= 0.01 || posY >= 0.99)) + { + if (gId == RAMBO || gId == RAMBO_CHINA || gId == TOO_SPICY) + { + if (bindingX->type != INPUT_TYPE_NONE) + { + ActionState *state = &gActionStates[bindingX->player][LA_GunX]; + state->analogValue = -1; + addActionToDirtyList(bindingX->player, LA_GunX); + } + if (bindingY->type != INPUT_TYPE_NONE) + { + ActionState *state = &gActionStates[bindingY->player][LA_GunY]; + state->analogValue = -1; + addActionToDirtyList(bindingY->player, LA_GunY); + } + } + gActionStates[PLAYER_1][LA_Reload].isActive = true; + addActionToDirtyList(PLAYER_1, LA_Reload); + break; + } + else + { + gActionStates[PLAYER_1][LA_Reload].isActive = false; + addActionToDirtyList(PLAYER_1, LA_Reload); + } + + if (bindingX->type != INPUT_TYPE_NONE) + { + ActionState *state = &gActionStates[bindingX->player][bindingX->action]; + if (fabs(state->analogValue - posX) > 0.001f) + { + if (bindingX->isInverted) + state->analogValue = 1.0 - posX; + else + state->analogValue = posX; + addActionToDirtyList(bindingX->player, bindingX->action); + } + } + + if (bindingY->type != INPUT_TYPE_NONE) + { + ActionState *state = &gActionStates[bindingY->player][bindingY->action]; + if (fabs(state->analogValue - posY) > 0.001f) + { + if (bindingY->isInverted) + state->analogValue = 1.0 - posY; + else + state->analogValue = posY; + addActionToDirtyList(bindingY->player, bindingY->action); + } + } + } + break; + case SDL_EVENT_WINDOW_MOUSE_LEAVE: + case SDL_EVENT_WINDOW_MOUSE_ENTER: + { + Uint32 flags = SDL_GetWindowFlags(sdlWindow); + if (!(flags & SDL_WINDOW_FULLSCREEN) && gId == GHOST_SQUAD_EVOLUTION) + { + if (e->type == SDL_EVENT_WINDOW_MOUSE_LEAVE) + { + gActionStates[PLAYER_1][LA_Reload].isActive = true; + addActionToDirtyList(PLAYER_1, LA_Reload); + } + else // This case must be SDL_EVENT_WINDOW_ENTER + { + gActionStates[PLAYER_1][LA_Reload].isActive = false; + addActionToDirtyList(PLAYER_1, LA_Reload); + } + } + } + break; + } +} + +/** + * @brief Helper function to scan a pair of axis bindings and update detection flags. + * @param pair The BindingPair to scan. + * @param has_full_axis Array to track actions with full axis bindings. + * @param has_half_axis Array to track actions with half axis bindings. + * @param has_positive Array to track actions with positive half bindings. + * @param has_negative Array to track actions with negative half bindings. + */ +static void scan_axis_bindings(BindingPair *pair, bool hasFullAxis[], bool hasHalfSxis[], bool hasPositive[][NUM_LOGICAL_ACTIONS], + bool hasNegative[][NUM_LOGICAL_ACTIONS]) +{ + for (int k = 0; k < 2; k++) + { + ControlBinding *binding = &pair->bindings[k]; + if (binding->type == INPUT_TYPE_NONE) + continue; + + if (binding->axisMode == AXIS_MODE_FULL) + { + hasFullAxis[binding->action] = true; + } + else if (binding->axisMode == AXIS_MODE_POSITIVE_HALF) + { + hasHalfSxis[binding->action] = true; + hasPositive[binding->player][binding->action] = true; + } + else if (binding->axisMode == AXIS_MODE_NEGATIVE_HALF) + { + hasHalfSxis[binding->action] = true; + hasNegative[binding->player][binding->action] = true; + } + } +} + +/** + * @brief Scans all loaded bindings to detect combined axes and potential conflicts. + * It checks if any logical action is bound to both a full axis (like a stick) + * and a half-axis (like a trigger), which would cause a conflict. It then flags + * actions that are correctly configured as combined axes. + */ +void detectCombinedAxes() +{ + // --- Use local variables for detection --- + bool hasFullAxis[NUM_LOGICAL_ACTIONS] = {false}; + bool hasHalfAxis[NUM_LOGICAL_ACTIONS] = {false}; + bool hasPositive[MAX_ENTITIES][NUM_LOGICAL_ACTIONS] = {false}; + bool hasNegative[MAX_ENTITIES][NUM_LOGICAL_ACTIONS] = {false}; + + // --- Pass 1: Scan all axis bindings and flag their types --- + for (int i = 0; i < MAX_JOYSTICKS; i++) + { + for (int j = 0; j < MAX_JOY_AXES; j++) + { + scan_axis_bindings(&gJoyAxisBindings[i][j], hasFullAxis, hasHalfAxis, hasPositive, hasNegative); + } + for (int j = 0; j < SDL_GAMEPAD_AXIS_COUNT; j++) + { + scan_axis_bindings(&gControllerAxisBindings[i][j], hasFullAxis, hasHalfAxis, hasPositive, hasNegative); + } + } + + // --- Pass 2: Check for conflicts and print warnings --- + for (int i = 0; i < NUM_LOGICAL_ACTIONS; i++) + { + if (hasFullAxis[i] && hasHalfAxis[i]) + { + const char *action_name = "Unknown"; + for (int j = 0; j < NUM_ACTION_NAMES; j++) + { + if (gActionNameMap[j].action == i) + { + action_name = gActionNameMap[j].name; + break; + } + } + printf("The action '%s' is mapped to both a full axis (e.g., a stick) and half-axes (e.g., triggers).\n", action_name); + printf(" The half-axis bindings will take priority and may override the full axis input.\n"); + } + } + + // --- Pass 3: Flag actions that are correctly combined --- + for (int p = 0; p < MAX_ENTITIES; p++) + { + for (int i = 0; i < NUM_LOGICAL_ACTIONS; i++) + { + if (hasPositive[p][i] && hasNegative[p][i]) + { + gActionProperties[p][i].isCombinedAxis = true; + } + } + } +} + +/** + * @brief Updates the analog value for any action flagged as a combined axis. + * This is called every frame to calculate a single analog value from the + * positive and negative contributions of two separate half-axes. + */ +void updateCombinedAxes() +{ + for (int p = PLAYER_1; p <= MAX_PLAYERS; p++) + { + for (int i = 0; i < NUM_LOGICAL_ACTIONS; i++) + { + if (gActionProperties[p][i].isCombinedAxis) + { + ActionState *state = &gActionStates[p][i]; + // Combine the two halves into a single -1 to 1 value, represented as 0.0 to 1.0 + float finalVal = 0.5f + (state->positiveContribution * 0.5f) - (state->negativeContribution * 0.5f); + if (finalVal > 1.0f) + finalVal = 1.0f; + if (finalVal < 0.0f) + finalVal = 0.0f; + if (fabs(state->analogValue - finalVal) > 0.001f) + { + state->analogValue = finalVal; + addActionToDirtyList((JVSPlayer)p, (LogicalAction)i); + } + } + } + } +} + +/** + * @brief Processes all actions that have changed state since the last frame. + * It iterates through the "dirty list", reads the current state of each action, + * and sends the appropriate update to the JVS IO board. + */ +void processChangedActions() +{ + for (int i = 0; i < gNumChangedActions; i++) + { + JVSPlayer player = gChangedActions[i].player; + LogicalAction actionId = gChangedActions[i].action; + JVSActionMapping *map = &gJvsMap[player][actionId]; + ActionState *state = &gActionStates[player][actionId]; + switch (map->call_type) + { + case JVS_CALL_SWITCH: + setSwitch(player, map->jvsInput, state->isActive); + break; + case JVS_CALL_ANALOGUE: + // Special handling for digital actions that control an analog JVS input + switch ((int)actionId) + { + case LA_Gas_Digital: + case LA_Brake_Digital: + state->analogValue = state->isActive ? 1.0f : 0.0f; + break; + case LA_Steer_Left: + case LA_ABC_Left: + case LA_ABC_Up: + case LA_Throttle_Slowdown: + state->analogValue = state->isActive ? 0.0f : 0.5f; + break; + case LA_Steer_Right: + case LA_ABC_Right: + case LA_ABC_Down: + case LA_Throttle_Accelerate: + state->analogValue = state->isActive ? 1.0f : 0.5f; + break; + } + + if (getConfig()->idSteeringPercentageReduction > 0.0f && map->jvsInput == ANALOGUE_1 && + (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP || gGrp == GROUP_ID5)) + state->analogValue = (state->analogValue - 0.5f) * (getConfig()->idSteeringPercentageReduction / 100.0f) + 0.5f; + + setAnalogue(map->jvsInput, (int)(state->analogValue * jvsAnalogueMaxValue)); + break; + case JVS_CALL_COIN: + if (state->isActive) + incrementCoin(player, 1); + break; + case JVS_CALL_NONE: + break; + } + } + gNumChangedActions = 0; // Clear the list for the next frame +} + +/** + * @brief Calculates and updates the gun shake effect for HOD4. + * This function is called every frame for games that support it. + */ +void updateGunShake() +{ + for (int p = PLAYER_1; p <= PLAYER_2; p++) + { + int currentX = jvsAnalogueMaxValue * gActionStates[p][LA_GunX].analogValue; + int currentY = jvsAnalogueMaxValue * gActionStates[p][LA_GunY].analogValue; + + int deltaX = currentX - gLastGunX[p]; + int deltaY = currentY - gLastGunY[p]; + + int currentDirX = (deltaX > 2) ? 1 : ((deltaX < -2) ? -1 : 0); + int currentDirY = (deltaY > 2) ? 1 : ((deltaY < -2) ? -1 : 0); + + if (currentDirX != 0 && currentDirX == -gLastGunXDir[p]) + gShakeValue[p] += abs(deltaX) * gShakeIncreaseRate; + + if (currentDirY != 0 && currentDirY == -gLastGunYDir[p]) + gShakeValue[p] += abs(deltaY) * gShakeIncreaseRate; + + // Apply decay + gShakeValue[p] *= gShakeDecayRate; + if (gShakeValue[p] < 1.0f) + gShakeValue[p] = 0.0f; + + // Clamp the shake value to the max internal range (0-512) + if (gShakeValue[p] > 512.0f) + gShakeValue[p] = 512.0f; + + // Map the 0-512 shake value to the final 512-1024 JVS output range + int jvsOutputValue = 512 + (int)gShakeValue[p]; + + // Send the analog values + if (p == PLAYER_1) + { + setAnalogue(ANALOGUE_5, jvsOutputValue); + setAnalogue(ANALOGUE_6, jvsOutputValue); + } + else if (p == PLAYER_2) + { + setAnalogue(ANALOGUE_7, jvsOutputValue); + setAnalogue(ANALOGUE_8, jvsOutputValue); + } + + // Update last known positions and directions for the next frame + gLastGunX[p] = currentX; + gLastGunY[p] = currentY; + if (currentDirX != 0) + gLastGunXDir[p] = currentDirX; + if (currentDirY != 0) + gLastGunYDir[p] = currentDirY; + } +} + +/** + * @brief Saves the controller GUIDs back to controls.ini if they have changed. + * This is called during initialization if a new controller was assigned to a player. + */ +void saveGuidsToIni() +{ + if (!gPlayerGUIDsDirty) + { + return; + } + + printf("Saving updated controller GUIDs to controls.ini...\n"); + IniConfig *ini = iniLoad("controls.ini"); + if (!ini) + { + // If the file doesn't exist, create an empty config in memory to save. + ini = calloc(1, sizeof(IniConfig)); + if (!ini) + { + fprintf(stderr, "ERROR: Failed to allocate memory for INI config.\n"); + return; + } + } + + // Set the GUID value for each player. iniSetValue will create the section/key if needed. + for (int player = 1; player <= MAX_PLAYERS; player++) + { + if (strlen(gPlayerGUIDs[player]) > 0) + { + char key[16]; + snprintf(key, sizeof(key), "P%d_GUID", player); + iniSetValue(ini, "ControllerGUIDs", key, gPlayerGUIDs[player]); + } + } + + if (iniSave(ini, "controls.ini") == 0) + { + printf("Successfully saved controls.ini with updated GUIDs.\n"); + } + else + { + fprintf(stderr, "ERROR: Failed to save controls.ini.\n"); + } + + iniFree(ini); + gPlayerGUIDsDirty = false; +} + +#endif + +bool needsPlayer(LogicalAction action, const char *name) +{ + switch ((int)action) + { + case LA_Boost: + case LA_BoostRight: + case LA_GearUp: + case LA_GearDown: + case LA_ViewChange: + case LA_MusicChange: + case LA_ABC_X: + case LA_ABC_Y: + case LA_ABC_Left: + case LA_ABC_Right: + case LA_ABC_Up: + case LA_ABC_Down: + case LA_Throttle: + case LA_Throttle_Accelerate: + case LA_Throttle_Slowdown: + case LA_GunTrigger: + case LA_MissileTrigger: + case LA_ClimaxSwitch: + case LA_CardInsert: + return false; + case LA_Up: + case LA_Down: + case LA_Left: + case LA_Right: + if (strcmp(name, "Driving") == 0) + return false; + else + return true; + default: + if (strcmp(name, "Mahjong") == 0) + return false; + else + return true; + } +} + +/** + * @brief Helper to get the full "P1_Action" string for a binding. + * Used for creating user-friendly error messages. + * @param binding Pointer to the ControlBinding. + * @param out_str Buffer to store the resulting string. + * @param str_size Size of the output buffer. + */ +void getLogicalActionString(const ControlBinding *binding, char *outStr, size_t strSize, const char *name) +{ + const char *actionName = "Unknown"; + for (int i = 0; i < NUM_ACTION_NAMES; i++) + { + if (gActionNameMap[i].action == binding->action) + { + actionName = gActionNameMap[i].name; + break; + } + } + + if (binding->player == SYSTEM) + { + snprintf(outStr, strSize, "%s", actionName); + } + else + { + if (needsPlayer(binding->action, name)) + snprintf(outStr, strSize, "P%d_%s", binding->player, actionName); + else + snprintf(outStr, strSize, "%s", actionName); + } +} + +int listSdlControllers(void) +{ + if (!SDL_InitSubSystem(SDL_INIT_GAMEPAD)) + { + fprintf(stderr, "Could not initialize SDL: %s\n", SDL_GetError()); + return 1; + } + + int numJoysticks; + SDL_JoystickID *joysticks = SDL_GetJoysticks(&numJoysticks); + printf("Found %d controller(s)\n", numJoysticks); + + if (joysticks) + { + for (int i = 0; i < numJoysticks; i++) + { + SDL_JoystickID instanceId = joysticks[i]; + const char *name = SDL_GetJoystickNameForID(instanceId); + SDL_GUID guid = SDL_GetJoystickGUIDForID(instanceId); + char guidStr[33]; + SDL_GUIDToString(guid, guidStr, sizeof(guidStr)); + + int count = 0; + int index = 0; + for (int j = 0; j < numJoysticks; j++) + { + instanceId = joysticks[j]; + const char *otherName = SDL_GetJoystickNameForID(instanceId); + SDL_GUID other_guid = SDL_GetJoystickGUIDForID(instanceId); + char other_guid_str[33]; + SDL_GUIDToString(other_guid, other_guid_str, sizeof(other_guid_str)); + if (strcmp(name, otherName) == 0 && strcmp(guidStr, other_guid_str) == 0) + { + if (j < i) + { + index++; + } + count++; + } + } + + guidStr[4] = '0'; + guidStr[5] = '0'; + guidStr[6] = '0'; + guidStr[7] = '0'; + if (count > 1) + { + printf(" - %s %d: %s", name, index, guidStr); + } + else + { + printf(" - %s: %s", name, guidStr); + } + printf("\n"); + } + } + SDL_Quit(); + return 0; +} diff --git a/src/lindbergh/sdlInput.h b/src/lindbergh/sdlInput.h new file mode 100644 index 0000000..3597f6e --- /dev/null +++ b/src/lindbergh/sdlInput.h @@ -0,0 +1,223 @@ +#pragma once + +#include +#include + +#include "iniParser.h" +#include "jvs.h" + + +// --- CORE DATA STRUCTURES --- +#define MAX_PLAYERS 4 +#define MAX_ENTITIES (MAX_PLAYERS + 1) +#define MAX_JOYSTICKS 8 +#define MAX_JOY_BUTTONS 32 +#define MAX_JOY_AXES 32 +#define MAX_JOY_HATS 4 +#define MAX_MOUSE_BUTTONS 16 + +typedef enum +{ + LA_INVALID = -1, + LA_Test , + LA_Coin, + LA_GearUp, + LA_GearDown, + LA_ViewChange, + LA_MusicChange, + LA_Boost, + LA_BoostRight, + LA_Start, + LA_Service, + LA_Up, + LA_Down, + LA_Left, + LA_Right, + LA_Button1, + LA_Button2, + LA_Button3, + LA_Button4, + LA_Button5, + LA_Button6, + LA_Button7, + LA_Button8, + LA_Button9, + LA_Button10, + LA_Trigger, + LA_OutOfScreen, + LA_Reload, + LA_GunButton, + LA_ActionButton, + LA_ChangeButton, + LA_PedalLeft, + LA_PedalRight, + LA_Steer, + LA_Gas, + LA_Brake, + LA_GunX, + LA_GunY, + LA_Steer_Left, + LA_Steer_Right, + LA_Gas_Digital, + LA_Brake_Digital, + LA_ABC_X, + LA_ABC_Left, + LA_ABC_Right, + LA_ABC_Y, + LA_ABC_Up, + LA_ABC_Down, + LA_Throttle, + LA_Throttle_Accelerate, + LA_Throttle_Slowdown, + LA_GunTrigger, + LA_MissileTrigger, + LA_ClimaxSwitch, + LA_CardInsert, + LA_Card1Insert, + LA_Card2Insert, + LA_A, + LA_B, + LA_C, + LA_D, + LA_E, + LA_F, + LA_G, + LA_H, + LA_I, + LA_J, + LA_K, + LA_L, + LA_M, + LA_N, + LA_Reach, + LA_Chi, + LA_Pon, + LA_Kan, + LA_Agari, + LA_Cancel, + NUM_LOGICAL_ACTIONS +} LogicalAction; + +typedef enum +{ + INPUT_TYPE_NONE, + INPUT_TYPE_KEY, + INPUT_TYPE_JOY_AXIS, + INPUT_TYPE_JOY_BUTTON, + INPUT_TYPE_JOY_HAT, + INPUT_TYPE_MOUSE_AXIS, + INPUT_TYPE_MOUSE_BUTTON, + INPUT_TYPE_GAMEPAD_AXIS, + INPUT_TYPE_GAMEPAD_BUTTON +} SDLInputType; + +typedef enum +{ + AXIS_MODE_FULL, + AXIS_MODE_POSITIVE_HALF, + AXIS_MODE_NEGATIVE_HALF, + AXIS_MODE_DIGITAL +} AxisMode; + +typedef struct +{ + SDLInputType type; + int deviceIndex; + int sdlId; + AxisMode axisMode; + int axisThreshold; + bool isInverted; + JVSPlayer player; + LogicalAction action; +} ControlBinding; + +typedef struct +{ + ControlBinding bindings[2]; +} BindingPair; + +typedef struct +{ + ControlBinding up; + ControlBinding down; + ControlBinding left; + ControlBinding right; +} HatBinding; + +typedef struct +{ + bool isActive; + float analogValue; + float positiveContribution; + float negativeContribution; +} ActionState; + +typedef struct +{ + enum + { + JVS_CALL_SWITCH, + JVS_CALL_ANALOGUE, + JVS_CALL_COIN, + JVS_CALL_NONE + } call_type; + JVSInput jvsInput; +} JVSActionMapping; + +typedef struct +{ + JVSPlayer player; + LogicalAction action; +} ChangedAction; + +typedef struct +{ + bool isCentering; + bool isCombinedAxis; + int deadzone; // Added to store per-action deadzone +} LogicalActionProperties; + +typedef struct +{ + SDL_Joystick *joysticks[MAX_JOYSTICKS]; + SDL_Gamepad *controllers[MAX_JOYSTICKS]; + SDL_Haptic *haptics[MAX_JOYSTICKS]; + int joysticksCount; + // int hapticsCount; + // int numButtons[MAX_JOYSTICKS]; + // int numAxes[MAX_JOYSTICKS]; + // int numHats[MAX_JOYSTICKS]; +} SDLControllers; + +// Ini Creation +#define MAX_INI_KEYS_PER_SECTION 100 +#define MAX_INI_VALUE_LENGTH 256 + +typedef struct +{ + char key[64]; + char value[MAX_INI_VALUE_LENGTH]; +} IniFileEntry; + +typedef struct +{ + const char *name; + IniFileEntry entries[MAX_INI_KEYS_PER_SECTION]; + int num_entries; +} IniFileSection; + +int initSdlInput(char *controlsPath); +int loadProfileFromIni(const IniSection *section); +void loadGlobalConfig(const IniConfig *ini); +void processChangedActions(); +void processSdlEvent(const SDL_Event *e); +void initJvsMappings(); +void setDefaultMappings(); +void remapPerGame(); +void initActionProperties(); +void updateGunShake(); +void updateCombinedAxes(); +void detectCombinedAxes(); +void getLogicalActionString(const ControlBinding *binding, char *out_str, size_t str_size, const char *name); +bool needsPlayer(LogicalAction action, const char *name); +int listSdlControllers(void); diff --git a/src/lindbergh/sdlcalls.c b/src/lindbergh/sdlcalls.c deleted file mode 100644 index d1e9a24..0000000 --- a/src/lindbergh/sdlcalls.c +++ /dev/null @@ -1,217 +0,0 @@ -#ifndef __i386__ -#define __i386__ -#endif -#undef __x86_64__ -#define GL_GLEXT_PROTOTYPES -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "input.h" -#include "sdlcalls.h" -#include "fps_limiter.h" -#include "customcursor.h" - -extern uint32_t gId; -bool SDLWindowCreated = false; -extern bool GLUTGame; -SDL_Window *SDLwindow; -SDL_GLContext SDLcontext; -Display *x11Display; -Window x11Window; -char SDLgameTitle[256] = {0}; -extern fps_limit fpsLimit; - -extern void *customCursor; -extern void *phTouchCursor; - -int glutInitialized = 0; - -void GLAPIENTRY openglDebugCallback2(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, - const GLchar *message, const void *userParam) -{ - if (id == 1099) - return; - // Print the debug message details - printf("OpenGL Debug Message:\n"); - printf("Source: 0x%x\n", source); - printf("Type: 0x%x\n", type); - printf("ID: %u\n", id); - printf("Severity: 0x%x\n", severity); - printf("Message: %s\n", message); - - // You can filter based on severity or other attributes if needed - if (severity == GL_DEBUG_SEVERITY_HIGH) - { - printf("This is a high severity error!\n"); - } -} - -void initSDL(int *argcp, char **argv) -{ - void FGAPIENTRY (*_glutInit)(int *argcp, char **argv) = dlsym(RTLD_NEXT, "glutInit"); - - switch (gId) - { - case OUTRUN_2_SP_SDX_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST: - case OUTRUN_2_SP_SDX_REVA_TEST2: - if (!glutInitialized) - { - glutInitialized = 1; - _glutInit(argcp, argv); - return; - } - } - - switch (gId) - { - case AFTER_BURNER_CLIMAX: - case AFTER_BURNER_CLIMAX_REVA: - case AFTER_BURNER_CLIMAX_REVB: - case AFTER_BURNER_CLIMAX_SDX: - case AFTER_BURNER_CLIMAX_SDX_REVA: - case AFTER_BURNER_CLIMAX_SE: - case AFTER_BURNER_CLIMAX_SE_REVA: - setenv("SDL_VIDEODRIVER", "x11", 1); - } - - SDLWindowCreated = true; - - if (SDL_Init(SDL_INIT_VIDEO) < 0) - { - fprintf(stderr, "SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); - exit(1); - } - - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); // Double buffering - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 1); // 24-bit depth buffer - SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); // Set the alpha size to 8 bits - switch (gId) - { - case AFTER_BURNER_CLIMAX: - case AFTER_BURNER_CLIMAX_REVA: - case AFTER_BURNER_CLIMAX_REVB: - case AFTER_BURNER_CLIMAX_SDX: - case AFTER_BURNER_CLIMAX_SDX_REVA: - case AFTER_BURNER_CLIMAX_SE: - case AFTER_BURNER_CLIMAX_SE_REVA: - case R_TUNED: - case VIRTUA_FIGHTER_5: - case VIRTUA_FIGHTER_5_REVA: - case VIRTUA_FIGHTER_5_REVB: - case VIRTUA_FIGHTER_5_REVE: - case VIRTUA_FIGHTER_5_EXPORT: - case VIRTUA_FIGHTER_5_R: - case VIRTUA_FIGHTER_5_R_REVD: - case VIRTUA_FIGHTER_5_R_REVG: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: - case GHOST_SQUAD_EVOLUTION: - case SEGA_RACE_TV: - case MJ4_REVG: - case MJ4_EVO: - SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1); - } - - uint32_t windowFlags = SDL_WINDOW_OPENGL; - - strcat(SDLgameTitle, getGameName()); - - SDLwindow = SDL_CreateWindow(SDLgameTitle, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, getConfig()->width, - getConfig()->height, windowFlags); - if (!SDLwindow) - { - fprintf(stderr, "Window could not be created! SDL_Error: %s\n", SDL_GetError()); - exit(1); - } - - SDL_SysWMinfo info; - SDL_VERSION(&info.version); - if (SDL_GetWindowWMInfo(SDLwindow, &info)) - { - if (info.subsystem == SDL_SYSWM_X11) - { - x11Display = info.info.x11.display; - x11Window = info.info.x11.window; - } - else - { - fprintf(stderr, "This program is not running on X11.\n"); - } - } - else - { - fprintf(stderr, "SDL_GetWindowWMInfo Error: %s\n", SDL_GetError()); - } - - SDLcontext = SDL_GL_CreateContext(SDLwindow); - if (!SDLcontext) - { - fprintf(stderr, "OpenGL context could not be created! SDL_Error: %s\n", SDL_GetError()); - exit(1); - } - - glClearColor(0.1f, 0.1f, 0.1f, 1.0f); // Your bg color - - // Force initial clear - glClear(GL_COLOR_BUFFER_BIT); - SDL_GL_SwapWindow(SDLwindow); - - // Now show the window - SDL_ShowWindow(SDLwindow); - - printf(" SDL RESOLUTION: %dx%d\n\n", getConfig()->width, getConfig()->height); - - if (getConfig()->fullscreen) - { - SDL_SetWindowFullscreen(SDLwindow, SDL_WINDOW_FULLSCREEN); - } - - loadCursors(); - setCursor(customCursor); - - if (getConfig()->hideCursor || gId == PRIMEVAL_HUNT) - SDL_ShowCursor(SDL_DISABLE); -} - -void sdlQuit() -{ - SDL_DestroyWindow(SDLwindow); - SDL_Quit(); - exit(0); -} - -void pollEvents() -{ - SDL_Event event; - while (SDL_PollEvent(&event)) - { - switch (event.type) - { - case SDL_QUIT: - sdlQuit(); - break; - case SDL_KEYDOWN: - case SDL_KEYUP: - case SDL_MOUSEBUTTONDOWN: - case SDL_MOUSEBUTTONUP: - case SDL_MOUSEMOTION: - handleSdlEvents(&event); - break; - case SDL_WINDOWEVENT: - if (event.window.event == SDL_WINDOWEVENT_CLOSE) - { - SDL_Quit(); - } - break; - default: - break; - } - } -} diff --git a/src/lindbergh/sdlcalls.h b/src/lindbergh/sdlcalls.h deleted file mode 100644 index e13791c..0000000 --- a/src/lindbergh/sdlcalls.h +++ /dev/null @@ -1,2 +0,0 @@ -void initSDL(int *argcp, char **argv); -void pollEvents(); \ No newline at end of file diff --git a/src/lindbergh/securityboard.c b/src/lindbergh/securityBoard.c similarity index 57% rename from src/lindbergh/securityboard.c rename to src/lindbergh/securityBoard.c index fa17ef5..947933c 100644 --- a/src/lindbergh/securityboard.c +++ b/src/lindbergh/securityBoard.c @@ -1,7 +1,7 @@ #include #include "config.h" -#include "securityboard.h" +#include "securityBoard.h" #include "log.h" #define SECURITY_BOARD_FRONT_PANEL 0x38 @@ -52,11 +52,11 @@ int securityBoardSetDipResolution(int width, int height) setResolutionDips(1, 1, 0); else if (width == 1360 && height == 768) setResolutionDips(1, 1, 1); - else { - if(getConfig()->showDebugMessages) + else + { + if (getConfig()->showDebugMessages) log_warn("Resolution not original, setting dips to 640 x 480.\n"); } - return 0; } @@ -81,15 +81,15 @@ int securityBoardSetSwitch(JVSInput switchNumber, int value) { switch (switchNumber) { - case BUTTON_TEST: - securityBoard.testSwitch = value; - break; - case BUTTON_SERVICE: - securityBoard.serviceSwitch = value; - break; - default: - printf("Error: Attempted to set a security board switch incorrectly"); - return -1; + case BUTTON_TEST: + securityBoard.testSwitch = value; + break; + case BUTTON_SERVICE: + securityBoard.serviceSwitch = value; + break; + default: + printf("Error: Attempted to set a security board switch incorrectly"); + return -1; } return 0; @@ -104,36 +104,36 @@ int securityBoardIn(uint16_t port, uint32_t *data) { switch (port) { - case SECURITY_BOARD_FRONT_PANEL_NON_ROOT: - case SECURITY_BOARD_FRONT_PANEL: - { - uint32_t result = 0xFFFFFFFF; - if (securityBoard.dipSwitch[6]) // bit12 - result &= ~0x800; // DIP 6 - if (securityBoard.dipSwitch[5]) // bit11 - result &= ~0x400; // DIP 5 - if (securityBoard.dipSwitch[4]) // bit10 - result &= ~0x200; // DIP 4 - if (securityBoard.dipSwitch[3]) // bit9 - result &= ~0x100; // DIP 3 - if (securityBoard.dipSwitch[2]) // bit8 - result &= ~0x80; // DIP 2 - if (securityBoard.dipSwitch[1]) // bit7 - result &= ~0x40; // DIP 1 - if (securityBoard.dipSwitch[8]) // bit6 - result &= ~0x20; - if (securityBoard.dipSwitch[7]) // bit5 - result &= ~0x10; - if (securityBoard.serviceSwitch) // bit4 - result &= ~0x08; - if (securityBoard.testSwitch) // bit3 - result &= ~0x04; - *data = result; - } - break; - - default: + case SECURITY_BOARD_FRONT_PANEL_NON_ROOT: + case SECURITY_BOARD_FRONT_PANEL: + { + uint32_t result = 0xFFFFFFFF; + if (securityBoard.dipSwitch[6]) // bit12 + result &= ~0x800; // DIP 6 + if (securityBoard.dipSwitch[5]) // bit11 + result &= ~0x400; // DIP 5 + if (securityBoard.dipSwitch[4]) // bit10 + result &= ~0x200; // DIP 4 + if (securityBoard.dipSwitch[3]) // bit9 + result &= ~0x100; // DIP 3 + if (securityBoard.dipSwitch[2]) // bit8 + result &= ~0x80; // DIP 2 + if (securityBoard.dipSwitch[1]) // bit7 + result &= ~0x40; // DIP 1 + if (securityBoard.dipSwitch[8]) // bit6 + result &= ~0x20; + if (securityBoard.dipSwitch[7]) // bit5 + result &= ~0x10; + if (securityBoard.serviceSwitch) // bit4 + result &= ~0x08; + if (securityBoard.testSwitch) // bit3 + result &= ~0x04; + *data = result; + } break; + + default: + break; } return 0; diff --git a/src/lindbergh/securityboard.h b/src/lindbergh/securityBoard.h similarity index 100% rename from src/lindbergh/securityboard.h rename to src/lindbergh/securityBoard.h diff --git a/src/lindbergh/shaderCache.c b/src/lindbergh/shaderCache.c new file mode 100644 index 0000000..cacd922 --- /dev/null +++ b/src/lindbergh/shaderCache.c @@ -0,0 +1,858 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../libxdiff/xdiff/xdiff.h" + +#include "config.h" +#include "shaderPatches.h" +#include "shaderWork/common.h" + +#include "shaderWork/2spicy.h" +#include "shaderWork/axa.h" +#include "shaderWork/gsevo.h" +#include "shaderWork/harley.h" +#include "shaderWork/hod4.h" +#include "shaderWork/hodex.h" +#include "shaderWork/hummer.h" +#include "shaderWork/id.h" +#include "shaderWork/lgj.h" +#include "shaderWork/primeval.h" +#include "shaderWork/rambo.h" +#include "shaderWork/vt3.h" + +extern uint32_t gId; +extern int gGrp; + +bool cachedShaderFilesLoaded = false; +bool fdHook = false; +int shaderIDX = 0; + +SearchReplace attribsSet[] = {{"POSITION;", "ATTR0;"}, {"COLOR0;", "ATTR3;"}, {"COLOR;", "ATTR3;"}, {"BINORMAL;", "ATTR15;"}, + {"NORMAL;", "ATTR2;"}, {"TEXCOORD0;", "ATTR8;"}, {"TEXCOORD1;", "ATTR9;"}, {"TEXCOORD2;", "ATTR10;"}, + {"TEXCOORD3;", "ATTR11;"}, {"TANGENT;", "ATTR14;"}, {"BLENDWEIGHT;", "ATTR1;"}, {"BLENDINDICES;", "ATTR7;"}}; + +int attribsSetCount = sizeof(attribsSet) / sizeof(SearchReplace); + +#define XDLT_STD_BLKSIZE (1024 * 8) + +/** + * We check if the shader being loaded is one of the ones in the list of files + * we need to patch + */ +bool shaderFileInList(const char *pathname, int *idx) +{ + char cwd[256]; + int gpuVendor = getConfig()->GPUVendor; + if (gId == GHOST_SQUAD_EVOLUTION) + { + if (getConfig()->GPUVendor != NVIDIA_GPU) + { + for (int x = 0; x < gsevoShaderPatchesCount; x++) + { + if ((strcmp(gsevoMesaShaderPatches[x].fileName, pathname) == 0) && (gsevoMesaShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else + { + for (int x = 0; x < gsevoShaderPatchesCount; x++) + { + if ((strcmp(gsevoNvidiaShaderPatches[x].fileName, pathname) == 0) && (gsevoNvidiaShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + } + else if (gId == RAMBO || gId == RAMBO_CHINA) + if (getConfig()->GPUVendor != NVIDIA_GPU) + { + for (int x = 0; x < ramboMesaShaderPatchesCount; x++) + { + if ((strcmp(ramboMesaShaderPatches[x].fileName, basename((char *)pathname)) == 0) && + (ramboMesaShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else + { + for (int x = 0; x < ramboNvidiaShaderPatchesCount; x++) + { + if ((strcmp(ramboNvidiaShaderPatches[x].fileName, basename((char *)pathname)) == 0) && + (ramboNvidiaShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else if (gGrp == GROUP_HOD4) + { + for (int x = 0; x < hod4ShaderPatchesCount; x++) + { + if ((strcmp(hod4ShaderPatches[x].fileName, basename((char *)pathname)) == 0) && (hod4ShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else if (gGrp == GROUP_HOD4_SP) + { + for (int x = 0; x < hod4spShaderPatchesCount; x++) + { + if ((strcmp(hod4spShaderPatches[x].fileName, basename((char *)pathname)) == 0) && + (hod4spShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else if (gId == HARLEY_DAVIDSON) + { + for (int x = 0; x < harleyShaderPatchesCount; x++) + { + if ((strcmp(harleyShaderPatches[x].fileName, basename((char *)pathname)) == 0) && + (harleyShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else if (gId == PRIMEVAL_HUNT) + { + for (int x = 0; x < phShaderPatchesCount; x++) + { + if ((strcmp(basename((char *)phShaderPatches[x].fileName), basename((char *)pathname)) == 0) && + (phShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else if (gGrp == GROUP_HUMMER) + { + for (int x = 0; x < hummerFilesToModCount; x++) + { + if ((strcmp(basename((char *)hummerShaderFilesToMod[x].fileName), basename((char *)pathname)) == 0) && + (hummerShaderFilesToMod[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else if (gId == TOO_SPICY) + { + if (gpuVendor != NVIDIA_GPU) + { + for (int x = 0; x < tooSpicyShaderPatchesCount; x++) + { + if ((strcmp(tooSpicyShaderPatches[x].fileName, basename((char *)pathname)) == 0) && + (tooSpicyShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + } + return false; + } + else if (gId == THE_HOUSE_OF_THE_DEAD_EX) + { + if (gpuVendor != NVIDIA_GPU) + { + for (int x = 0; x < hodexShaderPatchesCount; x++) + { + if ((strcmp(hodexShaderPatches[x].fileName, basename((char *)pathname)) == 0) && + (hodexShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + } + return false; + } + else if(gId == QUIZ_AXA) + { + for (int x = 0; x < axaShaderPatchesCount; x++) + { + if ((strcmp(basename((char *)axaShaderPatches[x].fileName), basename((char *)pathname)) == 0) && + (axaShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + else if (gId == QUIZ_AXA_LIVE) + { + for (int x = 0; x < axalShaderPatchesCount; x++) + { + if ((strcmp(basename((char *)axalShaderPatches[x].fileName), basename((char *)pathname)) == 0) && + (axalShaderPatches[x].shaderBufferSize != 0)) + { + *idx = x; + return true; + } + } + return false; + } + const char *fName = strrchr(pathname, '/'); + char searchFileName[40]; + char *searchFolder1; + char *searchFolder2; + char *format; + ShaderFilesToMod *filesToMod; + int filesToModCount; + + if (gGrp == GROUP_LGJ) + { + if (gpuVendor == NVIDIA_GPU && getConfig()->lgjRenderWithMesa != 1) + return false; + filesToMod = lgjShaderFilesToMod; + filesToModCount = lgjFilesToModCount; + searchFolder1 = "/shader/Cg"; + searchFolder2 = "/extraShader/Cg"; + format = "%s/inc%s"; + } + else if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP || gGrp == GROUP_ID5) + { + if (gpuVendor == NVIDIA_GPU) + return false; + + // Set default values + filesToMod = idShaderFilesToMod; + filesToModCount = idFilesToModCount; + searchFolder1 = "/shader/Cg/inc"; + searchFolder2 = "/data/Shader"; + format = "%s%s"; + + if (gGrp == GROUP_ID4_JAP) + { + filesToMod = id4jShaderFilesToMod; + filesToModCount = id4FilesToModCount; + } + else if (gGrp == GROUP_ID5) + { + searchFolder2 = "/data/V5SHADER"; + } + } + else if (gGrp == GROUP_VT3 || gGrp == GROUP_VT3_TEST) + { + if (gpuVendor == NVIDIA_GPU) + return false; + + filesToMod = vt3ShaderFilesToMod; + filesToModCount = vt3FilesToModCount; + searchFolder1 = "/shader/Cg/inc"; + searchFolder2 = "/shader"; + format = "%s%s"; + } + + if (strstr(pathname, searchFolder1) != NULL) + { + sprintf((void *)searchFileName, format, searchFolder1, fName); + } + else if (strstr(pathname, searchFolder2) != NULL) + { + sprintf((void *)searchFileName, format, searchFolder2, fName); + } + else + { + return false; + } + + for (int x = 0; x < filesToModCount; x++) + { + if (strcmp(filesToMod[x].fileName, searchFileName) == 0) + { + *idx = x; + return true; + } + } + return false; +} + +/** + * We return the size of the shader we will use to replace the original + * tricking ftell. + */ +long int ftellGetShaderSize(int idx) +{ + if (gId == GHOST_SQUAD_EVOLUTION) + { + return getConfig()->GPUVendor != NVIDIA_GPU ? gsevoMesaShaderPatches[idx].shaderBufferSize + : gsevoNvidiaShaderPatches[idx].shaderBufferSize; + } + else if (gGrp == GROUP_LGJ) + { + return lgjShaderFilesToMod[idx].shaderBufferSize; + } + else if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID5) + { + return idShaderFilesToMod[idx].shaderBufferSize; + } + else if (gGrp == GROUP_ID4_JAP) + { + return id4jShaderFilesToMod[idx].shaderBufferSize; + } + else if (gGrp == GROUP_VT3 || gGrp == GROUP_VT3_TEST) + { + return vt3ShaderFilesToMod[idx].shaderBufferSize; + } + else if (gId == TOO_SPICY) + { + return tooSpicyShaderPatches[idx].shaderBufferSize; + } + else if (gId == RAMBO || gId == RAMBO_CHINA) + { + return getConfig()->GPUVendor != NVIDIA_GPU ? ramboMesaShaderPatches[idx].shaderBufferSize + : ramboNvidiaShaderPatches[idx].shaderBufferSize; + } + else if (gGrp == GROUP_HOD4) + { + return hod4ShaderPatches[idx].shaderBufferSize; + } + else if (gGrp == GROUP_HOD4_SP) + { + return hod4spShaderPatches[idx].shaderBufferSize; + } + else if (gId == THE_HOUSE_OF_THE_DEAD_EX) + { + return hodexShaderPatches[idx].shaderBufferSize; + } + else if (gGrp == GROUP_HUMMER) + { + return hummerShaderFilesToMod[idx].shaderBufferSize; + } + else if (gId == PRIMEVAL_HUNT) + { + return phShaderPatches[idx].shaderBufferSize; + } + else if (gId == HARLEY_DAVIDSON) + { + return harleyShaderPatches[idx].shaderBufferSize; + } + else if (gId == QUIZ_AXA) + { + return axaShaderPatches[idx].shaderBufferSize; + } + else if (gId == QUIZ_AXA_LIVE) + { + return axalShaderPatches[idx].shaderBufferSize; + } + return -1; +} + +/** + * We replace the file being loaded by fread and insted, we fill the buffer + * with the data we want. + */ +size_t freadReplace(void *buf, size_t size, size_t count, int idx) +{ + if (gId == GHOST_SQUAD_EVOLUTION) + { + if (getConfig()->GPUVendor != NVIDIA_GPU) + { + memcpy(buf, gsevoMesaShaderPatches[idx].shaderBuffer, gsevoMesaShaderPatches[idx].shaderBufferSize); + } + else + { + memcpy(buf, gsevoNvidiaShaderPatches[idx].shaderBuffer, gsevoNvidiaShaderPatches[idx].shaderBufferSize); + } + return 1; + } + else if (gGrp == GROUP_LGJ) + { + memcpy(buf, lgjShaderFilesToMod[idx].shaderBuffer, size); + return size; + } + else if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID5) + { + memcpy(buf, idShaderFilesToMod[idx].shaderBuffer, size); + return size; + } + else if (gGrp == GROUP_ID4_JAP) + { + memcpy(buf, id4jShaderFilesToMod[idx].shaderBuffer, size); + return size; + } + else if (gGrp == GROUP_VT3 || gGrp == GROUP_VT3_TEST) + { + memcpy(buf, vt3ShaderFilesToMod[idx].shaderBuffer, size); + return size; + } + else if (gId == TOO_SPICY) + { + memcpy(buf, tooSpicyShaderPatches[idx].shaderBuffer, tooSpicyShaderPatches[idx].shaderBufferSize); + return tooSpicyShaderPatches[idx].shaderBufferSize; + } + else if (gId == RAMBO || gId == RAMBO_CHINA) + { + if (getConfig()->GPUVendor != NVIDIA_GPU) + { + memcpy(buf, ramboMesaShaderPatches[idx].shaderBuffer, ramboMesaShaderPatches[idx].shaderBufferSize); + return ramboMesaShaderPatches[idx].shaderBufferSize; + } + else + { + memcpy(buf, ramboNvidiaShaderPatches[idx].shaderBuffer, ramboNvidiaShaderPatches[idx].shaderBufferSize); + return ramboNvidiaShaderPatches[idx].shaderBufferSize; + } + } + else if (gGrp == GROUP_HOD4) + { + memcpy(buf, hod4ShaderPatches[idx].shaderBuffer, hod4ShaderPatches[idx].shaderBufferSize); + return hod4ShaderPatches[idx].shaderBufferSize; + } + else if (gGrp == GROUP_HOD4_SP) + { + memcpy(buf, hod4spShaderPatches[idx].shaderBuffer, hod4spShaderPatches[idx].shaderBufferSize); + return hod4spShaderPatches[idx].shaderBufferSize; + } + else if (gId == THE_HOUSE_OF_THE_DEAD_EX) + { + memcpy(buf, hodexShaderPatches[idx].shaderBuffer, hodexShaderPatches[idx].shaderBufferSize); + return hodexShaderPatches[idx].shaderBufferSize; + } + else if (gGrp == GROUP_HUMMER) + { + memcpy(buf, hummerShaderFilesToMod[idx].shaderBuffer, hummerShaderFilesToMod[idx].shaderBufferSize); + return hummerShaderFilesToMod[idx].shaderBufferSize; + } + else if (gId == PRIMEVAL_HUNT) + { + memcpy(buf, phShaderPatches[idx].shaderBuffer, phShaderPatches[idx].shaderBufferSize); + return phShaderPatches[idx].shaderBufferSize; + } + else if (gId == HARLEY_DAVIDSON) + { + memcpy(buf, harleyShaderPatches[idx].shaderBuffer, harleyShaderPatches[idx].shaderBufferSize); + return harleyShaderPatches[idx].shaderBufferSize; + } + else if (gId == QUIZ_AXA) + { + memcpy(buf, axaShaderPatches[idx].shaderBuffer, axaShaderPatches[idx].shaderBufferSize); + return axaShaderPatches[idx].shaderBufferSize; + } + else if (gId == QUIZ_AXA_LIVE) + { + memcpy(buf, axalShaderPatches[idx].shaderBuffer, axalShaderPatches[idx].shaderBufferSize); + return axalShaderPatches[idx].shaderBufferSize; + } + return -1; +} + +int loadShader(char *path, char *buffer) +{ + int fd = open(path, O_RDONLY); + if (fd == -1) + { + printf("Error opening %s.\n", path); + exit(1); + } + int s = lseek(fd, 0, SEEK_END); + lseek(fd, 0, SEEK_SET); + read(fd, buffer, s); + close(fd); + buffer[s] = '\0'; + return s; +} + +int xdlt_load_mmfile(char const *path, mmfile_t *mf) +{ + int fd; + int pos = 0; + long size; + char *blk; + + if (xdl_init_mmfile(mf, XDLT_STD_BLKSIZE, XDL_MMF_ATOMIC) < 0) + { + exit(1); + } + if ((fd = open(path, O_RDONLY)) == -1) + { + perror(path); + xdl_free_mmfile(mf); + exit(1); + } + size = lseek(fd, 0, SEEK_END); + lseek(fd, pos, SEEK_SET); + blk = (char *)xdl_mmfile_writeallocate(mf, size); + if (blk == NULL) + { + xdl_free_mmfile(mf); + close(fd); + exit(1); + } + if (read(fd, blk, (size_t)size) != (size_t)size) + { + perror(path); + xdl_free_mmfile(mf); + close(fd); + exit(1); + } + close(fd); + + return 0; +} + +/** + * Functions used by libxdiff for memory handling + */ +static void *wrap_malloc(void *priv, unsigned int size) +{ + return malloc(size); +} + +static void wrap_free(void *priv, void *ptr) +{ + free(ptr); +} + +static void *wrap_realloc(void *priv, void *ptr, unsigned int size) +{ + + return realloc(ptr, size); +} + +int handle_patch(void *priv, mmbuffer_t *mb, int nbuf) +{ + mmfile_t *patch = (mmfile_t *)priv; + xdl_writem_mmfile(patch, mb, nbuf); + + return 0; +} + +/** + * We load a few shader files from disk, we patch them and cache them in an + * array to later feed them to game intercepting fopen, ftell and fread. + */ +void cacheModedShaderFiles() +{ + char cwd[256]; + char fullPath[512]; + char shaderBuffer[100000]; + char *newProgram; + ShaderFilesToMod *shaderFilesToMod; + int filesToModCount; + + memallocator_t malt; + malt.priv = NULL; + malt.malloc = wrap_malloc; + malt.free = wrap_free; + malt.realloc = wrap_realloc; + xdl_set_allocator(&malt); + mmfile_t patchedFile; + ShaderFilesToPatch *shaderFilesToPatch; + int shaderFilesToPatchCount; + char folderName[50]; + sprintf(folderName, "/../fs/shader/"); + + if (gGrp == GROUP_LGJ) + { + for (int x = 0; x < lgjFilesToModCount; x++) + { + getcwd(cwd, sizeof(cwd)); + sprintf(fullPath, "%s%s", cwd, lgjShaderFilesToMod[x].fileName); + loadShader(fullPath, shaderBuffer); + newProgram = replaceInBlock(shaderBuffer, attribsSet, attribsSetCount, "", ""); + newProgram = replaceInBlock(newProgram, lgjShaderReplaceSet1, lgjShaderReplaceCount1, "", ""); + + // Dirty hack to fix just 1 shader + if (x == 3) + { + newProgram = replaceInBlock(newProgram, lgjShaderReplaceSet2, lgjShaderReplaceCount2, "", ""); + } + + lgjShaderFilesToMod[x].shaderBufferSize = strlen(newProgram); + lgjShaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); + free(newProgram); + } + } + else if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP || gGrp == GROUP_ID5) + { + if (gGrp == GROUP_ID4_JAP) + { + shaderFilesToMod = id4jShaderFilesToMod; + filesToModCount = id4FilesToModCount; + } + else + { + shaderFilesToMod = idShaderFilesToMod; + filesToModCount = idFilesToModCount; + } + for (int x = 0; x < filesToModCount; x++) + { + if (gGrp == GROUP_ID5) + { + char *fName = shaderFilesToMod[x].fileName; + shaderFilesToMod[x].fileName = replaceSubstring(fName, 0, strlen(fName), "Shader", "V5SHADER"); + } + getcwd(cwd, sizeof(cwd)); + sprintf(fullPath, "%s%s", cwd, shaderFilesToMod[x].fileName); + loadShader(fullPath, shaderBuffer); + if (strcmp(shaderFilesToMod[x].fileName, "/data/V5SHADER/effect_p.fx") == 0) + { + newProgram = replaceInBlock(shaderBuffer, id5ShaderReplaceSetForSmoke, id5ShaderReplaceSetForSmokeCount, "", ""); + } + else if (strcmp(shaderFilesToMod[x].fileName, "/data/Shader/effect_p.fx") == 0) + { + newProgram = strndup(shaderBuffer, strlen(shaderBuffer)); + } + else + { + newProgram = replaceInBlock(shaderBuffer, attribsSet, attribsSetCount, "struct\tVS_INPUT_P", ""); + newProgram = replaceInBlock(newProgram, attribsSet, attribsSetCount, "struct VS_INPUT", "struct VS_OUTPUT"); + newProgram = replaceInBlock(newProgram, idShaderReplaceSet, idShaderReplaceCount, "", ""); + } + shaderFilesToMod[x].shaderBufferSize = strlen(newProgram); + shaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); + free(newProgram); + } + } + else if (gGrp == GROUP_VT3 || gGrp == GROUP_VT3_TEST) + { + for (int x = 0; x < vt3FilesToModCount; x++) + { + getcwd(cwd, sizeof(cwd)); + sprintf(fullPath, "%s/..%s", cwd, vt3ShaderFilesToMod[x].fileName); + loadShader(fullPath, shaderBuffer); + newProgram = replaceInBlock(shaderBuffer, attribsSet, attribsSetCount, "struct\tVS_INPUT_P", ""); + newProgram = replaceInBlock(newProgram, vt3ShaderReplaceSet2, vt3ShaderReplaceCount2, "Out main(", ")"); + newProgram = replaceInBlock(newProgram, vt3ShaderReplaceSet1, vt3ShaderReplaceCount1, "", ""); + + vt3ShaderFilesToMod[x].shaderBufferSize = strlen(newProgram); + vt3ShaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); + free(newProgram); + } + } + else if (gGrp == GROUP_HUMMER) + { + for (int x = 0; x < hummerFilesToModCount; x++) + { + getcwd(cwd, sizeof(cwd)); + sprintf(fullPath, "%s%s", cwd, hummerShaderFilesToMod[x].fileName); + loadShader(fullPath, shaderBuffer); + newProgram = replaceInBlock(shaderBuffer, hummerShaderReplaceSet1, hummerShaderReplaceSet1Count, "", ""); + if (getConfig()->GPUVendor != NVIDIA_GPU) + { + newProgram = replaceInBlock(newProgram, hummerShaderReplaceMesa, hummerShaderReplaceMesaCount, "", ""); + } + if (getConfig()->hummerFlickerFix) + { + newProgram = replaceInBlock(newProgram, hummerShaderReplaceFlicker, hummerShaderReplaceFlickerCount, "", ""); + } + hummerShaderFilesToMod[x].shaderBufferSize = strlen(newProgram); + hummerShaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); + free(newProgram); + } + } + else + { + if (gId == TOO_SPICY) + { + shaderFilesToPatch = tooSpicyShaderPatches; + shaderFilesToPatchCount = tooSpicyShaderPatchesCount; + } + else if (gId == RAMBO || gId == RAMBO_CHINA) + { + if (getConfig()->GPUVendor != NVIDIA_GPU) + { + shaderFilesToPatch = ramboMesaShaderPatches; + shaderFilesToPatchCount = ramboMesaShaderPatchesCount; + } + else + { + shaderFilesToPatch = ramboNvidiaShaderPatches; + shaderFilesToPatchCount = ramboNvidiaShaderPatchesCount; + } + } + else if (gId == HARLEY_DAVIDSON) + { + shaderFilesToPatch = harleyShaderPatches; + shaderFilesToPatchCount = harleyShaderPatchesCount; + } + else if (gId == THE_HOUSE_OF_THE_DEAD_EX) + { + shaderFilesToPatch = hodexShaderPatches; + shaderFilesToPatchCount = hodexShaderPatchesCount; + } + else if (gGrp == GROUP_HOD4) + { + sprintf(folderName, "/../fs/dat/"); + shaderFilesToPatchCount = hod4ShaderPatchesCount; + shaderFilesToPatch = hod4ShaderPatches; + } + else if (gGrp == GROUP_HOD4_SP) + { + sprintf(folderName, "/../fs/dat/"); + shaderFilesToPatchCount = hod4spShaderPatchesCount; + shaderFilesToPatch = hod4spShaderPatches; + } + else if (gId == PRIMEVAL_HUNT) + { + sprintf(folderName, "/../data/nnstdshader/"); + shaderFilesToPatchCount = phShaderPatchesCount; + shaderFilesToPatch = phShaderPatches; + } + else if (gId == GHOST_SQUAD_EVOLUTION) + { + shaderFilesToPatchCount = gsevoShaderPatchesCount; + sprintf(folderName, "/%s", ""); + if (getConfig()->GPUVendor != NVIDIA_GPU) + { + shaderFilesToPatch = gsevoMesaShaderPatches; + } + else + { + shaderFilesToPatch = gsevoNvidiaShaderPatches; + } + } + else if (gId == QUIZ_AXA) + { + sprintf(folderName, "/../../data/shader/"); + shaderFilesToPatchCount = axaShaderPatchesCount; + shaderFilesToPatch = axaShaderPatches; + } + else if (gId == QUIZ_AXA_LIVE) + { + sprintf(folderName, "/../../data/shader/"); + shaderFilesToPatchCount = axalShaderPatchesCount; + shaderFilesToPatch = axalShaderPatches; + } + } + + for (int x = 0; x < shaderFilesToPatchCount; x++) + { + mmfile_t oriFile, patch; + xdemitcb_t ecb, rjecb; + getcwd(cwd, sizeof(cwd)); + sprintf(fullPath, "%s%s%s", cwd, folderName, shaderFilesToPatch[x].fileName); + if (xdlt_load_mmfile(fullPath, &oriFile) != 0) + { + printf("Error reading oriFile.\n"); + exit(1); + return; + } + + if (xdl_init_mmfile(&patchedFile, XDLT_STD_BLKSIZE, XDL_MMF_ATOMIC) < 0) + { + printf("Error Initializong patchedFile.\n"); + exit(1); + return; + } + xdl_free_mmfile(&patchedFile); + + if (xdl_init_mmfile(&patch, XDLT_STD_BLKSIZE, XDL_MMF_ATOMIC) < 0) + { + printf("Error Initializong patch.\n"); + exit(1); + return; + } + xdl_free_mmfile(&patch); + + xdl_write_mmfile(&patch, shaderFilesToPatch[x].patchBuffer, shaderFilesToPatch[x].patchBufferSize); + + ecb.priv = &patchedFile; + ecb.outf = handle_patch; + if (xdl_bpatch(&oriFile, &patch, &ecb)) + { + printf("Error patching shaders, are you sure your files are original?\n"); + } + else + { + char *buff = malloc(patchedFile.fsize + 1); + xdl_seek_mmfile(&patchedFile, 0); + xdl_read_mmfile(&patchedFile, buff, patchedFile.fsize); + + shaderFilesToPatch[x].shaderBufferSize = patchedFile.fsize; + shaderFilesToPatch[x].shaderBuffer = malloc(patchedFile.fsize); + memcpy((void *)shaderFilesToPatch[x].shaderBuffer, buff, patchedFile.fsize); + free(buff); + } + } + + if (getConfig()->showDebugMessages) + { + printf("Modded Shaders cached.\n"); + } + cachedShaderFilesLoaded = true; +} + +void *vt3Open(void *fb, const char *s, int mode) +{ + bool (*_vt3_open)(void *, const char *, int) = dlsym(RTLD_NEXT, "_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode"); + + if (shaderFileInList(s, &shaderIDX)) + { + fdHook = true; + return (void *)_vt3_open((void *)fb, s, mode); + } + return (void *)_vt3_open((void *)fb, s, mode); +} + +int vt3Close(void *fb) +{ + bool (*_vt3_close)(void *) = dlsym(RTLD_NEXT, "_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv"); + + if (fdHook) + { + fdHook = false; + shaderIDX = 0; + } + + return _vt3_close((void *)fb); +} + +u_int32_t *vt3Tellg(u_int32_t *size, void *is) +{ + u_int32_t *(*_vt3_tellg)(void *, void *) = dlsym(RTLD_NEXT, "_ZNSi5tellgEv"); + + if (fdHook) + { + *(int *)(size) = ftellGetShaderSize(shaderIDX); + return size; + } + + return _vt3_tellg(size, is); +} + +void *vt3Read(void *is, char *s, long long n) +{ + void *(*_vt3_read)(void *is, char *s, long long n) = dlsym(RTLD_NEXT, "_ZNSi4readEPci"); + if (fdHook) + { + freadReplace(s, n, 1, shaderIDX); + return is; + } + return _vt3_read(is, s, n); +} diff --git a/src/lindbergh/shaderCache.h b/src/lindbergh/shaderCache.h new file mode 100644 index 0000000..6e662ab --- /dev/null +++ b/src/lindbergh/shaderCache.h @@ -0,0 +1,12 @@ +#pragma once +#include +#include +#include "shaderWork/common.h" + +bool shaderFileInList(const char *pathname, int *idx); +size_t freadReplace(void *buf, size_t size, size_t count, int idx); +long int ftellGetShaderSize(int idx); +void *vt3Open(void *fb, const char *s, int mode); +int vt3Close(void *fb); +u_int32_t *vt3Tellg(u_int32_t *size, void *is); +void *vt3Read(void *is, char *s, long long n); \ No newline at end of file diff --git a/src/lindbergh/shader_patches.c b/src/lindbergh/shaderPatches.c similarity index 53% rename from src/lindbergh/shader_patches.c rename to src/lindbergh/shaderPatches.c index 9c2fd46..bda51cd 100644 --- a/src/lindbergh/shader_patches.c +++ b/src/lindbergh/shaderPatches.c @@ -1,54 +1,39 @@ #ifndef __i386__ #define __i386__ - -#include #endif #undef __x86_64__ +#define GL_GLEXT_PROTOTYPES +#include #include #include #include #include -#include #include -#include #include -#include #include -#define GL_GLEXT_PROTOTYPES -#include -#include -#include "../libxdiff/xdiff/xdiff.h" #include "config.h" -#include "patch.h" +#include "flowControl.h" #include "log.h" +#include "shaderWork/common.h" -#include "shader_work/2spicy.h" -#include "shader_work/abc.h" -#include "shader_work/gsevo.h" -#include "shader_work/harley.h" -#include "shader_work/hod4.h" -#include "shader_work/hod4sp.h" -#include "shader_work/hodex.h" -#include "shader_work/hummer.h" -#include "shader_work/id.h" -#include "shader_work/lgj.h" -#include "shader_work/mj4.h" -#include "shader_work/or2.h" -#include "shader_work/primeval.h" -#include "shader_work/rambo.h" -#include "shader_work/rtuned.h" -#include "shader_work/srtv.h" -#include "shader_work/vf5.h" -#include "shader_work/vt3.h" +#include "shaderWork/abc.h" +#include "shaderWork/gsevo.h" +#include "shaderWork/hummer.h" +#include "shaderWork/lgj.h" +#include "shaderWork/mj4.h" +#include "shaderWork/or2.h" +#include "shaderWork/rtuned.h" +#include "shaderWork/srtv.h" +#include "shaderWork/vf5.h" #define MAX_FILENAME_LENGTH 256 -#define XDLT_STD_BLKSIZE (1024 * 8) extern uint32_t gId; +extern int gGrp; char tmpShader[150000]; -bool cachedShaderFilesLoaded = false; + int idxError = 0; int idxVF5 = 0; int vf5IdStart; @@ -62,8 +47,8 @@ typedef const char *(*cgGetProgramString_t)(char *program, int pname); typedef void (*cgDestroyContext_t)(size_t *context); typedef void (*cgDestroyProgram_t)(char *program); -bool fdHook = false; -int shaderIDX = 0; +char *nnstdshader_vert; +char *nnstdshader_frag; cgCreateContext_t _cgCreateContext; cgCreateProgram_t _cgCreateProgram; @@ -93,8 +78,8 @@ char *replaceSubstring(const char *buffer, int start, int end, const char *searc maxOccurrences++; tmp += searchLen; } - int maxNewLen = - (bufferLen + (maxOccurrences * (replaceLen - searchLen))) + 15; // 15 instead of 1 because it crashes with SRTV for no reason?? + int maxNewLen = (bufferLen + (maxOccurrences * (replaceLen - searchLen))) + + 15; // 15 instead of 1 because it crashes with SRTV for no reason?? char *newBuffer = malloc(maxNewLen); memset(newBuffer, '\0', maxNewLen); @@ -444,448 +429,6 @@ void srtvElfShaderPatcher() } } -/** - * We check if the shader being loaded is one of the ones in the list of files - * we need to patch - */ -bool shaderFileInList(const char *pathname, int *idx) -{ - char cwd[256]; - int gpuVendor = getConfig()->GPUVendor; - switch (gId) - { - case GHOST_SQUAD_EVOLUTION: - if (getConfig()->GPUVendor != NVIDIA_GPU) - { - for (int x = 0; x < gsevoShaderPatchesCount; x++) - { - if ((strcmp(gsevoMesaShaderPatches[x].fileName, pathname) == 0) && (gsevoMesaShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - } - else - { - for (int x = 0; x < gsevoShaderPatchesCount; x++) - { - if ((strcmp(gsevoNvidiaShaderPatches[x].fileName, pathname) == 0) && (gsevoNvidiaShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - } - break; - case RAMBO: - if (getConfig()->GPUVendor != NVIDIA_GPU) - { - for (int x = 0; x < ramboMesaShaderPatchesCount; x++) - { - if ((strcmp(ramboMesaShaderPatches[x].fileName, basename((char *)pathname)) == 0) && - (ramboMesaShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - } - else - { - for (int x = 0; x < ramboNvidiaShaderPatchesCount; x++) - { - if ((strcmp(ramboNvidiaShaderPatches[x].fileName, basename((char *)pathname)) == 0) && - (ramboNvidiaShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - } - case THE_HOUSE_OF_THE_DEAD_4_REVA: - case THE_HOUSE_OF_THE_DEAD_4_REVB: - case THE_HOUSE_OF_THE_DEAD_4_REVC: - for (int x = 0; x < hod4ShaderPatchesCount; x++) - { - if ((strcmp(hod4ShaderPatches[x].fileName, basename((char *)pathname)) == 0) && (hod4ShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - for (int x = 0; x < hod4spShaderPatchesCount; x++) - { - if ((strcmp(hod4spShaderPatches[x].fileName, basename((char *)pathname)) == 0) && - (hod4spShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - case HARLEY_DAVIDSON: - for (int x = 0; x < harleyShaderPatchesCount; x++) - { - if ((strcmp(harleyShaderPatches[x].fileName, basename((char *)pathname)) == 0) && - (harleyShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - case PRIMEVAL_HUNT: - for (int x = 0; x < phShaderPatchesCount; x++) - { - if ((strcmp(basename((char *)phShaderPatches[x].fileName), basename((char *)pathname)) == 0) && - (phShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - case HUMMER: - case HUMMER_SDLX: - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: - for (int x = 0; x < hummerFilesToModCount; x++) - { - if ((strcmp(basename((char *)hummerShaderFilesToMod[x].fileName), basename((char *)pathname)) == 0) && - (hummerShaderFilesToMod[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - return false; - case TOO_SPICY: - if (gpuVendor != NVIDIA_GPU) - { - for (int x = 0; x < tooSpicyShaderPatchesCount; x++) - { - if ((strcmp(tooSpicyShaderPatches[x].fileName, basename((char *)pathname)) == 0) && - (tooSpicyShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - } - return false; - case THE_HOUSE_OF_THE_DEAD_EX: - if (gpuVendor != NVIDIA_GPU) - { - for (int x = 0; x < hodexShaderPatchesCount; x++) - { - if ((strcmp(hodexShaderPatches[x].fileName, basename((char *)pathname)) == 0) && - (hodexShaderPatches[x].shaderBufferSize != 0)) - { - *idx = x; - return true; - } - } - } - return false; - } - const char *fName = strrchr(pathname, '/'); - char searchFileName[40]; - char *searchFolder1; - char *searchFolder2; - char *format; - ShaderFilesToMod *filesToMod; - int filesToModCount; - - switch (gId) - { - case LETS_GO_JUNGLE: - case LETS_GO_JUNGLE_REVA: - case LETS_GO_JUNGLE_SPECIAL: - if (gpuVendor == NVIDIA_GPU && getConfig()->lgjRenderWithMesa != 1) - return false; - filesToMod = lgjShaderFilesToMod; - filesToModCount = lgjFilesToModCount; - searchFolder1 = "/shader/Cg"; - searchFolder2 = "/extraShader/Cg"; - format = "%s/inc%s"; - break; - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - if (gpuVendor == NVIDIA_GPU) - return false; - - // Set default values - filesToMod = idShaderFilesToMod; - filesToModCount = idFilesToModCount; - searchFolder1 = "/shader/Cg/inc"; - searchFolder2 = "/data/Shader"; - format = "%s%s"; - - switch (gId) - { - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - filesToMod = id4jShaderFilesToMod; - filesToModCount = id4FilesToModCount; - break; - } - - switch (gId) - { - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - searchFolder2 = "/data/V5SHADER"; - break; - } - break; - case VIRTUA_TENNIS_3: - case VIRTUA_TENNIS_3_TEST: - case VIRTUA_TENNIS_3_REVA: - case VIRTUA_TENNIS_3_REVA_TEST: - case VIRTUA_TENNIS_3_REVB: - case VIRTUA_TENNIS_3_REVB_TEST: - case VIRTUA_TENNIS_3_REVC: - case VIRTUA_TENNIS_3_REVC_TEST: - if (gpuVendor == NVIDIA_GPU) - return false; - - filesToMod = vt3ShaderFilesToMod; - filesToModCount = vt3FilesToModCount; - searchFolder1 = "/shader/Cg/inc"; - searchFolder2 = "/shader"; - format = "%s%s"; - } - - if (strstr(pathname, searchFolder1) != NULL) - { - sprintf((void *)searchFileName, format, searchFolder1, fName); - } - else if (strstr(pathname, searchFolder2) != NULL) - { - sprintf((void *)searchFileName, format, searchFolder2, fName); - } - else - { - return false; - } - - for (int x = 0; x < filesToModCount; x++) - { - if (strcmp(filesToMod[x].fileName, searchFileName) == 0) - { - *idx = x; - return true; - } - } - return false; -} - -/** - * We return the size of the shader we will use to replace the original - * tricking ftell. - */ -long int ftellGetShaderSize(int idx) -{ - switch (gId) - { - case GHOST_SQUAD_EVOLUTION: - return getConfig()->GPUVendor != NVIDIA_GPU ? gsevoMesaShaderPatches[idx].shaderBufferSize - : gsevoNvidiaShaderPatches[idx].shaderBufferSize; - - case LETS_GO_JUNGLE: - case LETS_GO_JUNGLE_REVA: - case LETS_GO_JUNGLE_SPECIAL: - return lgjShaderFilesToMod[idx].shaderBufferSize; - - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - return idShaderFilesToMod[idx].shaderBufferSize; - - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - return id4jShaderFilesToMod[idx].shaderBufferSize; - - case VIRTUA_TENNIS_3: - case VIRTUA_TENNIS_3_TEST: - case VIRTUA_TENNIS_3_REVA: - case VIRTUA_TENNIS_3_REVA_TEST: - case VIRTUA_TENNIS_3_REVB: - case VIRTUA_TENNIS_3_REVB_TEST: - case VIRTUA_TENNIS_3_REVC: - case VIRTUA_TENNIS_3_REVC_TEST: - return vt3ShaderFilesToMod[idx].shaderBufferSize; - - case TOO_SPICY: - return tooSpicyShaderPatches[idx].shaderBufferSize; - - case RAMBO: - return getConfig()->GPUVendor != NVIDIA_GPU ? ramboMesaShaderPatches[idx].shaderBufferSize - : ramboNvidiaShaderPatches[idx].shaderBufferSize; - - case THE_HOUSE_OF_THE_DEAD_4_REVA: - case THE_HOUSE_OF_THE_DEAD_4_REVB: - case THE_HOUSE_OF_THE_DEAD_4_REVC: - return hod4ShaderPatches[idx].shaderBufferSize; - - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - return hod4spShaderPatches[idx].shaderBufferSize; - case THE_HOUSE_OF_THE_DEAD_EX: - return hodexShaderPatches[idx].shaderBufferSize; - - case HUMMER: - case HUMMER_SDLX: - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: - return hummerShaderFilesToMod[idx].shaderBufferSize; - case PRIMEVAL_HUNT: - return phShaderPatches[idx].shaderBufferSize; - case HARLEY_DAVIDSON: - return harleyShaderPatches[idx].shaderBufferSize; - } - return -1; -} - -/** - * We replace the file being loaded by fread and insted, we fill the buffer - * with the data we want. - */ -size_t freadReplace(void *buf, size_t size, size_t count, int idx) -{ - switch (gId) - { - case GHOST_SQUAD_EVOLUTION: - if (getConfig()->GPUVendor != NVIDIA_GPU) - { - memcpy(buf, gsevoMesaShaderPatches[idx].shaderBuffer, gsevoMesaShaderPatches[idx].shaderBufferSize); - } - else - { - memcpy(buf, gsevoNvidiaShaderPatches[idx].shaderBuffer, gsevoNvidiaShaderPatches[idx].shaderBufferSize); - } - return 1; - - case LETS_GO_JUNGLE: - case LETS_GO_JUNGLE_REVA: - case LETS_GO_JUNGLE_SPECIAL: - memcpy(buf, lgjShaderFilesToMod[idx].shaderBuffer, size); - return size; - - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - memcpy(buf, idShaderFilesToMod[idx].shaderBuffer, size); - return size; - - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - memcpy(buf, id4jShaderFilesToMod[idx].shaderBuffer, size); - return size; - - case VIRTUA_TENNIS_3: - case VIRTUA_TENNIS_3_TEST: - case VIRTUA_TENNIS_3_REVA: - case VIRTUA_TENNIS_3_REVA_TEST: - case VIRTUA_TENNIS_3_REVB: - case VIRTUA_TENNIS_3_REVB_TEST: - case VIRTUA_TENNIS_3_REVC: - case VIRTUA_TENNIS_3_REVC_TEST: - memcpy(buf, vt3ShaderFilesToMod[idx].shaderBuffer, size); - return size; - - case TOO_SPICY: - memcpy(buf, tooSpicyShaderPatches[idx].shaderBuffer, tooSpicyShaderPatches[idx].shaderBufferSize); - return tooSpicyShaderPatches[idx].shaderBufferSize; - - case RAMBO: - if (getConfig()->GPUVendor != NVIDIA_GPU) - { - memcpy(buf, ramboMesaShaderPatches[idx].shaderBuffer, ramboMesaShaderPatches[idx].shaderBufferSize); - return ramboMesaShaderPatches[idx].shaderBufferSize; - } - else - { - memcpy(buf, ramboNvidiaShaderPatches[idx].shaderBuffer, ramboNvidiaShaderPatches[idx].shaderBufferSize); - return ramboNvidiaShaderPatches[idx].shaderBufferSize; - } - - case THE_HOUSE_OF_THE_DEAD_4_REVA: - case THE_HOUSE_OF_THE_DEAD_4_REVB: - case THE_HOUSE_OF_THE_DEAD_4_REVC: - memcpy(buf, hod4ShaderPatches[idx].shaderBuffer, hod4ShaderPatches[idx].shaderBufferSize); - return hod4ShaderPatches[idx].shaderBufferSize; - - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - memcpy(buf, hod4spShaderPatches[idx].shaderBuffer, hod4spShaderPatches[idx].shaderBufferSize); - return hod4spShaderPatches[idx].shaderBufferSize; - - case THE_HOUSE_OF_THE_DEAD_EX: - memcpy(buf, hodexShaderPatches[idx].shaderBuffer, hodexShaderPatches[idx].shaderBufferSize); - return hodexShaderPatches[idx].shaderBufferSize; - - case HUMMER: - case HUMMER_SDLX: - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: - memcpy(buf, hummerShaderFilesToMod[idx].shaderBuffer, hummerShaderFilesToMod[idx].shaderBufferSize); - return hummerShaderFilesToMod[idx].shaderBufferSize; - - case PRIMEVAL_HUNT: - memcpy(buf, phShaderPatches[idx].shaderBuffer, phShaderPatches[idx].shaderBufferSize); - return phShaderPatches[idx].shaderBufferSize; - - case HARLEY_DAVIDSON: - memcpy(buf, harleyShaderPatches[idx].shaderBuffer, harleyShaderPatches[idx].shaderBufferSize); - return harleyShaderPatches[idx].shaderBufferSize; - - default: - return -1; - } -} - /** * Here we intercept cgGetProgramString because some games like ID4 or ID5 we * force the shaders to be recompiled and there is a problem that the game feeds @@ -896,25 +439,8 @@ char *cgGetProgramString(char *program, int e) { char *(*_cgGetProgramString)(char *program, int e) = dlsym(RTLD_NEXT, "cgGetProgramString"); - switch (gId) - { - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - break; - default: + if(gGrp != GROUP_ID4_EXP && gGrp != GROUP_ID4_JAP && gGrp != GROUP_ID5) return _cgGetProgramString(program, e); - } char *prgstr = _cgGetProgramString(program, e); @@ -942,9 +468,8 @@ void gl_ProgramStringARB(int target, int program_fmt, int program_len, char *pro int newProgramLen; void *addr = __builtin_return_address(0); - switch (gId) + if(gId == GHOST_SQUAD_EVOLUTION) { - case GHOST_SQUAD_EVOLUTION: if (addr == (void *)0x8179fab) { newProgram = replaceInBlock(program, gsevoSet1, gsevoSetCount1, "", ""); @@ -952,22 +477,16 @@ void gl_ProgramStringARB(int target, int program_fmt, int program_len, char *pro program = newProgram; program_len = newProgramLen; } - break; - case LETS_GO_JUNGLE: - case LETS_GO_JUNGLE_REVA: - case LETS_GO_JUNGLE_SPECIAL: + } + else if(gGrp == GROUP_LGJ) + { newProgram = replaceInBlock(program, lgjCompiledShadersPatch, lgjCompiledShadersPatchCount, "", ""); newProgramLen = strlen(newProgram); program = newProgram; program_len = newProgramLen; - break; - case AFTER_BURNER_CLIMAX: - case AFTER_BURNER_CLIMAX_REVA: - case AFTER_BURNER_CLIMAX_REVB: - case AFTER_BURNER_CLIMAX_SDX: - case AFTER_BURNER_CLIMAX_SDX_REVA: - case AFTER_BURNER_CLIMAX_SE: - case AFTER_BURNER_CLIMAX_SE_REVA: + } + else if(gGrp == GROUP_ABC) + { if (target == GL_VERTEX_PROGRAM_ARB) { newProgram = replaceInBlock(program, abcVsMesa, abcVsMesaCount, "", ""); @@ -979,9 +498,9 @@ void gl_ProgramStringARB(int target, int program_fmt, int program_len, char *pro newProgramLen = strlen(newProgram); program = newProgram; program_len = newProgramLen; - break; - case OUTRUN_2_SP_SDX: - case OUTRUN_2_SP_SDX_REVA: + } + else if(gGrp == GROUP_OUTRUN) + { if (target == GL_VERTEX_PROGRAM_ARB) { if (getConfig()->GPUVendor == NVIDIA_GPU) @@ -1001,18 +520,9 @@ void gl_ProgramStringARB(int target, int program_fmt, int program_len, char *pro newProgramLen = strlen(newProgram); program = newProgram; program_len = newProgramLen; - break; - case VIRTUA_FIGHTER_5: - case VIRTUA_FIGHTER_5_REVA: - case VIRTUA_FIGHTER_5_REVB: - case VIRTUA_FIGHTER_5_REVE: - case VIRTUA_FIGHTER_5_EXPORT: - case VIRTUA_FIGHTER_5_R: - case VIRTUA_FIGHTER_5_R_REVD: - case VIRTUA_FIGHTER_5_R_REVG: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: + } + else if (gGrp == GROUP_VF5) + { if (target == GL_VERTEX_PROGRAM_ARB) { if (getConfig()->GPUVendor == ATI_GPU) @@ -1039,8 +549,9 @@ void gl_ProgramStringARB(int target, int program_fmt, int program_len, char *pro newProgramLen = strlen(newProgram); program = newProgram; program_len = newProgramLen; - break; - case R_TUNED: + } + else if (gId == R_TUNED) + { if (target == GL_VERTEX_PROGRAM_ARB) { newProgram = replaceInBlock(program, rtunedVsMesa, rtunedVsMesaCount, "", ""); @@ -1052,9 +563,9 @@ void gl_ProgramStringARB(int target, int program_fmt, int program_len, char *pro newProgramLen = strlen(newProgram); program = newProgram; program_len = newProgramLen; - break; - case MJ4_REVG: - case MJ4_EVO: + } + else if (gId == MJ4_REVG || gId == MJ4_EVO) + { if (target == GL_VERTEX_PROGRAM_ARB) { newProgram = replaceInBlock(program, mj4VsMesa, mj4VsMesaCount, "", ""); @@ -1069,19 +580,8 @@ void gl_ProgramStringARB(int target, int program_fmt, int program_len, char *pro } glProgramStringARB(target, program_fmt, program_len, program); - switch (gId) + if (gGrp == GROUP_VF5) { - case VIRTUA_FIGHTER_5: - case VIRTUA_FIGHTER_5_REVA: - case VIRTUA_FIGHTER_5_REVB: - case VIRTUA_FIGHTER_5_REVE: - case VIRTUA_FIGHTER_5_EXPORT: - case VIRTUA_FIGHTER_5_R: - case VIRTUA_FIGHTER_5_R_REVD: - case VIRTUA_FIGHTER_5_R_REVG: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: if (getConfig()->GPUVendor == ATI_GPU) { int err = glGetError(); @@ -1176,28 +676,14 @@ char *cgCreateProgram(uint32_t context, int program_type, const char *program, i return _cgCreateProgram(context, program_type, program, profile, entry, args); } - switch (gId) + if (gGrp == GROUP_ID4_EXP || gGrp == GROUP_ID4_JAP || gGrp == GROUP_ID5) { - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: if ((profile == 6148) || (profile == 6150) || profile == 7001) profile = 6150; else if ((profile == 6149) || (profile == 6151) || profile == 7000) profile = 7000; else printf("profile %d not supported\n", profile); - break; } const char *op6150[] = {"NumTemps=31", "MaxInstructions=1024", "MaxAddressRegs=1", "MaxLocalParams=256", NULL}; @@ -1224,23 +710,15 @@ char *cgCreateProgram(uint32_t context, int program_type, const char *program, i void gl_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB **const string, const GLint *length) { - switch (gId) + if(gGrp != GROUP_HUMMER && gId != SEGA_RACE_TV) { - case SEGA_RACE_TV: - case HUMMER: - case HUMMER_SDLX: - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: - break; - default: glShaderSourceARB(shaderObj, count, string, length); return; } char *newProgram = malloc(250000); - switch (gId) - { - case SEGA_RACE_TV: + + if(gId == SEGA_RACE_TV) { void *addr = __builtin_return_address(0); if (addr <= (void *)0x82fd823) @@ -1273,11 +751,7 @@ void gl_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** } } } - break; - case HUMMER: - case HUMMER_SDLX: - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: + else if (gGrp == GROUP_HUMMER) { void *addr = __builtin_return_address(0); if ((addr != (void *)0x830a501) && (addr != (void *)0x830a485) && (addr != (void *)0x08319841) && (addr != (void *)0x083197c5) && @@ -1291,8 +765,8 @@ void gl_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** return; } } - break; - default: + else + { glShaderSourceARB(shaderObj, count, string, length); return; } @@ -1321,7 +795,7 @@ void gl_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** void *gl_XGetProcAddressARB(const unsigned char *procName) { int dbgMsg = getConfig()->showDebugMessages; - if (gId != HUMMER && gId != HUMMER_SDLX && gId != HUMMER_EXTREME && gId != HUMMER_EXTREME_MDX) + if (gGrp != GROUP_HUMMER) { if (strcmp((const char *)procName, "glGenOcclusionQueriesNV") == 0) { @@ -1472,26 +946,13 @@ void glBindTexture(GLenum target, GLuint texture) { void (*_glBindTexture)(GLenum target, GLuint texture) = dlsym(RTLD_NEXT, "glBindTexture"); _glBindTexture(target, texture); - switch (gId) + + if(gGrp == GROUP_VF5) { - case VIRTUA_FIGHTER_5: - case VIRTUA_FIGHTER_5_REVA: - case VIRTUA_FIGHTER_5_REVB: - case VIRTUA_FIGHTER_5_REVE: - case VIRTUA_FIGHTER_5_EXPORT: - case VIRTUA_FIGHTER_5_R: - case VIRTUA_FIGHTER_5_R_REVD: - case VIRTUA_FIGHTER_5_R_REVG: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB: - case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB_6000: if (getConfig()->GPUVendor != NVIDIA_GPU) { glTexParameterf(target, GL_TEXTURE_LOD_BIAS, -10.0f); // Adjust LOD bias } - break; - default: - break; } } @@ -1690,10 +1151,14 @@ void cacheNnstdshader() { int s; FILE *f; - f = fopen("../fs/shader/nnstdshader.vert", "r"); + if(gId != QUIZ_AXA && gId != QUIZ_AXA_LIVE) + f = fopen("../fs/shader/nnstdshader.vert", "r"); + else + f = fopen("../../data/shader/nnstdshader.vert", "r"); + if (f == NULL) { - printf("Error opening nnstdshader.vert.\n"); + printf("Error opening nnstdshader.vert\n"); exit(1); } fseek(f, 0, SEEK_END); @@ -1704,10 +1169,14 @@ void cacheNnstdshader() fread(nnstdshader_vert, 1, s, f); fclose(f); - f = fopen("../fs/shader/nnstdshader.frag", "r"); + if (gId != QUIZ_AXA && gId != QUIZ_AXA_LIVE) + f = fopen("../fs/shader/nnstdshader.frag", "r"); + else + f = fopen("../../data/shader/nnstdshader.frag", "r"); + if (f == NULL) { - printf("Error opening nnstdshader.frag.\n"); + printf("Error opening nnstdshader.frag\n"); exit(1); } fseek(f, 0, SEEK_END); @@ -1762,399 +1231,6 @@ int compileWithCGC(char *command) return 0; } -int loadShader(char *path, char *buffer) -{ - int fd = open(path, O_RDONLY); - if (fd == -1) - { - printf("Error opening %s.\n", path); - exit(1); - } - int s = lseek(fd, 0, SEEK_END); - lseek(fd, 0, SEEK_SET); - read(fd, buffer, s); - close(fd); - buffer[s] = '\0'; - return s; -} - -int xdlt_load_mmfile(char const *path, mmfile_t *mf) -{ - int fd; - int pos = 0; - long size; - char *blk; - - if (xdl_init_mmfile(mf, XDLT_STD_BLKSIZE, XDL_MMF_ATOMIC) < 0) - { - exit(1); - } - if ((fd = open(path, O_RDONLY)) == -1) - { - perror(path); - xdl_free_mmfile(mf); - exit(1); - } - size = lseek(fd, 0, SEEK_END); - lseek(fd, pos, SEEK_SET); - blk = (char *)xdl_mmfile_writeallocate(mf, size); - if (blk == NULL) - { - xdl_free_mmfile(mf); - close(fd); - exit(1); - } - if (read(fd, blk, (size_t)size) != (size_t)size) - { - perror(path); - xdl_free_mmfile(mf); - close(fd); - exit(1); - } - close(fd); - - return 0; -} - -/** - * Functions used by libxdiff for memory handling - */ -static void *wrap_malloc(void *priv, unsigned int size) -{ - return malloc(size); -} - -static void wrap_free(void *priv, void *ptr) -{ - free(ptr); -} - -static void *wrap_realloc(void *priv, void *ptr, unsigned int size) -{ - - return realloc(ptr, size); -} - -int handle_patch(void *priv, mmbuffer_t *mb, int nbuf) -{ - mmfile_t *patch = (mmfile_t *)priv; - xdl_writem_mmfile(patch, mb, nbuf); - - return 0; -} - -/** - * We load a few shader files from disk, we patch them and cache them in an - * array to later feed them to game intercepting fopen, ftell and fread. - */ -void cacheModedShaderFiles() -{ - char cwd[256]; - char fullPath[512]; - char shaderBuffer[100000]; - char *newProgram; - ShaderFilesToMod *shaderFilesToMod; - int filesToModCount; - - memallocator_t malt; - malt.priv = NULL; - malt.malloc = wrap_malloc; - malt.free = wrap_free; - malt.realloc = wrap_realloc; - xdl_set_allocator(&malt); - mmfile_t patchedFile; - ShaderFilesToPatch *shaderFilesToPatch; - int shaderFilesToPatchCount; - char folderName[50]; - sprintf(folderName, "/../fs/shader/"); - - switch (gId) - { - case LETS_GO_JUNGLE: - case LETS_GO_JUNGLE_REVA: - case LETS_GO_JUNGLE_SPECIAL: - for (int x = 0; x < lgjFilesToModCount; x++) - { - getcwd(cwd, sizeof(cwd)); - sprintf(fullPath, "%s%s", cwd, lgjShaderFilesToMod[x].fileName); - loadShader(fullPath, shaderBuffer); - newProgram = replaceInBlock(shaderBuffer, attribsSet, attribsSetCount, "", ""); - newProgram = replaceInBlock(newProgram, lgjShaderReplaceSet1, lgjShaderReplaceCount1, "", ""); - - // Dirty hack to fix just 1 shader - if (x == 3) - { - newProgram = replaceInBlock(newProgram, lgjShaderReplaceSet2, lgjShaderReplaceCount2, "", ""); - } - - lgjShaderFilesToMod[x].shaderBufferSize = strlen(newProgram); - lgjShaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); - free(newProgram); - } - break; - case INITIALD_4_EXP_REVB: - case INITIALD_4_EXP_REVC: - case INITIALD_4_EXP_REVD: - case INITIALD_4_REVA: - case INITIALD_4_REVB: - case INITIALD_4_REVC: - case INITIALD_4_REVD: - case INITIALD_4_REVG: - case INITIALD_5_JAP_REVA: - case INITIALD_5_JAP_REVF: - case INITIALD_5_EXP: - case INITIALD_5_EXP_20: - case INITIALD_5_EXP_20A: - if (gId == INITIALD_4_REVA || gId == INITIALD_4_REVB || gId == INITIALD_4_REVC || gId == INITIALD_4_REVD || gId == INITIALD_4_REVG) - { - shaderFilesToMod = id4jShaderFilesToMod; - filesToModCount = id4FilesToModCount; - } - else - { - shaderFilesToMod = idShaderFilesToMod; - filesToModCount = idFilesToModCount; - } - for (int x = 0; x < filesToModCount; x++) - { - if (gId == INITIALD_5_JAP_REVA || gId == INITIALD_5_JAP_REVF || gId == INITIALD_5_EXP || gId == INITIALD_5_EXP_20 || - gId == INITIALD_5_EXP_20A) - { - char *fName = shaderFilesToMod[x].fileName; - shaderFilesToMod[x].fileName = replaceSubstring(fName, 0, strlen(fName), "Shader", "V5SHADER"); - } - getcwd(cwd, sizeof(cwd)); - sprintf(fullPath, "%s%s", cwd, shaderFilesToMod[x].fileName); - loadShader(fullPath, shaderBuffer); - if (strcmp(shaderFilesToMod[x].fileName, "/data/V5SHADER/effect_p.fx") == 0) - { - newProgram = replaceInBlock(shaderBuffer, id5ShaderReplaceSetForSmoke, id5ShaderReplaceSetForSmokeCount, "", ""); - } - else if (strcmp(shaderFilesToMod[x].fileName, "/data/Shader/effect_p.fx") == 0) - { - newProgram = strndup(shaderBuffer, strlen(shaderBuffer)); - } - else - { - newProgram = replaceInBlock(shaderBuffer, attribsSet, attribsSetCount, "struct\tVS_INPUT_P", ""); - newProgram = replaceInBlock(newProgram, attribsSet, attribsSetCount, "struct VS_INPUT", "struct VS_OUTPUT"); - newProgram = replaceInBlock(newProgram, idShaderReplaceSet, idShaderReplaceCount, "", ""); - } - shaderFilesToMod[x].shaderBufferSize = strlen(newProgram); - shaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); - free(newProgram); - } - break; - case VIRTUA_TENNIS_3: - case VIRTUA_TENNIS_3_TEST: - case VIRTUA_TENNIS_3_REVA: - case VIRTUA_TENNIS_3_REVA_TEST: - case VIRTUA_TENNIS_3_REVB: - case VIRTUA_TENNIS_3_REVB_TEST: - case VIRTUA_TENNIS_3_REVC: - case VIRTUA_TENNIS_3_REVC_TEST: - for (int x = 0; x < vt3FilesToModCount; x++) - { - getcwd(cwd, sizeof(cwd)); - sprintf(fullPath, "%s/..%s", cwd, vt3ShaderFilesToMod[x].fileName); - loadShader(fullPath, shaderBuffer); - newProgram = replaceInBlock(shaderBuffer, attribsSet, attribsSetCount, "struct\tVS_INPUT_P", ""); - newProgram = replaceInBlock(newProgram, vt3ShaderReplaceSet2, vt3ShaderReplaceCount2, "Out main(", ")"); - newProgram = replaceInBlock(newProgram, vt3ShaderReplaceSet1, vt3ShaderReplaceCount1, "", ""); - - vt3ShaderFilesToMod[x].shaderBufferSize = strlen(newProgram); - vt3ShaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); - free(newProgram); - } - break; - case HUMMER: - case HUMMER_SDLX: - case HUMMER_EXTREME: - case HUMMER_EXTREME_MDX: - for (int x = 0; x < hummerFilesToModCount; x++) - { - getcwd(cwd, sizeof(cwd)); - sprintf(fullPath, "%s%s", cwd, hummerShaderFilesToMod[x].fileName); - loadShader(fullPath, shaderBuffer); - newProgram = replaceInBlock(shaderBuffer, hummerShaderReplaceSet1, hummerShaderReplaceSet1Count, "", ""); - if (getConfig()->GPUVendor != NVIDIA_GPU) - { - newProgram = replaceInBlock(newProgram, hummerShaderReplaceMesa, hummerShaderReplaceMesaCount, "", ""); - } - if (getConfig()->hummerFlickerFix) - { - newProgram = replaceInBlock(newProgram, hummerShaderReplaceFlicker, hummerShaderReplaceFlickerCount, "", ""); - } - hummerShaderFilesToMod[x].shaderBufferSize = strlen(newProgram); - hummerShaderFilesToMod[x].shaderBuffer = strndup(newProgram, strlen(newProgram)); - free(newProgram); - } - break; - default: - switch (gId) - { - case TOO_SPICY: - shaderFilesToPatch = tooSpicyShaderPatches; - shaderFilesToPatchCount = tooSpicyShaderPatchesCount; - break; - case RAMBO: - if (getConfig()->GPUVendor != NVIDIA_GPU) - { - shaderFilesToPatch = ramboMesaShaderPatches; - shaderFilesToPatchCount = ramboMesaShaderPatchesCount; - } - else - { - shaderFilesToPatch = ramboNvidiaShaderPatches; - shaderFilesToPatchCount = ramboNvidiaShaderPatchesCount; - } - break; - case HARLEY_DAVIDSON: - shaderFilesToPatch = harleyShaderPatches; - shaderFilesToPatchCount = harleyShaderPatchesCount; - break; - case THE_HOUSE_OF_THE_DEAD_EX: - shaderFilesToPatch = hodexShaderPatches; - shaderFilesToPatchCount = hodexShaderPatchesCount; - break; - case THE_HOUSE_OF_THE_DEAD_4_REVA: - case THE_HOUSE_OF_THE_DEAD_4_REVB: - case THE_HOUSE_OF_THE_DEAD_4_REVC: - sprintf(folderName, "/../fs/dat/"); - shaderFilesToPatchCount = hod4ShaderPatchesCount; - shaderFilesToPatch = hod4ShaderPatches; - break; - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL: - case THE_HOUSE_OF_THE_DEAD_4_SPECIAL_REVB: - sprintf(folderName, "/../fs/dat/"); - shaderFilesToPatchCount = hod4spShaderPatchesCount; - shaderFilesToPatch = hod4spShaderPatches; - break; - case PRIMEVAL_HUNT: - sprintf(folderName, "/../data/nnstdshader/"); - shaderFilesToPatchCount = phShaderPatchesCount; - shaderFilesToPatch = phShaderPatches; - break; - case GHOST_SQUAD_EVOLUTION: - shaderFilesToPatchCount = gsevoShaderPatchesCount; - sprintf(folderName, "/%s", ""); - if (getConfig()->GPUVendor != NVIDIA_GPU) - { - shaderFilesToPatch = gsevoMesaShaderPatches; - } - else - { - shaderFilesToPatch = gsevoNvidiaShaderPatches; - } - break; - } - - for (int x = 0; x < shaderFilesToPatchCount; x++) - { - mmfile_t oriFile, patch; - xdemitcb_t ecb, rjecb; - getcwd(cwd, sizeof(cwd)); - sprintf(fullPath, "%s%s%s", cwd, folderName, shaderFilesToPatch[x].fileName); - if (xdlt_load_mmfile(fullPath, &oriFile) != 0) - { - printf("Error reading oriFile.\n"); - exit(1); - return; - } - - if (xdl_init_mmfile(&patchedFile, XDLT_STD_BLKSIZE, XDL_MMF_ATOMIC) < 0) - { - printf("Error Initializong patchedFile.\n"); - exit(1); - return; - } - xdl_free_mmfile(&patchedFile); - - if (xdl_init_mmfile(&patch, XDLT_STD_BLKSIZE, XDL_MMF_ATOMIC) < 0) - { - printf("Error Initializong patch.\n"); - exit(1); - return; - } - xdl_free_mmfile(&patch); - - xdl_write_mmfile(&patch, shaderFilesToPatch[x].patchBuffer, shaderFilesToPatch[x].patchBufferSize); - - ecb.priv = &patchedFile; - ecb.outf = handle_patch; - if (xdl_bpatch(&oriFile, &patch, &ecb)) - { - printf("Error patching shaders, are you sure your files are original?\n"); - } - else - { - char *buff = malloc(patchedFile.fsize + 1); - xdl_seek_mmfile(&patchedFile, 0); - xdl_read_mmfile(&patchedFile, buff, patchedFile.fsize); - - shaderFilesToPatch[x].shaderBufferSize = patchedFile.fsize; - shaderFilesToPatch[x].shaderBuffer = malloc(patchedFile.fsize); - memcpy((void *)shaderFilesToPatch[x].shaderBuffer, buff, patchedFile.fsize); - free(buff); - } - } - } - if (getConfig()->showDebugMessages) - { - printf("Modded Shaders cached.\n"); - } - cachedShaderFilesLoaded = true; -} - -void *vt3_open(void *fb, const char *s, int mode) -{ - bool (*_vt3_open)(void *, const char *, int) = dlsym(RTLD_NEXT, "_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode"); - - if (shaderFileInList(s, &shaderIDX)) - { - fdHook = true; - return (void *)_vt3_open((void *)fb, s, mode); - } - return (void *)_vt3_open((void *)fb, s, mode); -} - -int vt3_close(void *fb) -{ - bool (*_vt3_close)(void *) = dlsym(RTLD_NEXT, "_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv"); - - if (fdHook) - { - fdHook = false; - shaderIDX = 0; - } - - return _vt3_close((void *)fb); -} - -u_int32_t *vt3_tellg(u_int32_t *size, void *is) -{ - u_int32_t *(*_vt3_tellg)(void *, void *) = dlsym(RTLD_NEXT, "_ZNSi5tellgEv"); - - if (fdHook) - { - *(int *)(size) = ftellGetShaderSize(shaderIDX); - return size; - } - - return _vt3_tellg(size, is); -} - -void *vt3_read(void *is, char *s, long long n) -{ - void *(*_vt3_read)(void *is, char *s, long long n) = dlsym(RTLD_NEXT, "_ZNSi4readEPci"); - if (fdHook) - { - freadReplace(s, n, 1, shaderIDX); - return is; - } - return _vt3_read(is, s, n); -} - bool vf5PatchStage() { bool patch = false; diff --git a/src/lindbergh/shader_patches.h b/src/lindbergh/shaderPatches.h similarity index 61% rename from src/lindbergh/shader_patches.h rename to src/lindbergh/shaderPatches.h index 25dc81c..e6c9fb7 100644 --- a/src/lindbergh/shader_patches.h +++ b/src/lindbergh/shaderPatches.h @@ -1,21 +1,20 @@ +#pragma once +#include +#include #include #include #include #include +typedef struct +{ + const char *search; + const char *replacement; +} SearchReplace; + void gsEvoElfShaderPatcher(); void gl_ProgramStringARB(int vertex_prg, int program_fmt, int program_len, char *program); void gl_ShaderSourceARB(u_int32_t shaderObj, int count, const char **const string, const int *length); -#ifdef __cplusplus -extern "C" -{ -#endif - bool shaderFileInList(const char *pathname, int *idx); - size_t freadReplace(void *buf, size_t size, size_t count, int idx); - long int ftellGetShaderSize(int idx); -#ifdef __cplusplus -} -#endif void *gl_XGetProcAddressARB(const unsigned char *procName); void gl_MultiTexCoord2fARB(u_int32_t target, float s, float t); void gl_Color4ub(u_char red, u_char green, u_char blue, u_char alpha); @@ -27,26 +26,18 @@ void gl_ProgramParameters4fvNV(u_int32_t target, u_int32_t index, int32_t count, void cacheModedShaderFiles(); void srtvElfShaderPatcher(); void gl_BindProgramNV(u_int32_t target, u_int32_t id); -void gl_LoadProgramNV(u_int32_t target, u_int32_t program, int len, const u_int8_t *string); +void gl_LoadProgramNV(GLenum target, GLuint program, GLsizei len, char *string); void gl_DeleteProgramsNV(int n, const u_int32_t *programs); void gl_EndOcclusionQueryNV(void); void gl_BeginOcclusionQueryNV(u_int32_t id); -u_int32_t Gl_VertexShader_createFromAsmFile(char *filename); -u_int32_t Gl_FragmentShader_createShaderFromFile(char *filename); -void gl_TexImage2DOR(u_int32_t target, int level, int internalformat, int width, int height, int border, - u_int32_t format, u_int32_t type, const void *pixels); -void gl_InitWindowSizeOR(int width, int height); void glut_GameModeStringOR(const char *string); -char *replaceSubstring(const char *buffer, int start, int end, const char *search, const char *replace); int compileWithCGC(char *command); void loadLibCg(); void cacheNnstdshader(); -void *vt3_open(void *fb, const char *s, int mode); -int vt3_close(void *fb); -u_int32_t *vt3_tellg(u_int32_t *size, void *is); -void *vt3_read(void *is, char *s, long long n); void vf5SetExposure(int var, float exposure); void vf5SetIntensity(int var, float *intensity); void vf5GetIdStart(void *iostream, int *idStart); void vf5SetDiffuse(int var, float r, float g, float b, float a); -void hookVf5FSExposure(uint32_t expAddr, uint32_t intAddr, uint32_t idStartAddr, uint32_t difAddr); \ No newline at end of file +void hookVf5FSExposure(uint32_t expAddr, uint32_t intAddr, uint32_t idStartAddr, uint32_t difAddr); +char *replaceInBlock(char *source, SearchReplace *searchReplace, int searchReplaceCount, char *startSearch, char *endSearch); +char *replaceSubstring(const char *buffer, int start, int end, const char *search, const char *replace); \ No newline at end of file diff --git a/src/lindbergh/shaderWork/2spicy.c b/src/lindbergh/shaderWork/2spicy.c new file mode 100644 index 0000000..0a8644f --- /dev/null +++ b/src/lindbergh/shaderWork/2spicy.c @@ -0,0 +1,480 @@ +#include "common.h" + +// File: average.frag +const char toospicyFileName_0[] = "average.frag"; +const size_t toospicyPatchSize_0 = 271; +const unsigned char toospicyPatchBuffer_0[] = { + 0xe4, 0x97, 0xac, 0x3a, 0x18, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x2b, + 0x76, 0x65, 0x63, 0x34, 0x20, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x3b, 0x09, + 0x0d, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x02, 0x69, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x14, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x02, 0xac, + 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x3f, 0x01, 0x00, 0x00, 0x2d, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x6c, 0x01, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0x4f, 0x09, 0x09, 0x63, + 0x72, 0x64, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x20, 0x2b, + 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x64, 0x78, 0x29, 0x20, 0x2f, 0x20, 0x31, 0x32, 0x38, 0x2e, 0x30, + 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2b, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x64, 0x79, 0x29, + 0x02, 0x8d, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x2a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x53, 0x69, + 0x7a, 0x65, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x63, 0x29, 0x02, 0xeb, 0x01, 0x00, + 0x00, 0x2d, 0x00, 0x00, 0x00}; + +// File: average.vert +const char toospicyFileName_1[] = "average.vert"; +const size_t toospicyPatchSize_1 = 82; +const unsigned char toospicyPatchBuffer_1[] = { + 0x07, 0x35, 0xa3, 0xe1, 0xa8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x01, 0x15, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, + 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x02, 0x1b, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0x5b, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x09, 0x74, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x3d, 0x02, 0x6d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00}; + +// File: DoF.frag +const char toospicyFileName_2[] = "DoF.frag"; +const size_t toospicyPatchSize_2 = 92; +const unsigned char toospicyPatchBuffer_2[] = { + 0xf6, 0xbf, 0xe4, 0x98, 0xd4, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00, 0x01, 0x06, + 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x02, 0x22, 0x02, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x28, 0x02, 0xe3, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x03, 0x2e, 0x30, 0x29, 0x02, + 0x05, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x02, 0x6b, 0x03, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x02, 0xb9, + 0x03, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x02, 0xe2, 0x04, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00}; + +// File: GaussH.frag +const char toospicyFileName_3[] = "GaussH.frag"; +const size_t toospicyPatchSize_3 = 241; +const unsigned char toospicyPatchBuffer_3[] = { + 0xae, 0x80, 0x41, 0x90, 0xa9, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x61, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x3b, 0x0d, 0x0a, 0x75, + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x38, + 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x48, 0x45, + 0x49, 0x47, 0x48, 0x54, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x02, 0x9c, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x01, 0x22, 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, + 0x6f, 0x6c, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, + 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, 0xd4, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x2e, 0x02, 0x71, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x39, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x63, 0x6f, 0x6c, + 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x3d, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x7d}; + +// File: GaussH.vert +const char toospicyFileName_4[] = "GaussH.vert"; +const size_t toospicyPatchSize_4 = 53; +const unsigned char toospicyPatchBuffer_4[] = { + 0xc1, 0x77, 0x6f, 0x38, 0x53, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x01, 0x00, 0x00, 0x01, + 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x69, 0x29, 0x2b, 0x30, 0x2e, 0x35, 0x29, 0x2a, 0x57, 0x49, 0x44, + 0x54, 0x48, 0x2c, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x7d}; + +// File: GaussH_Depth.frag +const char toospicyFileName_5[] = "GaussH_Depth.frag"; +const size_t toospicyPatchSize_5 = 495; +const unsigned char toospicyPatchBuffer_5[] = { + 0x80, 0x58, 0x2b, 0x1c, 0x71, 0x04, 0x00, 0x00, 0x01, 0x52, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, + 0x61, 0x6c, 0x66, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x09, 0x76, 0x65, 0x63, 0x32, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x76, 0x65, 0x63, 0x33, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x09, 0x76, 0x65, 0x63, 0x34, 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0xba, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x47, 0x61, 0x6d, 0x65, + 0x44, 0x65, 0x70, 0x74, 0x68, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x52, 0x61, 0x79, 0x44, 0x65, 0x70, + 0x74, 0x68, 0x3b, 0x0d, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x54, + 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x5b, 0x38, 0x5d, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x3b, 0x0d, + 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, + 0x48, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x02, 0xd7, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x01, 0x19, 0x20, 0x76, 0x65, 0x63, + 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, + 0x30, 0x29, 0x02, 0x0e, 0x01, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0x02, 0xb8, 0x01, 0x00, 0x00, 0x27, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xdf, 0x01, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x0b, 0x02, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0x32, 0x02, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x01, 0x06, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x02, 0x29, 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x01, 0x03, 0x2e, 0x30, + 0x29, 0x02, 0xf6, 0x02, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x02, + 0x0c, 0x03, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x03, 0x2e, 0x30, 0x29, 0x02, 0x30, 0x03, 0x00, 0x00, 0xbc, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0xeb, 0x03, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x01, 0x18, 0x76, 0x65, + 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, + 0x2e, 0x30, 0x29, 0x02, 0x47, 0x04, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, + 0x0a}; + +// File: GaussH_Depth.vert +const char toospicyFileName_6[] = "GaussH_Depth.vert"; +const size_t toospicyPatchSize_6 = 53; +const unsigned char toospicyPatchBuffer_6[] = { + 0xc1, 0x77, 0x6f, 0x38, 0x53, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x01, 0x00, 0x00, 0x01, + 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x69, 0x29, 0x2b, 0x30, 0x2e, 0x35, 0x29, 0x2a, 0x57, 0x49, 0x44, + 0x54, 0x48, 0x2c, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x7d}; + +// File: GaussV.frag +const char toospicyFileName_7[] = "GaussV.frag"; +const size_t toospicyPatchSize_7 = 281; +const unsigned char toospicyPatchBuffer_7[] = { + 0x47, 0x81, 0xa3, 0x96, 0xad, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x01, 0x6a, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x47, 0x61, 0x75, 0x73, 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5b, 0x38, + 0x5d, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x48, + 0x45, 0x49, 0x47, 0x48, 0x54, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0xa7, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, + 0x00, 0x01, 0x22, 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, + 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, + 0xd4, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x01, 0x64, 0x2e, 0x30, 0x2c, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, + 0x38, 0x29, 0x29, 0x2a, 0x47, 0x61, 0x75, 0x73, 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5b, 0x37, 0x2d, 0x69, + 0x5d, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x63, 0x6f, 0x6c, + 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x3d, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: GaussV.vert +const char toospicyFileName_8[] = "GaussV.vert"; +const size_t toospicyPatchSize_8 = 40; +const unsigned char toospicyPatchBuffer_8[] = {0x73, 0x83, 0x54, 0x8f, 0x81, 0x01, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x65, 0x01, 0x00, 0x00, 0x01, 0x0c, 0x2e, + 0x30, 0x2c, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x69, + 0x29, 0x02, 0x68, 0x01, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00}; + +// File: GetBrightArea.frag +const char toospicyFileName_9[] = "GetBrightArea.frag"; +const size_t toospicyPatchSize_9 = 63; +const unsigned char toospicyPatchBuffer_9[] = { + 0x32, 0x1e, 0x86, 0xd8, 0x17, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x02, 0x1a, 0x02, 0x00, 0x00, 0xfd, 0x01, 0x00, 0x00, 0x01, 0x02, 0x0d, 0x0a}; + +// File: GlareCompose.frag +const char toospicyFileName_10[] = "GlareCompose.frag"; +const size_t toospicyPatchSize_10 = 482; +const unsigned char toospicyPatchBuffer_10[] = { + 0x3d, 0xef, 0xd1, 0x18, 0x06, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0x1a, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x6c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x72, 0x32, 0x44, 0x20, 0x42, 0x61, 0x73, 0x65, 0x54, 0x6f, 0x6e, 0x65, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x50, 0x69, + 0x63, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x50, + 0x6f, 0x77, 0x65, 0x72, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x5b, 0x35, 0x5d, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, + 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, 0x0d, 0x0a, 0x7b, 0x0d, + 0x0a, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x02, 0x27, 0x01, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0x53, 0x01, + 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x03, 0x19, 0x01, 0x00, 0x00, 0x23, 0x69, 0x66, 0x20, 0x31, 0x20, 0x2f, 0x2f, + 0x92, 0xc7, 0x89, 0xc1, 0x81, 0x40, 0x68, 0x61, 0x72, 0x61, 0x68, 0x0d, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x34, 0x09, + 0x42, 0x54, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x32, 0x44, 0x28, 0x42, 0x61, 0x73, 0x65, 0x54, 0x6f, 0x6e, 0x65, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x50, 0x69, + 0x63, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x5b, 0x30, 0x5d, 0x29, 0x2a, 0x31, 0x2e, 0x37, 0x35, + 0x3b, 0x0d, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x34, 0x09, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x3b, 0x0d, + 0x0a, 0x09, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x72, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, + 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x2c, 0x42, 0x54, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x2e, 0x72, 0x29, + 0x3b, 0x0d, 0x0a, 0x09, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x67, 0x20, 0x3d, 0x20, 0x6d, 0x61, + 0x78, 0x28, 0x63, 0x6f, 0x6c, 0x2e, 0x67, 0x2c, 0x42, 0x54, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x2e, + 0x67, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x62, 0x20, 0x3d, 0x20, + 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6c, 0x2e, 0x62, 0x2c, 0x42, 0x54, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x6f, + 0x6c, 0x2e, 0x62, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x62, 0x6c, + 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x20, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x3b, + 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x30, 0x02, 0xca, 0x01, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0x01, 0x1b, 0x20, + 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x3d, 0x31, 0x2e, + 0x30, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: gradate.frag +const char toospicyFileName_11[] = "gradate.frag"; +const size_t toospicyPatchSize_11 = 101; +const unsigned char toospicyPatchBuffer_11[] = { + 0xa4, 0x99, 0x62, 0x6c, 0x21, 0x02, 0x00, 0x00, 0x01, 0x52, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x20, 0x68, 0x61, 0x6c, 0x66, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x09, 0x76, 0x65, 0x63, 0x32, 0x0d, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x76, 0x65, 0x63, 0x33, + 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x09, 0x76, + 0x65, 0x63, 0x34, 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02, 0x00, 0x00}; + +// File: intensitytest.frag +const char toospicyFileName_12[] = "intensitytest.frag"; +const size_t toospicyPatchSize_12 = 47; +const unsigned char toospicyPatchBuffer_12[] = {0x2c, 0xe4, 0xe3, 0x09, 0x56, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0xfe, 0x01, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x02, 0x02, 0x02, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x76, + 0x65, 0x63, 0x02, 0x35, 0x02, 0x00, 0x00, 0x21, 0x01, 0x00, 0x00}; + +// File: Laplacian.frag +const char toospicyFileName_13[] = "Laplacian.frag"; +const size_t toospicyPatchSize_13 = 152; +const unsigned char toospicyPatchBuffer_13[] = { + 0x27, 0xee, 0x97, 0x8c, 0x91, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, + 0x00, 0x65, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0x35, 0x02, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x2e, 0x30, 0x02, 0xba, 0x02, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x76, 0x65, 0x63, 0x33, 0x28, + 0x6c, 0x61, 0x70, 0x29, 0x2c, 0x76, 0x65, 0x63, 0x33, 0x02, 0xff, 0x02, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, + 0x0e, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x02, 0x2f, 0x03, 0x00, + 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, 0x31, + 0x2e, 0x30, 0x02, 0x56, 0x03, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: Monochrome.frag +const char toospicyFileName_14[] = "Monochrome.frag"; +const size_t toospicyPatchSize_14 = 330; +const unsigned char toospicyPatchBuffer_14[] = { + 0x60, 0xe0, 0xef, 0x32, 0x33, 0x03, 0x00, 0x00, 0x01, 0x66, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x09, 0x4d, + 0x4f, 0x44, 0x45, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x09, 0x30, + 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x09, 0x4d, 0x4f, 0x4e, 0x4f, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, + 0x3d, 0x3d, 0x30, 0x29, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x53, 0x45, 0x50, 0x49, 0x41, + 0x09, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, 0x3d, 0x31, 0x29, 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x01, 0x3f, 0x68, 0x61, 0x6c, + 0x66, 0x34, 0x20, 0x6d, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, 0x6c, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, + 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x02, 0x91, 0x02, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x23, + 0x69, 0x66, 0x09, 0x53, 0x45, 0x50, 0x49, 0x41, 0x0d, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, + 0x72, 0x67, 0x62, 0x2a, 0x3d, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x36, 0x2c, + 0x30, 0x2e, 0x33, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x09, 0x2f, 0x2a, 0x09, 0x53, 0x45, + 0x50, 0x49, 0x41, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x61, 0x3d, + 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x02, 0xed, 0x02, 0x00, 0x00, 0x29, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x7d, 0x0d, 0x0a}; + +// File: Monochrome.vert +const char toospicyFileName_15[] = "Monochrome.vert"; +const size_t toospicyPatchSize_15 = 121; +const unsigned char toospicyPatchBuffer_15[] = { + 0x78, 0x26, 0x8a, 0x51, 0x79, 0x00, 0x00, 0x00, 0x01, 0x66, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x09, + 0x4d, 0x4f, 0x44, 0x45, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x44, 0x45, + 0x09, 0x30, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x4e, 0x4f, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x09, 0x09, 0x09, 0x28, + 0x4d, 0x4f, 0x44, 0x45, 0x3d, 0x3d, 0x30, 0x29, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, + 0x53, 0x45, 0x50, 0x49, 0x41, 0x09, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, 0x3d, 0x31, 0x29, + 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00}; + +// File: nnstdshader.vert +const char toospicyFileName_16[] = "nnstdshader.vert"; +const size_t toospicyPatchSize_16 = 652; +const unsigned char toospicyPatchBuffer_16[] = { + 0x39, 0x15, 0xd4, 0xa8, 0x53, 0x16, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x9d, 0x01, 0x01, 0x00, 0x02, 0xaa, + 0x01, 0x01, 0x00, 0x27, 0x00, 0x00, 0x00, 0x01, 0x04, 0x69, 0x66, 0x20, 0x28, 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, + 0x00, 0x00, 0x00, 0x01, 0x39, 0x3e, 0x20, 0x30, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x09, + 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, + 0x68, 0x74, 0x28, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x09, 0x23, 0x69, 0x66, 0x02, 0xf2, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x20, 0x3e, 0x20, + 0x31, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x00, 0x01, 0x39, 0x3e, 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x09, 0x6e, + 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, 0x68, + 0x74, 0x28, 0x31, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x09, 0x23, 0x69, 0x66, 0x02, 0xf2, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x20, 0x3e, 0x20, 0x32, + 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, 0x00, 0x00, + 0x00, 0x01, 0x39, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x09, 0x6e, 0x6e, + 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, + 0x28, 0x32, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, + 0x23, 0x69, 0x66, 0x02, 0xf2, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x20, 0x3e, 0x20, 0x33, 0x0d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x01, 0x6c, 0x3e, 0x20, 0x33, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x09, 0x6e, 0x6e, 0x67, + 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x28, + 0x33, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, + 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x02, 0x3a, 0x37, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x21, 0x20, 0x20, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, 0x6e, 0x6e, 0x67, + 0x6c, 0x75, 0x4e, 0x75, 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3e, 0x20, 0x30, + 0x29, 0x20, 0x02, 0xd2, 0x02, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x0a, 0x34, 0x29, 0x3b, 0x0d, 0x0a, 0x09, + 0x7d, 0x0d, 0x0a, 0x09, 0x02, 0x3a, 0x37, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x23, 0x20, 0x3e, 0x20, 0x31, + 0x0d, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x75, 0x4e, 0x75, 0x6d, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3e, 0x20, 0x31, 0x29, 0x20, 0x02, 0xd2, 0x02, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x00, 0x01, 0x09, 0x35, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x7d, 0x0d, 0x0a, 0x02, 0x54, 0xc9, 0x00, 0x00, 0x15, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x23, 0x69, 0x66, 0x02, 0xef, 0x38, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x01, 0x36, + 0x0d, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x75, 0x4e, 0x75, 0x6d, 0x53, 0x70, 0x6f, 0x74, + 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3e, 0x20, 0x30, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x09, 0x09, 0x6e, 0x6e, 0x67, + 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x28, 0x36, 0x02, 0xb0, 0x03, + 0x01, 0x00, 0xa3, 0x12, 0x00, 0x00}; + +// File: Posterization.frag +const char toospicyFileName_17[] = "Posterization.frag"; +const size_t toospicyPatchSize_17 = 59; +const unsigned char toospicyPatchBuffer_17[] = {0xc1, 0xb7, 0x73, 0x37, 0xa9, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, + 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, + 0x01, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x02, 0x1a, 0x02, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00}; + +// File: Sepia.frag +const char toospicyFileName_18[] = "Sepia.frag"; +const size_t toospicyPatchSize_18 = 320; +const unsigned char toospicyPatchBuffer_18[] = { + 0xe5, 0x2e, 0xad, 0xed, 0xa1, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x22, 0x2f, 0x2f, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x02, 0xf2, 0x01, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, + 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x52, 0x61, 0x74, 0x65, 0x3b, 0x02, 0x44, 0x02, 0x00, 0x00, 0x18, 0x00, + 0x00, 0x00, 0x01, 0xdd, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x63, + 0x6f, 0x6c, 0x3d, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x4f, 0x72, 0x69, 0x67, 0x50, 0x69, + 0x63, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, + 0x61, 0x6c, 0x66, 0x34, 0x20, 0x73, 0x65, 0x70, 0x69, 0x61, 0x63, 0x6f, 0x6c, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x73, 0x65, 0x70, 0x69, 0x61, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x64, 0x6f, 0x74, 0x28, 0x6f, + 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x2c, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x30, 0x2e, + 0x32, 0x39, 0x39, 0x2c, 0x30, 0x2e, 0x35, 0x38, 0x37, 0x2c, 0x30, 0x2e, 0x31, 0x34, 0x34, 0x29, 0x29, 0x2a, 0x68, + 0x61, 0x6c, 0x66, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x36, 0x2c, 0x30, 0x2e, 0x33, 0x29, 0x3b, 0x0d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x70, 0x69, 0x61, 0x63, 0x6f, 0x6c, 0x2e, 0x61, 0x3d, 0x31, 0x2e, 0x30, + 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x3d, 0x6d, 0x69, 0x78, 0x28, 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x2c, 0x73, 0x65, 0x70, 0x69, + 0x61, 0x63, 0x6f, 0x6c, 0x2c, 0x52, 0x61, 0x74, 0x65, 0x29, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: Sepia.vert +const char toospicyFileName_19[] = "Sepia.vert"; +const size_t toospicyPatchSize_19 = 68; +const unsigned char toospicyPatchBuffer_19[] = { + 0xd1, 0x30, 0x7b, 0xf2, 0x9a, 0x00, 0x00, 0x00, 0x01, 0x31, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0d, 0x0a, + 0x0d, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, + 0x0d, 0x0a, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x02, 0x52, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00}; + +// File: Solarization.frag +const char toospicyFileName_20[] = "Solarization.frag"; +const size_t toospicyPatchSize_20 = 98; +const unsigned char toospicyPatchBuffer_20[] = { + 0x90, 0xdb, 0xc4, 0x2d, 0x22, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, + 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, + 0x02, 0xd0, 0x01, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, + 0x1a, 0x02, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xa5, 0x02, 0x00, 0x00, + 0x2c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xd1, 0x02, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x2e, 0x30, 0x02, 0xfd, 0x02, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00}; + +// File: Test0.frag +const char toospicyFileName_21[] = "Test0.frag"; +const size_t toospicyPatchSize_21 = 907; +const unsigned char toospicyPatchBuffer_21[] = { + 0x82, 0x87, 0xe9, 0xd6, 0x17, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x01, 0x77, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x45, 0x64, 0x67, 0x65, 0x52, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x45, 0x64, 0x67, 0x65, 0x47, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x45, 0x64, 0x67, 0x65, 0x42, 0x3b, 0x0d, + 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x20, 0x57, 0x69, 0x64, 0x74, 0x68, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0xd3, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x01, 0x5e, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, + 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, + 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x46, 0x72, + 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x3d, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x44, 0x65, 0x70, + 0x74, 0x68, 0x2a, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x29, 0x2f, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x02, 0x6d, 0x01, 0x00, + 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x53, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, + 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x67, 0x3d, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x44, 0x65, 0x70, 0x74, + 0x68, 0x2a, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x29, 0x2f, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x44, + 0x65, 0x70, 0x74, 0x68, 0x2d, 0x3d, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x67, 0x3b, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2a, 0x3d, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x02, 0xdf, 0x01, 0x00, 0x00, + 0x2f, 0x00, 0x00, 0x00, 0x01, 0x31, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x09, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x43, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3b, 0x0d, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x34, 0x5d, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x76, 0x65, 0x63, 0x02, 0x3f, + 0x02, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x03, 0x4e, 0x01, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x29, 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x30, 0x5d, 0x20, 0x3d, + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, + 0x68, 0x2c, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2d, 0x32, + 0x2e, 0x30, 0x2f, 0x57, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, + 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, + 0x2c, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2b, 0x32, 0x2e, + 0x30, 0x2f, 0x57, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x29, + 0x29, 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, + 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2c, 0x74, 0x65, 0x78, + 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x2d, 0x32, 0x2e, 0x30, 0x2f, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x29, + 0x29, 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, + 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2c, 0x74, 0x65, 0x78, + 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x2b, 0x32, 0x2e, 0x30, 0x2f, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x29, + 0x29, 0x2e, 0x72, 0x3b, 0x02, 0xd3, 0x03, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0xf2, 0x03, + 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x01, 0x6e, 0x20, 0x28, 0x65, 0x64, 0x67, 0x65, 0x20, 0x21, 0x3d, 0x20, 0x30, + 0x29, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x76, + 0x65, 0x63, 0x33, 0x28, 0x45, 0x64, 0x67, 0x65, 0x52, 0x2c, 0x45, 0x64, 0x67, 0x65, 0x47, 0x2c, 0x45, 0x64, 0x67, + 0x65, 0x42, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x20, 0x3d, + 0x20, 0x31, 0x2e, 0x30, 0x02, 0x9d, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x01, 0x12, 0x3b, 0x0d, 0x0a, 0x09, + 0x7d, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: Test1.frag +const char toospicyFileName_22[] = "Test1.frag"; +const size_t toospicyPatchSize_22 = 544; +const unsigned char toospicyPatchBuffer_22[] = { + 0xde, 0x48, 0xcd, 0x78, 0x13, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x01, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0x5a, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, + 0x8e, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xcf, 0x01, 0x00, 0x00, 0x82, 0x00, + 0x00, 0x00, 0x01, 0x90, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x58, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x59, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x52, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x52, 0x32, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x46, 0x6c, 0x61, 0x74, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x32, 0x3b, + 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0xd9, 0x02, 0x00, + 0x00, 0xce, 0x01, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0xa6, 0x04, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x01, 0x4b, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6e, 0x65, 0x77, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x3d, 0x30, 0x2e, 0x30, 0x3b, 0x0d, + 0x0a, 0x09, 0x09, 0x69, 0x66, 0x28, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x20, 0x3e, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x7b, + 0x0d, 0x0a, 0x09, 0x09, 0x20, 0x20, 0x6e, 0x2e, 0x78, 0x20, 0x2a, 0x3d, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x3b, 0x0d, + 0x0a, 0x09, 0x09, 0x09, 0x6e, 0x65, 0x77, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x20, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x02, + 0x33, 0x05, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x01, 0x23, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x65, 0x79, + 0x65, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x65, 0x79, 0x65, 0x2e, 0x7a, + 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x02, 0x89, 0x05, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x01, 0x03, 0x6e, + 0x65, 0x77, 0x02, 0xb0, 0x05, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x01, 0x25, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0d, 0x0a, + 0x20, 0x20, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x02, 0x48, 0x06, 0x00, 0x00, 0x26, 0x00, + 0x00, 0x00, 0x01, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x02, 0x6f, 0x06, 0x00, 0x00, 0x47, + 0x00, 0x00, 0x00, 0x01, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x02, 0xb7, 0x06, 0x00, 0x00, + 0xbf, 0x00, 0x00, 0x00, 0x01, 0x2d, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x02, 0x7f, 0x07, 0x00, 0x00, 0x1e, + 0x00, 0x00, 0x00, 0x01, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x32, 0x02, 0xa5, 0x07, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00}; + +// File: YUVCompose.frag +const char toospicyFileName_23[] = "YUVCompose.frag"; +const size_t toospicyPatchSize_23 = 507; +const unsigned char toospicyPatchBuffer_23[] = { + 0xee, 0x1d, 0x3d, 0x9c, 0x54, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x49, 0x2f, 0x2f, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x59, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x3b, + 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x02, 0x07, 0x02, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x01, 0x25, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, + 0x20, 0x43, 0x62, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x09, + 0x30, 0x02, 0x33, 0x02, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xba, 0x02, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x01, 0x7a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x6d, 0x61, 0x74, 0x33, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, 0x32, 0x52, 0x47, 0x42, 0x4d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x0d, 0x0a, 0x28, 0x20, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x20, + 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x30, + 0x2e, 0x30, 0x2c, 0x2d, 0x30, 0x2e, 0x33, 0x39, 0x32, 0x2c, 0x32, 0x2e, 0x30, 0x31, 0x37, 0x2c, 0x0d, 0x0a, 0x20, + 0x20, 0x31, 0x2e, 0x35, 0x39, 0x36, 0x2c, 0x2d, 0x30, 0x2e, 0x38, 0x31, 0x33, 0x2c, 0x20, 0x20, 0x30, 0x2e, 0x30, + 0x0d, 0x0a, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x02, 0x28, 0x03, 0x00, 0x00, + 0xde, 0x00, 0x00, 0x00, 0x01, 0x2e, 0x23, 0x69, 0x66, 0x09, 0x30, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x59, 0x43, 0x62, + 0x43, 0x72, 0x41, 0x2d, 0x3d, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x31, 0x36, 0x2e, 0x30, 0x2f, 0x32, 0x35, 0x35, + 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x35, 0x2c, 0x30, 0x2e, 0x35, 0x2c, 0x30, 0x29, 0x3b, 0x02, 0x2d, 0x04, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x01, 0x8c, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x59, 0x43, 0x62, + 0x43, 0x72, 0x41, 0x2e, 0x72, 0x67, 0x62, 0x2d, 0x3d, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x31, 0x36, 0x2e, 0x30, + 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x35, 0x2c, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x0d, 0x0a, 0x20, + 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, + 0x3d, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, 0x32, 0x52, 0x47, 0x42, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x2a, + 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, 0x41, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, + 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +ShaderFilesToPatch tooSpicyShaderPatches[] = { + {toospicyFileName_0, toospicyPatchSize_0, toospicyPatchBuffer_0, 0, ""}, + {toospicyFileName_1, toospicyPatchSize_1, toospicyPatchBuffer_1, 0, ""}, + {toospicyFileName_2, toospicyPatchSize_2, toospicyPatchBuffer_2, 0, ""}, + {toospicyFileName_3, toospicyPatchSize_3, toospicyPatchBuffer_3, 0, ""}, + {toospicyFileName_4, toospicyPatchSize_4, toospicyPatchBuffer_4, 0, ""}, + {toospicyFileName_5, toospicyPatchSize_5, toospicyPatchBuffer_5, 0, ""}, + {toospicyFileName_6, toospicyPatchSize_6, toospicyPatchBuffer_6, 0, ""}, + {toospicyFileName_7, toospicyPatchSize_7, toospicyPatchBuffer_7, 0, ""}, + {toospicyFileName_8, toospicyPatchSize_8, toospicyPatchBuffer_8, 0, ""}, + {toospicyFileName_9, toospicyPatchSize_9, toospicyPatchBuffer_9, 0, ""}, + {toospicyFileName_10, toospicyPatchSize_10, toospicyPatchBuffer_10, 0, ""}, + {toospicyFileName_11, toospicyPatchSize_11, toospicyPatchBuffer_11, 0, ""}, + {toospicyFileName_12, toospicyPatchSize_12, toospicyPatchBuffer_12, 0, ""}, + {toospicyFileName_13, toospicyPatchSize_13, toospicyPatchBuffer_13, 0, ""}, + {toospicyFileName_14, toospicyPatchSize_14, toospicyPatchBuffer_14, 0, ""}, + {toospicyFileName_15, toospicyPatchSize_15, toospicyPatchBuffer_15, 0, ""}, + {toospicyFileName_16, toospicyPatchSize_16, toospicyPatchBuffer_16, 0, ""}, + {toospicyFileName_17, toospicyPatchSize_17, toospicyPatchBuffer_17, 0, ""}, + {toospicyFileName_18, toospicyPatchSize_18, toospicyPatchBuffer_18, 0, ""}, + {toospicyFileName_19, toospicyPatchSize_19, toospicyPatchBuffer_19, 0, ""}, + {toospicyFileName_20, toospicyPatchSize_20, toospicyPatchBuffer_20, 0, ""}, + {toospicyFileName_21, toospicyPatchSize_21, toospicyPatchBuffer_21, 0, ""}, + {toospicyFileName_22, toospicyPatchSize_22, toospicyPatchBuffer_22, 0, ""}, + {toospicyFileName_23, toospicyPatchSize_23, toospicyPatchBuffer_23, 0, ""}}; + +int tooSpicyShaderPatchesCount = sizeof(tooSpicyShaderPatches) / sizeof(ShaderFilesToPatch); diff --git a/src/lindbergh/shaderWork/2spicy.h b/src/lindbergh/shaderWork/2spicy.h new file mode 100644 index 0000000..7cb7f91 --- /dev/null +++ b/src/lindbergh/shaderWork/2spicy.h @@ -0,0 +1,5 @@ +#include +#include "common.h" + +extern ShaderFilesToPatch tooSpicyShaderPatches[]; +extern int tooSpicyShaderPatchesCount; diff --git a/src/lindbergh/shader_work/abc.h b/src/lindbergh/shaderWork/abc.c similarity index 100% rename from src/lindbergh/shader_work/abc.h rename to src/lindbergh/shaderWork/abc.c diff --git a/src/lindbergh/shaderWork/abc.h b/src/lindbergh/shaderWork/abc.h new file mode 100644 index 0000000..80b123c --- /dev/null +++ b/src/lindbergh/shaderWork/abc.h @@ -0,0 +1,7 @@ +#include "common.h" + +extern SearchReplace abcFsMesa[]; +extern int abcFsMesaCount; + +extern SearchReplace abcVsMesa[]; +extern int abcVsMesaCount; \ No newline at end of file diff --git a/src/lindbergh/shaderWork/axa.c b/src/lindbergh/shaderWork/axa.c new file mode 100644 index 0000000..4db8daa --- /dev/null +++ b/src/lindbergh/shaderWork/axa.c @@ -0,0 +1,446 @@ +#include "common.h" + +// File: a.frag +const char axaFileName_0[] = "a.frag"; +const size_t axaPatchSize_0 = 86; +const unsigned char axaPatchBuffer_0[] = { + 0x27, 0xee, 0x11, 0x15, 0xac, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, + 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x01, + 0x06, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x02, 0x1f, 0x02, 0x00, 0x00, 0x7d, 0x02, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x28, 0x02, 0x9c, 0x04, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0xbd, 0x04, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00}; + +// File: average.frag +const char axaFileName_1[] = "average.frag"; +const size_t axaPatchSize_1 = 122; +const unsigned char axaPatchBuffer_1[] = { + 0xa5, 0x97, 0xab, 0xa7, 0x17, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, + 0xa3, 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, 0x01, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x64, 0x78, 0x29, 0x02, 0x5f, + 0x01, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x01, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x64, 0x79, 0x29, 0x02, 0x8c, 0x01, + 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x2a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x53, 0x69, 0x7a, 0x65, 0x50, 0x6f, 0x77, + 0x65, 0x72, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x63, 0x29, 0x02, 0xea, 0x01, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00}; + +// File: average.vert +const char axaFileName_2[] = "average.vert"; +const size_t axaPatchSize_2 = 82; +const unsigned char axaPatchBuffer_2[] = { + 0x07, 0x35, 0xa3, 0xe1, 0xa8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x15, 0x61, 0x72, + 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x02, 0x1b, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5b, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, + 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3d, 0x02, 0x6d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00}; + +// File: DoF.frag +const char axaFileName_3[] = "DoF.frag"; +const size_t axaPatchSize_3 = 87; +const unsigned char axaPatchBuffer_3[] = { + 0xf6, 0xbf, 0xe4, 0x98, 0xd4, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00, 0x01, 0x06, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x02, 0x22, 0x02, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x02, 0xe3, + 0x02, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x05, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x02, 0x6b, 0x03, 0x00, 0x00, 0x4d, + 0x00, 0x00, 0x00, 0x02, 0xb9, 0x03, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x02, 0xe2, 0x04, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00}; + +// File: GaussH.frag +const char axaFileName_4[] = "GaussH.frag"; +const size_t axaPatchSize_4 = 71; +const unsigned char axaPatchBuffer_4[] = {0xbe, 0x8c, 0x26, 0xa2, 0xcf, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x00, + 0x00, 0x00, 0x01, 0x19, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, + 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, + 0xd8, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0x75, 0x01, 0x00, + 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x04, 0x3b, 0x0d, 0x0a, 0x7d}; + +// File: GaussH.vert +const char axaFileName_5[] = "GaussH.vert"; +const size_t axaPatchSize_5 = 53; +const unsigned char axaPatchBuffer_5[] = {0xb9, 0x77, 0x17, 0x34, 0x53, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3a, + 0x01, 0x00, 0x00, 0x01, 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x69, 0x29, 0x2b, + 0x30, 0x2e, 0x35, 0x29, 0x2a, 0x57, 0x49, 0x44, 0x54, 0x48, 0x2c, 0x30, 0x2e, 0x30, + 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x7d}; + +// File: GaussV.frag +const char axaFileName_6[] = "GaussV.frag"; +const size_t axaPatchSize_6 = 73; +const unsigned char axaPatchBuffer_6[] = {0x0e, 0x8d, 0x01, 0x4c, 0xd2, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x00, + 0x00, 0x00, 0x01, 0x19, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, + 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, + 0xd8, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0x6e, 0x01, 0x00, + 0x00, 0x5d, 0x00, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: GaussV.vert +const char axaFileName_7[] = "GaussV.vert"; +const size_t axaPatchSize_7 = 40; +const unsigned char axaPatchBuffer_7[] = {0x6b, 0x83, 0x38, 0x8a, 0x81, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x65, + 0x01, 0x00, 0x00, 0x01, 0x0c, 0x2e, 0x30, 0x2c, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x28, 0x69, 0x29, 0x02, 0x68, 0x01, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00}; + +// File: GetBrightArea.frag +const char axaFileName_8[] = "GetBrightArea.frag"; +const size_t axaPatchSize_8 = 58; +const unsigned char axaPatchBuffer_8[] = {0xad, 0x1e, 0xfd, 0x5a, 0x18, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, + 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x01, 0x04, + 0x68, 0x61, 0x6c, 0x66, 0x02, 0x1b, 0x02, 0x00, 0x00, 0xfd, 0x01, 0x00, 0x00}; + +// File: GlareCompose.frag +const char axaFileName_9[] = "GlareCompose.frag"; +const size_t axaPatchSize_9 = 25; +const unsigned char axaPatchBuffer_9[] = {0xc9, 0x8f, 0xdf, 0xaf, 0xdc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0xd5, 0x01, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: Laplacian.frag +const char axaFileName_10[] = "Laplacian.frag"; +const size_t axaPatchSize_10 = 152; +const unsigned char axaPatchBuffer_10[] = { + 0x27, 0xee, 0x97, 0x8c, 0x91, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, + 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x01, + 0x02, 0x2e, 0x30, 0x02, 0x35, 0x02, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xba, 0x02, 0x00, 0x00, 0x41, + 0x00, 0x00, 0x00, 0x01, 0x0e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6c, 0x61, 0x70, 0x29, 0x2c, 0x76, 0x65, 0x63, 0x33, 0x02, 0xff, 0x02, + 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, + 0x02, 0x2f, 0x03, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, + 0x31, 0x2e, 0x30, 0x02, 0x56, 0x03, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: Laplacian.vert +const char axaFileName_11[] = "Laplacian.vert"; +const size_t axaPatchSize_11 = 99; +const unsigned char axaPatchBuffer_11[] = { + 0x7e, 0x77, 0x80, 0x69, 0x6e, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x0b, 0x49, + 0x44, 0x54, 0x48, 0x2c, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x02, 0x35, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x01, + 0x04, 0x49, 0x44, 0x54, 0x48, 0x02, 0xc7, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x04, 0x49, 0x44, 0x54, 0x48, + 0x02, 0xfb, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x05, 0x45, 0x49, 0x47, 0x48, 0x54, 0x02, 0x32, 0x01, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x45, 0x49, 0x47, 0x48, 0x54, 0x29, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: Monochrome.frag +const char axaFileName_12[] = "Monochrome.frag"; +const size_t axaPatchSize_12 = 113; +const unsigned char axaPatchBuffer_12[] = { + 0x7b, 0xd1, 0x09, 0xaa, 0xff, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, + 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, + 0x00, 0xaa, 0x00, 0x00, 0x00, 0x01, 0x32, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, + 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x76, 0x65, 0x63, 0x33, 0x28, + 0x02, 0x8d, 0x02, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0xb4, 0x02, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00}; + +// File: Monochrome.vert +const char axaFileName_13[] = "Monochrome.vert"; +const size_t axaPatchSize_13 = 121; +const unsigned char axaPatchBuffer_13[] = { + 0x78, 0x26, 0x8a, 0x51, 0x79, 0x00, 0x00, 0x00, 0x01, 0x66, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x09, 0x4d, 0x4f, 0x44, + 0x45, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x09, 0x30, 0x0d, 0x0a, 0x23, 0x65, + 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x4e, 0x4f, 0x43, + 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, 0x3d, 0x30, 0x29, 0x0d, 0x0a, 0x23, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x53, 0x45, 0x50, 0x49, 0x41, 0x09, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, + 0x3d, 0x31, 0x29, 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00}; + +// File: nnstdshader.vert +const char axaFileName_14[] = "nnstdshader.vert"; +const size_t axaPatchSize_14 = 185; +const unsigned char axaPatchBuffer_14[] = { + 0x72, 0x20, 0xc8, 0xf6, 0x8a, 0x1c, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x0b, 0x01, 0x00, 0x01, 0x1b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, + 0x75, 0x6d, 0x20, 0x3d, 0x02, 0xf5, 0x0b, 0x01, 0x00, 0x57, 0x00, 0x00, 0x00, 0x01, 0x77, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x3d, + 0x20, 0x28, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x20, 0x3c, 0x20, 0x38, 0x29, 0x20, + 0x3f, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x20, 0x3a, 0x20, 0x38, 0x3b, 0x0d, + 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x6c, 0x69, 0x74, 0x6e, 0x6f, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x6c, 0x69, 0x74, 0x6e, 0x6f, 0x20, 0x3c, 0x20, 0x6c, 0x6f, + 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x02, 0x4e, 0x0c, 0x01, 0x00, 0x3c, 0x10, 0x00, 0x00}; + +// File: Posterization.frag +const char axaFileName_15[] = "Posterization.frag"; +const size_t axaPatchSize_15 = 43; +const unsigned char axaPatchBuffer_15[] = {0x3c, 0xb8, 0x01, 0x0a, 0xaa, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, + 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00}; + +// File: Sepia.frag +const char axaFileName_16[] = "Sepia.frag"; +const size_t axaPatchSize_16 = 43; +const unsigned char axaPatchBuffer_16[] = {0x34, 0xd7, 0x76, 0x81, 0x16, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, + 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00}; + +// File: Solarization.frag +const char axaFileName_17[] = "Solarization.frag"; +const size_t axaPatchSize_17 = 125; +const unsigned char axaPatchBuffer_17[] = { + 0x0b, 0xdc, 0x75, 0x3a, 0x23, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, + 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0xb3, 0x00, 0x00, + 0x00, 0x01, 0x24, 0x0d, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x3e, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x29, 0x0d, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x3d, 0x31, 0x2e, 0x30, 0x02, 0xa6, 0x02, + 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xd2, 0x02, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x0b, + 0x2e, 0x30, 0x2d, 0x63, 0x6f, 0x6c, 0x2e, 0x62, 0x3b, 0x0d, 0x0a, 0x02, 0x05, 0x03, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00}; + +// File: toon.frag +const char axaFileName_18[] = "toon.frag"; +const size_t axaPatchSize_18 = 119; +const unsigned char axaPatchBuffer_18[] = { + 0xc4, 0x90, 0xe7, 0x37, 0x52, 0x11, 0x00, 0x00, 0x01, 0x53, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x09, 0x76, 0x65, 0x63, 0x32, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x33, 0x09, 0x76, 0x65, 0x63, 0x33, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x34, 0x09, 0x76, 0x65, 0x63, 0x34, 0x0d, 0x0a, 0x09, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, + 0x00, 0x00, 0x01, 0x06, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x02, 0x45, 0x00, 0x00, 0x00, 0x0d, 0x11, 0x00, 0x00}; + +// File: YUVCompose.frag +const char axaFileName_19[] = "YUVCompose.frag"; +const size_t axaPatchSize_19 = 507; +const unsigned char axaPatchBuffer_19[] = { + 0xee, 0x1d, 0x3d, 0x9c, 0x54, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, + 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x49, 0x2f, 0x2f, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, + 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x59, 0x54, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x02, 0x07, 0x02, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x01, 0x25, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, + 0x44, 0x20, 0x43, 0x62, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x09, 0x30, 0x02, + 0x33, 0x02, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xba, 0x02, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x01, + 0x7a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x59, 0x43, 0x62, + 0x43, 0x72, 0x32, 0x52, 0x47, 0x42, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x0d, 0x0a, 0x28, + 0x20, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x20, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x0d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x2d, 0x30, 0x2e, 0x33, 0x39, 0x32, 0x2c, 0x32, 0x2e, 0x30, 0x31, 0x37, 0x2c, 0x0d, + 0x0a, 0x20, 0x20, 0x31, 0x2e, 0x35, 0x39, 0x36, 0x2c, 0x2d, 0x30, 0x2e, 0x38, 0x31, 0x33, 0x2c, 0x20, 0x20, 0x30, 0x2e, 0x30, 0x0d, + 0x0a, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x02, 0x28, 0x03, 0x00, 0x00, 0xde, 0x00, 0x00, 0x00, + 0x01, 0x2e, 0x23, 0x69, 0x66, 0x09, 0x30, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, 0x41, 0x2d, 0x3d, 0x68, 0x61, + 0x6c, 0x66, 0x34, 0x28, 0x31, 0x36, 0x2e, 0x30, 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x35, 0x2c, 0x30, 0x2e, 0x35, + 0x2c, 0x30, 0x29, 0x3b, 0x02, 0x2d, 0x04, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x8c, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, + 0x20, 0x20, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, 0x41, 0x2e, 0x72, 0x67, 0x62, 0x2d, 0x3d, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x31, + 0x36, 0x2e, 0x30, 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x35, 0x2c, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x0d, 0x0a, 0x20, + 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x59, + 0x43, 0x62, 0x43, 0x72, 0x32, 0x52, 0x47, 0x42, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x2a, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, + 0x41, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x7d, 0x0d, + 0x0a}; + +ShaderFilesToPatch axaShaderPatches[] = { + {axaFileName_0, axaPatchSize_0, axaPatchBuffer_0, 0, ""}, {axaFileName_1, axaPatchSize_1, axaPatchBuffer_1, 0, ""}, + {axaFileName_2, axaPatchSize_2, axaPatchBuffer_2, 0, ""}, {axaFileName_3, axaPatchSize_3, axaPatchBuffer_3, 0, ""}, + {axaFileName_4, axaPatchSize_4, axaPatchBuffer_4, 0, ""}, {axaFileName_5, axaPatchSize_5, axaPatchBuffer_5, 0, ""}, + {axaFileName_6, axaPatchSize_6, axaPatchBuffer_6, 0, ""}, {axaFileName_7, axaPatchSize_7, axaPatchBuffer_7, 0, ""}, + {axaFileName_8, axaPatchSize_8, axaPatchBuffer_8, 0, ""}, {axaFileName_9, axaPatchSize_9, axaPatchBuffer_9, 0, ""}, + {axaFileName_10, axaPatchSize_10, axaPatchBuffer_10, 0, ""}, {axaFileName_11, axaPatchSize_11, axaPatchBuffer_11, 0, ""}, + {axaFileName_12, axaPatchSize_12, axaPatchBuffer_12, 0, ""}, {axaFileName_13, axaPatchSize_13, axaPatchBuffer_13, 0, ""}, + {axaFileName_14, axaPatchSize_14, axaPatchBuffer_14, 0, ""}, {axaFileName_15, axaPatchSize_15, axaPatchBuffer_15, 0, ""}, + {axaFileName_16, axaPatchSize_16, axaPatchBuffer_16, 0, ""}, {axaFileName_17, axaPatchSize_17, axaPatchBuffer_17, 0, ""}, + {axaFileName_18, axaPatchSize_18, axaPatchBuffer_18, 0, ""}, {axaFileName_19, axaPatchSize_19, axaPatchBuffer_19, 0, ""}, +}; + +int axaShaderPatchesCount = sizeof(axaShaderPatches) / sizeof(ShaderFilesToPatch); + +// File: a.frag +const char axalFileName_0[] = "a.frag"; +const size_t axalPatchSize_0 = 69; +const unsigned char axalPatchBuffer_0[] = {0x8d, 0xf0, 0x28, 0x62, 0xb2, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, + 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0xd2, 0x02, 0x00, + 0x00, 0x01, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x02, 0x1f, 0x05, 0x00, 0x00, + 0x22, 0x00, 0x00, 0x00, 0x02, 0xc3, 0x04, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00}; + +// File: DoF.frag +const char axalFileName_1[] = "DoF.frag"; +const size_t axalPatchSize_1 = 70; +const unsigned char axalPatchBuffer_1[] = {0x5c, 0xc2, 0xef, 0xdb, 0xda, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xe9, + 0x02, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x02, 0xe9, 0x02, + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x0b, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, + 0x00, 0x02, 0x71, 0x03, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x02, 0xbf, 0x03, 0x00, + 0x00, 0x28, 0x01, 0x00, 0x00, 0x02, 0xe8, 0x04, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00}; + +// File: Laplacian.frag +const char axalFileName_2[] = "Laplacian.frag"; +const size_t axalPatchSize_2 = 205; +const unsigned char axalPatchBuffer_2[] = { + 0x54, 0xf0, 0x85, 0x23, 0x99, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, + 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0x35, 0x02, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xba, 0x02, + 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x75, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6c, 0x61, 0x70, 0x29, 0x2c, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x30, 0x2e, 0x33, 0x2c, 0x30, 0x2e, 0x36, 0x2c, 0x30, 0x2e, 0x31, 0x29, 0x29, 0x3c, 0x30, 0x2e, 0x31, 0x35, 0x29, + 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x3d, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, + 0x30, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x3d, 0x68, + 0x61, 0x6c, 0x66, 0x34, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x02, + 0x5e, 0x03, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; + +// File: toon.frag +const char axalFileName_3[] = "toon.frag"; +const size_t axalPatchSize_3 = 1958; +const unsigned char axalPatchBuffer_3[] = { + 0x7d, 0x45, 0x29, 0xe8, 0xfd, 0x0c, 0x00, 0x00, 0x01, 0x53, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, + 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x09, + 0x76, 0x65, 0x63, 0x32, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x76, 0x65, + 0x63, 0x33, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x09, 0x76, 0x65, 0x63, 0x34, + 0x0d, 0x0a, 0x09, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x01, 0x01, 0x34, 0x02, 0x30, 0x00, 0x00, 0x00, + 0x39, 0x00, 0x00, 0x00, 0x01, 0x09, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x02, 0x71, 0x00, 0x00, 0x00, 0x93, 0x01, + 0x00, 0x00, 0x01, 0x5e, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x09, 0x28, 0x46, 0x52, 0x41, 0x4d, + 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x26, 0x32, 0x29, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4e, 0x4f, 0x52, 0x4d, + 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x09, 0x09, 0x28, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x26, 0x34, 0x29, 0x0d, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x45, 0x58, 0x54, 0x52, 0x41, 0x5f, 0x43, 0x4d, 0x50, 0x09, 0x09, 0x28, 0x46, + 0x52, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x26, 0x38, 0x02, 0x1d, 0x02, 0x00, 0x00, 0x1b, 0x04, 0x00, 0x00, 0x01, 0x34, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, 0x0d, 0x0a, 0x7b, 0x0d, 0x0a, 0x09, 0x68, 0x61, + 0x6c, 0x66, 0x34, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, + 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x02, 0xdb, 0x06, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x01, 0x02, 0x7a, 0x77, 0x02, 0xd5, + 0x07, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, 0x02, 0x43, 0x07, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x01, 0x01, 0x32, + 0x02, 0x69, 0x07, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x05, 0x33, 0x5d, 0x2e, 0x78, 0x79, 0x02, 0x09, 0x08, 0x00, 0x00, 0xfb, + 0x00, 0x00, 0x00, 0x01, 0x05, 0x23, 0x69, 0x66, 0x20, 0x31, 0x02, 0x02, 0x09, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x23, + 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3d, 0x63, 0x76, + 0x74, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x28, 0x02, 0xf7, 0x06, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x27, 0x09, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x02, 0xe3, 0x07, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x01, 0x30, 0x02, 0x05, 0x08, 0x00, 0x00, 0x0e, + 0x00, 0x00, 0x00, 0x01, 0x10, 0x2c, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x76, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x28, 0x02, + 0xe3, 0x07, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x10, 0x2c, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x76, 0x74, 0x5f, 0x64, 0x65, + 0x70, 0x74, 0x68, 0x28, 0x02, 0xe3, 0x07, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x01, 0x32, 0x02, 0x69, 0x07, 0x00, 0x00, 0x0d, + 0x00, 0x00, 0x00, 0x01, 0x11, 0x29, 0x2c, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x76, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x28, + 0x02, 0xe3, 0x07, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x01, 0x33, 0x02, 0x69, 0x07, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, + 0x13, 0x29, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x2e, 0x78, 0x20, 0x02, 0xd1, + 0x09, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x03, 0x2b, 0x05, 0x00, 0x00, 0x28, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, + 0x43, 0x4d, 0x50, 0x20, 0x7c, 0x7c, 0x20, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x29, 0x0d, 0x0a, 0x09, 0x09, + 0x68, 0x61, 0x6c, 0x66, 0x33, 0x20, 0x74, 0x6e, 0x6d, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x49, 0x44, 0x50, 0x69, 0x63, 0x2c, 0x74, + 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x2e, 0x72, 0x67, 0x62, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x68, 0x61, 0x6c, 0x66, + 0x33, 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x34, 0x5d, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x30, 0x5d, 0x20, + 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x4e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x49, 0x44, 0x50, 0x69, 0x63, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, + 0x30, 0x5d, 0x2e, 0x7a, 0x77, 0x29, 0x2e, 0x72, 0x67, 0x62, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x31, + 0x5d, 0x09, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x4e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x49, 0x44, 0x50, 0x69, 0x63, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, + 0x77, 0x5b, 0x31, 0x5d, 0x2e, 0x7a, 0x77, 0x29, 0x2e, 0x72, 0x67, 0x62, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x74, 0x6e, 0x6d, 0x73, + 0x5b, 0x32, 0x5d, 0x09, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, + 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x49, 0x44, 0x50, 0x69, 0x63, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x77, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x79, 0x29, 0x2e, 0x72, 0x67, 0x62, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x74, 0x6e, + 0x6d, 0x73, 0x5b, 0x33, 0x5d, 0x09, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, + 0x44, 0x28, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x49, 0x44, 0x50, 0x69, 0x63, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x33, 0x5d, 0x2e, 0x78, 0x79, 0x29, 0x2e, 0x72, 0x67, 0x62, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x69, + 0x66, 0x09, 0x09, 0x28, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x20, 0x26, 0x26, 0x20, 0x4e, 0x4f, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x29, 0x20, 0x26, 0x26, 0x20, 0x30, 0x09, 0x2f, 0x2a, 0x20, 0x4d, 0x41, 0x54, 0x45, + 0x52, 0x49, 0x41, 0x4c, 0x20, 0x82, 0xc6, 0x20, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x20, 0x95, 0xca, 0x82, 0xe6, 0x82, 0xe8, 0x82, + 0xe0, 0x92, 0x78, 0x82, 0xa2, 0x81, 0x42, 0x94, 0x70, 0x8e, 0x7e, 0x81, 0x42, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x09, 0x09, 0x68, 0x61, + 0x6c, 0x66, 0x34, 0x20, 0x66, 0x79, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2c, 0x20, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x4e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x2c, 0x20, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x29, 0x3b, 0x0d, + 0x0a, 0x09, 0x09, 0x66, 0x79, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x70, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x74, 0x6e, + 0x6d, 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x29, + 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x79, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x70, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, + 0x74, 0x6e, 0x6d, 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x79, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x70, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x33, 0x28, 0x74, 0x6e, 0x6d, 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x79, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x70, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x33, 0x28, 0x74, 0x6e, 0x6d, 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x66, + 0x79, 0x2c, 0x20, 0x66, 0x79, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x09, 0x2f, 0x2a, 0x09, 0x28, 0x4d, 0x41, 0x54, + 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x20, 0x26, 0x26, 0x20, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x4d, + 0x50, 0x29, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x09, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4d, + 0x50, 0x09, 0x2f, 0x2a, 0x20, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x28, 0x55, 0x53, 0x45, 0x52, 0x50, 0x52, 0x4f, 0x46, + 0x49, 0x4c, 0x45, 0x29, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x70, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x34, 0x31, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x30, 0x5d, 0x2e, 0x62, 0x2c, + 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x31, 0x5d, 0x2e, 0x62, 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x32, 0x5d, 0x2e, 0x62, 0x2c, + 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x33, 0x5d, 0x2e, 0x62, 0x29, 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x2e, 0x62, 0x2c, 0x20, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x09, 0x2f, 0x2a, 0x09, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x09, 0x2a, 0x2f, 0x0d, + 0x0a, 0x23, 0x69, 0x66, 0x09, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x0d, 0x0a, 0x09, 0x09, 0x2f, 0x2a, 0x20, + 0x20, 0x96, 0x40, 0x90, 0xfc, 0x82, 0xcd, 0x20, 0x58, 0x59, 0x20, 0x82, 0xcc, 0x82, 0xdd, 0x82, 0xc5, 0x94, 0xbb, 0x92, 0xe8, 0x20, + 0x2a, 0x2f, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x70, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x34, + 0x28, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x74, 0x6e, 0x6d, 0x2e, 0x72, 0x67, 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x2e, 0x72, 0x67, 0x29, + 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x30, 0x5d, 0x2e, 0x72, 0x67, 0x2c, 0x20, 0x74, 0x6e, + 0x6d, 0x73, 0x5b, 0x31, 0x5d, 0x2e, 0x72, 0x67, 0x29, 0x2c, 0x20, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x4e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x66, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x70, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x34, 0x34, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x74, 0x6e, 0x6d, 0x2e, 0x72, 0x67, 0x2c, 0x20, 0x74, 0x6e, 0x6d, + 0x2e, 0x72, 0x67, 0x29, 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x32, 0x5d, 0x2e, 0x72, 0x67, + 0x2c, 0x20, 0x74, 0x6e, 0x6d, 0x73, 0x5b, 0x33, 0x5d, 0x2e, 0x72, 0x67, 0x29, 0x2c, 0x20, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x09, 0x2f, 0x2a, 0x20, + 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x09, + 0x2f, 0x2a, 0x20, 0x28, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x20, 0x26, 0x26, 0x20, 0x4e, 0x4f, + 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x29, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x09, 0x2f, + 0x2a, 0x20, 0x28, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x20, 0x7c, 0x7c, 0x20, 0x4e, 0x4f, 0x52, + 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x4d, 0x50, 0x29, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x09, 0x7d, 0x02, 0x17, 0x0c, 0x00, 0x00, 0x4a, 0x00, + 0x00, 0x00, 0x01, 0x16, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x66, 0x2c, 0x20, 0x66, 0x29, 0x2c, + 0x20, 0x31, 0x2e, 0x30, 0x02, 0x94, 0x0c, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x02, 0xb3, 0x0c, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00}; + +// File: toon.vert +const char axalFileName_4[] = "toon.vert"; +const size_t axalPatchSize_4 = 1429; +const unsigned char axalPatchBuffer_4[] = { + 0x5a, 0xb9, 0x67, 0xab, 0x46, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x01, 0x01, 0x34, 0x02, 0x30, + 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x01, 0x05, 0x23, 0x69, 0x66, 0x20, 0x30, 0x02, 0xe8, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, + 0x00, 0x02, 0x40, 0x01, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x10, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02, 0xfa, 0x00, + 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x6e, 0x01, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x02, 0x10, 0x01, 0x00, 0x00, 0x2b, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x31, 0x02, 0x3c, 0x01, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x0d, 0x0a, 0x09, 0x74, 0x65, 0x78, + 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x32, 0x02, 0x7e, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x01, 0x32, 0x02, 0x3c, + 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0xda, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x10, 0x09, 0x74, 0x65, 0x78, + 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x33, 0x5d, 0x2e, 0x78, 0x79, 0x02, 0xc4, 0x01, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x01, + 0x10, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x33, 0x5d, 0x2e, 0x7a, 0x77, 0x02, 0x82, 0x01, 0x00, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x02, 0xda, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x17, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, + 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x30, 0x5d, 0x2e, 0x7a, 0x77, 0x02, 0xfa, 0x00, 0x00, 0x00, 0x41, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x31, 0x02, 0x3c, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x01, 0x32, 0x02, 0x7e, 0x01, 0x00, + 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x05, 0x33, 0x5d, 0x2e, 0x78, 0x79, 0x02, 0xc4, 0x01, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x01, + 0x13, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x04, 0x2f, 0x2f, 0x20, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x01, 0x2a, 0x77, 0x5b, 0x38, 0x5d, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, + 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x7b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, + 0x02, 0x87, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x04, 0x2f, 0x2f, 0x20, 0x20, 0x02, 0xc5, 0x00, 0x00, 0x00, 0x23, 0x00, + 0x00, 0x00, 0x01, 0x11, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x30, 0x5d, 0x02, + 0x40, 0x01, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x01, 0xba, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x35, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x37, 0x29, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, + 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2c, 0x20, 0x74, + 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x37, 0x29, 0x3b, 0x0d, 0x0a, + 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x35, + 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x37, 0x29, + 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x33, 0x5d, 0x02, 0x40, + 0x01, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x01, 0x65, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x35, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, + 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x77, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, + 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x35, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, + 0x79, 0x29, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x35, 0x5d, + 0x02, 0x40, 0x01, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03, 0xa8, 0x02, 0x00, 0x00, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x35, 0x2c, 0x20, + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x37, 0x29, 0x3b, 0x0d, + 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x37, + 0x29, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x37, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x30, 0x2e, + 0x30, 0x30, 0x30, 0x35, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x30, + 0x30, 0x30, 0x37, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x66, 0x6f, 0x72, 0x28, 0x69, 0x20, 0x3d, 0x20, + 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x7b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, + 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x79, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x69, 0x66, 0x28, 0x69, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x20, 0x7c, + 0x7c, 0x20, 0x69, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x7c, 0x7c, 0x20, 0x69, 0x20, 0x3d, 0x3d, 0x20, 0x35, 0x29, 0x7b, 0x0d, 0x0a, + 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x09, 0x78, 0x20, 0x3d, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x35, 0x3b, 0x20, 0x2f, 0x2f, + 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x31, 0x30, 0x32, 0x34, 0x2e, 0x30, 0x20, 0x29, 0x20, 0x2f, 0x20, 0x32, 0x2e, 0x30, + 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x7d, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x20, + 0x69, 0x66, 0x28, 0x69, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x7c, 0x7c, 0x20, 0x69, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x20, 0x7c, 0x7c, + 0x20, 0x69, 0x20, 0x3d, 0x3d, 0x20, 0x37, 0x29, 0x7b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x09, 0x78, 0x20, 0x3d, 0x20, + 0x30, 0x2e, 0x30, 0x30, 0x30, 0x35, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x7d, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, + 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x7b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x09, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2e, + 0x30, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x7d, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x69, 0x66, 0x28, + 0x69, 0x20, 0x3e, 0x3d, 0x20, 0x32, 0x29, 0x7b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x09, 0x79, 0x20, 0x3d, 0x20, 0x2d, + 0x30, 0x2e, 0x30, 0x30, 0x30, 0x37, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x37, 0x36, 0x38, 0x2e, + 0x30, 0x20, 0x29, 0x20, 0x2f, 0x20, 0x32, 0x2e, 0x30, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x7d, 0x0d, 0x0a, 0x2f, 0x2f, + 0x20, 0x20, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x28, 0x69, 0x20, 0x3e, 0x3d, 0x20, 0x35, 0x29, 0x7b, 0x0d, 0x0a, + 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x09, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, + 0x09, 0x7d, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x7b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, + 0x09, 0x09, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x37, 0x3b, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x7d, + 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x09, 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x77, 0x5b, 0x69, 0x5d, 0x2e, 0x73, + 0x74, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x20, 0x2b, 0x20, + 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2b, 0x20, 0x79, 0x29, 0x3b, 0x0d, 0x0a, 0x2f, + 0x2f, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, 0x2f, 0x2f, 0x20, 0x20, 0x7d, 0x02, 0xfd, 0x01, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00}; + +ShaderFilesToPatch axalShaderPatches[] = { + {axalFileName_0, axalPatchSize_0, axalPatchBuffer_0, 0, ""}, // a.frag + {axaFileName_1, axaPatchSize_1, axaPatchBuffer_1, 0, ""}, // average.frag + {axaFileName_2, axaPatchSize_2, axaPatchBuffer_2, 0, ""}, // average.vert + {axalFileName_1, axalPatchSize_1, axalPatchBuffer_1, 0, ""}, // DOF.vert + {axaFileName_4, axaPatchSize_4, axaPatchBuffer_4, 0, ""}, // GaussH.frag + {axaFileName_5, axaPatchSize_5, axaPatchBuffer_5, 0, ""}, // GaussH.vert + {axaFileName_6, axaPatchSize_6, axaPatchBuffer_6, 0, ""}, // GaussV.frag + {axaFileName_7, axaPatchSize_7, axaPatchBuffer_7, 0, ""}, // GaussV.frag + {axaFileName_8, axaPatchSize_8, axaPatchBuffer_8, 0, ""}, // GetBrightArea.frag + {axaFileName_9, axaPatchSize_9, axaPatchBuffer_9, 0, ""}, // GlareCompare.frag + {axalFileName_2, axalPatchSize_2, axalPatchBuffer_2, 0, ""}, // Laplacian.frag + {axaFileName_11, axaPatchSize_11, axaPatchBuffer_11, 0, ""}, // Laplacian.vert + {axaFileName_12, axaPatchSize_12, axaPatchBuffer_12, 0, ""}, // Monochrome.frag + {axaFileName_13, axaPatchSize_13, axaPatchBuffer_13, 0, ""}, // Monochrome.vert + {axaFileName_15, axaPatchSize_15, axaPatchBuffer_15, 0, ""}, // Posterization.frag + {axaFileName_16, axaPatchSize_16, axaPatchBuffer_16, 0, ""}, // Sepia.frag + {axaFileName_17, axaPatchSize_17, axaPatchBuffer_17, 0, ""}, // Solarization.frag + {axalFileName_3, axalPatchSize_3, axalPatchBuffer_3, 0, ""}, // toon.frag + {axalFileName_4, axalPatchSize_4, axalPatchBuffer_4, 0, ""}, // toon.vert + {axaFileName_19, axaPatchSize_19, axaPatchBuffer_19, 0, ""}, // YUVCompose.frag +}; + +int axalShaderPatchesCount = sizeof(axalShaderPatches) / sizeof(ShaderFilesToPatch); \ No newline at end of file diff --git a/src/lindbergh/shaderWork/axa.h b/src/lindbergh/shaderWork/axa.h new file mode 100644 index 0000000..1eadd82 --- /dev/null +++ b/src/lindbergh/shaderWork/axa.h @@ -0,0 +1,8 @@ +#include +#include "common.h" + +extern ShaderFilesToPatch axaShaderPatches[]; +extern int axaShaderPatchesCount; + +extern ShaderFilesToPatch axalShaderPatches[]; +extern int axalShaderPatchesCount; \ No newline at end of file diff --git a/src/lindbergh/shaderWork/common.h b/src/lindbergh/shaderWork/common.h new file mode 100644 index 0000000..8856d9b --- /dev/null +++ b/src/lindbergh/shaderWork/common.h @@ -0,0 +1,41 @@ +#pragma once + +#include +#include +#include +#include "../shaderPatches.h" + +typedef struct +{ + uint32_t startOffset; // Offset inside the ELF + uint32_t totalSize; // Available size for the shader program + uint32_t sizeOfCode; // Size used by the original shader program +} ElfShaderOffsets; + +typedef struct +{ + char *fileName; + size_t shaderBufferSize; + char *shaderBuffer; +} ShaderFilesToMod; + +typedef struct +{ + const char *fileName; + size_t patchBufferSize; + const unsigned char *patchBuffer; + size_t shaderBufferSize; + const char *shaderBuffer; +} ShaderFilesToPatch; + +typedef struct +{ + const char *stageAbb; + const char *StageName; + bool patch; +} Vf5StagesList; + +extern SearchReplace attribsSet[]; +extern int attribsSetCount; +extern char *nnstdshader_vert; +extern char *nnstdshader_frag; diff --git a/src/lindbergh/shader_work/gsevo.h b/src/lindbergh/shaderWork/gsevo.c similarity index 100% rename from src/lindbergh/shader_work/gsevo.h rename to src/lindbergh/shaderWork/gsevo.c diff --git a/src/lindbergh/shaderWork/gsevo.h b/src/lindbergh/shaderWork/gsevo.h new file mode 100644 index 0000000..11f3d80 --- /dev/null +++ b/src/lindbergh/shaderWork/gsevo.h @@ -0,0 +1,14 @@ +#pragma once +#include "common.h" + +extern ElfShaderOffsets gsevoElfShaderOffsets[]; +extern int gsevoShaderOffsetsCount; +extern SearchReplace gsevoElf[]; +extern int gsevoElfCount; +extern SearchReplace gsevoElfMesa[]; +extern int gsevoElfCountMesa; +extern SearchReplace gsevoSet1[]; +extern int gsevoSetCount1; +extern ShaderFilesToPatch gsevoMesaShaderPatches[]; +extern ShaderFilesToPatch gsevoNvidiaShaderPatches[]; +extern int gsevoShaderPatchesCount; diff --git a/src/lindbergh/shader_work/harley.h b/src/lindbergh/shaderWork/harley.c similarity index 100% rename from src/lindbergh/shader_work/harley.h rename to src/lindbergh/shaderWork/harley.c diff --git a/src/lindbergh/shaderWork/harley.h b/src/lindbergh/shaderWork/harley.h new file mode 100644 index 0000000..a1d9709 --- /dev/null +++ b/src/lindbergh/shaderWork/harley.h @@ -0,0 +1,4 @@ +#include "common.h" + +extern ShaderFilesToPatch harleyShaderPatches[]; +extern int harleyShaderPatchesCount; diff --git a/src/lindbergh/shader_work/hod4.h b/src/lindbergh/shaderWork/hod4.c similarity index 63% rename from src/lindbergh/shader_work/hod4.h rename to src/lindbergh/shaderWork/hod4.c index 72ff8f6..4baaf1f 100644 --- a/src/lindbergh/shader_work/hod4.h +++ b/src/lindbergh/shaderWork/hod4.c @@ -1,4 +1,3 @@ -#pragma once #include "common.h" // File: DoF.dat1 @@ -322,3 +321,146 @@ ShaderFilesToPatch hod4ShaderPatches[] = { }; int hod4ShaderPatchesCount = sizeof(hod4ShaderPatches) / sizeof(ShaderFilesToPatch); + +// File: std.dat0 +const char hod4spFileName_13[] = "std.dat0"; +const size_t hod4spPatchSize_13 = 1278; +const unsigned char hod4spPatchBuffer_13[] = { + 0x16, 0x1f, 0x63, 0xbe, 0x81, 0x04, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x26, 0x00, 0x00, 0x01, 0x2b, 0x2f, 0x2f, 0x23, + 0x69, 0x66, 0x20, 0x21, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, + 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x20, 0x29, 0x0d, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x02, 0x00, 0x27, 0x00, + 0x00, 0x4b, 0x00, 0x00, 0x00, 0x01, 0x37, 0x2f, 0x2f, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2a, 0x2a, + 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2f, 0x0d, 0x0a, 0x2f, + 0x2a, 0x20, 0x41, 0x4d, 0x31, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x09, 0x09, 0x2a, 0x2f, 0x0d, 0x02, 0x80, 0x27, 0x00, + 0x00, 0x07, 0x4f, 0x00, 0x00, 0x01, 0x38, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, + 0x78, 0x3b, 0x0d, 0x0a, 0x09, 0x23, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x56, + 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x42, 0x4c, 0x45, 0x4e, 0x44, 0x20, 0x3e, 0x20, 0x31, 0x20, 0x29, 0x0d, 0x0a, 0x02, 0xc0, 0x76, + 0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x01, 0xf6, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, + 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4e, 0x4e, + 0x47, 0x4c, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x54, 0x41, 0x4e, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x0d, + 0x0a, 0x2f, 0x2a, 0x20, 0x95, 0xcf, 0x8a, 0xb7, 0x8d, 0xcf, 0x82, 0xdd, 0x90, 0xda, 0x90, 0xfc, 0x20, 0x2a, 0x2f, 0x0d, 0x0a, 0x68, + 0x61, 0x6c, 0x66, 0x33, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x67, 0x54, 0x61, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, + 0x0a, 0x2f, 0x2a, 0x20, 0x95, 0xcf, 0x8a, 0xb7, 0x8d, 0xcf, 0x82, 0xdd, 0x8f, 0x5d, 0x96, 0x40, 0x90, 0xfc, 0x20, 0x2a, 0x2f, 0x0d, + 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x67, 0x42, 0x69, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, + 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, + 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2a, 0x20, 0x83, 0x4a, 0x83, 0x81, 0x83, + 0x89, 0x82, 0xa9, 0x82, 0xe7, 0x92, 0xb8, 0x93, 0x5f, 0x82, 0xd6, 0x82, 0xcc, 0x8e, 0x8b, 0x90, 0xfc, 0x95, 0xfb, 0x8c, 0xfc, 0x20, + 0x2a, 0x2f, 0x0d, 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x6e, 0x6e, 0x02, 0x80, 0x78, 0x00, 0x00, 0xd9, 0x0d, 0x00, 0x00, 0x01, + 0x2c, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x31, + 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x23, 0x65, 0x6c, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, + 0x4f, 0x02, 0x80, 0x86, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x03, 0x4f, 0x01, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, + 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x2e, 0x78, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, + 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, + 0x49, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x23, 0x65, 0x6c, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, + 0x4c, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x42, 0x4c, 0x45, 0x4e, 0x44, 0x20, 0x3d, 0x3d, + 0x20, 0x33, 0x20, 0x29, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, + 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, 0x29, 0x3b, 0x0d, + 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x20, + 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x79, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, + 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, + 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, + 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, 0x2d, 0x20, 0x6e, 0x6e, 0x67, 0x02, 0x00, + 0x88, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x03, 0x06, 0x01, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, + 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, + 0x78, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, + 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x79, 0x20, 0x29, 0x3b, 0x0d, + 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x2c, 0x20, + 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x7a, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, + 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, + 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x77, 0x29, 0x2c, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, + 0x2d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x79, 0x20, 0x2d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, + 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x7a, 0x20, 0x02, 0x40, 0x89, 0x00, 0x00, 0xfc, 0x4e, 0x00, 0x00, 0x01, 0x05, 0x09, + 0x23, 0x69, 0x66, 0x09, 0x02, 0x40, 0xd8, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x6e, 0x09, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, + 0x0a, 0x09, 0x6c, 0x69, 0x74, 0x64, 0x69, 0x72, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5b, 0x20, 0x6c, 0x69, 0x74, 0x6e, 0x6f, 0x20, 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x78, 0x79, 0x7a, 0x3b, 0x0d, 0x0a, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x09, 0x2f, 0x2f, 0x6c, 0x69, 0x74, 0x64, + 0x69, 0x72, 0x2e, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5b, 0x20, 0x6c, 0x69, 0x74, 0x6e, 0x6f, 0x20, 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x02, 0x00, 0xd9, 0x00, 0x00, 0x81, 0x2b, + 0x00, 0x00}; + +// File: std.dat1 +const char hod4spFileName_14[] = "std.dat1"; +const size_t hod4spPatchSize_14 = 1149; +const unsigned char hod4spPatchBuffer_14[] = { + 0x97, 0x73, 0x28, 0xf3, 0x85, 0xfc, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x53, 0x20, 0x00, 0x00, 0x01, 0x2f, 0x2f, 0x2f, 0x23, + 0x69, 0x66, 0x20, 0x21, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, + 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x20, 0x29, 0x0d, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, + 0x02, 0x80, 0x20, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x80, 0x30, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, + 0x01, 0x29, 0x2f, 0x2a, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, + 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4e, 0x4e, 0x44, 0x41, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x49, 0x02, + 0x40, 0x21, 0x00, 0x00, 0x5e, 0x1d, 0x00, 0x00, 0x01, 0x3b, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, + 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2a, 0x20, 0x8e, + 0x8b, 0x90, 0xfc, 0x95, 0xfb, 0x8c, 0xfc, 0x20, 0x2a, 0x2f, 0x0d, 0x0a, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x67, + 0x45, 0x79, 0x65, 0x02, 0xc0, 0x3e, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x01, 0x65, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, + 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x68, 0x61, + 0x6c, 0x66, 0x33, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x67, 0x42, 0x69, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x68, 0x61, + 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, + 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2a, 0x20, 0x83, 0x89, 0x83, 0x43, 0x83, 0x67, 0x83, 0x41, + 0x83, 0x93, 0x83, 0x72, 0x83, 0x02, 0x40, 0x3f, 0x00, 0x00, 0x52, 0x03, 0x00, 0x00, 0x03, 0x32, 0x02, 0x00, 0x00, 0x0d, 0x0a, 0x68, + 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x31, + 0x20, 0x3d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x31, 0x3b, 0x0d, 0x0a, 0x68, + 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, + 0x20, 0x3d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, 0x3b, 0x0d, 0x0a, 0x68, + 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x34, 0x35, + 0x20, 0x3d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x34, 0x35, 0x3b, 0x0d, 0x0a, 0x68, + 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x36, 0x37, + 0x20, 0x3d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x36, 0x37, 0x3b, 0x0d, 0x0a, 0x0d, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, + 0x30, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x31, 0x2e, 0x78, 0x79, + 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, + 0x64, 0x31, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x31, 0x2e, 0x7a, + 0x77, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x32, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, 0x2e, + 0x78, 0x79, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, + 0x6f, 0x72, 0x64, 0x33, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, + 0x2e, 0x7a, 0x77, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x34, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x34, + 0x35, 0x2e, 0x78, 0x79, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, + 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x35, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, + 0x34, 0x35, 0x2e, 0x7a, 0x77, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, + 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x36, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, + 0x64, 0x36, 0x37, 0x2e, 0x78, 0x79, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, + 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x37, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x36, 0x37, 0x2e, 0x7a, 0x77, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, + 0x50, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x5f, 0x53, 0x48, 0x02, 0x00, 0x44, 0x00, 0x00, 0xc9, 0x41, 0x00, 0x00, 0x01, 0x36, 0x09, 0x2f, + 0x2a, 0x20, 0x6e, 0x56, 0x69, 0x64, 0x69, 0x61, 0x20, 0x83, 0x68, 0x83, 0x89, 0x83, 0x43, 0x83, 0x6f, 0x38, 0x31, 0x78, 0x78, 0x91, + 0xce, 0x89, 0x9e, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x09, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, + 0x64, 0x65, 0x74, 0x6f, 0x75, 0x72, 0x43, 0x6f, 0x02, 0x00, 0x86, 0x00, 0x00, 0xdb, 0x08, 0x00, 0x00, 0x01, 0x28, 0x09, 0x09, 0x09, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x23, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, + 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x32, 0x20, 0x02, 0x00, 0x8f, 0x00, 0x00, 0x58, 0x02, + 0x00, 0x00, 0x01, 0x2e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x23, + 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x38, 0x20, 0x21, 0x3d, 0x20, 0x02, 0x80, 0x91, 0x00, 0x00, 0x84, 0x40, 0x00, 0x00, 0x02, 0x00, 0xd2, 0x00, 0x00, 0xb9, 0x02, + 0x00, 0x00, 0x01, 0x0c, 0x09, 0x09, 0x09, 0x09, 0x09, 0x23, 0x69, 0x66, 0x09, 0x4e, 0x4e, 0x47, 0x02, 0xc0, 0xd4, 0x00, 0x00, 0xdf, + 0x04, 0x00, 0x00, 0x01, 0x23, 0x0d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x74, 0x6e, 0x6f, 0x20, 0x3d, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, 0x02, 0xc0, 0xd9, 0x00, + 0x00, 0xc5, 0x22, 0x00, 0x00}; + +ShaderFilesToPatch hod4spShaderPatches[] = { + {hod4FileName_0, hod4PatchSize_0, hod4PatchBuffer_0, 0, ""}, + {hod4FileName_1, hod4PatchSize_1, hod4PatchBuffer_1, 0, ""}, + {hod4FileName_2, hod4PatchSize_2, hod4PatchBuffer_2, 0, ""}, + {hod4FileName_3, hod4PatchSize_3, hod4PatchBuffer_3, 0, ""}, + {hod4FileName_4, hod4PatchSize_4, hod4PatchBuffer_4, 0, ""}, + {hod4FileName_5, hod4PatchSize_5, hod4PatchBuffer_5, 0, ""}, + {hod4FileName_6, hod4PatchSize_6, hod4PatchBuffer_6, 0, ""}, + {hod4FileName_7, hod4PatchSize_7, hod4PatchBuffer_7, 0, ""}, + {hod4FileName_8, hod4PatchSize_8, hod4PatchBuffer_8, 0, ""}, + {hod4FileName_9, hod4PatchSize_9, hod4PatchBuffer_9, 0, ""}, + {hod4FileName_10, hod4PatchSize_10, hod4PatchBuffer_10, 0, ""}, + {hod4FileName_11, hod4PatchSize_11, hod4PatchBuffer_11, 0, ""}, + {hod4FileName_12, hod4PatchSize_12, hod4PatchBuffer_12, 0, ""}, + {hod4spFileName_13, hod4spPatchSize_13, hod4spPatchBuffer_13, 0, ""}, + {hod4spFileName_14, hod4spPatchSize_14, hod4spPatchBuffer_14, 0, ""}, + {hod4FileName_15, hod4PatchSize_15, hod4PatchBuffer_15, 0, ""}, +}; + +int hod4spShaderPatchesCount = sizeof(hod4spShaderPatches) / sizeof(ShaderFilesToPatch); \ No newline at end of file diff --git a/src/lindbergh/shaderWork/hod4.h b/src/lindbergh/shaderWork/hod4.h new file mode 100644 index 0000000..375db51 --- /dev/null +++ b/src/lindbergh/shaderWork/hod4.h @@ -0,0 +1,7 @@ +#include "common.h" + +extern ShaderFilesToPatch hod4ShaderPatches[]; +extern int hod4ShaderPatchesCount; + +extern ShaderFilesToPatch hod4spShaderPatches[]; +extern int hod4spShaderPatchesCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/hodex.h b/src/lindbergh/shaderWork/hodex.c similarity index 100% rename from src/lindbergh/shader_work/hodex.h rename to src/lindbergh/shaderWork/hodex.c diff --git a/src/lindbergh/shaderWork/hodex.h b/src/lindbergh/shaderWork/hodex.h new file mode 100644 index 0000000..2ca5131 --- /dev/null +++ b/src/lindbergh/shaderWork/hodex.h @@ -0,0 +1,4 @@ +#include "common.h" + +extern ShaderFilesToPatch hodexShaderPatches[]; +extern int hodexShaderPatchesCount; diff --git a/src/lindbergh/shader_work/hummer.h b/src/lindbergh/shaderWork/hummer.c similarity index 100% rename from src/lindbergh/shader_work/hummer.h rename to src/lindbergh/shaderWork/hummer.c diff --git a/src/lindbergh/shaderWork/hummer.h b/src/lindbergh/shaderWork/hummer.h new file mode 100644 index 0000000..b07839f --- /dev/null +++ b/src/lindbergh/shaderWork/hummer.h @@ -0,0 +1,12 @@ +#pragma once +#include "common.h" + +extern int hummerExtremeShaderFileIndex; +extern ShaderFilesToMod hummerShaderFilesToMod[]; +extern int hummerFilesToModCount; +extern SearchReplace hummerShaderReplaceSet1[]; +extern int hummerShaderReplaceSet1Count; +extern SearchReplace hummerShaderReplaceMesa[]; +extern int hummerShaderReplaceMesaCount; +extern SearchReplace hummerShaderReplaceFlicker[]; +extern int hummerShaderReplaceFlickerCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/id.h b/src/lindbergh/shaderWork/id.c similarity index 100% rename from src/lindbergh/shader_work/id.h rename to src/lindbergh/shaderWork/id.c diff --git a/src/lindbergh/shaderWork/id.h b/src/lindbergh/shaderWork/id.h new file mode 100644 index 0000000..c53e69e --- /dev/null +++ b/src/lindbergh/shaderWork/id.h @@ -0,0 +1,10 @@ +#include "common.h" + +extern ShaderFilesToMod idShaderFilesToMod[]; +extern int idFilesToModCount; +extern ShaderFilesToMod id4jShaderFilesToMod[]; +extern int id4FilesToModCount; +extern SearchReplace idShaderReplaceSet[]; +extern int idShaderReplaceCount; +extern SearchReplace id5ShaderReplaceSetForSmoke[]; +extern int id5ShaderReplaceSetForSmokeCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/lgj.h b/src/lindbergh/shaderWork/lgj.c similarity index 100% rename from src/lindbergh/shader_work/lgj.h rename to src/lindbergh/shaderWork/lgj.c diff --git a/src/lindbergh/shaderWork/lgj.h b/src/lindbergh/shaderWork/lgj.h new file mode 100644 index 0000000..aad2ec8 --- /dev/null +++ b/src/lindbergh/shaderWork/lgj.h @@ -0,0 +1,11 @@ +#pragma once +#include "common.h" + +extern ShaderFilesToMod lgjShaderFilesToMod[]; +extern int lgjFilesToModCount; +extern SearchReplace lgjShaderReplaceSet1[]; +extern int lgjShaderReplaceCount1; +extern SearchReplace lgjShaderReplaceSet2[]; +extern int lgjShaderReplaceCount2; +extern SearchReplace lgjCompiledShadersPatch[]; +extern int lgjCompiledShadersPatchCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/mj4.h b/src/lindbergh/shaderWork/mj4.c similarity index 100% rename from src/lindbergh/shader_work/mj4.h rename to src/lindbergh/shaderWork/mj4.c diff --git a/src/lindbergh/shaderWork/mj4.h b/src/lindbergh/shaderWork/mj4.h new file mode 100644 index 0000000..2155360 --- /dev/null +++ b/src/lindbergh/shaderWork/mj4.h @@ -0,0 +1,6 @@ +#include "common.h" + +extern SearchReplace mj4FsMesa[]; +extern int mj4FsMesaCount; +extern SearchReplace mj4VsMesa[]; +extern int mj4VsMesaCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/or2.h b/src/lindbergh/shaderWork/or2.c similarity index 100% rename from src/lindbergh/shader_work/or2.h rename to src/lindbergh/shaderWork/or2.c diff --git a/src/lindbergh/shaderWork/or2.h b/src/lindbergh/shaderWork/or2.h new file mode 100644 index 0000000..3b2f82a --- /dev/null +++ b/src/lindbergh/shaderWork/or2.h @@ -0,0 +1,10 @@ +#include "common.h" + +extern SearchReplace orFsMesa[]; +extern int orFsMesaCount; +extern SearchReplace orVsMesa[]; +extern int orVsMesaCount; +extern SearchReplace orFsNvidia[]; +extern int orFsNvidiaCount; +extern SearchReplace orVsAti[]; +extern int orVsAtiCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/primeval.h b/src/lindbergh/shaderWork/primeval.c similarity index 100% rename from src/lindbergh/shader_work/primeval.h rename to src/lindbergh/shaderWork/primeval.c diff --git a/src/lindbergh/shaderWork/primeval.h b/src/lindbergh/shaderWork/primeval.h new file mode 100644 index 0000000..6ef9603 --- /dev/null +++ b/src/lindbergh/shaderWork/primeval.h @@ -0,0 +1,10 @@ +#include "common.h" + +extern const char phFileName_0[]; +extern const size_t phPatchSize_0; +extern const unsigned char phPatchBuffer_0[]; +extern const char phFileName_1[]; +extern const size_t phPatchSize_1; +extern const unsigned char phPatchBuffer_1[]; +extern ShaderFilesToPatch phShaderPatches[]; +extern int phShaderPatchesCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/rambo.h b/src/lindbergh/shaderWork/rambo.c similarity index 100% rename from src/lindbergh/shader_work/rambo.h rename to src/lindbergh/shaderWork/rambo.c diff --git a/src/lindbergh/shaderWork/rambo.h b/src/lindbergh/shaderWork/rambo.h new file mode 100644 index 0000000..c4f140d --- /dev/null +++ b/src/lindbergh/shaderWork/rambo.h @@ -0,0 +1,6 @@ +#include "common.h" + +extern ShaderFilesToPatch ramboMesaShaderPatches[]; +extern int ramboMesaShaderPatchesCount; +extern ShaderFilesToPatch ramboNvidiaShaderPatches[]; +extern int ramboNvidiaShaderPatchesCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/rtuned.h b/src/lindbergh/shaderWork/rtuned.c similarity index 100% rename from src/lindbergh/shader_work/rtuned.h rename to src/lindbergh/shaderWork/rtuned.c diff --git a/src/lindbergh/shaderWork/rtuned.h b/src/lindbergh/shaderWork/rtuned.h new file mode 100644 index 0000000..004fb8e --- /dev/null +++ b/src/lindbergh/shaderWork/rtuned.h @@ -0,0 +1,6 @@ +#include "common.h" + +extern SearchReplace rtunedFsMesa[]; +extern int rtunedFsMesaCount; +extern SearchReplace rtunedVsMesa[]; +extern int rtunedVsMesaCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/srtv.h b/src/lindbergh/shaderWork/srtv.c similarity index 100% rename from src/lindbergh/shader_work/srtv.h rename to src/lindbergh/shaderWork/srtv.c diff --git a/src/lindbergh/shaderWork/srtv.h b/src/lindbergh/shaderWork/srtv.h new file mode 100644 index 0000000..4c5b18e --- /dev/null +++ b/src/lindbergh/shaderWork/srtv.h @@ -0,0 +1,14 @@ +#include "common.h" + +extern ElfShaderOffsets srtvElfShaderOffsets[]; +extern int srtvShaderOffsetsCount; +extern SearchReplace srtvElf[]; +extern int srtvElfCount; +extern SearchReplace srtvElf2[]; +extern int srtvElfCount2; +extern SearchReplace srtvFsMesa[]; +extern int srtvFsMesaCount; +extern SearchReplace srtvVsNvidia[]; +extern int srtvVsNvidiaCount; +extern SearchReplace srtvVsMesa[]; +extern int srtvVsMesaCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/vf5.h b/src/lindbergh/shaderWork/vf5.c similarity index 97% rename from src/lindbergh/shader_work/vf5.h rename to src/lindbergh/shaderWork/vf5.c index 6f67b7d..2bc5baf 100644 --- a/src/lindbergh/shader_work/vf5.h +++ b/src/lindbergh/shaderWork/vf5.c @@ -349,13 +349,6 @@ SearchReplace vf5VsAtifs[] = { int vf5VsAtifsCount = sizeof(vf5VsAtifs) / sizeof(SearchReplace); -typedef struct -{ - const char *stageAbb; - const char *StageName; - bool patch; -} Vf5StagesList; - Vf5StagesList vf5StageList[] = {{"are", "Arena", true}, {"aur", "Aurora", false}, {"ban", "Great Wall", false}, diff --git a/src/lindbergh/shaderWork/vf5.h b/src/lindbergh/shaderWork/vf5.h new file mode 100644 index 0000000..2eecbeb --- /dev/null +++ b/src/lindbergh/shaderWork/vf5.h @@ -0,0 +1,16 @@ +#include "common.h" + +extern SearchReplace vf5FsMesa[]; +extern int vf5FsMesaCount; +extern SearchReplace vf5VsMesa[]; +extern int vf5VsMesaCount; +extern SearchReplace vf5FsAti[]; +extern int vf5FsAtiCount; +extern SearchReplace vf5VsAti[]; +extern int vf5VsAtiCount; +extern SearchReplace vf5VsAti2[]; +extern int vf5VsAtiCount2; +extern SearchReplace vf5VsAtifs[]; +extern int vf5VsAtifsCount; +extern Vf5StagesList vf5StageList[]; +extern int vf5StageListCount; \ No newline at end of file diff --git a/src/lindbergh/shader_work/vt3.h b/src/lindbergh/shaderWork/vt3.c similarity index 100% rename from src/lindbergh/shader_work/vt3.h rename to src/lindbergh/shaderWork/vt3.c diff --git a/src/lindbergh/shaderWork/vt3.h b/src/lindbergh/shaderWork/vt3.h new file mode 100644 index 0000000..df9c156 --- /dev/null +++ b/src/lindbergh/shaderWork/vt3.h @@ -0,0 +1,8 @@ +#include "common.h" + +extern ShaderFilesToMod vt3ShaderFilesToMod[]; +extern int vt3FilesToModCount; +extern SearchReplace vt3ShaderReplaceSet1[]; +extern int vt3ShaderReplaceCount1; +extern SearchReplace vt3ShaderReplaceSet2[]; +extern int vt3ShaderReplaceCount2; \ No newline at end of file diff --git a/src/lindbergh/shader_work/2spicy.h b/src/lindbergh/shader_work/2spicy.h deleted file mode 100644 index 92aa1bf..0000000 --- a/src/lindbergh/shader_work/2spicy.h +++ /dev/null @@ -1,434 +0,0 @@ -#include "common.h" - -// File: average.frag -const char toospicyFileName_0[] = "average.frag"; -const size_t toospicyPatchSize_0 = 271; -const unsigned char toospicyPatchBuffer_0[] = { - 0xe4, 0x97, 0xac, 0x3a, 0x18, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x2b, 0x76, 0x65, - 0x63, 0x34, 0x20, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x3b, 0x09, 0x0d, 0x0a, 0x76, 0x61, - 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x02, - 0x69, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x14, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x30, - 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x02, 0xac, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, - 0x2f, 0x02, 0x3f, 0x01, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x6c, 0x01, 0x00, 0x00, 0x2e, 0x00, - 0x00, 0x00, 0x01, 0x4f, 0x09, 0x09, 0x63, 0x72, 0x64, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x64, 0x78, 0x29, 0x20, 0x2f, 0x20, 0x31, 0x32, - 0x38, 0x2e, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x20, 0x2b, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x64, 0x79, 0x29, 0x02, - 0x8d, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x2a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x53, 0x69, 0x7a, 0x65, 0x50, - 0x6f, 0x77, 0x65, 0x72, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, - 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x63, 0x29, 0x02, 0xeb, 0x01, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00}; - -// File: average.vert -const char toospicyFileName_1[] = "average.vert"; -const size_t toospicyPatchSize_1 = 82; -const unsigned char toospicyPatchBuffer_1[] = { - 0x07, 0x35, 0xa3, 0xe1, 0xa8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x15, 0x61, 0x72, - 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x02, 0x1b, - 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5b, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, - 0x09, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3d, 0x02, 0x6d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00}; - -// File: DoF.frag -const char toospicyFileName_2[] = "DoF.frag"; -const size_t toospicyPatchSize_2 = 92; -const unsigned char toospicyPatchBuffer_2[] = { - 0xf6, 0xbf, 0xe4, 0x98, 0xd4, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00, 0x01, 0x06, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x02, 0x22, 0x02, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x28, 0x02, 0xe3, 0x02, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x03, 0x2e, 0x30, 0x29, 0x02, - 0x05, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x02, 0x6b, 0x03, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x02, 0xb9, - 0x03, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x02, 0xe2, 0x04, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00}; - -// File: GaussH.frag -const char toospicyFileName_3[] = "GaussH.frag"; -const size_t toospicyPatchSize_3 = 241; -const unsigned char toospicyPatchBuffer_3[] = { - 0xae, 0x80, 0x41, 0x90, 0xa9, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x61, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0x9c, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x01, 0x22, 0x76, 0x65, 0x63, 0x34, 0x20, - 0x63, 0x6f, 0x6c, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, - 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, 0xd4, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0x71, 0x01, - 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x39, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, - 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, - 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x3d, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x7d}; - -// File: GaussH.vert -const char toospicyFileName_4[] = "GaussH.vert"; -const size_t toospicyPatchSize_4 = 53; -const unsigned char toospicyPatchBuffer_4[] = {0xc1, 0x77, 0x6f, 0x38, 0x53, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3a, - 0x01, 0x00, 0x00, 0x01, 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x69, 0x29, 0x2b, - 0x30, 0x2e, 0x35, 0x29, 0x2a, 0x57, 0x49, 0x44, 0x54, 0x48, 0x2c, 0x30, 0x2e, 0x30, - 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x7d}; - -// File: GaussH_Depth.frag -const char toospicyFileName_5[] = "GaussH_Depth.frag"; -const size_t toospicyPatchSize_5 = 495; -const unsigned char toospicyPatchBuffer_5[] = { - 0x80, 0x58, 0x2b, 0x1c, 0x71, 0x04, 0x00, 0x00, 0x01, 0x52, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, - 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x09, - 0x76, 0x65, 0x63, 0x32, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x76, 0x65, - 0x63, 0x33, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x09, 0x76, 0x65, 0x63, 0x34, - 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0xba, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x52, 0x61, 0x79, 0x44, 0x65, 0x70, 0x74, 0x68, - 0x3b, 0x0d, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, - 0x72, 0x64, 0x5b, 0x38, 0x5d, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x57, 0x49, 0x44, 0x54, 0x48, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x38, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x02, 0xd7, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x01, 0x19, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, - 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, 0x0e, 0x01, 0x00, 0x00, - 0xa9, 0x00, 0x00, 0x00, 0x02, 0xb8, 0x01, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xdf, 0x01, 0x00, 0x00, - 0x2b, 0x00, 0x00, 0x00, 0x02, 0x0b, 0x02, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0x32, 0x02, 0x00, 0x00, - 0x9f, 0x00, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x02, 0x29, 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x01, - 0x03, 0x2e, 0x30, 0x29, 0x02, 0xf6, 0x02, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x02, - 0x0c, 0x03, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x03, 0x2e, 0x30, 0x29, 0x02, 0x30, 0x03, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x2e, 0x02, 0xeb, 0x03, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x01, 0x18, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, - 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, 0x47, 0x04, 0x00, 0x00, 0x25, - 0x00, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; - -// File: GaussH_Depth.vert -const char toospicyFileName_6[] = "GaussH_Depth.vert"; -const size_t toospicyPatchSize_6 = 53; -const unsigned char toospicyPatchBuffer_6[] = {0xc1, 0x77, 0x6f, 0x38, 0x53, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3a, - 0x01, 0x00, 0x00, 0x01, 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x69, 0x29, 0x2b, - 0x30, 0x2e, 0x35, 0x29, 0x2a, 0x57, 0x49, 0x44, 0x54, 0x48, 0x2c, 0x30, 0x2e, 0x30, - 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x7d}; - -// File: GaussV.frag -const char toospicyFileName_7[] = "GaussV.frag"; -const size_t toospicyPatchSize_7 = 281; -const unsigned char toospicyPatchBuffer_7[] = { - 0x47, 0x81, 0xa3, 0x96, 0xad, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x01, 0x6a, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x47, 0x61, 0x75, 0x73, 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5b, 0x38, 0x5d, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, - 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x38, 0x3b, 0x0d, 0x0a, - 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x3b, 0x0d, - 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x57, 0x49, 0x44, 0x54, 0x48, 0x38, 0x3b, - 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0xa7, 0x00, 0x00, 0x00, 0x22, 0x00, - 0x00, 0x00, 0x01, 0x22, 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, - 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x02, 0xd4, 0x00, 0x00, 0x00, 0x97, - 0x00, 0x00, 0x00, 0x01, 0x64, 0x2e, 0x30, 0x2c, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x38, 0x29, 0x29, 0x2a, 0x47, 0x61, 0x75, 0x73, - 0x73, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5b, 0x37, 0x2d, 0x69, 0x5d, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, - 0x20, 0x20, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, - 0x62, 0x3d, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, - 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x3d, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; - -// File: GaussV.vert -const char toospicyFileName_8[] = "GaussV.vert"; -const size_t toospicyPatchSize_8 = 40; -const unsigned char toospicyPatchBuffer_8[] = {0x73, 0x83, 0x54, 0x8f, 0x81, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x65, - 0x01, 0x00, 0x00, 0x01, 0x0c, 0x2e, 0x30, 0x2c, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x28, 0x69, 0x29, 0x02, 0x68, 0x01, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00}; - -// File: GetBrightArea.frag -const char toospicyFileName_9[] = "GetBrightArea.frag"; -const size_t toospicyPatchSize_9 = 63; -const unsigned char toospicyPatchBuffer_9[] = { - 0x32, 0x1e, 0x86, 0xd8, 0x17, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, - 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x46, 0x00, 0x00, - 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0x1a, 0x02, 0x00, 0x00, 0xfd, 0x01, 0x00, 0x00, 0x01, 0x02, 0x0d, 0x0a}; - -// File: GlareCompose.frag -const char toospicyFileName_10[] = "GlareCompose.frag"; -const size_t toospicyPatchSize_10 = 482; -const unsigned char toospicyPatchBuffer_10[] = { - 0x3d, 0xef, 0xd1, 0x18, 0x06, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, - 0x1a, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x6c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x42, 0x61, - 0x73, 0x65, 0x54, 0x6f, 0x6e, 0x65, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x50, 0x69, 0x63, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, - 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x76, 0x61, 0x72, - 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x5b, 0x35, 0x5d, 0x3b, - 0x0d, 0x0a, 0x0d, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, 0x0d, 0x0a, 0x7b, - 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x02, 0x27, 0x01, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0x53, 0x01, 0x00, 0x00, - 0x58, 0x00, 0x00, 0x00, 0x03, 0x19, 0x01, 0x00, 0x00, 0x23, 0x69, 0x66, 0x20, 0x31, 0x20, 0x2f, 0x2f, 0x92, 0xc7, 0x89, 0xc1, 0x81, - 0x40, 0x68, 0x61, 0x72, 0x61, 0x68, 0x0d, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x34, 0x09, 0x42, 0x54, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x42, 0x61, 0x73, 0x65, 0x54, 0x6f, 0x6e, - 0x65, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x50, 0x69, 0x63, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x5b, 0x30, 0x5d, 0x29, - 0x2a, 0x31, 0x2e, 0x37, 0x35, 0x3b, 0x0d, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x34, 0x09, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, - 0x3b, 0x0d, 0x0a, 0x09, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x72, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x63, - 0x6f, 0x6c, 0x2e, 0x72, 0x2c, 0x42, 0x54, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x2e, 0x72, 0x29, 0x3b, 0x0d, 0x0a, 0x09, - 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x67, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6c, 0x2e, 0x67, - 0x2c, 0x42, 0x54, 0x47, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x2e, 0x67, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x62, 0x6c, 0x65, 0x6e, - 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x62, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6c, 0x2e, 0x62, 0x2c, 0x42, 0x54, 0x47, - 0x6c, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x2e, 0x62, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x20, - 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x62, 0x6c, - 0x65, 0x6e, 0x64, 0x6d, 0x69, 0x78, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x20, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x3b, 0x0d, 0x0a, 0x23, - 0x69, 0x66, 0x20, 0x30, 0x02, 0xca, 0x01, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0x01, 0x1b, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, - 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x3d, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; - -// File: gradate.frag -const char toospicyFileName_11[] = "gradate.frag"; -const size_t toospicyPatchSize_11 = 101; -const unsigned char toospicyPatchBuffer_11[] = { - 0xa4, 0x99, 0x62, 0x6c, 0x21, 0x02, 0x00, 0x00, 0x01, 0x52, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, - 0x66, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x09, 0x76, 0x65, 0x63, 0x32, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, - 0x09, 0x76, 0x65, 0x63, 0x33, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x09, - 0x76, 0x65, 0x63, 0x34, 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02, 0x00, 0x00}; - -// File: intensitytest.frag -const char toospicyFileName_12[] = "intensitytest.frag"; -const size_t toospicyPatchSize_12 = 47; -const unsigned char toospicyPatchBuffer_12[] = {0x2c, 0xe4, 0xe3, 0x09, 0x56, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x00, 0xfe, 0x01, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x02, 0x02, 0x02, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x76, - 0x65, 0x63, 0x02, 0x35, 0x02, 0x00, 0x00, 0x21, 0x01, 0x00, 0x00}; - -// File: Laplacian.frag -const char toospicyFileName_13[] = "Laplacian.frag"; -const size_t toospicyPatchSize_13 = 152; -const unsigned char toospicyPatchBuffer_13[] = { - 0x27, 0xee, 0x97, 0x8c, 0x91, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, - 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x01, - 0x02, 0x2e, 0x30, 0x02, 0x35, 0x02, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xba, 0x02, 0x00, 0x00, 0x41, - 0x00, 0x00, 0x00, 0x01, 0x0e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6c, 0x61, 0x70, 0x29, 0x2c, 0x76, 0x65, 0x63, 0x33, 0x02, 0xff, 0x02, - 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, - 0x02, 0x2f, 0x03, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x0e, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, 0x31, 0x2e, 0x30, 0x2c, - 0x31, 0x2e, 0x30, 0x02, 0x56, 0x03, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x06, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; - -// File: Monochrome.frag -const char toospicyFileName_14[] = "Monochrome.frag"; -const size_t toospicyPatchSize_14 = 330; -const unsigned char toospicyPatchBuffer_14[] = { - 0x60, 0xe0, 0xef, 0x32, 0x33, 0x03, 0x00, 0x00, 0x01, 0x66, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x09, 0x4d, 0x4f, 0x44, 0x45, - 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x09, 0x30, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, - 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x4e, 0x4f, 0x43, 0x48, 0x52, 0x4f, - 0x4d, 0x45, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, 0x3d, 0x30, 0x29, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x09, 0x53, 0x45, 0x50, 0x49, 0x41, 0x09, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, 0x3d, 0x31, 0x29, 0x0d, 0x0a, - 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, - 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x01, 0x3f, 0x68, 0x61, 0x6c, 0x66, 0x34, - 0x20, 0x6d, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, 0x6c, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, - 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x6f, 0x6e, - 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x76, 0x65, 0x63, 0x33, 0x28, 0x02, 0x91, 0x02, 0x00, 0x00, 0x29, 0x00, 0x00, - 0x00, 0x01, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x09, 0x53, 0x45, 0x50, 0x49, 0x41, 0x0d, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, - 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x2a, 0x3d, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x30, 0x2e, - 0x36, 0x2c, 0x30, 0x2e, 0x33, 0x29, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x09, 0x2f, 0x2a, 0x09, 0x53, 0x45, 0x50, - 0x49, 0x41, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x61, 0x3d, 0x31, 0x2e, 0x30, 0x3b, - 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x02, 0xed, 0x02, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x03, 0x7d, 0x0d, 0x0a}; - -// File: Monochrome.vert -const char toospicyFileName_15[] = "Monochrome.vert"; -const size_t toospicyPatchSize_15 = 121; -const unsigned char toospicyPatchBuffer_15[] = { - 0x78, 0x26, 0x8a, 0x51, 0x79, 0x00, 0x00, 0x00, 0x01, 0x66, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x09, 0x4d, 0x4f, 0x44, - 0x45, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x09, 0x30, 0x0d, 0x0a, 0x23, 0x65, - 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x4d, 0x4f, 0x4e, 0x4f, 0x43, - 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, 0x3d, 0x30, 0x29, 0x0d, 0x0a, 0x23, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x09, 0x53, 0x45, 0x50, 0x49, 0x41, 0x09, 0x09, 0x09, 0x09, 0x28, 0x4d, 0x4f, 0x44, 0x45, 0x3d, - 0x3d, 0x31, 0x29, 0x0d, 0x0a, 0x0d, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00}; - -// File: nnstdshader.vert -const char toospicyFileName_16[] = "nnstdshader.vert"; -const size_t toospicyPatchSize_16 = 652; -const unsigned char toospicyPatchBuffer_16[] = { - 0x39, 0x15, 0xd4, 0xa8, 0x53, 0x16, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x9d, 0x01, 0x01, 0x00, 0x02, 0xaa, 0x01, 0x01, 0x00, - 0x27, 0x00, 0x00, 0x00, 0x01, 0x04, 0x69, 0x66, 0x20, 0x28, 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x39, 0x3e, - 0x20, 0x30, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, - 0x61, 0x72, 0x61, 0x6c, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x28, 0x30, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x09, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, 0x69, 0x66, 0x02, 0xf2, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, - 0x0f, 0x20, 0x3e, 0x20, 0x31, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, - 0x00, 0x00, 0x00, 0x01, 0x39, 0x3e, 0x20, 0x31, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x09, 0x6e, 0x6e, 0x67, - 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x28, 0x31, 0x29, 0x3b, - 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, 0x69, 0x66, 0x02, 0xf2, 0x0d, 0x00, - 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x20, 0x3e, 0x20, 0x32, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, - 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x39, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x09, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, - 0x68, 0x74, 0x28, 0x32, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, - 0x69, 0x66, 0x02, 0xf2, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x20, 0x3e, 0x20, 0x33, 0x0d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, 0x02, 0x4a, 0x36, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x6c, 0x3e, 0x20, 0x33, 0x29, 0x20, - 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6c, - 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x28, 0x33, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x7d, 0x0d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, 0x65, 0x6e, 0x64, - 0x69, 0x66, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, - 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x09, 0x02, 0x3a, 0x37, 0x00, 0x00, 0x20, 0x00, - 0x00, 0x00, 0x01, 0x21, 0x20, 0x20, 0x20, 0x20, 0x09, 0x69, 0x66, 0x20, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x75, 0x4e, 0x75, 0x6d, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3e, 0x20, 0x30, 0x29, 0x20, 0x02, 0xd2, 0x02, 0x01, 0x00, 0x18, 0x00, - 0x00, 0x00, 0x01, 0x0a, 0x34, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x7d, 0x0d, 0x0a, 0x09, 0x02, 0x3a, 0x37, 0x00, 0x00, 0x1e, 0x00, 0x00, - 0x00, 0x01, 0x23, 0x20, 0x3e, 0x20, 0x31, 0x0d, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x75, 0x4e, 0x75, 0x6d, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3e, 0x20, 0x31, 0x29, 0x20, 0x02, 0xd2, 0x02, 0x01, 0x00, 0x18, - 0x00, 0x00, 0x00, 0x01, 0x09, 0x35, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x7d, 0x0d, 0x0a, 0x02, 0x54, 0xc9, 0x00, 0x00, 0x15, 0x00, 0x00, - 0x00, 0x01, 0x03, 0x23, 0x69, 0x66, 0x02, 0xef, 0x38, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x01, 0x36, 0x0d, 0x0a, 0x09, 0x69, 0x66, - 0x20, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x75, 0x4e, 0x75, 0x6d, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3e, 0x20, - 0x30, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x09, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, - 0x67, 0x68, 0x74, 0x28, 0x36, 0x02, 0xb0, 0x03, 0x01, 0x00, 0xa3, 0x12, 0x00, 0x00}; - -// File: Posterization.frag -const char toospicyFileName_17[] = "Posterization.frag"; -const size_t toospicyPatchSize_17 = 59; -const unsigned char toospicyPatchBuffer_17[] = {0xc1, 0xb7, 0x73, 0x37, 0xa9, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, - 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, - 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x01, 0x05, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0x1a, 0x02, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00}; - -// File: Sepia.frag -const char toospicyFileName_18[] = "Sepia.frag"; -const size_t toospicyPatchSize_18 = 320; -const unsigned char toospicyPatchBuffer_18[] = { - 0xe5, 0x2e, 0xad, 0xed, 0xa1, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, - 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x22, 0x2f, 0x2f, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, - 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, - 0x02, 0xf2, 0x01, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x52, 0x61, 0x74, 0x65, 0x3b, - 0x02, 0x44, 0x02, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0xdd, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x6f, - 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x3d, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x4f, 0x72, 0x69, 0x67, 0x50, - 0x69, 0x63, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6c, - 0x66, 0x34, 0x20, 0x73, 0x65, 0x70, 0x69, 0x61, 0x63, 0x6f, 0x6c, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x70, 0x69, - 0x61, 0x63, 0x6f, 0x6c, 0x2e, 0x72, 0x67, 0x62, 0x3d, 0x64, 0x6f, 0x74, 0x28, 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x2e, 0x72, - 0x67, 0x62, 0x2c, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x30, 0x2e, 0x32, 0x39, 0x39, 0x2c, 0x30, 0x2e, 0x35, 0x38, 0x37, 0x2c, 0x30, - 0x2e, 0x31, 0x34, 0x34, 0x29, 0x29, 0x2a, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x36, 0x2c, 0x30, - 0x2e, 0x33, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x70, 0x69, 0x61, 0x63, 0x6f, 0x6c, 0x2e, 0x61, 0x3d, 0x31, - 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x3d, 0x6d, 0x69, 0x78, 0x28, 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x2c, 0x73, 0x65, 0x70, 0x69, 0x61, 0x63, 0x6f, 0x6c, - 0x2c, 0x52, 0x61, 0x74, 0x65, 0x29, 0x3b, 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; - -// File: Sepia.vert -const char toospicyFileName_19[] = "Sepia.vert"; -const size_t toospicyPatchSize_19 = 68; -const unsigned char toospicyPatchBuffer_19[] = {0xd1, 0x30, 0x7b, 0xf2, 0x9a, 0x00, 0x00, 0x00, 0x01, 0x31, 0x76, 0x61, 0x72, 0x79, - 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, - 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, 0x0d, 0x0a, 0x7b, 0x0d, 0x0a, - 0x20, 0x20, 0x20, 0x02, 0x52, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00}; - -// File: Solarization.frag -const char toospicyFileName_20[] = "Solarization.frag"; -const size_t toospicyPatchSize_20 = 98; -const unsigned char toospicyPatchBuffer_20[] = { - 0x90, 0xdb, 0xc4, 0x2d, 0x22, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, - 0x2f, 0x02, 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x46, - 0x00, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0x1a, 0x02, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x01, - 0x02, 0x2e, 0x30, 0x02, 0xa5, 0x02, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xd1, 0x02, 0x00, - 0x00, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xfd, 0x02, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00}; - -// File: Test0.frag -const char toospicyFileName_21[] = "Test0.frag"; -const size_t toospicyPatchSize_21 = 907; -const unsigned char toospicyPatchBuffer_21[] = { - 0x82, 0x87, 0xe9, 0xd6, 0x17, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x01, 0x77, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x45, 0x64, 0x67, 0x65, 0x52, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x45, 0x64, 0x67, 0x65, 0x47, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x45, 0x64, 0x67, 0x65, 0x42, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x57, 0x69, 0x64, 0x74, 0x68, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0xd3, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x01, 0x5e, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, - 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x29, - 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x3d, 0x66, - 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2a, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x29, 0x2f, 0x32, 0x35, 0x36, 0x2e, - 0x30, 0x02, 0x6d, 0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x53, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x46, - 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x67, 0x3d, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x44, 0x65, 0x70, 0x74, 0x68, - 0x2a, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x29, 0x2f, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, - 0x2d, 0x3d, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x67, 0x3b, 0x44, 0x65, 0x70, 0x74, 0x68, - 0x2a, 0x3d, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x02, 0xdf, 0x01, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x01, 0x31, 0x3b, 0x0d, 0x0a, 0x23, - 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x43, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3b, 0x0d, 0x0a, - 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x34, 0x5d, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x76, 0x65, - 0x63, 0x02, 0x3f, 0x02, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x03, 0x4e, 0x01, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, - 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x29, - 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, - 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, - 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2d, 0x32, 0x2e, 0x30, 0x2f, 0x57, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x74, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, - 0x68, 0x2c, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2b, 0x32, 0x2e, 0x30, 0x2f, - 0x57, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0d, - 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, - 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, - 0x72, 0x64, 0x2e, 0x78, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x79, 0x2d, 0x32, 0x2e, 0x30, 0x2f, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x74, 0x68, 0x5b, 0x33, 0x5d, 0x20, 0x3d, - 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x76, - 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2c, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x2e, 0x79, 0x2b, 0x32, 0x2e, 0x30, 0x2f, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x02, 0xd3, 0x03, - 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0xf2, 0x03, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x01, 0x6e, 0x20, 0x28, - 0x65, 0x64, 0x67, 0x65, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x29, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, - 0x62, 0x3d, 0x76, 0x65, 0x63, 0x33, 0x28, 0x45, 0x64, 0x67, 0x65, 0x52, 0x2c, 0x45, 0x64, 0x67, 0x65, 0x47, 0x2c, 0x45, 0x64, 0x67, - 0x65, 0x42, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x02, 0x9d, - 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x01, 0x12, 0x3b, 0x0d, 0x0a, 0x09, 0x7d, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, - 0x0d, 0x0a, 0x7d, 0x0d, 0x0a}; - -// File: Test1.frag -const char toospicyFileName_22[] = "Test1.frag"; -const size_t toospicyPatchSize_22 = 544; -const unsigned char toospicyPatchBuffer_22[] = { - 0xde, 0x48, 0xcd, 0x78, 0x13, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, - 0x5a, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0x8e, 0x01, 0x00, 0x00, 0x41, 0x00, - 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, 0xcf, 0x01, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x01, 0x90, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x58, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x59, 0x3b, 0x0d, - 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x52, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, - 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, - 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x52, 0x32, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, - 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x46, 0x6c, 0x61, 0x74, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x32, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, - 0x6d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x02, 0xd9, 0x02, 0x00, 0x00, 0xce, 0x01, 0x00, 0x00, 0x01, 0x01, 0x2e, 0x02, 0xa6, 0x04, - 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x01, 0x4b, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6e, 0x65, 0x77, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x3d, - 0x30, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x28, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x20, 0x3e, 0x20, 0x31, 0x2e, 0x30, - 0x29, 0x7b, 0x0d, 0x0a, 0x09, 0x09, 0x20, 0x20, 0x6e, 0x2e, 0x78, 0x20, 0x2a, 0x3d, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, - 0x09, 0x09, 0x09, 0x6e, 0x65, 0x77, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x20, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x02, 0x33, 0x05, 0x00, 0x00, - 0x39, 0x00, 0x00, 0x00, 0x01, 0x23, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x65, 0x79, 0x65, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x30, - 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x65, 0x79, 0x65, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x2e, 0x30, 0x02, 0x89, 0x05, - 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x01, 0x03, 0x6e, 0x65, 0x77, 0x02, 0xb0, 0x05, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x01, 0x25, - 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x02, 0x48, 0x06, 0x00, 0x00, 0x26, 0x00, - 0x00, 0x00, 0x01, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x02, 0x6f, 0x06, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, - 0x01, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x02, 0xb7, 0x06, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, 0x01, 0x2d, - 0x76, 0x65, 0x63, 0x32, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, - 0x3b, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x32, 0x02, 0x7f, 0x07, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, - 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x02, 0xa5, 0x07, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00}; - -// File: YUVCompose.frag -const char toospicyFileName_23[] = "YUVCompose.frag"; -const size_t toospicyPatchSize_23 = 507; -const unsigned char toospicyPatchBuffer_23[] = { - 0xee, 0x1d, 0x3d, 0x9c, 0x54, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x01, 0x02, 0x2f, 0x2f, 0x02, - 0x5c, 0x01, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x49, 0x2f, 0x2f, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, - 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, - 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x59, 0x54, - 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x3b, 0x0d, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x02, 0x07, 0x02, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x01, 0x25, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, - 0x44, 0x20, 0x43, 0x62, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x09, 0x30, 0x02, - 0x33, 0x02, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2e, 0x30, 0x02, 0xba, 0x02, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x01, - 0x7a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x59, 0x43, 0x62, - 0x43, 0x72, 0x32, 0x52, 0x47, 0x42, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x0d, 0x0a, 0x28, - 0x20, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x20, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x31, 0x2e, 0x31, 0x36, 0x34, 0x2c, 0x0d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x2d, 0x30, 0x2e, 0x33, 0x39, 0x32, 0x2c, 0x32, 0x2e, 0x30, 0x31, 0x37, 0x2c, 0x0d, - 0x0a, 0x20, 0x20, 0x31, 0x2e, 0x35, 0x39, 0x36, 0x2c, 0x2d, 0x30, 0x2e, 0x38, 0x31, 0x33, 0x2c, 0x20, 0x20, 0x30, 0x2e, 0x30, 0x0d, - 0x0a, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x02, 0x28, 0x03, 0x00, 0x00, 0xde, 0x00, 0x00, 0x00, - 0x01, 0x2e, 0x23, 0x69, 0x66, 0x09, 0x30, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, 0x41, 0x2d, 0x3d, 0x68, 0x61, - 0x6c, 0x66, 0x34, 0x28, 0x31, 0x36, 0x2e, 0x30, 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x35, 0x2c, 0x30, 0x2e, 0x35, - 0x2c, 0x30, 0x29, 0x3b, 0x02, 0x2d, 0x04, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x8c, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, - 0x20, 0x20, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, 0x41, 0x2e, 0x72, 0x67, 0x62, 0x2d, 0x3d, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x31, - 0x36, 0x2e, 0x30, 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x2c, 0x30, 0x2e, 0x35, 0x2c, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x0d, 0x0a, 0x20, - 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x59, - 0x43, 0x62, 0x43, 0x72, 0x32, 0x52, 0x47, 0x42, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x2a, 0x20, 0x59, 0x43, 0x62, 0x43, 0x72, - 0x41, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x7d, 0x0d, - 0x0a}; - -ShaderFilesToPatch tooSpicyShaderPatches[] = {{toospicyFileName_0, toospicyPatchSize_0, toospicyPatchBuffer_0, 0, ""}, - {toospicyFileName_1, toospicyPatchSize_1, toospicyPatchBuffer_1, 0, ""}, - {toospicyFileName_2, toospicyPatchSize_2, toospicyPatchBuffer_2, 0, ""}, - {toospicyFileName_3, toospicyPatchSize_3, toospicyPatchBuffer_3, 0, ""}, - {toospicyFileName_4, toospicyPatchSize_4, toospicyPatchBuffer_4, 0, ""}, - {toospicyFileName_5, toospicyPatchSize_5, toospicyPatchBuffer_5, 0, ""}, - {toospicyFileName_6, toospicyPatchSize_6, toospicyPatchBuffer_6, 0, ""}, - {toospicyFileName_7, toospicyPatchSize_7, toospicyPatchBuffer_7, 0, ""}, - {toospicyFileName_8, toospicyPatchSize_8, toospicyPatchBuffer_8, 0, ""}, - {toospicyFileName_9, toospicyPatchSize_9, toospicyPatchBuffer_9, 0, ""}, - {toospicyFileName_10, toospicyPatchSize_10, toospicyPatchBuffer_10, 0, ""}, - {toospicyFileName_11, toospicyPatchSize_11, toospicyPatchBuffer_11, 0, ""}, - {toospicyFileName_12, toospicyPatchSize_12, toospicyPatchBuffer_12, 0, ""}, - {toospicyFileName_13, toospicyPatchSize_13, toospicyPatchBuffer_13, 0, ""}, - {toospicyFileName_14, toospicyPatchSize_14, toospicyPatchBuffer_14, 0, ""}, - {toospicyFileName_15, toospicyPatchSize_15, toospicyPatchBuffer_15, 0, ""}, - {toospicyFileName_16, toospicyPatchSize_16, toospicyPatchBuffer_16, 0, ""}, - {toospicyFileName_17, toospicyPatchSize_17, toospicyPatchBuffer_17, 0, ""}, - {toospicyFileName_18, toospicyPatchSize_18, toospicyPatchBuffer_18, 0, ""}, - {toospicyFileName_19, toospicyPatchSize_19, toospicyPatchBuffer_19, 0, ""}, - {toospicyFileName_20, toospicyPatchSize_20, toospicyPatchBuffer_20, 0, ""}, - {toospicyFileName_21, toospicyPatchSize_21, toospicyPatchBuffer_21, 0, ""}, - {toospicyFileName_22, toospicyPatchSize_22, toospicyPatchBuffer_22, 0, ""}, - {toospicyFileName_23, toospicyPatchSize_23, toospicyPatchBuffer_23, 0, ""}}; - -int tooSpicyShaderPatchesCount = sizeof(tooSpicyShaderPatches) / sizeof(ShaderFilesToPatch); diff --git a/src/lindbergh/shader_work/common.h b/src/lindbergh/shader_work/common.h deleted file mode 100644 index d0fdb75..0000000 --- a/src/lindbergh/shader_work/common.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once -#include -#include - -typedef struct -{ - const char *search; - const char *replacement; -} SearchReplace; - -typedef struct -{ - uint32_t startOffset; // Offset inside the ELF - uint32_t totalSize; // Available size for the shader program - uint32_t sizeOfCode; // Size used by the original shader program -} ElfShaderOffsets; - -typedef struct -{ - char *fileName; - size_t shaderBufferSize; - char *shaderBuffer; -} ShaderFilesToMod; - -typedef struct -{ - const char *fileName; - size_t patchBufferSize; - const unsigned char *patchBuffer; - size_t shaderBufferSize; - const char *shaderBuffer; -} ShaderFilesToPatch; - -SearchReplace attribsSet[] = {{"POSITION;", "ATTR0;"}, {"COLOR0;", "ATTR3;"}, {"COLOR;", "ATTR3;"}, - {"BINORMAL;", "ATTR15;"}, {"NORMAL;", "ATTR2;"}, {"TEXCOORD0;", "ATTR8;"}, - {"TEXCOORD1;", "ATTR9;"}, {"TEXCOORD2;", "ATTR10;"}, {"TEXCOORD3;", "ATTR11;"}, - {"TANGENT;", "ATTR14;"}, {"BLENDWEIGHT;", "ATTR1;"}, {"BLENDINDICES;", "ATTR7;"}}; - -int attribsSetCount = sizeof(attribsSet) / sizeof(SearchReplace); - -char *nnstdshader_vert; -char *nnstdshader_frag; \ No newline at end of file diff --git a/src/lindbergh/shader_work/hod4sp.h b/src/lindbergh/shader_work/hod4sp.h deleted file mode 100644 index 95c2104..0000000 --- a/src/lindbergh/shader_work/hod4sp.h +++ /dev/null @@ -1,162 +0,0 @@ -#include "common.h" -#include "hod4.h" - -// File: std.dat0 -const char hod4spFileName_13[] = "std.dat0"; -const size_t hod4spPatchSize_13 = 1278; -const unsigned char hod4spPatchBuffer_13[] = { - 0x16, 0x1f, 0x63, 0xbe, 0x81, 0x04, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x26, 0x00, 0x00, 0x01, 0x2b, - 0x2f, 0x2f, 0x23, 0x69, 0x66, 0x20, 0x21, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x46, - 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x20, 0x29, 0x0d, 0x0a, 0x09, 0x23, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x20, 0x02, 0x00, 0x27, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x01, 0x37, 0x2f, 0x2f, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, - 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2f, 0x0d, 0x0a, 0x2f, 0x2a, 0x20, 0x41, 0x4d, - 0x31, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x09, 0x09, 0x2a, 0x2f, 0x0d, 0x02, 0x80, 0x27, 0x00, 0x00, - 0x07, 0x4f, 0x00, 0x00, 0x01, 0x38, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, - 0x49, 0x64, 0x78, 0x3b, 0x0d, 0x0a, 0x09, 0x23, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, - 0x4f, 0x50, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x42, 0x4c, 0x45, 0x4e, 0x44, 0x20, 0x3e, 0x20, - 0x31, 0x20, 0x29, 0x0d, 0x0a, 0x02, 0xc0, 0x76, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x01, 0xf6, 0x20, 0x3d, 0x20, - 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, - 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, - 0x50, 0x54, 0x5f, 0x54, 0x41, 0x4e, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x0d, 0x0a, 0x2f, - 0x2a, 0x20, 0x95, 0xcf, 0x8a, 0xb7, 0x8d, 0xcf, 0x82, 0xdd, 0x90, 0xda, 0x90, 0xfc, 0x20, 0x2a, 0x2f, 0x0d, 0x0a, - 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x67, 0x54, 0x61, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x20, - 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, - 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x2f, 0x2a, 0x20, 0x95, 0xcf, 0x8a, 0xb7, 0x8d, 0xcf, 0x82, 0xdd, - 0x8f, 0x5d, 0x96, 0x40, 0x90, 0xfc, 0x20, 0x2a, 0x2f, 0x0d, 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x6e, 0x6e, - 0x67, 0x6c, 0x67, 0x42, 0x69, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, - 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, - 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2a, 0x20, 0x83, 0x4a, 0x83, 0x81, 0x83, - 0x89, 0x82, 0xa9, 0x82, 0xe7, 0x92, 0xb8, 0x93, 0x5f, 0x82, 0xd6, 0x82, 0xcc, 0x8e, 0x8b, 0x90, 0xfc, 0x95, 0xfb, - 0x8c, 0xfc, 0x20, 0x2a, 0x2f, 0x0d, 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x09, 0x6e, 0x6e, 0x02, 0x80, 0x78, 0x00, - 0x00, 0xd9, 0x0d, 0x00, 0x00, 0x01, 0x2c, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, - 0x49, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x23, 0x65, - 0x6c, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, 0x02, 0x80, 0x86, 0x00, 0x00, 0x4a, - 0x00, 0x00, 0x00, 0x03, 0x4f, 0x01, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, - 0x78, 0x49, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x2e, 0x78, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, - 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, - 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, - 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, - 0x23, 0x65, 0x6c, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x56, - 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x42, 0x4c, 0x45, 0x4e, 0x44, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x29, 0x0d, - 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, - 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, - 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, - 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, - 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x2e, 0x79, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, - 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, - 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, - 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, 0x2d, 0x20, 0x6e, 0x6e, - 0x67, 0x02, 0x00, 0x88, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x03, 0x06, 0x01, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x28, - 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, - 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, - 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, - 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, - 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x79, 0x20, 0x29, 0x3b, 0x0d, 0x0a, - 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, 0x78, 0x49, 0x64, 0x78, - 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x7a, 0x20, - 0x29, 0x3b, 0x0d, 0x0a, 0x09, 0x6e, 0x6e, 0x67, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x4d, 0x74, - 0x78, 0x49, 0x64, 0x78, 0x2e, 0x77, 0x29, 0x2c, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x31, 0x2e, 0x30, - 0x20, 0x2d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x78, 0x20, 0x2d, 0x20, - 0x6e, 0x6e, 0x67, 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x79, 0x20, 0x2d, 0x20, 0x6e, 0x6e, 0x67, - 0x6c, 0x61, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x7a, 0x20, 0x02, 0x40, 0x89, 0x00, 0x00, 0xfc, 0x4e, 0x00, - 0x00, 0x01, 0x05, 0x09, 0x23, 0x69, 0x66, 0x09, 0x02, 0x40, 0xd8, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x6e, - 0x09, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x09, 0x6c, 0x69, 0x74, 0x64, 0x69, 0x72, 0x20, 0x3d, 0x20, 0x67, - 0x6c, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5b, 0x20, 0x6c, 0x69, 0x74, 0x6e, - 0x6f, 0x20, 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0d, 0x0a, - 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x09, 0x2f, 0x2f, 0x6c, 0x69, 0x74, 0x64, 0x69, 0x72, 0x2e, - 0x78, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5b, 0x20, 0x6c, 0x69, 0x74, 0x6e, 0x6f, 0x20, 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x02, 0x00, 0xd9, 0x00, - 0x00, 0x81, 0x2b, 0x00, 0x00}; - -// File: std.dat1 -const char hod4spFileName_14[] = "std.dat1"; -const size_t hod4spPatchSize_14 = 1149; -const unsigned char hod4spPatchBuffer_14[] = { - 0x97, 0x73, 0x28, 0xf3, 0x85, 0xfc, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x53, 0x20, 0x00, 0x00, 0x01, 0x2f, - 0x2f, 0x2f, 0x23, 0x69, 0x66, 0x20, 0x21, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x46, - 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x20, 0x29, 0x0d, 0x0a, 0x09, 0x23, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x02, 0x80, 0x20, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x01, - 0x02, 0x2f, 0x2f, 0x02, 0x80, 0x30, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x29, 0x2f, 0x2a, 0x20, 0x55, 0x73, - 0x65, 0x72, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x09, 0x2a, 0x2f, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x09, 0x4e, 0x4e, 0x44, 0x41, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x49, 0x02, 0x40, - 0x21, 0x00, 0x00, 0x5e, 0x1d, 0x00, 0x00, 0x01, 0x3b, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x20, - 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x0d, - 0x0a, 0x2f, 0x2a, 0x20, 0x8e, 0x8b, 0x90, 0xfc, 0x95, 0xfb, 0x8c, 0xfc, 0x20, 0x2a, 0x2f, 0x0d, 0x0a, 0x76, 0x65, - 0x63, 0x33, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x67, 0x45, 0x79, 0x65, 0x02, 0xc0, 0x3e, 0x00, 0x00, 0x4d, 0x00, 0x00, - 0x00, 0x01, 0x65, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, - 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, 0x0d, 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x20, 0x6e, - 0x6e, 0x67, 0x6c, 0x67, 0x42, 0x69, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, - 0x33, 0x28, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x20, 0x29, 0x3b, - 0x0d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, 0x2f, 0x2a, 0x20, 0x83, 0x89, 0x83, 0x43, - 0x83, 0x67, 0x83, 0x41, 0x83, 0x93, 0x83, 0x72, 0x83, 0x02, 0x40, 0x3f, 0x00, 0x00, 0x52, 0x03, 0x00, 0x00, 0x03, - 0x32, 0x02, 0x00, 0x00, 0x0d, 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, - 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x31, 0x20, 0x3d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, - 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x31, 0x3b, 0x0d, 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, - 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, 0x20, 0x3d, 0x20, - 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, 0x3b, 0x0d, 0x0a, 0x68, - 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x34, 0x35, 0x20, 0x3d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x34, 0x35, 0x3b, 0x0d, 0x0a, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, - 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, - 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x36, 0x37, 0x3b, 0x0d, 0x0a, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x09, 0x67, 0x5f, - 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x31, 0x2e, 0x78, 0x79, 0x0d, - 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x31, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x30, 0x31, 0x2e, 0x7a, 0x77, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, - 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, - 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, 0x2e, 0x78, 0x79, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x33, 0x09, - 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x33, 0x2e, 0x7a, - 0x77, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x34, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x34, 0x35, 0x2e, 0x78, 0x79, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, - 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x35, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, - 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x34, 0x35, 0x2e, 0x7a, 0x77, 0x0d, 0x0a, 0x23, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x36, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x36, 0x37, - 0x2e, 0x78, 0x79, 0x0d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, - 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x37, 0x09, 0x67, 0x5f, 0x6e, 0x6e, 0x67, 0x6c, 0x76, 0x54, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x36, 0x37, 0x2e, 0x7a, 0x77, 0x0d, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, - 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x5f, 0x53, 0x48, 0x02, 0x00, 0x44, 0x00, - 0x00, 0xc9, 0x41, 0x00, 0x00, 0x01, 0x36, 0x09, 0x2f, 0x2a, 0x20, 0x6e, 0x56, 0x69, 0x64, 0x69, 0x61, 0x20, 0x83, - 0x68, 0x83, 0x89, 0x83, 0x43, 0x83, 0x6f, 0x38, 0x31, 0x78, 0x78, 0x91, 0xce, 0x89, 0x9e, 0x09, 0x2a, 0x2f, 0x0d, - 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x09, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x64, 0x65, 0x74, 0x6f, - 0x75, 0x72, 0x43, 0x6f, 0x02, 0x00, 0x86, 0x00, 0x00, 0xdb, 0x08, 0x00, 0x00, 0x01, 0x28, 0x09, 0x09, 0x09, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x23, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, - 0x4c, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x32, 0x20, 0x02, 0x00, - 0x8f, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x01, 0x2e, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x23, 0x65, 0x6e, 0x64, - 0x69, 0x66, 0x0d, 0x0a, 0x09, 0x09, 0x09, 0x23, 0x69, 0x66, 0x20, 0x28, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, - 0x4f, 0x50, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x38, 0x20, 0x21, 0x3d, 0x20, 0x02, 0x80, - 0x91, 0x00, 0x00, 0x84, 0x40, 0x00, 0x00, 0x02, 0x00, 0xd2, 0x00, 0x00, 0xb9, 0x02, 0x00, 0x00, 0x01, 0x0c, 0x09, - 0x09, 0x09, 0x09, 0x09, 0x23, 0x69, 0x66, 0x09, 0x4e, 0x4e, 0x47, 0x02, 0xc0, 0xd4, 0x00, 0x00, 0xdf, 0x04, 0x00, - 0x00, 0x01, 0x23, 0x0d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0d, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x74, 0x6e, 0x6f, 0x20, 0x3d, 0x20, 0x4e, 0x4e, 0x47, 0x4c, 0x44, 0x5f, 0x4f, - 0x02, 0xc0, 0xd9, 0x00, 0x00, 0xc5, 0x22, 0x00, 0x00}; - -ShaderFilesToPatch hod4spShaderPatches[] = { - {hod4FileName_0, hod4PatchSize_0, hod4PatchBuffer_0, 0, ""}, - {hod4FileName_1, hod4PatchSize_1, hod4PatchBuffer_1, 0, ""}, - {hod4FileName_2, hod4PatchSize_2, hod4PatchBuffer_2, 0, ""}, - {hod4FileName_3, hod4PatchSize_3, hod4PatchBuffer_3, 0, ""}, - {hod4FileName_4, hod4PatchSize_4, hod4PatchBuffer_4, 0, ""}, - {hod4FileName_5, hod4PatchSize_5, hod4PatchBuffer_5, 0, ""}, - {hod4FileName_6, hod4PatchSize_6, hod4PatchBuffer_6, 0, ""}, - {hod4FileName_7, hod4PatchSize_7, hod4PatchBuffer_7, 0, ""}, - {hod4FileName_8, hod4PatchSize_8, hod4PatchBuffer_8, 0, ""}, - {hod4FileName_9, hod4PatchSize_9, hod4PatchBuffer_9, 0, ""}, - {hod4FileName_10, hod4PatchSize_10, hod4PatchBuffer_10, 0, ""}, - {hod4FileName_11, hod4PatchSize_11, hod4PatchBuffer_11, 0, ""}, - {hod4FileName_12, hod4PatchSize_12, hod4PatchBuffer_12, 0, ""}, - {hod4spFileName_13, hod4spPatchSize_13, hod4spPatchBuffer_13, 0, ""}, - {hod4spFileName_14, hod4spPatchSize_14, hod4spPatchBuffer_14, 0, ""}, - {hod4FileName_15, hod4PatchSize_15, hod4PatchBuffer_15, 0, ""}, -}; - -int hod4spShaderPatchesCount = sizeof(hod4spShaderPatches) / sizeof(ShaderFilesToPatch); diff --git a/src/lindbergh/stb_image.h b/src/lindbergh/stb_image.h deleted file mode 100644 index 8ae27e0..0000000 --- a/src/lindbergh/stb_image.h +++ /dev/null @@ -1,6433 +0,0 @@ -/* stb_image - v2.05 - public domain image loader - http://nothings.org/stb_image.h - no warranty implied; use at your own risk - - Do this: - #define STB_IMAGE_IMPLEMENTATION - before you include this file in *one* C or C++ file to create the implementation. - - // i.e. it should look like this: - #include ... - #include ... - #include ... - #define STB_IMAGE_IMPLEMENTATION - #include "stb_image.h" - - You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. - And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free - - - QUICK NOTES: - Primarily of interest to game developers and other people who can - avoid problematic images and only need the trivial interface - - JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) - PNG 1/2/4/8-bit-per-channel (16 bpc not supported) - - TGA (not sure what subset, if a subset) - BMP non-1bpp, non-RLE - PSD (composited view only, no extra channels) - - GIF (*comp always reports as 4-channel) - HDR (radiance rgbE format) - PIC (Softimage PIC) - PNM (PPM and PGM binary only) - - - decode from memory or through FILE (define STBI_NO_STDIO to remove code) - - decode from arbitrary I/O callbacks - - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) - - Full documentation under "DOCUMENTATION" below. - - - Revision 2.00 release notes: - - - Progressive JPEG is now supported. - - - PPM and PGM binary formats are now supported, thanks to Ken Miller. - - - x86 platforms now make use of SSE2 SIMD instructions for - JPEG decoding, and ARM platforms can use NEON SIMD if requested. - This work was done by Fabian "ryg" Giesen. SSE2 is used by - default, but NEON must be enabled explicitly; see docs. - - With other JPEG optimizations included in this version, we see - 2x speedup on a JPEG on an x86 machine, and a 1.5x speedup - on a JPEG on an ARM machine, relative to previous versions of this - library. The same results will not obtain for all JPGs and for all - x86/ARM machines. (Note that progressive JPEGs are significantly - slower to decode than regular JPEGs.) This doesn't mean that this - is the fastest JPEG decoder in the land; rather, it brings it - closer to parity with standard libraries. If you want the fastest - decode, look elsewhere. (See "Philosophy" section of docs below.) - - See final bullet items below for more info on SIMD. - - - Added STBI_MALLOC, STBI_REALLOC, and STBI_FREE macros for replacing - the memory allocator. Unlike other STBI libraries, these macros don't - support a context parameter, so if you need to pass a context in to - the allocator, you'll have to store it in a global or a thread-local - variable. - - - Split existing STBI_NO_HDR flag into two flags, STBI_NO_HDR and - STBI_NO_LINEAR. - STBI_NO_HDR: suppress implementation of .hdr reader format - STBI_NO_LINEAR: suppress high-dynamic-range light-linear float API - - - You can suppress implementation of any of the decoders to reduce - your code footprint by #defining one or more of the following - symbols before creating the implementation. - - STBI_NO_JPEG - STBI_NO_PNG - STBI_NO_BMP - STBI_NO_PSD - STBI_NO_TGA - STBI_NO_GIF - STBI_NO_HDR - STBI_NO_PIC - STBI_NO_PNM (.ppm and .pgm) - - - You can request *only* certain decoders and suppress all other ones - (this will be more forward-compatible, as addition of new decoders - doesn't require you to disable them explicitly): - - STBI_ONLY_JPEG - STBI_ONLY_PNG - STBI_ONLY_BMP - STBI_ONLY_PSD - STBI_ONLY_TGA - STBI_ONLY_GIF - STBI_ONLY_HDR - STBI_ONLY_PIC - STBI_ONLY_PNM (.ppm and .pgm) - - Note that you can define multiples of these, and you will get all - of them ("only x" and "only y" is interpreted to mean "only x&y"). - - - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still - want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB - - - Compilation of all SIMD code can be suppressed with - #define STBI_NO_SIMD - It should not be necessary to disable SIMD unless you have issues - compiling (e.g. using an x86 compiler which doesn't support SSE - intrinsics or that doesn't support the method used to detect - SSE2 support at run-time), and even those can be reported as - bugs so I can refine the built-in compile-time checking to be - smarter. - - - The old STBI_SIMD system which allowed installing a user-defined - IDCT etc. has been removed. If you need this, don't upgrade. My - assumption is that almost nobody was doing this, and those who - were will find the built-in SIMD more satisfactory anyway. - - - RGB values computed for JPEG images are slightly different from - previous versions of stb_image. (This is due to using less - integer precision in SIMD.) The C code has been adjusted so - that the same RGB values will be computed regardless of whether - SIMD support is available, so your app should always produce - consistent results. But these results are slightly different from - previous versions. (Specifically, about 3% of available YCbCr values - will compute different RGB results from pre-1.49 versions by +-1; - most of the deviating values are one smaller in the G channel.) - - - If you must produce consistent results with previous versions of - stb_image, #define STBI_JPEG_OLD and you will get the same results - you used to; however, you will not get the SIMD speedups for - the YCbCr-to-RGB conversion step (although you should still see - significant JPEG speedup from the other changes). - - Please note that STBI_JPEG_OLD is a temporary feature; it will be - removed in future versions of the library. It is only intended for - near-term back-compatibility use. - - - Latest revision history: - 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning - 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit - 2.03 (2015-04-12) additional corruption checking - stbi_set_flip_vertically_on_load - fix NEON support; fix mingw support - 2.02 (2015-01-19) fix incorrect assert, fix warning - 2.01 (2015-01-17) fix various warnings - 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG - 2.00 (2014-12-25) optimize JPEG, including x86 SSE2 & ARM NEON SIMD - progressive JPEG - PGM/PPM support - STBI_MALLOC,STBI_REALLOC,STBI_FREE - STBI_NO_*, STBI_ONLY_* - GIF bugfix - 1.48 (2014-12-14) fix incorrectly-named assert() - 1.47 (2014-12-14) 1/2/4-bit PNG support (both grayscale and paletted) - optimize PNG - fix bug in interlaced PNG with user-specified channel count - - See end of file for full revision history. - - - ============================ Contributors ========================= - - Image formats Bug fixes & warning fixes - Sean Barrett (jpeg, png, bmp) Marc LeBlanc - Nicolas Schulz (hdr, psd) Christpher Lloyd - Jonathan Dummer (tga) Dave Moore - Jean-Marc Lienher (gif) Won Chun - Tom Seddon (pic) the Horde3D community - Thatcher Ulrich (psd) Janez Zemva - Ken Miller (pgm, ppm) Jonathan Blow - Laurent Gomila - Aruelien Pocheville - Extensions, features Ryamond Barbiero - Jetro Lauha (stbi_info) David Woo - Martin "SpartanJ" Golini (stbi_info) Martin Golini - James "moose2000" Brown (iPhone PNG) Roy Eltham - Ben "Disch" Wenger (io callbacks) Luke Graham - Omar Cornut (1/2/4-bit PNG) Thomas Ruf - Nicolas Guillemot (vertical flip) John Bartholomew - Ken Hamada - Optimizations & bugfixes Cort Stratton - Fabian "ryg" Giesen Blazej Dariusz Roszkowski - Arseny Kapoulkine Thibault Reuille - Paul Du Bois - Guillaume George - If your name should be here but Jerry Jansson - isn't, let Sean know. Hayaki Saito - Johan Duparc - Ronny Chevalier - Michal Cichon - Tero Hanninen - Sergio Gonzalez - Cass Everitt - Engin Manap - Martins Mozeiko - Joseph Thomson - Phil Jordan - -License: - This software is in the public domain. Where that dedication is not - recognized, you are granted a perpetual, irrevocable license to copy - and modify this file however you want. - -*/ - -#ifndef STBI_INCLUDE_STB_IMAGE_H -#define STBI_INCLUDE_STB_IMAGE_H - -// DOCUMENTATION -// -// Limitations: -// - no 16-bit-per-channel PNG -// - no 12-bit-per-channel JPEG -// - no JPEGs with arithmetic coding -// - no 1-bit BMP -// - GIF always returns *comp=4 -// -// Basic usage (see HDR discussion below for HDR usage): -// int x,y,n; -// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); -// // ... process data if not NULL ... -// // ... x = width, y = height, n = # 8-bit components per pixel ... -// // ... replace '0' with '1'..'4' to force that many components per pixel -// // ... but 'n' will always be the number that it would have been if you said 0 -// stbi_image_free(data) -// -// Standard parameters: -// int *x -- outputs image width in pixels -// int *y -- outputs image height in pixels -// int *comp -- outputs # of image components in image file -// int req_comp -- if non-zero, # of image components requested in result -// -// The return value from an image loader is an 'unsigned char *' which points -// to the pixel data, or NULL on an allocation failure or if the image is -// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, -// with each pixel consisting of N interleaved 8-bit components; the first -// pixel pointed to is top-left-most in the image. There is no padding between -// image scanlines or between pixels, regardless of format. The number of -// components N is 'req_comp' if req_comp is non-zero, or *comp otherwise. -// If req_comp is non-zero, *comp has the number of components that _would_ -// have been output otherwise. E.g. if you set req_comp to 4, you will always -// get RGBA output, but you can check *comp to see if it's trivially opaque -// because e.g. there were only 3 channels in the source image. -// -// An output image with N components has the following components interleaved -// in this order in each pixel: -// -// N=#comp components -// 1 grey -// 2 grey, alpha -// 3 red, green, blue -// 4 red, green, blue, alpha -// -// If image loading fails for any reason, the return value will be NULL, -// and *x, *y, *comp will be unchanged. The function stbi_failure_reason() -// can be queried for an extremely brief, end-user unfriendly explanation -// of why the load failed. Define STBI_NO_FAILURE_STRINGS to avoid -// compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly -// more user-friendly ones. -// -// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. -// -// =========================================================================== -// -// Philosophy -// -// stb libraries are designed with the following priorities: -// -// 1. easy to use -// 2. easy to maintain -// 3. good performance -// -// Sometimes I let "good performance" creep up in priority over "easy to maintain", -// and for best performance I may provide less-easy-to-use APIs that give higher -// performance, in addition to the easy to use ones. Nevertheless, it's important -// to keep in mind that from the standpoint of you, a client of this library, -// all you care about is #1 and #3, and stb libraries do not emphasize #3 above all. -// -// Some secondary priorities arise directly from the first two, some of which -// make more explicit reasons why performance can't be emphasized. -// -// - Portable ("ease of use") -// - Small footprint ("easy to maintain") -// - No dependencies ("ease of use") -// -// =========================================================================== -// -// I/O callbacks -// -// I/O callbacks allow you to read from arbitrary sources, like packaged -// files or some other source. Data read from callbacks are processed -// through a small internal buffer (currently 128 bytes) to try to reduce -// overhead. -// -// The three functions you must define are "read" (reads some bytes of data), -// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). -// -// =========================================================================== -// -// SIMD support -// -// The JPEG decoder will try to automatically use SIMD kernels on x86 when -// supported by the compiler. For ARM Neon support, you must explicitly -// request it. -// -// (The old do-it-yourself SIMD API is no longer supported in the current -// code.) -// -// On x86, SSE2 will automatically be used when available based on a run-time -// test; if not, the generic C versions are used as a fall-back. On ARM targets, -// the typical path is to have separate builds for NEON and non-NEON devices -// (at least this is true for iOS and Android). Therefore, the NEON support is -// toggled by a build flag: define STBI_NEON to get NEON loops. -// -// The output of the JPEG decoder is slightly different from versions where -// SIMD support was introduced (that is, for versions before 1.49). The -// difference is only +-1 in the 8-bit RGB channels, and only on a small -// fraction of pixels. You can force the pre-1.49 behavior by defining -// STBI_JPEG_OLD, but this will disable some of the SIMD decoding path -// and hence cost some performance. -// -// If for some reason you do not want to use any of SIMD code, or if -// you have issues compiling it, you can disable it entirely by -// defining STBI_NO_SIMD. -// -// =========================================================================== -// -// HDR image support (disable by defining STBI_NO_HDR) -// -// stb_image now supports loading HDR images in general, and currently -// the Radiance .HDR file format, although the support is provided -// generically. You can still load any file through the existing interface; -// if you attempt to load an HDR file, it will be automatically remapped to -// LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; -// both of these constants can be reconfigured through this interface: -// -// stbi_hdr_to_ldr_gamma(2.2f); -// stbi_hdr_to_ldr_scale(1.0f); -// -// (note, do not use _inverse_ constants; stbi_image will invert them -// appropriately). -// -// Additionally, there is a new, parallel interface for loading files as -// (linear) floats to preserve the full dynamic range: -// -// float *data = stbi_loadf(filename, &x, &y, &n, 0); -// -// If you load LDR images through this interface, those images will -// be promoted to floating point values, run through the inverse of -// constants corresponding to the above: -// -// stbi_ldr_to_hdr_scale(1.0f); -// stbi_ldr_to_hdr_gamma(2.2f); -// -// Finally, given a filename (or an open file or memory block--see header -// file for details) containing image data, you can query for the "most -// appropriate" interface to use (that is, whether the image is HDR or -// not), using: -// -// stbi_is_hdr(char *filename); -// -// =========================================================================== -// -// iPhone PNG support: -// -// By default we convert iphone-formatted PNGs back to RGB, even though -// they are internally encoded differently. You can disable this conversion -// by by calling stbi_convert_iphone_png_to_rgb(0), in which case -// you will always just get the native iphone "format" through (which -// is BGR stored in RGB). -// -// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per -// pixel to remove any premultiplied alpha *only* if the image file explicitly -// says there's premultiplied data (currently only happens in iPhone images, -// and only if iPhone convert-to-rgb processing is on). -// - - -#ifndef STBI_NO_STDIO -#include -#endif // STBI_NO_STDIO - -#define STBI_VERSION 1 - -enum -{ - STBI_default = 0, // only used for req_comp - - STBI_grey = 1, - STBI_grey_alpha = 2, - STBI_rgb = 3, - STBI_rgb_alpha = 4 -}; - -typedef unsigned char stbi_uc; - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef STB_IMAGE_STATIC -#define STBIDEF static -#else -#define STBIDEF extern -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// PRIMARY API - works on images of any type -// - -// -// load image by filename, open file, or memory buffer -// - -typedef struct -{ - int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read - void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative - int (*eof) (void *user); // returns nonzero if we are at end of file/data -} stbi_io_callbacks; - -STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *comp, int req_comp); -STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *comp, int req_comp); -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *comp, int req_comp); - -#ifndef STBI_NO_STDIO -STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); -// for stbi_load_from_file, file pointer is left pointing immediately after image -#endif - -#ifndef STBI_NO_LINEAR - STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *comp, int req_comp); - STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); - STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); - - #ifndef STBI_NO_STDIO - STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); - #endif -#endif - -#ifndef STBI_NO_HDR - STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); - STBIDEF void stbi_hdr_to_ldr_scale(float scale); -#endif - -#ifndef STBI_NO_LINEAR - STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); - STBIDEF void stbi_ldr_to_hdr_scale(float scale); -#endif // STBI_NO_HDR - -// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR -STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); -STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); -#ifndef STBI_NO_STDIO -STBIDEF int stbi_is_hdr (char const *filename); -STBIDEF int stbi_is_hdr_from_file(FILE *f); -#endif // STBI_NO_STDIO - - -// get a VERY brief reason for failure -// NOT THREADSAFE -STBIDEF const char *stbi_failure_reason (void); - -// free the loaded image -- this is just free() -STBIDEF void stbi_image_free (void *retval_from_stbi_load); - -// get image dimensions & components without fully decoding -STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); -STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); -STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); - -#endif - - - -// for image formats that explicitly notate that they have premultiplied alpha, -// we just return the colors as stored in the file. set this flag to force -// unpremultiplication. results are undefined if the unpremultiply overflow. -STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); - -// indicate whether we should process iphone images back to canonical format, -// or just pass them through "as-is" -STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); - -// flip the image vertically, so the first pixel in the output array is the bottom left -STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); - -// ZLIB client - used by PNG, available for other purposes - -STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); -STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); -STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); -STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); - -STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); -STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); - - -#ifdef __cplusplus -} -#endif - -// -// -//// end header file ///////////////////////////////////////////////////// -#endif // STBI_INCLUDE_STB_IMAGE_H - -#ifdef STB_IMAGE_IMPLEMENTATION - -#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ - || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ - || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ - || defined(STBI_ONLY_ZLIB) - #ifndef STBI_ONLY_JPEG - #define STBI_NO_JPEG - #endif - #ifndef STBI_ONLY_PNG - #define STBI_NO_PNG - #endif - #ifndef STBI_ONLY_BMP - #define STBI_NO_BMP - #endif - #ifndef STBI_ONLY_PSD - #define STBI_NO_PSD - #endif - #ifndef STBI_ONLY_TGA - #define STBI_NO_TGA - #endif - #ifndef STBI_ONLY_GIF - #define STBI_NO_GIF - #endif - #ifndef STBI_ONLY_HDR - #define STBI_NO_HDR - #endif - #ifndef STBI_ONLY_PIC - #define STBI_NO_PIC - #endif - #ifndef STBI_ONLY_PNM - #define STBI_NO_PNM - #endif -#endif - -#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) -#define STBI_NO_ZLIB -#endif - - -#include -#include // ptrdiff_t on osx -#include -#include - -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) -#include // ldexp -#endif - -#ifndef STBI_NO_STDIO -#include -#endif - -#ifndef STBI_ASSERT -#include -#define STBI_ASSERT(x) assert(x) -#endif - - -#ifndef _MSC_VER - #ifdef __cplusplus - #define stbi_inline inline - #else - #define stbi_inline - #endif -#else - #define stbi_inline __forceinline -#endif - - -#ifdef _MSC_VER -typedef unsigned short stbi__uint16; -typedef signed short stbi__int16; -typedef unsigned int stbi__uint32; -typedef signed int stbi__int32; -#else -#include -typedef uint16_t stbi__uint16; -typedef int16_t stbi__int16; -typedef uint32_t stbi__uint32; -typedef int32_t stbi__int32; -#endif - -// should produce compiler error if size is wrong -typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; - -#ifdef _MSC_VER -#define STBI_NOTUSED(v) (void)(v) -#else -#define STBI_NOTUSED(v) (void)sizeof(v) -#endif - -#ifdef _MSC_VER -#define STBI_HAS_LROTL -#endif - -#ifdef STBI_HAS_LROTL - #define stbi_lrot(x,y) _lrotl(x,y) -#else - #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (32 - (y)))) -#endif - -#if defined(STBI_MALLOC) && defined(STBI_FREE) && defined(STBI_REALLOC) -// ok -#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) -// ok -#else -#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC." -#endif - -#ifndef STBI_MALLOC -#define STBI_MALLOC(sz) malloc(sz) -#define STBI_REALLOC(p,sz) realloc(p,sz) -#define STBI_FREE(p) free(p) -#endif - -// x86/x64 detection -#if defined(__x86_64__) || defined(_M_X64) -#define STBI__X64_TARGET -#elif defined(__i386) || defined(_M_IX86) -#define STBI__X86_TARGET -#endif - -#if defined(__GNUC__) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) -// NOTE: not clear do we actually need this for the 64-bit path? -// gcc doesn't support sse2 intrinsics unless you compile with -msse2, -// (but compiling with -msse2 allows the compiler to use SSE2 everywhere; -// this is just broken and gcc are jerks for not fixing it properly -// http://www.virtualdub.org/blog/pivot/entry.php?id=363 ) -#define STBI_NO_SIMD -#endif - -#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) -// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET -// -// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the -// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. -// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not -// simultaneously enabling "-mstackrealign". -// -// See https://github.com/nothings/stb/issues/81 for more information. -// -// So default to no SSE2 on 32-bit MinGW. If you've read this far and added -// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. -#define STBI_NO_SIMD -#endif - -#if !defined(STBI_NO_SIMD) && defined(STBI__X86_TARGET) -#define STBI_SSE2 -#include - -#ifdef _MSC_VER - -#if _MSC_VER >= 1400 // not VC6 -#include // __cpuid -static int stbi__cpuid3(void) -{ - int info[4]; - __cpuid(info,1); - return info[3]; -} -#else -static int stbi__cpuid3(void) -{ - int res; - __asm { - mov eax,1 - cpuid - mov res,edx - } - return res; -} -#endif - -#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name - -static int stbi__sse2_available() -{ - int info3 = stbi__cpuid3(); - return ((info3 >> 26) & 1) != 0; -} -#else // assume GCC-style if not VC++ -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) - -static int stbi__sse2_available() -{ - // #if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 // GCC 4.8 or later - // // GCC 4.8+ has a nice way to do this - // return __builtin_cpu_supports("sse2"); - // #else - // portable way to do this, preferably without using GCC inline ASM? - // just bail for now. - return 0; - // #endif -} -#endif -#endif - -// ARM NEON -#if defined(STBI_NO_SIMD) && defined(STBI_NEON) -#undef STBI_NEON -#endif - -#ifdef STBI_NEON -#include -// assume GCC or Clang on ARM targets -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) -#endif - -#ifndef STBI_SIMD_ALIGN -#define STBI_SIMD_ALIGN(type, name) type name -#endif - -/////////////////////////////////////////////// -// -// stbi__context struct and start_xxx functions - -// stbi__context structure is our basic context used by all images, so it -// contains all the IO context, plus some basic image information -typedef struct -{ - stbi__uint32 img_x, img_y; - int img_n, img_out_n; - - stbi_io_callbacks io; - void *io_user_data; - - int read_from_callbacks; - int buflen; - stbi_uc buffer_start[128]; - - stbi_uc *img_buffer, *img_buffer_end; - stbi_uc *img_buffer_original; -} stbi__context; - - -static void stbi__refill_buffer(stbi__context *s); - -// initialize a memory-decode context -static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) -{ - s->io.read = NULL; - s->read_from_callbacks = 0; - s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; - s->img_buffer_end = (stbi_uc *) buffer+len; -} - -// initialize a callback-based context -static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) -{ - s->io = *c; - s->io_user_data = user; - s->buflen = sizeof(s->buffer_start); - s->read_from_callbacks = 1; - s->img_buffer_original = s->buffer_start; - stbi__refill_buffer(s); -} - -#ifndef STBI_NO_STDIO - -static int stbi__stdio_read(void *user, char *data, int size) -{ - return (int) fread(data,1,size,(FILE*) user); -} - -static void stbi__stdio_skip(void *user, int n) -{ - fseek((FILE*) user, n, SEEK_CUR); -} - -static int stbi__stdio_eof(void *user) -{ - return feof((FILE*) user); -} - -static stbi_io_callbacks stbi__stdio_callbacks = -{ - stbi__stdio_read, - stbi__stdio_skip, - stbi__stdio_eof, -}; - -static void stbi__start_file(stbi__context *s, FILE *f) -{ - stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); -} - -//static void stop_file(stbi__context *s) { } - -#endif // !STBI_NO_STDIO - -static void stbi__rewind(stbi__context *s) -{ - // conceptually rewind SHOULD rewind to the beginning of the stream, - // but we just rewind to the beginning of the initial buffer, because - // we only use it after doing 'test', which only ever looks at at most 92 bytes - s->img_buffer = s->img_buffer_original; -} - -#ifndef STBI_NO_JPEG -static int stbi__jpeg_test(stbi__context *s); -static stbi_uc *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNG -static int stbi__png_test(stbi__context *s); -static stbi_uc *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_BMP -static int stbi__bmp_test(stbi__context *s); -static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_TGA -static int stbi__tga_test(stbi__context *s); -static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s); -static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_HDR -static int stbi__hdr_test(stbi__context *s); -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_test(stbi__context *s); -static stbi_uc *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_GIF -static int stbi__gif_test(stbi__context *s); -static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNM -static int stbi__pnm_test(stbi__context *s); -static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -// this is not threadsafe -static const char *stbi__g_failure_reason; - -STBIDEF const char *stbi_failure_reason(void) -{ - return stbi__g_failure_reason; -} - -static int stbi__err(const char *str) -{ - stbi__g_failure_reason = str; - return 0; -} - -static void *stbi__malloc(size_t size) -{ - return STBI_MALLOC(size); -} - -// stbi__err - error -// stbi__errpf - error returning pointer to float -// stbi__errpuc - error returning pointer to unsigned char - -#ifdef STBI_NO_FAILURE_STRINGS - #define stbi__err(x,y) 0 -#elif defined(STBI_FAILURE_USERMSG) - #define stbi__err(x,y) stbi__err(y) -#else - #define stbi__err(x,y) stbi__err(x) -#endif - -#define stbi__errpf(x,y) ((float *) (stbi__err(x,y)?NULL:NULL)) -#define stbi__errpuc(x,y) ((unsigned char *) (stbi__err(x,y)?NULL:NULL)) - -STBIDEF void stbi_image_free(void *retval_from_stbi_load) -{ - STBI_FREE(retval_from_stbi_load); -} - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); -#endif - -#ifndef STBI_NO_HDR -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); -#endif - -static int stbi__vertically_flip_on_load = 0; - -STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) -{ - stbi__vertically_flip_on_load = flag_true_if_should_flip; -} - -static unsigned char *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - #ifndef STBI_NO_JPEG - if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp); - #endif - #ifndef STBI_NO_PNG - if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp); - #endif - #ifndef STBI_NO_BMP - if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp); - #endif - #ifndef STBI_NO_GIF - if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp); - #endif - #ifndef STBI_NO_PSD - if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp); - #endif - #ifndef STBI_NO_PIC - if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp); - #endif - #ifndef STBI_NO_PNM - if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp); - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - float *hdr = stbi__hdr_load(s, x,y,comp,req_comp); - return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); - } - #endif - - #ifndef STBI_NO_TGA - // test tga last because it's a crappy test! - if (stbi__tga_test(s)) - return stbi__tga_load(s,x,y,comp,req_comp); - #endif - - return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); -} - -static unsigned char *stbi__load_flip(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *result = stbi__load_main(s, x, y, comp, req_comp); - - if (stbi__vertically_flip_on_load && result != NULL) { - int w = *x, h = *y; - int depth = req_comp ? req_comp : *comp; - int row,col,z; - stbi_uc temp; - - // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once - for (row = 0; row < (h>>1); row++) { - for (col = 0; col < w; col++) { - for (z = 0; z < depth; z++) { - temp = result[(row * w + col) * depth + z]; - result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; - result[((h - row - 1) * w + col) * depth + z] = temp; - } - } - } - } - - return result; -} - -static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) -{ - if (stbi__vertically_flip_on_load && result != NULL) { - int w = *x, h = *y; - int depth = req_comp ? req_comp : *comp; - int row,col,z; - float temp; - - // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once - for (row = 0; row < (h>>1); row++) { - for (col = 0; col < w; col++) { - for (z = 0; z < depth; z++) { - temp = result[(row * w + col) * depth + z]; - result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; - result[((h - row - 1) * w + col) * depth + z] = temp; - } - } - } - } -} - - -#ifndef STBI_NO_STDIO - -static FILE *stbi__fopen(char const *filename, char const *mode) -{ - FILE *f; -#if defined(_MSC_VER) && _MSC_VER >= 1400 - if (0 != fopen_s(&f, filename, mode)) - f=0; -#else - f = fopen(filename, mode); -#endif - return f; -} - - -STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - unsigned char *result; - if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); - result = stbi_load_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *result; - stbi__context s; - stbi__start_file(&s,f); - result = stbi__load_flip(&s,x,y,comp,req_comp); - if (result) { - // need to 'unget' all the characters in the IO buffer - fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); - } - return result; -} -#endif //!STBI_NO_STDIO - -STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__load_flip(&s,x,y,comp,req_comp); -} - -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__load_flip(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_LINEAR -static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *data; - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp); - if (hdr_data) - stbi__float_postprocess(hdr_data,x,y,comp,req_comp); - return hdr_data; - } - #endif - data = stbi__load_flip(s, x, y, comp, req_comp); - if (data) - return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); - return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); -} - -STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_STDIO -STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - float *result; - FILE *f = stbi__fopen(filename, "rb"); - if (!f) return stbi__errpf("can't fopen", "Unable to open file"); - result = stbi_loadf_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_file(&s,f); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} -#endif // !STBI_NO_STDIO - -#endif // !STBI_NO_LINEAR - -// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is -// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always -// reports false! - -STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__hdr_test(&s); - #else - STBI_NOTUSED(buffer); - STBI_NOTUSED(len); - return 0; - #endif -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_is_hdr (char const *filename) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result=0; - if (f) { - result = stbi_is_hdr_from_file(f); - fclose(f); - } - return result; -} - -STBIDEF int stbi_is_hdr_from_file(FILE *f) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_file(&s,f); - return stbi__hdr_test(&s); - #else - return 0; - #endif -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__hdr_test(&s); - #else - return 0; - #endif -} - -static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; -static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; - -#ifndef STBI_NO_LINEAR -STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } -STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } -#endif - -STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } -STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } - - -////////////////////////////////////////////////////////////////////////////// -// -// Common code used by all image loaders -// - -enum -{ - STBI__SCAN_load=0, - STBI__SCAN_type, - STBI__SCAN_header -}; - -static void stbi__refill_buffer(stbi__context *s) -{ - int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); - if (n == 0) { - // at end of file, treat same as if from memory, but need to handle case - // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file - s->read_from_callbacks = 0; - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start+1; - *s->img_buffer = 0; - } else { - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start + n; - } -} - -stbi_inline static stbi_uc stbi__get8(stbi__context *s) -{ - if (s->img_buffer < s->img_buffer_end) - return *s->img_buffer++; - if (s->read_from_callbacks) { - stbi__refill_buffer(s); - return *s->img_buffer++; - } - return 0; -} - -stbi_inline static int stbi__at_eof(stbi__context *s) -{ - if (s->io.read) { - if (!(s->io.eof)(s->io_user_data)) return 0; - // if feof() is true, check if buffer = end - // special case: we've only got the special 0 character at the end - if (s->read_from_callbacks == 0) return 1; - } - - return s->img_buffer >= s->img_buffer_end; -} - -static void stbi__skip(stbi__context *s, int n) -{ - if (n < 0) { - s->img_buffer = s->img_buffer_end; - return; - } - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - s->img_buffer = s->img_buffer_end; - (s->io.skip)(s->io_user_data, n - blen); - return; - } - } - s->img_buffer += n; -} - -static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) -{ - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - int res, count; - - memcpy(buffer, s->img_buffer, blen); - - count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); - res = (count == (n-blen)); - s->img_buffer = s->img_buffer_end; - return res; - } - } - - if (s->img_buffer+n <= s->img_buffer_end) { - memcpy(buffer, s->img_buffer, n); - s->img_buffer += n; - return 1; - } else - return 0; -} - -static int stbi__get16be(stbi__context *s) -{ - int z = stbi__get8(s); - return (z << 8) + stbi__get8(s); -} - -static stbi__uint32 stbi__get32be(stbi__context *s) -{ - stbi__uint32 z = stbi__get16be(s); - return (z << 16) + stbi__get16be(s); -} - -static int stbi__get16le(stbi__context *s) -{ - int z = stbi__get8(s); - return z + (stbi__get8(s) << 8); -} - -static stbi__uint32 stbi__get32le(stbi__context *s) -{ - stbi__uint32 z = stbi__get16le(s); - return z + (stbi__get16le(s) << 16); -} - -#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings - - -////////////////////////////////////////////////////////////////////////////// -// -// generic converter from built-in img_n to req_comp -// individual types do this automatically as much as possible (e.g. jpeg -// does all cases internally since it needs to colorspace convert anyway, -// and it never has alpha, so very few cases ). png can automatically -// interleave an alpha=255 channel, but falls back to this for other cases -// -// assume data buffer is malloced, so malloc a new one and free that one -// only failure mode is malloc failing - -static stbi_uc stbi__compute_y(int r, int g, int b) -{ - return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); -} - -static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) -{ - int i,j; - unsigned char *good; - - if (req_comp == img_n) return data; - STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - good = (unsigned char *) stbi__malloc(req_comp * x * y); - if (good == NULL) { - STBI_FREE(data); - return stbi__errpuc("outofmem", "Out of memory"); - } - - for (j=0; j < (int) y; ++j) { - unsigned char *src = data + j * x * img_n ; - unsigned char *dest = good + j * x * req_comp; - - #define COMBO(a,b) ((a)*8+(b)) - #define CASE(a,b) case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) - // convert source image with img_n components to one with req_comp components; - // avoid switch per pixel, so use switch per scanline and massive macros - switch (COMBO(img_n, req_comp)) { - CASE(1,2) dest[0]=src[0], dest[1]=255; break; - CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break; - CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break; - CASE(2,1) dest[0]=src[0]; break; - CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break; - CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break; - CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break; - CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; - CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break; - CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; - CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break; - CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break; - default: STBI_ASSERT(0); - } - #undef CASE - } - - STBI_FREE(data); - return good; -} - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) -{ - int i,k,n; - float *output = (float *) stbi__malloc(x * y * comp * sizeof(float)); - if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); - } - if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f; - } - STBI_FREE(data); - return output; -} -#endif - -#ifndef STBI_NO_HDR -#define stbi__float2int(x) ((int) (x)) -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) -{ - int i,k,n; - stbi_uc *output = (stbi_uc *) stbi__malloc(x * y * comp); - if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - if (k < comp) { - float z = data[i*comp+k] * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - } - STBI_FREE(data); - return output; -} -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// "baseline" JPEG/JFIF decoder -// -// simple implementation -// - doesn't support delayed output of y-dimension -// - simple interface (only one output format: 8-bit interleaved RGB) -// - doesn't try to recover corrupt jpegs -// - doesn't allow partial loading, loading multiple at once -// - still fast on x86 (copying globals into locals doesn't help x86) -// - allocates lots of intermediate memory (full size of all components) -// - non-interleaved case requires this anyway -// - allows good upsampling (see next) -// high-quality -// - upsampled channels are bilinearly interpolated, even across blocks -// - quality integer IDCT derived from IJG's 'slow' -// performance -// - fast huffman; reasonable integer IDCT -// - some SIMD kernels for common paths on targets with SSE2/NEON -// - uses a lot of intermediate memory, could cache poorly - -#ifndef STBI_NO_JPEG - -// huffman decoding acceleration -#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache - -typedef struct -{ - stbi_uc fast[1 << FAST_BITS]; - // weirdly, repacking this into AoS is a 10% speed loss, instead of a win - stbi__uint16 code[256]; - stbi_uc values[256]; - stbi_uc size[257]; - unsigned int maxcode[18]; - int delta[17]; // old 'firstsymbol' - old 'firstcode' -} stbi__huffman; - -typedef struct -{ - stbi__context *s; - stbi__huffman huff_dc[4]; - stbi__huffman huff_ac[4]; - stbi_uc dequant[4][64]; - stbi__int16 fast_ac[4][1 << FAST_BITS]; - -// sizes for components, interleaved MCUs - int img_h_max, img_v_max; - int img_mcu_x, img_mcu_y; - int img_mcu_w, img_mcu_h; - -// definition of jpeg image component - struct - { - int id; - int h,v; - int tq; - int hd,ha; - int dc_pred; - - int x,y,w2,h2; - stbi_uc *data; - void *raw_data, *raw_coeff; - stbi_uc *linebuf; - short *coeff; // progressive only - int coeff_w, coeff_h; // number of 8x8 coefficient blocks - } img_comp[4]; - - stbi__uint32 code_buffer; // jpeg entropy-coded buffer - int code_bits; // number of valid bits - unsigned char marker; // marker seen while filling entropy buffer - int nomore; // flag if we saw a marker so must stop - - int progressive; - int spec_start; - int spec_end; - int succ_high; - int succ_low; - int eob_run; - - int scan_n, order[4]; - int restart_interval, todo; - -// kernels - void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); - void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); - stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); -} stbi__jpeg; - -static int stbi__build_huffman(stbi__huffman *h, int *count) -{ - int i,j,k=0,code; - // build size list for each symbol (from JPEG spec) - for (i=0; i < 16; ++i) - for (j=0; j < count[i]; ++j) - h->size[k++] = (stbi_uc) (i+1); - h->size[k] = 0; - - // compute actual symbols (from jpeg spec) - code = 0; - k = 0; - for(j=1; j <= 16; ++j) { - // compute delta to add to code to compute symbol id - h->delta[j] = k - code; - if (h->size[k] == j) { - while (h->size[k] == j) - h->code[k++] = (stbi__uint16) (code++); - if (code-1 >= (1 << j)) return stbi__err("bad code lengths","Corrupt JPEG"); - } - // compute largest code + 1 for this size, preshifted as needed later - h->maxcode[j] = code << (16-j); - code <<= 1; - } - h->maxcode[j] = 0xffffffff; - - // build non-spec acceleration table; 255 is flag for not-accelerated - memset(h->fast, 255, 1 << FAST_BITS); - for (i=0; i < k; ++i) { - int s = h->size[i]; - if (s <= FAST_BITS) { - int c = h->code[i] << (FAST_BITS-s); - int m = 1 << (FAST_BITS-s); - for (j=0; j < m; ++j) { - h->fast[c+j] = (stbi_uc) i; - } - } - } - return 1; -} - -// build a table that decodes both magnitude and value of small ACs in -// one go. -static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) -{ - int i; - for (i=0; i < (1 << FAST_BITS); ++i) { - stbi_uc fast = h->fast[i]; - fast_ac[i] = 0; - if (fast < 255) { - int rs = h->values[fast]; - int run = (rs >> 4) & 15; - int magbits = rs & 15; - int len = h->size[fast]; - - if (magbits && len + magbits <= FAST_BITS) { - // magnitude code followed by receive_extend code - int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); - int m = 1 << (magbits - 1); - if (k < m) k += (-1 << magbits) + 1; - // if the result is small enough, we can fit it in fast_ac table - if (k >= -128 && k <= 127) - fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits)); - } - } - } -} - -static void stbi__grow_buffer_unsafe(stbi__jpeg *j) -{ - do { - int b = j->nomore ? 0 : stbi__get8(j->s); - if (b == 0xff) { - int c = stbi__get8(j->s); - if (c != 0) { - j->marker = (unsigned char) c; - j->nomore = 1; - return; - } - } - j->code_buffer |= b << (24 - j->code_bits); - j->code_bits += 8; - } while (j->code_bits <= 24); -} - -// (1 << n) - 1 -static stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; - -// decode a jpeg huffman value from the bitstream -stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) -{ - unsigned int temp; - int c,k; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - // look at the top FAST_BITS and determine what symbol ID it is, - // if the code is <= FAST_BITS - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - k = h->fast[c]; - if (k < 255) { - int s = h->size[k]; - if (s > j->code_bits) - return -1; - j->code_buffer <<= s; - j->code_bits -= s; - return h->values[k]; - } - - // naive test is to shift the code_buffer down so k bits are - // valid, then test against maxcode. To speed this up, we've - // preshifted maxcode left so that it has (16-k) 0s at the - // end; in other words, regardless of the number of bits, it - // wants to be compared against something shifted to have 16; - // that way we don't need to shift inside the loop. - temp = j->code_buffer >> 16; - for (k=FAST_BITS+1 ; ; ++k) - if (temp < h->maxcode[k]) - break; - if (k == 17) { - // error! code not found - j->code_bits -= 16; - return -1; - } - - if (k > j->code_bits) - return -1; - - // convert the huffman code to the symbol id - c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; - STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); - - // convert the id to a symbol - j->code_bits -= k; - j->code_buffer <<= k; - return h->values[c]; -} - -// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); - - sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB - k = stbi_lrot(j->code_buffer, n); - STBI_ASSERT(n >= 0 && n < (int) (sizeof(stbi__bmask)/sizeof(*stbi__bmask))); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k + (stbi__jbias[n] & ~sgn); -} - -// get some unsigned bits -stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) -{ - unsigned int k; - if (j->code_bits < n) stbi__grow_buffer_unsafe(j); - k = stbi_lrot(j->code_buffer, n); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k; -} - -stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) -{ - unsigned int k; - if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); - k = j->code_buffer; - j->code_buffer <<= 1; - --j->code_bits; - return k & 0x80000000; -} - -// given a value that's at position X in the zigzag stream, -// where does it appear in the 8x8 matrix coded as row-major? -static stbi_uc stbi__jpeg_dezigzag[64+15] = -{ - 0, 1, 8, 16, 9, 2, 3, 10, - 17, 24, 32, 25, 18, 11, 4, 5, - 12, 19, 26, 33, 40, 48, 41, 34, - 27, 20, 13, 6, 7, 14, 21, 28, - 35, 42, 49, 56, 57, 50, 43, 36, - 29, 22, 15, 23, 30, 37, 44, 51, - 58, 59, 52, 45, 38, 31, 39, 46, - 53, 60, 61, 54, 47, 55, 62, 63, - // let corrupt input sample past end - 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63 -}; - -// decode one 64-entry block-- -static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi_uc *dequant) -{ - int diff,dc,k; - int t; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - t = stbi__jpeg_huff_decode(j, hdc); - if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - - // 0 all the ac values now so we can do it 32-bits at a time - memset(data,0,64*sizeof(data[0])); - - diff = t ? stbi__extend_receive(j, t) : 0; - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - data[0] = (short) (dc * dequant[0]); - - // decode AC components, see JPEG spec - k = 1; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - j->code_buffer <<= s; - j->code_bits -= s; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) * dequant[zig]); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (rs != 0xf0) break; // end block - k += 16; - } else { - k += r; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); - } - } - } while (k < 64); - return 1; -} - -static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) -{ - int diff,dc; - int t; - if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - if (j->succ_high == 0) { - // first scan for DC coefficient, must be first - memset(data,0,64*sizeof(data[0])); // 0 all the ac values now - t = stbi__jpeg_huff_decode(j, hdc); - diff = t ? stbi__extend_receive(j, t) : 0; - - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - data[0] = (short) (dc << j->succ_low); - } else { - // refinement scan for DC coefficient - if (stbi__jpeg_get_bit(j)) - data[0] += (short) (1 << j->succ_low); - } - return 1; -} - -// @OPTIMIZE: store non-zigzagged during the decode passes, -// and only de-zigzag when dequantizing -static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) -{ - int k; - if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->succ_high == 0) { - int shift = j->succ_low; - - if (j->eob_run) { - --j->eob_run; - return 1; - } - - k = j->spec_start; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - j->code_buffer <<= s; - j->code_bits -= s; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) << shift); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r); - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - --j->eob_run; - break; - } - k += 16; - } else { - k += r; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) << shift); - } - } - } while (k <= j->spec_end); - } else { - // refinement scan for these AC coefficients - - short bit = (short) (1 << j->succ_low); - - if (j->eob_run) { - --j->eob_run; - for (k = j->spec_start; k <= j->spec_end; ++k) { - short *p = &data[stbi__jpeg_dezigzag[k]]; - if (*p != 0) - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } - } else { - k = j->spec_start; - do { - int r,s; - int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r) - 1; - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - r = 64; // force end of block - } else { - // r=15 s=0 should write 16 0s, so we just do - // a run of 15 0s and then write s (which is 0), - // so we don't have to do anything special here - } - } else { - if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); - // sign bit - if (stbi__jpeg_get_bit(j)) - s = bit; - else - s = -bit; - } - - // advance by r - while (k <= j->spec_end) { - short *p = &data[stbi__jpeg_dezigzag[k++]]; - if (*p != 0) { - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } else { - if (r == 0) { - *p = (short) s; - break; - } - --r; - } - } - } while (k <= j->spec_end); - } - } - return 1; -} - -// take a -128..127 value and stbi__clamp it and convert to 0..255 -stbi_inline static stbi_uc stbi__clamp(int x) -{ - // trick to use a single test to catch both cases - if ((unsigned int) x > 255) { - if (x < 0) return 0; - if (x > 255) return 255; - } - return (stbi_uc) x; -} - -#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) -#define stbi__fsh(x) ((x) << 12) - -// derived from jidctint -- DCT_ISLOW -#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ - int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ - p2 = s2; \ - p3 = s6; \ - p1 = (p2+p3) * stbi__f2f(0.5411961f); \ - t2 = p1 + p3*stbi__f2f(-1.847759065f); \ - t3 = p1 + p2*stbi__f2f( 0.765366865f); \ - p2 = s0; \ - p3 = s4; \ - t0 = stbi__fsh(p2+p3); \ - t1 = stbi__fsh(p2-p3); \ - x0 = t0+t3; \ - x3 = t0-t3; \ - x1 = t1+t2; \ - x2 = t1-t2; \ - t0 = s7; \ - t1 = s5; \ - t2 = s3; \ - t3 = s1; \ - p3 = t0+t2; \ - p4 = t1+t3; \ - p1 = t0+t3; \ - p2 = t1+t2; \ - p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ - t0 = t0*stbi__f2f( 0.298631336f); \ - t1 = t1*stbi__f2f( 2.053119869f); \ - t2 = t2*stbi__f2f( 3.072711026f); \ - t3 = t3*stbi__f2f( 1.501321110f); \ - p1 = p5 + p1*stbi__f2f(-0.899976223f); \ - p2 = p5 + p2*stbi__f2f(-2.562915447f); \ - p3 = p3*stbi__f2f(-1.961570560f); \ - p4 = p4*stbi__f2f(-0.390180644f); \ - t3 += p1+p4; \ - t2 += p2+p3; \ - t1 += p2+p4; \ - t0 += p1+p3; - -static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) -{ - int i,val[64],*v=val; - stbi_uc *o; - short *d = data; - - // columns - for (i=0; i < 8; ++i,++d, ++v) { - // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing - if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 - && d[40]==0 && d[48]==0 && d[56]==0) { - // no shortcut 0 seconds - // (1|2|3|4|5|6|7)==0 0 seconds - // all separate -0.047 seconds - // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds - int dcterm = d[0] << 2; - v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; - } else { - STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) - // constants scaled things up by 1<<12; let's bring them back - // down, but keep 2 extra bits of precision - x0 += 512; x1 += 512; x2 += 512; x3 += 512; - v[ 0] = (x0+t3) >> 10; - v[56] = (x0-t3) >> 10; - v[ 8] = (x1+t2) >> 10; - v[48] = (x1-t2) >> 10; - v[16] = (x2+t1) >> 10; - v[40] = (x2-t1) >> 10; - v[24] = (x3+t0) >> 10; - v[32] = (x3-t0) >> 10; - } - } - - for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { - // no fast case since the first 1D IDCT spread components out - STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) - // constants scaled things up by 1<<12, plus we had 1<<2 from first - // loop, plus horizontal and vertical each scale by sqrt(8) so together - // we've got an extra 1<<3, so 1<<17 total we need to remove. - // so we want to round that, which means adding 0.5 * 1<<17, - // aka 65536. Also, we'll end up with -128 to 127 that we want - // to encode as 0..255 by adding 128, so we'll add that before the shift - x0 += 65536 + (128<<17); - x1 += 65536 + (128<<17); - x2 += 65536 + (128<<17); - x3 += 65536 + (128<<17); - // tried computing the shifts into temps, or'ing the temps to see - // if any were out of range, but that was slower - o[0] = stbi__clamp((x0+t3) >> 17); - o[7] = stbi__clamp((x0-t3) >> 17); - o[1] = stbi__clamp((x1+t2) >> 17); - o[6] = stbi__clamp((x1-t2) >> 17); - o[2] = stbi__clamp((x2+t1) >> 17); - o[5] = stbi__clamp((x2-t1) >> 17); - o[3] = stbi__clamp((x3+t0) >> 17); - o[4] = stbi__clamp((x3-t0) >> 17); - } -} - -#ifdef STBI_SSE2 -// sse2 integer IDCT. not the fastest possible implementation but it -// produces bit-identical results to the generic C version so it's -// fully "transparent". -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - // This is constructed to match our regular (generic) integer IDCT exactly. - __m128i row0, row1, row2, row3, row4, row5, row6, row7; - __m128i tmp; - - // dot product constant: even elems=x, odd elems=y - #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) - - // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) - // out(1) = c1[even]*x + c1[odd]*y - #define dct_rot(out0,out1, x,y,c0,c1) \ - __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ - __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ - __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ - __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ - __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ - __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) - - // out = in << 12 (in 16-bit, out 32-bit) - #define dct_widen(out, in) \ - __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ - __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) - - // wide add - #define dct_wadd(out, a, b) \ - __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_add_epi32(a##_h, b##_h) - - // wide sub - #define dct_wsub(out, a, b) \ - __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) - - // butterfly a/b, add bias, then shift by "s" and pack - #define dct_bfly32o(out0, out1, a,b,bias,s) \ - { \ - __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ - __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ - dct_wadd(sum, abiased, b); \ - dct_wsub(dif, abiased, b); \ - out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ - out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ - } - - // 8-bit interleave step (for transposes) - #define dct_interleave8(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi8(a, b); \ - b = _mm_unpackhi_epi8(tmp, b) - - // 16-bit interleave step (for transposes) - #define dct_interleave16(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi16(a, b); \ - b = _mm_unpackhi_epi16(tmp, b) - - #define dct_pass(bias,shift) \ - { \ - /* even part */ \ - dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ - __m128i sum04 = _mm_add_epi16(row0, row4); \ - __m128i dif04 = _mm_sub_epi16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ - dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ - __m128i sum17 = _mm_add_epi16(row1, row7); \ - __m128i sum35 = _mm_add_epi16(row3, row5); \ - dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ - dct_wadd(x4, y0o, y4o); \ - dct_wadd(x5, y1o, y5o); \ - dct_wadd(x6, y2o, y5o); \ - dct_wadd(x7, y3o, y4o); \ - dct_bfly32o(row0,row7, x0,x7,bias,shift); \ - dct_bfly32o(row1,row6, x1,x6,bias,shift); \ - dct_bfly32o(row2,row5, x2,x5,bias,shift); \ - dct_bfly32o(row3,row4, x3,x4,bias,shift); \ - } - - __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); - __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); - __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); - __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); - __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); - __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); - __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); - __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); - - // rounding biases in column/row passes, see stbi__idct_block for explanation. - __m128i bias_0 = _mm_set1_epi32(512); - __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); - - // load - row0 = _mm_load_si128((const __m128i *) (data + 0*8)); - row1 = _mm_load_si128((const __m128i *) (data + 1*8)); - row2 = _mm_load_si128((const __m128i *) (data + 2*8)); - row3 = _mm_load_si128((const __m128i *) (data + 3*8)); - row4 = _mm_load_si128((const __m128i *) (data + 4*8)); - row5 = _mm_load_si128((const __m128i *) (data + 5*8)); - row6 = _mm_load_si128((const __m128i *) (data + 6*8)); - row7 = _mm_load_si128((const __m128i *) (data + 7*8)); - - // column pass - dct_pass(bias_0, 10); - - { - // 16bit 8x8 transpose pass 1 - dct_interleave16(row0, row4); - dct_interleave16(row1, row5); - dct_interleave16(row2, row6); - dct_interleave16(row3, row7); - - // transpose pass 2 - dct_interleave16(row0, row2); - dct_interleave16(row1, row3); - dct_interleave16(row4, row6); - dct_interleave16(row5, row7); - - // transpose pass 3 - dct_interleave16(row0, row1); - dct_interleave16(row2, row3); - dct_interleave16(row4, row5); - dct_interleave16(row6, row7); - } - - // row pass - dct_pass(bias_1, 17); - - { - // pack - __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 - __m128i p1 = _mm_packus_epi16(row2, row3); - __m128i p2 = _mm_packus_epi16(row4, row5); - __m128i p3 = _mm_packus_epi16(row6, row7); - - // 8bit 8x8 transpose pass 1 - dct_interleave8(p0, p2); // a0e0a1e1... - dct_interleave8(p1, p3); // c0g0c1g1... - - // transpose pass 2 - dct_interleave8(p0, p1); // a0c0e0g0... - dct_interleave8(p2, p3); // b0d0f0h0... - - // transpose pass 3 - dct_interleave8(p0, p2); // a0b0c0d0... - dct_interleave8(p1, p3); // a4b4c4d4... - - // store - _mm_storel_epi64((__m128i *) out, p0); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p2); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p1); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p3); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); - } - -#undef dct_const -#undef dct_rot -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_interleave8 -#undef dct_interleave16 -#undef dct_pass -} - -#endif // STBI_SSE2 - -#ifdef STBI_NEON - -// NEON integer IDCT. should produce bit-identical -// results to the generic C version. -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; - - int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); - int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); - int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); - int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); - int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); - int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); - int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); - int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); - int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); - int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); - int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); - int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); - -#define dct_long_mul(out, inq, coeff) \ - int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) - -#define dct_long_mac(out, acc, inq, coeff) \ - int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) - -#define dct_widen(out, inq) \ - int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ - int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) - -// wide add -#define dct_wadd(out, a, b) \ - int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vaddq_s32(a##_h, b##_h) - -// wide sub -#define dct_wsub(out, a, b) \ - int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vsubq_s32(a##_h, b##_h) - -// butterfly a/b, then shift using "shiftop" by "s" and pack -#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ - { \ - dct_wadd(sum, a, b); \ - dct_wsub(dif, a, b); \ - out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ - out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ - } - -#define dct_pass(shiftop, shift) \ - { \ - /* even part */ \ - int16x8_t sum26 = vaddq_s16(row2, row6); \ - dct_long_mul(p1e, sum26, rot0_0); \ - dct_long_mac(t2e, p1e, row6, rot0_1); \ - dct_long_mac(t3e, p1e, row2, rot0_2); \ - int16x8_t sum04 = vaddq_s16(row0, row4); \ - int16x8_t dif04 = vsubq_s16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - int16x8_t sum15 = vaddq_s16(row1, row5); \ - int16x8_t sum17 = vaddq_s16(row1, row7); \ - int16x8_t sum35 = vaddq_s16(row3, row5); \ - int16x8_t sum37 = vaddq_s16(row3, row7); \ - int16x8_t sumodd = vaddq_s16(sum17, sum35); \ - dct_long_mul(p5o, sumodd, rot1_0); \ - dct_long_mac(p1o, p5o, sum17, rot1_1); \ - dct_long_mac(p2o, p5o, sum35, rot1_2); \ - dct_long_mul(p3o, sum37, rot2_0); \ - dct_long_mul(p4o, sum15, rot2_1); \ - dct_wadd(sump13o, p1o, p3o); \ - dct_wadd(sump24o, p2o, p4o); \ - dct_wadd(sump23o, p2o, p3o); \ - dct_wadd(sump14o, p1o, p4o); \ - dct_long_mac(x4, sump13o, row7, rot3_0); \ - dct_long_mac(x5, sump24o, row5, rot3_1); \ - dct_long_mac(x6, sump23o, row3, rot3_2); \ - dct_long_mac(x7, sump14o, row1, rot3_3); \ - dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ - dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ - dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ - dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ - } - - // load - row0 = vld1q_s16(data + 0*8); - row1 = vld1q_s16(data + 1*8); - row2 = vld1q_s16(data + 2*8); - row3 = vld1q_s16(data + 3*8); - row4 = vld1q_s16(data + 4*8); - row5 = vld1q_s16(data + 5*8); - row6 = vld1q_s16(data + 6*8); - row7 = vld1q_s16(data + 7*8); - - // add DC bias - row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); - - // column pass - dct_pass(vrshrn_n_s32, 10); - - // 16bit 8x8 transpose - { -// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. -// whether compilers actually get this is another story, sadly. -#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } -#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } - - // pass 1 - dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 - dct_trn16(row2, row3); - dct_trn16(row4, row5); - dct_trn16(row6, row7); - - // pass 2 - dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 - dct_trn32(row1, row3); - dct_trn32(row4, row6); - dct_trn32(row5, row7); - - // pass 3 - dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 - dct_trn64(row1, row5); - dct_trn64(row2, row6); - dct_trn64(row3, row7); - -#undef dct_trn16 -#undef dct_trn32 -#undef dct_trn64 - } - - // row pass - // vrshrn_n_s32 only supports shifts up to 16, we need - // 17. so do a non-rounding shift of 16 first then follow - // up with a rounding shift by 1. - dct_pass(vshrn_n_s32, 16); - - { - // pack and round - uint8x8_t p0 = vqrshrun_n_s16(row0, 1); - uint8x8_t p1 = vqrshrun_n_s16(row1, 1); - uint8x8_t p2 = vqrshrun_n_s16(row2, 1); - uint8x8_t p3 = vqrshrun_n_s16(row3, 1); - uint8x8_t p4 = vqrshrun_n_s16(row4, 1); - uint8x8_t p5 = vqrshrun_n_s16(row5, 1); - uint8x8_t p6 = vqrshrun_n_s16(row6, 1); - uint8x8_t p7 = vqrshrun_n_s16(row7, 1); - - // again, these can translate into one instruction, but often don't. -#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } -#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } - - // sadly can't use interleaved stores here since we only write - // 8 bytes to each scan line! - - // 8x8 8-bit transpose pass 1 - dct_trn8_8(p0, p1); - dct_trn8_8(p2, p3); - dct_trn8_8(p4, p5); - dct_trn8_8(p6, p7); - - // pass 2 - dct_trn8_16(p0, p2); - dct_trn8_16(p1, p3); - dct_trn8_16(p4, p6); - dct_trn8_16(p5, p7); - - // pass 3 - dct_trn8_32(p0, p4); - dct_trn8_32(p1, p5); - dct_trn8_32(p2, p6); - dct_trn8_32(p3, p7); - - // store - vst1_u8(out, p0); out += out_stride; - vst1_u8(out, p1); out += out_stride; - vst1_u8(out, p2); out += out_stride; - vst1_u8(out, p3); out += out_stride; - vst1_u8(out, p4); out += out_stride; - vst1_u8(out, p5); out += out_stride; - vst1_u8(out, p6); out += out_stride; - vst1_u8(out, p7); - -#undef dct_trn8_8 -#undef dct_trn8_16 -#undef dct_trn8_32 - } - -#undef dct_long_mul -#undef dct_long_mac -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_pass -} - -#endif // STBI_NEON - -#define STBI__MARKER_none 0xff -// if there's a pending marker from the entropy stream, return that -// otherwise, fetch from the stream and get a marker. if there's no -// marker, return 0xff, which is never a valid marker value -static stbi_uc stbi__get_marker(stbi__jpeg *j) -{ - stbi_uc x; - if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } - x = stbi__get8(j->s); - if (x != 0xff) return STBI__MARKER_none; - while (x == 0xff) - x = stbi__get8(j->s); - return x; -} - -// in each scan, we'll have scan_n components, and the order -// of the components is specified by order[] -#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) - -// after a restart interval, stbi__jpeg_reset the entropy decoder and -// the dc prediction -static void stbi__jpeg_reset(stbi__jpeg *j) -{ - j->code_bits = 0; - j->code_buffer = 0; - j->nomore = 0; - j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = 0; - j->marker = STBI__MARKER_none; - j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; - j->eob_run = 0; - // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, - // since we don't even allow 1<<30 pixels -} - -static int stbi__parse_entropy_coded_data(stbi__jpeg *z) -{ - stbi__jpeg_reset(z); - if (!z->progressive) { - if (z->scan_n == 1) { - int i,j; - STBI_SIMD_ALIGN(short, data[64]); - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - // if it's NOT a restart, then just bail, so we get corrupt data - // rather than no data - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - STBI_SIMD_ALIGN(short, data[64]); - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x)*8; - int y2 = (j*z->img_comp[n].v + y)*8; - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } else { - if (z->scan_n == 1) { - int i,j; - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - if (z->spec_start == 0) { - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } else { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) - return 0; - } - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x); - int y2 = (j*z->img_comp[n].v + y); - short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } -} - -static void stbi__jpeg_dequantize(short *data, stbi_uc *dequant) -{ - int i; - for (i=0; i < 64; ++i) - data[i] *= dequant[i]; -} - -static void stbi__jpeg_finish(stbi__jpeg *z) -{ - if (z->progressive) { - // dequantize and idct the data - int i,j,n; - for (n=0; n < z->s->img_n; ++n) { - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - } - } - } - } -} - -static int stbi__process_marker(stbi__jpeg *z, int m) -{ - int L; - switch (m) { - case STBI__MARKER_none: // no marker found - return stbi__err("expected marker","Corrupt JPEG"); - - case 0xDD: // DRI - specify restart interval - if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); - z->restart_interval = stbi__get16be(z->s); - return 1; - - case 0xDB: // DQT - define quantization table - L = stbi__get16be(z->s)-2; - while (L > 0) { - int q = stbi__get8(z->s); - int p = q >> 4; - int t = q & 15,i; - if (p != 0) return stbi__err("bad DQT type","Corrupt JPEG"); - if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); - for (i=0; i < 64; ++i) - z->dequant[t][stbi__jpeg_dezigzag[i]] = stbi__get8(z->s); - L -= 65; - } - return L==0; - - case 0xC4: // DHT - define huffman table - L = stbi__get16be(z->s)-2; - while (L > 0) { - stbi_uc *v; - int sizes[16],i,n=0; - int q = stbi__get8(z->s); - int tc = q >> 4; - int th = q & 15; - if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); - for (i=0; i < 16; ++i) { - sizes[i] = stbi__get8(z->s); - n += sizes[i]; - } - L -= 17; - if (tc == 0) { - if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; - v = z->huff_dc[th].values; - } else { - if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; - v = z->huff_ac[th].values; - } - for (i=0; i < n; ++i) - v[i] = stbi__get8(z->s); - if (tc != 0) - stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); - L -= n; - } - return L==0; - } - // check for comment block or APP blocks - if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { - stbi__skip(z->s, stbi__get16be(z->s)-2); - return 1; - } - return 0; -} - -// after we see SOS -static int stbi__process_scan_header(stbi__jpeg *z) -{ - int i; - int Ls = stbi__get16be(z->s); - z->scan_n = stbi__get8(z->s); - if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); - if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); - for (i=0; i < z->scan_n; ++i) { - int id = stbi__get8(z->s), which; - int q = stbi__get8(z->s); - for (which = 0; which < z->s->img_n; ++which) - if (z->img_comp[which].id == id) - break; - if (which == z->s->img_n) return 0; // no match - z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); - z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); - z->order[i] = which; - } - - { - int aa; - z->spec_start = stbi__get8(z->s); - z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 - aa = stbi__get8(z->s); - z->succ_high = (aa >> 4); - z->succ_low = (aa & 15); - if (z->progressive) { - if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) - return stbi__err("bad SOS", "Corrupt JPEG"); - } else { - if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); - if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); - z->spec_end = 63; - } - } - - return 1; -} - -static int stbi__process_frame_header(stbi__jpeg *z, int scan) -{ - stbi__context *s = z->s; - int Lf,p,i,q, h_max=1,v_max=1,c; - Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG - p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline - s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG - s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires - c = stbi__get8(s); - if (c != 3 && c != 1) return stbi__err("bad component count","Corrupt JPEG"); // JFIF requires - s->img_n = c; - for (i=0; i < c; ++i) { - z->img_comp[i].data = NULL; - z->img_comp[i].linebuf = NULL; - } - - if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); - - for (i=0; i < s->img_n; ++i) { - z->img_comp[i].id = stbi__get8(s); - if (z->img_comp[i].id != i+1) // JFIF requires - if (z->img_comp[i].id != i) // some version of jpegtran outputs non-JFIF-compliant files! - return stbi__err("bad component ID","Corrupt JPEG"); - q = stbi__get8(s); - z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); - z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); - z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); - } - - if (scan != STBI__SCAN_load) return 1; - - if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); - - for (i=0; i < s->img_n; ++i) { - if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; - if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; - } - - // compute interleaved mcu info - z->img_h_max = h_max; - z->img_v_max = v_max; - z->img_mcu_w = h_max * 8; - z->img_mcu_h = v_max * 8; - z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; - z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; - - for (i=0; i < s->img_n; ++i) { - // number of effective pixels (e.g. for non-interleaved MCU) - z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; - z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; - // to simplify generation, we'll allocate enough memory to decode - // the bogus oversized data from using interleaved MCUs and their - // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't - // discard the extra data until colorspace conversion - z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; - z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; - z->img_comp[i].raw_data = stbi__malloc(z->img_comp[i].w2 * z->img_comp[i].h2+15); - - if (z->img_comp[i].raw_data == NULL) { - for(--i; i >= 0; --i) { - STBI_FREE(z->img_comp[i].raw_data); - z->img_comp[i].data = NULL; - } - return stbi__err("outofmem", "Out of memory"); - } - // align blocks for idct using mmx/sse - z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); - z->img_comp[i].linebuf = NULL; - if (z->progressive) { - z->img_comp[i].coeff_w = (z->img_comp[i].w2 + 7) >> 3; - z->img_comp[i].coeff_h = (z->img_comp[i].h2 + 7) >> 3; - z->img_comp[i].raw_coeff = STBI_MALLOC(z->img_comp[i].coeff_w * z->img_comp[i].coeff_h * 64 * sizeof(short) + 15); - z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); - } else { - z->img_comp[i].coeff = 0; - z->img_comp[i].raw_coeff = 0; - } - } - - return 1; -} - -// use comparisons since in some cases we handle more than one case (e.g. SOF) -#define stbi__DNL(x) ((x) == 0xdc) -#define stbi__SOI(x) ((x) == 0xd8) -#define stbi__EOI(x) ((x) == 0xd9) -#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) -#define stbi__SOS(x) ((x) == 0xda) - -#define stbi__SOF_progressive(x) ((x) == 0xc2) - -static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) -{ - int m; - z->marker = STBI__MARKER_none; // initialize cached marker to empty - m = stbi__get_marker(z); - if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); - if (scan == STBI__SCAN_type) return 1; - m = stbi__get_marker(z); - while (!stbi__SOF(m)) { - if (!stbi__process_marker(z,m)) return 0; - m = stbi__get_marker(z); - while (m == STBI__MARKER_none) { - // some files have extra padding after their blocks, so ok, we'll scan - if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); - m = stbi__get_marker(z); - } - } - z->progressive = stbi__SOF_progressive(m); - if (!stbi__process_frame_header(z, scan)) return 0; - return 1; -} - -// decode image to YCbCr format -static int stbi__decode_jpeg_image(stbi__jpeg *j) -{ - int m; - for (m = 0; m < 4; m++) { - j->img_comp[m].raw_data = NULL; - j->img_comp[m].raw_coeff = NULL; - } - j->restart_interval = 0; - if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; - m = stbi__get_marker(j); - while (!stbi__EOI(m)) { - if (stbi__SOS(m)) { - if (!stbi__process_scan_header(j)) return 0; - if (!stbi__parse_entropy_coded_data(j)) return 0; - if (j->marker == STBI__MARKER_none ) { - // handle 0s at the end of image data from IP Kamera 9060 - while (!stbi__at_eof(j->s)) { - int x = stbi__get8(j->s); - if (x == 255) { - j->marker = stbi__get8(j->s); - break; - } else if (x != 0) { - return stbi__err("junk before marker", "Corrupt JPEG"); - } - } - // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 - } - } else { - if (!stbi__process_marker(j, m)) return 0; - } - m = stbi__get_marker(j); - } - if (j->progressive) - stbi__jpeg_finish(j); - return 1; -} - -// static jfif-centered resampling (across block boundaries) - -typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, - int w, int hs); - -#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) - -static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - STBI_NOTUSED(out); - STBI_NOTUSED(in_far); - STBI_NOTUSED(w); - STBI_NOTUSED(hs); - return in_near; -} - -static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples vertically for every one in input - int i; - STBI_NOTUSED(hs); - for (i=0; i < w; ++i) - out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); - return out; -} - -static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples horizontally for every one in input - int i; - stbi_uc *input = in_near; - - if (w == 1) { - // if only one sample, can't do any interpolation - out[0] = out[1] = input[0]; - return out; - } - - out[0] = input[0]; - out[1] = stbi__div4(input[0]*3 + input[1] + 2); - for (i=1; i < w-1; ++i) { - int n = 3*input[i]+2; - out[i*2+0] = stbi__div4(n+input[i-1]); - out[i*2+1] = stbi__div4(n+input[i+1]); - } - out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); - out[i*2+1] = input[w-1]; - - STBI_NOTUSED(in_far); - STBI_NOTUSED(hs); - - return out; -} - -#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) - -static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i,t0,t1; - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - out[0] = stbi__div4(t1+2); - for (i=1; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i=0,t0,t1; - - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - // process groups of 8 pixels for as long as we can. - // note we can't handle the last pixel in a row in this loop - // because we need to handle the filter boundary conditions. - for (; i < ((w-1) & ~7); i += 8) { -#if defined(STBI_SSE2) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - __m128i zero = _mm_setzero_si128(); - __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); - __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); - __m128i farw = _mm_unpacklo_epi8(farb, zero); - __m128i nearw = _mm_unpacklo_epi8(nearb, zero); - __m128i diff = _mm_sub_epi16(farw, nearw); - __m128i nears = _mm_slli_epi16(nearw, 2); - __m128i curr = _mm_add_epi16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - __m128i prv0 = _mm_slli_si128(curr, 2); - __m128i nxt0 = _mm_srli_si128(curr, 2); - __m128i prev = _mm_insert_epi16(prv0, t1, 0); - __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - __m128i bias = _mm_set1_epi16(8); - __m128i curs = _mm_slli_epi16(curr, 2); - __m128i prvd = _mm_sub_epi16(prev, curr); - __m128i nxtd = _mm_sub_epi16(next, curr); - __m128i curb = _mm_add_epi16(curs, bias); - __m128i even = _mm_add_epi16(prvd, curb); - __m128i odd = _mm_add_epi16(nxtd, curb); - - // interleave even and odd pixels, then undo scaling. - __m128i int0 = _mm_unpacklo_epi16(even, odd); - __m128i int1 = _mm_unpackhi_epi16(even, odd); - __m128i de0 = _mm_srli_epi16(int0, 4); - __m128i de1 = _mm_srli_epi16(int1, 4); - - // pack and write output - __m128i outv = _mm_packus_epi16(de0, de1); - _mm_storeu_si128((__m128i *) (out + i*2), outv); -#elif defined(STBI_NEON) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - uint8x8_t farb = vld1_u8(in_far + i); - uint8x8_t nearb = vld1_u8(in_near + i); - int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); - int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); - int16x8_t curr = vaddq_s16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - int16x8_t prv0 = vextq_s16(curr, curr, 7); - int16x8_t nxt0 = vextq_s16(curr, curr, 1); - int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); - int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - int16x8_t curs = vshlq_n_s16(curr, 2); - int16x8_t prvd = vsubq_s16(prev, curr); - int16x8_t nxtd = vsubq_s16(next, curr); - int16x8_t even = vaddq_s16(curs, prvd); - int16x8_t odd = vaddq_s16(curs, nxtd); - - // undo scaling and round, then store with even/odd phases interleaved - uint8x8x2_t o; - o.val[0] = vqrshrun_n_s16(even, 4); - o.val[1] = vqrshrun_n_s16(odd, 4); - vst2_u8(out + i*2, o); -#endif - - // "previous" value for next iter - t1 = 3*in_near[i+7] + in_far[i+7]; - } - - t0 = t1; - t1 = 3*in_near[i] + in_far[i]; - out[i*2] = stbi__div16(3*t1 + t0 + 8); - - for (++i; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} -#endif - -static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // resample with nearest-neighbor - int i,j; - STBI_NOTUSED(in_far); - for (i=0; i < w; ++i) - for (j=0; j < hs; ++j) - out[i*hs+j] = in_near[i]; - return out; -} - -#ifdef STBI_JPEG_OLD -// this is the same YCbCr-to-RGB calculation that stb_image has used -// historically before the algorithm changes in 1.49 -#define float2fixed(x) ((int) ((x) * 65536 + 0.5)) -static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) -{ - int i; - for (i=0; i < count; ++i) { - int y_fixed = (y[i] << 16) + 32768; // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr*float2fixed(1.40200f); - g = y_fixed - cr*float2fixed(0.71414f) - cb*float2fixed(0.34414f); - b = y_fixed + cb*float2fixed(1.77200f); - r >>= 16; - g >>= 16; - b >>= 16; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#else -// this is a reduced-precision calculation of YCbCr-to-RGB introduced -// to make sure the code produces the same results in both SIMD and scalar -#define float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) -static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) -{ - int i; - for (i=0; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* float2fixed(1.40200f); - g = y_fixed + (cr*-float2fixed(0.71414f)) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#endif - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) -{ - int i = 0; - -#ifdef STBI_SSE2 - // step == 3 is pretty ugly on the final interleave, and i'm not convinced - // it's useful in practice (you wouldn't use it for textures, for example). - // so just accelerate step == 4 case. - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - __m128i signflip = _mm_set1_epi8(-0x80); - __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); - __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); - __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); - __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); - __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); - __m128i xw = _mm_set1_epi16(255); // alpha channel - - for (; i+7 < count; i += 8) { - // load - __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); - __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); - __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); - __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 - __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 - - // unpack to short (and left-shift cr, cb by 8) - __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); - __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); - __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); - - // color transform - __m128i yws = _mm_srli_epi16(yw, 4); - __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); - __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); - __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); - __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); - __m128i rws = _mm_add_epi16(cr0, yws); - __m128i gwt = _mm_add_epi16(cb0, yws); - __m128i bws = _mm_add_epi16(yws, cb1); - __m128i gws = _mm_add_epi16(gwt, cr1); - - // descale - __m128i rw = _mm_srai_epi16(rws, 4); - __m128i bw = _mm_srai_epi16(bws, 4); - __m128i gw = _mm_srai_epi16(gws, 4); - - // back to byte, set up for transpose - __m128i brb = _mm_packus_epi16(rw, bw); - __m128i gxb = _mm_packus_epi16(gw, xw); - - // transpose to interleave channels - __m128i t0 = _mm_unpacklo_epi8(brb, gxb); - __m128i t1 = _mm_unpackhi_epi8(brb, gxb); - __m128i o0 = _mm_unpacklo_epi16(t0, t1); - __m128i o1 = _mm_unpackhi_epi16(t0, t1); - - // store - _mm_storeu_si128((__m128i *) (out + 0), o0); - _mm_storeu_si128((__m128i *) (out + 16), o1); - out += 32; - } - } -#endif - -#ifdef STBI_NEON - // in this version, step=3 support would be easy to add. but is there demand? - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - uint8x8_t signflip = vdup_n_u8(0x80); - int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); - int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); - int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); - int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); - - for (; i+7 < count; i += 8) { - // load - uint8x8_t y_bytes = vld1_u8(y + i); - uint8x8_t cr_bytes = vld1_u8(pcr + i); - uint8x8_t cb_bytes = vld1_u8(pcb + i); - int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); - int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); - - // expand to s16 - int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); - int16x8_t crw = vshll_n_s8(cr_biased, 7); - int16x8_t cbw = vshll_n_s8(cb_biased, 7); - - // color transform - int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); - int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); - int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); - int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); - int16x8_t rws = vaddq_s16(yws, cr0); - int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); - int16x8_t bws = vaddq_s16(yws, cb1); - - // undo scaling, round, convert to byte - uint8x8x4_t o; - o.val[0] = vqrshrun_n_s16(rws, 4); - o.val[1] = vqrshrun_n_s16(gws, 4); - o.val[2] = vqrshrun_n_s16(bws, 4); - o.val[3] = vdup_n_u8(255); - - // store, interleaving r/g/b/a - vst4_u8(out, o); - out += 8*4; - } - } -#endif - - for (; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* float2fixed(1.40200f); - g = y_fixed + cr*-float2fixed(0.71414f) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#endif - -// set up the kernels -static void stbi__setup_jpeg(stbi__jpeg *j) -{ - j->idct_block_kernel = stbi__idct_block; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; - -#ifdef STBI_SSE2 - if (stbi__sse2_available()) { - j->idct_block_kernel = stbi__idct_simd; - #ifndef STBI_JPEG_OLD - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - #endif - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; - } -#endif - -#ifdef STBI_NEON - j->idct_block_kernel = stbi__idct_simd; - #ifndef STBI_JPEG_OLD - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - #endif - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; -#endif -} - -// clean up the temporary component buffers -static void stbi__cleanup_jpeg(stbi__jpeg *j) -{ - int i; - for (i=0; i < j->s->img_n; ++i) { - if (j->img_comp[i].raw_data) { - STBI_FREE(j->img_comp[i].raw_data); - j->img_comp[i].raw_data = NULL; - j->img_comp[i].data = NULL; - } - if (j->img_comp[i].raw_coeff) { - STBI_FREE(j->img_comp[i].raw_coeff); - j->img_comp[i].raw_coeff = 0; - j->img_comp[i].coeff = 0; - } - if (j->img_comp[i].linebuf) { - STBI_FREE(j->img_comp[i].linebuf); - j->img_comp[i].linebuf = NULL; - } - } -} - -typedef struct -{ - resample_row_func resample; - stbi_uc *line0,*line1; - int hs,vs; // expansion factor in each axis - int w_lores; // horizontal pixels pre-expansion - int ystep; // how far through vertical expansion we are - int ypos; // which pre-expansion row we're on -} stbi__resample; - -static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) -{ - int n, decode_n; - z->s->img_n = 0; // make stbi__cleanup_jpeg safe - - // validate req_comp - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - - // load a jpeg image from whichever source, but leave in YCbCr format - if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } - - // determine actual number of components to generate - n = req_comp ? req_comp : z->s->img_n; - - if (z->s->img_n == 3 && n < 3) - decode_n = 1; - else - decode_n = z->s->img_n; - - // resample and color-convert - { - int k; - unsigned int i,j; - stbi_uc *output; - stbi_uc *coutput[4]; - - stbi__resample res_comp[4]; - - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - - // allocate line buffer big enough for upsampling off the edges - // with upsample factor of 4 - z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); - if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - r->hs = z->img_h_max / z->img_comp[k].h; - r->vs = z->img_v_max / z->img_comp[k].v; - r->ystep = r->vs >> 1; - r->w_lores = (z->s->img_x + r->hs-1) / r->hs; - r->ypos = 0; - r->line0 = r->line1 = z->img_comp[k].data; - - if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; - else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; - else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; - else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; - else r->resample = stbi__resample_row_generic; - } - - // can't error after this so, this is safe - output = (stbi_uc *) stbi__malloc(n * z->s->img_x * z->s->img_y + 1); - if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - // now go ahead and resample - for (j=0; j < z->s->img_y; ++j) { - stbi_uc *out = output + n * z->s->img_x * j; - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - int y_bot = r->ystep >= (r->vs >> 1); - coutput[k] = r->resample(z->img_comp[k].linebuf, - y_bot ? r->line1 : r->line0, - y_bot ? r->line0 : r->line1, - r->w_lores, r->hs); - if (++r->ystep >= r->vs) { - r->ystep = 0; - r->line0 = r->line1; - if (++r->ypos < z->img_comp[k].y) - r->line1 += z->img_comp[k].w2; - } - } - if (n >= 3) { - stbi_uc *y = coutput[0]; - if (z->s->img_n == 3) { - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - } else - for (i=0; i < z->s->img_x; ++i) { - out[0] = out[1] = out[2] = y[i]; - out[3] = 255; // not used if n==3 - out += n; - } - } else { - stbi_uc *y = coutput[0]; - if (n == 1) - for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; - else - for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; - } - } - stbi__cleanup_jpeg(z); - *out_x = z->s->img_x; - *out_y = z->s->img_y; - if (comp) *comp = z->s->img_n; // report original components, not output - return output; - } -} - -static unsigned char *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__jpeg j; - j.s = s; - stbi__setup_jpeg(&j); - return load_jpeg_image(&j, x,y,comp,req_comp); -} - -static int stbi__jpeg_test(stbi__context *s) -{ - int r; - stbi__jpeg j; - j.s = s; - stbi__setup_jpeg(&j); - r = stbi__decode_jpeg_header(&j, STBI__SCAN_type); - stbi__rewind(s); - return r; -} - -static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) -{ - if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { - stbi__rewind( j->s ); - return 0; - } - if (x) *x = j->s->img_x; - if (y) *y = j->s->img_y; - if (comp) *comp = j->s->img_n; - return 1; -} - -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__jpeg j; - j.s = s; - return stbi__jpeg_info_raw(&j, x, y, comp); -} -#endif - -// public domain zlib decode v0.2 Sean Barrett 2006-11-18 -// simple implementation -// - all input must be provided in an upfront buffer -// - all output is written to a single output buffer (can malloc/realloc) -// performance -// - fast huffman - -#ifndef STBI_NO_ZLIB - -// fast-way is faster to check than jpeg huffman, but slow way is slower -#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables -#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) - -// zlib-style huffman encoding -// (jpegs packs from left, zlib from right, so can't share code) -typedef struct -{ - stbi__uint16 fast[1 << STBI__ZFAST_BITS]; - stbi__uint16 firstcode[16]; - int maxcode[17]; - stbi__uint16 firstsymbol[16]; - stbi_uc size[288]; - stbi__uint16 value[288]; -} stbi__zhuffman; - -stbi_inline static int stbi__bitreverse16(int n) -{ - n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); - n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); - n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); - n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); - return n; -} - -stbi_inline static int stbi__bit_reverse(int v, int bits) -{ - STBI_ASSERT(bits <= 16); - // to bit reverse n bits, reverse 16 and shift - // e.g. 11 bits, bit reverse and shift away 5 - return stbi__bitreverse16(v) >> (16-bits); -} - -static int stbi__zbuild_huffman(stbi__zhuffman *z, stbi_uc *sizelist, int num) -{ - int i,k=0; - int code, next_code[16], sizes[17]; - - // DEFLATE spec for generating codes - memset(sizes, 0, sizeof(sizes)); - memset(z->fast, 0, sizeof(z->fast)); - for (i=0; i < num; ++i) - ++sizes[sizelist[i]]; - sizes[0] = 0; - for (i=1; i < 16; ++i) - if (sizes[i] > (1 << i)) - return stbi__err("bad sizes", "Corrupt PNG"); - code = 0; - for (i=1; i < 16; ++i) { - next_code[i] = code; - z->firstcode[i] = (stbi__uint16) code; - z->firstsymbol[i] = (stbi__uint16) k; - code = (code + sizes[i]); - if (sizes[i]) - if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); - z->maxcode[i] = code << (16-i); // preshift for inner loop - code <<= 1; - k += sizes[i]; - } - z->maxcode[16] = 0x10000; // sentinel - for (i=0; i < num; ++i) { - int s = sizelist[i]; - if (s) { - int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; - stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); - z->size [c] = (stbi_uc ) s; - z->value[c] = (stbi__uint16) i; - if (s <= STBI__ZFAST_BITS) { - int k = stbi__bit_reverse(next_code[s],s); - while (k < (1 << STBI__ZFAST_BITS)) { - z->fast[k] = fastv; - k += (1 << s); - } - } - ++next_code[s]; - } - } - return 1; -} - -// zlib-from-memory implementation for PNG reading -// because PNG allows splitting the zlib stream arbitrarily, -// and it's annoying structurally to have PNG call ZLIB call PNG, -// we require PNG read all the IDATs and combine them into a single -// memory buffer - -typedef struct -{ - stbi_uc *zbuffer, *zbuffer_end; - int num_bits; - stbi__uint32 code_buffer; - - char *zout; - char *zout_start; - char *zout_end; - int z_expandable; - - stbi__zhuffman z_length, z_distance; -} stbi__zbuf; - -stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) -{ - if (z->zbuffer >= z->zbuffer_end) return 0; - return *z->zbuffer++; -} - -static void stbi__fill_bits(stbi__zbuf *z) -{ - do { - STBI_ASSERT(z->code_buffer < (1U << z->num_bits)); - z->code_buffer |= stbi__zget8(z) << z->num_bits; - z->num_bits += 8; - } while (z->num_bits <= 24); -} - -stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) -{ - unsigned int k; - if (z->num_bits < n) stbi__fill_bits(z); - k = z->code_buffer & ((1 << n) - 1); - z->code_buffer >>= n; - z->num_bits -= n; - return k; -} - -static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s,k; - // not resolved by fast table, so compute it the slow way - // use jpeg approach, which requires MSbits at top - k = stbi__bit_reverse(a->code_buffer, 16); - for (s=STBI__ZFAST_BITS+1; ; ++s) - if (k < z->maxcode[s]) - break; - if (s == 16) return -1; // invalid code! - // code size is s, so: - b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; - STBI_ASSERT(z->size[b] == s); - a->code_buffer >>= s; - a->num_bits -= s; - return z->value[b]; -} - -stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s; - if (a->num_bits < 16) stbi__fill_bits(a); - b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; - if (b) { - s = b >> 9; - a->code_buffer >>= s; - a->num_bits -= s; - return b & 511; - } - return stbi__zhuffman_decode_slowpath(a, z); -} - -static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes -{ - char *q; - int cur, limit; - z->zout = zout; - if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); - cur = (int) (z->zout - z->zout_start); - limit = (int) (z->zout_end - z->zout_start); - while (cur + n > limit) - limit *= 2; - q = (char *) STBI_REALLOC(z->zout_start, limit); - if (q == NULL) return stbi__err("outofmem", "Out of memory"); - z->zout_start = q; - z->zout = q + cur; - z->zout_end = q + limit; - return 1; -} - -static int stbi__zlength_base[31] = { - 3,4,5,6,7,8,9,10,11,13, - 15,17,19,23,27,31,35,43,51,59, - 67,83,99,115,131,163,195,227,258,0,0 }; - -static int stbi__zlength_extra[31]= -{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; - -static int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, -257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; - -static int stbi__zdist_extra[32] = -{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; - -static int stbi__parse_huffman_block(stbi__zbuf *a) -{ - char *zout = a->zout; - for(;;) { - int z = stbi__zhuffman_decode(a, &a->z_length); - if (z < 256) { - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes - if (zout >= a->zout_end) { - if (!stbi__zexpand(a, zout, 1)) return 0; - zout = a->zout; - } - *zout++ = (char) z; - } else { - stbi_uc *p; - int len,dist; - if (z == 256) { - a->zout = zout; - return 1; - } - z -= 257; - len = stbi__zlength_base[z]; - if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); - z = stbi__zhuffman_decode(a, &a->z_distance); - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); - dist = stbi__zdist_base[z]; - if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); - if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); - if (zout + len > a->zout_end) { - if (!stbi__zexpand(a, zout, len)) return 0; - zout = a->zout; - } - p = (stbi_uc *) (zout - dist); - if (dist == 1) { // run of one byte; common in images. - stbi_uc v = *p; - if (len) { do *zout++ = v; while (--len); } - } else { - if (len) { do *zout++ = *p++; while (--len); } - } - } - } -} - -static int stbi__compute_huffman_codes(stbi__zbuf *a) -{ - static stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; - stbi__zhuffman z_codelength; - stbi_uc lencodes[286+32+137];//padding for maximum single op - stbi_uc codelength_sizes[19]; - int i,n; - - int hlit = stbi__zreceive(a,5) + 257; - int hdist = stbi__zreceive(a,5) + 1; - int hclen = stbi__zreceive(a,4) + 4; - - memset(codelength_sizes, 0, sizeof(codelength_sizes)); - for (i=0; i < hclen; ++i) { - int s = stbi__zreceive(a,3); - codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; - } - if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; - - n = 0; - while (n < hlit + hdist) { - int c = stbi__zhuffman_decode(a, &z_codelength); - if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); - if (c < 16) - lencodes[n++] = (stbi_uc) c; - else if (c == 16) { - c = stbi__zreceive(a,2)+3; - memset(lencodes+n, lencodes[n-1], c); - n += c; - } else if (c == 17) { - c = stbi__zreceive(a,3)+3; - memset(lencodes+n, 0, c); - n += c; - } else { - STBI_ASSERT(c == 18); - c = stbi__zreceive(a,7)+11; - memset(lencodes+n, 0, c); - n += c; - } - } - if (n != hlit+hdist) return stbi__err("bad codelengths","Corrupt PNG"); - if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; - return 1; -} - -static int stbi__parse_uncomperssed_block(stbi__zbuf *a) -{ - stbi_uc header[4]; - int len,nlen,k; - if (a->num_bits & 7) - stbi__zreceive(a, a->num_bits & 7); // discard - // drain the bit-packed data into header - k = 0; - while (a->num_bits > 0) { - header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check - a->code_buffer >>= 8; - a->num_bits -= 8; - } - STBI_ASSERT(a->num_bits == 0); - // now fill header the normal way - while (k < 4) - header[k++] = stbi__zget8(a); - len = header[1] * 256 + header[0]; - nlen = header[3] * 256 + header[2]; - if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); - if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); - if (a->zout + len > a->zout_end) - if (!stbi__zexpand(a, a->zout, len)) return 0; - memcpy(a->zout, a->zbuffer, len); - a->zbuffer += len; - a->zout += len; - return 1; -} - -static int stbi__parse_zlib_header(stbi__zbuf *a) -{ - int cmf = stbi__zget8(a); - int cm = cmf & 15; - /* int cinfo = cmf >> 4; */ - int flg = stbi__zget8(a); - if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec - if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png - if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png - // window = 1 << (8 + cinfo)... but who cares, we fully buffer output - return 1; -} - -// @TODO: should statically initialize these for optimal thread safety -static stbi_uc stbi__zdefault_length[288], stbi__zdefault_distance[32]; -static void stbi__init_zdefaults(void) -{ - int i; // use <= to match clearly with spec - for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; - for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; - for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; - for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; - - for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; -} - -static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) -{ - int final, type; - if (parse_header) - if (!stbi__parse_zlib_header(a)) return 0; - a->num_bits = 0; - a->code_buffer = 0; - do { - final = stbi__zreceive(a,1); - type = stbi__zreceive(a,2); - if (type == 0) { - if (!stbi__parse_uncomperssed_block(a)) return 0; - } else if (type == 3) { - return 0; - } else { - if (type == 1) { - // use fixed code lengths - if (!stbi__zdefault_distance[31]) stbi__init_zdefaults(); - if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; - } else { - if (!stbi__compute_huffman_codes(a)) return 0; - } - if (!stbi__parse_huffman_block(a)) return 0; - } - } while (!final); - return 1; -} - -static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) -{ - a->zout_start = obuf; - a->zout = obuf; - a->zout_end = obuf + olen; - a->z_expandable = exp; - - return stbi__parse_zlib(a, parse_header); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) -{ - return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) - return (int) (a.zout - a.zout_start); - else - return -1; -} - -STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(16384); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer+len; - if (stbi__do_zlib(&a, p, 16384, 1, 0)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) - return (int) (a.zout - a.zout_start); - else - return -1; -} -#endif - -// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 -// simple implementation -// - only 8-bit samples -// - no CRC checking -// - allocates lots of intermediate memory -// - avoids problem of streaming data between subsystems -// - avoids explicit window management -// performance -// - uses stb_zlib, a PD zlib implementation with fast huffman decoding - -#ifndef STBI_NO_PNG -typedef struct -{ - stbi__uint32 length; - stbi__uint32 type; -} stbi__pngchunk; - -static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) -{ - stbi__pngchunk c; - c.length = stbi__get32be(s); - c.type = stbi__get32be(s); - return c; -} - -static int stbi__check_png_header(stbi__context *s) -{ - static stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; - int i; - for (i=0; i < 8; ++i) - if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); - return 1; -} - -typedef struct -{ - stbi__context *s; - stbi_uc *idata, *expanded, *out; -} stbi__png; - - -enum { - STBI__F_none=0, - STBI__F_sub=1, - STBI__F_up=2, - STBI__F_avg=3, - STBI__F_paeth=4, - // synthetic filters used for first scanline to avoid needing a dummy row of 0s - STBI__F_avg_first, - STBI__F_paeth_first -}; - -static stbi_uc first_row_filter[5] = -{ - STBI__F_none, - STBI__F_sub, - STBI__F_none, - STBI__F_avg_first, - STBI__F_paeth_first -}; - -static int stbi__paeth(int a, int b, int c) -{ - int p = a + b - c; - int pa = abs(p-a); - int pb = abs(p-b); - int pc = abs(p-c); - if (pa <= pb && pa <= pc) return a; - if (pb <= pc) return b; - return c; -} - -static stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; - -// create the png data from post-deflated data -static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) -{ - stbi__context *s = a->s; - stbi__uint32 i,j,stride = x*out_n; - stbi__uint32 img_len, img_width_bytes; - int k; - int img_n = s->img_n; // copy it into a local for later - - STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); - a->out = (stbi_uc *) stbi__malloc(x * y * out_n); // extra bytes to write off the end into - if (!a->out) return stbi__err("outofmem", "Out of memory"); - - img_width_bytes = (((img_n * x * depth) + 7) >> 3); - img_len = (img_width_bytes + 1) * y; - if (s->img_x == x && s->img_y == y) { - if (raw_len != img_len) return stbi__err("not enough pixels","Corrupt PNG"); - } else { // interlaced: - if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); - } - - for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *prior = cur - stride; - int filter = *raw++; - int filter_bytes = img_n; - int width = x; - if (filter > 4) - return stbi__err("invalid filter","Corrupt PNG"); - - if (depth < 8) { - STBI_ASSERT(img_width_bytes <= x); - cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place - filter_bytes = 1; - width = img_width_bytes; - } - - // if first row, use special filter that doesn't sample previous row - if (j == 0) filter = first_row_filter[filter]; - - // handle first byte explicitly - for (k=0; k < filter_bytes; ++k) { - switch (filter) { - case STBI__F_none : cur[k] = raw[k]; break; - case STBI__F_sub : cur[k] = raw[k]; break; - case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; - case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; - case STBI__F_avg_first : cur[k] = raw[k]; break; - case STBI__F_paeth_first: cur[k] = raw[k]; break; - } - } - - if (depth == 8) { - if (img_n != out_n) - cur[img_n] = 255; // first pixel - raw += img_n; - cur += out_n; - prior += out_n; - } else { - raw += 1; - cur += 1; - prior += 1; - } - - // this is a little gross, so that we don't switch per-pixel or per-component - if (depth < 8 || img_n == out_n) { - int nk = (width - 1)*img_n; - #define CASE(f) \ - case f: \ - for (k=0; k < nk; ++k) - switch (filter) { - // "none" filter turns into a memcpy here; make that explicit. - case STBI__F_none: memcpy(cur, raw, nk); break; - CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break; - CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break; - CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break; - CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break; - CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break; - } - #undef CASE - raw += nk; - } else { - STBI_ASSERT(img_n+1 == out_n); - #define CASE(f) \ - case f: \ - for (i=x-1; i >= 1; --i, cur[img_n]=255,raw+=img_n,cur+=out_n,prior+=out_n) \ - for (k=0; k < img_n; ++k) - switch (filter) { - CASE(STBI__F_none) cur[k] = raw[k]; break; - CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break; - CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break; - CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break; - CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break; - CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break; - } - #undef CASE - } - } - - // we make a separate pass to expand bits to pixels; for performance, - // this could run two scanlines behind the above code, so it won't - // intefere with filtering but will still be in the cache. - if (depth < 8) { - for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; - // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit - // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop - stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range - - // note that the final byte might overshoot and write more data than desired. - // we can allocate enough data that this never writes out of memory, but it - // could also overwrite the next scanline. can it overwrite non-empty data - // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. - // so we need to explicitly clamp the final ones - - if (depth == 4) { - for (k=x*img_n; k >= 2; k-=2, ++in) { - *cur++ = scale * ((*in >> 4) ); - *cur++ = scale * ((*in ) & 0x0f); - } - if (k > 0) *cur++ = scale * ((*in >> 4) ); - } else if (depth == 2) { - for (k=x*img_n; k >= 4; k-=4, ++in) { - *cur++ = scale * ((*in >> 6) ); - *cur++ = scale * ((*in >> 4) & 0x03); - *cur++ = scale * ((*in >> 2) & 0x03); - *cur++ = scale * ((*in ) & 0x03); - } - if (k > 0) *cur++ = scale * ((*in >> 6) ); - if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); - if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); - } else if (depth == 1) { - for (k=x*img_n; k >= 8; k-=8, ++in) { - *cur++ = scale * ((*in >> 7) ); - *cur++ = scale * ((*in >> 6) & 0x01); - *cur++ = scale * ((*in >> 5) & 0x01); - *cur++ = scale * ((*in >> 4) & 0x01); - *cur++ = scale * ((*in >> 3) & 0x01); - *cur++ = scale * ((*in >> 2) & 0x01); - *cur++ = scale * ((*in >> 1) & 0x01); - *cur++ = scale * ((*in ) & 0x01); - } - if (k > 0) *cur++ = scale * ((*in >> 7) ); - if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); - if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); - if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); - if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); - if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); - if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); - } - if (img_n != out_n) { - // insert alpha = 255 - stbi_uc *cur = a->out + stride*j; - int i; - if (img_n == 1) { - for (i=x-1; i >= 0; --i) { - cur[i*2+1] = 255; - cur[i*2+0] = cur[i]; - } - } else { - STBI_ASSERT(img_n == 3); - for (i=x-1; i >= 0; --i) { - cur[i*4+3] = 255; - cur[i*4+2] = cur[i*3+2]; - cur[i*4+1] = cur[i*3+1]; - cur[i*4+0] = cur[i*3+0]; - } - } - } - } - } - - return 1; -} - -static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) -{ - stbi_uc *final; - int p; - if (!interlaced) - return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); - - // de-interlacing - final = (stbi_uc *) stbi__malloc(a->s->img_x * a->s->img_y * out_n); - for (p=0; p < 7; ++p) { - int xorig[] = { 0,4,0,2,0,1,0 }; - int yorig[] = { 0,0,4,0,2,0,1 }; - int xspc[] = { 8,8,4,4,2,2,1 }; - int yspc[] = { 8,8,8,4,4,2,2 }; - int i,j,x,y; - // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 - x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; - y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; - if (x && y) { - stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; - if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { - STBI_FREE(final); - return 0; - } - for (j=0; j < y; ++j) { - for (i=0; i < x; ++i) { - int out_y = j*yspc[p]+yorig[p]; - int out_x = i*xspc[p]+xorig[p]; - memcpy(final + out_y*a->s->img_x*out_n + out_x*out_n, - a->out + (j*x+i)*out_n, out_n); - } - } - STBI_FREE(a->out); - image_data += img_len; - image_data_len -= img_len; - } - } - a->out = final; - - return 1; -} - -static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - // compute color-based transparency, assuming we've - // already got 255 as the alpha value in the output - STBI_ASSERT(out_n == 2 || out_n == 4); - - if (out_n == 2) { - for (i=0; i < pixel_count; ++i) { - p[1] = (p[0] == tc[0] ? 0 : 255); - p += 2; - } - } else { - for (i=0; i < pixel_count; ++i) { - if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - p[3] = 0; - p += 4; - } - } - return 1; -} - -static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) -{ - stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; - stbi_uc *p, *temp_out, *orig = a->out; - - p = (stbi_uc *) stbi__malloc(pixel_count * pal_img_n); - if (p == NULL) return stbi__err("outofmem", "Out of memory"); - - // between here and free(out) below, exitting would leak - temp_out = p; - - if (pal_img_n == 3) { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p += 3; - } - } else { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p[3] = palette[n+3]; - p += 4; - } - } - STBI_FREE(a->out); - a->out = temp_out; - - STBI_NOTUSED(len); - - return 1; -} - -static int stbi__unpremultiply_on_load = 0; -static int stbi__de_iphone_flag = 0; - -STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) -{ - stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply; -} - -STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) -{ - stbi__de_iphone_flag = flag_true_if_should_convert; -} - -static void stbi__de_iphone(stbi__png *z) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - if (s->img_out_n == 3) { // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 3; - } - } else { - STBI_ASSERT(s->img_out_n == 4); - if (stbi__unpremultiply_on_load) { - // convert bgr to rgb and unpremultiply - for (i=0; i < pixel_count; ++i) { - stbi_uc a = p[3]; - stbi_uc t = p[0]; - if (a) { - p[0] = p[2] * 255 / a; - p[1] = p[1] * 255 / a; - p[2] = t * 255 / a; - } else { - p[0] = p[2]; - p[2] = t; - } - p += 4; - } - } else { - // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 4; - } - } - } -} - -#define STBI__PNG_TYPE(a,b,c,d) (((a) << 24) + ((b) << 16) + ((c) << 8) + (d)) - -static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) -{ - stbi_uc palette[1024], pal_img_n=0; - stbi_uc has_trans=0, tc[3]; - stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; - int first=1,k,interlace=0, color=0, depth=0, is_iphone=0; - stbi__context *s = z->s; - - z->expanded = NULL; - z->idata = NULL; - z->out = NULL; - - if (!stbi__check_png_header(s)) return 0; - - if (scan == STBI__SCAN_type) return 1; - - for (;;) { - stbi__pngchunk c = stbi__get_chunk_header(s); - switch (c.type) { - case STBI__PNG_TYPE('C','g','B','I'): - is_iphone = 1; - stbi__skip(s, c.length); - break; - case STBI__PNG_TYPE('I','H','D','R'): { - int comp,filter; - if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); - first = 0; - if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); - s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); - s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); - depth = stbi__get8(s); if (depth != 1 && depth != 2 && depth != 4 && depth != 8) return stbi__err("1/2/4/8-bit only","PNG not supported: 1/2/4/8-bit only"); - color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); - comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); - filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); - interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); - if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); - if (!pal_img_n) { - s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); - if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); - if (scan == STBI__SCAN_header) return 1; - } else { - // if paletted, then pal_n is our final components, and - // img_n is # components to decompress/filter. - s->img_n = 1; - if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); - // if SCAN_header, have to scan to see if we have a tRNS - } - break; - } - - case STBI__PNG_TYPE('P','L','T','E'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); - pal_len = c.length / 3; - if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); - for (i=0; i < pal_len; ++i) { - palette[i*4+0] = stbi__get8(s); - palette[i*4+1] = stbi__get8(s); - palette[i*4+2] = stbi__get8(s); - palette[i*4+3] = 255; - } - break; - } - - case STBI__PNG_TYPE('t','R','N','S'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); - if (pal_img_n) { - if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } - if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); - if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); - pal_img_n = 4; - for (i=0; i < c.length; ++i) - palette[i*4+3] = stbi__get8(s); - } else { - if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); - if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); - has_trans = 1; - for (k=0; k < s->img_n; ++k) - tc[k] = (stbi_uc) (stbi__get16be(s) & 255) * stbi__depth_scale_table[depth]; // non 8-bit images will be larger - } - break; - } - - case STBI__PNG_TYPE('I','D','A','T'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); - if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } - if ((int)(ioff + c.length) < (int)ioff) return 0; - if (ioff + c.length > idata_limit) { - stbi_uc *p; - if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; - while (ioff + c.length > idata_limit) - idata_limit *= 2; - p = (stbi_uc *) STBI_REALLOC(z->idata, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); - z->idata = p; - } - if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); - ioff += c.length; - break; - } - - case STBI__PNG_TYPE('I','E','N','D'): { - stbi__uint32 raw_len, bpl; - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (scan != STBI__SCAN_load) return 1; - if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); - // initial guess for decoded data size to avoid unnecessary reallocs - bpl = (s->img_x * depth + 7) / 8; // bytes per line, per component - raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; - z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); - if (z->expanded == NULL) return 0; // zlib should set error - STBI_FREE(z->idata); z->idata = NULL; - if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) - s->img_out_n = s->img_n+1; - else - s->img_out_n = s->img_n; - if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, depth, color, interlace)) return 0; - if (has_trans) - if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; - if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) - stbi__de_iphone(z); - if (pal_img_n) { - // pal_img_n == 3 or 4 - s->img_n = pal_img_n; // record the actual colors we had - s->img_out_n = pal_img_n; - if (req_comp >= 3) s->img_out_n = req_comp; - if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) - return 0; - } - STBI_FREE(z->expanded); z->expanded = NULL; - return 1; - } - - default: - // if critical, fail - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if ((c.type & (1 << 29)) == 0) { - #ifndef STBI_NO_FAILURE_STRINGS - // not threadsafe - static char invalid_chunk[] = "XXXX PNG chunk not known"; - invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); - invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); - invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); - invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); - #endif - return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); - } - stbi__skip(s, c.length); - break; - } - // end of PNG chunk, read and skip CRC - stbi__get32be(s); - } -} - -static unsigned char *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp) -{ - unsigned char *result=NULL; - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { - result = p->out; - p->out = NULL; - if (req_comp && req_comp != p->s->img_out_n) { - result = stbi__convert_format(result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); - p->s->img_out_n = req_comp; - if (result == NULL) return result; - } - *x = p->s->img_x; - *y = p->s->img_y; - if (n) *n = p->s->img_out_n; - } - STBI_FREE(p->out); p->out = NULL; - STBI_FREE(p->expanded); p->expanded = NULL; - STBI_FREE(p->idata); p->idata = NULL; - - return result; -} - -static unsigned char *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__png p; - p.s = s; - return stbi__do_png(&p, x,y,comp,req_comp); -} - -static int stbi__png_test(stbi__context *s) -{ - int r; - r = stbi__check_png_header(s); - stbi__rewind(s); - return r; -} - -static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) -{ - if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { - stbi__rewind( p->s ); - return 0; - } - if (x) *x = p->s->img_x; - if (y) *y = p->s->img_y; - if (comp) *comp = p->s->img_n; - return 1; -} - -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__png p; - p.s = s; - return stbi__png_info_raw(&p, x, y, comp); -} -#endif - -// Microsoft/Windows BMP image - -#ifndef STBI_NO_BMP -static int stbi__bmp_test_raw(stbi__context *s) -{ - int r; - int sz; - if (stbi__get8(s) != 'B') return 0; - if (stbi__get8(s) != 'M') return 0; - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - stbi__get32le(s); // discard data offset - sz = stbi__get32le(s); - r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); - return r; -} - -static int stbi__bmp_test(stbi__context *s) -{ - int r = stbi__bmp_test_raw(s); - stbi__rewind(s); - return r; -} - - -// returns 0..31 for the highest set bit -static int stbi__high_bit(unsigned int z) -{ - int n=0; - if (z == 0) return -1; - if (z >= 0x10000) n += 16, z >>= 16; - if (z >= 0x00100) n += 8, z >>= 8; - if (z >= 0x00010) n += 4, z >>= 4; - if (z >= 0x00004) n += 2, z >>= 2; - if (z >= 0x00002) n += 1, z >>= 1; - return n; -} - -static int stbi__bitcount(unsigned int a) -{ - a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 - a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 - a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits - a = (a + (a >> 8)); // max 16 per 8 bits - a = (a + (a >> 16)); // max 32 per 8 bits - return a & 0xff; -} - -static int stbi__shiftsigned(int v, int shift, int bits) -{ - int result; - int z=0; - - if (shift < 0) v <<= -shift; - else v >>= shift; - result = v; - - z = bits; - while (z < 8) { - result += v >> z; - z += bits; - } - return result; -} - -static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi_uc *out; - unsigned int mr=0,mg=0,mb=0,ma=0, fake_a=0; - stbi_uc pal[256][4]; - int psize=0,i,j,compress=0,width; - int bpp, flip_vertically, pad, target, offset, hsz; - if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - offset = stbi__get32le(s); - hsz = stbi__get32le(s); - if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); - if (hsz == 12) { - s->img_x = stbi__get16le(s); - s->img_y = stbi__get16le(s); - } else { - s->img_x = stbi__get32le(s); - s->img_y = stbi__get32le(s); - } - if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); - bpp = stbi__get16le(s); - if (bpp == 1) return stbi__errpuc("monochrome", "BMP type not supported: 1-bit"); - flip_vertically = ((int) s->img_y) > 0; - s->img_y = abs((int) s->img_y); - if (hsz == 12) { - if (bpp < 24) - psize = (offset - 14 - 24) / 3; - } else { - compress = stbi__get32le(s); - if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); - stbi__get32le(s); // discard sizeof - stbi__get32le(s); // discard hres - stbi__get32le(s); // discard vres - stbi__get32le(s); // discard colorsused - stbi__get32le(s); // discard max important - if (hsz == 40 || hsz == 56) { - if (hsz == 56) { - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - } - if (bpp == 16 || bpp == 32) { - mr = mg = mb = 0; - if (compress == 0) { - if (bpp == 32) { - mr = 0xffu << 16; - mg = 0xffu << 8; - mb = 0xffu << 0; - ma = 0xffu << 24; - fake_a = 1; // @TODO: check for cases like alpha value is all 0 and switch it to 255 - STBI_NOTUSED(fake_a); - } else { - mr = 31u << 10; - mg = 31u << 5; - mb = 31u << 0; - } - } else if (compress == 3) { - mr = stbi__get32le(s); - mg = stbi__get32le(s); - mb = stbi__get32le(s); - // not documented, but generated by photoshop and handled by mspaint - if (mr == mg && mg == mb) { - // ?!?!? - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else { - STBI_ASSERT(hsz == 108 || hsz == 124); - mr = stbi__get32le(s); - mg = stbi__get32le(s); - mb = stbi__get32le(s); - ma = stbi__get32le(s); - stbi__get32le(s); // discard color space - for (i=0; i < 12; ++i) - stbi__get32le(s); // discard color space parameters - if (hsz == 124) { - stbi__get32le(s); // discard rendering intent - stbi__get32le(s); // discard offset of profile data - stbi__get32le(s); // discard size of profile data - stbi__get32le(s); // discard reserved - } - } - if (bpp < 16) - psize = (offset - 14 - hsz) >> 2; - } - s->img_n = ma ? 4 : 3; - if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 - target = req_comp; - else - target = s->img_n; // if they want monochrome, we'll post-convert - out = (stbi_uc *) stbi__malloc(target * s->img_x * s->img_y); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - if (bpp < 16) { - int z=0; - if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } - for (i=0; i < psize; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - if (hsz != 12) stbi__get8(s); - pal[i][3] = 255; - } - stbi__skip(s, offset - 14 - hsz - psize * (hsz == 12 ? 3 : 4)); - if (bpp == 4) width = (s->img_x + 1) >> 1; - else if (bpp == 8) width = s->img_x; - else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } - pad = (-width)&3; - for (j=0; j < (int) s->img_y; ++j) { - for (i=0; i < (int) s->img_x; i += 2) { - int v=stbi__get8(s),v2=0; - if (bpp == 4) { - v2 = v & 15; - v >>= 4; - } - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - if (i+1 == (int) s->img_x) break; - v = (bpp == 8) ? stbi__get8(s) : v2; - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - } - stbi__skip(s, pad); - } - } else { - int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; - int z = 0; - int easy=0; - stbi__skip(s, offset - 14 - hsz); - if (bpp == 24) width = 3 * s->img_x; - else if (bpp == 16) width = 2*s->img_x; - else /* bpp = 32 and pad = 0 */ width=0; - pad = (-width) & 3; - if (bpp == 24) { - easy = 1; - } else if (bpp == 32) { - if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) - easy = 2; - } - if (!easy) { - if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } - // right shift amt to put high bit in position #7 - rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); - gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); - bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); - ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); - } - for (j=0; j < (int) s->img_y; ++j) { - if (easy) { - for (i=0; i < (int) s->img_x; ++i) { - unsigned char a; - out[z+2] = stbi__get8(s); - out[z+1] = stbi__get8(s); - out[z+0] = stbi__get8(s); - z += 3; - a = (easy == 2 ? stbi__get8(s) : 255); - if (target == 4) out[z++] = a; - } - } else { - for (i=0; i < (int) s->img_x; ++i) { - stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); - int a; - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); - a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); - if (target == 4) out[z++] = STBI__BYTECAST(a); - } - } - stbi__skip(s, pad); - } - } - if (flip_vertically) { - stbi_uc t; - for (j=0; j < (int) s->img_y>>1; ++j) { - stbi_uc *p1 = out + j *s->img_x*target; - stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; - for (i=0; i < (int) s->img_x*target; ++i) { - t = p1[i], p1[i] = p2[i], p2[i] = t; - } - } - } - - if (req_comp && req_comp != target) { - out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - *x = s->img_x; - *y = s->img_y; - if (comp) *comp = s->img_n; - return out; -} -#endif - -// Targa Truevision - TGA -// by Jonathan Dummer -#ifndef STBI_NO_TGA -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) -{ - int tga_w, tga_h, tga_comp; - int sz; - stbi__get8(s); // discard Offset - sz = stbi__get8(s); // color type - if( sz > 1 ) { - stbi__rewind(s); - return 0; // only RGB or indexed allowed - } - sz = stbi__get8(s); // image type - // only RGB or grey allowed, +/- RLE - if ((sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11)) return 0; - stbi__skip(s,9); - tga_w = stbi__get16le(s); - if( tga_w < 1 ) { - stbi__rewind(s); - return 0; // test width - } - tga_h = stbi__get16le(s); - if( tga_h < 1 ) { - stbi__rewind(s); - return 0; // test height - } - sz = stbi__get8(s); // bits per pixel - // only RGB or RGBA or grey allowed - if ((sz != 8) && (sz != 16) && (sz != 24) && (sz != 32)) { - stbi__rewind(s); - return 0; - } - tga_comp = sz; - if (x) *x = tga_w; - if (y) *y = tga_h; - if (comp) *comp = tga_comp / 8; - return 1; // seems to have passed everything -} - -static int stbi__tga_test(stbi__context *s) -{ - int res; - int sz; - stbi__get8(s); // discard Offset - sz = stbi__get8(s); // color type - if ( sz > 1 ) return 0; // only RGB or indexed allowed - sz = stbi__get8(s); // image type - if ( (sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11) ) return 0; // only RGB or grey allowed, +/- RLE - stbi__get16be(s); // discard palette start - stbi__get16be(s); // discard palette length - stbi__get8(s); // discard bits per palette color entry - stbi__get16be(s); // discard x origin - stbi__get16be(s); // discard y origin - if ( stbi__get16be(s) < 1 ) return 0; // test width - if ( stbi__get16be(s) < 1 ) return 0; // test height - sz = stbi__get8(s); // bits per pixel - if ( (sz != 8) && (sz != 16) && (sz != 24) && (sz != 32) ) - res = 0; - else - res = 1; - stbi__rewind(s); - return res; -} - -static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - // read in the TGA header stuff - int tga_offset = stbi__get8(s); - int tga_indexed = stbi__get8(s); - int tga_image_type = stbi__get8(s); - int tga_is_RLE = 0; - int tga_palette_start = stbi__get16le(s); - int tga_palette_len = stbi__get16le(s); - int tga_palette_bits = stbi__get8(s); - int tga_x_origin = stbi__get16le(s); - int tga_y_origin = stbi__get16le(s); - int tga_width = stbi__get16le(s); - int tga_height = stbi__get16le(s); - int tga_bits_per_pixel = stbi__get8(s); - int tga_comp = tga_bits_per_pixel / 8; - int tga_inverted = stbi__get8(s); - // image data - unsigned char *tga_data; - unsigned char *tga_palette = NULL; - int i, j; - unsigned char raw_data[4]; - int RLE_count = 0; - int RLE_repeating = 0; - int read_next_pixel = 1; - - // do a tiny bit of precessing - if ( tga_image_type >= 8 ) - { - tga_image_type -= 8; - tga_is_RLE = 1; - } - /* int tga_alpha_bits = tga_inverted & 15; */ - tga_inverted = 1 - ((tga_inverted >> 5) & 1); - - // error check - if ( //(tga_indexed) || - (tga_width < 1) || (tga_height < 1) || - (tga_image_type < 1) || (tga_image_type > 3) || - ((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16) && - (tga_bits_per_pixel != 24) && (tga_bits_per_pixel != 32)) - ) - { - return NULL; // we don't report this as a bad TGA because we don't even know if it's TGA - } - - // If I'm paletted, then I'll use the number of bits from the palette - if ( tga_indexed ) - { - tga_comp = tga_palette_bits / 8; - } - - // tga info - *x = tga_width; - *y = tga_height; - if (comp) *comp = tga_comp; - - tga_data = (unsigned char*)stbi__malloc( (size_t)tga_width * tga_height * tga_comp ); - if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); - - // skip to the data's starting position (offset usually = 0) - stbi__skip(s, tga_offset ); - - if ( !tga_indexed && !tga_is_RLE) { - for (i=0; i < tga_height; ++i) { - int y = tga_inverted ? tga_height -i - 1 : i; - stbi_uc *tga_row = tga_data + y*tga_width*tga_comp; - stbi__getn(s, tga_row, tga_width * tga_comp); - } - } else { - // do I need to load a palette? - if ( tga_indexed) - { - // any data to skip? (offset usually = 0) - stbi__skip(s, tga_palette_start ); - // load the palette - tga_palette = (unsigned char*)stbi__malloc( tga_palette_len * tga_palette_bits / 8 ); - if (!tga_palette) { - STBI_FREE(tga_data); - return stbi__errpuc("outofmem", "Out of memory"); - } - if (!stbi__getn(s, tga_palette, tga_palette_len * tga_palette_bits / 8 )) { - STBI_FREE(tga_data); - STBI_FREE(tga_palette); - return stbi__errpuc("bad palette", "Corrupt TGA"); - } - } - // load the data - for (i=0; i < tga_width * tga_height; ++i) - { - // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? - if ( tga_is_RLE ) - { - if ( RLE_count == 0 ) - { - // yep, get the next byte as a RLE command - int RLE_cmd = stbi__get8(s); - RLE_count = 1 + (RLE_cmd & 127); - RLE_repeating = RLE_cmd >> 7; - read_next_pixel = 1; - } else if ( !RLE_repeating ) - { - read_next_pixel = 1; - } - } else - { - read_next_pixel = 1; - } - // OK, if I need to read a pixel, do it now - if ( read_next_pixel ) - { - // load however much data we did have - if ( tga_indexed ) - { - // read in 1 byte, then perform the lookup - int pal_idx = stbi__get8(s); - if ( pal_idx >= tga_palette_len ) - { - // invalid index - pal_idx = 0; - } - pal_idx *= tga_bits_per_pixel / 8; - for (j = 0; j*8 < tga_bits_per_pixel; ++j) - { - raw_data[j] = tga_palette[pal_idx+j]; - } - } else - { - // read in the data raw - for (j = 0; j*8 < tga_bits_per_pixel; ++j) - { - raw_data[j] = stbi__get8(s); - } - } - // clear the reading flag for the next pixel - read_next_pixel = 0; - } // end of reading a pixel - - // copy data - for (j = 0; j < tga_comp; ++j) - tga_data[i*tga_comp+j] = raw_data[j]; - - // in case we're in RLE mode, keep counting down - --RLE_count; - } - // do I need to invert the image? - if ( tga_inverted ) - { - for (j = 0; j*2 < tga_height; ++j) - { - int index1 = j * tga_width * tga_comp; - int index2 = (tga_height - 1 - j) * tga_width * tga_comp; - for (i = tga_width * tga_comp; i > 0; --i) - { - unsigned char temp = tga_data[index1]; - tga_data[index1] = tga_data[index2]; - tga_data[index2] = temp; - ++index1; - ++index2; - } - } - } - // clear my palette, if I had one - if ( tga_palette != NULL ) - { - STBI_FREE( tga_palette ); - } - } - - // swap RGB - if (tga_comp >= 3) - { - unsigned char* tga_pixel = tga_data; - for (i=0; i < tga_width * tga_height; ++i) - { - unsigned char temp = tga_pixel[0]; - tga_pixel[0] = tga_pixel[2]; - tga_pixel[2] = temp; - tga_pixel += tga_comp; - } - } - - // convert to target component count - if (req_comp && req_comp != tga_comp) - tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); - - // the things I do to get rid of an error message, and yet keep - // Microsoft's C compilers happy... [8^( - tga_palette_start = tga_palette_len = tga_palette_bits = - tga_x_origin = tga_y_origin = 0; - // OK, done - return tga_data; -} -#endif - -// ************************************************************************************************* -// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s) -{ - int r = (stbi__get32be(s) == 0x38425053); - stbi__rewind(s); - return r; -} - -static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - int pixelCount; - int channelCount, compression; - int channel, i, count, len; - int w,h; - stbi_uc *out; - - // Check identifier - if (stbi__get32be(s) != 0x38425053) // "8BPS" - return stbi__errpuc("not PSD", "Corrupt PSD image"); - - // Check file type version. - if (stbi__get16be(s) != 1) - return stbi__errpuc("wrong version", "Unsupported version of PSD image"); - - // Skip 6 reserved bytes. - stbi__skip(s, 6 ); - - // Read the number of channels (R, G, B, A, etc). - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) - return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); - - // Read the rows and columns of the image. - h = stbi__get32be(s); - w = stbi__get32be(s); - - // Make sure the depth is 8 bits. - if (stbi__get16be(s) != 8) - return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 bit"); - - // Make sure the color mode is RGB. - // Valid options are: - // 0: Bitmap - // 1: Grayscale - // 2: Indexed color - // 3: RGB color - // 4: CMYK color - // 7: Multichannel - // 8: Duotone - // 9: Lab color - if (stbi__get16be(s) != 3) - return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); - - // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) - stbi__skip(s,stbi__get32be(s) ); - - // Skip the image resources. (resolution, pen tool paths, etc) - stbi__skip(s, stbi__get32be(s) ); - - // Skip the reserved data. - stbi__skip(s, stbi__get32be(s) ); - - // Find out if the data is compressed. - // Known values: - // 0: no compression - // 1: RLE compressed - compression = stbi__get16be(s); - if (compression > 1) - return stbi__errpuc("bad compression", "PSD has an unknown compression format"); - - // Create the destination image. - out = (stbi_uc *) stbi__malloc(4 * w*h); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - pixelCount = w*h; - - // Initialize the data to zero. - //memset( out, 0, pixelCount * 4 ); - - // Finally, the image data. - if (compression) { - // RLE as used by .PSD and .TIFF - // Loop until you get the number of unpacked bytes you are expecting: - // Read the next source byte into n. - // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. - // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. - // Else if n is 128, noop. - // Endloop - - // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data, - // which we're going to just skip. - stbi__skip(s, h * channelCount * 2 ); - - // Read the RLE data by channel. - for (channel = 0; channel < 4; channel++) { - stbi_uc *p; - - p = out+channel; - if (channel >= channelCount) { - // Fill this channel with default data. - for (i = 0; i < pixelCount; i++) *p = (channel == 3 ? 255 : 0), p += 4; - } else { - // Read the RLE data. - count = 0; - while (count < pixelCount) { - len = stbi__get8(s); - if (len == 128) { - // No-op. - } else if (len < 128) { - // Copy next len+1 bytes literally. - len++; - count += len; - while (len) { - *p = stbi__get8(s); - p += 4; - len--; - } - } else if (len > 128) { - stbi_uc val; - // Next -len+1 bytes in the dest are replicated from next source byte. - // (Interpret len as a negative 8-bit int.) - len ^= 0x0FF; - len += 2; - val = stbi__get8(s); - count += len; - while (len) { - *p = val; - p += 4; - len--; - } - } - } - } - } - - } else { - // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) - // where each channel consists of an 8-bit value for each pixel in the image. - - // Read the data by channel. - for (channel = 0; channel < 4; channel++) { - stbi_uc *p; - - p = out + channel; - if (channel > channelCount) { - // Fill this channel with default data. - for (i = 0; i < pixelCount; i++) *p = channel == 3 ? 255 : 0, p += 4; - } else { - // Read the data. - for (i = 0; i < pixelCount; i++) - *p = stbi__get8(s), p += 4; - } - } - } - - if (req_comp && req_comp != 4) { - out = stbi__convert_format(out, 4, req_comp, w, h); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - if (comp) *comp = channelCount; - *y = h; - *x = w; - - return out; -} -#endif - -// ************************************************************************************************* -// Softimage PIC loader -// by Tom Seddon -// -// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format -// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ - -#ifndef STBI_NO_PIC -static int stbi__pic_is4(stbi__context *s,const char *str) -{ - int i; - for (i=0; i<4; ++i) - if (stbi__get8(s) != (stbi_uc)str[i]) - return 0; - - return 1; -} - -static int stbi__pic_test_core(stbi__context *s) -{ - int i; - - if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) - return 0; - - for(i=0;i<84;++i) - stbi__get8(s); - - if (!stbi__pic_is4(s,"PICT")) - return 0; - - return 1; -} - -typedef struct -{ - stbi_uc size,type,channel; -} stbi__pic_packet; - -static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) -{ - int mask=0x80, i; - - for (i=0; i<4; ++i, mask>>=1) { - if (channel & mask) { - if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); - dest[i]=stbi__get8(s); - } - } - - return dest; -} - -static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) -{ - int mask=0x80,i; - - for (i=0;i<4; ++i, mask>>=1) - if (channel&mask) - dest[i]=src[i]; -} - -static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) -{ - int act_comp=0,num_packets=0,y,chained; - stbi__pic_packet packets[10]; - - // this will (should...) cater for even some bizarre stuff like having data - // for the same channel in multiple packets. - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return stbi__errpuc("bad format","too many packets"); - - packet = &packets[num_packets++]; - - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - - act_comp |= packet->channel; - - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); - if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? - - for(y=0; ytype) { - default: - return stbi__errpuc("bad format","packet has bad compression type"); - - case 0: {//uncompressed - int x; - - for(x=0;xchannel,dest)) - return 0; - break; - } - - case 1://Pure RLE - { - int left=width, i; - - while (left>0) { - stbi_uc count,value[4]; - - count=stbi__get8(s); - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); - - if (count > left) - count = (stbi_uc) left; - - if (!stbi__readval(s,packet->channel,value)) return 0; - - for(i=0; ichannel,dest,value); - left -= count; - } - } - break; - - case 2: {//Mixed RLE - int left=width; - while (left>0) { - int count = stbi__get8(s), i; - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); - - if (count >= 128) { // Repeated - stbi_uc value[4]; - int i; - - if (count==128) - count = stbi__get16be(s); - else - count -= 127; - if (count > left) - return stbi__errpuc("bad file","scanline overrun"); - - if (!stbi__readval(s,packet->channel,value)) - return 0; - - for(i=0;ichannel,dest,value); - } else { // Raw - ++count; - if (count>left) return stbi__errpuc("bad file","scanline overrun"); - - for(i=0;ichannel,dest)) - return 0; - } - left-=count; - } - break; - } - } - } - } - - return result; -} - -static stbi_uc *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp) -{ - stbi_uc *result; - int i, x,y; - - for (i=0; i<92; ++i) - stbi__get8(s); - - x = stbi__get16be(s); - y = stbi__get16be(s); - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); - if ((1 << 28) / x < y) return stbi__errpuc("too large", "Image too large to decode"); - - stbi__get32be(s); //skip `ratio' - stbi__get16be(s); //skip `fields' - stbi__get16be(s); //skip `pad' - - // intermediate buffer is RGBA - result = (stbi_uc *) stbi__malloc(x*y*4); - memset(result, 0xff, x*y*4); - - if (!stbi__pic_load_core(s,x,y,comp, result)) { - STBI_FREE(result); - result=0; - } - *px = x; - *py = y; - if (req_comp == 0) req_comp = *comp; - result=stbi__convert_format(result,4,req_comp,x,y); - - return result; -} - -static int stbi__pic_test(stbi__context *s) -{ - int r = stbi__pic_test_core(s); - stbi__rewind(s); - return r; -} -#endif - -// ************************************************************************************************* -// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb - -#ifndef STBI_NO_GIF -typedef struct -{ - stbi__int16 prefix; - stbi_uc first; - stbi_uc suffix; -} stbi__gif_lzw; - -typedef struct -{ - int w,h; - stbi_uc *out; // output buffer (always 4 components) - int flags, bgindex, ratio, transparent, eflags; - stbi_uc pal[256][4]; - stbi_uc lpal[256][4]; - stbi__gif_lzw codes[4096]; - stbi_uc *color_table; - int parse, step; - int lflags; - int start_x, start_y; - int max_x, max_y; - int cur_x, cur_y; - int line_size; -} stbi__gif; - -static int stbi__gif_test_raw(stbi__context *s) -{ - int sz; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; - sz = stbi__get8(s); - if (sz != '9' && sz != '7') return 0; - if (stbi__get8(s) != 'a') return 0; - return 1; -} - -static int stbi__gif_test(stbi__context *s) -{ - int r = stbi__gif_test_raw(s); - stbi__rewind(s); - return r; -} - -static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) -{ - int i; - for (i=0; i < num_entries; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - pal[i][3] = transp == i ? 0 : 255; - } -} - -static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) -{ - stbi_uc version; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') - return stbi__err("not GIF", "Corrupt GIF"); - - version = stbi__get8(s); - if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); - if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); - - stbi__g_failure_reason = ""; - g->w = stbi__get16le(s); - g->h = stbi__get16le(s); - g->flags = stbi__get8(s); - g->bgindex = stbi__get8(s); - g->ratio = stbi__get8(s); - g->transparent = -1; - - if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments - - if (is_info) return 1; - - if (g->flags & 0x80) - stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); - - return 1; -} - -static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__gif g; - if (!stbi__gif_header(s, &g, comp, 1)) { - stbi__rewind( s ); - return 0; - } - if (x) *x = g.w; - if (y) *y = g.h; - return 1; -} - -static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) -{ - stbi_uc *p, *c; - - // recurse to decode the prefixes, since the linked-list is backwards, - // and working backwards through an interleaved image would be nasty - if (g->codes[code].prefix >= 0) - stbi__out_gif_code(g, g->codes[code].prefix); - - if (g->cur_y >= g->max_y) return; - - p = &g->out[g->cur_x + g->cur_y]; - c = &g->color_table[g->codes[code].suffix * 4]; - - if (c[3] >= 128) { - p[0] = c[2]; - p[1] = c[1]; - p[2] = c[0]; - p[3] = c[3]; - } - g->cur_x += 4; - - if (g->cur_x >= g->max_x) { - g->cur_x = g->start_x; - g->cur_y += g->step; - - while (g->cur_y >= g->max_y && g->parse > 0) { - g->step = (1 << g->parse) * g->line_size; - g->cur_y = g->start_y + (g->step >> 1); - --g->parse; - } - } -} - -static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) -{ - stbi_uc lzw_cs; - stbi__int32 len, code; - stbi__uint32 first; - stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; - stbi__gif_lzw *p; - - lzw_cs = stbi__get8(s); - if (lzw_cs > 12) return NULL; - clear = 1 << lzw_cs; - first = 1; - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - bits = 0; - valid_bits = 0; - for (code = 0; code < clear; code++) { - g->codes[code].prefix = -1; - g->codes[code].first = (stbi_uc) code; - g->codes[code].suffix = (stbi_uc) code; - } - - // support no starting clear code - avail = clear+2; - oldcode = -1; - - len = 0; - for(;;) { - if (valid_bits < codesize) { - if (len == 0) { - len = stbi__get8(s); // start new block - if (len == 0) - return g->out; - } - --len; - bits |= (stbi__int32) stbi__get8(s) << valid_bits; - valid_bits += 8; - } else { - stbi__int32 code = bits & codemask; - bits >>= codesize; - valid_bits -= codesize; - // @OPTIMIZE: is there some way we can accelerate the non-clear path? - if (code == clear) { // clear code - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - avail = clear + 2; - oldcode = -1; - first = 0; - } else if (code == clear + 1) { // end of stream code - stbi__skip(s, len); - while ((len = stbi__get8(s)) > 0) - stbi__skip(s,len); - return g->out; - } else if (code <= avail) { - if (first) return stbi__errpuc("no clear code", "Corrupt GIF"); - - if (oldcode >= 0) { - p = &g->codes[avail++]; - if (avail > 4096) return stbi__errpuc("too many codes", "Corrupt GIF"); - p->prefix = (stbi__int16) oldcode; - p->first = g->codes[oldcode].first; - p->suffix = (code == avail) ? p->first : g->codes[code].first; - } else if (code == avail) - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - - stbi__out_gif_code(g, (stbi__uint16) code); - - if ((avail & codemask) == 0 && avail <= 0x0FFF) { - codesize++; - codemask = (1 << codesize) - 1; - } - - oldcode = code; - } else { - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - } - } - } -} - -static void stbi__fill_gif_background(stbi__gif *g) -{ - int i; - stbi_uc *c = g->pal[g->bgindex]; - // @OPTIMIZE: write a dword at a time - for (i = 0; i < g->w * g->h * 4; i += 4) { - stbi_uc *p = &g->out[i]; - p[0] = c[2]; - p[1] = c[1]; - p[2] = c[0]; - p[3] = c[3]; - } -} - -// this function is designed to support animated gifs, although stb_image doesn't support it -static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp) -{ - int i; - stbi_uc *old_out = 0; - - if (g->out == 0) { - if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header - g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); - if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); - stbi__fill_gif_background(g); - } else { - // animated-gif-only path - if (((g->eflags & 0x1C) >> 2) == 3) { - old_out = g->out; - g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); - if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); - memcpy(g->out, old_out, g->w*g->h*4); - } - } - - for (;;) { - switch (stbi__get8(s)) { - case 0x2C: /* Image Descriptor */ - { - stbi__int32 x, y, w, h; - stbi_uc *o; - - x = stbi__get16le(s); - y = stbi__get16le(s); - w = stbi__get16le(s); - h = stbi__get16le(s); - if (((x + w) > (g->w)) || ((y + h) > (g->h))) - return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); - - g->line_size = g->w * 4; - g->start_x = x * 4; - g->start_y = y * g->line_size; - g->max_x = g->start_x + w * 4; - g->max_y = g->start_y + h * g->line_size; - g->cur_x = g->start_x; - g->cur_y = g->start_y; - - g->lflags = stbi__get8(s); - - if (g->lflags & 0x40) { - g->step = 8 * g->line_size; // first interlaced spacing - g->parse = 3; - } else { - g->step = g->line_size; - g->parse = 0; - } - - if (g->lflags & 0x80) { - stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); - g->color_table = (stbi_uc *) g->lpal; - } else if (g->flags & 0x80) { - for (i=0; i < 256; ++i) // @OPTIMIZE: stbi__jpeg_reset only the previous transparent - g->pal[i][3] = 255; - if (g->transparent >= 0 && (g->eflags & 0x01)) - g->pal[g->transparent][3] = 0; - g->color_table = (stbi_uc *) g->pal; - } else - return stbi__errpuc("missing color table", "Corrupt GIF"); - - o = stbi__process_gif_raster(s, g); - if (o == NULL) return NULL; - - if (req_comp && req_comp != 4) - o = stbi__convert_format(o, 4, req_comp, g->w, g->h); - return o; - } - - case 0x21: // Comment Extension. - { - int len; - if (stbi__get8(s) == 0xF9) { // Graphic Control Extension. - len = stbi__get8(s); - if (len == 4) { - g->eflags = stbi__get8(s); - stbi__get16le(s); // delay - g->transparent = stbi__get8(s); - } else { - stbi__skip(s, len); - break; - } - } - while ((len = stbi__get8(s)) != 0) - stbi__skip(s, len); - break; - } - - case 0x3B: // gif stream termination code - return (stbi_uc *) s; // using '1' causes warning on some compilers - - default: - return stbi__errpuc("unknown code", "Corrupt GIF"); - } - } -} - -static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi_uc *u = 0; - stbi__gif g; - memset(&g, 0, sizeof(g)); - - u = stbi__gif_load_next(s, &g, comp, req_comp); - if (u == (stbi_uc *) s) u = 0; // end of animated gif marker - if (u) { - *x = g.w; - *y = g.h; - } - - return u; -} - -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) -{ - return stbi__gif_info_raw(s,x,y,comp); -} -#endif - -// ************************************************************************************************* -// Radiance RGBE HDR loader -// originally by Nicolas Schulz -#ifndef STBI_NO_HDR -static int stbi__hdr_test_core(stbi__context *s) -{ - const char *signature = "#?RADIANCE\n"; - int i; - for (i=0; signature[i]; ++i) - if (stbi__get8(s) != signature[i]) - return 0; - return 1; -} - -static int stbi__hdr_test(stbi__context* s) -{ - int r = stbi__hdr_test_core(s); - stbi__rewind(s); - return r; -} - -#define STBI__HDR_BUFLEN 1024 -static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) -{ - int len=0; - char c = '\0'; - - c = (char) stbi__get8(z); - - while (!stbi__at_eof(z) && c != '\n') { - buffer[len++] = c; - if (len == STBI__HDR_BUFLEN-1) { - // flush to end of line - while (!stbi__at_eof(z) && stbi__get8(z) != '\n') - ; - break; - } - c = (char) stbi__get8(z); - } - - buffer[len] = 0; - return buffer; -} - -static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) -{ - if ( input[3] != 0 ) { - float f1; - // Exponent - f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); - if (req_comp <= 2) - output[0] = (input[0] + input[1] + input[2]) * f1 / 3; - else { - output[0] = input[0] * f1; - output[1] = input[1] * f1; - output[2] = input[2] * f1; - } - if (req_comp == 2) output[1] = 1; - if (req_comp == 4) output[3] = 1; - } else { - switch (req_comp) { - case 4: output[3] = 1; /* fallthrough */ - case 3: output[0] = output[1] = output[2] = 0; - break; - case 2: output[1] = 1; /* fallthrough */ - case 1: output[0] = 0; - break; - } - } -} - -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - int width, height; - stbi_uc *scanline; - float *hdr_data; - int len; - unsigned char count, value; - int i, j, k, c1,c2, z; - - - // Check identifier - if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) - return stbi__errpf("not HDR", "Corrupt HDR image"); - - // Parse header - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); - - // Parse width and height - // can't use sscanf() if we're not using stdio! - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - height = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - width = (int) strtol(token, NULL, 10); - - *x = width; - *y = height; - - if (comp) *comp = 3; - if (req_comp == 0) req_comp = 3; - - // Read data - hdr_data = (float *) stbi__malloc(height * width * req_comp * sizeof(float)); - - // Load image data - // image data is stored as some number of sca - if ( width < 8 || width >= 32768) { - // Read flat data - for (j=0; j < height; ++j) { - for (i=0; i < width; ++i) { - stbi_uc rgbe[4]; - main_decode_loop: - stbi__getn(s, rgbe, 4); - stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); - } - } - } else { - // Read RLE-encoded data - scanline = NULL; - - for (j = 0; j < height; ++j) { - c1 = stbi__get8(s); - c2 = stbi__get8(s); - len = stbi__get8(s); - if (c1 != 2 || c2 != 2 || (len & 0x80)) { - // not run-length encoded, so we have to actually use THIS data as a decoded - // pixel (note this can't be a valid pixel--one of RGB must be >= 128) - stbi_uc rgbe[4]; - rgbe[0] = (stbi_uc) c1; - rgbe[1] = (stbi_uc) c2; - rgbe[2] = (stbi_uc) len; - rgbe[3] = (stbi_uc) stbi__get8(s); - stbi__hdr_convert(hdr_data, rgbe, req_comp); - i = 1; - j = 0; - STBI_FREE(scanline); - goto main_decode_loop; // yes, this makes no sense - } - len <<= 8; - len |= stbi__get8(s); - if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } - if (scanline == NULL) scanline = (stbi_uc *) stbi__malloc(width * 4); - - for (k = 0; k < 4; ++k) { - i = 0; - while (i < width) { - count = stbi__get8(s); - if (count > 128) { - // Run - value = stbi__get8(s); - count -= 128; - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = value; - } else { - // Dump - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = stbi__get8(s); - } - } - } - for (i=0; i < width; ++i) - stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); - } - STBI_FREE(scanline); - } - - return hdr_data; -} - -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - - if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) { - stbi__rewind( s ); - return 0; - } - - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) { - stbi__rewind( s ); - return 0; - } - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *y = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *x = (int) strtol(token, NULL, 10); - *comp = 3; - return 1; -} -#endif // STBI_NO_HDR - -#ifndef STBI_NO_BMP -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) -{ - int hsz; - if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') { - stbi__rewind( s ); - return 0; - } - stbi__skip(s,12); - hsz = stbi__get32le(s); - if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) { - stbi__rewind( s ); - return 0; - } - if (hsz == 12) { - *x = stbi__get16le(s); - *y = stbi__get16le(s); - } else { - *x = stbi__get32le(s); - *y = stbi__get32le(s); - } - if (stbi__get16le(s) != 1) { - stbi__rewind( s ); - return 0; - } - *comp = stbi__get16le(s) / 8; - return 1; -} -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) -{ - int channelCount; - if (stbi__get32be(s) != 0x38425053) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 1) { - stbi__rewind( s ); - return 0; - } - stbi__skip(s, 6); - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) { - stbi__rewind( s ); - return 0; - } - *y = stbi__get32be(s); - *x = stbi__get32be(s); - if (stbi__get16be(s) != 8) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 3) { - stbi__rewind( s ); - return 0; - } - *comp = 4; - return 1; -} -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) -{ - int act_comp=0,num_packets=0,chained; - stbi__pic_packet packets[10]; - - stbi__skip(s, 92); - - *x = stbi__get16be(s); - *y = stbi__get16be(s); - if (stbi__at_eof(s)) return 0; - if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { - stbi__rewind( s ); - return 0; - } - - stbi__skip(s, 8); - - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return 0; - - packet = &packets[num_packets++]; - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - act_comp |= packet->channel; - - if (stbi__at_eof(s)) { - stbi__rewind( s ); - return 0; - } - if (packet->size != 8) { - stbi__rewind( s ); - return 0; - } - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); - - return 1; -} -#endif - -// ************************************************************************************************* -// Portable Gray Map and Portable Pixel Map loader -// by Ken Miller -// -// PGM: http://netpbm.sourceforge.net/doc/pgm.html -// PPM: http://netpbm.sourceforge.net/doc/ppm.html -// -// Known limitations: -// Does not support comments in the header section -// Does not support ASCII image data (formats P2 and P3) -// Does not support 16-bit-per-channel - -#ifndef STBI_NO_PNM - -static int stbi__pnm_test(stbi__context *s) -{ - char p, t; - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind( s ); - return 0; - } - return 1; -} - -static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi_uc *out; - if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n)) - return 0; - *x = s->img_x; - *y = s->img_y; - *comp = s->img_n; - - out = (stbi_uc *) stbi__malloc(s->img_n * s->img_x * s->img_y); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - stbi__getn(s, out, s->img_n * s->img_x * s->img_y); - - if (req_comp && req_comp != s->img_n) { - out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - return out; -} - -static int stbi__pnm_isspace(char c) -{ - return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; -} - -static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) -{ - while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) - *c = (char) stbi__get8(s); -} - -static int stbi__pnm_isdigit(char c) -{ - return c >= '0' && c <= '9'; -} - -static int stbi__pnm_getinteger(stbi__context *s, char *c) -{ - int value = 0; - - while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { - value = value*10 + (*c - '0'); - *c = (char) stbi__get8(s); - } - - return value; -} - -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) -{ - int maxv; - char c, p, t; - - stbi__rewind( s ); - - // Get identifier - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind( s ); - return 0; - } - - *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm - - c = (char) stbi__get8(s); - stbi__pnm_skip_whitespace(s, &c); - - *x = stbi__pnm_getinteger(s, &c); // read width - stbi__pnm_skip_whitespace(s, &c); - - *y = stbi__pnm_getinteger(s, &c); // read height - stbi__pnm_skip_whitespace(s, &c); - - maxv = stbi__pnm_getinteger(s, &c); // read max value - - if (maxv > 255) - return stbi__err("max value > 255", "PPM image not 8-bit"); - else - return 1; -} -#endif - -static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) -{ - #ifndef STBI_NO_JPEG - if (stbi__jpeg_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNG - if (stbi__png_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_GIF - if (stbi__gif_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_BMP - if (stbi__bmp_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PSD - if (stbi__psd_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PIC - if (stbi__pic_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNM - if (stbi__pnm_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_info(s, x, y, comp)) return 1; - #endif - - // test tga last because it's a crappy test! - #ifndef STBI_NO_TGA - if (stbi__tga_info(s, x, y, comp)) - return 1; - #endif - return stbi__err("unknown image type", "Image not of any known type, or corrupt"); -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result; - if (!f) return stbi__err("can't fopen", "Unable to open file"); - result = stbi_info_from_file(f, x, y, comp); - fclose(f); - return result; -} - -STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) -{ - int r; - stbi__context s; - long pos = ftell(f); - stbi__start_file(&s, f); - r = stbi__info_main(&s,x,y,comp); - fseek(f,pos,SEEK_SET); - return r; -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__info_main(&s,x,y,comp); -} - -STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); - return stbi__info_main(&s,x,y,comp); -} - -#endif // STB_IMAGE_IMPLEMENTATION - -/* - revision history: - 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning - 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit - 2.03 (2015-04-12) extra corruption checking (mmozeiko) - stbi_set_flip_vertically_on_load (nguillemot) - fix NEON support; fix mingw support - 2.02 (2015-01-19) fix incorrect assert, fix warning - 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 - 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG - 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) - progressive JPEG (stb) - PGM/PPM support (Ken Miller) - STBI_MALLOC,STBI_REALLOC,STBI_FREE - GIF bugfix -- seemingly never worked - STBI_NO_*, STBI_ONLY_* - 1.48 (2014-12-14) fix incorrectly-named assert() - 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) - optimize PNG (ryg) - fix bug in interlaced PNG with user-specified channel count (stb) - 1.46 (2014-08-26) - fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG - 1.45 (2014-08-16) - fix MSVC-ARM internal compiler error by wrapping malloc - 1.44 (2014-08-07) - various warning fixes from Ronny Chevalier - 1.43 (2014-07-15) - fix MSVC-only compiler problem in code changed in 1.42 - 1.42 (2014-07-09) - don't define _CRT_SECURE_NO_WARNINGS (affects user code) - fixes to stbi__cleanup_jpeg path - added STBI_ASSERT to avoid requiring assert.h - 1.41 (2014-06-25) - fix search&replace from 1.36 that messed up comments/error messages - 1.40 (2014-06-22) - fix gcc struct-initialization warning - 1.39 (2014-06-15) - fix to TGA optimization when req_comp != number of components in TGA; - fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) - add support for BMP version 5 (more ignored fields) - 1.38 (2014-06-06) - suppress MSVC warnings on integer casts truncating values - fix accidental rename of 'skip' field of I/O - 1.37 (2014-06-04) - remove duplicate typedef - 1.36 (2014-06-03) - convert to header file single-file library - if de-iphone isn't set, load iphone images color-swapped instead of returning NULL - 1.35 (2014-05-27) - various warnings - fix broken STBI_SIMD path - fix bug where stbi_load_from_file no longer left file pointer in correct place - fix broken non-easy path for 32-bit BMP (possibly never used) - TGA optimization by Arseny Kapoulkine - 1.34 (unknown) - use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case - 1.33 (2011-07-14) - make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements - 1.32 (2011-07-13) - support for "info" function for all supported filetypes (SpartanJ) - 1.31 (2011-06-20) - a few more leak fixes, bug in PNG handling (SpartanJ) - 1.30 (2011-06-11) - added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) - removed deprecated format-specific test/load functions - removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway - error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) - fix inefficiency in decoding 32-bit BMP (David Woo) - 1.29 (2010-08-16) - various warning fixes from Aurelien Pocheville - 1.28 (2010-08-01) - fix bug in GIF palette transparency (SpartanJ) - 1.27 (2010-08-01) - cast-to-stbi_uc to fix warnings - 1.26 (2010-07-24) - fix bug in file buffering for PNG reported by SpartanJ - 1.25 (2010-07-17) - refix trans_data warning (Won Chun) - 1.24 (2010-07-12) - perf improvements reading from files on platforms with lock-heavy fgetc() - minor perf improvements for jpeg - deprecated type-specific functions so we'll get feedback if they're needed - attempt to fix trans_data warning (Won Chun) - 1.23 fixed bug in iPhone support - 1.22 (2010-07-10) - removed image *writing* support - stbi_info support from Jetro Lauha - GIF support from Jean-Marc Lienher - iPhone PNG-extensions from James Brown - warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) - 1.21 fix use of 'stbi_uc' in header (reported by jon blow) - 1.20 added support for Softimage PIC, by Tom Seddon - 1.19 bug in interlaced PNG corruption check (found by ryg) - 1.18 (2008-08-02) - fix a threading bug (local mutable static) - 1.17 support interlaced PNG - 1.16 major bugfix - stbi__convert_format converted one too many pixels - 1.15 initialize some fields for thread safety - 1.14 fix threadsafe conversion bug - header-file-only version (#define STBI_HEADER_FILE_ONLY before including) - 1.13 threadsafe - 1.12 const qualifiers in the API - 1.11 Support installable IDCT, colorspace conversion routines - 1.10 Fixes for 64-bit (don't use "unsigned long") - optimized upsampling by Fabian "ryg" Giesen - 1.09 Fix format-conversion for PSD code (bad global variables!) - 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz - 1.07 attempt to fix C++ warning/errors again - 1.06 attempt to fix C++ warning/errors again - 1.05 fix TGA loading to return correct *comp and use good luminance calc - 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free - 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR - 1.02 support for (subset of) HDR files, float interface for preferred access to them - 1.01 fix bug: possible bug in handling right-side up bmps... not sure - fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all - 1.00 interface to zlib that skips zlib header - 0.99 correct handling of alpha in palette - 0.98 TGA loader by lonesock; dynamically add loaders (untested) - 0.97 jpeg errors on too large a file; also catch another malloc failure - 0.96 fix detection of invalid v value - particleman@mollyrocket forum - 0.95 during header scan, seek to markers in case of padding - 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same - 0.93 handle jpegtran output; verbose errors - 0.92 read 4,8,16,24,32-bit BMP files of several formats - 0.91 output 24-bit Windows 3.0 BMP files - 0.90 fix a few more warnings; bump version number to approach 1.0 - 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd - 0.60 fix compiling as c++ - 0.59 fix warnings: merge Dave Moore's -Wall fixes - 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian - 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available - 0.56 fix bug: zlib uncompressed mode len vs. nlen - 0.55 fix bug: restart_interval not initialized to 0 - 0.54 allow NULL for 'int *comp' - 0.53 fix bug in png 3->4; speedup png decoding - 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments - 0.51 obey req_comp requests, 1-component jpegs return as 1-component, - on 'test' only check type, not whether we support this variant - 0.50 (2006-11-19) - first released version -*/ diff --git a/src/lindbergh/touchScreen.c b/src/lindbergh/touchScreen.c new file mode 100644 index 0000000..4dbee29 --- /dev/null +++ b/src/lindbergh/touchScreen.c @@ -0,0 +1,179 @@ +#include +#include +#include +#include + +#include "customCursor.h" +#include "config.h" +#include "touchScreen.h" + +char phSendBuf[10]; +bool phBufferFilled = false; +int phCommand = 1; +int phCommandByte = 0; +uint16_t coordX; +uint16_t coordY; +extern int phX, phY, phW, phH; +extern int phX2, phY2, phW2, phH2; +extern void *customCursor; +extern void *touchCursor; +extern bool phShowCursorInGame; + +#define TOUCH_START 0x81 +#define TOUCH_TOUCHING 0x82 +#define TOUCH_END 0x84 + +void phCoordinates(int x, int y, int w, int h, int button) +{ + coordX = (float)x / ((float)w * 0.0002441406); + coordY = (float)y / ((float)h * 0.0002441406); + memset(phSendBuf, 0, sizeof(phSendBuf)); + + if (button == SDL_EVENT_MOUSE_BUTTON_DOWN) + { + phSendBuf[2] = TOUCH_START; + phCommand = 1; + } + else if (button == SDL_EVENT_MOUSE_BUTTON_UP) + { + phSendBuf[2] = TOUCH_END; + phCommand = 3; + } + else if (button == SDL_EVENT_MOUSE_MOTION) + { + phSendBuf[2] = TOUCH_TOUCHING; + phCommand = 2; + } + phSendBuf[0] = 0x55; + phSendBuf[1] = 0x54; + phSendBuf[3] = (char)(coordX & 0xFF); + phSendBuf[4] = (char)((coordX >> 8) & 0xff); + phSendBuf[5] = (char)(coordY & 0xFF); + phSendBuf[6] = (char)((coordY >> 8) & 0xff); + + phBufferFilled = true; +} + +uint8_t phCalcChecksum() +{ + int8_t checksum = -0x56; + for (int x = 0; x < 9; x++) + { + checksum += phSendBuf[x]; + } + return (uint8_t)(checksum & 0xff); +} + +ssize_t phRead(int fd, void *buf, size_t count) +{ + if (!phBufferFilled) + return 0; + + if (phCommandByte == 9) + { + switch (phCommand) + { + case 1: + phCommand = 2; + break; + case 2: + phSendBuf[2] = TOUCH_TOUCHING; + break; + case 3: + phBufferFilled = false; + } + phSendBuf[9] = phCalcChecksum(); + } + memcpy(buf, &phSendBuf[phCommandByte], sizeof(char)); + phCommandByte++; + if (phCommandByte == 10) + phCommandByte = 0; + return 1; +} + +void phTouchScreenCursor(int mX, int mY, int *motX, int *motY) +{ + if (getConfig()->emulateTouchscreen) + { + switch (getConfig()->phScreenMode) + { + case 0: + case 2: + case 3: + if ((mX >= phX2 && mX <= (phX2 + phW2) && mY >= phY2 && mY <= (phY2 + phH2)) && getConfig()->hideCursor == 0) + { + setCursor(touchCursor); + showPhCursor(); + } + else if (getConfig()->hideCursor == 1 || phShowCursorInGame == false) + { + hideCursor(); + } + else if (phShowCursorInGame && getConfig()->hideCursor == 0) + { + setCursor(customCursor); + showCursor(); + } + break; + case 4: + if ((mX >= phX2 && mX <= (phX2 + phW2) && mY >= (phY2 + phH) && mY <= (phY2 + (phH2 + phH))) && + getConfig()->hideCursor == 0) + { + setCursor(touchCursor); + showPhCursor(); + } + else if (getConfig()->hideCursor == 1 || phShowCursorInGame == false) + { + hideCursor(); + } + else if (phShowCursorInGame && getConfig()->hideCursor == 0) + { + setCursor(customCursor); + showCursor(); + } + } + } + if (mX < phX) + *motX = phX; + if (mX > (phW + phX)) + *motX = (phW + phX) - 1; + if (mY > phH + phY) + *motY = (phH + phY) - 1; + if (mY < phY) + *motY = phY; +} + +bool phIsInsideTouchScreen(int mX, int mY, int *x, int *y) +{ + switch (getConfig()->phScreenMode) + { + case 0: + case 2: + case 3: + if (mX >= phX2 && mX <= (phX2 + phW2) && mY >= phY2 && mY <= (phY2 + phH2)) + { + *x = mX - phW; + *y = mY - phY2; + return true; + } + break; + case 4: + if (mX >= phX2 && mX <= (phX2 + phW2) && mY >= (phY2 + phH) && mY <= (phY2 + (phH2 + phH))) + { + *x = mX - phX2; + *y = mY - phH; + return true; + } + } + return false; +} + +void phTouchClick(int x, int y, int type) +{ + if (type == SDL_EVENT_MOUSE_BUTTON_DOWN) + phCoordinates(x, y, phW2, phH2, SDL_EVENT_MOUSE_BUTTON_DOWN); + else if (type == SDL_EVENT_MOUSE_BUTTON_UP) + phCoordinates(x, y, phW2, phH2, SDL_EVENT_MOUSE_BUTTON_UP); + else if (type == SDL_EVENT_MOUSE_MOTION) + phCoordinates(x, y, phW2, phH2, SDL_EVENT_MOUSE_MOTION); +} \ No newline at end of file diff --git a/src/lindbergh/touchScreen.h b/src/lindbergh/touchScreen.h new file mode 100644 index 0000000..0f4f011 --- /dev/null +++ b/src/lindbergh/touchScreen.h @@ -0,0 +1,11 @@ +#pragma once + +#include +#include +#include + +void phCoordinates(int x, int y, int w, int h, int button); +ssize_t phRead(int fd, void *buf, size_t count); +void phTouchScreenCursor(int mX, int mY, int *motX, int *motY); +bool phIsInsideTouchScreen(int mX, int mY, int *x, int *y); +void phTouchClick(int x, int y, int type); diff --git a/src/lindbergh/touchscreen.c b/src/lindbergh/touchscreen.c deleted file mode 100644 index 2a55ce0..0000000 --- a/src/lindbergh/touchscreen.c +++ /dev/null @@ -1,85 +0,0 @@ -#include -#include -#include -#include -#include -#include - -char phSendBuf[10]; -bool phBufferFilled = false; -int phCommand = 1; -int phCommandByte = 0; -uint16_t coordX; -uint16_t coordY; -#define TOUCH_START 0x81 -#define TOUCH_TOUCHING 0x82 -#define TOUCH_END 0x84 - -void phCoordinates(int x, int y, int w, int h, int button) -{ - coordX = (float)x / ((float)w * 0.0002441406); - coordY = (float)y / ((float)h * 0.0002441406); - memset(phSendBuf, 0, sizeof(phSendBuf)); - - if (button == SDL_MOUSEBUTTONDOWN || button == ButtonPress) - { - phSendBuf[2] = TOUCH_START; - phCommand = 1; - } - else if (button == SDL_MOUSEBUTTONUP || button == ButtonRelease) - { - phSendBuf[2] = TOUCH_END; - phCommand = 3; - } - else if (button == SDL_MOUSEMOTION || button == MotionNotify) - { - phSendBuf[2] = TOUCH_TOUCHING; - phCommand = 2; - } - phSendBuf[0] = 0x55; - phSendBuf[1] = 0x54; - phSendBuf[3] = (char)(coordX & 0xFF); - phSendBuf[4] = (char)((coordX >> 8) & 0xff); - phSendBuf[5] = (char)(coordY & 0xFF); - phSendBuf[6] = (char)((coordY >> 8) & 0xff); - - phBufferFilled = true; -} - -uint8_t phCalcChecksum() -{ - int8_t checksum = -0x56; - for (int x = 0; x < 9;x++) - { - checksum += phSendBuf[x]; - } - return (uint8_t)(checksum & 0xff); -} - -ssize_t phRead(int fd, void *buf, size_t count) -{ - if(!phBufferFilled) - return 0; - - - if(phCommandByte == 9) - { - switch (phCommand) - { - case 1: - phCommand = 2; - break; - case 2: - phSendBuf[2] = TOUCH_TOUCHING; - break; - case 3: - phBufferFilled = false; - } - phSendBuf[9] = phCalcChecksum(); - } - memcpy(buf, &phSendBuf[phCommandByte], sizeof(char)); - phCommandByte++; - if (phCommandByte == 10) - phCommandByte = 0; - return 1; -} \ No newline at end of file diff --git a/src/lindbergh/touchscreen.h b/src/lindbergh/touchscreen.h deleted file mode 100644 index a07f1e4..0000000 --- a/src/lindbergh/touchscreen.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -#include - -void phCoordinates(int x, int y, int w, int h, int button); -ssize_t phRead(int fd, void *buf, size_t count); diff --git a/src/lindbergh/version.h b/src/lindbergh/version.h index c694c14..589496b 100644 --- a/src/lindbergh/version.h +++ b/src/lindbergh/version.h @@ -1,3 +1,4 @@ // Common file to hold the version information #define MAJOR_VERSION 2 #define MINOR_VERSION 0 +#define UPDATE_VERSION 0 diff --git a/src/lindbergh/x11Hooks.c b/src/lindbergh/x11Hooks.c new file mode 100644 index 0000000..b599b5e --- /dev/null +++ b/src/lindbergh/x11Hooks.c @@ -0,0 +1,152 @@ +#ifndef __i386__ +#define __i386__ +#endif +#undef __x86_64__ +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "securityBoard.h" +#include "sdlCalls.h" + +extern bool gettingGPUVendor; + +extern bool creatingWindow; + +Window window; + +extern Display *x11Display; +extern Window x11Window; + +extern void *customCursor; +extern void *touchCursor; + +/** + * Stop the house of the dead games turning keyboard repeating off. + */ +int XAutoRepeatOff(Display *display) +{ + return 0; +} + +Display *XOpenDisplay(const char *display_name) +{ + Display *(*_XOpenDisplay)(const char *display_name) = dlsym(RTLD_NEXT, "XOpenDisplay"); + + if (gettingGPUVendor || creatingWindow) + { + return _XOpenDisplay(display_name); + } + else + { + startSDL(0, 0); + return x11Display; + } +} + +Window XCreateWindow(Display *display, Window parent, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, + int depth, unsigned int class, Visual *visual, unsigned long valueMask, XSetWindowAttributes *attributes) +{ + Window (*_XCreateWindow)(Display *display, Window parent, int x, int y, unsigned int width, unsigned int height, + unsigned int border_width, int depth, unsigned int class, Visual *visual, unsigned long valueMask, + XSetWindowAttributes *attributes) = dlsym(RTLD_NEXT, "XCreateWindow"); + + if ((gettingGPUVendor || creatingWindow)) + window = _XCreateWindow(display, parent, x, y, width, height, border_width, depth, class, visual, valueMask, attributes); + else + window = x11Window; + + return window; +} + +// Here we prevent the games to change the window properties +void XSetWMProperties(Display *display, Window w, XTextProperty *window_name, XTextProperty *icon_name, char **argv, int argc, + XSizeHints *normal_hints, XWMHints *wm_hints, XClassHint *class_hints) +{ + return; +} + +int XMapWindow(Display *display, Window window) +{ + return 0; +} + +int XPending(Display *display) +{ + return 0; +} + +int XGrabPointer(Display *display, Window grab_window, Bool owner_events, unsigned int event_mask, int pointer_mode, int keyboard_mode, + Window confine_to, Cursor cursor, Time time) +{ + return 0; +} + +int XSetInputFocus(Display *display, Window window, int revert_to_window, Time time) +{ + return 0; +} + +Bool XTranslateCoordinates(Display *display, Window src_w, Window dest_w, int src_x, int src_y, int *dest_x_return, int *dest_y_return, + Window *child_return) +{ + return true; +} + +int XMoveWindow(Display * display, Window w, int x, int y) +{ + return 0; +} + +Bool XF86VidModeSwitchToMode(Display *display, int screen, XF86VidModeModeInfo *modesinfo) +{ + return 0; +} + +Bool XF86VidModeGetViewPort(Display *display, int screen, int *x_return, int *y_return) +{ + return 0; +} + +Bool XF86VidModeGetModeLine(Display *display, int screen, int *dotclock_return, XF86VidModeModeLine *modeline) +{ + return 0; +} + +int XF86VidModeGetAllModeLines(Display *display, int screen, int *modecount_return, XF86VidModeModeInfo ***modesinfo) +{ + int (*_XF86VidModeGetAllModeLines)(Display *display, int screen, int *modecount_return, XF86VidModeModeInfo ***modesinfo) = + dlsym(RTLD_NEXT, "XF86VidModeGetAllModeLines"); + + if (_XF86VidModeGetAllModeLines(display, screen, modecount_return, modesinfo) != 1) + { + printf("Error: Could not get list of screen modes.\n"); + exit(1); + } + else + { + XF86VidModeModeInfo **modes = *modesinfo; + modes[0]->hdisplay = getConfig()->width; + modes[0]->vdisplay = getConfig()->height; + } + return true; +} + +void glGenFencesNV(int n, uint32_t *fences) +{ + static unsigned int curf = 1; + while (n--) + { + *fences++ = curf++; + } + return; +} + +void glDeleteFencesNV(int a, const uint32_t *b) +{ + return; +} diff --git a/src/lindbergh/x11hooks.c b/src/lindbergh/x11hooks.c deleted file mode 100644 index 8767d62..0000000 --- a/src/lindbergh/x11hooks.c +++ /dev/null @@ -1,257 +0,0 @@ -#ifndef __i386__ -#define __i386__ - -#endif -#undef __x86_64__ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "config.h" -#include "securityboard.h" -#include "fps_limiter.h" -#include "sdlcalls.h" -#include "customcursor.h" - -extern bool SDLWindowCreated; -extern bool gettingGPUVendor; -extern bool GLUTGame; - -bool creatingWindow = false; - -Window window; - -extern Display *x11Display; -extern Window x11Window; - -extern void *customCursor; -extern void *phTouchCursor; - -/** - * Stop the house of the dead games turning keyboard repeating off. - */ -int XAutoRepeatOff(Display *display) -{ - return 0; -} - -Display *XOpenDisplay(const char *display_name) -{ - Display *(*_XOpenDisplay)(const char *display_name) = dlsym(RTLD_NEXT, "XOpenDisplay"); - - if (SDLWindowCreated || gettingGPUVendor || getConfig()->noSDL) - { - x11Display = _XOpenDisplay(display_name); - } - else - { - creatingWindow = true; - initSDL(0, 0); - creatingWindow = false; - } - return x11Display; -} - -void setWindowProperties(Display *display, Window window) -{ - XSizeHints *hints = XAllocSizeHints(); - - hints->flags = PMinSize | PMaxSize; - hints->min_width = hints->max_width = getConfig()->width; - hints->min_height = hints->max_height = getConfig()->height; - XSetWMNormalHints(display, window, hints); - XFree(hints); - Atom hintsAtom = XInternAtom(display, "_MOTIF_WM_HINTS", False); - XMapWindow(display, window); - XFlush(display); -} - -Window XCreateWindow(Display *display, Window parent, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, - int depth, unsigned int class, Visual *visual, unsigned long valueMask, XSetWindowAttributes *attributes) -{ - Window (*_XCreateWindow)(Display *display, Window parent, int x, int y, unsigned int width, unsigned int height, - unsigned int border_width, int depth, unsigned int class, Visual *visual, - unsigned long valueMask, XSetWindowAttributes *attributes) = - dlsym(RTLD_NEXT, "XCreateWindow"); - - if ((gettingGPUVendor || creatingWindow) || (GLUTGame && getConfig()->noSDL == 0)) - { - window = _XCreateWindow(display, parent, x, y, width, height, border_width, depth, class, visual, valueMask, attributes); - } - else if (getConfig()->noSDL) - { - width = getConfig()->width; - height = getConfig()->height; - - attributes->event_mask = attributes->event_mask | KeyPressMask | KeyReleaseMask | PointerMotionMask; - - window = _XCreateWindow(display, parent, x, y, width, height, border_width, depth, class, visual, valueMask, attributes); - printf(" X11 RESOLUTION: %dx%d\n\n", width, height); - - if (getConfig()->fullscreen) - { - Atom wm_state = XInternAtom(display, "_NET_WM_STATE", true); - Atom wm_fullscreen = XInternAtom(display, "_NET_WM_STATE_FULLSCREEN", true); - XChangeProperty(display, window, wm_state, XA_ATOM, 32, PropModeReplace, (unsigned char *)&wm_fullscreen, 1); - } - x11Window = window; - loadCursors(); - setCursor(customCursor); - if (getConfig()->hideCursor) - hideCursor(); - } - else - { - window = x11Window; - } - - // Eliminate the maximize window button and no more resizing - if (!gettingGPUVendor && !creatingWindow) - setWindowProperties(display, window); - - return window; -} - -// Here we prevent the games to change the window properties -void XSetWMProperties(Display *display, Window w, XTextProperty *window_name, XTextProperty *icon_name, char **argv, int argc, - XSizeHints *normal_hints, XWMHints *wm_hints, XClassHint *class_hints) -{ - return; -} - -int XGrabPointer(Display *display, Window grab_window, Bool owner_events, unsigned int event_mask, int pointer_mode, - int keyboard_mode, Window confine_to, Cursor cursor, Time time) -{ - int (*_XGrabPointer)(Display *display, Window grab_window, Bool owner_events, unsigned int event_mask, - int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor, Time time) = - dlsym(RTLD_NEXT, "XGrabPointer"); - - if (getConfig()->noSDL) - { - int returnValue = - _XGrabPointer(display, grab_window, owner_events, event_mask, pointer_mode, keyboard_mode, confine_to, cursor, time); - XUngrabPointer(display, time); - return returnValue; - } - return _XGrabPointer(display, grab_window, owner_events, event_mask, pointer_mode, keyboard_mode, confine_to, cursor, time); -} - -int XGrabKeyboard(Display *display, Window grab_window, Bool owner_events, int pointer_mode, int keyboard_mode, - Time time) -{ - int (*_XGrabKeyboard)(Display *display, Window grab_window, Bool owner_events, int pointer_mode, int keyboard_mode, - Time time) = dlsym(RTLD_NEXT, "XGrabKeyboard"); - - if (getConfig()->noSDL) - { - int returnValue = _XGrabKeyboard(display, grab_window, owner_events, pointer_mode, keyboard_mode, time); - XUngrabKeyboard(display, time); - return returnValue; - } - return _XGrabKeyboard(display, grab_window, owner_events, pointer_mode, keyboard_mode, time); -} - -int XStoreName(Display *display, Window w, const char *window_name) -{ - int (*_XStoreName)(Display *display, Window w, const char *window_name) = dlsym(RTLD_NEXT, "XStoreName"); - - if (getConfig()->noSDL) - { - char windowTitle[512]; - sprintf(windowTitle, "%s - FPS: %.2f", getGameName(), calculateFps()); - return _XStoreName(display, w, windowTitle); - } - return _XStoreName(display, w, window_name); -} - -int XSetStandardProperties(Display *display, Window window, const char *window_name, const char *icon_name, - Pixmap icon_pixmap, char **argv, int argc, XSizeHints *hints) -{ - int (*_XSetStandardProperties)(Display *display, Window window, const char *window_name, const char *icon_name, - Pixmap icon_pixmap, char **argv, int argc, XSizeHints *hints) = - dlsym(RTLD_NEXT, "XSetStandardProperties"); - - if (getConfig()->noSDL) - { - char gameTitle[256] = {0}; - strcat(gameTitle, getGameName()); - return _XSetStandardProperties(display, window, gameTitle, icon_name, icon_pixmap, argv, argc, hints); - } - return _XSetStandardProperties(display, window, window_name, icon_name, icon_pixmap, argv, argc, hints); -} - -int XPending(Display *display) -{ - int (*_XPending)(Display *display) = dlsym(RTLD_NEXT, "XPending"); - if (SDLWindowCreated) - return 0; - return _XPending(display); -} - -int XFlush(Display *display) -{ - int (*_XFlush)(Display *display) = dlsym(RTLD_NEXT, "XFlush"); - if (SDLWindowCreated) - return 0; - return _XFlush(display); -} - -Bool XF86VidModeSwitchToMode(Display *display, int screen, XF86VidModeModeInfo *modesinfo) -{ - return 0; -} - -Bool XF86VidModeGetViewPort(Display *display, int screen, int *x_return, int *y_return) -{ - return 0; -} - -Bool XF86VidModeGetModeLine(Display *display, int screen, int *dotclock_return, XF86VidModeModeLine *modeline) -{ - return 0; -} - -int XF86VidModeGetAllModeLines(Display *display, int screen, int *modecount_return, XF86VidModeModeInfo ***modesinfo) -{ - int (*_XF86VidModeGetAllModeLines)(Display *display, int screen, int *modecount_return, - XF86VidModeModeInfo ***modesinfo) = - dlsym(RTLD_NEXT, "XF86VidModeGetAllModeLines"); - - if (_XF86VidModeGetAllModeLines(display, screen, modecount_return, modesinfo) != 1) - { - printf("Error: Could not get list of screen modes.\n"); - exit(1); - } - else - { - XF86VidModeModeInfo **modes = *modesinfo; - modes[0]->hdisplay = getConfig()->width; - modes[0]->vdisplay = getConfig()->height; - } - return true; -} - -typedef unsigned int uint; - -void glGenFencesNV(int n, uint *fences) -{ - static unsigned int curf = 1; - while (n--) - { - *fences++ = curf++; - } - return; -} - -void glDeleteFencesNV(int a, const uint *b) -{ - return; -}