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 0000000..6c139b0 Binary files /dev/null and b/docs/Controls-Guide.pdf differ diff --git a/docs/changelog b/docs/changelog index 6a456b8..5ee2b90 100644 --- a/docs/changelog +++ b/docs/changelog @@ -2,23 +2,43 @@ All notable changes to this project will be documented in this file. -## [2.0.14] +## [2.1.0] ### Added + - Rambo DVP-0078 (China version) support. + - ID5 DVP-0070C support. + - AxA games added. + - An option to set a percentage to reduce the travel in ID games steering wheel. + - An option to change the language in ID5 EXP (DVP-0084 and DVP-0084A) to Chinese. + - An option to change the way the Guns are shown in Rambo. + - New controls guide in pdf format inside docs folder. + - Change the Outrun Testmode font to a built in font that scales with the resolution set. + - An option in lindberg elf to specify a comunity built game controller database. + - An option in lindberg elf to generate a default controls.ini. + - An option to in lindberg elf generate a default lindbergh.ini file. + - SDL controls configuration using logical names. + - SDL input remade with separate configuration file. + - Option to make Primeval Hunt test mode load as a single screen. + - Blitting to support stretching with fullscreen on the fly. (F11 to switch from / to fullscreen). - Bobby's birthday checking! - - FPS target to float. -### Fixed - - a bub in config.c where MJ4_ENABLED_ALL_THE_TIME was using the wrong variable. - -## [2.0.13] -### Added - - - Clear window when the game is loading to prevent ghosting in SDL - - Prevent the created windows to resize/maximize. - - Version in github now matches the version in the changelog. -### Fixed - - Fixed a bug in Let's Go Jungle Special Resolution Patch. + - Prevent the created windows to resize/maximize in LGJ games and PH (Cause issues). +### Code changes + - config file format changed to ini (TOML format). + - Removed X11 completely and only SDL is used to create windows and handle controls. + - Cleaned the shader patches files. + - Moved all the network related code to a new file. + - Moved all the shader caching to a new file. + - Refactored config.c to make it more readable. + - Cleaned the code, fixed all the variables, functions and file names to use the same naming convention. - Cleaned unnecessary global variables in resolution.c - - Fixed a bug in that prevented the loader to start when the current folder contained spaces and lindbergh.so was there. + - Replaced stb_image with SDL_image. + - Switched to SDL3 + - Version in github now matches the version in the changelog. + - FPS target to float. + - Clear window background when the game is loading to prevent ghosting in SDL +### Fixed + - a bug in config.c where MJ4_ENABLED_ALL_THE_TIME was using the wrong variable. + - Fixed a bug in Let's Go Jungle Special Resolution Patch. + - Fixed a bug that prevented the loader to start when the current folder contained spaces and lindbergh.so was there. ## [2.0.12] ### Added diff --git a/docs/guide.md b/docs/guide.md index 04ff8f8..55c984f 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -31,6 +31,7 @@ The follow list of games are supported. It is worth noting that there are multip | Initial D 5 EXP 2.0 | SBTS | DVP-0084 | ✓ | ✓ | ✓ | | | Initial D 5 EXP 2.0 Rev A | SBQN | DVP-0084A | ✓ | ✓ | ✓ | | | Initial D Arcade Stage 5 Rev A | SBQZ | DVP-0070A | ✓ | ✓ | ✓ | | +| Initial D Arcade Stage 5 Rev C | SBQZ | DVP-0070C | ✓ | ✓ | ✓ | | | Initial D Arcade Stage 5 Rev F | SBQZ | DVP-0070F | ✓ | ✓ | ✓ | | | Let's Go Jungle | SBLU | DVP-0011 | ✓ | ✓ | ✓ | | | Let's Go Jungle! Rev A | SBLU | DVP-0011A | ✓ | ✓ | ✓ | | @@ -41,6 +42,7 @@ The follow list of games are supported. It is worth noting that there are multip | Outrun 2 SP SDX Rev A | SBMB | DVP-0015A | ✓ | ✓ | ✓ | ✓ | | Primeval Hunt | SBPP | DVP-0048 | ✓ | ✓ | ✓ | ✓ | | Rambo | SBQL | DVP-0069 | ✓ | ✓ | ✓ | ✓ | +| Rambo (China) | SBSS | DVP-0078 | ✓ | ✓ | ✓ | ✓ | | R-Tuned | SBQW | DVP-0060 | ✓ | ✓ | ✓ | ✓ | | Sega Race TV | SBPF | DVP-0044 | ✓ | ✓ | ✓ | ✓ | | The House of the Dead 4 Rev A | SBLC | DVP-0003A | ✓ | ✓ | ✓ | ✓ | @@ -88,15 +90,15 @@ sudo ln -s /lib/i386-linux-gnu/libglut.so /lib/i386-linux-gnu/libglut.so.3 ### Outrun 2 SP SDX -- You need to set `SKIP_OUTRUN_CABINET_CHECK` to 1 in `lindbergh.conf` to play in DX, SDX or Standard cabinet types. +- You need to set `SKIP_OUTRUN_CABINET_CHECK` to 1 in `lindbergh.ini` to play in DX, SDX or Standard cabinet types. ### Hummer (all versions) The games will ask for libGLcore.so.1 and libnvidia-tls.so.1 you can copy for example libkswapapi.so as libGLcore.so.1 and libnvidia-tls.so.1 and the game will work fine. -## Configuration File : lindbergh.conf +## Configuration File : lindbergh.ini -All configurable options are set and explained in the [`lindbergh.conf`](lindbergh.conf) file itself, and should be reasonably easy to understand. This chapter further explains some of those setup options. +All configurable options are set and explained in the [`lindbergh.ini`](lindbergh.ini) file itself, and should be reasonably easy to understand. This chapter further explains some of those setup options. You will see the value `AUTO` by default for some of the config options. This is present when the emulator might set that config value to multiple different things itself. For example rideboard emulation is set to `AUTO` so that the emulator doesn't enable it for all games, and only turns it on for the special games that require it. If it was set to `1` it would always emulate the rideboard on serial port 2, and if it was set to `0` it would never emulate it. @@ -268,3 +270,13 @@ The loader will try to find the files. If by mistake, you pass both, a full path including an ELF and a path with -g option, the path passed with -g option will be omitted. Remember that if the path containg spaces, which is not recommended, pass the path inside double quotes or `\` before the space. + +## Creating lindbergh.ini or controls.ini + +``` +./lindbergh --create --help +``` + +Will give you instructions on how to use the new commands. + + diff --git a/docs/lindbergh.conf b/docs/lindbergh.conf deleted file mode 100644 index 5e04619..0000000 --- a/docs/lindbergh.conf +++ /dev/null @@ -1,228 +0,0 @@ -# SEGA Lindbergh Emulator Configuration File -# By the Lindbergh Development Team 2024-2025 - -# Set the requested dip switch width here -WIDTH AUTO - -# Set the requested dip switch height here -HEIGHT AUTO - -# Boost render resolution in HOD4/2Spicy/Harley/Rambo/HOD-EX/ID4/ID5 and LGJ -# BOOST_RENDER_RES 1 - -# Set if the emulator should go full screen -# FULLSCREEN 0 - -# Sets the Input Mode -# Mode 0: will use both SDL/X11 and EVDEV inputs (default) -# Mode 1: will use SDL/X11 inputs only -# Mode 2: will use EVDEV raw inputs only, which should be configured at the bottom of the settings file -# INPUT_MODE 0 - -# Set to 1 if you want to disable SDL (Fixes SRTV boost bar) -# NO_SDL 0 - -# Set the Region ( JP/US/EX ) -# REGION EX - -# Set if you want the game to be Free Play -# FREEPLAY 1 - -# Set if the emulator should emulate JVS and use the keyboard/mouse for controls. -# If this is set to 0, then the emulator will route the traffic to the serial device -# defined in JVS_PATH if it has been defined. -# EMULATE_JVS 1 - -# Set if the emulator should emulate the rideboard used in the special games here -# If this is set to 0, then the emulator will route the traffic to one of the serial ports -EMULATE_RIDEBOARD AUTO - -# Set if the emulator should emulate the driveboard used in driving games here -# If this is set to 0, then the emulator will route the traffic to one of the serial ports -EMULATE_DRIVEBOARD AUTO - -# Set if the emulator should emulate the motion board from Outrun 2 SP SDX here -# If this is set to 0, then the emulator will route the traffic to one of the serial ports -EMULATE_MOTIONBOARD AUTO - -# Set if the loader should emulate the card reader in Virtua Tenis 3 -EMULATE_CARDREADER AUTO - -# Set to 1 if the loader should emulate the touchscreen with the mouse in PH. -# EMULATE_TOUCHSCREEN 1 - -# Card File for reader 1 -# CARDFILE_01 Card_01.crd - -# Card File for reader 2 -# CARDFILE_02 Card_02.crd - -# Define the path to pass the JVS packets to if JVS is not being emulated. -# JVS_PATH /dev/ttyUSB0 - -# Define the path to pass the first serial port to if it's not being emulated. -# SERIAL_1_PATH /dev/ttyUSB0 - -# Define the path to pass the second serial port to if it's not being emulated. -# SERIAL_2_PATH /dev/ttyUSB0 - -# Define the path to the sram.bin file -# SRAM_PATH sram.bin - -# Define the path to the eeprom.bin file -# EEPROM_PATH eeprom.bin - -# If set, the library libCG.so needed for 2Spicy, Harley, Rambo and HOD-Ex shader recompilation -# will be loaded from the specifyied location. (include the name of file in the location) -# LIBCG_PATH /my/file/location/myLibCg.so - -# Set the GPU vendor (0 = Autodetect / 1 = NVidia / 2 = AMD / 3 = ATI(AMD-PRO) / 4 = Intel / 5 = Unknown) -# GPU_VENDOR 0 - -# Set if you want to see debug messages in the console -# DEBUG_MSGS 0 - -# Set if you'd like to add a border for optical light gun tracking -# BORDER_ENABLED 0 - -# Set the thickness of the white border as a percentage of the width of the screen -# WHITE_BORDER_PERCENTAGE 2 - -# Set the thickness of the black border which sits around the -# white border as a percentage of the width of the screen -# BLACK_BORDER_PERCENTAGE 0 - -# Set to true if you experience flickering in hummer -# HUMMER_FLICKER_FIX 0 - -# Set to keep the aspect ratio (4:3) in games like Sega Race TV and Primeval Hunt -# KEEP_ASPECT_RATIO 0 - -# Set to 0 if you want to disable the Glare effect in OutRun -# OUTRUN_LENS_GLARE_ENABLED 1 - -# Set to 1 to bypass cabinet checks including drive board and tower in Outrun 2 SP SDX -# SKIP_OUTRUN_CABINET_CHECK 0 - -# Set to 1 if you want to limit the FPS in games that are not limited like OutRun2 -# FPS_LIMITER_ENABLED 0 - -# Set the target FPS (will only work if FPS_LIMITER_ENABLED = 1) -# FPS_TARGET 60 - -# Set to 1 if you want to render LGJ using the mesa patches instead of nVidia (fixes some glitches) -# LGJ_RENDER_WITH_MESA 1 - -# Set the Primeval Hunt mode -# Mode 0: Default (Side by Side) -# Mode 1: No touch screen -# Mode 2: Side by Side -# Mode 3: 3ds mode 1 (Touch screen to the right) -# Mode 4: 3ds mode 2 (Touch screen to the bottom) -# PRIMEVAL_HUNT_MODE 1 - -# Disble to use the original fonts instead of the built in font in the loader -# DISABLE_BUILTIN_FONT 0 - -# Disble to use the original logos instead of the built in logos in the loader -# DISABLE_BUILTIN_LOGOS 0 - -# Set to 0 to enable the mouse pointer/Cursor -# HIDE_CURSOR 1 - -# Set the custom mouse pointer from a PNG file (Usefull for shooting games) -# CUSTOM_CURSOR myCustomCursor.png - -# Set the width of the custom cursor -# CUSTOM_CURSOR_WIDTH 32 - -# Set the height of the custom cursor -# CUSTOM_CURSOR_HEIGHT 32 - -# Set a custom cursor for the touch screen in Primeval Hunt -# PH_TOUCH_CURSOR myCustomHandCursor.png - -# Set the width of the custom cursor -# PH_TOUCH_CURSOR_WIDTH 32 - -# Set the height of the custom cursor -# PH_TOUCH_CURSOR_HEIGHT 32 - -# Hacky way to make MJ4 work at prohibited times? -# MJ4_ENABLED_ALL_THE_TIME 1 - -# Sets the IP address in the eeprom for Outrun link (you have to put your NIC ip) -# OR2_IP 192.168.1.2 -# OR2_NETMASK 255.255.255.0 - -# House of the dead 4 speed fix set the frequency of your CPU in Ghz (The speed reported by the manufacturer) -# CPU_FREQ_GHZ 4.0 - -# Set the colour of the lindbergh to change the Segaboot logo -# Possible colours are: YELLOW, RED, BLUE, SILVER, REDEX -# LINDBERGH_COLOUR YELLOW - -# X11 MODE (Input Mode 1) -# To find the value pairs for these run `xev` on linux - -TEST_KEY 28 # t -PLAYER_1_START_KEY 10 # 1 -PLAYER_1_SERVICE_KEY 39 # s -PLAYER_1_COIN_KEY 14 # 5 -PLAYER_1_UP_KEY 111 # Up -PLAYER_1_DOWN_KEY 116 # Down -PLAYER_1_LEFT_KEY 113 # Left -PLAYER_1_RIGHT_KEY 114 # Right -PLAYER_1_BUTTON_1_KEY 24 # q -PLAYER_1_BUTTON_2_KEY 25 # w -PLAYER_1_BUTTON_3_KEY 26 # e -PLAYER_1_BUTTON_4_KEY 27 # r - -# EVDEV MODE (Input Mode 2) -# To find the value pairs for these run ./lindbergh --list-controllers - -# TEST_BUTTON AT_TRANSLATED_SET_2_KEYBOARD_KEY_Z - -# PLAYER_1_BUTTON_START AT_TRANSLATED_SET_2_KEYBOARD_KEY_1 -# PLAYER_1_BUTTON_SERVICE AT_TRANSLATED_SET_2_KEYBOARD_KEY_S -# PLAYER_1_BUTTON_UP AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP -# PLAYER_1_BUTTON_DOWN AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN -# PLAYER_1_BUTTON_LEFT AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT -# PLAYER_1_BUTTON_RIGHT AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT -# PLAYER_1_BUTTON_1 AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q -# PLAYER_1_BUTTON_2 AT_TRANSLATED_SET_2_KEYBOARD_KEY_W -# PLAYER_1_BUTTON_3 AT_TRANSLATED_SET_2_KEYBOARD_KEY_E -# PLAYER_1_BUTTON_4 AT_TRANSLATED_SET_2_KEYBOARD_KEY_R -# PLAYER_1_BUTTON_5 AT_TRANSLATED_SET_2_KEYBOARD_KEY_T -# PLAYER_1_BUTTON_6 AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y -# PLAYER_1_BUTTON_7 AT_TRANSLATED_SET_2_KEYBOARD_KEY_I -# PLAYER_1_BUTTON_8 AT_TRANSLATED_SET_2_KEYBOARD_KEY_O - -# PLAYER_2_BUTTON_START AT_TRANSLATED_SET_2_KEYBOARD_KEY_1 -# PLAYER_2_BUTTON_SERVICE AT_TRANSLATED_SET_2_KEYBOARD_KEY_S -# PLAYER_2_BUTTON_UP AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP -# PLAYER_2_BUTTON_DOWN AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN -# PLAYER_2_BUTTON_LEFT AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT -# PLAYER_2_BUTTON_RIGHT AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT -# PLAYER_2_BUTTON_1 AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q -# PLAYER_2_BUTTON_2 AT_TRANSLATED_SET_2_KEYBOARD_KEY_W -# PLAYER_2_BUTTON_3 AT_TRANSLATED_SET_2_KEYBOARD_KEY_E -# PLAYER_2_BUTTON_4 AT_TRANSLATED_SET_2_KEYBOARD_KEY_R -# PLAYER_2_BUTTON_5 AT_TRANSLATED_SET_2_KEYBOARD_KEY_T -# PLAYER_2_BUTTON_6 AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y -# PLAYER_2_BUTTON_7 AT_TRANSLATED_SET_2_KEYBOARD_KEY_I -# PLAYER_2_BUTTON_8 AT_TRANSLATED_SET_2_KEYBOARD_KEY_O - -# ANALOGUE_1 SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_X -# ANALOGUE_2 SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Y -# ANALOGUE_3 SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Z -# ANALOGUE_4 SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_RZ - -# ANALOGUE_DEADZONE_1 0 0 0 -# ANALOGUE_DEADZONE_2 0 0 0 -# ANALOGUE_DEADZONE_3 0 0 0 -# ANALOGUE_DEADZONE_4 0 0 0 -# ANALOGUE_DEADZONE_5 0 0 0 -# ANALOGUE_DEADZONE_6 0 0 0 -# ANALOGUE_DEADZONE_7 0 0 0 -# ANALOGUE_DEADZONE_8 0 0 0 diff --git a/scripts/appimage/build-deps.sh b/scripts/appimage/build-deps.sh index ed30330..cceb6c4 100755 --- a/scripts/appimage/build-deps.sh +++ b/scripts/appimage/build-deps.sh @@ -6,25 +6,45 @@ OUTPUT_FOLDER=$(realpath "./$APPIMAGEDIRNAME") mkdir build-deps cd build-deps -# Build openal -wget https://github.com/kcat/openal-soft/archive/refs/tags/openal-soft-1.17.2.tar.gz -tar -xzf openal-soft-1.17.2.tar.gz -cd openal-soft-openal-soft-1.17.2/build - -CFLAGS="-m32 -mstackrealign" CXXFLAGS="-m32 -std=c++14 -mstackrealign" cmake ../ -DALSOFT_BACKEND_PULSEAUDIO=ON -DALSOFT_BACKEND_ALSA=ON -DALSOFT_BACKEND_JACK=OFF -DALSOFT_BACKEND_SNDIO=ON - +# Build SDL3 +git clone https://github.com/libsdl-org/SDL.git +cd SDL +mkdir build +cd build +cmake ../ -DCMAKE_C_FLAGS=-m32 -DCMAKE_INSTALL_PREFIX=/usr make -j4 -sudo cp libopenal.so.1.17.2 /usr/lib/i386-linux-gnu/libopenal.so.0 +sudo make install cd ../../ -# Build libSSL and libCrypto -wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_0_9_7.tar.gz -tar -xzf OpenSSL_0_9_7.tar.gz -cd openssl-OpenSSL_0_9_7 -cp ../../scripts/appimage/patches/openssl-0.9.7.patch . -./Configure shared 386 no-asm no-krb5 linux-pentium -m32 -patch -p1 < openssl-0.9.7.patch -CFLAGS=-m32 make -sudo cp libcrypto.so.0.9.7 /usr/lib/i386-linux-gnu -sudo cp libssl.so.0.9.7 /usr/lib/i386-linux-gnu +# Build SDL3_ttf +git clone https://github.com/libsdl-org/SDL_ttf.git +cd SDL_ttf +mkdir build +cd build +cmake ../ -DCMAKE_C_FLAGS=-m32 -DCMAKE_INSTALL_PREFIX=/usr +make -j4 +sudo make install +cd ../../ + +# Build SDL3_image +git clone https://github.com/libsdl-org/SDL_image.git +cd SDL_image +mkdir build +cd build +cmake ../ -DCMAKE_C_FLAGS=-m32 -DCMAKE_INSTALL_PREFIX=/usr +make -j4 +sudo make install +cd ../../ + + +# Build libFAudio +git clone https://github.com/FNA-XNA/FAudio.git +cd FAudio +mkdir build +cd build +cmake ../ -DCMAKE_C_FLAGS=-m32 -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=off +make -j4 +sudo make install +cd ../../../ + diff --git a/scripts/appimage/install-packages.sh b/scripts/appimage/install-packages.sh index f14edc5..e73b5b1 100755 --- a/scripts/appimage/install-packages.sh +++ b/scripts/appimage/install-packages.sh @@ -4,8 +4,10 @@ echo "Install Packages Running..." sudo dpkg --add-architecture i386 sudo apt update sudo apt -y install --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 libsndio-dev:i386 + 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 -sudo add-apt-repository ppa:kisak/kisak-mesa -y +sudo add-apt-repository ppa:kisak/turtle -y sudo apt update -y && sudo apt upgrade -y \ No newline at end of file diff --git a/scripts/appimage/make-appimage.sh b/scripts/appimage/make-appimage.sh index ea2b660..dafa384 100755 --- a/scripts/appimage/make-appimage.sh +++ b/scripts/appimage/make-appimage.sh @@ -4,6 +4,7 @@ APPIMAGENAME=lindbergh-loader APPIMAGEDIRNAME=lindbergh-loader.AppDir declare -a ADDED_LIBS=( + "libfreetype.so.6" "libOpenGL.so.0" "libGLdispatch.so.0" "libGLX.so" @@ -22,16 +23,18 @@ declare -a ADDED_LIBS=( "libxcb-dri3.so.0" "libxcb-glx.so.0" "libXmu.so.6" + "libXrandr.so.2" "libncurses.so.5" "libpcsclite.so.1" "libstdc++.so.5" "libdrm.so.2" "libexpat.so.1" "libm.so.6" - "libopenal.so.0" - "libcrypto.so.0.9.7" - "libssl.so.0.9.7" - "libuuid.so.1" + "libz.so.1" + "libgpg-error.so.0" + "libstdc++.so.6" + "libudev.so.1" + "libsndio.so.7" ) set -e @@ -55,6 +58,7 @@ for lib in "${ADDED_LIBS[@]}"; do ADDED_LIBS_ARGS+=("--library=/usr/lib/i386-linux-gnu/$lib") done +ADDED_LIBS_ARGS+=("--library=/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so") echo "Copying files into AppDir..." mkdir -p "$OUTPUT_FOLDER/usr/bin" @@ -76,7 +80,7 @@ cp libkswapapi.so $OUTPUT_FOLDER/usr/lib cp libsegaapi.so $OUTPUT_FOLDER/usr/lib cp lindbergh.so $OUTPUT_FOLDER/usr/lib cp libposixtime.so $OUTPUT_FOLDER/usr/lib -mv lindbergh $OUTPUT_FOLDER/usr/bin +cp lindbergh $OUTPUT_FOLDER/usr/bin mkdir -p $OUTPUT_FOLDER/usr/lib/dri cp /usr/lib/i386-linux-gnu/dri/* $OUTPUT_FOLDER/usr/lib/dri cd .. @@ -93,11 +97,15 @@ mv $OUTPUT_FOLDER/usr/lib/libposixtime.so $OUTPUT_FOLDER/usr/lib32 mv $OUTPUT_FOLDER/usr/lib/dri $OUTPUT_FOLDER/usr/lib32 unzip libs/Cg-3.1.zip -d $OUTPUT_FOLDER/usr/lib32 -cp libs/libCg.so $OUTPUT_FOLDER/usr/lib32/libCg2.so +cp libs/libCg.so $OUTPUT_FOLDER/usr/lib32/libCg2.so +cp libs/libopenal.so.0 $OUTPUT_FOLDER/usr/lib32/libopenal.so.0 +cp libs/libcrypto.so.0.9.7 $OUTPUT_FOLDER/usr/lib32/libcrypto.so.0.9.7 +cp libs/libssl.so.0.9.7 $OUTPUT_FOLDER/usr/lib32/libssl.so.0.9.7 ln -s -f libposixtime.so $OUTPUT_FOLDER/usr/lib32/libposixtime.so.1 ln -s -f libposixtime.so $OUTPUT_FOLDER/usr/lib32/libposixtime.so.2.4 ln -s -f libkswapapi.so $OUTPUT_FOLDER/usr/lib32/libGLcore.so.1 ln -s -f libkswapapi.so $OUTPUT_FOLDER/usr/lib32/libnvidia-tls.so.1 +ln -s -f libGLX.so $OUTPUT_FOLDER/usr/lib32/libGLX.so.0 echo "Generating AppImage..." rm -f "$APPIMAGENAME.AppImage" diff --git a/scripts/appimage/pack-libs.sh b/scripts/appimage/pack-libs.sh new file mode 100755 index 0000000..58fce30 --- /dev/null +++ b/scripts/appimage/pack-libs.sh @@ -0,0 +1,6 @@ +cd libs +find /usr/lib/i386-linux-gnu -name "libSDL3*" -exec sh -c 'tar -rf libs.tar -C /usr/lib/i386-linux-gnu $(basename {})' \; +find /usr/lib/i386-linux-gnu -name "libFAudio*" -exec sh -c 'tar -rf libs.tar -C /usr/lib/i386-linux-gnu $(basename {})' \; +tar -cf includes.tar -C /usr/include SDL3 SDL3_image SDL3_ttf FAudio.h FAudioFX.h + +cd .. \ No newline at end of file diff --git a/scripts/appimage/patches/openssl-0.9.7.patch b/scripts/appimage/patches/openssl-0.9.7.patch deleted file mode 100644 index 17b8b9d..0000000 --- a/scripts/appimage/patches/openssl-0.9.7.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ruN openssl-OpenSSL_0_9_7.orig/Makefile.ssl openssl-OpenSSL_0_9_7/Makefile.ssl ---- openssl-OpenSSL_0_9_7.orig/Makefile.ssl 2025-04-14 05:05:11.162340308 +0000 -+++ openssl-OpenSSL_0_9_7/Makefile.ssl 2025-04-14 05:06:22.261420144 +0000 -@@ -198,7 +198,7 @@ - SHARED_SSL=libssl$(SHLIB_EXT) - SHARED_LIBS=$(SHARED_CRYPTO) $(SHARED_SSL) - SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so --SHARED_LDFLAGS= -+SHARED_LDFLAGS=-m32 - - GENERAL= Makefile - BASENAME= openssl - diff --git a/scripts/flatpak/com.github.lindberghloader.yml b/scripts/flatpak/com.github.lindberghloader.yml index 38f3607..180a4c6 100644 --- a/scripts/flatpak/com.github.lindberghloader.yml +++ b/scripts/flatpak/com.github.lindberghloader.yml @@ -1,27 +1,28 @@ app-id: com.github.lindberghloader runtime: org.freedesktop.Platform runtime-version: &runtime-version '24.08' +x-gl-version: &gl-version '1.4' +x-gl-versions: &gl-versions 24.08;1.4 +x-gl-merge-dirs: &gl-merge-dirs vulkan/icd.d;glvnd/egl_vendor.d;egl/egl_external_platform.d;OpenCL/vendors;lib/dri;lib/d3d;lib/gbm;vulkan/explicit_layer.d;vulkan/implicit_layer.d sdk: org.freedesktop.Sdk - -x-gl-versions: &gl-versions '24.08;1.4' -x-gl-merge-dirs: &gl-merge-dirs vulkan/icd.d;glvnd/egl_vendor.d;egl/egl_external_platform.d;OpenCL/vendors;lib/dri;lib/d3d;lib/gbm;vulkan/explicit_layer.d;vulkan/implicit_layer.d # Define GL merge dirs alias -x-i386-build-options: &i386-build-options - libdir: /app/lib32 - env: - CC: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-gcc - CXX: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-g++ - LD: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-ld - LDFLAGS: "-L/app/lib32" - command: lindbergh -# SDK extensions needed for building 32-bit components sdk-extensions: - org.freedesktop.Sdk.Extension.toolchain-i386 - org.freedesktop.Sdk.Compat.i386 +x-arch-build-options: + i386: &i386-build-options + libdir: /app/lib32 + env: + CC: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-gcc + CXX: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-g++ + LD: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-ld + LDFLAGS: "-L/app/lib32" + finish-args: - --env=LD_LIBRARY_PATH=/app/lib32:$LD_LIBRARY_PATH + - --env=LDFLAGS="-L/app/lib32" - --env=PATH=/app/bin:/usr/bin - --allow=multiarch - --share=ipc @@ -32,17 +33,23 @@ finish-args: - --socket=pulseaudio - --filesystem=~/Games -# Runtime extensions automatically downloaded and installed with the app (For some reason does not work) add-extensions: org.freedesktop.Platform.Compat.i386: directory: lib/i386-linux-gnu version: *runtime-version - - # 32-bit graphics driver extension + no-autodownload: true + + org.freedesktop.Platform.Compat.i386.Debug: + directory: lib/debug/lib/i386-linux-gnu + version: *runtime-version + no-autodownload: true + org.freedesktop.Platform.GL32: directory: lib/i386-linux-gnu/GL - versions: *gl-versions + version: *gl-version + versions: *gl-versions subdirectories: true + no-autodownload: true autodelete: false add-ld-path: lib merge-dirs: *gl-merge-dirs @@ -50,8 +57,17 @@ add-extensions: enable-if: active-gl-driver autoprune-unless: active-gl-driver + org.freedesktop.Platform.GL32.Debug: + directory: lib/debug/lib/i386-linux-gnu/GL + version: *gl-version + versions: *gl-versions + subdirectories: true + no-autodownload: true + merge-dirs: *gl-merge-dirs + enable-if: active-gl-driver + autoprune-unless: active-gl-driver + modules: - # Pre-built 32-bit library (if required) - name: libstdcxx5 buildsystem: simple build-commands: @@ -61,7 +77,16 @@ modules: - type: file path: ./assets/libstdc++.so.5 - # Build 32-bit libGLU + - name: SDL3-FAudio + buildsystem: simple + build-commands: + - tar -xf libs/libs.tar -C /app/lib32 + - mkdir -p /app/include + - tar -xf libs/includes.tar -C /app/include + sources: + - type: dir + path: ../.. + - name: libGLU buildsystem: autotools config-opts: @@ -72,16 +97,14 @@ modules: x86_64: *i386-build-options sources: - type: archive - url: https://archive.mesa3d.org/glu/glu-9.0.2.tar.xz + url: https://mesa.freedesktop.org/archive/glu/glu-9.0.2.tar.xz sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4 - # Build 32-bit freeglut - name: freeglut buildsystem: cmake config-opts: - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_INSTALL_PREFIX=/app - - -DCMAKE_INSTALL_LIBDIR=/app/lib32 sources: - type: archive url: https://downloads.sourceforge.net/freeglut/freeglut-3.2.2.tar.gz @@ -90,44 +113,75 @@ modules: arch: x86_64: *i386-build-options - # Build 32-bit libFAudio (dynamic) - - name: libFAudio-Dynamic - buildsystem: cmake-ninja + - name: libsndio-dynamic + buildsystem: autotools config-opts: - - -DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX=/app - - -DBUILD_SDL3=off - - -DCMAKE_INSTALL_LIBDIR=/app/lib32 + - --libdir=/app/lib32 + - --enable-dynamic + - --enable-alsa + sources: + - type: archive + url: https://www.sndio.org/sndio-1.10.0.tar.gz + sha256: bebd3bfd01c50c9376cf3e7814b9379bed9e17d0393b5113b7eb7a3d0d038c54 build-options: arch: x86_64: *i386-build-options - env: - CFLAGS: "-m32 -mstackrealign" - CXXFLAGS: "-m32 -mstackrealign" - sources: - - type: git - url: https://github.com/FNA-XNA/FAudio.git - tag: "24.12" - # Build 32-bit libXmu + - name: libsndio-static + buildsystem: autotools + config-opts: + - --libdir=/app/lib32 + - --enable-static + - --enable-alsa + sources: + - type: archive + url: https://www.sndio.org/sndio-1.10.0.tar.gz + sha256: bebd3bfd01c50c9376cf3e7814b9379bed9e17d0393b5113b7eb7a3d0d038c54 + build-options: + arch: + x86_64: *i386-build-options + + # - name: libFAudio-Static + # buildsystem: cmake-ninja + # config-opts: + # - -DCMAKE_BUILD_TYPE=Release + # - -DCMAKE_INSTALL_PREFIX=/app + # - -DBUILD_SHARED_LIBS=off + # - -DCMAKE_INSTALL_LIBDIR=/app/lib32 + # build-options: + # arch: + # x86_64: *i386-build-options + # env: + # CFLAGS: "-m32 -mstackrealign" + # CXXFLAGS: "-m32 -mstackrealign" + # LDFLAGS: "-m32 -mstackrealign" + # PKG_CONFIG_PATH: "/app/lib32/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig" + # LD_LIBRARY_PATH: "/app/lib32:/usr/lib/i386-linux-gnu/pkgconfig:$LD_LIBRARY_PATH" + # sources: + # - type: git + # url: https://github.com/FNA-XNA/FAudio.git + # branch: "master" + - name: libxmu buildsystem: autotools config-opts: - - --prefix=/app + - --libdir=/app/lib32 - --with-shared sources: - type: archive url: https://xorg.freedesktop.org/releases/individual/lib/libXmu-1.2.1.tar.gz sha256: bf0902583dd1123856c11e0a5085bd3c6e9886fbbd44954464975fd7d52eb599 build-options: - arch: - x86_64: *i386-build-options + env: + CC: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-gcc + CXX: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-g++ + LD: /usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-ld + libdir: /app/lib32 - # Build 32-bit libmd - name: libmd buildsystem: autotools config-opts: - - --prefix=/app + - --libdir=/app/lib32 sources: - type: archive url: https://archive.hadrons.org/software/libmd/libmd-1.1.0.tar.xz @@ -136,11 +190,10 @@ modules: arch: x86_64: *i386-build-options - # Build 32-bit libbsd - name: libbsd buildsystem: autotools config-opts: - - --prefix=/app + - --libdir=/app/lib32 sources: - type: archive url: https://libbsd.freedesktop.org/releases/libbsd-0.12.2.tar.xz @@ -149,11 +202,10 @@ modules: arch: x86_64: *i386-build-options - # Build 32-bit ncurses (very old version) - name: ncurses buildsystem: autotools config-opts: - - --prefix=/app + - --libdir=/app/lib32 - --with-shared - --without-debug sources: @@ -169,7 +221,6 @@ modules: CPPFLAGS: "-P" CXXFLAGS: "-std=c++14" - # Install pre-built 32-bit Nvidia Cg Toolkit (old) - name: nvidia-cg-toolkit buildsystem: simple build-commands: @@ -180,62 +231,10 @@ modules: url: http://developer.download.nvidia.com/cg/Cg_3.1/Cg-3.1_April2012_x86.tgz sha256: cef3591e436f528852db0e8c145d3842f920e0c89bcfb219c466797cb7b18879 - # Build 32-bit libsndio (dynamic) - - name: libsndio-dynamic - buildsystem: autotools - config-opts: - - --prefix=/app - - --enable-dynamic - - --enable-alsa - sources: - - type: archive - url: https://www.sndio.org/sndio-1.10.0.tar.gz - sha256: bebd3bfd01c50c9376cf3e7814b9379bed9e17d0393b5113b7eb7a3d0d038c54 - build-options: - arch: - x86_64: *i386-build-options - - # Build 32-bit libopenal (old version) - - name: libopenal - buildsystem: cmake - config-opts: - - -DCMAKE_INSTALL_PREFIX=/app - - -DCMAKE_INSTALL_LIBDIR=/app/lib32 - - -DALSOFT_BACKEND_PULSEAUDIO=ON - - -DALSOFT_BACKEND_ALSA=ON - - -DALSOFT_BACKEND_JACK=OFF - - -DALSOFT_BACKEND_SNDIO=ON - - -DSOUNDIO_INCLUDE_DIR=/app/include - - -DSOUNDIO_LIBRARY=/app/lib32/libsndio.so - sources: - - type: archive - url: https://github.com/kcat/openal-soft/archive/refs/tags/openal-soft-1.17.2.tar.gz - sha256: 11ea176f6cbf9763dbce0953dd77ab72d032b4ad95f07afffb91844abb174033 - build-options: - arch: - x86_64: *i386-build-options - env: - CFLAGS: "-m32 -mstackrealign" - CXXFLAGS: "-m32 -std=c++14 -mstackrealign" - - # Build 32-bit OpenSSL (extremely old and insecure version) - - name: openssl - buildsystem: simple - build-commands: - - ./Configure --prefix=/app --openssldir=/app/etc/ssl shared 386 no-asm no-krb5 linux-pentium - - make CC=/usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-gcc RANLIB=/usr/lib/sdk/toolchain-i386/bin/i686-unknown-linux-gnu-ranlib - - install -d /app/lib32 - - mv libcrypto.so* /app/lib32/ - - mv libssl.so* /app/lib32/ - sources: - - type: archive - url: https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_0_9_7.tar.gz - sha256: 14e3a90f75994689e8c1bef098a97021f225a1a1623a7b8012079bd8b2eca1e8 - - # Build 32-bit libpcsclite - name: libpcsclite buildsystem: meson config-opts: + - --libdir=/app/lib32 - -Dpolkit=false - -Dlibsystemd=false build-options: @@ -244,19 +243,20 @@ modules: env: CFLAGS: "-m32" CXXFLAGS: "-m32" - LDFLAGS: "-m32 -L/app/lib32" - PKG_CONFIG_PATH: "/app/lib32/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib/sdk/toolchain-i386/lib/pkgconfig" + LDFLAGS: "-m32" + PKG_CONFIG_PATH: "/app/lib32/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig" + LD_LIBRARY_PATH: "/app/lib32:/usr/lib/i386-linux-gnu/pkgconfig:$LD_LIBRARY_PATH" sources: - type: archive url: https://pcsclite.apdu.fr/files/pcsc-lite-2.3.1.tar.xz sha256: a641d44d57affe1edd8365dd75307afc307e7eefb4e7ad839f6f146baa41ed56 - # Build the main application (lindbergh-loader) - name: lindbergh-loader buildsystem: simple build-commands: - export LD_LIBRARY_PATH=/app/lib32:$LD_LIBRARY_PATH - - make -j$(nproc) + - make + - mkdir -p /app/bin - mkdir -p /app/lib/i386-linux-gnu - mkdir -p /app/lib/i386-linux-gnu/GL - install -Dm755 ./build/lindbergh /app/bin/ @@ -265,20 +265,22 @@ modules: - install -Dm755 ./build/libkswapapi.so /app/lib32/ - install -Dm755 ./build/libposixtime.so /app/lib32/ - install -Dm755 ./libs/libCg.so /app/lib32/libCg2.so - - ln -sf libposixtime.so /app/lib32/libposixtime.so.1 - - ln -sf libposixtime.so /app/lib32/libposixtime.so.2.4 - - ln -sf libopenal.so.1 /app/lib32/libopenal.so.0 - - ln -sf libkswapapi.so /app/lib32/libGLcore.so.1 - - ln -sf libkswapapi.so /app/lib32/libnvidia-tls.so.1 - - mv /app/lib/libopenal* /app/lib32/ + - install -Dm755 ./libs/libopenal.so.0 /app/lib32/libopenal.so.0 + - install -Dm755 ./libs/libcrypto.so.0.9.7 /app/lib32/libcrypto.so.0.9.7 + - install -Dm755 ./libs/libssl.so.0.9.7 /app/lib32/libssl.so.0.9.7 + - ln -s -f libposixtime.so /app/lib32/libposixtime.so.1 + - ln -s -f libposixtime.so /app/lib32/libposixtime.so.2.4 + - ln -s -f libkswapapi.so /app/lib32/libGLcore.so.1 + - ln -s -f libkswapapi.so /app/lib32/libnvidia-tls.so.1 build-options: arch: x86_64: *i386-build-options + env: + CFLAGS: "-I/app/include" sources: - type: dir path: ../.. - # Setup dynamic linker configuration - name: bundle-setup buildsystem: simple build-commands: @@ -287,18 +289,16 @@ modules: - type: file path: ./assets/ld.so.conf - # Cleanup unnecessary files to reduce final flatpak size - name: cleanup buildsystem: simple build-commands: - - find /app/lib32 -name '*.a' -type f -delete - - find /app/lib32 -name '*.la' -type f -delete - - find /app/bin -mindepth 1 ! -name "lindbergh" -exec rm -f {} \; - - rm -rf /app/lib/pkgconfig /app/lib32/pkgconfig /app/share/pkgconfig - - rm -rf /app/lib32/cmake /app/lib/debug /app/include /app/man /app/share /app/etc/bash_completion.d - - rm -f /app/lib32/libmenu.so* - - rm -f /app/lib32/libform.so* - - rm -f /app/lib32/libpanel.so* - - rm -f /app/lib32/libXmuu.so* - - rm -f /app/lib32/libbsd.so* - - rm -rf /app/lib/terminfo + - find /app/lib /app/lib32 -name '*.a' -type f -delete + - find /app/lib /app/lib32 -name '*.la' -type f -delete + - find /app/bin -mindepth 1 ! -name "lindbergh*" -exec rm -f {} \; + - rm -d /app/lib/terminfo + - rm -rf /app/lib/pkgconfig /app/lib32/pkgconfig /app/share/pkgconfig /app/lib32/cmake /app/lib/debug /app/include /app/man /app/share + - rm /app/lib32/libmenu.* + - rm /app/lib32/libform.* + - rm /app/lib32/libpanel.* + - rm /app/lib32/libXmuu.* + - rm /app/lib32/libbsd.so diff --git a/src/lindbergh/baseboard.c b/src/lindbergh/baseBoard.c similarity index 93% rename from src/lindbergh/baseboard.c rename to src/lindbergh/baseBoard.c index 7e75fae..8c58833 100644 --- a/src/lindbergh/baseboard.c +++ b/src/lindbergh/baseBoard.c @@ -1,12 +1,6 @@ -#include /* 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; -}