Merge branch 'master' of https://github.com/nemith/tmk_keyboard into nemith-master
authortmk <hasu@tmk-kbd.com>
Sat, 24 Sep 2016 02:00:31 +0000 (11:00 +0900)
committertmk <hasu@tmk-kbd.com>
Sat, 24 Sep 2016 02:00:31 +0000 (11:00 +0900)
194 files changed:
.gitignore
README.md
converter/adb_usb/Makefile
converter/adb_usb/Makefile.rev1
converter/adb_usb/Makefile.teensy
converter/adb_usb/Makefile.unimap.rev1 [new file with mode: 0644]
converter/adb_usb/Makefile.unimap.rev2 [new file with mode: 0644]
converter/adb_usb/README.md
converter/adb_usb/binary/adb_usb_rev1_unimap.hex [new file with mode: 0644]
converter/adb_usb/binary/adb_usb_rev2_unimap.hex [new file with mode: 0644]
converter/adb_usb/config.h
converter/adb_usb/keymap_ansi.c
converter/adb_usb/keymap_common.c [deleted file]
converter/adb_usb/keymap_common.h
converter/adb_usb/keymap_hasu.c
converter/adb_usb/keymap_iso.c
converter/adb_usb/keymap_plain.c
converter/adb_usb/unimap_common.h [new file with mode: 0644]
converter/adb_usb/unimap_plain.c [new file with mode: 0644]
converter/ibm4704_usb/Makefile
converter/ibm4704_usb/keymap_50key.c
converter/ibm4704_usb/keymap_alps102key.c
converter/ibm4704_usb/keymap_common.c [deleted file]
converter/ibm4704_usb/keymap_common.h
converter/ibm4704_usb/keymap_hasu.c
converter/ibm4704_usb/keymap_plain.c
converter/m0110_usb/Makefile
converter/m0110_usb/Makefile.rev1 [new file with mode: 0644]
converter/m0110_usb/Makefile.rev2 [new file with mode: 0644]
converter/m0110_usb/Makefile.teensy [deleted file]
converter/m0110_usb/Makefile.tmk_rev1 [deleted file]
converter/m0110_usb/Makefile.tmk_rev2 [deleted file]
converter/m0110_usb/Makefile.unimap.rev1 [new file with mode: 0644]
converter/m0110_usb/Makefile.unimap.rev2 [new file with mode: 0644]
converter/m0110_usb/README.md
converter/m0110_usb/binary/m0110_usb_rev1_unimap.hex [new file with mode: 0644]
converter/m0110_usb/binary/m0110_usb_rev2_unimap.hex [new file with mode: 0644]
converter/m0110_usb/keymap.c [moved from converter/m0110_usb/keymap_default.c with 98% similarity]
converter/m0110_usb/keymap_common.c [deleted file]
converter/m0110_usb/keymap_common.h
converter/m0110_usb/keymap_hasu.c [deleted file]
converter/m0110_usb/keymap_intl.c
converter/m0110_usb/keymap_spacefn.c
converter/m0110_usb/unimap.c [new file with mode: 0644]
converter/m0110_usb/unimap_trans.h [new file with mode: 0644]
converter/news_usb/keymap.c
converter/next_usb/Makefile
converter/next_usb/Makefile.unimap [new file with mode: 0644]
converter/next_usb/binary/next_usb_unimap.hex [new file with mode: 0644]
converter/next_usb/keymap.c
converter/next_usb/unimap.c [new file with mode: 0644]
converter/next_usb/unimap_trans.h [new file with mode: 0644]
converter/pc98_usb/keymap.c
converter/ps2_usb/Makefile
converter/ps2_usb/Makefile.mbed
converter/ps2_usb/Makefile.pjrc [deleted file]
converter/ps2_usb/Makefile.rev1 [new file with mode: 0644]
converter/ps2_usb/Makefile.rev2 [new file with mode: 0644]
converter/ps2_usb/Makefile.tmk_rev1 [deleted file]
converter/ps2_usb/Makefile.tmk_rev2 [deleted file]
converter/ps2_usb/Makefile.unimap.rev1 [new file with mode: 0644]
converter/ps2_usb/Makefile.unimap.rev2 [new file with mode: 0644]
converter/ps2_usb/Makefile.vusb
converter/ps2_usb/README.md
converter/ps2_usb/binary/ps2_usb_rev1_unimap.hex [new file with mode: 0644]
converter/ps2_usb/binary/ps2_usb_rev2_unimap.hex [new file with mode: 0644]
converter/ps2_usb/config_rev1.h [moved from converter/ps2_usb/config_tmk_rev1.h with 100% similarity]
converter/ps2_usb/config_rev2.h [moved from converter/ps2_usb/config_tmk_rev2.h with 100% similarity]
converter/ps2_usb/keymap_common.c [deleted file]
converter/ps2_usb/keymap_common.h
converter/ps2_usb/keymap_jis.c
converter/ps2_usb/keymap_plain.c
converter/ps2_usb/keymap_spacefn.c
converter/ps2_usb/unimap_plain.c [new file with mode: 0644]
converter/ps2_usb/unimap_trans.h [new file with mode: 0644]
converter/sun_usb/command_extra.c
converter/sun_usb/keymap.c
converter/sun_usb/keymap_sun3.c
converter/terminal_usb/keymap.c
converter/usb_usb/Makefile
converter/usb_usb/Makefile.unimap [new file with mode: 0644]
converter/usb_usb/README
converter/usb_usb/binary/usb_usb_unimap.hex [new file with mode: 0644]
converter/usb_usb/keymap.c
converter/usb_usb/keymap_common.c [deleted file]
converter/usb_usb/keymap_common.h
converter/usb_usb/keymap_editor.c [deleted file]
converter/usb_usb/keymap_hasu.c [deleted file]
converter/usb_usb/keymap_iso.c [deleted file]
converter/usb_usb/keymap_jis.c [deleted file]
converter/usb_usb/keymap_spacefn.c [deleted file]
converter/usb_usb/unimap.c [new file with mode: 0644]
converter/usb_usb/unimap_trans.h [new file with mode: 0644]
converter/x68k_usb/keymap.c
converter/xt_usb/Makefile
converter/xt_usb/keymap_common.c [deleted file]
converter/xt_usb/keymap_common.h
converter/xt_usb/keymap_jis.c
converter/xt_usb/keymap_plain.c
converter/xt_usb/keymap_spacefn.c
keyboard/alps64/Makefile
keyboard/alps64/actionmap_hasu.c
keyboard/alps64/actionmap_plain.c
keyboard/alps64/keymap_common.c [deleted file]
keyboard/alps64/keymap_common.h
keyboard/alps64/keymap_editor.c
keyboard/alps64/keymap_hasu.c
keyboard/alps64/keymap_plain.c
keyboard/gh60/Makefile
keyboard/gh60/keymap_common.c [deleted file]
keyboard/gh60/keymap_common.h
keyboard/gh60/keymap_hasu.c
keyboard/gh60/keymap_hhkb.c
keyboard/gh60/keymap_plain.c
keyboard/gh60/keymap_poker.c
keyboard/gh60/keymap_poker_bit.c
keyboard/gh60/keymap_poker_set.c
keyboard/gh60/keymap_spacefn.c
keyboard/hhkb/Makefile
keyboard/hhkb/Makefile.editor [moved from converter/usb_usb/Makefile.keymap_editor with 85% similarity]
keyboard/hhkb/Makefile.editor.rn42 [moved from keyboard/hhkb/Makefile.rn42.keymap_editor with 83% similarity]
keyboard/hhkb/Makefile.jp
keyboard/hhkb/Makefile.keymap_editor [deleted file]
keyboard/hhkb/Makefile.rn42
keyboard/hhkb/Makefile.rn42.jp
keyboard/hhkb/Makefile.unimap [new file with mode: 0644]
keyboard/hhkb/Makefile.unimap.jp [new file with mode: 0644]
keyboard/hhkb/Makefile.unimap.rn42 [new file with mode: 0644]
keyboard/hhkb/Makefile.unimap.rn42.jp [new file with mode: 0644]
keyboard/hhkb/binary/hhkb_jp_rn42_unimap.hex [new file with mode: 0644]
keyboard/hhkb/binary/hhkb_jp_unimap.hex [new file with mode: 0644]
keyboard/hhkb/binary/hhkb_rn42_unimap.hex [new file with mode: 0644]
keyboard/hhkb/binary/hhkb_unimap.hex [new file with mode: 0644]
keyboard/hhkb/keymap_common.c [deleted file]
keyboard/hhkb/keymap_common.h
keyboard/hhkb/keymap_hasu.c
keyboard/hhkb/keymap_hhkb.c
keyboard/hhkb/keymap_jp.c
keyboard/hhkb/keymap_spacefn.c
keyboard/hhkb/not_supported/Makefile.pjrc [moved from keyboard/hhkb/Makefile.pjrc with 97% similarity]
keyboard/hhkb/unimap_common.h [new file with mode: 0644]
keyboard/hhkb/unimap_hhkb.c [new file with mode: 0644]
keyboard/hhkb/unimap_jp.c [new file with mode: 0644]
keyboard/infinity/Makefile
keyboard/infinity/keymap.c
keyboard/infinity/keymap_common.c [deleted file]
keyboard/infinity/keymap_common.h
keyboard/infinity_chibios/Makefile
keyboard/infinity_chibios/keymap_common.c [deleted file]
keyboard/infinity_chibios/keymap_common.h
keyboard/infinity_chibios/keymap_hasu.c
keyboard/infinity_chibios/keymap_plain.c
keyboard/onekey/keymap.c
keyboard/stm32_f072_onekey/keymap_plain.c
keyboard/stm32_f103_onekey/keymap_plain.c
keyboard/teensy_lc_onekey/keymap_plain.c
orphan/ghost_squid/keymap_ansi.h
orphan/hid_liber/keymap_alaricljs.h
orphan/hid_liber/keymap_ansi.h
orphan/hid_liber/keymap_custom.h
orphan/hid_liber/keymap_iso.h
orphan/kitten_paw/keymap_ansi.h
orphan/kmac/keymap_winkey.h
orphan/kmac/keymap_winkeyless.h
orphan/lightpad/keymap_lightpad.h
orphan/lightsaber/keymap_winkey.h
orphan/nerd/keymap_60_ansi150.c
orphan/nerd/keymap_80_ansi150.c
orphan/nerd/keymap_common.h
orphan/phantom/keymap_7bit.h
orphan/phantom/keymap_ansi.h
orphan/phantom/keymap_ansi_150.h
orphan/phantom/keymap_iso.h
orphan/phantom/keymap_iso_150.h
orphan/serialmouse_usb/keymap_common.h
orphan/terminal_bluefruit/keymap.c
tmk_core/README.md
tmk_core/common.mk
tmk_core/common/action_code.h
tmk_core/common/action_layer.c
tmk_core/common/actionmap.c
tmk_core/common/actionmap.h
tmk_core/common/keymap.c
tmk_core/common/unimap.c [new file with mode: 0644]
tmk_core/common/unimap.h [new file with mode: 0644]
tmk_core/doc/keycode.txt
tmk_core/doc/keymap.md
tmk_core/doc/unimap.txt [new file with mode: 0644]
tmk_core/protocol.mk
tmk_core/protocol/chibios/README.md
tmk_core/protocol/lufa/descriptor.c
tmk_core/protocol/lufa/descriptor.h
tmk_core/rules.mk
tmk_core/tool/chibios/chibios.mk

index 0d87fe425480b6bc47aae7117c8a0a5992390e8e..d2d07241367680040b9b76d33542c330a2c3ba63 100644 (file)
@@ -12,3 +12,5 @@ tags
 build/
 *.bak
 .DS_Store
+!converter/*/binary/*.hex
+!keyboard/*/binary/*.hex
index 49992fcccccfaffc341f520f7ae526846f97f356..68e92b468eb0294aad5080096404489930e967ef 100644 (file)
--- a/README.md
+++ b/README.md
@@ -7,6 +7,10 @@ The latest source code is available here: <http://github.com/tmk/tmk_keyboard>
 
 Updates
 -------
+#### 2016/06/26
+Keymap framework was updated. `fn_actions[]` should be defined as `action_t` instead of `uint16_t`. And default code for keymap handling is now included in core you just need define `uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS]` and `action_t fn_actions[]`.
+
+
 #### 2016/06/22
 Some projects were moved from `converter` and `keyboard` to `orphan` directory. Those might be removed in some future but you will be able to access them with `orphans` tag. See <https://github.com/tmk/tmk_keyboard/issues/173>
 
index 76e10950c0c70826c239a013cc1f791672823247..14fc181ba96fa194a50cf4fbaa62d595e4de94c9 100644 (file)
@@ -1,64 +1,17 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make all = Make software.
-#
-# make clean = Clean out built project files.
-#
-# make coff = Convert ELF to AVR COFF.
-#
-# make extcoff = Convert ELF to AVR Extended COFF.
-#
-# make program = Download the hex file to the device.
-#                Please customize your programmer settings(PROGRAM_CMD)
-#
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-#               (must have teensy_loader_cli installed).
-#
-# make dfu = Download the hex file to the device, using dfu-programmer (must
-#            have dfu-programmer installed).
-#
-# make flip = Download the hex file to the device, using Atmel FLIP (must
-#             have Atmel FLIP installed).
-#
-# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
-#               (must have dfu-programmer installed).
-#
-# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
-#                (must have Atmel FLIP installed).
-#
-# make debug = Start either simulavr or avarice as specified for debugging, 
-#              with avr-gdb or avr-insight as the front end for debugging.
-#
-# make filename.s = Just compile filename.c into the assembler code only.
-#
-# make filename.i = Create a preprocessed source file for use in submitting
-#                   bug reports to the GCC project.
-#
-# To rebuild project do "make clean" then "make all".
-#----------------------------------------------------------------------------
-
 # Target file name (without extension).
-TARGET = adb_usb_lufa
+TARGET ?= adb_usb
 
 # Directory common source filess exist
-TMK_DIR = ../../tmk_core
+TMK_DIR ?= ../../tmk_core
 
 # Directory keyboard dependent files exist
-TARGET_DIR = .
+TARGET_DIR ?= .
 
 # project specific files
-SRC =  keymap_common.c \
-       matrix.c \
+SRC ?= matrix.c \
        led.c \
        adb.c
 
-ifdef KEYMAP
-    SRC := keymap_$(KEYMAP).c $(SRC)
-else
-    SRC := keymap_plain.c $(SRC)
-endif
-
 CONFIG_H = config.h
 
 
@@ -66,7 +19,7 @@ CONFIG_H = config.h
 # atmega32u4   Teensy2.0
 # atemga32u4   TMK Converter rev.1
 # atemga32u2   TMK Converter rev.2
-MCU = atmega32u2
+MCU ?= atmega32u2
 
 # Processor frequency.
 #     This will define a symbol, F_CPU, in all source code files equal to the
@@ -79,14 +32,14 @@ MCU = atmega32u2
 #     does not *change* the processor frequency - it should merely be updated to
 #     reflect the processor speed set externally so that the code can use accurate
 #     software delays.
-F_CPU = 16000000
+F_CPU ?= 16000000
 
 
 #
 # LUFA specific
 #
 # Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
+ARCH ?= AVR8
 
 # Input clock frequency.
 #     This will define a symbol, F_USB, in all source code files equal to the
@@ -99,7 +52,7 @@ ARCH = AVR8
 #
 #     If no clock division is performed on the input clock inside the AVR (via the
 #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
+F_USB ?= $(F_CPU)
 
 # Interrupt driven control endpoint task(+60)
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
@@ -125,6 +78,9 @@ COMMAND_ENABLE = yes    # Commands for debug and configuration
 #SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
 #NKRO_ENABLE = yes     # USB Nkey Rollover
 ADB_MOUSE_ENABLE = yes
+#UNIMAP_ENABLE = yes
+#ACTIONMAP_ENABLE = yes         # Use 16bit actionmap instead of 8bit keymap
+#KEYMAP_SECTION_ENABLE = yes   # fixed address keymap for keymap editor
 
 # ADB Mice need acceleration for todays much bigger screens. 
 OPT_DEFS += -DADB_MOUSE_MAXACC=8
@@ -133,6 +89,26 @@ OPT_DEFS += -DADB_MOUSE_MAXACC=8
 # Optimize size but this may cause error "relocation truncated to fit"
 #EXTRALDFLAGS = -Wl,--relax
 
+
+#
+# Keymap file
+#
+ifdef UNIMAP_ENABLE
+    KEYMAP_FILE = unimap
+else
+    ifdef ACTIONMAP_ENABLE
+       KEYMAP_FILE = actionmap
+    else
+       KEYMAP_FILE = keymap
+    endif
+endif
+ifdef KEYMAP
+    SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
+else
+    SRC := $(KEYMAP_FILE)_plain.c $(SRC)
+endif
+
+
 # Search Path
 VPATH += $(TARGET_DIR)
 VPATH += $(TMK_DIR)
index 1cd539b6e6d822363b20dab4051ca7fee38b5481..caddb6079c7becc6e0de0491389c0e2cf8e91c64 100644 (file)
@@ -1,143 +1,3 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make all = Make software.
-#
-# make clean = Clean out built project files.
-#
-# make coff = Convert ELF to AVR COFF.
-#
-# make extcoff = Convert ELF to AVR Extended COFF.
-#
-# make program = Download the hex file to the device.
-#                Please customize your programmer settings(PROGRAM_CMD)
-#
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-#               (must have teensy_loader_cli installed).
-#
-# make dfu = Download the hex file to the device, using dfu-programmer (must
-#            have dfu-programmer installed).
-#
-# make flip = Download the hex file to the device, using Atmel FLIP (must
-#             have Atmel FLIP installed).
-#
-# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
-#               (must have dfu-programmer installed).
-#
-# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
-#                (must have Atmel FLIP installed).
-#
-# make debug = Start either simulavr or avarice as specified for debugging, 
-#              with avr-gdb or avr-insight as the front end for debugging.
-#
-# make filename.s = Just compile filename.c into the assembler code only.
-#
-# make filename.i = Create a preprocessed source file for use in submitting
-#                   bug reports to the GCC project.
-#
-# To rebuild project do "make clean" then "make all".
-#----------------------------------------------------------------------------
-
-# Target file name (without extension).
-TARGET = adb_usb_lufa
-
-# Directory common source filess exist
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# project specific files
-SRC =  keymap_common.c \
-       matrix.c \
-       led.c \
-       adb.c
-
-ifdef KEYMAP
-    SRC := keymap_$(KEYMAP).c $(SRC)
-else
-    SRC := keymap_ansi.c $(SRC)
-endif
-
-CONFIG_H = config.h
-
-
-# MCU name
-# atmega32u4   Teensy2.0
-# atemga32u4   TMK Converter rev.1
-# atemga32u2   TMK Converter rev.2
+TARGET = adb_usb_rev1
 MCU = atmega32u4
-
-# Processor frequency.
-#     This will define a symbol, F_CPU, in all source code files equal to the
-#     processor frequency in Hz. You can then use this symbol in your source code to
-#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-#     automatically to create a 32-bit value in your source code.
-#
-#     This will be an integer division of F_USB below, as it is sourced by
-#     F_USB after it has run through any CPU prescalers. Note that this value
-#     does not *change* the processor frequency - it should merely be updated to
-#     reflect the processor speed set externally so that the code can use accurate
-#     software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096      for TMK Converter rev.1/rev.2
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-#   comment out to disable the options.
-#
-#BOOTMAGIC_ENABLE = yes        # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes     # USB Nkey Rollover
-ADB_MOUSE_ENABLE = yes
-
-# ADB Mice need acceleration for todays much bigger screens. 
-OPT_DEFS += -DADB_MOUSE_MAXACC=8
-
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TMK_DIR)/protocol/lufa.mk
-include $(TMK_DIR)/protocol.mk
-include $(TMK_DIR)/common.mk
-include $(TMK_DIR)/rules.mk
+include Makefile
index d97f0eb33d6f9e2c8f18d1d3fa92cc680bcbdb18..604e3642c9d359451139f6d4ee99b183d66bf0a9 100644 (file)
@@ -1,143 +1,3 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make all = Make software.
-#
-# make clean = Clean out built project files.
-#
-# make coff = Convert ELF to AVR COFF.
-#
-# make extcoff = Convert ELF to AVR Extended COFF.
-#
-# make program = Download the hex file to the device.
-#                Please customize your programmer settings(PROGRAM_CMD)
-#
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-#               (must have teensy_loader_cli installed).
-#
-# make dfu = Download the hex file to the device, using dfu-programmer (must
-#            have dfu-programmer installed).
-#
-# make flip = Download the hex file to the device, using Atmel FLIP (must
-#             have Atmel FLIP installed).
-#
-# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
-#               (must have dfu-programmer installed).
-#
-# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
-#                (must have Atmel FLIP installed).
-#
-# make debug = Start either simulavr or avarice as specified for debugging, 
-#              with avr-gdb or avr-insight as the front end for debugging.
-#
-# make filename.s = Just compile filename.c into the assembler code only.
-#
-# make filename.i = Create a preprocessed source file for use in submitting
-#                   bug reports to the GCC project.
-#
-# To rebuild project do "make clean" then "make all".
-#----------------------------------------------------------------------------
-
-# Target file name (without extension).
-TARGET = adb_usb_lufa
-
-# Directory common source filess exist
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# project specific files
-SRC =  keymap_common.c \
-       matrix.c \
-       led.c \
-       adb.c
-
-ifdef KEYMAP
-    SRC := keymap_$(KEYMAP).c $(SRC)
-else
-    SRC := keymap_ansi.c $(SRC)
-endif
-
-CONFIG_H = config.h
-
-
-# MCU name
-# atmega32u4   Teensy2.0
-# atemga32u4   TMK Converter rev.1
-# atemga32u2   TMK Converter rev.2
+TARGET = adb_usb_teensy
 MCU = atmega32u4
-
-# Processor frequency.
-#     This will define a symbol, F_CPU, in all source code files equal to the
-#     processor frequency in Hz. You can then use this symbol in your source code to
-#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-#     automatically to create a 32-bit value in your source code.
-#
-#     This will be an integer division of F_USB below, as it is sourced by
-#     F_USB after it has run through any CPU prescalers. Note that this value
-#     does not *change* the processor frequency - it should merely be updated to
-#     reflect the processor speed set externally so that the code can use accurate
-#     software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096      for TMK Converter rev.1/rev.2
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-#   comment out to disable the options.
-#
-#BOOTMAGIC_ENABLE = yes        # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes     # USB Nkey Rollover
-ADB_MOUSE_ENABLE = yes
-
-# ADB Mice need acceleration for todays much bigger screens. 
-OPT_DEFS += -DADB_MOUSE_MAXACC=8
-
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TMK_DIR)/protocol/lufa.mk
-include $(TMK_DIR)/protocol.mk
-include $(TMK_DIR)/common.mk
-include $(TMK_DIR)/rules.mk
+include Makefile
diff --git a/converter/adb_usb/Makefile.unimap.rev1 b/converter/adb_usb/Makefile.unimap.rev1
new file mode 100644 (file)
index 0000000..41ec16e
--- /dev/null
@@ -0,0 +1,5 @@
+TARGET = adb_usb_rev1_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+MCU = atmega32u4
+include Makefile
diff --git a/converter/adb_usb/Makefile.unimap.rev2 b/converter/adb_usb/Makefile.unimap.rev2
new file mode 100644 (file)
index 0000000..3e46eee
--- /dev/null
@@ -0,0 +1,5 @@
+TARGET = adb_usb_rev2_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+MCU = atmega32u2
+include Makefile
index 034540c9d78e2892bfddbd43b801b05ea42e8859..2240d023b8746c73077a0f0db09bae5261c8eec7 100644 (file)
@@ -1,10 +1,10 @@
 ADB to USB keyboard converter
 =============================
-This firmware converts Apple ADB keyboard protocol to USB. You can use TMK Converter, PJRC Teensy2.0 and other USB AVR MCU(ATMega32U4, AT90USB64/128 or etc) for this. But binary size is probably more than 10KB and it won't fit into 8K flash.
+This firmware converts Apple ADB keyboard protocol to USB, you can use it to plug old ADB keyboard into modern computer. It works on TMK ADB-USB Converter, PJRC Teensy2.0 and other USB AVR MCU(ATMega32U4, AT90USB64/128 or etc) and needs more than 10KB flash at least.
 
-Discuss: http://geekhack.org/showwiki.php?title=Island:14290
+Discuss here: http://geekhack.org/showwiki.php?title=Island:14290
 
-TMK Converter: https://geekhack.org/index.php?topic=72052.0
+You can buy a TMK converter here: https://geekhack.org/index.php?topic=72052.0
 
 
 
diff --git a/converter/adb_usb/binary/adb_usb_rev1_unimap.hex b/converter/adb_usb/binary/adb_usb_rev1_unimap.hex
new file mode 100644 (file)
index 0000000..7b4626b
--- /dev/null
@@ -0,0 +1,1286 @@
+:100000000C945B050C94A2050C94A2050C94A2051B\r
+:100010000C94A2050C94A2050C94A2050C94A205C4\r
+:100020000C94A2050C94A2050C94AB0F0C947D10BB\r
+:100030000C942B1E0C94A2050C94A2050C94A20502\r
+:100040000C94A2050C94A2050C94A2050C94A20594\r
+:100050000C94A2050C949F1E0C94A2050C94A2056E\r
+:100060000C94A2050C94A2050C94A2050C94A20574\r
+:100070000C94A2050C94A2050C94A2050C94A20564\r
+:100080000C94A2050C94A2050C94A2050C94A20554\r
+:100090000C94A2050C94A2050C94A2050C94A20544\r
+:1000A0000C94A2050C94A2050C94A205EA100C1164\r
+:1000B000FA110C11FA1151117411FA11C911DC1154\r
+:1000C0001A151A1547154715A215DE15D617D61796\r
+:1000D000F615D617F116F116AC17D617D617C217A4\r
+:1000E000041607090B0A1D1B06196405141A0815C6\r
+:1000F0001C171E1F202123222E26242D25273012D7\r
+:10010000182F0C13280F0D340E33313638111037D9\r
+:100110002B2C352A5829787B79397A504F515272D5\r
+:100120006C63685680668053020103555880576D92\r
+:100130006E5462595A5B5C5D5E5F6F606174756698\r
+:100140003E3F403C4142774476466B47804365459D\r
+:100150008048494A4B4C3D4D3B4E3A7D7E7C7F73F7\r
+:100160000A0025303862003A2000253032580072EB\r
+:100170002F632030313233343536370A0061646200\r
+:100180005F686F73745F6B62645F726563763A2059\r
+:100190004552524F52282564290A000A002530345E\r
+:1001A00058006164625F686F73745F6B62645F7252\r
+:1001B0006563763A20004552524F523A206D65648D\r
+:1001C0006961206B6579300A004552524F523A20DE\r
+:1001D0006D65646961206B6579310A005D0A0025EF\r
+:1001E000640020002564007C002530325800200087\r
+:1001F00025303258006164625F6D6F7573652072DF\r
+:1002000061773A205B000A00253031366200616474\r
+:10021000625F686F73745F6D6F7573655F7265633E\r
+:10022000763A2000646562756720656E61626C6570\r
+:10023000642E0A005363616E3A20616464723A2549\r
+:10024000642C20726567333A253034580A004166C1\r
+:1002500074657220696E69743A0A00466F756E643F\r
+:100260003A206D65646961206B6579730A00536398\r
+:10027000616E3A20616464723A25642C207265676D\r
+:10028000333A253034580A004265666F726520693A\r
+:100290006E69743A0A005B735D004B6579626F6149\r
+:1002A00072642073746172742E0A00555342206385\r
+:1002B0006F6E666967757265642E0A005B575D0034\r
+:1002C0005B535D005B525D005B445D005B435D0022\r
+:1002D0002E0341004400420020006B0065007900BD\r
+:1002E00062006F00610072006400200063006F0014\r
+:1002F0006E007600650072007400650072000000F8\r
+:100300000E0374002E006D002E006B002E00000006\r
+:100310000403090409027400040100A03209040066\r
+:100320000001030101000921110100012240000721\r
+:1003300005810308000A0904010001030102000904\r
+:100340002111010001224D000705820308000A095E\r
+:1003500004020001030000000921110100012236FE\r
+:10036000000705830308000A0904030002030000D4\r
+:100370000009211101000122220007058403200049\r
+:10038000010705040320000112011001000000080C\r
+:10039000EDFEDB0A0101010200010631FF0974A133\r
+:1003A000010975150026FF00952075088102097660\r
+:1003B000150026FF00952075089102C005010980EF\r
+:1003C000A101850216810026B7001A81002AB70014\r
+:1003D000751095018100C0050C0901A10185031666\r
+:1003E0000100269C021A01002A9C027510950181C9\r
+:1003F00000C005010902A1010901A10005091901B7\r
+:1004000029051500250195057501810295017503E2\r
+:1004100081010501093009311581257F9502750893\r
+:10042000810609381581257F950175088106050C1F\r
+:100430000A38021581257F950175088106C0C0051F\r
+:10044000010906A101050719E029E7150025019515\r
+:1004500008750181029501750881010508190129B6\r
+:10046000059505750191029501750391010507191F\r
+:100470000029FF150026FF00950675088100C00AB7\r
+:10048000002530325820006B6579626F6172645FBD\r
+:100490007265706F72743A20004C45443A202530E2\r
+:1004A00032580A00290A002575002F002575005DC5\r
+:1004B0002800256400200025640020002564002019\r
+:1004C000002564007C0025303258006D6F7573651F\r
+:1004D0006B6579205B62746E7C7820792076206869\r
+:1004E0005D287265702F61636C293A205B006D6B2B\r
+:1004F0005F776865656C5F74696D655F746F5F6D6C\r
+:100500006178203D2025640A006D6B5F7768656522\r
+:100510006C5F6D61785F7370656564203D20256454\r
+:100520000A006D6B5F74696D655F746F5F6D6178F4\r
+:10053000203D2025640A006D6B5F6D61785F7370EC\r
+:10054000656564203D2025640A006D6B5F696E74EB\r
+:10055000657276616C203D2025640A006D6B5F64D6\r
+:10056000656C6179203D2025640A006D6B5F7768BA\r
+:1005700065656C5F74696D655F746F5F6D61782030\r
+:100580003D2025640A006D6B5F776865656C5F6D63\r
+:1005900061785F7370656564203D2025640A006D95\r
+:1005A0006B5F74696D655F746F5F6D6178203D206E\r
+:1005B00025640A006D6B5F6D61785F7370656564BB\r
+:1005C000203D2025640A006D6B5F696E746572764C\r
+:1005D000616C203D2025640A006D6B5F64656C6171\r
+:1005E00079203D2025640A000A00257500363A204E\r
+:1005F000776865656C5F74696D655F746F5F6D6169\r
+:10060000783A20000A00257500353A20776865653C\r
+:100610006C5F6D61785F73706565643A20000A00F5\r
+:10062000257500343A2074696D655F746F5F6D6184\r
+:10063000783A20000A00257500333A206D61785F12\r
+:1006400073706565643A20000A00257500323A200F\r
+:10065000696E74657276616C286D73293A20000AA0\r
+:1006600000257500313A2064656C6179282A3130A3\r
+:100670006D73293A20000A092D2056616C75657347\r
+:10068000202D0A004D3E004D25643E20003F0073A2\r
+:1006900065742064656661756C740A00433E2000D1\r
+:1006A00077686572652064656C74613A2063757261\r
+:1006B000736F723D25642C20776865656C3D2564F9\r
+:1006C0000A53656520687474703A2F2F656E2E7713\r
+:1006D000696B6970656469612E6F72672F77696BEA\r
+:1006E000692F4D6F7573655F6B6579730A000A0931\r
+:1006F0002D204D6F7573656B6579202D0A45534329\r
+:100700002F713A09717569740A313A0964656C612F\r
+:1007100079282A31306D73290A323A09696E746575\r
+:100720007276616C286D73290A333A096D61785FBE\r
+:1007300073706565640A343A0974696D655F746F36\r
+:100740005F6D61780A353A09776865656C5F6D6140\r
+:10075000785F73706565640A363A09776865656C19\r
+:100760005F74696D655F746F5F6D61780A0A703AD6\r
+:10077000097072696E742076616C7565730A643AEB\r
+:10078000097365742064656661756C74730A7570AD\r
+:100790003A092B310A646F776E3A092D310A706776\r
+:1007A00075703A092B31300A7067646F776E3A09B9\r
+:1007B0002D31300A0A7370656564203D2064656CD4\r
+:1007C0007461202A206D61785F7370656564202AEA\r
+:1007D0002028726570656174202F2074696D655FD3\r
+:1007E000746F5F6D6178290A003F004D3E20004321\r
+:1007F0003E20004C25640A000A092D20436F6E73C9\r
+:100800006F6C65202D0A4553432F713A0971756944\r
+:10081000740A6D3A096D6F7573656B65790A000A24\r
+:10082000092D204D61676963202D0A643A096465CA\r
+:100830006275670A783A096465627567206D61744C\r
+:100840007269780A6B3A096465627567206B65792D\r
+:10085000626F6172640A6D3A096465627567206D42\r
+:100860006F7573650A763A0976657273696F6E0AF9\r
+:10087000733A097374617475730A633A09636F6E2E\r
+:10088000736F6C65206D6F64650A302D343A096CA6\r
+:1008900061796572302D34284631302D4634290A6D\r
+:1008A000506175733A09626F6F746C6F6164657241\r
+:1008B0000A003F0074696D65725F7265616433326E\r
+:1008C00028293A202530346C580A006B6579626F0C\r
+:1008D0006172645F69646C653A2025580A006B6533\r
+:1008E00079626F6172645F70726F746F636F6C3A7C\r
+:1008F0002025580A00686F73745F6B6579626F61B9\r
+:1009000072645F6C65647328293A2025580A000ACE\r
+:10091000092D20537461747573202D0A00474343D9\r
+:100920003A20342E392E32204156522D4C49424322\r
+:100930003A20312E382E3073766E204156525F4168\r
+:100940005243483A20617672350A004F5054494F5D\r
+:100950004E533A204C554641204D4F5553454B453B\r
+:10096000592045585452414B455920434F4E534FFF\r
+:100970004C4520434F4D4D414E44204B45594D4130\r
+:10098000505F53454354494F4E20343039360A00A6\r
+:100990004255494C443A20383535333461372D645B\r
+:1009A00069727479202831323A32343A333920531B\r
+:1009B00065702031322032303136290A00564944E0\r
+:1009C0003A2030784645454428742E6D2E6B2E29EA\r
+:1009D000205049443A203078304144422841444232\r
+:1009E000206B6579626F61726420636F6E766572E9\r
+:1009F00074657229205645523A20307830313031B2\r
+:100A00000A00444553433A20636F6E766572742042\r
+:100A1000414442206B6579626F61726420746F207B\r
+:100A20005553420A000A092D2056657273696F6E8C\r
+:100A3000202D0A000A6D6F7573653A206F66660A8D\r
+:100A4000000A6D6F7573653A206F6E0A000A6B6558\r
+:100A500079626F6172643A206F66660A000A6B659C\r
+:100A600079626F6172643A206F6E0A000A6D617478\r
+:100A70007269783A206F66660A000A6D617472695D\r
+:100A8000783A206F6E0A000A64656275673A206FD3\r
+:100A90006E0A000A64656275673A206F66660A002E\r
+:100AA0000A0A626F6F746C6F616465722E2E2E205D\r
+:100AB00000433E20000011241FBECFEFDAE0DEBF6E\r
+:100AC000CDBF04B603FE27C08091DC019091DD010B\r
+:100AD000A091DE01B091DF018730904BA740B04B71\r
+:100AE000D1F41092DC011092DD011092DE0110921F\r
+:100AF000DF0114BE84B7877F84BF0FB6F894A89532\r
+:100B000080916000886180936000109260000FBE49\r
+:100B1000E0E0F8E3099511E0A0E0B1E0E0E1FEE4F7\r
+:100B200002C005900D92A433B107D9F721E0A4E3E8\r
+:100B3000B1E001C01D92AC3DB207E1F70E94DA0CB2\r
+:100B40000C9406270C940000FF93EF93E09134017E\r
+:100B5000F0913501309709F00995EF91FF910895D3\r
+:100B6000FC018591803011F0EFDFFBCF0895FF2766\r
+:100B7000E0E230E247FF0CC0419597FF09C0EDE28B\r
+:100B80006095709580959095611D711D811D911DD9\r
+:100B900027FF02C0219530E350E2AA27660F771F96\r
+:100BA000881F991FAA1FA41710F0A41B63955A95BC\r
+:100BB000A9F7AA3008F0A95FA05DAF93F39561157E\r
+:100BC00071058105910541F7ED3211F4EF93F3952D\r
+:100BD000F21718F43F93F395FBCF8F91B5DFFA9599\r
+:100BE000E1F70895E991F9918591803021F08532FE\r
+:100BF00019F0AADFF9CF089520E0E8945591553215\r
+:100C0000C1F3503311F4689455915A3348F450535A\r
+:100C100090F3220F022E220F220F200D250FF4CF6A\r
+:100C20000EF4219589919991533619F3533729F18F\r
+:100C3000533559F1BC0188279927E8945C3621F493\r
+:100C40008991999168945591543639F446EF7EF024\r
+:100C500077FF0DC08FEF9FEF0AC055374AE039F09C\r
+:100C6000583540E121F0523642E009F00895FF93F3\r
+:100C7000EF937DDFEF91FF91B7CFFF93EF93FC01EF\r
+:100C800081918030B9F360DFFBCFFF93EF9368DF92\r
+:100C9000F1CFDF93CF93CDB7DEB72596A3DFCF910A\r
+:100CA000DF910895282F2770E82FE695E695E695C1\r
+:100CB000EF70F0E0E95CFE4F87FF0AC081E090E052\r
+:100CC00001C0880F2A95EAF780959081892308C092\r
+:100CD00081E090E001C0880F2A95EAF79081892B86\r
+:100CE000808381E080934C0108950F931F93CF93ED\r
+:100CF000DF93569A5E9A0E94BE092FEF87EA91E62B\r
+:100D0000215080409040E1F700C0000088E892E068\r
+:100D10009F938F930E9449060F900F90C1E0D0E0FF\r
+:100D20000EE612E063E08C2F0E94C209009771F07A\r
+:100D30009F938F93DF93CF931F930F930E94490646\r
+:100D40000F900F900F900F900F900F909FEF29EF43\r
+:100D500080E0915020408040E1F700C000002196E3\r
+:100D6000C031D105F9F663E082E00E94C209813109\r
+:100D7000910511F170F487309105F1F020F404979A\r
+:100D80000297F0F419C089309105B1F00D97C1F4C4\r
+:100D900013C08D31910581F030F48431910561F0FB\r
+:100DA000499771F409C0843C910531F0873C910565\r
+:100DB00019F0813C910521F481E080934D0102C03E\r
+:100DC00010924D0163E087E00E94C20991E08230F9\r
+:100DD00009F090E090934E01992341F08BE592E069\r
+:100DE0009F938F930E9449060F900F9023E042E05B\r
+:100DF00063E082E00E94420A8EE492E09F938F9328\r
+:100E00000E9449060F900F90C1E0D0E004E312E089\r
+:100E100063E08C2F0E94C209009771F09F938F931B\r
+:100E2000DF93CF931F930F930E9449060F900F906B\r
+:100E30000F900F900F900F908FEF99EF20E081505F\r
+:100E400090402040E1F700C000002196C031D1055C\r
+:100E5000F9F6E7E3F1E080E18E0F11928E13FDCFFA\r
+:100E60008091BE0181608093BE0184E292E00E9485\r
+:100E7000B005569A5E98DF91CF911F910F9108951A\r
+:100E8000CF93DF938FE79BEB0197F1F700C0000052\r
+:100E90000E943E0AEC01009711F481E0C3C097FD67\r
+:100EA00005C080914701816080934701D7FF05C04D\r
+:100EB000809147018E7F809347012D2F33272F7319\r
+:100EC0003327BE016F737727C6FF02C060547109D4\r
+:100ED000D6FF02C02054310940913601042E000C87\r
+:100EE000550B649FC001659F900D749F900D112458\r
+:100EF00081386FEF960714F481E89FEF9195819503\r
+:100F0000910981386FEF960714F481E89FEF81957E\r
+:100F100080934801249FC001259F900D349F900D20\r
+:100F2000112481382FEF920714F481E89FEF9195F7\r
+:100F30008195910981386FEF960714F481E89FEF4E\r
+:100F40008195809349018091BE0183FF60C08EE04E\r
+:100F500092E00E94B005DF93CF9388E092E09F93E8\r
+:100F60008F930E94490686E092E00E94B00585EFCB\r
+:100F700091E00E94B00580913601282F082E000CC8\r
+:100F8000330B3F938F9380EF91E09F938F930E9459\r
+:100F900049068EEE91E00E94B005809147011F92B4\r
+:100FA0008F9389EE91E09F938F930E94490687EE7D\r
+:100FB00091E00E94B00580914801282F082E000C76\r
+:100FC000330B3F938F9384EE91E09F938F930E9416\r
+:100FD000490682EE91E00E94B00580914901282FD8\r
+:100FE000082E000C330B3F938F938FED91E09F936E\r
+:100FF0008F930E9449068CED91E00E94B0058DB759\r
+:101000009EB744960FB6F8949EBF0FBE8DBF87E47F\r
+:1010100091E00E946C128091360191E088300CF0D2\r
+:1010200090E0890F80933601DF91CF9108951F934F\r
+:10103000CF93DF9310924C01C0910001D091010138\r
+:101040008FEF9FEF9093010180930001CF3F8FEFCF\r
+:10105000D80709F06AC08FE79BEB0197F1F700C052\r
+:10106000000082E00E943B0AEC01892B09F05DC080\r
+:1010700080914E01882309F458C087E00E943B0A02\r
+:10108000009709F452C09C012F7733272230310595\r
+:10109000A1F048F42115310569F02130310599F4AA\r
+:1010A00080788A641AC02330310551F02F3731051A\r
+:1010B000A1F009C08078826410C0807889640DC076\r
+:1010C000807888640AC089EC91E09F938F930E9496\r
+:1010D00049060F900F9081E18FC0292F33272F777A\r
+:1010E00033272130310579F050F02230310579F085\r
+:1010F0002330310581F4EC01D078D86416C0EC01BE\r
+:10110000D078D26412C0EC01D078DA640EC0EC0161\r
+:10111000D078D9640AC086EB91E09F938F930E94A8\r
+:1011200049060F900F9080E167C08091BE0181FF5A\r
+:1011300018C0209709F45DC082EA91E00E94B005D2\r
+:10114000DF93CF938DE991E09F938F930E9449069F\r
+:101150008BE991E00E94B0050F900F900F900F90D7\r
+:1011600003C0209709F445C0CF379FE7D90711F492\r
+:101170008FE705C0CF3F8FEFD80721F48FEF0E9494\r
+:10118000520639C02D2F3327822F1C2F2F3F3105B8\r
+:1011900081F4DF93CF938DE791E09F938F930E942B\r
+:1011A00049060E9475060F900F900F900F908C2F9C\r
+:1011B00023C090914D01992381F0A9014F775527C4\r
+:1011C0004233510521F42078822F8A6006C04A30CC\r
+:1011D000510519F42078822F82630E9452061F3F26\r
+:1011E00051F0DC2FCC27CF6FD0930101C0930001C9\r
+:1011F00002C080E001C081E0DF91CF911F9108958E\r
+:10120000E82FF0E0E95CFE4F2081822F90E021E0A2\r
+:1012100030E002C0220F331F6A95E2F728233923FA\r
+:1012200081E0232B09F480E00895E82FF0E0E95CE9\r
+:10123000FE4F80810895CF92DF92EF92FF920F933D\r
+:101240001F93CF93DF938091BE0181FF35C08FE65E\r
+:1012500091E00E94B00587E3E82E81E0F82EC0E01F\r
+:10126000D0E09AE6C92E91E0D92E02E611E0DF9394\r
+:10127000CF93DF92CF920E94490687E691E00E94C9\r
+:10128000B005F70181917F010E94C01D1F928F93CD\r
+:101290001F930F930E94490680E691E00E94B005DB\r
+:1012A00021968DB79EB708960FB6F8949EBF0FBED5\r
+:1012B0008DBFC031D105D9F6DF91CF911F910F912C\r
+:1012C000FF90EF90DF90CF900895682F609582E0B7\r
+:1012D0000C947C0A509A83E091E00197F1F700C0EA\r
+:1012E000000050989AEB9A95F1F700C00895509A33\r
+:1012F0008AEB8A95F1F700C0509883E091E001975E\r
+:10130000F1F700C000000895EF92FF920F931F9332\r
+:10131000CF93DF93C0E0D0E090E8E92EF12C082FC6\r
+:1013200010E0C7010C2E02C0959587950A94E2F74C\r
+:1013300080239123892B19F00E94770902C00E9413\r
+:101340006A092196C830D10561F7DF91CF911F91CD\r
+:101350000F91FF90EF900895489B06C023E02A95D7\r
+:10136000F1F700000197C1F70895489906C023E0FE\r
+:101370002A95F1F700000197C1F708955898509801\r
+:1013800008950895CF92DF92EF92FF920F931F93EB\r
+:10139000CF93DF931F92CDB7DEB7182FF894509AF2\r
+:1013A00083EF9BE00197F1F700C0000069830E9482\r
+:1013B000770969816C6020E1129FC0011124862B9E\r
+:1013C0000E9484090E946A0984EF91E00E94B50995\r
+:1013D000892B21F4789482EE9FEF43C084EF91E053\r
+:1013E0000E94AC09009711F478943BC011E1C12C24\r
+:1013F000D12C02E882E890E00E94B5097C018823A4\r
+:1014000051F199270E94AC09882329F1CC0CDD1CED\r
+:10141000902F9E19E81A9E1518F46894C0F806C01B\r
+:10142000113121F478948CEE9FEF1BC0115011F70D\r
+:101430008FE591E00E94B509892B21F478948BEE19\r
+:101440009FEF0FC08BE590E00E94AC09892BB1F7AC\r
+:101450007894C60106C07894812F90E0919581958B\r
+:1014600091090F90DF91CF911F910F91FF90EF9015\r
+:10147000DF90CF90089560E00C94C20960E083E0B3\r
+:101480000C94C2091F93CF93DF9300D01F92CDB766\r
+:10149000DEB7182FF894509A83EF9BE00197F1F78D\r
+:1014A00000C000002B834A8369830E947709698109\r
+:1014B000686030E1139FC0011124862B0E948409CB\r
+:1014C0000E946A098FE193E00197F1F700C00000E4\r
+:1014D0000E9477094A81842F0E9484092B81822FE0\r
+:1014E0000E9484090E946A0978940F900F900F90CF\r
+:1014F000DF91CF911F910895262F277040E062E081\r
+:101500000C94420A80915A0108959FB7F894109262\r
+:1015100051019FBF9091D301943009F057C0909131\r
+:10152000E9009F703091EC00232F217030FD20E8FE\r
+:10153000922B24E02093E9002091EB0020FF43C090\r
+:101540002091EE0027FF3FC020914F01222321F080\r
+:101550002091E80025FF37C010924F0126E030911E\r
+:10156000E80035FD15C03091D301343061F530917C\r
+:10157000EB0035FD28C0215021F481E080934F011C\r
+:1015800022C0EFE9FFE03197F1F700C00000E7CF9C\r
+:101590008093F1008091E80085FD0AC08091E80009\r
+:1015A00080FFFCCF8091E8008E778093E80006C032\r
+:1015B0008FB7F89421E0209351018FBF9F709093D3\r
+:1015C000E90080E008959F709093E9008FEF0895FF\r
+:1015D000CF93DF9300D01F92CDB7DEB79C018091EF\r
+:1015E000D301843019F593E099833B832A83909348\r
+:1015F000E9008FEF9091E800815095FD06C095EDD0\r
+:101600009A95F1F700008111F5CF8091E80085FFF0\r
+:101610000DC040E050E063E070E0CE0101960E9412\r
+:101620009B0D8091E8008E778093E8000F900F90DB\r
+:101630000F90DF91CF910895CF93DF9300D01F9249\r
+:10164000CDB7DEB72091D301243021F522E02983E4\r
+:101650009B838A8383E08093E9008FEF9091E80079\r
+:10166000815095FD06C095ED9A95F1F70000811126\r
+:10167000F5CF8091E80085FF0DC040E050E063E0C9\r
+:1016800070E0CE0101960E949B0D8091E8008E775C\r
+:101690008093E8000F900F900F90DF91CF91089505\r
+:1016A0002091D3012430F1F422E02093E9002FEFC0\r
+:1016B0003091E800215035FD06C035ED3A95F1F73F\r
+:1016C00000002111F5CF2091E80025FF0BC040E07C\r
+:1016D00050E065E070E00E949B0D8091E8008E77FD\r
+:1016E0008093E8000895CF93DF932091D3012430B5\r
+:1016F00039F521E02093E9002FEF3091E8002150E7\r
+:1017000035FD06C035ED3A95F1F700002111F5CF12\r
+:101710002091E80025FF14C0EC0140E050E068E0B3\r
+:1017200070E00E949B0D8091E8008E778093E80026\r
+:1017300088E0FE01A2E5B1E001900D928A95E1F703\r
+:10174000DF91CF9108958CEC92E00E94B0058091DA\r
+:10175000D201811109C00E94300F0E948D0F80912B\r
+:10176000E20084608093E200089588EC92E00E9499\r
+:10177000B0051092D201089584EC92E00C94B0056B\r
+:10178000209150012F5F822F62E30E94CC26992383\r
+:1017900019F0209350010895109250018091510149\r
+:1017A000882371F18091D301843041F58091E90063\r
+:1017B0008F702091EC00922F917020FD90E8892B82\r
+:1017C00094E09093E9009091EB0090FF14C0909109\r
+:1017D000EE0097FF10C09091E80095FF03C01092B3\r
+:1017E000F100F9CF9091E80090FF05C09091E800DA\r
+:1017F0009E779093E8008F708093E90010925101DA\r
+:10180000089542E061EC81E00E94AA0E42E061ECA2\r
+:1018100082E00E94AA0E42E061EC83E00E94AA0EE0\r
+:1018200042E261EC84E00C94AA0E8091D5018330F1\r
+:1018300009F453C030F4813071F0823009F48CC067\r
+:1018400008958A3009F478C08B3009F45EC089307D\r
+:1018500009F09AC020C08091D401813A09F094C067\r
+:101860008091E800877F8093E8008091D801909173\r
+:10187000D901892B21F468E082E591E003C060E0A2\r
+:1018800080E090E070E00E94E60D8091E8008B77A8\r
+:101890008093E80008958091D401813209F074C0EA\r
+:1018A0008091D8019091D901892B09F06DC0809168\r
+:1018B000E800877F8093E8008091E80082FD05C002\r
+:1018C0008091D3018111F8CF5FC08091F1008093A6\r
+:1018D0005A018091E8008B7753C08091D401813AFE\r
+:1018E00009F052C08091D8019091D901892B09F05B\r
+:1018F0004BC08091E800877F8093E8008091E800EA\r
+:1019000080FFFCCF80910C0136C08091D4018132E0\r
+:10191000D9F58091D8019091D901892BA9F58091B1\r
+:10192000E800877F8093E8000E94DF0E8091D60157\r
+:1019300080930C010C94F7178091D401813221F52A\r
+:101940008091E800877F8093E8000E94DF0E8091FD\r
+:10195000D70180935B0108958091D401813AA1F46D\r
+:101960008091E800877F8093E8008091E80080FF05\r
+:10197000FCCF80915B018093F1008091E8008E772D\r
+:101980008093E8000C94DF0E08950895089508955B\r
+:1019900080EC92E00E94B0050C94C70C0E94EA1DF6\r
+:1019A0008091D101882329F00E94151E81110C9489\r
+:1019B000850D089584B7877F84BF0FB6F894A895E6\r
+:1019C00080916000886180936000109260000FBE7B\r
+:1019D00090E080E80FB6F8948093610090936100E6\r
+:1019E0000FBE0E94C50C0E94A4120E94300F0E94DC\r
+:1019F0008D0F8091E20084608093E20085E89AE098\r
+:101A00000E94BB1D78948091D3018430E1F78BEA6A\r
+:101A100092E00E94B0050E94A61282E091E00E942E\r
+:101A200012128AE992E00E94B0050E94C60C8091D1\r
+:101A3000D301853039F486E992E00E94B0050E9416\r
+:101A4000CE0CF5CF0E94AC12F2CF0C94291E8CEB79\r
+:101A500092E00E94B0050C94250D292F33272330E6\r
+:101A60003105C9F064F42130310581F022303105AF\r
+:101A700009F043C084E790E024E133E042C0213222\r
+:101A80003105F1F02232310541F137C082E190E0B9\r
+:101A900028E833E036C099278130910541F0823043\r
+:101AA000910541F0892B49F5E0E1F3E005C0E0E064\r
+:101AB000F3E002C0E0EDF2E0849190E09F0121C0EC\r
+:101AC0006430D8F4E62FF0E0EE0FFF1FEF5DFE4F1D\r
+:101AD0002081318189E090E014C0643070F470E0BE\r
+:101AE000FB01EE0FFF1FE75EFE4F20813181FB01FE\r
+:101AF000EB5EFE4F808190E004C080E090E020E04B\r
+:101B000030E0FA0131832083089580E189BD82E1CC\r
+:101B100089BD09B400FEFDCF8091D8008F7D8093F0\r
+:101B2000D8008091E00082608093E0008091E00026\r
+:101B300081FDFCCF0895CF92DF92EF92FF920F9339\r
+:101B40001F93CF93DF93EC018B016A010E94FE0E7D\r
+:101B5000811133C0C114D10439F0F6018081918123\r
+:101B6000081B190BC80FD91FE12CF12C0115110509\r
+:101B700019F18091E80085FD16C08091E8008E770C\r
+:101B80008093E800C114D10449F0F601808191816D\r
+:101B9000E80EF91EF182E08285E00FC00E94FE0E81\r
+:101BA000882321F30AC089918093F1000150110923\r
+:101BB000FFEFEF1AFF0ADACF80E0DF91CF911F919C\r
+:101BC0000F91FF90EF90DF90CF9008952091DA0170\r
+:101BD0003091DB012617370748F06115710539F49C\r
+:101BE0002091E8002E772093E80001C0B90140E081\r
+:101BF00061157105A9F12091D301222309F443C095\r
+:101C0000253009F442C02091E80023FD40C0209116\r
+:101C1000E80022FD32C02091E80020FFE9CF40918A\r
+:101C2000F3002091F20030E0342BFC01CF0161156C\r
+:101C3000710559F02830310540F481918093F1000D\r
+:101C4000615071092F5F3F4FF1CF41E028303105DE\r
+:101C500009F040E02091E8002E772093E800C8CFFB\r
+:101C60004111C9CF0AC08091D301882361F085302A\r
+:101C700061F08091E80083FD0AC08091E80082FF56\r
+:101C8000F2CF80E0089582E0089583E0089581E036\r
+:101C900008952091DA013091DB012617370748F0CB\r
+:101CA0006115710539F42091E8002E772093E80042\r
+:101CB00001C0B901FC0120E06115710591F180912D\r
+:101CC000D301882309F440C0853009F43FC08091D6\r
+:101CD000E80083FD3DC08091E80082FD2FC0809127\r
+:101CE000E80080FFE9CF2091F3008091F20090E0BE\r
+:101CF000922B6115710559F08830910540F42491BB\r
+:101D00002093F1003196615071090196F2CF21E0E4\r
+:101D1000089709F020E08091E8008E778093E80032\r
+:101D2000CBCF2111CCCF0AC08091D301882361F0A1\r
+:101D3000853061F08091E80083FD0AC08091E80061\r
+:101D400082FFF2CF80E0089582E0089583E0089555\r
+:101D500081E00895982F973058F59093E9009817EF\r
+:101D600039F07091EC002091ED005091F00003C02B\r
+:101D7000242F762F50E021FF19C03091EB003E7FD9\r
+:101D80003093EB003091ED003D7F3093ED003091CA\r
+:101D9000EB0031603093EB007093EC002093ED008A\r
+:101DA0005093F0002091EE0027FF07C09F5FD3CF34\r
+:101DB0008F708093E90081E0089580E0089580911C\r
+:101DC000D40187FF11C08091E80082FD05C0809199\r
+:101DD000D3018111F8CF11C08091E8008B770BC03F\r
+:101DE0008091D301882349F08091E80080FFF8CFEB\r
+:101DF0008091E8008E778093E80008952091E400B8\r
+:101E00003091E50095E64091EC00842F817040FF11\r
+:101E100022C08091E80080FD1CC08091D3018823FE\r
+:101E200091F0853091F08091EB0085FD10C04091DC\r
+:101E3000E4005091E5004217530729F39A019150AD\r
+:101E400011F784E0089582E0089583E0089581E029\r
+:101E5000089580E008954091E80042FFDECF0895A4\r
+:101E60000E949E0F0E94A60FE0EEF0E0808181604C\r
+:101E70008083E8EDF0E080818F77808319BCA7ED47\r
+:101E8000B0E08C918E7F8C9380818F7E80831092C6\r
+:101E9000D20108950F931F93CF93DF930E949E0F5B\r
+:101EA0000E94A60FC8EDD0E088818F778883888153\r
+:101EB0008068888388818F7D888319BC1092D301C4\r
+:101EC0001092CF011092D1011092D00100EE10E0DB\r
+:101ED000F80180818B7F808388818160888342E0E4\r
+:101EE00060E080E00E94AA0EE1EEF0E080818E7F4B\r
+:101EF0008083E2EEF0E08081816080838081886071\r
+:101F00008083F80180818E7F8083888180618883CF\r
+:101F1000DF91CF911F910F910895E8EDF0E080815E\r
+:101F20008F7E8083E7EDF0E080818160808384E0B4\r
+:101F300082BF81E08093D2010C944A0FE8EDF0E07B\r
+:101F400080818E7F80831092E20008951092DA00E3\r
+:101F50001092E10008951F920F920FB60F92112474\r
+:101F60002F933F934F935F936F937F938F939F93A1\r
+:101F7000AF93BF93EF93FF938091E10082FF0BC07B\r
+:101F80008091E20082FF07C08091E1008B7F809307\r
+:101F9000E1000E94C00B8091DA0080FF1FC0809199\r
+:101FA000D80080FF1BC08091DA008E7F8093DA001A\r
+:101FB0008091D90080FF0DC080E189BD82E189BD9B\r
+:101FC00009B400FEFDCF81E08093D3010E94A30BF2\r
+:101FD00005C019BC1092D3010E94B50B8091E1009D\r
+:101FE00080FF19C08091E20080FF15C08091E2005F\r
+:101FF0008E7F8093E2008091E20080618093E20016\r
+:102000008091D80080628093D80019BC85E08093CD\r
+:10201000D3010E94C80C8091E10084FF30C0809100\r
+:10202000E20084FF2CC080E189BD82E189BD09B452\r
+:1020300000FEFDCF8091D8008F7D8093D8008091E5\r
+:10204000E1008F7E8093E1008091E2008F7E80939B\r
+:10205000E2008091E20081608093E2008091CF01F4\r
+:10206000882311F084E007C08091E30087FD02C05F\r
+:1020700081E001C083E08093D3010E94270D80910D\r
+:10208000E10083FF29C08091E20083FF25C0809199\r
+:10209000E100877F8093E10082E08093D30110927A\r
+:1020A000CF018091E1008E7F8093E1008091E2007A\r
+:1020B0008E7F8093E2008091E20080618093E20055\r
+:1020C00042E060E080E00E94AA0E8091F00088600B\r
+:1020D0008093F0000E94BC0BFF91EF91BF91AF91F4\r
+:1020E0009F918F917F916F915F914F913F912F9130\r
+:1020F0000F900FBE0F901F9018951F920F920FB662\r
+:102100000F9211242F933F934F935F936F937F937D\r
+:102110008F939F93AF93BF93CF93DF93EF93FF93EF\r
+:10212000C091E900CF708091EC00D82FD17080FD74\r
+:10213000D0E81092E9008091F000877F8093F00052\r
+:1021400078940E94C1101092E9008091F00088609C\r
+:102150008093F000CD2BCF70C093E900FF91EF91F9\r
+:10216000DF91CF91BF91AF919F918F917F916F91AF\r
+:102170005F914F913F912F910F900FBE0F901F9045\r
+:1021800018951F93CF93DF93CDB7DEB7AA970FB6FD\r
+:10219000F894DEBF0FBECDBFE4EDF1E088E08E0F16\r
+:1021A0009091F10091938E13FBCF0E94150C8091BA\r
+:1021B000E80083FF1FC18091D4019091D501492F80\r
+:1021C00050E04A30510508F015C1FA01EA5AFF4FB4\r
+:1021D0000C94EC26803881F0823809F00BC1809194\r
+:1021E000D8018F708093E9008091EB0085FB8827F0\r
+:1021F00080F91092E90006C08091D0019091D10140\r
+:10220000911182609091E800977F9093E80080930D\r
+:10221000F1001092F100C8C0282F2D7F09F0EAC00C\r
+:10222000882319F0823061F0E5C08091D6018130B9\r
+:1022300009F0E0C0933009F080E08093D1012BC019\r
+:102240008091D601811127C08091D8018F7009F447\r
+:10225000D1C08093E9002091EB0020FF1CC0933097\r
+:1022600021F48091EB00806214C09091EB009061AA\r
+:102270009093EB0021E030E0A90102C0440F551F0C\r
+:102280008A95E2F74093EA001092EA008091EB0011\r
+:1022900088608093EB001092E9008091E800877FCE\r
+:1022A00086C08111A7C01091D6011F778091E300ED\r
+:1022B0008078812B8093E3008091E800877F809372\r
+:1022C000E8000E94DF0E8091E80080FFFCCF809143\r
+:1022D000E30080688093E300111102C082E001C036\r
+:1022E00083E08093D30186C08058823008F082C09A\r
+:1022F0008091D6019091D7018C3D53E0950779F5F7\r
+:1023000083E08A838AE289834FB7F894DE011396CB\r
+:1023100020E03EE051E2E32FF0E050935700E491DB\r
+:1023200020FF03C0E295EF703F5FEF708E2F90E0CB\r
+:10233000EA3010F0C79601C0C0968D939D932F5F31\r
+:10234000243149F74FBF8091E800877F8093E800F0\r
+:102350006AE270E0CE0101960E94E60D14C0AE0163\r
+:102360004F5F5F4F6091D8010E942D0DBC01892BFA\r
+:1023700009F440C09091E800977F9093E80089812C\r
+:102380009A810E94490E8091E8008B778093E80043\r
+:1023900031C0803879F58091E800877F8093E8002C\r
+:1023A0008091CF018093F1008091E8008E77809337\r
+:1023B000E8000E94DF0E1EC081111CC09091D60162\r
+:1023C0009230C0F48091E800877F8093E80090937A\r
+:1023D000CF010E94DF0E8091CF01811106C0809154\r
+:1023E000E30087FD02C081E001C084E08093D30157\r
+:1023F0000E94010C8091E80083FF0AC08091E800F0\r
+:10240000877F8093E8008091EB0080628093EB00EF\r
+:10241000AA960FB6F894DEBF0FBECDBFDF91CF9165\r
+:102420001F91089590936101809360010895E09158\r
+:102430006001F0916101309721F00190F081E02D71\r
+:10244000099480E00895EF92FF920F931F93CF932A\r
+:10245000DF93E0916001F09161013097B1F18C015F\r
+:102460000280F381E02D09958091BE0182FF2DC08D\r
+:1024700080FF04C087E894E00E94B005E80118E0FE\r
+:1024800081E8E82E84E0F82E8091BE0180FF0BC029\r
+:1024900088811F928F93FF92EF920E9449060F90BE\r
+:1024A0000F900F900F90115021961111EDCF809148\r
+:1024B000BE0180FF0AC08FE794E0DF91CF911F91AA\r
+:1024C0000F91FF90EF900C94B005DF91CF911F9189\r
+:1024D0000F91FF90EF900895E0916001F0916101FC\r
+:1024E000309721F00480F581E02D09940895209122\r
+:1024F0005E0130915F018217930771F090935F0145\r
+:1025000080935E01E0916001F0916101309721F0CC\r
+:102510000680F781E02D0994089520915C013091A7\r
+:102520005D018217930771F090935D0180935C01C8\r
+:10253000E0916001F0916101309721F00084F18514\r
+:10254000E02D0994089508950C94A3120E94541E3E\r
+:102550000E9475060C94C109CF92DF92EF92FF9210\r
+:102560000F931F93CF93DF9300D000D000D0CDB74F\r
+:10257000DEB70E94170883E6C82E81E0D82E00E05F\r
+:1025800010E0E02E802F0E941509F60141916F01A5\r
+:10259000F42EF826B1F40F5F1F4F0031110589F7B3\r
+:1025A0008FEF89838A831B820E945D1E8160782F52\r
+:1025B0009D838C8349815A816B818D810E946D132B\r
+:1025C00047C09091BE0191FF04C08E830E941B09F9\r
+:1025D0008E8120E030E04F2D50E0922FBA01022E84\r
+:1025E00002C0759567950A94E2F760FF2BC02983B6\r
+:1025F000EA8221E030E0690102C0CC0CDD1C9A9532\r
+:10260000E2F790E08C219D21892B09F420E02B83B7\r
+:102610000E945D1E8160782F9D838C8349815A8141\r
+:102620006B818D810E946D1349815A816B817C8100\r
+:102630008D810E94D71DF801ED59FE4F8081C8267B\r
+:10264000C08206C02F5F3F4F2830310531F6A3CF3F\r
+:102650000E94D61D0E941E210E9440071091620117\r
+:102660000E941712181741F10E94171280936201FD\r
+:102670009091BE0192FF0EC090FF0CC01F928F93ED\r
+:1026800089E994E09F938F930E9449060F900F90E1\r
+:102690000F900F908091620126960FB6F894DEBFDE\r
+:1026A0000FBECDBFDF91CF911F910F91FF90EF90A3\r
+:1026B000DF90CF900C94E81D26960FB6F894DEBFFD\r
+:1026C0000FBECDBFDF91CF911F910F91FF90EF9083\r
+:1026D000DF90CF9008950C946509CF93DF93CDB729\r
+:1026E000DEB72B970FB6F894DEBF0FBECDBF942F89\r
+:1026F0004F83252F588769877A878B874A855B8523\r
+:10270000452B21F02F3F09F59F3FF9F4DE0111968B\r
+:1027100086E0FD0111928A95E9F785E0FE01379682\r
+:1027200001900D928A95E1F749815A816B817C81F4\r
+:102730008D819E810E94911A2B960FB6F894DEBF70\r
+:102740000FBECDBFDF91CF9108954F815885698528\r
+:102750007A858B850E94D71DD9CFCF93882309F422\r
+:10276000CDC0C82F823859F40E94171281FDC6C00F\r
+:1027700089E30E941C1D0E94951D89E30CC08338CB\r
+:1027800079F40E94171280FDB9C083E50E941C1DD8\r
+:102790000E94951D83E50E94391DCF910C94951DD3\r
+:1027A000843859F40E94171282FDA8C087E40E9461\r
+:1027B0001C1D0E94951D87E4EECF8CEF8C0F813A93\r
+:1027C00048F48C2F0E944824811198C08C2F0E94BD\r
+:1027D0001C1DE3CF80E28C0F883048F4C77081E085\r
+:1027E00001C0880FCA95EAF70E945B1DD6CF8BE522\r
+:1027F0008C0F833078F4C53A29F0C63A31F083E87B\r
+:1028000090E005C081E890E002C082E890E0CF91BE\r
+:102810000C94771288E58C0F853108F06FC0C83AA8\r
+:1028200061F1C93A69F1CA3A71F1CB3A79F1CC3A1E\r
+:1028300081F1CD3A89F1CE3A91F1CF3A99F1C13B8C\r
+:10284000A1F1C03BA9F1C23BB1F1C33BB9F1C43B1B\r
+:10285000C1F1C53BC9F1C63BD1F1C73BD9F1C83B7A\r
+:10286000E1F1C93BE9F1CA3BF1F1CB3BF9F1CC3BDA\r
+:1028700009F43FC080E090E03EC082EE90E03BC0B3\r
+:1028800089EE90E038C08AEE90E035C085EB90E0AC\r
+:1028900032C086EB90E02FC083EB90E02CC084EB3D\r
+:1028A00090E029C087EB90E026C08CEC90E023C03C\r
+:1028B0008DEC90E020C083E891E01DC08AE891E0B3\r
+:1028C0001AC082E991E017C084E991E014C081E266\r
+:1028D00092E011C083E292E00EC084E292E00BC06D\r
+:1028E00085E292E008C086E292E005C087E292E0CD\r
+:1028F00002C08AE292E0CF910C948D12CF9108959C\r
+:10290000882309F44BC0823859F40E94171281FFC2\r
+:1029100045C089E30E941C1D0E94951D89E30CC0DF\r
+:10292000833871F40E94171280FF38C083E50E943B\r
+:102930001C1D0E94951D83E50E94391D0C94951D58\r
+:10294000843859F40E94171282FF28C087E40E943D\r
+:102950001C1D0E94951D87E4EFCF9CEF980F913AC4\r
+:1029600058F390E2980F983050F4877091E001C0CE\r
+:10297000990F8A95EAF7892F0E94611DDFCF9BE5A9\r
+:10298000980F933020F480E090E00C947712885AEE\r
+:10299000853120F480E090E00C948D120895882316\r
+:1029A00021F00E945B1D0C94951D0895882321F051\r
+:1029B0000E94611D0C94951D0895CF92DF92EF92B5\r
+:1029C000FF920F931F93CF93DF9300D000D000D0DE\r
+:1029D000CDB7DEB725E0FC01DE01119601900D9226\r
+:1029E0002A95E1F7FC0140813181F2802581229511\r
+:1029F0002F7063817481672B09F4D8C23F3F19F4AB\r
+:102A00004F3F09F4D3C26C0149833A8389819A818B\r
+:102A10002E830E94DB1C182F092F0E94DA1C0E94B3\r
+:102A2000EA1BE02FE295EF70F0E0E05AFF4F2E81B5\r
+:102A30000C94EC26802F807F902F9F70092F882385\r
+:102A400011F00295007FFF2049F0002309F45FC2D6\r
+:102A5000802F0E946E1D0E94951D59C2812F0E94D9\r
+:102A60008014002309F4A2C2802F0E94741D2696B0\r
+:102A70000FB6F894DEBF0FBECDBFDF91CF911F918F\r
+:102A80000F91FF90EF90DF90CF900C94951D802FC9\r
+:102A9000807F902F9F70092F803211F00295007F68\r
+:102AA000112319F0113001F129C0FF20A9F0802F66\r
+:102AB000222349F1213039F526960FB6F894DEBF6E\r
+:102AC0000FBECDBFDF91CF911F910F91FF90EF907F\r
+:102AD000DF90CF900C947E1D222319F0213009F451\r
+:102AE00065C20E94811D2CC0FF20E9F0263008F04D\r
+:102AF0005DC20E94581D802329F022C0FF20F1F002\r
+:102B0000211115C0802F26960FB6F894DEBF0FBE98\r
+:102B1000CDBFDF91CF911F910F91FF90EF90DF908C\r
+:102B2000CF900C94CF14253008F040C209C0F601B4\r
+:102B3000858180FFECC18F708583E4CF2111FBC1BB\r
+:102B4000802F69C1202F26952695237030E021150E\r
+:102B5000310521F021303105C9F028C2FF2021F0D4\r
+:102B6000812F902F937002C080E090E026960FB6E0\r
+:102B7000F894DEBF0FBECDBFDF91CF911F910F91B3\r
+:102B8000FF90EF90DF90CF900C947712FF2021F010\r
+:102B9000812F902F937002C080E090E026960FB6B0\r
+:102BA000F894DEBF0FBECDBFDF91CF911F910F9183\r
+:102BB000FF90EF90DF90CF900C948D12812FFF202B\r
+:102BC00019F00E94A41F02C00E940C2026960FB686\r
+:102BD000F894DEBF0FBECDBFDF91CF911F910F9153\r
+:102BE000FF90EF90DF90CF900C949120802F837016\r
+:102BF00009F078C0F110DAC1812F8295869587702F\r
+:102C0000880F880F912F9F70C92ED12CE12CF12CA9\r
+:102C1000082E04C0CC0CDD1CEE1CFF1C0A94D2F75D\r
+:102C200014FF12C04FE050E060E070E004C0440FB9\r
+:102C3000551F661F771F8A95D2F7CB01BA016095A1\r
+:102C400070958095909503C060E070E0CB01202FD7\r
+:102C5000269526952370422F50E042305105D1F041\r
+:102C60004330510559F16C297D298E299F29413026\r
+:102C7000510541F126960FB6F894DEBF0FBECDBFC9\r
+:102C8000DF91CF911F910F91FF90EF90DF90CF9048\r
+:102C90000C94FF1B6C297D298E299F2926960FB63F\r
+:102CA000F894DEBF0FBECDBFDF91CF911F910F9182\r
+:102CB000FF90EF90DF90CF900C94111C0E94FF1BAF\r
+:102CC000C701B60126960FB6F894DEBF0FBECDBF82\r
+:102CD000DF91CF911F910F91FF90EF90DF90CF90F8\r
+:102CE0000C94ED1BFF2019F0802F817001C0869598\r
+:102CF000882309F45BC1812F829586958770880FA0\r
+:102D0000880F912F9F70C92ED12CE12CF12C082E09\r
+:102D100004C0CC0CDD1CEE1CFF1C0A94D2F714FF7F\r
+:102D200012C04FE050E060E070E004C0440F551F57\r
+:102D3000661F771F8A95D2F7CB01BA01609570950F\r
+:102D40008095909503C060E070E0CB01202F269520\r
+:102D500026952370422F50E042305105D1F0433088\r
+:102D6000510559F16C297D298E299F294130510542\r
+:102D700041F126960FB6F894DEBF0FBECDBFDF91AE\r
+:102D8000CF911F910F91FF90EF90DF90CF900C9417\r
+:102D9000B61C6C297D298E299F2926960FB6F8949A\r
+:102DA000DEBF0FBECDBFDF91CF911F910F91FF907E\r
+:102DB000EF90DF90CF900C94C81C0E94B61CC70106\r
+:102DC000B60126960FB6F894DEBF0FBECDBFDF91D9\r
+:102DD000CF911F910F91FF90EF90DF90CF900C94C7\r
+:102DE000A41C103F41F118F4103E48F48BC0123F70\r
+:102DF00009F450C0D8F1133F09F460C083C01F70BC\r
+:102E0000802F8F71FF2021F00E943D1C812F7BCEEF\r
+:102E10000E945E1C812F26960FB6F894DEBF0FBE6F\r
+:102E2000CDBFDF91CF911F910F91FF90EF90DF9079\r
+:102E3000CF900C94D614FF20A9F0253008F0B6C02E\r
+:102E4000802F8F7126960FB6F894DEBF0FBECDBFD0\r
+:102E5000DF91CF911F910F91FF90EF90DF90CF9076\r
+:102E60000C94831C263008F0A1C0EACFFF20A1F00B\r
+:102E7000802F8F7126960FB6F894DEBF0FBECDBFA0\r
+:102E8000DF91CF911F910F91FF90EF90DF90CF9046\r
+:102E90000C943D1CFF2061F3802F8F7126960FB696\r
+:102EA000F894DEBF0FBECDBFDF91CF911F910F9180\r
+:102EB000FF90EF90DF90CF900C945E1CFF2091F07C\r
+:102EC000802F8F7126960FB6F894DEBF0FBECDBF50\r
+:102ED000DF91CF911F910F91FF90EF90DF90CF90F6\r
+:102EE0000C94281C26960FB6F894DEBF0FBECDBFFB\r
+:102EF000DF91CF911F910F91FF90EF90DF90CF90D6\r
+:102F00000C94231CFF20A1F0222309F4B1CF812FC0\r
+:102F100026960FB6F894DEBF0FBECDBFDF91CF91DE\r
+:102F20001F910F91FF90EF90DF90CF900C94AD1315\r
+:102F3000222309F4B1CF812F26960FB6F894DEBF75\r
+:102F40000FBECDBFDF91CF911F910F91FF90EF90FA\r
+:102F5000DF90CF900C948014402F4F70612FC601EA\r
+:102F60000E941E1F26960FB6F894DEBF0FBECDBF7F\r
+:102F7000DF91CF911F910F91FF90EF90DF90CF9055\r
+:102F80000C94351B402F4F70612FC60126960FB64B\r
+:102F9000F894DEBF0FBECDBFDF91CF911F910F918F\r
+:102FA000FF90EF90DF90CF900C94211F26960FB6E4\r
+:102FB000F894DEBF0FBECDBFDF91CF911F910F916F\r
+:102FC000FF90EF90DF90CF9008950E947B1D0E94AC\r
+:102FD0004A1D0E94951D0E94C3210E94912080E0FD\r
+:102FE00090E00E94771280E090E00C948D120E9495\r
+:102FF0006B1D0C94E5170E94DB1C292F22952F7066\r
+:1030000030E02C3031054CF42A3031056CF422507C\r
+:1030100031092230310588F407C02C30310549F0E0\r
+:103020002F30310531F009C0803E48F0803F29F44F\r
+:1030300006C093FB882780F9089580E0089581E019\r
+:103040000895CF93DF9300D000D01F92CDB7DEB7A5\r
+:103050000F900F900F900F900F90DF91CF910895E8\r
+:10306000CF93DF9300D000D000D0CDB7DEB7269647\r
+:103070000FB6F894DEBF0FBECDBFDF91CF9108959C\r
+:103080001F93CF93DF93C091730116E08091740179\r
+:10309000C81799F0D0E01C9FF0011D9FF00D11247E\r
+:1030A000EB58FE4F4081518162817381848195810B\r
+:1030B0000E9430182196C770E9CFDF91CF911F9100\r
+:1030C00008954091A5015091A6016091A7017091CA\r
+:1030D000A8018091A9019091AA010C9430188091C7\r
+:1030E000AA0182958F7009F054C08091A7018823AE\r
+:1030F00009F44FC080917301A09174016091A50102\r
+:103100007091A6014091A8015091A901B6E08A17DB\r
+:1031100009F43FC090E041155105C1F17F3F11F422\r
+:103120006F3FA1F1B89FF001B99FF00D1124EB584A\r
+:10313000FE4F218172132AC02081621327C0228191\r
+:10314000211124C0238134812417350710F4215024\r
+:103150003109241B350B283C3105C0F42091AA010C\r
+:103160002F7020612093AA0126E0289FF001299F5B\r
+:10317000F00D1124E658FE4F80818F7080618083AE\r
+:1031800085EA91E00E94DD140C9440180196877046\r
+:10319000BECF0895CF92DF92EF92FF920F931F93CD\r
+:1031A000CF93DF93CDB7DEB762970FB6F894DEBF4B\r
+:1031B0000FBECDBF8C0185E0F801DE011D960190A8\r
+:1031C0000D928A95E1F7D8014C9111965C91119777\r
+:1031D00012966C9112971396CD90DC9014973091C3\r
+:1031E000A5017091A6018091A8019091A901009775\r
+:1031F00009F46BC17F3F19F43F3F09F466C1E090C9\r
+:10320000A701EE2009F4C0C02091AA01C816D90672\r
+:1032100028F0F601E81BF90BCF0104C080959095CA\r
+:103220008C0D9D1DFF24F394883C910578F0F12CC2\r
+:10323000207F09F0C6C07C2DD98AC88A89890E945E\r
+:10324000211885EA91E00E94DD14B1C0822F807FB1\r
+:1032500009F046C0751314C0341312C0611110C0B8\r
+:103260002F7020612093AA010E94611885EA91E0E5\r
+:103270000E94DD148091AA01D80115968C932EC06E\r
+:10328000CD2819F15F3F11F44F3FF9F0F62E61118F\r
+:103290001CC0809173012091740136E0821709F4FB\r
+:1032A0005AC090E0389FF001399FF00D1124EB587F\r
+:1032B000FE4F7181571306C07081471303C072819E\r
+:1032C000711103C001968770E9CFF62E662309F4C9\r
+:1032D00018C18091AA0181608093AA01F12C11C1CB\r
+:1032E000751308C0341306C0611104C08091AA018F\r
+:1032F000D801C3C04D875E878D859E856A8B0E94ED\r
+:10330000FB176A898823E1F16623D1F12091AA0194\r
+:10331000822F82958F7090E0029774F08091A501C2\r
+:103320009091A60198878F831986DB86CA862C87A1\r
+:10333000CE0107960E94DD1486E0F801A5EAB1E00F\r
+:1033400001900D928A95E1F70E946F180E94611812\r
+:10335000FF24F394D6C04D875E878D859E850E949D\r
+:10336000DB1C292F22952F7030E0223031050CF024\r
+:10337000BCC09F7009F0B6C0805E883008F4C1C040\r
+:10338000C8010E94DD14E4CFC816D90608F453C062\r
+:10339000F601E81BF90BCF01883C910508F450C0F9\r
+:1033A000F12C7C2DD98AC88A89890E942118E5EAE6\r
+:1033B000F1E086E0DF011D928A95E9F70E9461182D\r
+:1033C000A0C0751314C0341312C0611110C08091D5\r
+:1033D000AA01F8018583C8010E94DD1486E0E5EAB0\r
+:1033E000F1E0DF011D928A95E9F7FE2C8AC04D8736\r
+:1033F0005E878D859E856A8B0E94FB176A8988236C\r
+:1034000009F4BECF662309F4BBCF2091AA01822F15\r
+:1034100082958F7090E002970CF48ECF8091A50179\r
+:103420009091A6019A8389831B82DD82CC822E83B0\r
+:10343000CE0101967FCF809590958C0D9D1DACCFD0\r
+:10344000F62E662309F49CCF75132EC034132CC0BE\r
+:103450002091AA0120FD1FC0822F82958F70D9F084\r
+:10346000D80115962C9315978F3049F08F5F982FC0\r
+:103470009295907F822F8F70892B15968C93C8011F\r
+:103480000E94DD1486E0F801A5EAB1E001900D92FA\r
+:103490008A95E1F793CF86E0F801A5EAB1E00190C3\r
+:1034A0000D928A95E1F72DC04D875E878D859E85AB\r
+:1034B0000E94FB17811140CF8091AA018160809307\r
+:1034C000AA01C8010E94DD141CC0662309F458CF6C\r
+:1034D0004D875E878D859E850E94FB17882309F4A2\r
+:1034E0004FCF2ACF811148CF0CC0243031050CF0CA\r
+:1034F00047CF9F7009F440CFF8019581907F09F084\r
+:103500003BCF8F2D62960FB6F894DEBF0FBECDBFB6\r
+:10351000DF91CF911F910F91FF90EF90DF90CF90AF\r
+:1035200008951F93CF93DF93CDB7DEB72C970FB6D7\r
+:10353000F894DEBF0FBECDBF4F83588769877A8767\r
+:103540008B879C87CE0107960E94CA18882369F052\r
+:103550008F8198852A853B85232BF1F19F3F09F0C8\r
+:1035600063C08F3F09F060C037C086E0FE01379628\r
+:10357000DE01119601900D928A95E1F76F817885B1\r
+:10358000EA85FB85309741F17F3F11F46F3F21F1D0\r
+:103590002091740130E0C90101968770992740910C\r
+:1035A000730150E08417950709F447C069837A8353\r
+:1035B000FD83EC8396E0929FD001939FB00D112480\r
+:1035C000AB58BE4FFE01319601900D929A95E1F7EE\r
+:1035D000809374010E94401816E0809173019091CD\r
+:1035E00074018917C1F1189FC00111248B589E4F97\r
+:1035F0000E94CA18882379F1E09173011E9FF0019F\r
+:103600001124EB58FE4F4081518162817381848186\r
+:1036100095810E9430188091730190E00196877027\r
+:10362000992780937301D9CF4F81588569857A8511\r
+:103630008B859C850E943018CFCF0E94F71710927F\r
+:10364000740110927301E5EAF1E086E0DF011D925A\r
+:103650008A95E9F7C1CF2C960FB6F894DEBF0FBE5E\r
+:10366000CDBFDF91CF911F910895DF92EF92FF922E\r
+:103670000F931F93CF93DF93FC01892B09F48AC02A\r
+:10368000E12CF12CDD24D394EF0121968491853730\r
+:1036900009F461C058F4843708F04EC0843008F053\r
+:1036A0006AC08130D1F0823071F174C0883709F47A\r
+:1036B0005DC050F4863709F455C0873709F06AC0F9\r
+:1036C0008E2D0E94681D54C09CE7980F903708F01B\r
+:1036D00061C08F770E94801450C08F010E5F1F4F12\r
+:1036E000FE01849190E2980F983050F48770FD2D80\r
+:1036F00001C0FF0F8A95EAF78F2F0E946E1D14C03C\r
+:103700000E94AD1313C08F010E5F1F4FFE01C491C5\r
+:1037100080E28C0F883060F4C7708D2D01C0880F57\r
+:10372000CA95EAF70E94741D0E94951DE80125C004\r
+:103730008C2F0E948014FACF9F012E5F3F4FFE0115\r
+:10374000C491CC2369F08FE99FE00197F1F700C0A5\r
+:103750000000C150F6CF9F012E5F3F4FFE01F49055\r
+:10376000E9010BC00E94581DE82E07C00E946B1D86\r
+:103770000E94951D02C00E94AD138F2D882341F039\r
+:10378000EFE9FFE03197F1F700C000008150F6CF7C\r
+:10379000FE017ACFDF91CF911F910F91FF90EF90B3\r
+:1037A000DF9008956093AF017093B0018093B101F1\r
+:1037B0009093B2010E94E61D0C94E5176093AB0153\r
+:1037C0007093AC018093AD019093AE010E94E71D10\r
+:1037D0000C94E51708950C94D21B0F931F9300913E\r
+:1037E000AF011091B0012091B1013091B201602B75\r
+:1037F000712B822B932B1F910F910C94D21B0F9343\r
+:103800001F930091AF011091B0012091B10130914F\r
+:10381000B20160237123822393231F910F910C9493\r
+:10382000D21B0F931F930091AF011091B001209113\r
+:10383000B1013091B20160277127822793271F9130\r
+:103840000F910C94D21B60E070E0CB010C94DE1B56\r
+:103850000F931F9341E050E060E070E08A019B010C\r
+:1038600004C0000F111F221F331F8A95D2F7C90110\r
+:10387000B8011F910F910C94DE1B0F931F9341E031\r
+:1038800050E060E070E004C0440F551F661F771FD2\r
+:103890008A95D2F78091AB019091AC01A091AD01D6\r
+:1038A000B091AE018A019B01082B192B2A2B3B2BCF\r
+:1038B000C901B8011F910F910C94DE1B0F931F9348\r
+:1038C00041E050E060E070E004C0440F551F661F07\r
+:1038D000771F8A95D2F740955095609570958091A5\r
+:1038E000AB019091AC01A091AD01B091AE018A0104\r
+:1038F0009B01082319232A233B23C901B8011F91E7\r
+:103900000F910C94DE1B0F931F9341E050E060E099\r
+:1039100070E004C0440F551F661F771F8A95D2F7C9\r
+:103920008091AB019091AC01A091AD01B091AE013D\r
+:103930008A019B01082719272A273B27C901B801BB\r
+:103940001F910F910C94DE1B0F931F930091AB01FD\r
+:103950001091AC012091AD013091AE01602B712B23\r
+:10396000822B932B1F910F910C94DE1B0F931F93AF\r
+:103970000091AB011091AC012091AD013091AE01ED\r
+:1039800060237123822393231F910F910C94DE1BDC\r
+:103990000F931F930091AB011091AC012091AD01E9\r
+:1039A0003091AE0160277127822793271F910F91D5\r
+:1039B0000C94DE1B0895CF92DF92EF92FF920F934B\r
+:1039C0001F93CF93DF938C01C090AF01D090B001D3\r
+:1039D000E090B101F090B2014091AB015091AC0187\r
+:1039E0006091AD017091AE01C42AD52AE62AF72A6A\r
+:1039F000CFE1D0E0D701C6010C2E04C0B695A79543\r
+:103A0000979587950A94D2F780FF07C0B8018C2F4D\r
+:103A10000E94F41E8130910531F4219758F7B801C6\r
+:103A200080E00E94F41EDF91CF911F910F91FF90D3\r
+:103A3000EF90DF90CF90089520910D0130910E010D\r
+:103A4000F90132969FEF40E05191581789F09F3F5E\r
+:103A500019F4511101C0942F4F5F4630A9F79F3FD1\r
+:103A600039F0F901E90FF11D97FDFA958283089568\r
+:103A7000089520910D0130910E01F9013296285FD1\r
+:103A80003F4F9081981301C010823196E217F307DF\r
+:103A9000C1F7089581E090E0E0910D01F0910E01F1\r
+:103AA000E80FF91F1082019688309105A9F7089553\r
+:103AB0008091BD0108959091BD01892B8093BD0136\r
+:103AC000089580959091BD0189238093BD0108954B\r
+:103AD0008093BD0108951092BD0108959091BC019D\r
+:103AE000892B8093BC01089580959091BC01892316\r
+:103AF0008093BC0108951092BC0108958093B30196\r
+:103B000008951092B301089580910D0190910E01D6\r
+:103B1000FC0131969C01285F3F4F80E0919191110B\r
+:103B20008F5FE217F307D1F70895E0910D01F0914F\r
+:103B30000E018091BD018083E0910D01F0910E0195\r
+:103B400090818091BC01892B80838091B30188236F\r
+:103B500061F0E0910D01F0910E019081892B80833D\r
+:103B60000E94841D81111092B30180910D019091EA\r
+:103B70000E010C9423129093350180933401089523\r
+:103B80008295982F9C7C392F36953695282F237354\r
+:103B900044E0249FC0011124932F982B292F2A7AC7\r
+:103BA0002695892F8575880F822B08950895CF93C8\r
+:103BB000DF9300D000D01F92CDB7DEB70F900F90EB\r
+:103BC0000F900F900F90DF91CF9108950895089571\r
+:103BD0000C946B138091D301843021F11092BF01BA\r
+:103BE00020E488E190E00FB6F894A89580936000F7\r
+:103BF0000FBE2093600083B7817F846083BF83B74B\r
+:103C0000816083BF7894889583B78E7F83BF0FB61A\r
+:103C1000F894A8958091600088618093600010926C\r
+:103C200060000FBE089508950895CF930E94131E5B\r
+:103C30000E9417080E94141EC0E08C2F0E941509D4\r
+:103C4000811104C0CF5FC031C1F701C081E0CF91C5\r
+:103C500008950C94F7171F920F920FB60F9211242C\r
+:103C60008F939F93AF93BF938091BF01811113C036\r
+:103C70008091C0019091C101A091C201B091C30196\r
+:103C80004196A11DB11D8093C0019093C101A093E5\r
+:103C9000C201B093C301BF91AF919F918F910F90DB\r
+:103CA0000FBE0F901F90189582E084BD93E095BDE4\r
+:103CB0009AEF97BD80936E0008952FB7F894809186\r
+:103CC000C0019091C101A091C201B091C3012FBF69\r
+:103CD00008952FB7F8946091C0017091C10180914F\r
+:103CE000C2019091C3012FBF0895CF92DF92EF924E\r
+:103CF000FF920F931F932FB7F8944091C0015091FA\r
+:103D0000C1016091C2017091C3012FBF6A017B01A3\r
+:103D1000EE24FF248C0120E030E0C016D106E2063C\r
+:103D2000F30610F4415051099A01281B390BC901BF\r
+:103D30001F910F91FF90EF90DF90CF9008951F9209\r
+:103D40000F920FB60F9211248F939F93AF93BF934F\r
+:103D50008091C0019091C101A091C201B091C301B5\r
+:103D60000196A11DB11D8093C0019093C101A09344\r
+:103D7000C201B093C301BF91AF919F918F910F90FA\r
+:103D80000FBE0F901F9018950E94300FF8942FEFE0\r
+:103D900087EA91E6215080409040E1F700C00000A2\r
+:103DA00087E090EBDC018093DC019093DD01A09330\r
+:103DB000DE01B093DF019CE088E10FB6F894A8958E\r
+:103DC000809360000FBE90936000FFCF28E0929F29\r
+:103DD000F0011124E80FF11DE052FF4F9491892F5B\r
+:103DE0008F7092959F700895CF93C82FCB010E943A\r
+:103DF000E61E282F30E080E1989FA0011124422B7D\r
+:103E0000532B4038510519F480E090E015C09770AD\r
+:103E1000E92FF0E088E0C89FE00DF11D112484E057\r
+:103E2000EE0FFF1F8A95E1F7E20FF31FEE0FFF1F62\r
+:103E3000E050F84985919491CF91089580E090E009\r
+:103E4000089508958091C60180FF0BC06091120112\r
+:103E500085E0689FB0011124759567957595679504\r
+:103E60002BC081FF09C06091120185E0689FB001FD\r
+:103E700011247595679520C082FF07C060911201DB\r
+:103E800085E0689FB001112417C09091C701992364\r
+:103E9000D1F060911101961788F72091120185E009\r
+:103EA000289F90011124929FA001939F500D1124EF\r
+:103EB00070E0CA010E94D8266038710540F461158F\r
+:103EC000710539F002C065E070E0862F08958FE734\r
+:103ED000089581E008958091C60180FF08C0609137\r
+:103EE000100170E0759567957595679521C081FF04\r
+:103EF00006C06091100170E07595679519C082FF4A\r
+:103F000004C06091100170E010C09091C701992326\r
+:103F1000C1F060910F019617A0F780911001899F61\r
+:103F2000C001112470E00E94D8266038710528F481\r
+:103F30006115710521F0862F08958FE7089581E0BE\r
+:103F4000089561E070E0F4CF803F21F40E94221FC9\r
+:103F5000819504C0813F29F40E94221F8093CA01E9\r
+:103F60000895823F21F40E94221F819504C0833F5F\r
+:103F700029F40E94221F8093C9010895893F19F4F2\r
+:103F80000E946B1F05C08A3F31F40E946B1F819510\r
+:103F90008093CB0108958B3F21F40E946B1F819584\r
+:103FA00004C08C3F29F40E946B1F8093CC010895BC\r
+:103FB000843F21F48091C801816017C0853F21F4BE\r
+:103FC0008091C801826011C0863F21F48091C801B0\r
+:103FD00084600BC0873F21F48091C801886005C0D0\r
+:103FE000883F31F48091C80180618093C8010895B1\r
+:103FF0008D3F21F48091C60181600BC08E3F21F47A\r
+:104000008091C601826005C08F3F29F48091C6016E\r
+:1040100084608093C6010895803F39F48091CA017D\r
+:1040200087FF6CC01092CA0169C0813F29F480915A\r
+:10403000CA011816BCF362C09091C901823F29F4ED\r
+:1040400097FF5CC01092C90159C0833F19F419163B\r
+:10405000CCF354C0893F41F48091CB0118160CF089\r
+:104060004DC01092CB014AC08A3F29F48091CB0108\r
+:1040700087FF44C0F6CF8B3F39F48091CC0187FF96\r
+:104080003DC01092CC013AC08C3F29F48091CC0104\r
+:104090001816BCF333C0843F21F48091C8018E7F91\r
+:1040A00017C0853F21F48091C8018D7F11C0863FE4\r
+:1040B00021F48091C8018B7F0BC0873F21F4809150\r
+:1040C000C801877F05C0883F31F48091C8018F7E89\r
+:1040D0008093C80113C08D3F21F48091C6018E7F6B\r
+:1040E0000BC08E3F21F48091C6018D7F05C08F3FAC\r
+:1040F00029F48091C6018B7F8093C6018091C9010C\r
+:1041000081110EC08091CA0181110AC08091CB013A\r
+:10411000811106C08091CC01811102C01092C701AB\r
+:1041200008958091BE0183FF7EC08BEC94E00E94D5\r
+:10413000B0058091C8011F928F9386EC94E09F9305\r
+:104140008F930E94490684EC94E00E94B005809110\r
+:10415000C901282F082E000C330B3F938F9381EC5D\r
+:1041600094E09F938F930E9449068FEB94E00E9406\r
+:10417000B0058091CA01282F082E000C330B3F9305\r
+:104180008F938CEB94E09F938F930E9449068AEB68\r
+:1041900094E00E94B0058091CB01282F082E000CDE\r
+:1041A000330B3F938F9387EB94E09F938F930E9401\r
+:1041B000490685EB94E00E94B0058091CC01282F40\r
+:1041C000082E000C330B3F938F9382EB94E09F9368\r
+:1041D0008F930E9449068FEA94E00E94B005809177\r
+:1041E000C7011F928F938CEA94E09F938F930E9454\r
+:1041F00049068AEA94E00E94B0058091C6011F92A8\r
+:104200008F9387EA94E09F938F930E94490684EAF4\r
+:1042100094E00E94B0058DB79EB74C960FB6F89407\r
+:104220009EBF0FBE8DBF88EC91E00E946C120E9471\r
+:104230005D1E9093C5018093C40108951F93CF9391\r
+:10424000DF938091C4019091C5010E94751EAC015D\r
+:104250009091C701992321F02091130130E006C00D\r
+:10426000209114018AE0289F9001112442175307DE\r
+:1042700008F485C08091C901C091CA01D091CB01D9\r
+:104280001091CC01811107C0C11175C0D11173C04B\r
+:10429000111171C074C09F3F19F09F5F9093C701C7\r
+:1042A000181624F40E94221F8093C9018091C9012D\r
+:1042B00087FF05C00E94221F81958093C9011C16AB\r
+:1042C00024F40E94221F8093CA018091CA0187FFB3\r
+:1042D00005C00E94221F81958093CA016091C90187\r
+:1042E000662331F1C091CA01CC2311F1062E000CD6\r
+:1042F000770B880B990B0E94D32523E333E343E329\r
+:104300005FE30E9437260E949B256093C9016C2FB2\r
+:10431000CC0F770B880B990B0E94D32523E333E353\r
+:1043200043E35FE30E9437260E949B256093CA0106\r
+:104330001D1624F40E946B1F8093CB018091CB014A\r
+:1043400087FF05C00E946B1F81958093CB011116DA\r
+:1043500024F40E946B1F8093CC018091CC0187FFD5\r
+:1043600005C00E946B1F81958093CC01DF91CF9196\r
+:104370001F910C9491209F3F09F08FCF97CFDF9131\r
+:10438000CF911F910895E8ECF1E085E0DF011D92E7\r
+:104390008A95E9F71092C7011092C60108958EEE32\r
+:1043A00096E00E94B0051F9281E08F931F9285E0F6\r
+:1043B0008F9380EA96E09F938F930E9449060F9017\r
+:1043C0000F900F900F900F900F9008958330E9F1A8\r
+:1043D00028F4813061F0823009F10895853009F4C4\r
+:1043E00062C008F449C0863009F474C00895809111\r
+:1043F0001401262F30E0280F311D2F3F310524F402\r
+:10440000680F6093140103C08FEF809314018091B3\r
+:1044100014011F928F9389ED95E072C08091130172\r
+:10442000262F30E0280F311D2F3F310524F4680F6F\r
+:104430006093130103C08FEF8093130180911301E8\r
+:104440001F928F9387EC95E05BC080911201262F1D\r
+:1044500030E0280F311D2F3F310524F4680F6093A1\r
+:10446000120103C08FEF80931201809112011F92FD\r
+:104470008F9384EB95E044C080911101262F30E0AA\r
+:10448000280F311D2F3F310524F4680F609311016F\r
+:1044900003C08FEF80931101809111011F928F93C0\r
+:1044A0008FE995E02DC080911001262F30E0280F74\r
+:1044B000311D2F3F310524F4680F6093100103C0B4\r
+:1044C0008FEF80931001809110011F928F9386E8E7\r
+:1044D00095E016C080910F01262F30E0280F311D86\r
+:1044E0002F3F310524F4680F60930F0103C08FEF55\r
+:1044F00080930F0180910F011F928F938BE695E0BF\r
+:104500009F938F930E9449060F900F900F900F90EA\r
+:104510000895833081F128F4813059F08230D1F050\r
+:104520000895853009F449C0B8F1863009F456C0C1\r
+:10453000089580911401681720F4861B809314015C\r
+:1045400002C010921401809114011F928F938CE588\r
+:1045500095E054C080911301681720F4861B809366\r
+:10456000130102C010921301809113011F928F93C7\r
+:104570008AE495E043C080911201681720F4861BFD\r
+:104580008093120102C010921201809112011F92B9\r
+:104590008F9387E395E032C080911101681720F472\r
+:1045A000861B8093110102C01092110180911101AC\r
+:1045B0001F928F9382E295E021C0809110016817CD\r
+:1045C00020F4861B8093100102C01092100180918C\r
+:1045D00010011F928F9389E095E010C080910F0128\r
+:1045E000681720F4861B80930F0102C010920F0100\r
+:1045F00080910F011F928F938EEE94E09F938F9383\r
+:104600000E9449060F900F900F900F900895CF933E\r
+:10461000C82F1F928F9383EF97E09F938F930E94F1\r
+:10462000490681E090E0A0E0B0E0BC01CD0104C00B\r
+:10463000660F771F881F991FCA95D2F70E94EB1B40\r
+:104640000F900F900F900F90CF910C94F717CF937E\r
+:10465000873288F58E3108F00BC18E3009F487C09F\r
+:10466000D8F4873009F460C08B3009F44FC086302D\r
+:1046700009F002C18091BE01817F8E7F8093BE01CF\r
+:1046800088EF97E00E94B00581EB9AE00E94B005A8\r
+:1046900081E08093CE0146C0863109F4B0C020F499\r
+:1046A000803109F47AC0E8C0893109F491C08B31B6\r
+:1046B00009F449C0E1C0883349F150F4893209F462\r
+:1046C000D5C0853309F4D2C0873209F0D5C0CEC039\r
+:1046D000833409F4CBC028F48A3308F4CDC089535D\r
+:1046E000C8C0883409F0C8C00E94F71780EA9AE071\r
+:1046F0000E94B0052FEF83ED90E321508040904061\r
+:10470000E1F700C000000E94C41E0CC08FE198E0D9\r
+:1047100041C087E89AE00E94B0058091BE018160A7\r
+:104720008093BE01C1E0ADC08091BE01C82FC170B1\r
+:1047300080FFEFCF83E99AE00E94B0058091BE012F\r
+:10474000817F8E7F3FC09091BE0191FBCC27C0F945\r
+:1047500081E0C827892FC0FB81F98093BE01CC235B\r
+:1047600019F08AE79AE029C08CE69AE013C090918C\r
+:10477000BE0192FBCC27C0F981E0C827892FC0FB7E\r
+:1047800082F98093BE01CC2319F08DE59AE015C023\r
+:104790008DE49AE00E94B005C5CF9091BE0193FBD5\r
+:1047A000CC27C0F981E0C827892FC0FB83F980930B\r
+:1047B000BE01CC2351F081E49AE00E94B0058091C3\r
+:1047C000BE0181608093BE015CC084E39AE0E2CFC9\r
+:1047D00085E29AE00E94B00582E09AE00E94B0056E\r
+:1047E0008DEB99E00E94B00580E999E00E94B00548\r
+:1047F0008BE499E00E94B0058DE199E0CBCF8FE08A\r
+:1048000099E00E94B0050E9417121F928F9385EFC6\r
+:1048100098E09F938F930E94490680910C011F920C\r
+:104820008F938EED98E09F938F930E94490680911D\r
+:104830005B011F928F938BEC98E09F938F930E9464\r
+:1048400049060E94691E9F938F937F936F9384EB19\r
+:1048500098E09F938F930E9449068DB79EB742962A\r
+:104860000FB6F8949EBF0FBE8DBF5CCF80E001C035\r
+:104870008D510E94072356CF82EB98E00E94B0052D\r
+:10488000C0E08C2FCF91089580E0089580E00895D6\r
+:10489000CF93C82F8091CE01813069F020F0823013\r
+:1048A00009F449C040C167E08FE00E9400098823F5\r
+:1048B00009F43FC106C067E08FE00E940009882329\r
+:1048C00061F08C2F0E944424811104C08C2F0E941F\r
+:1048D00027232FC081E090E02CC08C2F0E9446241B\r
+:1048E000811126C0C431E1F070F4CB3081F0C031C9\r
+:1048F000D1F40E94CF218BEE97E00E94B00582E0B8\r
+:104900008093CE0115C0C93259F0C83361F488EFE5\r
+:1049100097E00E94B0058FEE97E00E94B00508C0B6\r
+:104920001092CE0104C189EE97E00E94B005FFC04D\r
+:1049300081E08170FEC0C43228F5CE3108F0C1C0DC\r
+:10494000CB30A1F1D0F4C73009F0D3C08EE1809311\r
+:10495000140182E3809313018AE08093120184E1C1\r
+:104960008093110188E08093100188E280930F0109\r
+:104970008FE896E00E94B005BFC0C33149F1C43151\r
+:10498000C1F0B7C0CB3409F4A9C028F4C93289F00A\r
+:10499000C83361F0AEC0C13509F49EC0C23509F418\r
+:1049A00099C0CE3409F0A5C06AE09EC00E94CF2114\r
+:1049B000A3C08091CD01882319F01092CD019CC035\r
+:1049C0008CE996E00E94B00581E08093CE01B1C0F1\r
+:1049D00086E796E00E94B00584E696E00E94B00566\r
+:1049E000809114011F928F9381E696E09F938F939D\r
+:1049F0000E9449068FE596E00E94B0058DE496E09E\r
+:104A00000E94B005809113011F928F938AE496E073\r
+:104A10009F938F930E94490688E496E00E94B00518\r
+:104A200089E396E00E94B005809112011F928F9356\r
+:104A300086E396E09F938F930E94490684E396E075\r
+:104A40000E94B00583E296E00E94B00580911101BA\r
+:104A50001F928F9380E296E09F938F930E94490666\r
+:104A60008EE196E00E94B00589E096E00E94B005D4\r
+:104A7000809110011F928F9386E096E09F938F9311\r
+:104A80000E94490684E096E00E94B0058DEE95E014\r
+:104A90000E94B00580910F011F928F938AEE95E0DE\r
+:104AA0009F938F930E94490688EE95E00E94B0057F\r
+:104AB0008DB79EB748960FB6F8949EBF0FBE8DBFB8\r
+:104AC0001BC0CE51EC2FF0E0E75DFE4F808180935C\r
+:104AD000CD0112C061E003C061E006C06AE08091D0\r
+:104AE000CD010E94E62108C08091CD010E9489225B\r
+:104AF00003C08DE896E013C08091CD01882369F052\r
+:104B00001F928F9387E896E09F938F930E944906A8\r
+:104B10000F900F900F900F9004C084E896E00E94D1\r
+:104B2000B00581E006C01092CE0180E002C080E0B6\r
+:104B300000CFCF9108950E94A2256894B1110C94E2\r
+:104B4000312608950E94162688F09F5798F0B92FB5\r
+:104B50009927B751B0F0E1F0660F771F881F991FB2\r
+:104B60001AF0BA95C9F714C0B13091F00E943026FE\r
+:104B7000B1E008950C943026672F782F8827B85F0E\r
+:104B800039F0B93FCCF3869577956795B395D9F70A\r
+:104B90003EF490958095709561957F4F8F4F9F4F14\r
+:104BA0000895E89409C097FB3EF490958095709520\r
+:104BB00061957F4F8F4F9F4F9923A9F0F92F96E969\r
+:104BC000BB279395F695879577956795B795F111DE\r
+:104BD000F8CFFAF4BB0F11F460FF1BC06F5F7F4F7B\r
+:104BE0008F4F9F4F16C0882311F096E911C077238D\r
+:104BF00021F09EE8872F762F05C0662371F096E896\r
+:104C0000862F70E060E02AF09A95660F771F881F64\r
+:104C1000DAF7880F9695879597F9089557FD90587C\r
+:104C2000440F551F59F05F3F71F04795880F97FB70\r
+:104C3000991F61F09F3F79F087950895121613062A\r
+:104C40001406551FF2CF4695F1DF08C01616170659\r
+:104C50001806991FF1CF869571056105089408958E\r
+:104C6000E894BB2766277727CB0197F908950E9420\r
+:104C70004A260C94BB260E94AD2638F00E94B4262A\r
+:104C800020F0952311F00C94A4260C94AA2611244C\r
+:104C90000C9431260E940E2670F3959FC1F3950F58\r
+:104CA00050E0551F629FF001729FBB27F00DB11DB0\r
+:104CB000639FAA27F00DB11DAA1F649F6627B00D40\r
+:104CC000A11D661F829F2227B00DA11D621F739F29\r
+:104CD000B00DA11D621F839FA00D611D221F749F37\r
+:104CE0003327A00D611D231F849F600D211D822F7E\r
+:104CF000762F6A2F11249F5750409AF0F1F08823A5\r
+:104D00004AF0EE0FFF1FBB1F661F771F881F9150D1\r
+:104D10005040A9F79E3F510580F00C94A4260C94B6\r
+:104D200031265F3FE4F3983ED4F3869577956795F7\r
+:104D3000B795F795E7959F5FC1F7FE2B880F911DFB\r
+:104D40009695879597F9089597F99F6780E870E0A1\r
+:104D500060E008959FEF80EC089500240A941616F1\r
+:104D6000170618060906089500240A941216130659\r
+:104D7000140605060895092E0394000C11F48823E7\r
+:104D800052F0BB0F40F4BF2B11F460FF04C06F5F03\r
+:104D90007F4F8F4F9F4F0895991B79E004C0991F53\r
+:104DA000961708F0961B881F7A95C9F78095089585\r
+:104DB00097FB072E16F4009407D077FD09D00E94C8\r
+:104DC000F22607FC05D03EF4909581959F4F0895FB\r
+:104DD000709561957F4F0895EE0FFF1F0590F49138\r
+:104DE000E02D0994AA1BBB1B51E107C0AA1FBB1FE2\r
+:104DF000A617B70710F0A61BB70B881F991F5A9567\r
+:104E0000A9F780959095BC01CD010895F894FFCF46\r
+:104E1000FFFF820A730B500B1C0BE80A01B4012838\r
+:104E200008140A321E404D36223F04F203BC039A96\r
+:104E30000326033F03580371030102030405060719\r
+:044E4000080900005D\r
+:106800000000EA44E944E2440400050006000700F1\r
+:10681000080009000A000B000C000D000E000F001C\r
+:1068200010001100120013001400150016001700CC\r
+:10683000180019001A001B001C001D001E001F007C\r
+:10684000200021002200230024002500260027002C\r
+:10685000280029002A002B002C002D002E002F00DC\r
+:10686000300031A132003300340035A1360037004A\r
+:10687000380082003A003B003C003D003E003F00F3\r
+:1068800040004100420043004400450046004700EC\r
+:10689000480049004A004B004C004D004E004F009C\r
+:1068A000500051005200530067005400550056003C\r
+:1068B000580059005A005B005C005D005E005F00FC\r
+:1068C0006000610062006300640000005700000087\r
+:1068D000CD440000000000000000000000000000A7\r
+:1068E00000000000000081400000000000000000E7\r
+:1068F000E000E100E200E300E400E500E600E7007C\r
+:106900000100010001000100EA4401000100E2442D\r
+:106910000100010001000100460001004A004B0097\r
+:10692000010001004700480001000100E9440100A6\r
+:106930000100010001000100010001003A003B00DC\r
+:106940003C003D003E003F0040004100420043004B\r
+:10695000010001004C00010001004400450052000C\r
+:1069600049000100010050004F0001004D004E00A1\r
+:1069700051000100010001000100010001000100BF\r
+:1069800001000100010001000100010001000100FF\r
+:1069900001000100010001000100010001004D00A3\r
+:1069A0004A004E004B0001000100010001000100FF\r
+:1069B00001000100010001000100010001000100CF\r
+:1069C00001000100010001000100010001000100BF\r
+:1069D00001000100010001000100010001000100AF\r
+:1069E000010001000100010001000100010001009F\r
+:1069F000010001000100010001000100010001008F\r
+:00000001FF\r
diff --git a/converter/adb_usb/binary/adb_usb_rev2_unimap.hex b/converter/adb_usb/binary/adb_usb_rev2_unimap.hex
new file mode 100644 (file)
index 0000000..ea309eb
--- /dev/null
@@ -0,0 +1,1277 @@
+:100000000C943B050C9482050C9482050C9482059B\r
+:100010000C9482050C9482050C9482050C94820544\r
+:100020000C9482050C9482050C9482050C944D0F5F\r
+:100030000C94FC0F0C94B91D0C9482050C94820551\r
+:100040000C9482050C9482050C9482050C942D1E50\r
+:100050000C9482050C9482050C9482050C94820504\r
+:100060000C9482050C9482050C9482050C948205F4\r
+:100070000C94820569108B1079118B107911D010B6\r
+:10008000F310791148115B1199149914C614C61410\r
+:1000900021155D15551755177515551770167016DE\r
+:1000A0002B17551755174117041607090B0A1D1B67\r
+:1000B00006196405141A08151C171E1F2021232277\r
+:1000C0002E26242D25273012182F0C13280F0D341F\r
+:1000D0000E333136381110372B2C352A5829787BBE\r
+:1000E00079397A504F5152726C63685680668053EA\r
+:1000F000020103555880576D6E5462595A5B5C5D1E\r
+:100100005E5F6F60617475663E3F403C414277447C\r
+:1001100076466B47804365458048494A4B4C3D4D88\r
+:100120003B4E3A7D7E7C7F730A0025303862003A70\r
+:1001300020002530325800722F63203031323334A2\r
+:100140003536370A006164625F686F73745F6B6293\r
+:10015000645F726563763A204552524F5228256497\r
+:10016000290A000A0025303458006164625F686F14\r
+:1001700073745F6B62645F726563763A2000455208\r
+:10018000524F523A206D65646961206B6579300A7F\r
+:10019000004552524F523A206D65646961206B658B\r
+:1001A00079310A005D0A0025640020002564007C86\r
+:1001B000002530325800200025303258006164623A\r
+:1001C0005F6D6F757365207261773A205B000A007E\r
+:1001D0002530313662006164625F686F73745F6DF1\r
+:1001E0006F7573655F726563763A2000646562754A\r
+:1001F0006720656E61626C65642E0A005363616EF0\r
+:100200003A20616464723A25642C20726567333A3F\r
+:10021000253034580A00416674657220696E69742D\r
+:100220003A0A00466F756E643A206D656469612014\r
+:100230006B6579730A005363616E3A20616464727E\r
+:100240003A25642C20726567333A253034580A0009\r
+:100250004265666F726520696E69743A0A005B7365\r
+:100260005D004B6579626F617264207374617274B2\r
+:100270002E0A0055534220636F6E6669677572657A\r
+:10028000642E0A005B575D005B535D005B525D00AE\r
+:100290002E0341004400420020006B0065007900FD\r
+:1002A00062006F00610072006400200063006F0054\r
+:1002B0006E00760065007200740065007200000038\r
+:1002C0000E0374002E006D002E006B002E00000047\r
+:1002D0000403090409027400040100A032090400A7\r
+:1002E0000001030101000921110100012240000762\r
+:1002F00005810308000A0904010001030102000945\r
+:100300002111010001224D000705820308000A099E\r
+:10031000040200010300000009211101000122363E\r
+:10032000000705830308000A090403000203000014\r
+:100330000009211101000122220007058403200089\r
+:10034000010705040320000112011001000000084C\r
+:10035000EDFEDB0A0101010200010631FF0974A173\r
+:10036000010975150026FF009520750881020976A0\r
+:10037000150026FF00952075089102C0050109802F\r
+:10038000A101850216810026B7001A81002AB70054\r
+:10039000751095018100C0050C0901A101850316A6\r
+:1003A0000100269C021A01002A9C02751095018109\r
+:1003B00000C005010902A1010901A10005091901F7\r
+:1003C0002905150025019505750181029501750323\r
+:1003D00081010501093009311581257F95027508D4\r
+:1003E000810609381581257F950175088106050C60\r
+:1003F0000A38021581257F950175088106C0C00560\r
+:10040000010906A101050719E029E7150025019555\r
+:1004100008750181029501750881010508190129F6\r
+:10042000059505750191029501750391010507195F\r
+:100430000029FF150026FF00950675088100C00AF7\r
+:10044000002530325820006B6579626F6172645FFD\r
+:100450007265706F72743A20004C45443A20253022\r
+:1004600032580A00290A002575002F002575005D05\r
+:100470002800256400200025640020002564002059\r
+:10048000002564007C0025303258006D6F7573655F\r
+:100490006B6579205B62746E7C78207920762068A9\r
+:1004A0005D287265702F61636C293A205B006D6B6B\r
+:1004B0005F776865656C5F74696D655F746F5F6DAC\r
+:1004C0006178203D2025640A006D6B5F7768656563\r
+:1004D0006C5F6D61785F7370656564203D20256495\r
+:1004E0000A006D6B5F74696D655F746F5F6D617835\r
+:1004F000203D2025640A006D6B5F6D61785F73702D\r
+:10050000656564203D2025640A006D6B5F696E742B\r
+:10051000657276616C203D2025640A006D6B5F6416\r
+:10052000656C6179203D2025640A006D6B5F7768FA\r
+:1005300065656C5F74696D655F746F5F6D61782070\r
+:100540003D2025640A006D6B5F776865656C5F6DA3\r
+:1005500061785F7370656564203D2025640A006DD5\r
+:100560006B5F74696D655F746F5F6D6178203D20AE\r
+:1005700025640A006D6B5F6D61785F7370656564FB\r
+:10058000203D2025640A006D6B5F696E746572768C\r
+:10059000616C203D2025640A006D6B5F64656C61B1\r
+:1005A00079203D2025640A000A00257500363A208E\r
+:1005B000776865656C5F74696D655F746F5F6D61A9\r
+:1005C000783A20000A00257500353A20776865657D\r
+:1005D0006C5F6D61785F73706565643A20000A0036\r
+:1005E000257500343A2074696D655F746F5F6D61C5\r
+:1005F000783A20000A00257500333A206D61785F53\r
+:1006000073706565643A20000A00257500323A204F\r
+:10061000696E74657276616C286D73293A20000AE0\r
+:1006200000257500313A2064656C6179282A3130E3\r
+:100630006D73293A20000A092D2056616C75657387\r
+:10064000202D0A004D3E004D25643E20003F0073E2\r
+:1006500065742064656661756C740A00433E200011\r
+:1006600077686572652064656C74613A20637572A1\r
+:10067000736F723D25642C20776865656C3D256439\r
+:100680000A53656520687474703A2F2F656E2E7753\r
+:10069000696B6970656469612E6F72672F77696B2A\r
+:1006A000692F4D6F7573655F6B6579730A000A0971\r
+:1006B0002D204D6F7573656B6579202D0A45534369\r
+:1006C0002F713A09717569740A313A0964656C6170\r
+:1006D00079282A31306D73290A323A09696E7465B6\r
+:1006E0007276616C286D73290A333A096D61785FFF\r
+:1006F00073706565640A343A0974696D655F746F77\r
+:100700005F6D61780A353A09776865656C5F6D6180\r
+:10071000785F73706565640A363A09776865656C59\r
+:100720005F74696D655F746F5F6D61780A0A703A16\r
+:10073000097072696E742076616C7565730A643A2B\r
+:10074000097365742064656661756C74730A7570ED\r
+:100750003A092B310A646F776E3A092D310A7067B6\r
+:1007600075703A092B31300A7067646F776E3A09F9\r
+:100770002D31300A0A7370656564203D2064656C14\r
+:100780007461202A206D61785F7370656564202A2A\r
+:100790002028726570656174202F2074696D655F13\r
+:1007A000746F5F6D6178290A003F004D3E20004361\r
+:1007B0003E20004C25640A000A092D20436F6E7309\r
+:1007C0006F6C65202D0A4553432F713A0971756985\r
+:1007D000740A6D3A096D6F7573656B65790A000A65\r
+:1007E000092D204D61676963202D0A643A0964650B\r
+:1007F0006275670A783A096465627567206D61748D\r
+:100800007269780A6B3A096465627567206B65796D\r
+:10081000626F6172640A6D3A096465627567206D82\r
+:100820006F7573650A763A0976657273696F6E0A39\r
+:10083000733A097374617475730A633A09636F6E6E\r
+:10084000736F6C65206D6F64650A302D343A096CE6\r
+:1008500061796572302D34284631302D4634290AAD\r
+:10086000506175733A09626F6F746C6F6164657281\r
+:100870000A003F0074696D65725F726561643332AE\r
+:1008800028293A202530346C580A006B6579626F4C\r
+:100890006172645F69646C653A2025580A006B6573\r
+:1008A00079626F6172645F70726F746F636F6C3ABC\r
+:1008B0002025580A00686F73745F6B6579626F61F9\r
+:1008C00072645F6C65647328293A2025580A000A0F\r
+:1008D000092D20537461747573202D0A004743431A\r
+:1008E0003A20342E392E32204156522D4C49424363\r
+:1008F0003A20312E382E3073766E204156525F41A9\r
+:100900005243483A2061767233350A004F505449B9\r
+:100910004F4E533A204C554641204D4F5553454B71\r
+:1009200045592045585452414B455920434F4E5349\r
+:100930004F4C4520434F4D4D414E44204B45594D62\r
+:1009400041505F53454354494F4E20343039360AA5\r
+:10095000004255494C443A20383535333461372DFF\r
+:100960006469727479202831323A32303A33342053\r
+:100970005365702031322032303136290A00564911\r
+:10098000443A2030784645454428742E6D2E6B2E0F\r
+:1009900029205049443A203078304144422841448B\r
+:1009A00042206B6579626F61726420636F6E766559\r
+:1009B0007274657229205645523A203078303130B1\r
+:1009C000310A00444553433A20636F6E7665727472\r
+:1009D00020414442206B6579626F61726420746FBC\r
+:1009E000205553420A000A092D2056657273696F1B\r
+:1009F0006E202D0A000A6D6F7573653A206F66666A\r
+:100A00000A000A6D6F7573653A206F6E0A000A6BF3\r
+:100A10006579626F6172643A206F66660A000A6BDC\r
+:100A20006579626F6172643A206F6E0A000A6D61C7\r
+:100A3000747269783A206F66660A000A6D61747292\r
+:100A400069783A206F6E0A000A64656275673A2019\r
+:100A50006F6E0A000A64656275673A206F66660AFF\r
+:100A6000000A0A626F6F746C6F616465722E2E2EBD\r
+:100A70002000433E200011241FBECFEFD4E0DEBF94\r
+:100A8000CDBF04B603FE27C08091DC019091DD014B\r
+:100A9000A091DE01B091DF018730904BA740B04BB1\r
+:100AA000D1F41092DC011092DD011092DE0110925F\r
+:100AB000DF0114BE84B7877F84BF0FB6F894A89572\r
+:100AC00080916000886180936000109260000FBE8A\r
+:100AD000E0E0F8E3099511E0A0E0B1E0EAE7FDE429\r
+:100AE00002C005900D92A433B107D9F721E0A4E329\r
+:100AF000B1E001C01D92AC3DB207E1F70E949A0C33\r
+:100B00000C94BB260C940000FF93EF93E09134010A\r
+:100B1000F0913501309709F00995EF91FF91089513\r
+:100B2000FC018591803011F0EFDFFBCF0895FF27A6\r
+:100B3000E0E230E247FF0CC0419597FF09C0EDE2CB\r
+:100B40006095709580959095611D711D811D911D19\r
+:100B500027FF02C0219530E350E2AA27660F771FD6\r
+:100B6000881F991FAA1FA41710F0A41B63955A95FC\r
+:100B7000A9F7AA3008F0A95FA05DAF93F3956115BE\r
+:100B800071058105910541F7ED3211F4EF93F3956D\r
+:100B9000F21718F43F93F395FBCF8F91B5DFFA95D9\r
+:100BA000E1F70895E991F9918591803021F085323E\r
+:100BB00019F0AADFF9CF089520E0E8945591553255\r
+:100BC000C1F3503311F4689455915A3348F450539B\r
+:100BD00090F3220F022E220F220F200D250FF4CFAB\r
+:100BE0000EF4219589919991533619F3533729F1D0\r
+:100BF000533559F1BC0188279927E8945C3621F4D4\r
+:100C00008991999168945591543639F446EF7EF064\r
+:100C100077FF0DC08FEF9FEF0AC055374AE039F0DC\r
+:100C2000583540E121F0523642E009F00895FF9333\r
+:100C3000EF937DDFEF91FF91B7CFFF93EF93FC012F\r
+:100C400081918030B9F360DFFBCFFF93EF9368DFD2\r
+:100C5000F1CFDF93CF93CDB7DEB72596A3DFCF914A\r
+:100C6000DF910895282F2770E82FE695E695E69501\r
+:100C7000EF70F0E0E95CFE4F87FF0AC081E090E092\r
+:100C800001C0880F2A95EAF780959081892308C0D2\r
+:100C900081E090E001C0880F2A95EAF79081892BC6\r
+:100CA000808381E080934C0108950F931F93CF932D\r
+:100CB000DF93569A5E9A0E9498092FEF87EA91E691\r
+:100CC000215080409040E1F700C0000080E592E0B4\r
+:100CD0009F938F930E9429060F900F90C1E0D0E060\r
+:100CE00006E312E063E08C2F0E949C09009771F0EC\r
+:100CF0009F938F93DF93CF931F930F930E942906A7\r
+:100D00000F900F900F900F900F900F909FEF29EF83\r
+:100D100080E0915020408040E1F700C00000219623\r
+:100D2000C031D105F9F663E082E00E949C0981316F\r
+:100D3000910511F170F487309105F1F020F40497DA\r
+:100D40000297F0F419C089309105B1F00D97C1F404\r
+:100D500013C08D31910581F030F48431910561F03B\r
+:100D6000499771F409C0843C910531F0873C9105A5\r
+:100D700019F0813C910521F481E080934D0102C07E\r
+:100D800010924D0163E087E00E949C0991E082305F\r
+:100D900009F090E090934E01992341F083E292E0B4\r
+:100DA0009F938F930E9429060F900F9023E042E0BB\r
+:100DB00063E082E00E941C0A86E192E09F938F9399\r
+:100DC0000E9429060F900F90C1E0D0E00CEF11E0D7\r
+:100DD00063E08C2F0E949C09009771F09F938F9382\r
+:100DE000DF93CF931F930F930E9429060F900F90CC\r
+:100DF0000F900F900F900F908FEF99EF20E08150A0\r
+:100E000090402040E1F700C000002196C031D1059C\r
+:100E1000F9F6E7E3F1E080E18E0F11928E13FDCF3A\r
+:100E20008091BE0181608093BE018CEE91E00E94B2\r
+:100E30009005569A5E98DF91CF911F910F9108957A\r
+:100E4000CF93DF938FE79BEB0197F1F700C0000092\r
+:100E50000E94180AEC01009711F481E0BDC097FDD3\r
+:100E600005C080914701816080934701D7FF05C08D\r
+:100E7000809147018E7F80934701ED2FFF27EF730D\r
+:100E8000FF27CE018F739927C6FF02C080549109B6\r
+:100E9000D6FF02C0E054F109A09136010A2E000CE1\r
+:100EA000BB0BBD010E94702681382FEF920714F40E\r
+:100EB00081E89FEF22273327281B390B21388FEF3A\r
+:100EC000380714F421E83FEF219520934801CF0122\r
+:100ED000BD010E94702681382FEF920714F481E83B\r
+:100EE0009FEF91958195910981382FEF920714F426\r
+:100EF00081E89FEF8195809349018091BE0183FF36\r
+:100F000060C086ED91E00E949005DF93CF9380ED65\r
+:100F100091E09F938F930E9429068EEC91E00E94AE\r
+:100F200090058DEB91E00E94900580913601282F6D\r
+:100F3000082E000C330B3F938F9388EB91E09F9327\r
+:100F40008F930E94290686EB91E00E949005809184\r
+:100F500047011F928F9381EB91E09F938F930E94A3\r
+:100F600029068FEA91E00E94900580914801282F80\r
+:100F7000082E000C330B3F938F938CEA91E09F93E4\r
+:100F80008F930E9429068AEA91E00E949005809141\r
+:100F90004901282F082E000C330B3F938F9387EACB\r
+:100FA00091E09F938F930E94290684EA91E00E942A\r
+:100FB00090058DB79EB744960FB6F8949EBF0FBEAE\r
+:100FC0008DBF87E491E00E94EB118091360191E0A2\r
+:100FD00088300CF090E0890F80933601DF91CF913B\r
+:100FE00008951F93CF93DF9310924C01C09100019D\r
+:100FF000D09101018FEF9FEF909301018093000149\r
+:10100000CF3F8FEFD80709F06AC08FE79BEB0197BE\r
+:10101000F1F700C0000082E00E94150AEC01892B64\r
+:1010200009F05DC080914E01882309F458C087E023\r
+:101030000E94150A009709F452C09C012F773327AC\r
+:1010400022303105A1F048F42115310569F0213035\r
+:10105000310599F480788A641AC02330310551F043\r
+:101060002F373105A1F009C08078826410C08078E4\r
+:1010700089640DC0807888640AC081E991E09F93FB\r
+:101080008F930E9429060F900F9081E18FC0292F26\r
+:1010900033272F7733272130310579F050F0223074\r
+:1010A000310579F02330310581F4EC01D078D86432\r
+:1010B00016C0EC01D078D26412C0EC01D078DA64AA\r
+:1010C0000EC0EC01D078D9640AC08EE791E09F93FE\r
+:1010D0008F930E9429060F900F9080E167C0809146\r
+:1010E000BE0181FF18C0209709F45DC08AE691E037\r
+:1010F0000E949005DF93CF9385E691E09F938F93B5\r
+:101100000E94290683E691E00E9490050F900F90BF\r
+:101110000F900F9003C0209709F445C0CF379FE789\r
+:10112000D90711F48FE705C0CF3F8FEFD80721F41F\r
+:101130008FEF0E94320639C02D2F3327822F1C2FAC\r
+:101140002F3F310581F4DF93CF9385E491E09F93A6\r
+:101150008F930E9429060E9455060F900F900F90C2\r
+:101160000F908C2F23C090914D01992381F0A901FC\r
+:101170004F7755274233510521F42078822F8A601A\r
+:1011800006C04A30510519F42078822F82630E94EC\r
+:1011900032061F3F51F0DC2FCC27CF6FD0930101D7\r
+:1011A000C093000102C080E001C081E0DF91CF91D7\r
+:1011B0001F910895E82FF0E0E95CFE4F2081822F17\r
+:1011C00090E021E030E002C0220F331F6A95E2F781\r
+:1011D0002823392381E0232B09F480E00895E82FA8\r
+:1011E000F0E0E95CFE4F80810895CF92DF92EF92AC\r
+:1011F000FF920F931F93CF93DF938091BE0181FFE6\r
+:1012000035C087E391E00E94900587E3E82E81E0F6\r
+:10121000F82EC0E0D0E092E3C92E91E0D92E0AE288\r
+:1012200011E0DF93CF93DF92CF920E9429068FE2E5\r
+:1012300091E00E949005F70181917F010E94521D6B\r
+:101240001F928F931F930F930E94290688E291E0CB\r
+:101250000E94900521968DB79EB708960FB6F89418\r
+:101260009EBF0FBE8DBFC031D105D9F6DF91CF91A2\r
+:101270001F910F91FF90EF90DF90CF900895682F0E\r
+:10128000609582E00C94550A509A83E091E00197B2\r
+:10129000F1F700C0000050989AEB9A95F1F700C062\r
+:1012A0000895509A8AEB8A95F1F700C0509883E030\r
+:1012B00091E00197F1F700C000000895EF92FF92CE\r
+:1012C0000F931F93CF93DF93C0E0D0E090E8E92E17\r
+:1012D000F12C082F10E0C7010C2E02C095958795C0\r
+:1012E0000A94E2F780239123892B19F00E94510977\r
+:1012F00002C00E9444092196C830D10561F7DF91F0\r
+:10130000CF911F910F91FF90EF900895489B06C0D9\r
+:1013100023E02A95F1F700000197C1F70895489955\r
+:1013200006C023E02A95F1F700000197C1F7089560\r
+:101330005898509808950895CF92DF92EF92FF92B7\r
+:101340000F931F93CF93DF9300D0CDB7DEB7F89400\r
+:10135000509AE3EFFBE03197F1F700C000006A8399\r
+:1013600089830E9451096A816C6089818295807F9E\r
+:10137000862B0E945E090E94440984EF91E00E943E\r
+:101380008F09892B21F4789482EE9FEF43C084EF7C\r
+:1013900091E00E948609009711F478943BC011E116\r
+:1013A000C12CD12C02E882E890E00E948F097C01D8\r
+:1013B000882351F199270E948609882329F1CC0CB2\r
+:1013C000DD1C902F9E19E81A9E1518F46894C0F839\r
+:1013D00006C0113121F478948CEE9FEF1BC01150A0\r
+:1013E00011F78FE591E00E948F09892B21F4789401\r
+:1013F0008BEE9FEF0FC08BE590E00E948609892B52\r
+:10140000B1F77894C60106C07894812F90E0919549\r
+:10141000819591090F900F90DF91CF911F910F91BE\r
+:10142000FF90EF90DF90CF90089560E00C949C09BE\r
+:1014300060E083E00C949C091F93CF93DF9300D06E\r
+:101440001F92CDB7DEB7182FF894509A83EF9BE028\r
+:101450000197F1F700C000002B834A8369830E9443\r
+:1014600051096981862F88601295107F812B0E9417\r
+:101470005E090E9444098FE193E00197F1F700C0F3\r
+:1014800000000E9451094A81842F0E945E092B812D\r
+:10149000822F0E945E090E94440978940F900F9059\r
+:1014A0000F90DF91CF911F910895262F277040E074\r
+:1014B00062E00C941C0A80915A0108959FB7F89439\r
+:1014C000109251019FBF9091D301943009F057C001\r
+:1014D0009091E9009F703091EC00232F217030FD36\r
+:1014E00020E8922B24E02093E9002091EB0020FFDC\r
+:1014F00043C02091EE0027FF3FC020914F012223DF\r
+:1015000021F02091E80025FF37C010924F0126E01E\r
+:101510003091E80035FD15C03091D301343061F5CC\r
+:101520003091EB0035FD28C0215021F481E08093FB\r
+:101530004F0122C0EFE9FFE03197F1F700C0000052\r
+:10154000E7CF8093F1008091E80085FD0AC080918B\r
+:10155000E80080FFFCCF8091E8008E778093E80060\r
+:1015600006C08FB7F89421E0209351018FBF9F7080\r
+:101570009093E90080E008959F709093E9008FEFC9\r
+:101580000895CF93DF9300D01F92CDB7DEB79C01B3\r
+:101590008091D301843019F593E099833B832A83AA\r
+:1015A0009093E9008FEF9091E800815095FD06C07F\r
+:1015B00095ED9A95F1F700008111F5CF8091E80043\r
+:1015C00085FF0DC040E050E063E070E0CE01019681\r
+:1015D0000E945B0D8091E8008E778093E8000F9069\r
+:1015E0000F900F90DF91CF910895CF93DF9300D0AC\r
+:1015F0001F92CDB7DEB72091D301243021F522E030\r
+:1016000029839B838A8383E08093E9008FEF909105\r
+:10161000E800815095FD06C095ED9A95F1F7000020\r
+:101620008111F5CF8091E80085FF0DC040E050E0CA\r
+:1016300063E070E0CE0101960E945B0D8091E800AE\r
+:101640008E778093E8000F900F900F90DF91CF91ED\r
+:1016500008952091D3012430F1F422E02093E90091\r
+:101660002FEF3091E800215035FD06C035ED3A9559\r
+:10167000F1F700002111F5CF2091E80025FF0BC004\r
+:1016800040E050E065E070E00E945B0D8091E80072\r
+:101690008E778093E8000895CF93DF932091D30154\r
+:1016A000243039F521E02093E9002FEF3091E80054\r
+:1016B000215035FD06C035ED3A95F1F700002111B6\r
+:1016C000F5CF2091E80025FF14C0EC0140E050E088\r
+:1016D00068E070E00E945B0D8091E8008E77809357\r
+:1016E000E80088E0FE01A2E5B1E001900D928A9544\r
+:1016F000E1F7DF91CF9108958CE892E00C9490058A\r
+:10170000209150012F5F822F62E30E94812699234E\r
+:1017100019F02093500108951092500180915101C9\r
+:10172000882371F18091D301843041F58091E900E3\r
+:101730008F702091EC00922F917020FD90E8892B02\r
+:1017400094E09093E9009091EB0090FF14C0909189\r
+:10175000EE0097FF10C09091E80095FF03C0109233\r
+:10176000F100F9CF9091E80090FF05C09091E8005A\r
+:101770009E779093E8008F708093E900109251015A\r
+:10178000089542E061EC81E00E94640E42E061EC69\r
+:1017900082E00E94640E42E061EC83E00E94640EED\r
+:1017A00042E261EC84E00C94640E8091D5018330B8\r
+:1017B00009F453C030F4813071F0823009F48CC0E8\r
+:1017C00008958A3009F478C08B3009F45EC08930FE\r
+:1017D00009F09AC020C08091D401813A09F094C0E8\r
+:1017E0008091E800877F8093E8008091D8019091F4\r
+:1017F000D901892B21F468E082E591E003C060E023\r
+:1018000080E090E070E00E94A60D8091E8008B7768\r
+:101810008093E80008958091D401813209F074C06A\r
+:101820008091D8019091D901892B09F06DC08091E8\r
+:10183000E800877F8093E8008091E80082FD05C082\r
+:101840008091D3018111F8CF5FC08091F100809326\r
+:101850005A018091E8008B7753C08091D401813A7E\r
+:1018600009F052C08091D8019091D901892B09F0DB\r
+:101870004BC08091E800877F8093E8008091E8006A\r
+:1018800080FFFCCF80910C0136C08091D401813261\r
+:10189000D9F58091D8019091D901892BA9F5809132\r
+:1018A000E800877F8093E8000E94990E8091D6011E\r
+:1018B00080930C010C9476178091D401813221F52C\r
+:1018C0008091E800877F8093E8000E94990E8091C4\r
+:1018D000D70180935B0108958091D401813AA1F4EE\r
+:1018E0008091E800877F8093E8008091E80080FF86\r
+:1018F000FCCF80915B018093F1008091E8008E77AE\r
+:101900008093E8000C94990E089508950895089521\r
+:1019100088E892E00E9490050C94870C0E94781D44\r
+:101920008091D101882329F00E94A31D81110C947C\r
+:10193000450D089584B7877F84BF0FB6F894A895A6\r
+:1019400080916000886180936000109260000FBEFB\r
+:1019500090E080E80FB6F894809361009093610066\r
+:101960000FBE0E94850C0E9423120E94EA0E0E9464\r
+:101970003D0F8091E20084608093E2008EE59AE062\r
+:101980000E944D1D78948091D3018430E1F783E764\r
+:1019900092E00E9490050E94251282E091E00E9450\r
+:1019A000911182E692E00E9490050E94860C80913F\r
+:1019B000D301853039F48EE592E00E9490050E94B3\r
+:1019C0008E0CF5CF0E942B12F2CF0C94B71D84E839\r
+:1019D00092E00E9490050C94E50C292F33272330C8\r
+:1019E0003105C9F064F42130310581F02230310530\r
+:1019F00009F043C084E790E024ED32E042C0213298\r
+:101A00003105F1F02232310541F137C082E190E039\r
+:101A100028E433E036C099278130910541F08230C7\r
+:101A2000910541F0892B49F5E0EDF2E005C0E0ECCD\r
+:101A3000F2E002C0E0E9F2E0849190E09F0121C071\r
+:101A40006430D8F4E62FF0E0EE0FFF1FEF5DFE4F9D\r
+:101A50002081318189E090E014C0643070F470E03E\r
+:101A6000FB01EE0FFF1FE75EFE4F20813181FB017E\r
+:101A7000EB5EFE4F808190E004C080E090E020E0CB\r
+:101A800030E0FA0131832083089584E089BD86E047\r
+:101A900089BD09B400FEFDCF8091D8008F7D809371\r
+:101AA000D8008091E00082608093E0008091E000A7\r
+:101AB00081FDFCCF0895CF92DF92EF92FF920F93BA\r
+:101AC0001F93CF93DF93EC018B016A010E94B80E44\r
+:101AD000811133C0C114D10439F0F60180819181A4\r
+:101AE000081B190BC80FD91FE12CF12C011511058A\r
+:101AF00019F18091E80085FD16C08091E8008E778D\r
+:101B00008093E800C114D10449F0F60180819181ED\r
+:101B1000E80EF91EF182E08285E00FC00E94B80E47\r
+:101B2000882321F30AC089918093F10001501109A3\r
+:101B3000FFEFEF1AFF0ADACF80E0DF91CF911F911C\r
+:101B40000F91FF90EF90DF90CF9008952091DA01F0\r
+:101B50003091DB012617370748F06115710539F41C\r
+:101B60002091E8002E772093E80001C0B90140E001\r
+:101B70006115710591F12091D301222309F440C030\r
+:101B8000253009F43FC02091E80023FD3DC020919D\r
+:101B9000E80022FD2FC02091E80020FFE9CF20912E\r
+:101BA000F20030E0FC01CF016115710559F02830D9\r
+:101BB000310540F481918093F100615071092F5FEC\r
+:101BC0003F4FF1CF41E02830310509F040E020914E\r
+:101BD000E8002E772093E800CBCF4111CCCF0AC08C\r
+:101BE0008091D301882361F0853061F08091E80015\r
+:101BF00083FD0AC08091E80082FFF2CF80E0089563\r
+:101C000082E0089583E0089581E008952091DA014B\r
+:101C10003091DB012617370748F06115710539F45B\r
+:101C20002091E8002E772093E80001C0B901FC0163\r
+:101C300020E06115710579F18091D301882309F4C1\r
+:101C40003DC0853009F43CC08091E80083FD3AC076\r
+:101C50008091E80082FD2CC08091E80080FFE9CFF0\r
+:101C60008091F20090E06115710559F0883091057E\r
+:101C700040F424912093F10031966150710901964E\r
+:101C8000F2CF21E0089709F020E08091E8008E77FC\r
+:101C90008093E800CECF2111CFCF0AC08091D3012D\r
+:101CA000882361F0853061F08091E80083FD0AC0EF\r
+:101CB0008091E80082FFF2CF80E0089582E00895ED\r
+:101CC00083E0089581E00895982F953058F590931A\r
+:101CD000E900981739F07091EC002091ED005091D7\r
+:101CE000F00003C0242F762F50E021FF19C030915F\r
+:101CF000EB003E7F3093EB003091ED003D7F309361\r
+:101D0000ED003091EB0031603093EB007093EC000C\r
+:101D10002093ED005093F0002091EE0027FF07C0C4\r
+:101D20009F5FD3CF8F708093E90081E0089580E0BA\r
+:101D300008958091D40187FF11C08091E80082FD51\r
+:101D400005C08091D3018111F8CF11C08091E800C6\r
+:101D50008B770BC08091D301882349F08091E800F4\r
+:101D600080FFF8CF8091E8008E778093E800089597\r
+:101D70002091E4003091E50095E64091EC00842F3D\r
+:101D8000817040FF22C08091E80080FD1CC08091DE\r
+:101D9000D301882391F0853091F08091EB0085FD8F\r
+:101DA00010C04091E4005091E5004217530729F319\r
+:101DB0009A01915011F784E0089582E0089583E03C\r
+:101DC000089581E0089580E008954091E80042FF81\r
+:101DD000DECF08950E94470F0E944A0FE0EEF0E028\r
+:101DE000808181608083E8EDF0E080818F7780835F\r
+:101DF00019BCE3E6F0E08081816080831092D2011B\r
+:101E000008950E94470F0E944A0F8091D8008F7753\r
+:101E10008093D8008091D80080688093D80080910A\r
+:101E2000D8008F7D8093D80084E089BD86E089BD8D\r
+:101E300009B400FEFDCF1092D3011092CF01109291\r
+:101E4000D1011092D00142E060E080E00E94640E77\r
+:101E50008091E1008E7F8093E1008091E2008160BB\r
+:101E60008093E2008091E20088608093E20080919C\r
+:101E7000E0008E7F8093E0000895E3E6F0E080814B\r
+:101E80008E7F808381E08093D2010C94010F1092A9\r
+:101E9000E20008951092E10008951F920F920FB68C\r
+:101EA0000F9211242F933F934F935F936F937F93E0\r
+:101EB0008F939F93AF93BF93EF93FF938091E10034\r
+:101EC00082FF0BC08091E20082FF07C08091E10099\r
+:101ED0008B7F8093E1000E94800B8091E10080FF66\r
+:101EE00019C08091E20080FF15C08091E2008E7FD2\r
+:101EF0008093E2008091E20080618093E200809113\r
+:101F0000D80080628093D80019BC85E08093D3010B\r
+:101F10000E94880C8091E10084FF30C08091E20033\r
+:101F200084FF2CC084E089BD86E089BD09B400FE31\r
+:101F3000FDCF8091D8008F7D8093D8008091E10003\r
+:101F40008F7E8093E1008091E2008F7E8093E2009B\r
+:101F50008091E20081608093E2008091CF0188232C\r
+:101F600011F084E007C08091E30087FD02C081E0AA\r
+:101F700001C083E08093D3010E94E70C8091E100CF\r
+:101F800083FF29C08091E20083FF25C08091E1009A\r
+:101F9000877F8093E10082E08093D3011092CF018C\r
+:101FA0008091E1008E7F8093E1008091E2008E7F3E\r
+:101FB0008093E2008091E20080618093E20042E041\r
+:101FC00060E080E00E94640E8091F0008860809361\r
+:101FD000F0000E947C0BFF91EF91BF91AF919F9118\r
+:101FE0008F917F916F915F914F913F912F910F90C2\r
+:101FF0000FBE0F901F9018951F920F920FB60F9261\r
+:1020000011242F933F934F935F936F937F938F93FD\r
+:102010009F93AF93BF93CF93DF93EF93FF93C091C1\r
+:10202000E900CF708091EC00D82FD17080FDD0E80E\r
+:102030001092E9008091F000877F8093F0007894FF\r
+:102040000E9440101092E9008091F0008860809317\r
+:10205000F000CD2BCF70C093E900FF91EF91DF919D\r
+:10206000CF91BF91AF919F918F917F916F915F9130\r
+:102070004F913F912F910F900FBE0F901F90189589\r
+:102080001F93CF93DF93CDB7DEB7AA970FB6F8941F\r
+:10209000DEBF0FBECDBFE4EDF1E088E08E0F909182\r
+:1020A000F10091938E13FBCF0E94D50B8091E80035\r
+:1020B00083FF1FC18091D4019091D501492F50E039\r
+:1020C0004A30510508F015C1FA01E65CFF4F0C9447\r
+:1020D000A126803881F0823809F00BC18091D801A7\r
+:1020E0008F708093E9008091EB0085FB882780F951\r
+:1020F0001092E90006C08091D0019091D101911118\r
+:1021000082609091E800977F9093E8008093F100BF\r
+:102110001092F100C8C0282F2D7F09F0EAC0882353\r
+:1021200019F0823061F0E5C08091D601813009F06C\r
+:10213000E0C0933009F080E08093D1012BC0809102\r
+:10214000D601811127C08091D8018F7009F4D1C0C8\r
+:102150008093E9002091EB0020FF1CC0933021F414\r
+:102160008091EB00806214C09091EB00906190939D\r
+:10217000EB0021E030E0A90102C0440F551F8A9511\r
+:10218000E2F74093EA001092EA008091EB00886049\r
+:102190008093EB001092E9008091E800877F86C071\r
+:1021A0008111A7C01091D6011F778091E30080783C\r
+:1021B000812B8093E3008091E800877F8093E80083\r
+:1021C0000E94990E8091E80080FFFCCF8091E3008F\r
+:1021D00080688093E300111102C082E001C083E0B7\r
+:1021E0008093D30186C08058823008F082C08091ED\r
+:1021F000D6019091D7018C3D53E0950779F583E0A6\r
+:102200008A838AE289834FB7F894DE01139620E02F\r
+:102210003EE051E2E32FF0E050935700E49120FFBD\r
+:1022200003C0E295EF703F5FEF708E2F90E0EA30D1\r
+:1022300010F0C79601C0C0968D939D932F5F2431F7\r
+:1022400049F74FBF8091E800877F8093E8006AE2FA\r
+:1022500070E0CE0101960E94A60D14C0AE014F5F42\r
+:102260005F4F6091D8010E94ED0CBC01892B09F4ED\r
+:1022700040C09091E800977F9093E80089819A810F\r
+:102280000E94060E8091E8008B778093E80031C0B1\r
+:10229000803879F58091E800877F8093E80080910D\r
+:1022A000CF018093F1008091E8008E778093E80061\r
+:1022B0000E94990E1EC081111CC09091D6019230CF\r
+:1022C000C0F48091E800877F8093E8009093CF016D\r
+:1022D0000E94990E8091CF01811106C08091E30088\r
+:1022E00087FD02C081E001C084E08093D3010E9499\r
+:1022F000C10B8091E80083FF0AC08091E800877FCE\r
+:102300008093E8008091EB0080628093EB00AA96B6\r
+:102310000FB6F894DEBF0FBECDBFDF91CF911F91F6\r
+:10232000089590936101809360010895E0916001A8\r
+:10233000F0916101309721F00190F081E02D099436\r
+:1023400080E00895EF92FF920F931F93CF93DF9356\r
+:10235000E0916001F09161013097B1F18C01028050\r
+:10236000F381E02D09958091BE0182FF2DC080FF91\r
+:1023700004C087E494E00E949005E80118E081E43D\r
+:10238000E82E84E0F82E8091BE0180FF0BC088818A\r
+:102390001F928F93FF92EF920E9429060F900F9049\r
+:1023A0000F900F90115021961111EDCF8091BE0129\r
+:1023B00080FF0AC08FE394E0DF91CF911F910F91CE\r
+:1023C000FF90EF900C949005DF91CF911F910F91AA\r
+:1023D000FF90EF900895E0916001F09161013097D6\r
+:1023E00021F00480F581E02D0994089520915E018B\r
+:1023F00030915F018217930771F090935F01809392\r
+:102400005E01E0916001F0916101309721F006805A\r
+:10241000F781E02D0994089520915C0130915D01D0\r
+:102420008217930771F090935D0180935C01E091B6\r
+:102430006001F0916101309721F00084F185E02D79\r
+:102440000994089508950C9422120E94E21D0E949E\r
+:1024500055060C949B09CF92DF92EF92FF920F9357\r
+:102460001F93CF93DF9300D000D000D0CDB7DEB75D\r
+:102470000E94F10783E6C82E81E0D82E00E010E02C\r
+:10248000E02E802F0E94EF08F60141916F01F42E9B\r
+:10249000F826B1F40F5F1F4F0031110589F78FEF58\r
+:1024A00089838A831B820E94EB1D8160782F9D8324\r
+:1024B0008C8349815A816B818D810E94EC1247C0C7\r
+:1024C0009091BE0191FF04C08E830E94F5088E8119\r
+:1024D00020E030E04F2D50E0922FBA01022E02C0D2\r
+:1024E000759567950A94E2F760FF2BC02983EA820D\r
+:1024F00021E030E0690102C0CC0CDD1C9A95E2F7C6\r
+:1025000090E08C219D21892B09F420E02B830E94EF\r
+:10251000EB1D8160782F9D838C8349815A816B816B\r
+:102520008D810E94EC1249815A816B817C818D8161\r
+:102530000E94651DF801ED59FE4F8081C826C082BA\r
+:1025400006C02F5F3F4F2830310531F6A3CF0E94E0\r
+:10255000641D0E94B8200E942007109162010E9411\r
+:102560009611181741F10E94961180936201909183\r
+:10257000BE0192FF0EC090FF0CC01F928F9389E5A1\r
+:1025800094E09F938F930E9429060F900F900F90D5\r
+:102590000F908091620126960FB6F894DEBF0FBEB1\r
+:1025A000CDBFDF91CF911F910F91FF90EF90DF9002\r
+:1025B000CF900C94761D26960FB6F894DEBF0FBE12\r
+:1025C000CDBFDF91CF911F910F91FF90EF90DF90E2\r
+:1025D000CF9008950C943F09CF93DF93CDB7DEB72A\r
+:1025E0002B970FB6F894DEBF0FBECDBF942F4F834D\r
+:1025F000252F588769877A878B874A855B85452B86\r
+:1026000021F02F3F09F59F3FF9F4DE01119686E096\r
+:10261000FD0111928A95E9F785E0FE013796019058\r
+:102620000D928A95E1F749815A816B817C818D8178\r
+:102630009E810E941F1A2B960FB6F894DEBF0FBE24\r
+:10264000CDBFDF91CF9108954F81588569857A85F7\r
+:102650008B850E94651DD9CFCF93882309F4CDC007\r
+:10266000C82F823859F40E94961181FDC6C089E3B3\r
+:102670000E94AE1C0E94271D89E30CC0833879F4A8\r
+:102680000E94961180FDB9C083E50E94AE1C0E9495\r
+:10269000271D83E50E94CB1CCF910C94271D843805\r
+:1026A00059F40E94961182FDA8C087E40E94AE1CD6\r
+:1026B0000E94271D87E4EECF8CEF8C0F813A48F4FF\r
+:1026C0008C2F0E94E423811198C08C2F0E94AE1C95\r
+:1026D000E3CF80E28C0F883048F4C77081E001C0FE\r
+:1026E000880FCA95EAF70E94ED1CD6CF8BE58C0FB8\r
+:1026F000833078F4C53A29F0C63A31F083E890E0A7\r
+:1027000005C081E890E002C082E890E0CF910C948F\r
+:10271000F61188E58C0F853108F06FC0C83A61F179\r
+:10272000C93A69F1CA3A71F1CB3A79F1CC3A81F1FF\r
+:10273000CD3A89F1CE3A91F1CF3A99F1C13BA1F16D\r
+:10274000C03BA9F1C23BB1F1C33BB9F1C43BC1F1FC\r
+:10275000C53BC9F1C63BD1F1C73BD9F1C83BE1F15B\r
+:10276000C93BE9F1CA3BF1F1CB3BF9F1CC3B09F4B0\r
+:102770003FC080E090E03EC082EE90E03BC089EE3A\r
+:1027800090E038C08AEE90E035C085EB90E032C032\r
+:1027900086EB90E02FC083EB90E02CC084EB90E0C0\r
+:1027A00029C087EB90E026C08CEC90E023C08DEC34\r
+:1027B00090E020C083E891E01DC08AE891E01AC053\r
+:1027C00082E991E017C084E991E014C081E292E0CF\r
+:1027D00011C083E292E00EC084E292E00BC085E279\r
+:1027E00092E008C086E292E005C087E292E002C073\r
+:1027F0008AE292E0CF910C940C12CF910895882335\r
+:1028000009F44BC0823859F40E94961181FF45C0EB\r
+:1028100089E30E94AE1C0E94271D89E30CC0833807\r
+:1028200071F40E94961180FF38C083E50E94AE1CAF\r
+:102830000E94271D83E50E94CB1C0C94271D843821\r
+:1028400059F40E94961182FF28C087E40E94AE1CB2\r
+:102850000E94271D87E4EFCF9CEF980F913A58F321\r
+:1028600090E2980F983050F4877091E001C0990F72\r
+:102870008A95EAF7892F0E94F31CDFCF9BE5980F1A\r
+:10288000933020F480E090E00C94F611885A853162\r
+:1028900020F480E090E00C940C120895882321F03D\r
+:1028A0000E94ED1C0C94271D0895882321F00E949E\r
+:1028B000F31C0C94271D0895CF92DF92EF92FF92A4\r
+:1028C0000F931F93CF93DF9300D000D000D0CDB7EC\r
+:1028D000DEB725E0FC01DE01119601900D922A95EC\r
+:1028E000E1F7FC0140813181F280258122952F7032\r
+:1028F00063817481672B09F4D8C23F3F19F44F3FBD\r
+:1029000009F4D3C26C0149833A8389819A812E8369\r
+:102910000E946D1C182F092F0E946C1C0E947C1BAA\r
+:10292000E02FE295EF70F0E0EC5BFF4F2E810C940E\r
+:10293000A126802F807F902F9F70092F882311F070\r
+:102940000295007FFF2049F0002309F45FC2802F29\r
+:102950000E94001D0E94271D59C2812F0E94FF1353\r
+:10296000002309F4A2C2802F0E94061D26960FB6EE\r
+:10297000F894DEBF0FBECDBFDF91CF911F910F91B5\r
+:10298000FF90EF90DF90CF900C94271D802F807FD9\r
+:10299000902F9F70092F803211F00295007F112334\r
+:1029A00019F0113001F129C0FF20A9F0802F222356\r
+:1029B00049F1213039F526960FB6F894DEBF0FBEE7\r
+:1029C000CDBFDF91CF911F910F91FF90EF90DF90DE\r
+:1029D000CF900C94101D222319F0213009F465C208\r
+:1029E0000E94131D2CC0FF20E9F0263008F05DC2C4\r
+:1029F0000E94EA1C802329F022C0FF20F1F021115F\r
+:102A000015C0802F26960FB6F894DEBF0FBECDBF3F\r
+:102A1000DF91CF911F910F91FF90EF90DF90CF90BA\r
+:102A20000C944E14253008F040C209C0F60185818F\r
+:102A300080FFECC18F708583E4CF2111FBC1802F13\r
+:102A400069C1202F26952695237030E02115310588\r
+:102A500021F021303105C9F028C2FF2021F0812F5B\r
+:102A6000902F937002C080E090E026960FB6F89405\r
+:102A7000DEBF0FBECDBFDF91CF911F910F91FF90B1\r
+:102A8000EF90DF90CF900C94F611FF2021F0812F72\r
+:102A9000902F937002C080E090E026960FB6F894D5\r
+:102AA000DEBF0FBECDBFDF91CF911F910F91FF9081\r
+:102AB000EF90DF90CF900C940C12812FFF2019F033\r
+:102AC0000E943E1F02C00E94A61F26960FB6F894D1\r
+:102AD000DEBF0FBECDBFDF91CF911F910F91FF9051\r
+:102AE000EF90DF90CF900C942B20802F837009F013\r
+:102AF00078C0F110DAC1812F829586958770880F92\r
+:102B0000880F912F9F70C92ED12CE12CF12C082E0B\r
+:102B100004C0CC0CDD1CEE1CFF1C0A94D2F714FF81\r
+:102B200012C04FE050E060E070E004C0440F551F59\r
+:102B3000661F771F8A95D2F7CB01BA016095709511\r
+:102B40008095909503C060E070E0CB01202F269522\r
+:102B500026952370422F50E042305105D1F043308A\r
+:102B6000510559F16C297D298E299F294130510544\r
+:102B700041F126960FB6F894DEBF0FBECDBFDF91B0\r
+:102B8000CF911F910F91FF90EF90DF90CF900C9419\r
+:102B9000911B6C297D298E299F2926960FB6F894C2\r
+:102BA000DEBF0FBECDBFDF91CF911F910F91FF9080\r
+:102BB000EF90DF90CF900C94A31B0E94911BC70154\r
+:102BC000B60126960FB6F894DEBF0FBECDBFDF91DB\r
+:102BD000CF911F910F91FF90EF90DF90CF900C94C9\r
+:102BE0007F1BFF2019F0802F817001C086958823FC\r
+:102BF00009F45BC1812F829586958770880F880FB5\r
+:102C0000912F9F70C92ED12CE12CF12C082E04C0DD\r
+:102C1000CC0CDD1CEE1CFF1C0A94D2F714FF12C072\r
+:102C20004FE050E060E070E004C0440F551F661FA5\r
+:102C3000771F8A95D2F7CB01BA0160957095809580\r
+:102C4000909503C060E070E0CB01202F269526957B\r
+:102C50002370422F50E042305105D1F043305105EE\r
+:102C600059F16C297D298E299F294130510541F167\r
+:102C700026960FB6F894DEBF0FBECDBFDF91CF9181\r
+:102C80001F910F91FF90EF90DF90CF900C94481C14\r
+:102C90006C297D298E299F2926960FB6F894DEBFD0\r
+:102CA0000FBECDBFDF91CF911F910F91FF90EF909D\r
+:102CB000DF90CF900C945A1C0E94481CC701B601AB\r
+:102CC00026960FB6F894DEBF0FBECDBFDF91CF9131\r
+:102CD0001F910F91FF90EF90DF90CF900C94361CD6\r
+:102CE000103F41F118F4103E48F48BC0123F09F434\r
+:102CF00050C0D8F1133F09F460C083C01F70802F0B\r
+:102D00008F71FF2021F00E94CF1B812F7BCE0E946C\r
+:102D1000F01B812F26960FB6F894DEBF0FBECDBFF5\r
+:102D2000DF91CF911F910F91FF90EF90DF90CF90A7\r
+:102D30000C945514FF20A9F0253008F0B6C0802F60\r
+:102D40008F7126960FB6F894DEBF0FBECDBFDF9110\r
+:102D5000CF911F910F91FF90EF90DF90CF900C9447\r
+:102D6000151C263008F0A1C0EACFFF20A1F0802F6B\r
+:102D70008F7126960FB6F894DEBF0FBECDBFDF91E0\r
+:102D8000CF911F910F91FF90EF90DF90CF900C9417\r
+:102D9000CF1BFF2061F3802F8F7126960FB6F8941A\r
+:102DA000DEBF0FBECDBFDF91CF911F910F91FF907E\r
+:102DB000EF90DF90CF900C94F01BFF2091F0802FCC\r
+:102DC0008F7126960FB6F894DEBF0FBECDBFDF9190\r
+:102DD000CF911F910F91FF90EF90DF90CF900C94C7\r
+:102DE000BA1B26960FB6F894DEBF0FBECDBFDF919B\r
+:102DF000CF911F910F91FF90EF90DF90CF900C94A7\r
+:102E0000B51BFF20A1F0222309F4B1CF812F269614\r
+:102E10000FB6F894DEBF0FBECDBFDF91CF911F91EB\r
+:102E20000F91FF90EF90DF90CF900C942C13222302\r
+:102E300009F4B1CF812F26960FB6F894DEBF0FBEEE\r
+:102E4000CDBFDF91CF911F910F91FF90EF90DF9059\r
+:102E5000CF900C94FF13402F4F70612FC6010E943A\r
+:102E6000B41E26960FB6F894DEBF0FBECDBFDF911D\r
+:102E7000CF911F910F91FF90EF90DF90CF900C9426\r
+:102E8000C71A402F4F70612FC60126960FB6F894CF\r
+:102E9000DEBF0FBECDBFDF91CF911F910F91FF908D\r
+:102EA000EF90DF90CF900C94B71E26960FB6F89453\r
+:102EB000DEBF0FBECDBFDF91CF911F910F91FF906D\r
+:102EC000EF90DF90CF9008950E940D1D0E94DC1CB2\r
+:102ED0000E94271D0E945F210E942B2080E090E02D\r
+:102EE0000E94F61180E090E00C940C120E94FD1CF0\r
+:102EF0000C9464170E946D1C292F22952F7030E0CE\r
+:102F00002C3031054CF42A3031056CF42250310953\r
+:102F10002230310588F407C02C30310549F02F30BC\r
+:102F2000310531F009C0803E48F0803F29F406C0E9\r
+:102F300093FB882780F9089580E0089581E0089543\r
+:102F4000CF93DF9300D000D01F92CDB7DEB70F90A4\r
+:102F50000F900F900F900F90DF91CF910895CF9326\r
+:102F6000DF9300D000D000D0CDB7DEB726960FB6E5\r
+:102F7000F894DEBF0FBECDBFDF91CF910895CF9300\r
+:102F8000DF93C091730180917401C817A1F0D0E064\r
+:102F9000CE0166E070E00E947026FC01EB58FE4F07\r
+:102FA0004081518162817381848195810E94AF1734\r
+:102FB0002196C770E8CFDF91CF9108954091A50188\r
+:102FC0005091A6016091A7017091A8018091A9017B\r
+:102FD0009091AA010C94AF17CF93DF938091AA012F\r
+:102FE00082958F7009F05CC08091A701882309F455\r
+:102FF00057C020917301D09174014091A501C091F7\r
+:10300000A601E091A801F091A9012D1709F448C08B\r
+:1030100030E0309709F440C0CF3F11F44F3FE1F169\r
+:10302000C90166E070E00E947026DC01AB58BE4F1B\r
+:1030300011968C911197C8132FC08C9148132CC0F6\r
+:1030400012968C911297811127C013968D919C91A5\r
+:1030500014978E179F0708F401978E1B9F0B883CCF\r
+:103060009105D0F48091AA018F7080618093AA01AC\r
+:10307000C90166E070E00E947026FC01E658FE4F30\r
+:1030800090819F709061908385EA91E00E945C142A\r
+:10309000DF91CF910C94BF172F5F3F4F2770B5CFB3\r
+:1030A000DF91CF910895BF92CF92DF92EF92FF927E\r
+:1030B0000F931F93CF93DF93CDB7DEB761970FB612\r
+:1030C000F894DEBF0FBECDBF8C0185E0F801DE01B4\r
+:1030D0001D9601900D928A95E1F7D8014C911196B9\r
+:1030E0002C9111971296EC9012971396CD90DC903C\r
+:1030F00014975091A5016091A6018091A80190912B\r
+:10310000A901009709F46EC16F3F19F45F3F09F4FC\r
+:1031100069C1B090A701BB2009F4C3C03091AA01D6\r
+:10312000C816D90628F0F601E81BF90BCF0104C038\r
+:10313000809590958C0D9D1DFF24F394883C9105FE\r
+:1031400088F0F12C307F09F0CBC07C2DD98AC88A59\r
+:10315000522F6E2D89890E94A01785EA91E00E9466\r
+:103160005C14B4C0832F807F09F049C0621314C07F\r
+:10317000541312C0E11010C03F7030613093AA01A7\r
+:103180000E94DE1785EA91E00E945C148091AA01FA\r
+:10319000D80115968C9331C0CD2831F12F3F11F411\r
+:1031A0004F3F11F1FE2CE1101FC0E09173013091EF\r
+:1031B0007401E31709F45CC0F0E0CF0166E070E051\r
+:1031C0000E947026DC01AB58BE4F11968C9111976E\r
+:1031D000281307C08C91481304C012968C9181115A\r
+:1031E00003C03196E770E5CFFE2CEE2009F416C13E\r
+:1031F0008091AA0181608093AA01F12C0FC1621312\r
+:1032000008C0541306C0E11004C08091AA01D8017F\r
+:10321000C1C04D872E878D859E850E947A17882391\r
+:10322000E1F1EE20D1F12091AA01822F82958F70D9\r
+:1032300090E0029774F08091A5019091A601988783\r
+:103240008F831986DB86CA862C87CE0107960E945B\r
+:103250005C1486E0F801A5EAB1E001900D928A9530\r
+:10326000E1F70E94EC170E94DE17FF24F394D6C00A\r
+:103270004D872E878D859E850E946D1C292F229556\r
+:103280002F7030E0223031050CF0BCC09F7009F087\r
+:10329000B6C0805E883008F4C1C0C8010E945C14CA\r
+:1032A000E4CFC816D90608F453C0F601E81BF90BA1\r
+:1032B000CF01883C910508F450C0F12C7C2DD98AAF\r
+:1032C000C88A522F6E2D89890E94A017E5EAF1E085\r
+:1032D00086E0DF011D928A95E9F70E94DE179EC005\r
+:1032E000621314C0541312C0E11010C08091AA01DF\r
+:1032F000F8018583C8010E945C1486E0E5EAF1E0EC\r
+:10330000DF011D928A95E9F7FB2C88C04D872E8737\r
+:103310008D859E850E947A17882309F4BECFEE2002\r
+:1033200009F4BBCF2091AA01822F82958F7090E083\r
+:1033300002970CF48ECF8091A5019091A6019A83FB\r
+:1033400089831B82DD82CC822E83CE0101967FCFC2\r
+:10335000809590958C0D9D1DACCFFE2CEE2009F430\r
+:103360009CCF62132EC054132CC02091AA0120FDC3\r
+:103370001FC0822F82958F70D9F0D80115962C939B\r
+:1033800015978F3049F08F5F982F9295907F822FFD\r
+:103390008F70892B15968C93C8010E945C1486E06F\r
+:1033A000F801A5EAB1E001900D928A95E1F795CF79\r
+:1033B00086E0F801A5EAB1E001900D928A95E1F767\r
+:1033C0002DC04D872E878D859E850E947A1781118D\r
+:1033D00040CF8091AA0181608093AA01C8010E9418\r
+:1033E0005C141CC0EE2009F458CF4D872E878D85C4\r
+:1033F0009E850E947A17882309F44FCF2ACF811126\r
+:1034000048CF0CC0243031050CF047CF9F7009F431\r
+:1034100040CFF8019581907F09F03BCF8F2D6196C9\r
+:103420000FB6F894DEBF0FBECDBFDF91CF911F91D5\r
+:103430000F91FF90EF90DF90CF90BF900895CF93C2\r
+:10344000DF93CDB7DEB72C970FB6F894DEBF0FBE73\r
+:10345000CDBF4F83588769877A878B879C87CE013A\r
+:1034600007960E945318882371F08F8198852A85CA\r
+:103470003B85232B09F43FC09F3F09F068C08F3F75\r
+:1034800009F065C038C086E0FE013796DE0111966E\r
+:1034900001900D928A95E1F76F817885EA85FB8529\r
+:1034A000309749F17F3F11F46F3F29F1809174010A\r
+:1034B00090E09C012F5F3F4F2770332740917301AD\r
+:1034C00050E02417350709F44BC069837A83FD83E4\r
+:1034D000EC8366E070E00E947026DC01AB58BE4FC2\r
+:1034E00096E0FE01319601900D929A95E1F72093B6\r
+:1034F00074010E94BF178091730190917401891724\r
+:10350000E9F190E066E070E00E9470268B589E4FD3\r
+:103510000E945318882391F18091730190E066E036\r
+:1035200070E00E947026FC01EB58FE4F40815181F3\r
+:1035300062817381848195810E94AF1780917301AC\r
+:1035400090E001968770992780937301D4CF4F81C3\r
+:10355000588569857A858B859C850E94AF17CBCF6E\r
+:103560000E9476171092740110927301E5EAF1E05F\r
+:1035700086E0DF011D928A95E9F7BDCF2C960FB644\r
+:10358000F894DEBF0FBECDBFDF91CF910895DF92DB\r
+:10359000EF92FF920F931F93CF93DF93FC01892B40\r
+:1035A00009F48AC0E12CF12CDD24D394EF0121969B\r
+:1035B0008491853709F461C058F4843708F04EC00F\r
+:1035C000843008F06AC08130D1F0823071F174C06B\r
+:1035D000883709F45DC050F4863709F455C0873741\r
+:1035E00009F06AC08E2D0E94FA1C54C09CE7980F07\r
+:1035F000903708F061C08F770E94FF1350C08F0191\r
+:103600000E5F1F4FFE01849190E2980F983050F4A6\r
+:103610008770FD2D01C0FF0F8A95EAF78F2F0E945A\r
+:10362000001D14C00E942C1313C08F010E5F1F4F8A\r
+:10363000FE01C49180E28C0F883060F4C7708D2D3C\r
+:1036400001C0880FCA95EAF70E94061D0E94271D37\r
+:10365000E80125C08C2F0E94FF13FACF9F012E5F37\r
+:103660003F4FFE01C491CC2369F08FE99FE00197A1\r
+:10367000F1F700C00000C150F6CF9F012E5F3F4F11\r
+:10368000FE01F490E9010BC00E94EA1CE82E07C07D\r
+:103690000E94FD1C0E94271D02C00E942C138F2D2A\r
+:1036A000882341F0EFE9FFE03197F1F700C0000017\r
+:1036B0008150F6CFFE017ACFDF91CF911F910F910C\r
+:1036C000FF90EF90DF9008956093AF017093B00189\r
+:1036D0008093B1019093B2010E94741D0C94641701\r
+:1036E0006093AB017093AC018093AD019093AE01F8\r
+:1036F0000E94751D0C94641708950C94641B0F931D\r
+:103700001F930091AF011091B0012091B101309150\r
+:10371000B201602B712B822B932B1F910F910C9474\r
+:10372000641B0F931F930091AF011091B001209182\r
+:10373000B1013091B20160237123822393231F9141\r
+:103740000F910C94641B0F931F930091AF01109184\r
+:10375000B0012091B1013091B20160277127822719\r
+:1037600093271F910F910C94641B60E070E0CB01D4\r
+:103770000C94701B0F931F9341E050E060E070E0E9\r
+:103780008A019B0104C0000F111F221F331F8A955D\r
+:10379000D2F7C901B8011F910F910C94701B0F93C0\r
+:1037A0001F9341E050E060E070E004C0440F551FFB\r
+:1037B000661F771F8A95D2F78091AB019091AC017B\r
+:1037C000A091AD01B091AE018A019B01082B192B8C\r
+:1037D0002A2B3B2BC901B8011F910F910C94701B30\r
+:1037E0000F931F9341E050E060E070E004C0440F8D\r
+:1037F000551F661F771F8A95D2F7409550956095A3\r
+:1038000070958091AB019091AC01A091AD01B09108\r
+:10381000AE018A019B01082319232A233B23C901F6\r
+:10382000B8011F910F910C94701B0F931F9341E0EF\r
+:1038300050E060E070E004C0440F551F661F771F22\r
+:103840008A95D2F78091AB019091AC01A091AD0126\r
+:10385000B091AE018A019B01082719272A273B272F\r
+:10386000C901B8011F910F910C94701B0F931F9306\r
+:103870000091AB011091AC012091AD013091AE01EE\r
+:10388000602B712B822B932B1F910F910C94701B2B\r
+:103890000F931F930091AB011091AC012091AD01EA\r
+:1038A0003091AE0160237123822393231F910F91E6\r
+:1038B0000C94701B0F931F930091AB011091AC01FE\r
+:1038C0002091AD013091AE016027712782279327A7\r
+:1038D0001F910F910C94701B0895CF92DF92EF927D\r
+:1038E000FF920F931F93CF93DF938C01C090AF0192\r
+:1038F000D090B001E090B101F090B2014091AB01E5\r
+:103900005091AC016091AD017091AE01C42AD52AED\r
+:10391000E62AF72ACFE1D0E0D701C6010C2E04C079\r
+:10392000B695A795979587950A94D2F780FF07C01B\r
+:10393000B8018C2F0E94851E8130910531F42197AA\r
+:1039400058F7B80180E00E94851EDF91CF911F914A\r
+:103950000F91FF90EF90DF90CF90089520910D018F\r
+:1039600030910E01F90132969FEF40E051915817C6\r
+:1039700089F09F3F19F4511101C0942F4F5F4630D9\r
+:10398000A9F79F3F39F0F901E90FF11D97FDFA956D\r
+:1039900082830895089520910D0130910E01F9015F\r
+:1039A0003296285F3F4F9081981301C01082319664\r
+:1039B000E217F307C1F7089581E090E0E0910D016F\r
+:1039C000F0910E01E80FF91F1082019688309105E1\r
+:1039D000A9F708958091BD0108959091BD01892BAB\r
+:1039E0008093BD01089580959091BD0189238093B6\r
+:1039F000BD0108958093BD0108951092BD01089501\r
+:103A00009091BC01892B8093BC0108958095909181\r
+:103A1000BC0189238093BC0108951092BC010895D4\r
+:103A20008093B30108951092B301089580910D0120\r
+:103A300090910E01FC0131969C01285F3F4F80E080\r
+:103A4000919191118F5FE217F307D1F70895E091FB\r
+:103A50000D01F0910E018091BD018083E0910D0177\r
+:103A6000F0910E0190818091BC01892B808380911F\r
+:103A7000B301882361F0E0910D01F0910E01908176\r
+:103A8000892B80830E94161D81111092B3018091B1\r
+:103A90000D0190910E010C94A21190933501809329\r
+:103AA000340108958295982F9C7C292F2695269580\r
+:103AB000982F9373990F990F922B892F8A7A869555\r
+:103AC0009575990F892B08950895CF93DF9300D0B2\r
+:103AD00000D01F92CDB7DEB70F900F900F900F90D0\r
+:103AE0000F90DF91CF910895089508950C94EA12F4\r
+:103AF0008091D301843021F11092BF0120E488E14C\r
+:103B000090E00FB6F894A895809360000FBE2093C4\r
+:103B1000600083B7817F846083BF83B7816083BF88\r
+:103B20007894889583B78E7F83BF0FB6F894A89555\r
+:103B300080916000886180936000109260000FBEE9\r
+:103B4000089508950895CF930E94A11D0E94F10742\r
+:103B50000E94A21DC0E08C2F0E94EF08811104C0BA\r
+:103B6000CF5FC031C1F701C081E0CF9108950C94BF\r
+:103B700076171F920F920FB60F9211248F939F9377\r
+:103B8000AF93BF938091BF01811113C08091C00199\r
+:103B90009091C101A091C201B091C3014196A11DB4\r
+:103BA000B11D8093C0019093C101A093C201B09355\r
+:103BB000C301BF91AF919F918F910F900FBE0F9056\r
+:103BC0001F90189582E084BD93E095BD9AEF97BD54\r
+:103BD00080936E0008952FB7F8948091C001909162\r
+:103BE000C101A091C201B091C3012FBF08952FB7A9\r
+:103BF000F8946091C0017091C1018091C2019091CF\r
+:103C0000C3012FBF0895CF92DF92EF92FF920F93DF\r
+:103C10001F932FB7F8944091C0015091C10160915A\r
+:103C2000C2017091C3012FBF6A017B01EE24FF2402\r
+:103C30008C0120E030E0C016D106E206F30610F455\r
+:103C4000415051099A01281B390BC9011F910F914D\r
+:103C5000FF90EF90DF90CF9008951F920F920FB6D4\r
+:103C60000F9211248F939F93AF93BF938091C001C4\r
+:103C70009091C101A091C201B091C3010196A11D13\r
+:103C8000B11D8093C0019093C101A093C201B09374\r
+:103C9000C301BF91AF919F918F910F900FBE0F9075\r
+:103CA0001F9018950E94EA0EF8942FEF87EA91E68C\r
+:103CB000215080409040E1F700C0000087E090EB89\r
+:103CC000DC018093DC019093DD01A093DE01B093D1\r
+:103CD000DF019CE088E10FB6F894A895809360001E\r
+:103CE0000FBE90936000FFCFE92FF0E093E0EE0F5E\r
+:103CF000FF1F9A95E1F7E80FF11DE855FF4F9491EA\r
+:103D0000892F8F7092959F700895CF93C82FCB0104\r
+:103D10000E94741E492F90E0242F30E054E0220FBF\r
+:103D2000331F5A95E1F7282B392B2038310519F428\r
+:103D300080E090E017C0EC2FF0E023E0EE0FFF1FD3\r
+:103D40002A95E1F74770E40FF11D34E0EE0FFF1FF5\r
+:103D50003A95E1F7E80FF91FEE0FFF1FE050F84921\r
+:103D600085919491CF91089580E090E00895089511\r
+:103D70008091C60180FF0CC08091120190E065E047\r
+:103D800070E00E94702695958795959587952EC031\r
+:103D900081FF0AC08091120190E065E070E00E940E\r
+:103DA00070269595879522C082FF08C080911201E8\r
+:103DB00090E065E070E00E94702618C02091C70175\r
+:103DC0002223D1F030911101231780F78091120145\r
+:103DD00090E065E070E00E947026622F70E00E9423\r
+:103DE0007026632F70E00E948D26CB0180389105EC\r
+:103DF00030F4009731F0089585E090E008958FE762\r
+:103E0000089581E008958091C60180FF08C0609107\r
+:103E1000100170E0759567957595679523C081FFD2\r
+:103E200006C06091100170E0759567951BC082FF18\r
+:103E300004C06091100170E012C06091C701662358\r
+:103E4000D1F020910F016217A0F78091100170E06E\r
+:103E500090E00E947026622F70E00E948D266038EC\r
+:103E6000710528F46115710521F0862F08958FE7FB\r
+:103E7000089581E0089561E070E0F4CF803F21F47F\r
+:103E80000E94B81E819504C0813F29F40E94B81E8B\r
+:103E90008093CA010895823F21F40E94B81E819543\r
+:103EA00004C0833F29F40E94B81E8093C90108957D\r
+:103EB000893F19F40E94031F05C08A3F31F40E9414\r
+:103EC000031F81958093CB0108958B3F21F40E94BD\r
+:103ED000031F819504C08C3F29F40E94031F809327\r
+:103EE000CC010895843F21F48091C801816017C0FE\r
+:103EF000853F21F48091C801826011C0863F21F482\r
+:103F00008091C80184600BC0873F21F48091C80173\r
+:103F1000886005C0883F31F48091C801806180933A\r
+:103F2000C80108958D3F21F48091C60181600BC0C6\r
+:103F30008E3F21F48091C601826005C08F3F29F435\r
+:103F40008091C60184608093C6010895803F39F452\r
+:103F50008091CA0187FF6CC01092CA0169C0813F7D\r
+:103F600029F48091CA011816BCF362C09091C9016E\r
+:103F7000823F29F497FF5CC01092C90159C0833F6A\r
+:103F800019F41916CCF354C0893F41F48091CB0148\r
+:103F900018160CF04DC01092CB014AC08A3F29F48C\r
+:103FA0008091CB0187FF44C0F6CF8B3F39F48091DD\r
+:103FB000CC0187FF3DC01092CC013AC08C3F29F460\r
+:103FC0008091CC011816BCF333C0843F21F480915A\r
+:103FD000C8018E7F17C0853F21F48091C8018D7F75\r
+:103FE00011C0863F21F48091C8018B7F0BC0873FB1\r
+:103FF00021F48091C801877F05C0883F31F480910A\r
+:10400000C8018F7E8093C80113C08D3F21F4809139\r
+:10401000C6018E7F0BC08E3F21F48091C6018D7F3B\r
+:1040200005C08F3F29F48091C6018B7F8093C60124\r
+:104030008091C90181110EC08091CA0181110AC00D\r
+:104040008091CB01811106C08091CC01811102C009\r
+:104050001092C70108958091BE0183FF7EC08BE856\r
+:1040600094E00E9490058091C8011F928F9386E88A\r
+:1040700094E09F938F930E94290684E894E00E9425\r
+:1040800090058091C901282F082E000C330B3F9317\r
+:104090008F9381E894E09F938F930E9429068FE786\r
+:1040A00094E00E9490058091CA01282F082E000CF0\r
+:1040B000330B3F938F938CE794E09F938F930E94F1\r
+:1040C00029068AE794E00E9490058091CB01282F71\r
+:1040D000082E000C330B3F938F9387E794E09F9358\r
+:1040E0008F930E94290685E794E00E9490058091B5\r
+:1040F000CC01282F082E000C330B3F938F9382E7BF\r
+:1041000094E09F938F930E9429068FE694E00E948B\r
+:1041100090058091C7011F928F938CE694E09F9346\r
+:104120008F930E9429068AE694E00E949005809170\r
+:10413000C6011F928F9387E694E09F938F930E940E\r
+:10414000290684E694E00E9490058DB79EB74C96B0\r
+:104150000FB6F8949EBF0FBE8DBF88EC91E00E9411\r
+:10416000EB110E94EB1D9093C5018093C40108954B\r
+:104170001F93CF93DF938091C4019091C5010E945A\r
+:10418000031EFC012091C701222329F09091130105\r
+:10419000892F90E007C08091140190E06AE070E000\r
+:1041A0000E947026E817F90708F485C08091C901BC\r
+:1041B000C091CA01D091CB011091CC01811107C0EF\r
+:1041C000C11175C0D11173C0111171C074C02F3FDE\r
+:1041D00019F02F5F2093C701181624F40E94B81E0F\r
+:1041E0008093C9018091C90187FF05C00E94B81E54\r
+:1041F00081958093C9011C1624F40E94B81E8093F7\r
+:10420000CA018091CA0187FF05C00E94B81E81952E\r
+:104210008093CA016091C901662331F1C091CA013E\r
+:10422000CC2311F1062E000C770B880B990B0E9402\r
+:104230006F2523E333E343E35FE30E94D3250E942A\r
+:1042400037256093C9016C2FCC0F770B880B990B26\r
+:104250000E946F2523E333E343E35FE30E94D3250A\r
+:104260000E9437256093CA011D1624F40E94031F83\r
+:104270008093CB018091CB0187FF05C00E94031F73\r
+:1042800081958093CB01111624F40E94031F809323\r
+:10429000CC018091CC0187FF05C00E94031F81954E\r
+:1042A0008093CC01DF91CF911F910C942B202F3F55\r
+:1042B00009F08FCF97CFDF91CF911F910895E8EC50\r
+:1042C000F1E085E0DF011D928A95E9F71092C701C0\r
+:1042D0001092C60108958EEA96E00E9490051F9202\r
+:1042E00081E08F931F9285E08F9380E696E09F9305\r
+:1042F0008F930E9429060F900F900F900F900F90B0\r
+:104300000F9008958330E9F128F4813061F0823014\r
+:1043100009F10895853009F462C008F449C0863077\r
+:1043200009F474C0089580911401262F30E0280FFD\r
+:10433000311D2F3F310524F4680F6093140103C031\r
+:104340008FEF80931401809114011F928F9389E95C\r
+:1043500095E072C080911301262F30E0280F311DA7\r
+:104360002F3F310524F4680F6093130103C08FEFD2\r
+:1043700080931301809113011F928F9387E895E03A\r
+:104380005BC080911201262F30E0280F311D2F3F96\r
+:10439000310524F4680F6093120103C08FEF8093FE\r
+:1043A0001201809112011F928F9384E795E044C01F\r
+:1043B00080911101262F30E0280F311D2F3F31054C\r
+:1043C00024F4680F6093110103C08FEF80931101F3\r
+:1043D000809111011F928F938FE595E02DC0809100\r
+:1043E0001001262F30E0280F311D2F3F310524F416\r
+:1043F000680F6093100103C08FEF809310018091CC\r
+:1044000010011F928F9386E495E016C080910F01F2\r
+:10441000262F30E0280F311D2F3F310524F4680F7F\r
+:1044200060930F0103C08FEF80930F0180910F0104\r
+:104430001F928F938BE295E09F938F930E942906A2\r
+:104440000F900F900F900F900895833081F128F412\r
+:10445000813059F08230D1F00895853009F449C097\r
+:10446000B8F1863009F456C0089580911401681798\r
+:1044700020F4861B8093140102C0109214018091D5\r
+:1044800014011F928F938CE195E054C08091130129\r
+:10449000681720F4861B8093130102C01092130149\r
+:1044A000809113011F928F938AE095E043C0809121\r
+:1044B0001201681720F4861B8093120102C010922B\r
+:1044C0001201809112011F928F9387EF94E032C006\r
+:1044D00080911101681720F4861B8093110102C09E\r
+:1044E00010921101809111011F928F9382EE94E03E\r
+:1044F00021C080911001681720F4861B8093100161\r
+:1045000002C010921001809110011F928F9389ECCC\r
+:1045100094E010C080910F01681720F4861B8093EF\r
+:104520000F0102C010920F0180910F011F928F9313\r
+:104530008EEA94E09F938F930E9429060F900F902C\r
+:104540000F900F900895CF93C82F1F928F9383EBF6\r
+:1045500097E09F938F930E94290681E090E0A0E06E\r
+:10456000B0E0BC01CD0104C0660F771F881F991F02\r
+:10457000CA95D2F70E947D1B0F900F900F900F905D\r
+:10458000CF910C947617CF93873288F58E3108F04F\r
+:104590000BC18E3009F487C0D8F4873009F460C0AD\r
+:1045A0008B3009F44FC0863009F002C18091BE0102\r
+:1045B000817F8E7F8093BE0188EB97E00E949005FB\r
+:1045C00082E79AE00E94900581E08093CE0146C088\r
+:1045D000863109F4B0C020F4803109F47AC0E8C013\r
+:1045E000893109F491C08B3109F449C0E1C08833A5\r
+:1045F00049F150F4893209F4D5C0853309F4D2C0A9\r
+:10460000873209F0D5C0CEC0833409F4CBC028F47A\r
+:104610008A3308F4CDC08953C8C0883409F0C8C0B3\r
+:104620000E94761781E69AE00E9490052FEF83EDB5\r
+:1046300090E3215080409040E1F700C000000E94CC\r
+:10464000521E0CC08FED97E041C088E49AE00E94B2\r
+:1046500090058091BE0181608093BE01C1E0ADC034\r
+:104660008091BE01C82FC17080FFEFCF84E59AE032\r
+:104670000E9490058091BE01817F8E7F3FC0909106\r
+:10468000BE0191FBCC27C0F981E0C827892FC0FB70\r
+:1046900081F98093BE01CC2319F08BE39AE029C005\r
+:1046A0008DE29AE013C09091BE0192FBCC27C0F935\r
+:1046B00081E0C827892FC0FB82F98093BE01CC23FB\r
+:1046C00019F08EE19AE015C08EE09AE00E94900504\r
+:1046D000C5CF9091BE0193FBCC27C0F981E0C827DC\r
+:1046E000892FC0FB83F98093BE01CC2351F082E077\r
+:1046F0009AE00E9490058091BE0181608093BE0186\r
+:104700005CC085EF99E0E2CF86EE99E00E949005CB\r
+:1047100083EC99E00E9490058EE799E00E94900555\r
+:1047200081E599E00E9490058CE099E00E94900557\r
+:104730008DED98E0CBCF8FEC98E00E9490050E9421\r
+:1047400096111F928F9385EB98E09F938F930E9411\r
+:10475000290680910C011F928F938EE998E09F9318\r
+:104760008F930E94290680915B011F928F938BE8A3\r
+:1047700098E09F938F930E9429060E94F71D9F93B4\r
+:104780008F937F936F9384E798E09F938F930E941A\r
+:1047900029068DB79EB742960FB6F8949EBF0FBEFE\r
+:1047A0008DBF5CCF80E001C08D510E94A32256CF07\r
+:1047B00082E798E00E949005C0E08C2FCF91089589\r
+:1047C00080E0089580E00895CF93C82F8091CE01B6\r
+:1047D000813069F020F0823009F449C040C167E0BF\r
+:1047E0008FE00E94DA08882309F43FC106C067E021\r
+:1047F0008FE00E94DA08882361F08C2F0E94E0236A\r
+:10480000811104C08C2F0E94C3222FC081E090E050\r
+:104810002CC08C2F0E94E223811126C0C431E1F00C\r
+:1048200070F4CB3081F0C031D1F40E946B218BEA5F\r
+:1048300097E00E94900582E08093CE0115C0C932B6\r
+:1048400059F0C83361F488EB97E00E9490058FEA35\r
+:1048500097E00E94900508C01092CE0104C189EA39\r
+:1048600097E00E949005FFC081E08170FEC0C432D5\r
+:1048700028F5CE3108F0C1C0CB30A1F1D0F4C7305B\r
+:1048800009F0D3C08EE18093140182E38093130179\r
+:104890008AE08093120184E18093110188E0809383\r
+:1048A000100188E280930F018FE496E00E9490054A\r
+:1048B000BFC0C33149F1C431C1F0B7C0CB3409F432\r
+:1048C000A9C028F4C93289F0C83361F0AEC0C1353F\r
+:1048D00009F49EC0C23509F499C0CE3409F0A5C0D0\r
+:1048E0006AE09EC00E946B21A3C08091CD01882305\r
+:1048F00019F01092CD019CC08CE596E00E949005C5\r
+:1049000081E08093CE01B1C086E396E00E949005DD\r
+:1049100084E296E00E949005809114011F928F938B\r
+:1049200081E296E09F938F930E9429068FE196E0A3\r
+:104930000E9490058DE096E00E9490058091130101\r
+:104940001F928F938AE096E09F938F930E9429068F\r
+:1049500088E096E00E94900589EF95E00E9490051E\r
+:10496000809112011F928F9386EF95E09F938F9312\r
+:104970000E94290684EF95E00E94900583EE95E061\r
+:104980000E949005809111011F928F9380EE95E017\r
+:104990009F938F930E9429068EED95E00E949005CB\r
+:1049A00089EC95E00E949005809110011F928F93F1\r
+:1049B00086EC95E09F938F930E94290684EC95E006\r
+:1049C0000E9490058DEA95E00E94900580910F016C\r
+:1049D0001F928F938AEA95E09F938F930E942906F6\r
+:1049E00088EA95E00E9490058DB79EB748960FB66D\r
+:1049F000F8949EBF0FBE8DBF1BC0CE51EC2FF0E0D0\r
+:104A0000E75DFE4F80818093CD0112C061E003C05D\r
+:104A100061E006C06AE08091CD010E94822108C059\r
+:104A20008091CD010E94252203C08DE496E013C041\r
+:104A30008091CD01882369F01F928F9387E496E0DF\r
+:104A40009F938F930E9429060F900F900F900F90C5\r
+:104A500004C084E496E00E94900581E006C01092B4\r
+:104A6000CE0180E002C080E000CFCF9108950E9487\r
+:104A70003E256894B1110C94CD2508950E94B2256D\r
+:104A800088F09F5798F0B92F9927B751B0F0E1F00F\r
+:104A9000660F771F881F991F1AF0BA95C9F714C0BF\r
+:104AA000B13091F00E94CC25B1E008950C94CC2552\r
+:104AB000672F782F8827B85F39F0B93FCCF38695F8\r
+:104AC00077956795B395D9F73EF490958095709555\r
+:104AD00061957F4F8F4F9F4F0895E89409C097FBD2\r
+:104AE0003EF490958095709561957F4F8F4F9F4FC5\r
+:104AF0009923A9F0F92F96E9BB279395F695879509\r
+:104B000077956795B795F111F8CFFAF4BB0F11F4CB\r
+:104B100060FF1BC06F5F7F4F8F4F9F4F16C0882372\r
+:104B200011F096E911C0772321F09EE8872F762FA8\r
+:104B300005C0662371F096E8862F70E060E02AF0E9\r
+:104B40009A95660F771F881FDAF7880F96958795D5\r
+:104B500097F9089557FD9058440F551F59F05F3F3E\r
+:104B600071F04795880F97FB991F61F09F3F79F08F\r
+:104B700087950895121613061406551FF2CF469511\r
+:104B8000F1DF08C0161617061806991FF1CF869593\r
+:104B90007105610508940895E894BB276627772777\r
+:104BA000CB0197F908950E94E5250C945F260E9499\r
+:104BB000512638F00E94582620F0952311F00C94CD\r
+:104BC00048260C944E260C94CD250E94AA2578F3F5\r
+:104BD0009923C9F35523B9F3950F50E0551FAA2720\r
+:104BE000EE27FF27BB2700240894679520F4E20FE7\r
+:104BF000F31FB41F0A1E220F331F441FAA1F6695FE\r
+:104C0000A9F7779530F4F30FB41F0A1E121E08F4AB\r
+:104C10006395330F441FAA1F221F769599F7879536\r
+:104C200020F4B40F0A1E121E631F440FAA1F221F76\r
+:104C3000331F8695A9F7862F712D602D11249F575C\r
+:104C400050409AF0F1F088234AF0EE0FFF1FBB1F8F\r
+:104C5000661F771F881F91505040A9F79E3F51054E\r
+:104C600080F00C9448260C94CD255F3FE4F3983EE9\r
+:104C7000D4F3869577956795B795F795E7959F5FF8\r
+:104C8000C1F7FE2B880F911D9695879597F908958A\r
+:104C900097F99F6780E870E060E008959FEF80ECEF\r
+:104CA000089500240A941616170618060906089592\r
+:104CB00000240A9412161306140605060895092EF8\r
+:104CC0000394000C11F4882352F0BB0F40F4BF2B67\r
+:104CD00011F460FF04C06F5F7F4F8F4F9F4F0895A7\r
+:104CE0000024552704C0080E591F880F991F0097EC\r
+:104CF00029F076956795B8F37105B9F7802D952F52\r
+:104D00000895991B79E004C0991F961708F0961B27\r
+:104D1000881F7A95C9F78095089597FB072E16F49A\r
+:104D2000009407D077FD09D00E94A72607FC05D084\r
+:104D30003EF4909581959F4F0895709561957F4FB2\r
+:104D40000895EE0FFF1F0590F491E02D0994AA1B22\r
+:104D5000BB1B51E107C0AA1FBB1FA617B70710F066\r
+:104D6000A61BB70B881F991F5A95A9F78095909598\r
+:0A4D7000BC01CD010895F894FFCFB7\r
+:104D7A00FFFF5B0A4C0B290BF50AC10A01B4012893\r
+:104D8A0008140A321E404D3622FF03B2037C035A2E\r
+:104D9A0003E602FF021803310301020304050607B2\r
+:044DAA0008090000F4\r
+:106800000000EA44E944E2440400050006000700F1\r
+:10681000080009000A000B000C000D000E000F001C\r
+:1068200010001100120013001400150016001700CC\r
+:10683000180019001A001B001C001D001E001F007C\r
+:10684000200021002200230024002500260027002C\r
+:10685000280029002A002B002C002D002E002F00DC\r
+:10686000300031A132003300340035A1360037004A\r
+:10687000380082003A003B003C003D003E003F00F3\r
+:1068800040004100420043004400450046004700EC\r
+:10689000480049004A004B004C004D004E004F009C\r
+:1068A000500051005200530067005400550056003C\r
+:1068B000580059005A005B005C005D005E005F00FC\r
+:1068C0006000610062006300640000005700000087\r
+:1068D000CD440000000000000000000000000000A7\r
+:1068E00000000000000081400000000000000000E7\r
+:1068F000E000E100E200E300E400E500E600E7007C\r
+:106900000100010001000100EA4401000100E2442D\r
+:106910000100010001000100460001004A004B0097\r
+:10692000010001004700480001000100E9440100A6\r
+:106930000100010001000100010001003A003B00DC\r
+:106940003C003D003E003F0040004100420043004B\r
+:10695000010001004C00010001004400450052000C\r
+:1069600049000100010050004F0001004D004E00A1\r
+:1069700051000100010001000100010001000100BF\r
+:1069800001000100010001000100010001000100FF\r
+:1069900001000100010001000100010001004D00A3\r
+:1069A0004A004E004B0001000100010001000100FF\r
+:1069B00001000100010001000100010001000100CF\r
+:1069C00001000100010001000100010001000100BF\r
+:1069D00001000100010001000100010001000100AF\r
+:1069E000010001000100010001000100010001009F\r
+:1069F000010001000100010001000100010001008F\r
+:00000001FF\r
index 5ce5c22159481f81b3b58c498d8fb8464d3d7fd0..3500188d3581990b0b4b2a3252596fa05ef5504f 100644 (file)
@@ -40,10 +40,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define LOCKING_RESYNC_ENABLE
 
 
-/* legacy keymap support */
-#define USE_LEGACY_KEYMAP
-
-
 /* ADB port setting */
 #define ADB_PORT        PORTD
 #define ADB_PIN         PIND
index aa9931928f8318f2334f6c12f83289ea8da3b2b4..8d69ec5b75d1ce45fed1702b5238209de3638113 100644 (file)
@@ -12,5 +12,5 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
 };
diff --git a/converter/adb_usb/keymap_common.c b/converter/adb_usb/keymap_common.c
deleted file mode 100644 (file)
index 55a1379..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2011,2012,2013 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "keymap_common.h"
-
-
-/* translates key to keycode */
-uint8_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
-{
-    return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]);
-}
-
-/* translates Fn keycode to action */
-action_t keymap_fn_to_action(uint8_t keycode)
-{
-    return (action_t){ .code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]) };
-}
index cb643c8f7fe35c089923abb34227ea241f16df3a..49581d790bd6fb1139c97d943c16d67ca411ac30 100644 (file)
@@ -19,7 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include <stdint.h>
 #include <stdbool.h>
-#include <avr/pgmspace.h>
 #include "keycode.h"
 #include "action.h"
 #include "action_macro.h"
@@ -29,10 +28,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "keymap.h"
 
 
-extern const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
-extern const uint16_t fn_actions[];
-
-
 /* Common layout: ANSI+ISO
  * ,---.   .---------------. ,---------------. ,---------------. ,-----------. ,---------------.
  * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr|
index a0b3f1fc6837344d7eebdcc5dfa4e4cbb393d226..147011608bf914d3ef3a8045518c4da2ee2cd1a6 100644 (file)
@@ -53,6 +53,6 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
     [0] = ACTION_LAYER_TAP_KEY(1, KC_BSLS),
 };
index 1ccb17e264a4ce9bd0cec1acd00844fe948bca65..ffb7f431e0c97c532b42ed17142c32b402711b8c 100644 (file)
@@ -12,5 +12,5 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
 };
index 2f11f86a25b72a248bf1942228ca76adb950c852..b7a80f5717106d1419330535f4200767e780e18b 100644 (file)
@@ -36,7 +36,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
     [0] = ACTION_LAYER_TAP_KEY(1, KC_GRV),
     [1] = ACTION_LAYER_TAP_KEY(1, KC_BSLS),
 };
diff --git a/converter/adb_usb/unimap_common.h b/converter/adb_usb/unimap_common.h
new file mode 100644 (file)
index 0000000..96f8a87
--- /dev/null
@@ -0,0 +1,213 @@
+/*
+Copyright 2016 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef UNIMAP_COMMON_H
+#define UNIMAP_COMMON_H
+
+#include <stdint.h>
+#include <avr/pgmspace.h>
+#include "unimap.h"
+
+
+/* Apple Extended Keyboard Common layout: ANSI+ISO
+ * ,---.   .---------------. ,---------------. ,---------------. ,-----------. ,---------------.
+ * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|F24|
+ * `---'   `---------------' `---------------' `---------------' `-----------' `---------------'
+ * ,-----------------------------------------------------------. ,-----------. ,---------------.
+ * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backspa| |Ins|Hom|PgU| |NmL|  =|  /|  *|
+ * |-----------------------------------------------------------| |-----------| |---------------|
+ * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \| |Del|End|PgD| |  7|  8|  9|  -|
+ * |-----------------------------------------------------------| `-----------' |---------------|
+ * |CapsLo|  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |               |  4|  5|  6|  +|
+ * |-----------------------------------------------------------|     ,---.     |---------------|
+ * |Shif|\  |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shift     |     |Up |     |  1|  2|  3|   |
+ * |-----------------------------------------------------------| ,-----------. |-----------|Ent|
+ * |Ctrl |Alt |Gui |         Space           |Gui  |Alt |Ctrl  | |Lef|Dow|Rig| |      0|  .|   |
+ * `-----------------------------------------------------------' `-----------' `---------------'
+ * Command      = Gui
+ * Option       = Alt
+ * Power key    = F24
+ * Mic          = F13(Adjustable keyboard)
+ */
+// http://lxr.free-electrons.com/source/drivers/macintosh/adbhid.c
+// http://opensource.apple.com//source/IOHIDFamily/IOHIDFamily-701.20.10/IOHIDFamily/Cosmo_USB2ADB.c
+// http://m0115.web.fc2.com/m0115.jpg
+const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
+        //  Position(unimap)        ADB scan code(matrix)
+        //  ---------------------------------------------
+        {
+            UNIMAP_A,               // 0x00
+            UNIMAP_S,               // 0x01
+            UNIMAP_D,               // 0x02
+            UNIMAP_F,               // 0x03
+            UNIMAP_H,               // 0x04
+            UNIMAP_G,               // 0x05
+            UNIMAP_Z,               // 0x06
+            UNIMAP_X,               // 0x07
+        },
+        {
+            UNIMAP_C,               // 0x08
+            UNIMAP_V,               // 0x09
+            UNIMAP_NONUS_BSLASH,    // 0x0A
+            UNIMAP_B,               // 0x0B
+            UNIMAP_Q,               // 0x0C
+            UNIMAP_W,               // 0x0D
+            UNIMAP_E,               // 0x0E
+            UNIMAP_R,               // 0x0F
+        },
+        {
+            UNIMAP_Y,               // 0x10
+            UNIMAP_T,               // 0x11
+            UNIMAP_1,               // 0x12
+            UNIMAP_2,               // 0x13
+            UNIMAP_3,               // 0x14
+            UNIMAP_4,               // 0x15
+            UNIMAP_6,               // 0x16
+            UNIMAP_5,               // 0x17
+        },
+        {
+            UNIMAP_EQUAL,           // 0x18
+            UNIMAP_9,               // 0x19
+            UNIMAP_7,               // 0x1A
+            UNIMAP_MINUS,           // 0x1B
+            UNIMAP_8,               // 0x1C
+            UNIMAP_0,               // 0x1D
+            UNIMAP_RBRACKET,        // 0x1E
+            UNIMAP_O,               // 0x1F
+        },
+        {
+            UNIMAP_U,               // 0x20
+            UNIMAP_LBRACKET,        // 0x21
+            UNIMAP_I,               // 0x22
+            UNIMAP_P,               // 0x23
+            UNIMAP_ENTER,           // 0x24
+            UNIMAP_L,               // 0x25
+            UNIMAP_J,               // 0x26
+            UNIMAP_QUOTE,           // 0x27
+        },
+        {
+            UNIMAP_K,               // 0x28
+            UNIMAP_SCOLON,          // 0x29
+            UNIMAP_BSLASH,          // 0x2A
+            UNIMAP_COMMA,           // 0x2B
+            UNIMAP_SLASH,           // 0x2C
+            UNIMAP_N,               // 0x2D
+            UNIMAP_M,               // 0x2E
+            UNIMAP_DOT,             // 0x2F
+        },
+        {
+            UNIMAP_TAB,             // 0x30
+            UNIMAP_SPACE,           // 0x31
+            UNIMAP_GRAVE,           // 0x32
+            UNIMAP_BSPACE,          // 0x33
+            UNIMAP_KP_ENTER,        // 0x34
+            UNIMAP_ESCAPE,          // 0x35
+            UNIMAP_LCTRL,           // 0x36
+            UNIMAP_LGUI,            // 0x37
+        },
+        {
+            UNIMAP_LSHIFT,          // 0x38
+            UNIMAP_CAPSLOCK,        // 0x39
+            UNIMAP_LALT,            // 0x3A
+            UNIMAP_LEFT,            // 0x3B
+            UNIMAP_RIGHT,           // 0x3C
+            UNIMAP_DOWN,            // 0x3D
+            UNIMAP_UP,              // 0x3E
+            UNIMAP_F23,             // 0x3F     FN?
+        },
+        {
+            UNIMAP_F17,             // 0x40
+            UNIMAP_KP_DOT,          // 0x41
+            UNIMAP_F13,             // 0x42     Mic(Adjustable keyboard)
+            UNIMAP_KP_MINUS,        // 0x43     ADB keypad asterisk(top right)
+            UNIMAP_NO,              // 0x44
+            UNIMAP_KP_COMMA,        // 0x45     ADB keypad plus
+            UNIMAP_NO,              // 0x46
+            UNIMAP_NUMLOCK,         // 0x47
+        },
+        {
+            UNIMAP_VOLUME_UP,       // 0x48     Vol Up(Adjustable keyboard)
+            UNIMAP_VOLUME_DOWN,     // 0x49     Vol Down(Adjustable keyboard)
+            UNIMAP_VOLUME_MUTE,     // 0x4A     Vol Mute(Adjustable keyboard)
+            UNIMAP_KP_ASTERISK,     // 0x4B     ADB keypad slash(between equal and asterisk)
+            UNIMAP_KP_ENTER,        // 0x4C
+            UNIMAP_NO,              // 0x4D
+            UNIMAP_KP_PLUS,         // 0x4E     ADB keypad minus
+            UNIMAP_F18,             // 0x4F
+        },
+        {
+            UNIMAP_F19,             // 0x50
+            UNIMAP_KP_SLASH,        // 0x51     ADB keypad equal(next to clear/numlock)
+            UNIMAP_KP_0,            // 0x52
+            UNIMAP_KP_1,            // 0x53
+            UNIMAP_KP_2,            // 0x54
+            UNIMAP_KP_3,            // 0x55
+            UNIMAP_KP_4,            // 0x56
+            UNIMAP_KP_5,            // 0x57
+        },
+        {
+            UNIMAP_KP_6,            // 0x58
+            UNIMAP_KP_7,            // 0x59
+            UNIMAP_F20,             // 0x5A
+            UNIMAP_KP_8,            // 0x5B
+            UNIMAP_KP_9,            // 0x5C
+            UNIMAP_JYEN,            // 0x5D
+            UNIMAP_RO,              // 0x5E
+            UNIMAP_KP_COMMA,        // 0x5F
+        },
+        {
+            UNIMAP_F5,              // 0x60
+            UNIMAP_F6,              // 0x61
+            UNIMAP_F7,              // 0x62
+            UNIMAP_F3,              // 0x63
+            UNIMAP_F8,              // 0x64
+            UNIMAP_F9,              // 0x65
+            UNIMAP_MHEN,            // 0x66
+            UNIMAP_F11,             // 0x67
+        },
+        {
+            UNIMAP_HENK,            // 0x68
+            UNIMAP_PSCREEN,         // 0x69
+            UNIMAP_F16,             // 0x6A
+            UNIMAP_SCROLLLOCK,      // 0x6B
+            UNIMAP_NO,              // 0x6C
+            UNIMAP_F10,             // 0x6D
+            UNIMAP_APPLICATION,     // 0x6E     compose
+            UNIMAP_F12,             // 0x6F
+        },
+        {
+            UNIMAP_NO,              // 0x70
+            UNIMAP_PAUSE,           // 0x71
+            UNIMAP_INSERT,          // 0x72
+            UNIMAP_HOME,            // 0x73
+            UNIMAP_PGUP,            // 0x74
+            UNIMAP_DELETE,          // 0x75
+            UNIMAP_F4,              // 0x76
+            UNIMAP_END,             // 0x77
+        },
+        {
+            UNIMAP_F2,              // 0x78
+            UNIMAP_PGDOWN,          // 0x79
+            UNIMAP_F1,              // 0x7A
+            UNIMAP_RSHIFT,          // 0x7B
+            UNIMAP_RALT,            // 0x7C
+            UNIMAP_RCTRL,           // 0x7D
+            UNIMAP_RGUI,            // 0x7E
+            UNIMAP_F24,             // 0x7F     power key
+        }
+};
+
+#endif
diff --git a/converter/adb_usb/unimap_plain.c b/converter/adb_usb/unimap_plain.c
new file mode 100644 (file)
index 0000000..be59a29
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+Copyright 2016 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "unimap_common.h"
+
+
+#define AC_FN0 ACTION_LAYER_TAP_KEY(1, KC_GRV)
+#define AC_FN1 ACTION_LAYER_TAP_KEY(1, KC_BSLS)
+
+#ifdef KEYMAP_SECTION_ENABLE
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
+#else
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
+#endif
+    UNIMAP(
+              MPLY,NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  PWR,
+    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,         VOLD,VOLU,MUTE,
+    FN0, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, NO,  BSPC,     INS, HOME,PGUP,    NLCK,PEQL,PSLS,PAST,
+    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     FN1,      DEL, END, PGDN,    P7,  P8,  P9,  PMNS,
+    LCAP,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PPLS,
+    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     NO,  RSFT,          UP,           P1,  P2,  P3,  NO,
+    LCTL,LGUI,LALT,NO,            SPC,           NO,  NO,  RALT,RGUI,NO,  RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT
+    ),
+    UNIMAP(
+              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
+    TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS,
+    TRNS,F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS,DEL,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP,  INS,      TRNS,     TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,LEFT,RGHT,     TRNS,TRNS,                        TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,DOWN,     TRNS,TRNS,          PGUP,         TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,          TRNS,          TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     HOME,PGDN,END,     TRNS,     TRNS,TRNS
+    ),
+};
index 79f17ec0d6e8cd24c9213f133460f275410f87ab..c73bcfd50c4bab9c9ea5ba3e18088ebaa8dea54f 100644 (file)
@@ -8,8 +8,7 @@ TMK_DIR = ../../tmk_core
 TARGET_DIR = .
 
 # project specific files
-SRC =  keymap_common.c \
-       matrix.c \
+SRC =  matrix.c \
        led.c \
        protocol/ibm4704.c
 
index 97294fb45ddfa2c28282dae88f3dda4956f4cfbc..c589ce0585f3749e5c05c29a7265603f0c3b25ca 100644 (file)
@@ -11,7 +11,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
 };
 
 
index f3dda718ace0773e84ca26367fadedfbbd535d81..aac8a423017e457ebb705268f95a781cb32c3dde 100644 (file)
@@ -45,6 +45,6 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
     [0] = ACTION_LAYER_MOMENTARY(1),
 };
diff --git a/converter/ibm4704_usb/keymap_common.c b/converter/ibm4704_usb/keymap_common.c
deleted file mode 100644 (file)
index 55a1379..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright 2011,2012,2013 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "keymap_common.h"
-
-
-/* translates key to keycode */
-uint8_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
-{
-    return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]);
-}
-
-/* translates Fn keycode to action */
-action_t keymap_fn_to_action(uint8_t keycode)
-{
-    return (action_t){ .code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]) };
-}
index 9cb23b0b838c9f34986326542fa06bcfc1805526..ea0ec942b9a50638290efe718c9deb38f6bfdd49 100644 (file)
@@ -19,7 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include <stdint.h>
 #include <stdbool.h>
-#include <avr/pgmspace.h>
 #include "keycode.h"
 #include "action.h"
 #include "action_macro.h"
@@ -29,11 +28,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "keymap.h"
 
 
-// 32*8(256) byte array which converts PS/2 code into USB code
-extern const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
-extern const uint16_t fn_actions[];
-
-
 /* 107-key */
 #define KEYMAP( \
     K46,K64,     K00,K18,K19,K1A,K10,K11,K12,K08,K09,K0A,K0F,K1F,K0D,K0C,K0E,   K6A,K6B,K6C,    K47,K48,K49,K4A, \
index 14c171179ca8d8d95906bb178553b83c8f50376b..e235ce80ce579a097fc46af8a95bba778613dcc0 100644 (file)
@@ -60,7 +60,7 @@ enum macro_id {
     ALT_TAB,
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
     [0] = ACTION_LAYER_MOMENTARY(1),
     [1] = ACTION_LAYER_TAP_KEY(2, KC_SCLN),
     [2] = ACTION_LAYER_TAP_KEY(3, KC_SLASH),
index 4aed684e4ca149c416310b23ea6dae2342c8a270..9e78b0215eaf8c171aeb560dc5b0c5464278f566 100644 (file)
@@ -45,6 +45,6 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 };
 
-const uint16_t PROGMEM fn_actions[] = {
+const action_t PROGMEM fn_actions[] = {
     [0] = ACTION_LAYER_MOMENTARY(1),
 };
index e836456326a0b97f5fdb8f2c06c4eef12a63bba5..f9fe025dc1ab899eb513dd099177603c398dbfb3 100644 (file)
@@ -1,32 +1,41 @@
 # Target file name (without extension).
-TARGET = m0110_lufa
+TARGET ?= m0110_usb
 
 # Directory common source filess exist
-TMK_DIR = ../../tmk_core
+TMK_DIR ?= ../../tmk_core
 
 # Directory keyboard dependent files exist
-TARGET_DIR = .
+TARGET_DIR ?= .
 
 # keyboard dependent files
-SRC  matrix.c \
+SRC ?= matrix.c \
        led.c \
-       keymap_common.c \
        m0110.c
 
-# To use own keymap file run make like: make keymap=hasu
+#
+# Keymap file
+#
+ifdef UNIMAP_ENABLE
+    KEYMAP_FILE = unimap
+else
+    ifdef ACTIONMAP_ENABLE
+       KEYMAP_FILE = actionmap
+    else
+       KEYMAP_FILE = keymap
+    endif
+endif
 ifdef KEYMAP
-    SRC += keymap_$(KEYMAP).c
+    SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
 else
-    SRC += keymap_default.c
+    SRC := $(KEYMAP_FILE).c $(SRC)
 endif
 
-CONFIG_H = config.h
+CONFIG_H ?= config.h
 
 
 # MCU name, you MUST set this to match the board you are using
 # type "make clean" after changing this, so all files will be rebuilt
-MCU = atmega32u2       # TMK converter rev2
-#MCU = atmega32u4       # TMK converter rev1
+MCU ?= atmega32u2
 
 
 # Processor frequency.
@@ -34,14 +43,14 @@ MCU = atmega32u2       # TMK converter rev2
 #   so your program will run at the correct speed.  You should also set this
 #   variable to same clock speed.  The _delay_ms() macro uses this, and many
 #   examples use this variable to calculate timings.  Do not add a "UL" here.
-F_CPU = 16000000
+F_CPU ?= 16000000
 
 
 #
 # LUFA specific
 #
 # Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
+ARCH ?= AVR8
 
 # Input clock frequency.
 #     This will define a symbol, F_USB, in all source code files equal to the
@@ -54,7 +63,7 @@ ARCH = AVR8
 #
 #     If no clock division is performed on the input clock inside the AVR (via the
 #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
+F_USB ?= $(F_CPU)
 
 # Interrupt driven control endpoint task
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
@@ -70,19 +79,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 # Build Options
 #   *Comment out* to disable the options.
 #
-#BOOTMAGIC_ENABLE = yes        # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes     # USB Nkey Rollover - not yet supported in LUFA
-#KEYMAP_SECTION_ENABLE = yes   # fixed address keymap for keymap editor
+#BOOTMAGIC_ENABLE ?= yes       # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes  # Console for debug(+400)
+COMMAND_ENABLE ?= yes    # Commands for debug and configuration
+#SLEEP_LED_ENABLE ?= yes  # Breathing sleep LED during USB suspend
+#NKRO_ENABLE ?= yes    # USB Nkey Rollover - not yet supported in LUFA
+#KEYMAP_SECTION_ENABLE ?= yes  # fixed address keymap for keymap editor
 
 
 
 #---------------- Programming Options --------------------------
-PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
+PROGRAM_CMD ?= teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
 
 
 # Search Path
diff --git a/converter/m0110_usb/Makefile.rev1 b/converter/m0110_usb/Makefile.rev1
new file mode 100644 (file)
index 0000000..54eae18
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = m0110_usb_rev1
+MCU = atmega32u4
+include Makefile
diff --git a/converter/m0110_usb/Makefile.rev2 b/converter/m0110_usb/Makefile.rev2
new file mode 100644 (file)
index 0000000..0897c71
--- /dev/null
@@ -0,0 +1,3 @@
+TARGET = m0110_usb_rev2
+MCU = atmega32u2
+include Makefile
diff --git a/converter/m0110_usb/Makefile.teensy b/converter/m0110_usb/Makefile.teensy
deleted file mode 100644 (file)
index 394b660..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-# Target file name (without extension).
-TARGET = m0110_lufa
-
-# Directory common source filess exist
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# keyboard dependent files
-SRC =  matrix.c \
-       led.c \
-       keymap_common.c \
-       m0110.c
-
-# To use own keymap file run make like: make keymap=hasu
-ifdef KEYMAP
-    SRC += keymap_$(KEYMAP).c
-else
-    SRC += keymap_default.c
-endif
-
-CONFIG_H = config.h
-
-
-# MCU name, you MUST set this to match the board you are using
-# type "make clean" after changing this, so all files will be rebuilt
-#MCU = at90usb162       # Teensy 1.0
-MCU = atmega32u4       # Teensy 2.0
-#MCU = at90usb646       # Teensy++ 1.0
-#MCU = at90usb1286      # Teensy++ 2.0
-
-
-# Processor frequency.
-#   Normally the first thing your program should do is set the clock prescaler,
-#   so your program will run at the correct speed.  You should also set this
-#   variable to same clock speed.  The _delay_ms() macro uses this, and many
-#   examples use this variable to calculate timings.  Do not add a "UL" here.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in bytes
-#   Teensy halfKay   512
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-#   *Comment out* to disable the options.
-#
-#BOOTMAGIC_ENABLE = yes        # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes     # USB Nkey Rollover - not yet supported in LUFA
-#KEYMAP_SECTION_ENABLE = yes   # fixed address keymap for keymap editor
-
-
-
-#---------------- Programming Options --------------------------
-PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
-
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TMK_DIR)
-
-
-include $(TMK_DIR)/protocol/lufa.mk
-include $(TMK_DIR)/protocol.mk
-include $(TMK_DIR)/common.mk
-include $(TMK_DIR)/rules.mk
diff --git a/converter/m0110_usb/Makefile.tmk_rev1 b/converter/m0110_usb/Makefile.tmk_rev1
deleted file mode 100644 (file)
index f36fcc4..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-# Target file name (without extension).
-TARGET = m0110_lufa
-
-# Directory common source filess exist
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# keyboard dependent files
-SRC =  matrix.c \
-       led.c \
-       keymap_common.c \
-       m0110.c
-
-# To use own keymap file run make like: make keymap=hasu
-ifdef KEYMAP
-    SRC += keymap_$(KEYMAP).c
-else
-    SRC += keymap_default.c
-endif
-
-CONFIG_H = config.h
-
-
-# MCU name, you MUST set this to match the board you are using
-# type "make clean" after changing this, so all files will be rebuilt
-#MCU = atmega32u2       # TMK converter rev2
-MCU = atmega32u4       # TMK converter rev1
-
-
-# Processor frequency.
-#   Normally the first thing your program should do is set the clock prescaler,
-#   so your program will run at the correct speed.  You should also set this
-#   variable to same clock speed.  The _delay_ms() macro uses this, and many
-#   examples use this variable to calculate timings.  Do not add a "UL" here.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in bytes
-#   Teensy halfKay   512
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-#   *Comment out* to disable the options.
-#
-#BOOTMAGIC_ENABLE = yes        # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes     # USB Nkey Rollover - not yet supported in LUFA
-#KEYMAP_SECTION_ENABLE = yes   # fixed address keymap for keymap editor
-
-
-
-#---------------- Programming Options --------------------------
-PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
-
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TMK_DIR)
-
-
-include $(TMK_DIR)/protocol/lufa.mk
-include $(TMK_DIR)/protocol.mk
-include $(TMK_DIR)/common.mk
-include $(TMK_DIR)/rules.mk
diff --git a/converter/m0110_usb/Makefile.tmk_rev2 b/converter/m0110_usb/Makefile.tmk_rev2
deleted file mode 100644 (file)
index e836456..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-# Target file name (without extension).
-TARGET = m0110_lufa
-
-# Directory common source filess exist
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# keyboard dependent files
-SRC =  matrix.c \
-       led.c \
-       keymap_common.c \
-       m0110.c
-
-# To use own keymap file run make like: make keymap=hasu
-ifdef KEYMAP
-    SRC += keymap_$(KEYMAP).c
-else
-    SRC += keymap_default.c
-endif
-
-CONFIG_H = config.h
-
-
-# MCU name, you MUST set this to match the board you are using
-# type "make clean" after changing this, so all files will be rebuilt
-MCU = atmega32u2       # TMK converter rev2
-#MCU = atmega32u4       # TMK converter rev1
-
-
-# Processor frequency.
-#   Normally the first thing your program should do is set the clock prescaler,
-#   so your program will run at the correct speed.  You should also set this
-#   variable to same clock speed.  The _delay_ms() macro uses this, and many
-#   examples use this variable to calculate timings.  Do not add a "UL" here.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in bytes
-#   Teensy halfKay   512
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-#   *Comment out* to disable the options.
-#
-#BOOTMAGIC_ENABLE = yes        # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes     # USB Nkey Rollover - not yet supported in LUFA
-#KEYMAP_SECTION_ENABLE = yes   # fixed address keymap for keymap editor
-
-
-
-#---------------- Programming Options --------------------------
-PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
-
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TMK_DIR)
-
-
-include $(TMK_DIR)/protocol/lufa.mk
-include $(TMK_DIR)/protocol.mk
-include $(TMK_DIR)/common.mk
-include $(TMK_DIR)/rules.mk
diff --git a/converter/m0110_usb/Makefile.unimap.rev1 b/converter/m0110_usb/Makefile.unimap.rev1
new file mode 100644 (file)
index 0000000..b1cd967
--- /dev/null
@@ -0,0 +1,6 @@
+TARGET = m0110_usb_rev1_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+MCU = atmega32u4
+#OPT_DEFS = -DM0110_INTL
+include Makefile
diff --git a/converter/m0110_usb/Makefile.unimap.rev2 b/converter/m0110_usb/Makefile.unimap.rev2
new file mode 100644 (file)
index 0000000..1416155
--- /dev/null
@@ -0,0 +1,6 @@
+TARGET = m0110_usb_rev2_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+MCU = atmega32u2
+#OPT_DEFS = -DM0110_INTL
+include Makefile
index bfd3261df539859d8aab1c8162b373e775687fff..668c85269b0c4dffdf935227c20330e0abab7edc 100644 (file)
@@ -4,7 +4,7 @@ This firmware converts the protocol of Apple Macintosh keyboard **M0110**, **M01
 
 Read README of top directory too.
 
-Pictures of **M0110 + M0120** and **M0110A**.
+Pictures of **M0110 + M0120** and **M0110A** with [TMK converter].
 
 ![M0110+M0120](http://i.imgur.com/dyvXb2Tm.jpg)
 ![M0110A](http://i.imgur.com/HuHOEoHm.jpg)
@@ -21,25 +21,25 @@ Update
 - 2013/09: Change port again, it uses inversely `PD0` for data and `PD1` for clock line now.
 - 2014/06: Change keymaps
 - 2015/03: Add support for "International"(ISO) keyboard(keymap_intl.c)
+- 2016/09: Unimap support - keymap editor on web browser
 
 
 
-Building Hardware
------------------
-You need [TMK converter] or AVR dev board like PJRC [Teensy]. Port of the MCU `PD1` is assigned to `CLOCK` line and `PD0` to `DATA` by default, you can change pin configuration with editing `config.h`.
+Hardware
+--------
+You can buy preassembled [TMK converter] or make yourown with AVR dev board like PJRC [Teensy].
+
+Port of the MCU `PD1` is assigned to `CLOCK` line and `PD0` to `DATA` by default, you can change pin configuration with editing `config.h`.
 
-[![M0110 Converter](http://i.imgur.com/4G2ZOegm.jpg)](http://i.imgur.com/4G2ZOeg.jpg)
+[![M0110 Converter](http://i.imgur.com/yEp2eRim.jpg)](http://i.imgur.com/yEp2eRi.jpg)
 
 ### 4P4C phone handset cable
 Note that original cable used with Mac is **straight** while phone handset cable is **crossover**.
 
 <http://en.wikipedia.org/wiki/Modular_connector#4P4C>
 
-Close-up picture of handset cable. You can see one end of plug has reverse color codes against the other. Click to enlarge.
-[![4P4C cable](http://i.imgur.com/3S9P1mYm.jpg?1)](http://i.imgur.com/3S9P1mY.jpg?1)
-
 [Teensy]: http://www.pjrc.com/teensy/
-[TMK converter]: https://github.com/tmk/keyboard_converter
+[TMK converter]: https://geekhack.org/index.php?topic=72052.0
 
 
 ### Socket Pinout
@@ -60,16 +60,19 @@ To compile firmware you need AVR GCC. You can edit *Makefile* and *config.h* to
     $ git clone git://github.com/tmk/tmk_keyboard.git (or download source)
     $ cd m0110_usb
     $ make -f Makefile.rev2 clean
-    $ make -f Makefile.rev2 [KEYMAP={default|intl|spacefn|hasu}]
+    $ make -f Makefile.rev2 [KEYMAP={intl|spacefn}]
 
-Use `Maefile.tmk_rev1` for TMK converter Rev.1, `Makefile.teensy` for Teensy instead.
+Use `Maefile.rev1` for TMK converter rev.1 and Teensy(ATMega32u4), instead.
 
 
 
 Keymap
 ------
-To create your own keymap copy existent keymap file to `keymap_name.c` and edit it.
+To create your own keymap copy existent keymap file to `keymap_<name>.c` and edit it. You can build with `make -f Makefile.rev2 KEYMAP=<name>`.
+
+Or you can edit keymap on web browser and download firmware.
 
+http://www.tmk-kbd.com/tmk_keyboard/editor/
 
 
 Debug
diff --git a/converter/m0110_usb/binary/m0110_usb_rev1_unimap.hex b/converter/m0110_usb/binary/m0110_usb_rev1_unimap.hex
new file mode 100644 (file)
index 0000000..722f02a
--- /dev/null
@@ -0,0 +1,1223 @@
+:100000000C94F5040C943C050C943C050C943C05B4\r
+:100010000C943C050C943C050C943C050C943C055C\r
+:100020000C943C050C943C050C94AE0D0C94800E85\r
+:100030000C942A1C0C943C050C943C050C943C0537\r
+:100040000C943C050C943C050C943C050C943C052C\r
+:100050000C943C050C949E1C0C943C050C943C05A3\r
+:100060000C943C050C943C050C943C050C943C050C\r
+:100070000C943C050C943C050C943C050C943C05FC\r
+:100080000C943C050C943C050C943C050C943C05EC\r
+:100090000C943C050C943C050C943C050C943C05DC\r
+:1000A0000C943C050C943C050C943C05ED0E0F0F94\r
+:1000B000FD0F0F0FFD0F540F770FFD0FCC0FDF0F4C\r
+:1000C0001913191346134613A113DD13D515D515AE\r
+:1000D000F513D515F014F014AB15D515D515C115BC\r
+:1000E000041607090B0A1D1B06198005141A0815AA\r
+:1000F0001C171E1F202123222E26242D25273012D7\r
+:10010000182F0C13280F0D340E33313638111037D9\r
+:100110002B2C352A7F80807B79397A808080808083\r
+:1001200080634F8080805053518080805852578028\r
+:10013000808062595A5B5C5D5E5F80606180808018\r
+:10014000808056808080668054808080805580804A\r
+:100150000A0025303862003A200025303258000A63\r
+:10016000722F632030313233343536370A005D0A5E\r
+:100170000025303258005B0020002530325800281E\r
+:1001800031290A002832290A002833290A00283494\r
+:10019000290A000A0025303258006D303131305FB5\r
+:1001A00072656376206572723A20000A002530324B\r
+:1001B00058006D303131305F73656E642065727246\r
+:1001C0003A20005B735D004B6579626F6172642059\r
+:1001D00073746172742E0A0055534220636F6E6609\r
+:1001E0006967757265642E0A005B575D005B535D3D\r
+:1001F000005B525D005B445D005B435D0032034D7C\r
+:1002000000300031003100300020006B00650079C3\r
+:100210000062006F00610072006400200063006FE4\r
+:10022000006E0076006500720074006500720000C8\r
+:10023000000E0374002E006D002E006B002E0000D7\r
+:10024000000403090409027400040100A032090437\r
+:1002500000000103010100092111010001224000F9\r
+:100260000705810308000A090401000103010200D7\r
+:10027000092111010001224D000705820308000A2F\r
+:1002800009040200010300000009211101000122FC\r
+:1002900036000705830308000A090403000203006F\r
+:1002A000000009211101000122220007058403201A\r
+:1002B00000010705040320000112011001000000E5\r
+:1002C00008EDFE10010101010200010631FF097471\r
+:1002D000A1010975150026FF009520750881020906\r
+:1002E00076150026FF00952075089102C0050109CA\r
+:1002F00080A101850216810026B7001A81002AB765\r
+:1003000000751095018100C0050C0901A10185034C\r
+:10031000160100269C021A01002A9C027510950104\r
+:100320008100C005010902A1010901A10005091907\r
+:1003300001290515002501950575018102950175B5\r
+:100340000381010501093009311581257F95027569\r
+:1003500008810609381581257F95017508810605F4\r
+:100360000C0A38021581257F950175088106C0C0E9\r
+:1003700005010906A101050719E029E71500250176\r
+:10038000950875018102950175088101050819011B\r
+:1003900029059505750191029501750391010507E0\r
+:1003A000190029FF150026FF00950675088100C079\r
+:1003B0000A002530325820006B6579626F617264E3\r
+:1003C0005F7265706F72743A20004C45443A202584\r
+:1003D0003032580A00290A002575002F00257500C3\r
+:1003E0005D280025640020002564002000256400AD\r
+:1003F00020002564007C0025303258006D6F757335\r
+:10040000656B6579205B62746E7C7820792076203C\r
+:10041000685D287265702F61636C293A205B006DFE\r
+:100420006B5F776865656C5F74696D655F746F5F3E\r
+:100430006D6178203D2025640A006D6B5F776865EB\r
+:10044000656C5F6D61785F7370656564203D202524\r
+:10045000640A006D6B5F74696D655F746F5F6D61D9\r
+:1004600078203D2025640A006D6B5F6D61785F73B5\r
+:1004700070656564203D2025640A006D6B5F696EC0\r
+:1004800074657276616C203D2025640A006D6B5F97\r
+:1004900064656C6179203D2025640A006D6B5F778F\r
+:1004A0006865656C5F74696D655F746F5F6D6178B9\r
+:1004B000203D2025640A006D6B5F776865656C5F81\r
+:1004C0006D61785F7370656564203D2025640A0066\r
+:1004D0006D6B5F74696D655F746F5F6D6178203DF2\r
+:1004E0002025640A006D6B5F6D61785F73706565D0\r
+:1004F00064203D2025640A006D6B5F696E7465722F\r
+:1005000076616C203D2025640A006D6B5F64656C2C\r
+:100510006179203D2025640A000A00257500363ADD\r
+:1005200020776865656C5F74696D655F746F5F6D7A\r
+:1005300061783A20000A00257500353A2077686511\r
+:10054000656C5F6D61785F73706565643A20000A61\r
+:1005500000257500343A2074696D655F746F5F6DB6\r
+:1005600061783A20000A00257500333A206D6178E1\r
+:100570005F73706565643A20000A00257500323AA1\r
+:1005800020696E74657276616C286D73293A20005B\r
+:100590000A00257500313A2064656C6179282A319A\r
+:1005A000306D73293A20000A092D2056616C75655B\r
+:1005B00073202D0A004D3E004D25643E20003F0073\r
+:1005C0007365742064656661756C740A00433E202F\r
+:1005D0000077686572652064656C74613A206375A4\r
+:1005E00072736F723D25642C20776865656C3D25BC\r
+:1005F000640A53656520687474703A2F2F656E2EF7\r
+:1006000077696B6970656469612E6F72672F7769AE\r
+:100610006B692F4D6F7573655F6B6579730A000A9F\r
+:10062000092D204D6F7573656B6579202D0A455333\r
+:10063000432F713A09717569740A313A0964656C1E\r
+:100640006179282A31306D73290A323A09696E744A\r
+:10065000657276616C286D73290A333A096D617889\r
+:100660005F73706565640A343A0974696D655F7417\r
+:100670006F5F6D61780A353A09776865656C5F6D03\r
+:1006800061785F73706565640A363A0977686565F5\r
+:100690006C5F74696D655F746F5F6D61780A0A7075\r
+:1006A0003A097072696E742076616C7565730A64BC\r
+:1006B0003A097365742064656661756C74730A75B4\r
+:1006C000703A092B310A646F776E3A092D310A703E\r
+:1006D0006775703A092B31300A7067646F776E3A2C\r
+:1006E000092D31300A0A7370656564203D20646508\r
+:1006F0006C7461202A206D61785F73706565642079\r
+:100700002A2028726570656174202F2074696D65D8\r
+:100710005F746F5F6D6178290A003F004D3E2000D5\r
+:10072000433E20004C25640A000A092D20436F6EC9\r
+:10073000736F6C65202D0A4553432F713A0971750B\r
+:1007400069740A6D3A096D6F7573656B65790A0096\r
+:100750000A092D204D61676963202D0A643A0964F6\r
+:10076000656275670A783A096465627567206D612C\r
+:10077000747269780A6B3A096465627567206B6503\r
+:1007800079626F6172640A6D3A0964656275672007\r
+:100790006D6F7573650A763A0976657273696F6E67\r
+:1007A0000A733A097374617475730A633A09636F63\r
+:1007B0006E736F6C65206D6F64650A302D343A0975\r
+:1007C0006C61796572302D34284631302D463429DC\r
+:1007D0000A506175733A09626F6F746C6F6164657A\r
+:1007E000720A003F0074696D65725F7265616433FF\r
+:1007F0003228293A202530346C580A006B6579621A\r
+:100800006F6172645F69646C653A2025580A006BF9\r
+:100810006579626F6172645F70726F746F636F6C21\r
+:100820003A2025580A00686F73745F6B6579626FB0\r
+:100830006172645F6C65647328293A2025580A0048\r
+:100840000A092D20537461747573202D0A004743E3\r
+:10085000433A20342E392E32204156522D4C4942F3\r
+:10086000433A20312E382E3073766E204156525F37\r
+:10087000415243483A20617672350A004F5054493C\r
+:100880004F4E533A204C554641204D4F5553454B02\r
+:1008900045592045585452414B455920434F4E53DA\r
+:1008A0004F4C4520434F4D4D414E44204B45594DF3\r
+:1008B00041505F53454354494F4E20343039360A36\r
+:1008C000004255494C443A20633766643566632DCF\r
+:1008D0006469727479202830343A31393A353120DC\r
+:1008E0005365702031332032303136290A005649A1\r
+:1008F000443A2030784645454428742E6D2E6B2EA0\r
+:1009000029205049443A20307830313130284D3058\r
+:10091000313130206B6579626F61726420636F6E74\r
+:1009200076657274657229205645523A20307830C7\r
+:100930003130310A00444553433A20636F6E766587\r
+:100940007274204D30313130206B6579626F617285\r
+:100950006420746F205553420A000A092D20566501\r
+:100960007273696F6E202D0A000A6D6F7573653A98\r
+:10097000206F66660A000A6D6F7573653A206F6EA8\r
+:100980000A000A6B6579626F6172643A206F66666D\r
+:100990000A000A6B6579626F6172643A206F6E0AB1\r
+:1009A000000A6D61747269783A206F66660A000AFF\r
+:1009B0006D61747269783A206F6E0A000A6465622C\r
+:1009C00075673A206F6E0A000A64656275673A209F\r
+:1009D0006F66660A000A0A626F6F746C6F61646505\r
+:1009E000722E2E2E2000433E200011241FBECFEF7A\r
+:1009F000DAE0DEBFCDBF04B603FE27C08091D4018C\r
+:100A00009091D501A091D601B091D7018730904B3C\r
+:100A1000A740B04BD1F41092D4011092D50110929E\r
+:100A2000D6011092D70114BE84B7877F84BF0FB65A\r
+:100A3000F894A8958091600088618093600010927E\r
+:100A400060000FBEE0E0F8E3099511E0A0E0B1E03E\r
+:100A5000EAE1FAE402C005900D92A233B107D9F79A\r
+:100A600021E0A2E3B1E001C01D92A43DB207E1F78D\r
+:100A70000E94DD0A0C940B250C940000FF93EF9369\r
+:100A8000E0913201F0913301309709F00995EF912F\r
+:100A9000FF910895FC018591803011F0EFDFFBCFCD\r
+:100AA0000895FF27E0E230E247FF0CC0419597FF31\r
+:100AB00009C0EDE26095709580959095611D711D5E\r
+:100AC000811D911D27FF02C0219530E350E2AA2726\r
+:100AD000660F771F881F991FAA1FA41710F0A41B69\r
+:100AE00063955A95A9F7AA3008F0A95FA05DAF9366\r
+:100AF000F395611571058105910541F7ED3211F40A\r
+:100B0000EF93F395F21718F43F93F395FBCF8F9182\r
+:100B1000B5DFFA95E1F70895E991F9918591803073\r
+:100B200021F0853219F0AADFF9CF089520E0E8948A\r
+:100B300055915532C1F3503311F4689455915A339D\r
+:100B400048F4505390F3220F022E220F220F200D53\r
+:100B5000250FF4CF0EF4219589919991533619F30D\r
+:100B6000533729F1533559F1BC0188279927E89467\r
+:100B70005C3621F48991999168945591543639F4F1\r
+:100B800046EF7EF077FF0DC08FEF9FEF0AC055371D\r
+:100B90004AE039F0583540E121F0523642E009F0A0\r
+:100BA0000895FF93EF937DDFEF91FF91B7CFFF9310\r
+:100BB000EF93FC0181918030B9F360DFFBCFFF93AD\r
+:100BC000EF9368DFF1CFDF93CF93CDB7DEB72596F4\r
+:100BD000A3DFCF91DF9108950E94E106E4E3F1E005\r
+:100BE0008EE08E0F11928E13FDCF84E391E09093EF\r
+:100BF000430180934201569A5E9A2FEF89E698E16D\r
+:100C0000215080409040E1F700C00000569A5E9865\r
+:100C10000895CF93109244010E94FB07C82F8B3791\r
+:100C200009F444C08F3F09F441C081E0809344013E\r
+:100C30008C2F869586958695E0914201F09143012F\r
+:100C40004C2F4770C7FF0EC08F70E80FF11D21E0D9\r
+:100C500030E001C0220F4A95EAF7209580812823D1\r
+:100C600020830BC0E80FF11D81E090E001C0880FE8\r
+:100C70004A95EAF79081892B80838091B60180FFA5\r
+:100C800017C086E791E00E944A051F92CF9381E743\r
+:100C900091E09F938F930E94E3058EE691E00E947E\r
+:100CA0004A050F900F900F900F9002C080E001C096\r
+:100CB00081E0CF9108952091420130914301F901E3\r
+:100CC000E80FF11D80810895EF92FF920F931F931B\r
+:100CD000CF93DF938FE591E00E944A05C0E0D0E01A\r
+:100CE0008AE5E82E81E0F82E02E511E0DF93CF934C\r
+:100CF000FF92EF920E94E30587E591E00E944A058A\r
+:100D0000E0914201F0914301EC0FFD1F80810E94B0\r
+:100D1000BF1B1F928F931F930F930E94E30580E5E3\r
+:100D200091E00E944A0521968DB79EB708960FB6AE\r
+:100D3000F8949EBF0FBE8DBFCE30D105B9F6DF91BE\r
+:100D4000CF911F910F91FF90EF900895569A81FFD8\r
+:100D500002C05E9A08955E9808955198599A089530\r
+:100D60005898509A08955098589A08955198599AB9\r
+:100D700085E08A95F1F7000089B186958170089524\r
+:100D8000CF93DF93EC010E94B606882341F02097B1\r
+:100D900031F085E08A95F1F700002197F4CFCE017C\r
+:100DA000DF91CF9108958B3741F08F3F41F0982F1D\r
+:100DB0009F7796958078892B08958BE708958FEF1C\r
+:100DC00008950E94AD060E94B3062FEF83ED90E3D5\r
+:100DD000215080409040E1F700C000000895EF925C\r
+:100DE000FF920F931F93CF93DF93E82E1092480149\r
+:100DF0000E94AD060E94B006CAEFD0E088EE93E0F4\r
+:100E00000E94C006892B21F42197C1F781E036C0EA\r
+:100E100008E010E080E8F82E8AEF90E00E94C0061B\r
+:100E2000892B11F483E02AC08F2D8E2129F00E9496\r
+:100E3000B306C8ECD0E00AC00E94B006FACF2097F3\r
+:100E400059F025E02A95F1F7000021970E94B60697\r
+:100E50008823A9F3CD2B11F484E010C0F69401503F\r
+:100E60001109D1F68FE891E00197F1F700C0000079\r
+:100E70000E94AD060E94B30681E026C0809348011F\r
+:100E800082EB91E00E944A05809148011F928F9366\r
+:100E90008DEA91E09F938F930E94E3058BEA91E0A6\r
+:100EA0000E944A059FEF29E688E19150204080404A\r
+:100EB000E1F700C000000E94AD060E94B3060F904B\r
+:100EC0000F900F900F9080E0DF91CF911F910F91C5\r
+:100ED000FF90EF9008950F931F93CF93DF9310929D\r
+:100EE0004801CAEFD0E088EE93E00E94C006892B4B\r
+:100EF00021F42197C1F781E02FC0D8E0C0E0CC0FEA\r
+:100F000088EC90E00E94C006892B11F482E024C096\r
+:100F100008EC10E00E94B60681110AC00115110507\r
+:100F200049F025E02A95F1F7000001501109F2CFB0\r
+:100F3000012B11F483E010C05098589A85E08A95EF\r
+:100F4000F1F700004899C160D150C9F60E94AD0682\r
+:100F50000E94B3068C2F26C0809348018AE991E055\r
+:100F60000E944A05809148011F928F9385E991E084\r
+:100F70009F938F930E94E30583E991E00E944A05C5\r
+:100F80009FEF29E688E1915020408040E1F700C0C2\r
+:100F900000000E94AD060E94B3060F900F900F90C4\r
+:100FA0000F908FEFDF91CF911F910F910895CF9305\r
+:100FB00084E10E94EF060E946B07C82F8B37C1F0B7\r
+:100FC0008091B60180FF0CC01F92CF938AE791E019\r
+:100FD0009F938F930E94E3050F900F900F900F90B7\r
+:100FE0008091B60180FF04C088E791E00E944A0525\r
+:100FF0008C2FCF910895CF93DF9380914701882361\r
+:1010000019F0109247017EC080914601882319F0A3\r
+:101010001092460177C0C0914501CC2319F010927F\r
+:10102000450103C00E94D707C82F8C2F8F778137C7\r
+:10103000B1F0893709F061C00E94D707982F9F77D8\r
+:101040009D3041F018F4953039F404C0913111F01D\r
+:101050009B3111F487FD37C00E94D3063AC00E942D\r
+:10106000D707982F9F77913719F0993721F041C012\r
+:101070008093450142C00E94D707D82F8F778D30CB\r
+:1010800041F018F4853081F504C0813111F08B31C5\r
+:1010900059F5C7FF11C0D7FF0AC08EE891E00E9442\r
+:1010A0004A058C2F0E94D306809346010BC089E825\r
+:1010B00091E00E944A0521C0D7FF0DC084E891E06D\r
+:1010C0000E944A058D2F0E94D306982F9066909318\r
+:1010D0004701806417C08FE791E00E944A058D2F79\r
+:1010E0000E94D30680660EC08D2F0E94D3068064B6\r
+:1010F00002C00E94D306809347018C2FDF91CF91CD\r
+:101100000C94D306DF91CF910895809154010895F6\r
+:101110009FB7F89410924B019FBF9091CB019430F0\r
+:1011200009F057C09091E9009F703091EC00232F97\r
+:10113000217030FD20E8922B24E02093E9002091DB\r
+:10114000EB0020FF43C02091EE0027FF3FC020911D\r
+:101150004901222321F02091E80025FF37C0109299\r
+:10116000490126E03091E80035FD15C03091CB01F2\r
+:10117000343061F53091EB0035FD28C0215021F469\r
+:1011800081E08093490122C0EFE9FFE03197F1F758\r
+:1011900000C00000E7CF8093F1008091E80085FD5A\r
+:1011A0000AC08091E80080FFFCCF8091E8008E7734\r
+:1011B0008093E80006C08FB7F89421E020934B019C\r
+:1011C0008FBF9F709093E90080E008959F70909387\r
+:1011D000E9008FEF0895CF93DF9300D01F92CDB732\r
+:1011E000DEB79C018091CB01843019F593E099839F\r
+:1011F0003B832A839093E9008FEF9091E800815020\r
+:1012000095FD06C095ED9A95F1F700008111F5CF97\r
+:101210008091E80085FF0DC040E050E063E070E0A1\r
+:10122000CE0101960E949E0B8091E8008E778093FC\r
+:10123000E8000F900F900F90DF91CF910895CF931A\r
+:10124000DF9300D01F92CDB7DEB72091CB012430C1\r
+:1012500021F522E029839B838A8383E08093E90040\r
+:101260008FEF9091E800815095FD06C095ED9A951D\r
+:10127000F1F700008111F5CF8091E80085FF0DC0E6\r
+:1012800040E050E063E070E0CE0101960E949E0BCA\r
+:101290008091E8008E778093E8000F900F900F9078\r
+:1012A000DF91CF9108952091CB012430F1F422E019\r
+:1012B0002093E9002FEF3091E800215035FD06C062\r
+:1012C00035ED3A95F1F700002111F5CF2091E800B6\r
+:1012D00025FF0BC040E050E065E070E00E949E0BEF\r
+:1012E0008091E8008E778093E8000895CF93DF9394\r
+:1012F0002091CB01243039F521E02093E9002FEF34\r
+:101300003091E800215035FD06C035ED3A95F1F7F2\r
+:1013100000002111F5CF2091E80025FF14C0EC0159\r
+:1013200040E050E068E070E00E949E0B8091E80091\r
+:101330008E778093E80088E0FE01ACE4B1E0019094\r
+:101340000D928A95E1F7DF91CF91089589EF91E0B1\r
+:101350000E944A058091CA01811109C00E94330D83\r
+:101360000E94900D8091E20084608093E2000895D5\r
+:1013700085EF91E00E944A051092CA01089581EF1D\r
+:1013800091E00C944A0520914A012F5F822F62E37D\r
+:101390000E94D124992319F020934A0108951092B4\r
+:1013A0004A0180914B01882371F18091CB018430F7\r
+:1013B00041F58091E9008F702091EC00922F91709F\r
+:1013C00020FD90E8892B94E09093E9009091EB0048\r
+:1013D00090FF14C09091EE0097FF10C09091E8002C\r
+:1013E00095FF03C01092F100F9CF9091E80090FFB3\r
+:1013F00005C09091E8009E779093E8008F708093ED\r
+:10140000E90010924B01089542E061EC81E00E94F6\r
+:10141000AD0C42E061EC82E00E94AD0C42E061EC78\r
+:1014200083E00E94AD0C42E261EC84E00C94AD0CD0\r
+:101430008091CD01833009F453C030F4813071F0D4\r
+:10144000823009F48CC008958A3009F478C08B305A\r
+:1014500009F45EC0893009F09AC020C08091CC01A7\r
+:10146000813A09F094C08091E800877F8093E8007A\r
+:101470008091D0019091D101892B21F468E08CE416\r
+:1014800091E003C060E080E090E070E00E94E90B32\r
+:101490008091E8008B778093E80008958091CC01DB\r
+:1014A000813209F074C08091D0019091D101892BD3\r
+:1014B00009F06DC08091E800877F8093E8008091FB\r
+:1014C000E80082FD05C08091CB018111F8CF5FC09B\r
+:1014D0008091F100809354018091E8008B7753C094\r
+:1014E0008091CC01813A09F052C08091D001909155\r
+:1014F000D101892B09F04BC08091E800877F809350\r
+:10150000E8008091E80080FFFCCF80910A0136C09E\r
+:101510008091CC018132D9F58091D0019091D10197\r
+:10152000892BA9F58091E800877F8093E8000E94CD\r
+:10153000E20C8091CE0180930A010C94F615809103\r
+:10154000CC01813221F58091E800877F8093E8000B\r
+:101550000E94E20C8091CF01809355010895809103\r
+:10156000CC01813AA1F48091E800877F8093E80064\r
+:101570008091E80080FFFCCF809155018093F100BD\r
+:101580008091E8008E778093E8000C94E20C089537\r
+:101590000895089508958DEE91E00E944A050C94F7\r
+:1015A000CA0A0E94E91B8091C901882329F00E9480\r
+:1015B000141C81110C94880B089584B7877F84BF15\r
+:1015C0000FB6F894A89580916000886180936000C0\r
+:1015D000109260000FBE90E080E80FB6F894809300\r
+:1015E0006100909361000FBE0E94C80A0E94A7107C\r
+:1015F0000E94330D0E94900D8091E20084608093E0\r
+:10160000E20088E898E00E94BA1B78948091CB01B0\r
+:101610008430E1F788ED91E00E944A050E94A9100C\r
+:1016200080E091E00E94151087EC91E00E944A054D\r
+:101630000E94C90A8091CB01853039F483EC91E096\r
+:101640000E944A050E94D10AF5CF0E94AD10F2CF48\r
+:101650000C94281C89EE91E00E944A050C94280BFA\r
+:10166000292F332723303105C9F064F421303105A7\r
+:1016700081F02230310509F043C084E790E025E491\r
+:1016800032E042C021323105F1F02232310541F120\r
+:1016900037C082E190E029EB32E036C099278130F3\r
+:1016A000910541F08230910541F0892B49F5E1E443\r
+:1016B000F2E005C0E1E3F2E002C0EDEFF1E0849179\r
+:1016C00090E09F0121C06430D8F4E62FF0E0EE0FE7\r
+:1016D000FF1FE15EFE4F2081318189E090E014C060\r
+:1016E000643070F470E0FB01EE0FFF1FE95EFE4F07\r
+:1016F00020813181FB01ED5EFE4F808190E004C0CE\r
+:1017000080E090E020E030E0FA013183208308950A\r
+:1017100080E189BD82E189BD09B400FEFDCF8091E1\r
+:10172000D8008F7D8093D8008091E0008260809304\r
+:10173000E0008091E00081FDFCCF0895CF92DF9220\r
+:10174000EF92FF920F931F93CF93DF93EC018B01E6\r
+:101750006A010E94010D811133C0C114D10439F016\r
+:10176000F60180819181081B190BC80FD91FE12C4C\r
+:10177000F12C0115110519F18091E80085FD16C0C5\r
+:101780008091E8008E778093E800C114D10449F07D\r
+:10179000F60180819181E80EF91EF182E08285E0F8\r
+:1017A0000FC00E94010D882321F30AC08991809304\r
+:1017B000F10001501109FFEFEF1AFF0ADACF80E0C4\r
+:1017C000DF91CF911F910F91FF90EF90DF90CF901D\r
+:1017D00008952091D2013091D3012617370748F0A0\r
+:1017E0006115710539F42091E8002E772093E80007\r
+:1017F00001C0B90140E061157105A9F12091CB014B\r
+:10180000222309F443C0253009F442C02091E800A6\r
+:1018100023FD40C02091E80022FD32C02091E80065\r
+:1018200020FFE9CF4091F3002091F20030E0342B0B\r
+:10183000FC01CF016115710559F02830310540F4E4\r
+:1018400081918093F100615071092F5F3F4FF1CF7B\r
+:1018500041E02830310509F040E02091E8002E7782\r
+:101860002093E800C8CF4111C9CF0AC08091CB01B5\r
+:10187000882361F0853061F08091E80083FD0AC023\r
+:101880008091E80082FFF2CF80E0089582E0089521\r
+:1018900083E0089581E008952091D2013091D30131\r
+:1018A0002617370748F06115710539F42091E800D3\r
+:1018B0002E772093E80001C0B901FC0120E06115FA\r
+:1018C000710591F18091CB01882309F440C08530E6\r
+:1018D00009F43FC08091E80083FD3DC08091E8009D\r
+:1018E00082FD2FC08091E80080FFE9CF2091F300B6\r
+:1018F0008091F20090E0922B6115710559F08830CB\r
+:10190000910540F424912093F100319661507109C2\r
+:101910000196F2CF21E0089709F020E08091E800DD\r
+:101920008E778093E800CBCF2111CCCF0AC0809175\r
+:10193000CB01882361F0853061F08091E80083FD60\r
+:101940000AC08091E80082FFF2CF80E0089582E033\r
+:10195000089583E0089581E00895982F973058F511\r
+:101960009093E900981739F07091EC002091ED0008\r
+:101970005091F00003C0242F762F50E021FF19C0B2\r
+:101980003091EB003E7F3093EB003091ED003D7FD6\r
+:101990003093ED003091EB0031603093EB007093A9\r
+:1019A000EC002093ED005093F0002091EE0027FF13\r
+:1019B00007C09F5FD3CF8F708093E90081E00895C7\r
+:1019C00080E008958091CC0187FF11C08091E800EC\r
+:1019D00082FD05C08091CB018111F8CF11C08091AB\r
+:1019E000E8008B770BC08091CB01882349F0809170\r
+:1019F000E80080FFF8CF8091E8008E778093E800C0\r
+:101A000008952091E4003091E50095E64091EC00C6\r
+:101A1000842F817040FF22C08091E80080FD1CC0AF\r
+:101A20008091CB01882391F0853091F08091EB007B\r
+:101A300085FD10C04091E4005091E5004217530726\r
+:101A400029F39A01915011F784E0089582E00895F6\r
+:101A500083E0089581E0089580E008954091E800D2\r
+:101A600042FFDECF08950E94A10D0E94A90DE0EE75\r
+:101A7000F0E0808181608083E8EDF0E080818F7705\r
+:101A8000808319BCA7EDB0E08C918E7F8C93808110\r
+:101A90008F7E80831092CA0108950F931F93CF9376\r
+:101AA000DF930E94A10D0E94A90DC8EDD0E08881AE\r
+:101AB0008F77888388818068888388818F7D8883F9\r
+:101AC00019BC1092CB011092C7011092C90110925B\r
+:101AD000C80100EE10E0F80180818B7F808388814F\r
+:101AE0008160888342E060E080E00E94AD0CE1EE1E\r
+:101AF000F0E080818E7F8083E2EEF0E08081816083\r
+:101B00008083808188608083F80180818E7F8083DC\r
+:101B1000888180618883DF91CF911F910F91089513\r
+:101B2000E8EDF0E080818F7E8083E7EDF0E080815A\r
+:101B30008160808384E082BF81E08093CA010C943D\r
+:101B40004D0DE8EDF0E080818E7F80831092E20001\r
+:101B500008951092DA001092E10008951F920F92FA\r
+:101B60000FB60F9211242F933F934F935F936F9370\r
+:101B70007F938F939F93AF93BF93EF93FF93809146\r
+:101B8000E10082FF0BC08091E20082FF07C08091DC\r
+:101B9000E1008B7F8093E1000E94C3098091DA000D\r
+:101BA00080FF1FC08091D80080FF1BC08091DA00A9\r
+:101BB0008E7F8093DA008091D90080FF0DC080E194\r
+:101BC00089BD82E189BD09B400FEFDCF81E080932B\r
+:101BD000CB010E94A60905C019BC1092CB010E943E\r
+:101BE000B8098091E10080FF19C08091E20080FF78\r
+:101BF00015C08091E2008E7F8093E2008091E20028\r
+:101C000080618093E2008091D80080628093D80048\r
+:101C100019BC85E08093CB010E94CB0A8091E10042\r
+:101C200084FF30C08091E20084FF2CC080E189BD38\r
+:101C300082E189BD09B400FEFDCF8091D8008F7D7F\r
+:101C40008093D8008091E1008F7E8093E1008091A5\r
+:101C5000E2008F7E8093E2008091E20081608093B9\r
+:101C6000E2008091C701882311F084E007C08091D1\r
+:101C7000E30087FD02C081E001C083E08093CB01D7\r
+:101C80000E942A0B8091E10083FF29C08091E2002D\r
+:101C900083FF25C08091E100877F8093E10082E08F\r
+:101CA0008093CB011092C7018091E1008E7F8093D9\r
+:101CB000E1008091E2008E7F8093E2008091E2005B\r
+:101CC00080618093E20042E060E080E00E94AD0C21\r
+:101CD0008091F00088608093F0000E94BF09FF911E\r
+:101CE000EF91BF91AF919F918F917F916F915F9194\r
+:101CF0004F913F912F910F900FBE0F901F9018950D\r
+:101D00001F920F920FB60F9211242F933F934F9370\r
+:101D10005F936F937F938F939F93AF93BF93CF9373\r
+:101D2000DF93EF93FF93C091E900CF708091EC00B7\r
+:101D3000D82FD17080FDD0E81092E9008091F0009A\r
+:101D4000877F8093F00078940E94C40E1092E9007F\r
+:101D50008091F00088608093F000CD2BCF70C0930D\r
+:101D6000E900FF91EF91DF91CF91BF91AF919F91EA\r
+:101D70008F917F916F915F914F913F912F910F9034\r
+:101D80000FBE0F901F9018951F93CF93DF93CDB781\r
+:101D9000DEB7AA970FB6F894DEBF0FBECDBFECEC4E\r
+:101DA000F1E088E08E0F9091F10091938E13FBCFBC\r
+:101DB0000E94180A8091E80083FF1FC18091CC0126\r
+:101DC0009091CD01492F50E04A30510508F015C1DE\r
+:101DD000FA01EA5AFF4F0C94F124803881F08238DE\r
+:101DE00009F00BC18091D0018F708093E900809140\r
+:101DF000EB0085FB882780F91092E90006C08091EE\r
+:101E0000C8019091C901911182609091E800977F7B\r
+:101E10009093E8008093F1001092F100C8C0282F41\r
+:101E20002D7F09F0EAC0882319F0823061F0E5C007\r
+:101E30008091CE01813009F0E0C0933009F080E05C\r
+:101E40008093C9012BC08091CE01811127C0809160\r
+:101E5000D0018F7009F4D1C08093E9002091EB008C\r
+:101E600020FF1CC0933021F48091EB00806214C0ED\r
+:101E70009091EB0090619093EB0021E030E0A9019C\r
+:101E800002C0440F551F8A95E2F74093EA00109272\r
+:101E9000EA008091EB0088608093EB001092E900EB\r
+:101EA0008091E800877F86C08111A7C01091CE0184\r
+:101EB0001F778091E3008078812B8093E3008091ED\r
+:101EC000E800877F8093E8000E94E20C8091E800A0\r
+:101ED00080FFFCCF8091E30080688093E3001111C4\r
+:101EE00002C082E001C083E08093CB0186C08058AD\r
+:101EF000823008F082C08091CE019091CF018C3D5C\r
+:101F000053E0950779F583E08A838AE289834FB7A6\r
+:101F1000F894DE01139620E03EE051E2E32FF0E07A\r
+:101F200050935700E49120FF03C0E295EF703F5FAC\r
+:101F3000EF708E2F90E0EA3010F0C79601C0C09687\r
+:101F40008D939D932F5F243149F74FBF8091E80017\r
+:101F5000877F8093E8006AE270E0CE0101960E94DC\r
+:101F6000E90B14C0AE014F5F5F4F6091D0010E943A\r
+:101F7000300BBC01892B09F440C09091E800977F99\r
+:101F80009093E80089819A810E944C0C8091E8002E\r
+:101F90008B778093E80031C0803879F58091E80034\r
+:101FA000877F8093E8008091C7018093F100809142\r
+:101FB000E8008E778093E8000E94E20C1EC0811139\r
+:101FC0001CC09091CE019230C0F48091E800877FD0\r
+:101FD0008093E8009093C7010E94E20C8091C701B2\r
+:101FE000811106C08091E30087FD02C081E001C03D\r
+:101FF00084E08093CB010E94040A8091E80083FF73\r
+:102000000AC08091E800877F8093E8008091EB0010\r
+:1020100080628093EB00AA960FB6F894DEBF0FBEE5\r
+:10202000CDBFDF91CF911F91089590935B01809375\r
+:102030005A010895E0915A01F0915B01309721F027\r
+:102040000190F081E02D099480E00895EF92FF92D5\r
+:102050000F931F93CF93DF93E0915A01F0915B01AF\r
+:102060003097B1F18C010280F381E02D09958091C8\r
+:10207000B60182FF2DC080FF04C088EB93E00E9470\r
+:102080004A05E80118E082EBE82E83E0F82E809103\r
+:10209000B60180FF0BC088811F928F93FF92EF9251\r
+:1020A0000E94E3050F900F900F900F901150219612\r
+:1020B0001111EDCF8091B60180FF0AC080EB93E053\r
+:1020C000DF91CF911F910F91FF90EF900C944A05F3\r
+:1020D000DF91CF911F910F91FF90EF900895E091C4\r
+:1020E0005A01F0915B01309721F00480F581E02DD9\r
+:1020F000099408952091580130915901821793074E\r
+:1021000071F09093590180935801E0915A01F09138\r
+:102110005B01309721F00680F781E02D0994089546\r
+:1021200020915601309157018217930771F09093D7\r
+:10213000570180935601E0915A01F0915B0130976D\r
+:1021400021F00084F185E02D0994089508950C9400\r
+:10215000A6100E94531C0C94EC05CF92DF92EF92D4\r
+:10216000FF920F931F93CF93DF9300D000D000D046\r
+:10217000CDB7DEB70E9409068DE5C82E81E0D82EC6\r
+:1021800000E010E0E02E802F0E945B06F6014191F6\r
+:102190006F01F42EF826B1F40F5F1F4F0E301105BA\r
+:1021A00089F78FEF89838A831B820E945C1C816080\r
+:1021B000782F9D838C8349815A816B818D810E9408\r
+:1021C0006C1147C09091B60191FF04C08E830E94AC\r
+:1021D00064068E8120E030E04F2D50E0922FBA014E\r
+:1021E000022E02C0759567950A94E2F760FF2BC036\r
+:1021F0002983EA8221E030E0690102C0CC0CDD1CB9\r
+:102200009A95E2F790E08C219D21892B09F420E03A\r
+:102210002B830E945C1C8160782F9D838C83498175\r
+:102220005A816B818D810E946C1149815A816B8129\r
+:102230007C818D810E94D61BF801E35AFE4F80817C\r
+:10224000C826C08206C02F5F3F4F2830310531F6C7\r
+:10225000A3CF0E94D51B0E941D1F10915C010E94FC\r
+:102260001A10181741F10E941A1080935C01909186\r
+:10227000B60192FF0EC090FF0CC01F928F938AECA4\r
+:1022800093E09F938F930E94E3050F900F900F9020\r
+:102290000F9080915C0126960FB6F894DEBF0FBEBA\r
+:1022A000CDBFDF91CF911F910F91FF90EF90DF9005\r
+:1022B000CF900C94E71B26960FB6F894DEBF0FBEA6\r
+:1022C000CDBFDF91CF911F910F91FF90EF90DF90E5\r
+:1022D000CF9008950C94A606CF93DF93CDB7DEB7C9\r
+:1022E0002B970FB6F894DEBF0FBECDBF942F4F8350\r
+:1022F000252F588769877A878B874A855B85452B89\r
+:1023000021F02F3F09F59F3FF9F4DE01119686E099\r
+:10231000FD0111928A95E9F785E0FE01379601905B\r
+:102320000D928A95E1F749815A816B817C818D817B\r
+:102330009E810E9490182B960FB6F894DEBF0FBEB8\r
+:10234000CDBFDF91CF9108954F81588569857A85FA\r
+:102350008B850E94D61BD9CFCF93882309F4CDC09B\r
+:10236000C82F823859F40E941A1081FDC6C089E333\r
+:102370000E941B1B0E94941B89E30CC0833879F4D4\r
+:102380000E941A1080FDB9C083E50E941B1B0E94A9\r
+:10239000941B83E50E94381BCF910C94941B8438C6\r
+:1023A00059F40E941A1082FDA8C087E40E941B1BEA\r
+:1023B0000E94941B87E4EECF8CEF8C0F813A48F497\r
+:1023C0008C2F0E944722811198C08C2F0E941B1BCA\r
+:1023D000E3CF80E28C0F883048F4C77081E001C001\r
+:1023E000880FCA95EAF70E945A1BD6CF8BE58C0F4F\r
+:1023F000833078F4C53A29F0C63A31F083E890E0AA\r
+:1024000005C081E890E002C082E890E0CF910C9492\r
+:102410007A1088E58C0F853108F06FC0C83A61F1F9\r
+:10242000C93A69F1CA3A71F1CB3A79F1CC3A81F102\r
+:10243000CD3A89F1CE3A91F1CF3A99F1C13BA1F170\r
+:10244000C03BA9F1C23BB1F1C33BB9F1C43BC1F1FF\r
+:10245000C53BC9F1C63BD1F1C73BD9F1C83BE1F15E\r
+:10246000C93BE9F1CA3BF1F1CB3BF9F1CC3B09F4B3\r
+:102470003FC080E090E03EC082EE90E03BC089EE3D\r
+:1024800090E038C08AEE90E035C085EB90E032C035\r
+:1024900086EB90E02FC083EB90E02CC084EB90E0C3\r
+:1024A00029C087EB90E026C08CEC90E023C08DEC37\r
+:1024B00090E020C083E891E01DC08AE891E01AC056\r
+:1024C00082E991E017C084E991E014C081E292E0D2\r
+:1024D00011C083E292E00EC084E292E00BC085E27C\r
+:1024E00092E008C086E292E005C087E292E002C076\r
+:1024F0008AE292E0CF910C949010CF9108958823B6\r
+:1025000009F44BC0823859F40E941A1081FF45C06B\r
+:1025100089E30E941B1B0E94941B89E30CC0833833\r
+:1025200071F40E941A1080FF38C083E50E941B1BC3\r
+:102530000E94941B83E50E94381B0C94941B8438E2\r
+:1025400059F40E941A1082FF28C087E40E941B1BC6\r
+:102550000E94941B87E4EFCF9CEF980F913A58F3B9\r
+:1025600090E2980F983050F4877091E001C0990F75\r
+:102570008A95EAF7892F0E94601BDFCF9BE5980FB1\r
+:10258000933020F480E090E00C947A10885A8531E2\r
+:1025900020F480E090E00C9490100895882321F0BE\r
+:1025A0000E945A1B0C94941B0895882321F00E94CA\r
+:1025B000601B0C94941B0895CF92DF92EF92FF92D0\r
+:1025C0000F931F93CF93DF9300D000D000D0CDB7EF\r
+:1025D000DEB725E0FC01DE01119601900D922A95EF\r
+:1025E000E1F7FC0140813181F280258122952F7035\r
+:1025F00063817481672B09F4D8C23F3F19F44F3FC0\r
+:1026000009F4D3C26C0149833A8389819A812E836C\r
+:102610000E94DA1A182F092F0E94D91A0E94E9196C\r
+:10262000E02FE295EF70F0E0E05AFF4F2E810C941E\r
+:10263000F124802F807F902F9F70092F882311F025\r
+:102640000295007FFF2049F0002309F45FC2802F2C\r
+:102650000E946D1B0E94941B59C2812F0E947F1201\r
+:10266000002309F4A2C2802F0E94731B26960FB686\r
+:10267000F894DEBF0FBECDBFDF91CF911F910F91B8\r
+:10268000FF90EF90DF90CF900C94941B802F807F71\r
+:10269000902F9F70092F803211F00295007F112337\r
+:1026A00019F0113001F129C0FF20A9F0802F222359\r
+:1026B00049F1213039F526960FB6F894DEBF0FBEEA\r
+:1026C000CDBFDF91CF911F910F91FF90EF90DF90E1\r
+:1026D000CF900C947D1B222319F0213009F465C2A0\r
+:1026E0000E94801B2CC0FF20E9F0263008F05DC25C\r
+:1026F0000E94571B802329F022C0FF20F1F02111F6\r
+:1027000015C0802F26960FB6F894DEBF0FBECDBF42\r
+:10271000DF91CF911F910F91FF90EF90DF90CF90BD\r
+:102720000C94CE12253008F040C209C0F601858114\r
+:1027300080FFECC18F708583E4CF2111FBC1802F16\r
+:1027400069C1202F26952695237030E0211531058B\r
+:1027500021F021303105C9F028C2FF2021F0812F5E\r
+:10276000902F937002C080E090E026960FB6F89408\r
+:10277000DEBF0FBECDBFDF91CF911F910F91FF90B4\r
+:10278000EF90DF90CF900C947A10FF2021F0812FF2\r
+:10279000902F937002C080E090E026960FB6F894D8\r
+:1027A000DEBF0FBECDBFDF91CF911F910F91FF9084\r
+:1027B000EF90DF90CF900C949010812FFF2019F0B4\r
+:1027C0000E94A31D02C00E940B1E26960FB6F8940D\r
+:1027D000DEBF0FBECDBFDF91CF911F910F91FF9054\r
+:1027E000EF90DF90CF900C94901E802F837009F0B3\r
+:1027F00078C0F110DAC1812F829586958770880F95\r
+:10280000880F912F9F70C92ED12CE12CF12C082E0E\r
+:1028100004C0CC0CDD1CEE1CFF1C0A94D2F714FF84\r
+:1028200012C04FE050E060E070E004C0440F551F5C\r
+:10283000661F771F8A95D2F7CB01BA016095709514\r
+:102840008095909503C060E070E0CB01202F269525\r
+:1028500026952370422F50E042305105D1F043308D\r
+:10286000510559F16C297D298E299F294130510547\r
+:1028700041F126960FB6F894DEBF0FBECDBFDF91B3\r
+:10288000CF911F910F91FF90EF90DF90CF900C941C\r
+:10289000FE196C297D298E299F2926960FB6F8945A\r
+:1028A000DEBF0FBECDBFDF91CF911F910F91FF9083\r
+:1028B000EF90DF90CF900C94101A0E94FE19C70180\r
+:1028C000B60126960FB6F894DEBF0FBECDBFDF91DE\r
+:1028D000CF911F910F91FF90EF90DF90CF900C94CC\r
+:1028E000EC19FF2019F0802F817001C08695882394\r
+:1028F00009F45BC1812F829586958770880F880FB8\r
+:10290000912F9F70C92ED12CE12CF12C082E04C0E0\r
+:10291000CC0CDD1CEE1CFF1C0A94D2F714FF12C075\r
+:102920004FE050E060E070E004C0440F551F661FA8\r
+:10293000771F8A95D2F7CB01BA0160957095809583\r
+:10294000909503C060E070E0CB01202F269526957E\r
+:102950002370422F50E042305105D1F043305105F1\r
+:1029600059F16C297D298E299F294130510541F16A\r
+:1029700026960FB6F894DEBF0FBECDBFDF91CF9184\r
+:102980001F910F91FF90EF90DF90CF900C94B51AAC\r
+:102990006C297D298E299F2926960FB6F894DEBFD3\r
+:1029A0000FBECDBFDF91CF911F910F91FF90EF90A0\r
+:1029B000DF90CF900C94C71A0E94B51AC701B601D8\r
+:1029C00026960FB6F894DEBF0FBECDBFDF91CF9134\r
+:1029D0001F910F91FF90EF90DF90CF900C94A31A6E\r
+:1029E000103F41F118F4103E48F48BC0123F09F437\r
+:1029F00050C0D8F1133F09F460C083C01F70802F0E\r
+:102A00008F71FF2021F00E943C1A812F7BCE0E9403\r
+:102A10005D1A812F26960FB6F894DEBF0FBECDBF8C\r
+:102A2000DF91CF911F910F91FF90EF90DF90CF90AA\r
+:102A30000C94D512FF20A9F0253008F0B6C0802FE5\r
+:102A40008F7126960FB6F894DEBF0FBECDBFDF9113\r
+:102A5000CF911F910F91FF90EF90DF90CF900C944A\r
+:102A6000821A263008F0A1C0EACFFF20A1F0802F03\r
+:102A70008F7126960FB6F894DEBF0FBECDBFDF91E3\r
+:102A8000CF911F910F91FF90EF90DF90CF900C941A\r
+:102A90003C1AFF2061F3802F8F7126960FB6F894B1\r
+:102AA000DEBF0FBECDBFDF91CF911F910F91FF9081\r
+:102AB000EF90DF90CF900C945D1AFF2091F0802F63\r
+:102AC0008F7126960FB6F894DEBF0FBECDBFDF9193\r
+:102AD000CF911F910F91FF90EF90DF90CF900C94CA\r
+:102AE000271A26960FB6F894DEBF0FBECDBFDF9132\r
+:102AF000CF911F910F91FF90EF90DF90CF900C94AA\r
+:102B0000221AFF20A1F0222309F4B1CF812F2696AB\r
+:102B10000FB6F894DEBF0FBECDBFDF91CF911F91EE\r
+:102B20000F91FF90EF90DF90CF900C94AC11222387\r
+:102B300009F4B1CF812F26960FB6F894DEBF0FBEF1\r
+:102B4000CDBFDF91CF911F910F91FF90EF90DF905C\r
+:102B5000CF900C947F12402F4F70612FC6010E94BE\r
+:102B60001D1D26960FB6F894DEBF0FBECDBFDF91B8\r
+:102B7000CF911F910F91FF90EF90DF90CF900C9429\r
+:102B80003419402F4F70612FC60126960FB6F89466\r
+:102B9000DEBF0FBECDBFDF91CF911F910F91FF9090\r
+:102BA000EF90DF90CF900C94201D26960FB6F894EE\r
+:102BB000DEBF0FBECDBFDF91CF911F910F91FF9070\r
+:102BC000EF90DF90CF9008950E947A1B0E94491BDE\r
+:102BD0000E94941B0E94C21F0E94901E80E090E001\r
+:102BE0000E947A1080E090E00C9490100E946A1B82\r
+:102BF0000C94E4150E94DA1A292F22952F7030E0E8\r
+:102C00002C3031054CF42A3031056CF42250310956\r
+:102C10002230310588F407C02C30310549F02F30BF\r
+:102C2000310531F009C0803E48F0803F29F406C0EC\r
+:102C300093FB882780F9089580E0089581E0089546\r
+:102C4000CF93DF9300D000D01F92CDB7DEB70F90A7\r
+:102C50000F900F900F900F90DF91CF910895CF9329\r
+:102C6000DF9300D000D000D0CDB7DEB726960FB6E8\r
+:102C7000F894DEBF0FBECDBFDF91CF9108951F93B3\r
+:102C8000CF93DF93C0916B0116E080916C01C81760\r
+:102C900099F0D0E01C9FF0011D9FF00D1124E35925\r
+:102CA000FE4F4081518162817381848195810E94B0\r
+:102CB0002F162196C770E9CFDF91CF911F9108950C\r
+:102CC00040919D0150919E0160919F017091A001E2\r
+:102CD0008091A1019091A2010C942F168091A201E4\r
+:102CE00082958F7009F054C080919F01882309F468\r
+:102CF0004FC080916B01A0916C0160919D0170911A\r
+:102D00009E014091A0015091A101B6E08A1709F4FB\r
+:102D10003FC090E041155105C1F17F3F11F46F3F75\r
+:102D2000A1F1B89FF001B99FF00D1124E359FE4FB6\r
+:102D3000218172132AC02081621327C022812111B0\r
+:102D400024C0238134812417350710F42150310920\r
+:102D5000241B350B283C3105C0F42091A2012F70B3\r
+:102D600020612093A20126E0289FF001299FF00D09\r
+:102D70001124EE58FE4F80818F70806180838DE931\r
+:102D800091E00E94DC120C943F1601968770BECF32\r
+:102D90000895CF92DF92EF92FF920F931F93CF93FC\r
+:102DA000DF93CDB7DEB762970FB6F894DEBF0FBEE4\r
+:102DB000CDBF8C0185E0F801DE011D9601900D92DA\r
+:102DC0008A95E1F7D8014C9111965C911197129672\r
+:102DD0006C9112971396CD90DC90149730919D01D1\r
+:102DE00070919E018091A0019091A101009709F43A\r
+:102DF0006BC17F3F19F43F3F09F466C1E0909F012A\r
+:102E0000EE2009F4C0C02091A201C816D90628F00E\r
+:102E1000F601E81BF90BCF0104C0809590958C0D4D\r
+:102E20009D1DFF24F394883C910578F0F12C207FC0\r
+:102E300009F0C6C07C2DD98AC88A89890E942016CB\r
+:102E40008DE991E00E94DC12B1C0822F807F09F0F1\r
+:102E500046C0751314C0341312C0611110C02F7016\r
+:102E600020612093A2010E9460168DE991E00E94EA\r
+:102E7000DC128091A201D80115968C932EC0CD282A\r
+:102E800019F15F3F11F44F3FF9F0F62E61111CC0AC\r
+:102E900080916B0120916C0136E0821709F45AC0D1\r
+:102EA00090E0389FF001399FF00D1124E359FE4F57\r
+:102EB0007181571306C07081471303C0728171116D\r
+:102EC00003C001968770E9CFF62E662309F418C176\r
+:102ED0008091A20181608093A201F12C11C1751330\r
+:102EE00008C0341306C0611104C08091A201D8014A\r
+:102EF000C3C04D875E878D859E856A8B0E94FA15BB\r
+:102F00006A898823E1F16623D1F12091A201822F01\r
+:102F100082958F7090E0029774F080919D0190915E\r
+:102F20009E0198878F831986DB86CA862C87CE01FF\r
+:102F300007960E94DC1286E0F801ADE9B1E001904D\r
+:102F40000D928A95E1F70E946E160E946016FF248A\r
+:102F5000F394D6C04D875E878D859E850E94DA1AD0\r
+:102F6000292F22952F7030E0223031050CF0BCC0A3\r
+:102F70009F7009F0B6C0805E883008F4C1C0C801F7\r
+:102F80000E94DC12E4CFC816D90608F453C0F6013B\r
+:102F9000E81BF90BCF01883C910508F450C0F12CD7\r
+:102FA0007C2DD98AC88A89890E942016EDE9F1E032\r
+:102FB00086E0DF011D928A95E9F70E946016A0C0A5\r
+:102FC000751314C0341312C0611110C08091A20196\r
+:102FD000F8018583C8010E94DC1286E0EDE9F1E08A\r
+:102FE000DF011D928A95E9F7FE2C8AC04D875E8726\r
+:102FF0008D859E856A8B0E94FA156A89882309F45B\r
+:10300000BECF662309F4BBCF2091A201822F829507\r
+:103010008F7090E002970CF48ECF80919D0190917B\r
+:103020009E019A8389831B82DD82CC822E83CE010E\r
+:1030300001967FCF809590958C0D9D1DACCFF62E7F\r
+:10304000662309F49CCF75132EC034132CC0209135\r
+:10305000A20120FD1FC0822F82958F70D9F0D80168\r
+:1030600015962C9315978F3049F08F5F982F929576\r
+:10307000907F822F8F70892B15968C93C8010E94A8\r
+:10308000DC1286E0F801ADE9B1E001900D928A957D\r
+:10309000E1F793CF86E0F801ADE9B1E001900D9240\r
+:1030A0008A95E1F72DC04D875E878D859E850E94AC\r
+:1030B000FA15811140CF8091A20181608093A20115\r
+:1030C000C8010E94DC121CC0662309F458CF4D874A\r
+:1030D0005E878D859E850E94FA15882309F44FCF5F\r
+:1030E0002ACF811148CF0CC0243031050CF047CFD6\r
+:1030F0009F7009F440CFF8019581907F09F03BCF94\r
+:103100008F2D62960FB6F894DEBF0FBECDBFDF9154\r
+:10311000CF911F910F91FF90EF90DF90CF90089586\r
+:103120001F93CF93DF93CDB7DEB72C970FB6F894EC\r
+:10313000DEBF0FBECDBF4F83588769877A878B87E5\r
+:103140009C87CE0107960E94C916882369F08F815B\r
+:1031500098852A853B85232BF1F19F3F09F063C0B9\r
+:103160008F3F09F060C037C086E0FE013796DE0170\r
+:10317000119601900D928A95E1F76F817885EA8525\r
+:10318000FB85309741F17F3F11F46F3F21F1209192\r
+:103190006C0130E0C90101968770992740916B015D\r
+:1031A00050E08417950709F447C069837A83FD834B\r
+:1031B000EC8396E0929FD001939FB00D1124A35908\r
+:1031C000BE4FFE01319601900D929A95E1F78093E2\r
+:1031D0006C010E943F1616E080916B0190916C018A\r
+:1031E0008917C1F1189FC001112483599E4F0E9475\r
+:1031F000C916882379F1E0916B011E9FF00111241B\r
+:10320000E359FE4F408151816281738184819581B0\r
+:103210000E942F1680916B0190E00196877099278C\r
+:1032200080936B01D9CF4F81588569857A858B85CD\r
+:103230009C850E942F16CFCF0E94F61510926C012C\r
+:1032400010926B01EDE9F1E086E0DF011D928A95B5\r
+:10325000E9F7C1CF2C960FB6F894DEBF0FBECDBFF5\r
+:10326000DF91CF911F910895DF92EF92FF920F931C\r
+:103270001F93CF93DF93FC01892B09F48AC0E12CC3\r
+:10328000F12CDD24D394EF0121968491853709F444\r
+:1032900061C058F4843708F04EC0843008F06AC02A\r
+:1032A0008130D1F0823071F174C0883709F45DC08B\r
+:1032B00050F4863709F455C0873709F06AC08E2D5F\r
+:1032C0000E94671B54C09CE7980F903708F061C0BC\r
+:1032D0008F770E947F1250C08F010E5F1F4FFE013B\r
+:1032E000849190E2980F983050F48770FD2D01C0C2\r
+:1032F000FF0F8A95EAF78F2F0E946D1B14C00E9462\r
+:10330000AC1113C08F010E5F1F4FFE01C49180E20C\r
+:103310008C0F883060F4C7708D2D01C0880FCA955E\r
+:10332000EAF70E94731B0E94941BE80125C08C2FB2\r
+:103330000E947F12FACF9F012E5F3F4FFE01C49182\r
+:10334000CC2369F08FE99FE00197F1F700C00000FE\r
+:10335000C150F6CF9F012E5F3F4FFE01F490E9016F\r
+:103360000BC00E94571BE82E07C00E946A1B0E94D8\r
+:10337000941B02C00E94AC118F2D882341F0EFE90D\r
+:10338000FFE03197F1F700C000008150F6CFFE0159\r
+:103390007ACFDF91CF911F910F91FF90EF90DF9047\r
+:1033A00008956093A7017093A8018093A901909359\r
+:1033B000AA010E94E51B0C94E4156093A30170938D\r
+:1033C000A4018093A5019093A6010E94E61B0C9492\r
+:1033D000E41508950C94D1190F931F930091A70140\r
+:1033E0001091A8012091A9013091AA01602B712BA5\r
+:1033F000822B932B1F910F910C94D1190F931F9334\r
+:103400000091A7011091A8012091A9013091AA0172\r
+:1034100060237123822393231F910F910C94D11960\r
+:103420000F931F930091A7011091A8012091A9016A\r
+:103430003091AA0160277127822793271F910F914E\r
+:103440000C94D11960E070E0CB010C94DD190F935E\r
+:103450001F9341E050E060E070E08A019B0104C0EE\r
+:10346000000F111F221F331F8A95D2F7C901B8011F\r
+:103470001F910F910C94DD190F931F9341E050E0C1\r
+:1034800060E070E004C0440F551F661F771F8A95E7\r
+:10349000D2F78091A3019091A401A091A501B091D0\r
+:1034A000A6018A019B01082B192B2A2B3B2BC90152\r
+:1034B000B8011F910F910C94DD190F931F9341E0F8\r
+:1034C00050E060E070E004C0440F551F661F771F96\r
+:1034D0008A95D2F740955095609570958091A3019B\r
+:1034E0009091A401A091A501B091A6018A019B0130\r
+:1034F000082319232A233B23C901B8011F910F91E7\r
+:103500000C94DD190F931F9341E050E060E070E0F0\r
+:1035100004C0440F551F661F771F8A95D2F780910C\r
+:10352000A3019091A401A091A501B091A6018A01E7\r
+:103530009B01082719272A273B27C901B8011F919A\r
+:103540000F910C94DD190F931F930091A30110911B\r
+:10355000A4012091A5013091A601602B712B822B33\r
+:10356000932B1F910F910C94DD190F931F930091D2\r
+:10357000A3011091A4012091A5013091A60160231F\r
+:103580007123822393231F910F910C94DD190F93C4\r
+:103590001F930091A3011091A4012091A5013091E6\r
+:1035A000A60160277127822793271F910F910C9402\r
+:1035B000DD190895CF92DF92EF92FF920F931F9340\r
+:1035C000CF93DF938C01C090A701D090A801E09029\r
+:1035D000A901F090AA014091A3015091A40160912A\r
+:1035E000A5017091A601C42AD52AE62AF72ACFE1BF\r
+:1035F000D0E0D701C6010C2E04C0B695A7959795CB\r
+:1036000087950A94D2F780FF07C0B8018C2F0E94DB\r
+:10361000F31C8130910531F4219758F7B80180E00F\r
+:103620000E94F31CDF91CF911F910F91FF90EF90BB\r
+:10363000DF90CF90089520910B0130910C01F9019A\r
+:1036400032969FEF40E05191581789F09F3F19F44F\r
+:10365000511101C0942F4F5F4630A9F79F3F39F0B9\r
+:10366000F901E90FF11D97FDFA95828308950895F8\r
+:1036700020910B0130910C01F9013296285F3F4FE8\r
+:103680009081981301C010823196E217F307C1F7B9\r
+:10369000089581E090E0E0910B01F0910C01E80FBA\r
+:1036A000F91F1082019688309105A9F7089580913D\r
+:1036B000B50108959091B501892B8093B5010895C6\r
+:1036C00080959091B50189238093B50108958093E9\r
+:1036D000B50108951092B50108959091B401892B18\r
+:1036E0008093B401089580959091B40189238093CB\r
+:1036F000B40108951092B40108958093AB01089528\r
+:103700001092AB01089580910B0190910C01FC0186\r
+:1037100031969C01285F3F4F80E0919191118F5F1E\r
+:10372000E217F307D1F70895E0910B01F0910C0136\r
+:103730008091B5018083E0910B01F0910C019081A3\r
+:103740008091B401892B80838091AB01882361F043\r
+:10375000E0910B01F0910C019081892B80830E94F4\r
+:10376000831B81111092AB0180910B0190910C0190\r
+:103770000C94261090933301809332010895829522\r
+:10378000982F9C7C392F36953695282F237344E04B\r
+:10379000249FC0011124932F982B292F2A7A269534\r
+:1037A000892F8575880F822B08950895CF93DF9315\r
+:1037B00000D000D01F92CDB7DEB70F900F900F90C2\r
+:1037C0000F900F90DF91CF910895089508950C9474\r
+:1037D0006A118091CB01843021F11092B70120E46D\r
+:1037E00088E190E00FB6F894A895809360000FBE32\r
+:1037F0002093600083B7817F846083BF83B781603B\r
+:1038000083BF7894889583B78E7F83BF0FB6F89473\r
+:10381000A89580916000886180936000109260009C\r
+:103820000FBE089508950895CF930E94121C0E9420\r
+:1038300009060E94131CC0E08C2F0E945B068111B8\r
+:1038400004C0CF5FCE30C1F701C081E0CF910895B1\r
+:103850000C94F6151F920F920FB60F9211248F93AE\r
+:103860009F93AF93BF938091B701811113C0809153\r
+:10387000B8019091B901A091BA01B091BB014196F4\r
+:10388000A11DB11D8093B8019093B901A093BA0115\r
+:10389000B093BB01BF91AF919F918F910F900FBEDD\r
+:1038A0000F901F90189582E084BD93E095BD9AEF2C\r
+:1038B00097BD80936E0008952FB7F8948091B8015A\r
+:1038C0009091B901A091BA01B091BB012FBF0895A9\r
+:1038D0002FB7F8946091B8017091B9018091BA0145\r
+:1038E0009091BB012FBF0895CF92DF92EF92FF928C\r
+:1038F0000F931F932FB7F8944091B8015091B901DD\r
+:103900006091BA017091BB012FBF6A017B01EE2467\r
+:10391000FF248C0120E030E0C016D106E206F30659\r
+:1039200010F4415051099A01281B390BC9011F910C\r
+:103930000F91FF90EF90DF90CF9008951F920F921C\r
+:103940000FB60F9211248F939F93AF93BF938091E3\r
+:10395000B8019091B901A091BA01B091BB01019653\r
+:10396000A11DB11D8093B8019093B901A093BA0134\r
+:10397000B093BB01BF91AF919F918F910F900FBEFC\r
+:103980000F901F9018950E94330DF8942FEF87EA3F\r
+:1039900091E6215080409040E1F700C0000087E0B0\r
+:1039A00090EBDC018093D4019093D501A093D601D4\r
+:1039B000B093D7019CE088E10FB6F894A895809366\r
+:1039C00060000FBE90936000FFCF28E0929FF0014F\r
+:1039D0001124E80FF11DE052FF4F9491892F8F7051\r
+:1039E00092959F700895CF93C82FCB010E94E51C3C\r
+:1039F000282F30E080E1989FA0011124422B532B07\r
+:103A00004038510519F480E090E015C09770E92F17\r
+:103A1000F0E088E0C89FE00DF11D112484E0EE0F76\r
+:103A2000FF1F8A95E1F7E20FF31FEE0FFF1FE05033\r
+:103A3000F84985919491CF91089580E090E00895A0\r
+:103A400008958091BE0180FF0BC06091100185E058\r
+:103A5000689FB001112475956795759567952BC082\r
+:103A600081FF09C06091100185E0689FB0011124B9\r
+:103A70007595679520C082FF07C06091100185E0B1\r
+:103A8000689FB001112417C09091BF019923D1F014\r
+:103A900060910F01961788F72091100185E0289F0B\r
+:103AA00090011124929FA001939F500D112470E06A\r
+:103AB000CA010E94DD246038710540F4611571056A\r
+:103AC00039F002C065E070E0862F08958FE7089511\r
+:103AD00081E008958091BE0180FF08C060910E01D1\r
+:103AE00070E0759567957595679521C081FF06C053\r
+:103AF00060910E0170E07595679519C082FF04C052\r
+:103B000060910E0170E010C09091BF019923C1F047\r
+:103B100060910D019617A0F780910E01899FC00159\r
+:103B2000112470E00E94DD246038710528F46115CD\r
+:103B3000710521F0862F08958FE7089581E008959B\r
+:103B400061E070E0F4CF803F21F40E94211D819557\r
+:103B500004C0813F29F40E94211D8093C201089571\r
+:103B6000823F21F40E94211D819504C0833F29F4E6\r
+:103B70000E94211D8093C1010895893F19F40E947C\r
+:103B80006A1D05C08A3F31F40E946A1D81958093A9\r
+:103B9000C30108958B3F21F40E946A1D819504C0E2\r
+:103BA0008C3F29F40E946A1D8093C4010895843FCC\r
+:103BB00021F48091C001816017C0853F21F480917C\r
+:103BC000C001826011C0863F21F48091C0018460F1\r
+:103BD0000BC0873F21F48091C001886005C0883FF9\r
+:103BE00031F48091C00180618093C00108958D3FC0\r
+:103BF00021F48091BE0181600BC08E3F21F4809141\r
+:103C0000BE01826005C08F3F29F48091BE018460AF\r
+:103C10008093BE010895803F39F48091C20187FFEF\r
+:103C20006CC01092C20169C0813F29F48091C20129\r
+:103C30001816BCF362C09091C101823F29F497FF2E\r
+:103C40005CC01092C10159C0833F19F41916CCF31E\r
+:103C500054C0893F41F48091C30118160CF04DC047\r
+:103C60001092C3014AC08A3F29F48091C30187FFA3\r
+:103C700044C0F6CF8B3F39F48091C40187FF3DC02B\r
+:103C80001092C4013AC08C3F29F48091C4011816E7\r
+:103C9000BCF333C0843F21F48091C0018E7F17C0F4\r
+:103CA000853F21F48091C0018D7F11C0863F21F4B2\r
+:103CB0008091C0018B7F0BC0873F21F48091C001B0\r
+:103CC000877F05C0883F31F48091C0018F7E80934B\r
+:103CD000C00113C08D3F21F48091BE018E7F0BC0C7\r
+:103CE0008E3F21F48091BE018D7F05C08F3F29F466\r
+:103CF0008091BE018B7F8093BE018091C1018111B3\r
+:103D00000EC08091C20181110AC08091C30181114E\r
+:103D100006C08091C401811102C01092BF010895B4\r
+:103D20008091B60183FF7EC08CEF93E00E944A052C\r
+:103D30008091C0011F928F9387EF93E09F938F93A1\r
+:103D40000E94E30585EF93E00E944A058091C1013E\r
+:103D5000282F082E000C330B3F938F9382EF93E0B4\r
+:103D60009F938F930E94E30580EF93E00E944A05A2\r
+:103D70008091C201282F082E000C330B3F938F93A4\r
+:103D80008DEE93E09F938F930E94E3058BEE93E07B\r
+:103D90000E944A058091C301282F082E000C330B86\r
+:103DA0003F938F9388EE93E09F938F930E94E30558\r
+:103DB00086EE93E00E944A058091C401282F082EC8\r
+:103DC000000C330B3F938F9383EE93E09F938F937D\r
+:103DD0000E94E30580EE93E00E944A058091BF01B6\r
+:103DE0001F928F938DED93E09F938F930E94E30535\r
+:103DF0008BED93E00E944A058091BE011F928F9344\r
+:103E000088ED93E09F938F930E94E30585ED93E007\r
+:103E10000E944A058DB79EB74C960FB6F8949EBF88\r
+:103E20000FBE8DBF80EC91E00E946F100E945C1C61\r
+:103E30009093BD018093BC0108951F93CF93DF93AE\r
+:103E40008091BC019091BD010E94741CAC019091C5\r
+:103E5000BF01992321F02091110130E006C020918B\r
+:103E600012018AE0289F900111244217530708F499\r
+:103E700085C08091C101C091C201D091C301109150\r
+:103E8000C401811107C0C11175C0D11173C01111D6\r
+:103E900071C074C09F3F19F09F5F9093BF011816C7\r
+:103EA00024F40E94211D8093C1018091C10187FFEC\r
+:103EB00005C00E94211D81958093C1011C1624F428\r
+:103EC0000E94211D8093C2018091C20187FF05C01D\r
+:103ED0000E94211D81958093C2016091C1016623DA\r
+:103EE00031F1C091C201CC2311F1062E000C770BE9\r
+:103EF000880B990B0E94D82323E333E343E35FE36A\r
+:103F00000E943C240E94A0236093C1016C2FCC0F1F\r
+:103F1000770B880B990B0E94D82323E333E343E309\r
+:103F20005FE30E943C240E94A0236093C2011D16FF\r
+:103F300024F40E946A1D8093C3018091C30187FF0E\r
+:103F400005C00E946A1D81958093C301111624F457\r
+:103F50000E946A1D8093C4018091C40187FF05C03F\r
+:103F60000E946A1D81958093C401DF91CF911F91BA\r
+:103F70000C94901E9F3F09F08FCF97CFDF91CF9188\r
+:103F80001F910895E0ECF1E085E0DF011D928A9534\r
+:103F9000E9F71092BF011092BE0108958FE196E0FB\r
+:103FA0000E944A051F9281E08F931F9285E08F93B4\r
+:103FB00081ED95E09F938F930E94E3050F900F9002\r
+:103FC0000F900F900F900F9008958330E9F128F42F\r
+:103FD000813061F0823009F10895853009F462C0C2\r
+:103FE00008F449C0863009F474C008958091120124\r
+:103FF000262F30E0280F311D2F3F310524F4680FA4\r
+:104000006093120103C08FEF80931201809112011F\r
+:104010001F928F938AE095E072C080911101262F44\r
+:1040200030E0280F311D2F3F310524F4680F6093D5\r
+:10403000110103C08FEF80931101809111011F9234\r
+:104040008F9388EF94E05BC080911001262F30E0C1\r
+:10405000280F311D2F3F310524F4680F60931001A4\r
+:1040600003C08FEF80931001809110011F928F93F6\r
+:1040700085EE94E044C080910F01262F30E0280F98\r
+:10408000311D2F3F310524F4680F60930F0103C0E9\r
+:104090008FEF80930F0180910F011F928F9380ED1E\r
+:1040A00094E02DC080910E01262F30E0280F311DA5\r
+:1040B0002F3F310524F4680F60930E0103C08FEF8A\r
+:1040C00080930E0180910E011F928F9387EB94E0F5\r
+:1040D00016C080910D01262F30E0280F311D2F3F93\r
+:1040E000310524F4680F60930D0103C08FEF8093B6\r
+:1040F0000D0180910D011F928F938CE994E09F93A5\r
+:104100008F930E94E3050F900F900F900F900895EA\r
+:10411000833081F128F4813059F08230D1F0089554\r
+:10412000853009F449C0B8F1863009F456C00895C5\r
+:1041300080911201681720F4861B8093120102C03F\r
+:1041400010921201809112011F928F938DE894E0DA\r
+:1041500054C080911101681720F4861B80931101CF\r
+:1041600002C010921101809111011F928F938BE771\r
+:1041700094E043C080911001681720F4861B80935F\r
+:10418000100102C010921001809110011F928F93B4\r
+:1041900088E694E032C080910F01681720F4861BF6\r
+:1041A00080930F0102C010920F0180910F011F92A6\r
+:1041B0008F9383E594E021C080910E01681720F46D\r
+:1041C000861B80930E0102C010920E0180910E0199\r
+:1041D0001F928F938AE394E010C080910D016817BD\r
+:1041E00020F4861B80930D0102C010920D01809176\r
+:1041F0000D011F928F938FE194E09F938F930E9404\r
+:10420000E3050F900F900F900F900895CF93C82F54\r
+:104210001F928F9384E297E09F938F930E94E30510\r
+:1042200081E090E0A0E0B0E0BC01CD0104C0660FE9\r
+:10423000771F881F991FCA95D2F70E94EA190F901D\r
+:104240000F900F900F90CF910C94F615CF9387326B\r
+:1042500088F58E3108F00BC18E3009F487C0D8F490\r
+:10426000873009F460C08B3009F44FC0863009F004\r
+:1042700002C18091B601817F8E7F8093B60189E271\r
+:1042800097E00E944A0586EE99E00E944A0581E087\r
+:104290008093C60146C0863109F4B0C020F4803155\r
+:1042A00009F47AC0E8C0893109F491C08B3109F46E\r
+:1042B00049C0E1C0883349F150F4893209F4D5C0CE\r
+:1042C000853309F4D2C0873209F0D5C0CEC083341B\r
+:1042D00009F4CBC028F48A3308F4CDC08953C8C090\r
+:1042E000883409F0C8C00E94F61585ED99E00E9457\r
+:1042F0004A052FEF83ED90E3215080409040E1F795\r
+:1043000000C000000E94C31C0CC080E597E041C0C3\r
+:104310008CEB99E00E944A058091B6018160809300\r
+:10432000B601C1E0ADC08091B601C82FC17080FF59\r
+:10433000EFCF88EC99E00E944A058091B601817F19\r
+:104340008E7F3FC09091B60191FBCC27C0F981E0F0\r
+:10435000C827892FC0FB81F98093B601CC2319F0BF\r
+:104360008FEA99E029C081EA99E013C09091B601E3\r
+:1043700092FBCC27C0F981E0C827892FC0FB82F9C6\r
+:104380008093B601CC2319F082E999E015C082E848\r
+:1043900099E00E944A05C5CF9091B60193FBCC27C6\r
+:1043A000C0F981E0C827892FC0FB83F98093B6014B\r
+:1043B000CC2351F086E799E00E944A058091B6012E\r
+:1043C00081608093B6015CC089E699E0E2CF8AE51E\r
+:1043D00099E00E944A0585E399E00E944A058EEE25\r
+:1043E00098E00E944A0581EC98E00E944A058CE71B\r
+:1043F00098E00E944A058EE498E0CBCF80E498E0F4\r
+:104400000E944A050E941A101F928F9386E298E03C\r
+:104410009F938F930E94E30580910A011F928F93CF\r
+:104420008FE098E09F938F930E94E3058091550160\r
+:104430001F928F938CEF97E09F938F930E94E305D9\r
+:104440000E94681C9F938F937F936F9385EE97E0F4\r
+:104450009F938F930E94E3058DB79EB742960FB648\r
+:10446000F8949EBF0FBE8DBF5CCF80E001C08D5120\r
+:104470000E94062156CF83EE97E00E944A05C0E0D5\r
+:104480008C2FCF91089580E0089580E00895CF9318\r
+:10449000C82F8091C601813081F020F0823009F46C\r
+:1044A0004FC046C1E0910B01F0910C0180818E302C\r
+:1044B00069F0873009F03EC109C0E0910B01F0912D\r
+:1044C0000C0180818E3011F0873061F48C2F0E94B6\r
+:1044D0004322811104C08C2F0E9426212FC081E02D\r
+:1044E00090E02CC08C2F0E944522811126C0C4313F\r
+:1044F000E1F070F4CB3081F0C031D1F40E94CE1FD6\r
+:104500008CE197E00E944A0582E08093C60115C0C5\r
+:10451000C93259F0C83361F489E297E00E944A0534\r
+:1045200080E297E00E944A0508C01092C60104C1CB\r
+:104530008AE197E00E944A05FFC081E08170FEC0D9\r
+:10454000C43228F5CE3108F0C1C0CB30A1F1D0F48F\r
+:10455000C73009F0D3C08EE18093120182E38093CB\r
+:1045600011018AE08093100184E180930F0188E0BB\r
+:1045700080930E0188E280930D0180EC95E00E940B\r
+:104580004A05BFC0C33149F1C431C1F0B7C0CB3413\r
+:1045900009F4A9C028F4C93289F0C83361F0AEC06B\r
+:1045A000C13509F49EC0C23509F499C0CE3409F072\r
+:1045B000A5C06AE09EC00E94CE1FA3C08091C50125\r
+:1045C000882319F01092C5019CC08DEC95E00E94E3\r
+:1045D0004A0581E08093C601B1C087EA95E00E9458\r
+:1045E0004A0585E995E00E944A05809112011F92D3\r
+:1045F0008F9382E995E09F938F930E94E30580E972\r
+:1046000095E00E944A058EE795E00E944A05809158\r
+:1046100011011F928F938BE795E09F938F930E94D8\r
+:10462000E30589E795E00E944A058AE695E00E9445\r
+:104630004A05809110011F928F9387E695E09F9322\r
+:104640008F930E94E30585E695E00E944A0584E584\r
+:1046500095E00E944A0580910F011F928F9381E59A\r
+:1046600095E09F938F930E94E3058FE495E00E946D\r
+:104670004A058AE395E00E944A0580910E011F9247\r
+:104680008F9387E395E09F938F930E94E30585E3E3\r
+:1046900095E00E944A058EE195E00E944A058091CE\r
+:1046A0000D011F928F938BE195E09F938F930E9452\r
+:1046B000E30589E195E00E944A058DB79EB74896CB\r
+:1046C0000FB6F8949EBF0FBE8DBF1BC0CE51EC2F0E\r
+:1046D000F0E0E95DFE4F80818093C50112C061E08A\r
+:1046E00003C061E006C06AE08091C5010E94E51F39\r
+:1046F00008C08091C5010E94882003C08EEB95E020\r
+:1047000013C08091C501882369F01F928F9388EBB5\r
+:1047100095E09F938F930E94E3050F900F900F9069\r
+:104720000F9004C085EB95E00E944A0581E006C029\r
+:104730001092C60180E002C080E000CFCF910895C2\r
+:104740000E94A7236894B1110C94362408950E9406\r
+:104750001B2488F09F5798F0B92F9927B751B0F0D4\r
+:10476000E1F0660F771F881F991F1AF0BA95C9F7F5\r
+:1047700014C0B13091F00E943524B1E008950C943A\r
+:104780003524672F782F8827B85F39F0B93FCCF3ED\r
+:10479000869577956795B395D9F73EF49095809572\r
+:1047A000709561957F4F8F4F9F4F0895E89409C092\r
+:1047B00097FB3EF490958095709561957F4F8F4F54\r
+:1047C0009F4F9923A9F0F92F96E9BB279395F6956A\r
+:1047D000879577956795B795F111F8CFFAF4BB0FE8\r
+:1047E00011F460FF1BC06F5F7F4F8F4F9F4F16C04C\r
+:1047F000882311F096E911C0772321F09EE8872FD6\r
+:10480000762F05C0662371F096E8862F70E060E091\r
+:104810002AF09A95660F771F881FDAF7880F96950A\r
+:10482000879597F9089557FD9058440F551F59F0F3\r
+:104830005F3F71F04795880F97FB991F61F09F3F8D\r
+:1048400079F087950895121613061406551FF2CFB6\r
+:104850004695F1DF08C0161617061806991FF1CF06\r
+:1048600086957105610508940895E894BB2766272D\r
+:104870007727CB0197F908950E944F240C94C02408\r
+:104880000E94B22438F00E94B92420F0952311F040\r
+:104890000C94A9240C94AF2411240C9436240E9467\r
+:1048A000132470F3959FC1F3950F50E0551F629F3D\r
+:1048B000F001729FBB27F00DB11D639FAA27F00D79\r
+:1048C000B11DAA1F649F6627B00DA11D661F829FA0\r
+:1048D0002227B00DA11D621F739FB00DA11D621F85\r
+:1048E000839FA00D611D221F749F3327A00D611DA2\r
+:1048F000231F849F600D211D822F762F6A2F112484\r
+:104900009F5750409AF0F1F088234AF0EE0FFF1FB6\r
+:10491000BB1F661F771F881F91505040A9F79E3F0D\r
+:10492000510580F00C94A9240C9436245F3FE4F3E5\r
+:10493000983ED4F3869577956795B795F795E79563\r
+:104940009F5FC1F7FE2B880F911D9695879597F96C\r
+:10495000089597F99F6780E870E060E008959FEF01\r
+:1049600080EC089500240A94161617061806090606\r
+:10497000089500240A9412161306140605060895D5\r
+:10498000092E0394000C11F4882352F0BB0F40F45D\r
+:10499000BF2B11F460FF04C06F5F7F4F8F4F9F4F9D\r
+:1049A0000895991B79E004C0991F961708F0961B8B\r
+:1049B000881F7A95C9F78095089597FB072E16F4FE\r
+:1049C000009407D077FD09D00E94F72407FC05D09A\r
+:1049D0003EF4909581959F4F0895709561957F4F16\r
+:1049E0000895EE0FFF1F0590F491E02D0994AA1B86\r
+:1049F000BB1B51E107C0AA1FBB1FA617B70710F0CA\r
+:104A0000A61BB70B881F991F5A95A9F780959095FB\r
+:0A4A1000BC01CD010895F894FFCF1A\r
+:104A1A008508760953091F09EB0801AC0128081417\r
+:104A2A000A321E404D362270032303ED02CB025791\r
+:104A3A000270028902A2020102030405060708099C\r
+:024A4A0000006A\r
+:106800000000000000000000040005000600070072\r
+:10681000080009000A000B000C000D000E000F001C\r
+:1068200010001100120013001400150016001700CC\r
+:10683000180019001A001B001C001D001E001F007C\r
+:10684000200021002200230024002500260027002C\r
+:10685000280000002A002B002C002D002E002F0005\r
+:10686000300031A1320033003400350036003700EB\r
+:106870003800E00000000000000000000000000000\r
+:106880000000000000000000000000000000000008\r
+:1068900000000000000000000000000000004F00A9\r
+:1068A000500051005200530067005400550056003C\r
+:1068B000580059005A005B005C005D005E005F00FC\r
+:1068C0006000610062006300640000005700000087\r
+:1068D00000000000000000000000000000000000B8\r
+:1068E00000000000000000000000000000000000A8\r
+:1068F0000000E100E200E300000000000000F1A160\r
+:106900000100010001000100EA4401000100E2442D\r
+:106910000100010001000100460001004A004B0097\r
+:10692000010001004700480001000100E9440100A6\r
+:106930000100010001000100010001003A003B00DC\r
+:106940003C003D003E003F0040004100420043004B\r
+:10695000010000004C00010001004400450052000D\r
+:1069600049000100010050004F0029004D004E0079\r
+:1069700051000100010001000100010001000100BF\r
+:1069800001000100010001000100010001000100FF\r
+:1069900001000100010001000100010001004D00A3\r
+:1069A0004A004E004B0001000100010001000100FF\r
+:1069B00001000100010001000100010001000100CF\r
+:1069C00001000100010001000100010001000100BF\r
+:1069D00001000100010001000100010001000100AF\r
+:1069E000010001000100010001000100010001009F\r
+:1069F000010001000100010001000100010001008F\r
+:00000001FF\r
diff --git a/converter/m0110_usb/binary/m0110_usb_rev2_unimap.hex b/converter/m0110_usb/binary/m0110_usb_rev2_unimap.hex
new file mode 100644 (file)
index 0000000..fd7f83f
--- /dev/null
@@ -0,0 +1,1215 @@
+:100000000C94D6040C941D050C941D050C941D0530\r
+:100010000C941D050C941D050C941D050C941D05D8\r
+:100020000C941D050C941D050C941D050C94580D85\r
+:100030000C94070E0C94C01B0C941D050C941D050C\r
+:100040000C941D050C941D050C941D050C94341C7A\r
+:100050000C941D050C941D050C941D050C941D0598\r
+:100060000C941D050C941D050C941D050C941D0588\r
+:100070000C941D05740E960E840F960E840FDB0EE5\r
+:10008000FE0E840F530F660FA012A012CD12CD12D8\r
+:10009000281364135C155C157C135C1577147714B6\r
+:1000A00032155C155C154815041607090B0A1D1B53\r
+:1000B00006198005141A08151C171E1F202123225B\r
+:1000C0002E26242D25273012182F0C13280F0D341F\r
+:1000D0000E333136381110372B2C352A7F80807B38\r
+:1000E00079397A808080808080634F80808050530F\r
+:1000F0005180808058525780808062595A5B5C5D85\r
+:100100005E5F8060618080808080568080806680B5\r
+:1001100054808080805580800A0025303862003A03\r
+:10012000200025303258000A722F632030313233DC\r
+:10013000343536370A005D0A0025303258005B003E\r
+:10014000200025303258002831290A002832290A97\r
+:10015000002833290A002834290A000A00253032F1\r
+:1001600058006D303131305F726563762065727290\r
+:100170003A20000A0025303258006D303131305FAE\r
+:1001800073656E64206572723A20005B735D004B8C\r
+:100190006579626F6172642073746172742E0A00F3\r
+:1001A00055534220636F6E666967757265642E0AE7\r
+:1001B000005B575D005B535D005B525D0032034D99\r
+:1001C00000300031003100300020006B0065007904\r
+:1001D0000062006F00610072006400200063006F25\r
+:1001E000006E007600650072007400650072000009\r
+:1001F000000E0374002E006D002E006B002E000018\r
+:10020000000403090409027400040100A032090477\r
+:100210000000010301010009211101000122400039\r
+:100220000705810308000A09040100010301020017\r
+:10023000092111010001224D000705820308000A6F\r
+:10024000090402000103000000092111010001223C\r
+:1002500036000705830308000A09040300020300AF\r
+:10026000000009211101000122220007058403205A\r
+:100270000001070504032000011201100100000025\r
+:1002800008EDFE10010101010200010631FF0974B1\r
+:10029000A1010975150026FF009520750881020946\r
+:1002A00076150026FF00952075089102C00501090A\r
+:1002B00080A101850216810026B7001A81002AB7A5\r
+:1002C00000751095018100C0050C0901A10185038D\r
+:1002D000160100269C021A01002A9C027510950145\r
+:1002E0008100C005010902A1010901A10005091948\r
+:1002F00001290515002501950575018102950175F6\r
+:100300000381010501093009311581257F950275A9\r
+:1003100008810609381581257F9501750881060534\r
+:100320000C0A38021581257F950175088106C0C029\r
+:1003300005010906A101050719E029E715002501B6\r
+:10034000950875018102950175088101050819015B\r
+:100350002905950575019102950175039101050720\r
+:10036000190029FF150026FF00950675088100C0B9\r
+:100370000A002530325820006B6579626F61726423\r
+:100380005F7265706F72743A20004C45443A2025C4\r
+:100390003032580A00290A002575002F0025750003\r
+:1003A0005D280025640020002564002000256400ED\r
+:1003B00020002564007C0025303258006D6F757375\r
+:1003C000656B6579205B62746E7C7820792076207D\r
+:1003D000685D287265702F61636C293A205B006D3F\r
+:1003E0006B5F776865656C5F74696D655F746F5F7F\r
+:1003F0006D6178203D2025640A006D6B5F7768652C\r
+:10040000656C5F6D61785F7370656564203D202564\r
+:10041000640A006D6B5F74696D655F746F5F6D6119\r
+:1004200078203D2025640A006D6B5F6D61785F73F5\r
+:1004300070656564203D2025640A006D6B5F696E00\r
+:1004400074657276616C203D2025640A006D6B5FD7\r
+:1004500064656C6179203D2025640A006D6B5F77CF\r
+:100460006865656C5F74696D655F746F5F6D6178F9\r
+:10047000203D2025640A006D6B5F776865656C5FC1\r
+:100480006D61785F7370656564203D2025640A00A6\r
+:100490006D6B5F74696D655F746F5F6D6178203D32\r
+:1004A0002025640A006D6B5F6D61785F7370656510\r
+:1004B00064203D2025640A006D6B5F696E7465726F\r
+:1004C00076616C203D2025640A006D6B5F64656C6D\r
+:1004D0006179203D2025640A000A00257500363A1E\r
+:1004E00020776865656C5F74696D655F746F5F6DBB\r
+:1004F00061783A20000A00257500353A2077686552\r
+:10050000656C5F6D61785F73706565643A20000AA1\r
+:1005100000257500343A2074696D655F746F5F6DF6\r
+:1005200061783A20000A00257500333A206D617821\r
+:100530005F73706565643A20000A00257500323AE1\r
+:1005400020696E74657276616C286D73293A20009B\r
+:100550000A00257500313A2064656C6179282A31DA\r
+:10056000306D73293A20000A092D2056616C75659B\r
+:1005700073202D0A004D3E004D25643E20003F00B3\r
+:100580007365742064656661756C740A00433E206F\r
+:100590000077686572652064656C74613A206375E4\r
+:1005A00072736F723D25642C20776865656C3D25FC\r
+:1005B000640A53656520687474703A2F2F656E2E37\r
+:1005C00077696B6970656469612E6F72672F7769EF\r
+:1005D0006B692F4D6F7573655F6B6579730A000AE0\r
+:1005E000092D204D6F7573656B6579202D0A455374\r
+:1005F000432F713A09717569740A313A0964656C5F\r
+:100600006179282A31306D73290A323A09696E748A\r
+:10061000657276616C286D73290A333A096D6178C9\r
+:100620005F73706565640A343A0974696D655F7457\r
+:100630006F5F6D61780A353A09776865656C5F6D43\r
+:1006400061785F73706565640A363A097768656535\r
+:100650006C5F74696D655F746F5F6D61780A0A70B5\r
+:100660003A097072696E742076616C7565730A64FC\r
+:100670003A097365742064656661756C74730A75F4\r
+:10068000703A092B310A646F776E3A092D310A707E\r
+:100690006775703A092B31300A7067646F776E3A6C\r
+:1006A000092D31300A0A7370656564203D20646548\r
+:1006B0006C7461202A206D61785F737065656420B9\r
+:1006C0002A2028726570656174202F2074696D6519\r
+:1006D0005F746F5F6D6178290A003F004D3E200016\r
+:1006E000433E20004C25640A000A092D20436F6E0A\r
+:1006F000736F6C65202D0A4553432F713A0971754C\r
+:1007000069740A6D3A096D6F7573656B65790A00D6\r
+:100710000A092D204D61676963202D0A643A096436\r
+:10072000656275670A783A096465627567206D616C\r
+:10073000747269780A6B3A096465627567206B6543\r
+:1007400079626F6172640A6D3A0964656275672047\r
+:100750006D6F7573650A763A0976657273696F6EA7\r
+:100760000A733A097374617475730A633A09636FA3\r
+:100770006E736F6C65206D6F64650A302D343A09B5\r
+:100780006C61796572302D34284631302D4634291C\r
+:100790000A506175733A09626F6F746C6F616465BA\r
+:1007A000720A003F0074696D65725F72656164333F\r
+:1007B0003228293A202530346C580A006B6579625A\r
+:1007C0006F6172645F69646C653A2025580A006B3A\r
+:1007D0006579626F6172645F70726F746F636F6C62\r
+:1007E0003A2025580A00686F73745F6B6579626FF1\r
+:1007F0006172645F6C65647328293A2025580A0089\r
+:100800000A092D20537461747573202D0A00474323\r
+:10081000433A20342E392E32204156522D4C494233\r
+:10082000433A20312E382E3073766E204156525F77\r
+:10083000415243483A2061767233350A004F505492\r
+:10084000494F4E533A204C554641204D4F55534544\r
+:100850004B45592045585452414B455920434F4E22\r
+:10086000534F4C4520434F4D4D414E44204B45592D\r
+:100870004D41505F53454354494F4E203430393633\r
+:100880000A004255494C443A206337666435666332\r
+:100890002D6469727479202830343A31393A31390B\r
+:1008A000205365702031332032303136290A00560A\r
+:1008B00049443A2030784645454428742E6D2E6BC5\r
+:1008C0002E29205049443A20307830313130284D9B\r
+:1008D00030313130206B6579626F61726420636FF3\r
+:1008E0006E76657274657229205645523A203078CA\r
+:1008F000303130310A00444553433A20636F6E76FD\r
+:10090000657274204D30313130206B6579626F61D2\r
+:10091000726420746F205553420A000A092D205634\r
+:10092000657273696F6E202D0A000A6D6F757365AD\r
+:100930003A206F66660A000A6D6F7573653A206F1C\r
+:100940006E0A000A6B6579626F6172643A206F66A5\r
+:10095000660A000A6B6579626F6172643A206F6E95\r
+:100960000A000A6D61747269783A206F66660A003F\r
+:100970000A6D61747269783A206F6E0A000A6465C4\r
+:100980006275673A206F6E0A000A64656275673A9D\r
+:10099000206F66660A000A0A626F6F746C6F61648A\r
+:1009A00065722E2E2E2000433E20000011241FBE13\r
+:1009B000CFEFD4E0DEBFCDBF04B603FE27C08091E9\r
+:1009C000D4019091D501A091D601B091D701873083\r
+:1009D000904BA740B04BD1F41092D4011092D501A6\r
+:1009E0001092D6011092D70114BE84B7877F84BFBE\r
+:1009F0000FB6F894A895809160008861809360009C\r
+:100A0000109260000FBEE0E0F8E3099511E0A0E06D\r
+:100A1000B1E0E4E9F9E402C005900D92A233B10718\r
+:100A2000D9F721E0A2E3B1E001C01D92A43DB207D5\r
+:100A3000E1F70E94A50A0C94C8240C940000FF93CF\r
+:100A4000EF93E0913201F0913301309709F009956D\r
+:100A5000EF91FF910895FC018591803011F0EFDF57\r
+:100A6000FBCF0895FF27E0E230E247FF0CC041953D\r
+:100A700097FF09C0EDE26095709580959095611D96\r
+:100A8000711D811D911D27FF02C0219530E350E2A9\r
+:100A9000AA27660F771F881F991FAA1FA41710F097\r
+:100AA000A41B63955A95A9F7AA3008F0A95FA05D29\r
+:100AB000AF93F395611571058105910541F7ED320D\r
+:100AC00011F4EF93F395F21718F43F93F395FBCFDE\r
+:100AD0008F91B5DFFA95E1F70895E991F991859144\r
+:100AE000803021F0853219F0AADFF9CF089520E097\r
+:100AF000E89455915532C1F3503311F468945591EF\r
+:100B00005A3348F4505390F3220F022E220F220F33\r
+:100B1000200D250FF4CF0EF421958991999153362C\r
+:100B200019F3533729F1533559F1BC018827992717\r
+:100B3000E8945C3621F489919991689455915436E2\r
+:100B400039F446EF7EF077FF0DC08FEF9FEF0AC0BC\r
+:100B500055374AE039F0583540E121F0523642E04D\r
+:100B600009F00895FF93EF937DDFEF91FF91B7CFE9\r
+:100B7000FF93EF93FC0181918030B9F360DFFBCFED\r
+:100B8000FF93EF9368DFF1CFDF93CF93CDB7DEB75D\r
+:100B90002596A3DFCF91DF9108950E94C206E4E37A\r
+:100BA000F1E08EE08E0F11928E13FDCF84E391E081\r
+:100BB0009093430180934201569A5E9A2FEF89E603\r
+:100BC00098E1215080409040E1F700C00000569A23\r
+:100BD0005E980895CF93109244010E94DC07C82FBD\r
+:100BE0008B3709F444C08F3F09F441C081E0809302\r
+:100BF00044018C2F869586958695E0914201F0916F\r
+:100C000043014C2F4770C7FF0EC08F70E80FF11DD6\r
+:100C100021E030E001C0220F4A95EAF7209580815B\r
+:100C2000282320830BC0E80FF11D81E090E001C074\r
+:100C3000880F4A95EAF79081892B80838091B601CD\r
+:100C400080FF17C08EE391E00E942B051F92CF9387\r
+:100C500089E391E09F938F930E94C40586E391E01E\r
+:100C60000E942B050F900F900F900F9002C080E014\r
+:100C700001C081E0CF91089520914201309143015C\r
+:100C8000F901E80FF11D80810895EF92FF920F9313\r
+:100C90001F93CF93DF9387E291E00E942B05C0E082\r
+:100CA000D0E082E2E82E81E0F82E0AE111E0DF9345\r
+:100CB000CF93FF92EF920E94C4058FE191E00E94D2\r
+:100CC0002B05E0914201F0914301EC0FFD1F808163\r
+:100CD0000E94591B1F928F931F930F930E94C4056C\r
+:100CE00088E191E00E942B0521968DB79EB708966A\r
+:100CF0000FB6F8949EBF0FBE8DBFCE30D105B9F6AA\r
+:100D0000DF91CF911F910F91FF90EF900895569A28\r
+:100D100081FF02C05E9A08955E9808955198599A8D\r
+:100D200008955898509A08955098589A089551984F\r
+:100D3000599A85E08A95F1F7000089B1869581700E\r
+:100D40000895CF93DF93EC010E949706882341F02A\r
+:100D5000209731F085E08A95F1F700002197F4CFD4\r
+:100D6000CE01DF91CF9108958B3741F08F3F41F055\r
+:100D7000982F9F7796958078892B08958BE7089513\r
+:100D80008FEF08950E948E060E9494062FEF83ED48\r
+:100D900090E3215080409040E1F700C000000895AA\r
+:100DA000EF92FF920F931F93CF93DF93E82E109251\r
+:100DB00048010E948E060E949106CAEFD0E088EE9C\r
+:100DC00093E00E94A106892B21F42197C1F781E0CD\r
+:100DD00036C008E010E080E8F82E8AEF90E00E942C\r
+:100DE000A106892B11F483E02AC08F2D8E2129F0D2\r
+:100DF0000E949406C8ECD0E00AC00E949106FACF87\r
+:100E0000209759F025E02A95F1F7000021970E94DC\r
+:100E100097068823A9F3CD2B11F484E010C0F69433\r
+:100E200001501109D1F68FE891E00197F1F700C068\r
+:100E300000000E948E060E94940681E026C08093E6\r
+:100E400048018AE791E00E942B05809148011F929A\r
+:100E50008F9385E791E09F938F930E94C40583E76A\r
+:100E600091E00E942B059FEF29E688E191502040F8\r
+:100E70008040E1F700C000000E948E060E949406A8\r
+:100E80000F900F900F900F9080E0DF91CF911F9106\r
+:100E90000F91FF90EF9008950F931F93CF93DF93DF\r
+:100EA00010924801CAEFD0E088EE93E00E94A106BC\r
+:100EB000892B21F42197C1F781E02FC0D8E0C0E051\r
+:100EC000CC0F88EC90E00E94A106892B11F482E0FF\r
+:100ED00024C008EC10E00E94970681110AC0011599\r
+:100EE000110549F025E02A95F1F70000015011099C\r
+:100EF000F2CF012B11F483E010C05098589A85E08E\r
+:100F00008A95F1F700004899C160D150C9F60E9456\r
+:100F10008E060E9494068C2F26C08093480182E69C\r
+:100F200091E00E942B05809148011F928F938DE5DF\r
+:100F300091E09F938F930E94C4058BE591E00E94FE\r
+:100F40002B059FEF29E688E1915020408040E1F792\r
+:100F500000C000000E948E060E9494060F900F9021\r
+:100F60000F900F908FEFDF91CF911F910F91089508\r
+:100F7000CF9384E10E94D0060E944C07C82F8B3784\r
+:100F8000C1F08091B60180FF0CC01F92CF9382E424\r
+:100F900091E09F938F930E94C4050F900F900F9044\r
+:100FA0000F908091B60180FF04C080E491E00E9420\r
+:100FB0002B058C2FCF910895CF93DF93809147011C\r
+:100FC000882319F0109247017EC080914601882342\r
+:100FD00019F01092460177C0C0914501CC2319F059\r
+:100FE0001092450103C00E94B807C82F8C2F8F773D\r
+:100FF0008137B1F0893709F061C00E94B807982F96\r
+:101000009F779D3041F018F4953039F404C0913148\r
+:1010100011F09B3111F487FD37C00E94B4063AC02D\r
+:101020000E94B807982F9F77913719F0993721F0D0\r
+:1010300041C08093450142C00E94B807D82F8F77E6\r
+:101040008D3041F018F4853081F504C0813111F004\r
+:101050008B3159F5C7FF11C0D7FF0AC086E591E073\r
+:101060000E942B058C2F0E94B406809346010BC072\r
+:1010700081E591E00E942B0521C0D7FF0DC08CE4D3\r
+:1010800091E00E942B058D2F0E94B406982F906648\r
+:1010900090934701806417C087E491E00E942B057C\r
+:1010A0008D2F0E94B40680660EC08D2F0E94B4065C\r
+:1010B000806402C00E94B406809347018C2FDF91A8\r
+:1010C000CF910C94B406DF91CF9108958091540193\r
+:1010D00008959FB7F89410924B019FBF9091CB0158\r
+:1010E000943009F057C09091E9009F703091EC0066\r
+:1010F000232F217030FD20E8922B24E02093E9007B\r
+:101100002091EB0020FF43C02091EE0027FF3FC05D\r
+:1011100020914901222321F02091E80025FF37C0CA\r
+:101120001092490126E03091E80035FD15C030915C\r
+:10113000CB01343061F53091EB0035FD28C02150F2\r
+:1011400021F481E08093490122C0EFE9FFE031976B\r
+:10115000F1F700C00000E7CF8093F1008091E80034\r
+:1011600085FD0AC08091E80080FFFCCF8091E800F7\r
+:101170008E778093E80006C08FB7F89421E0209323\r
+:101180004B018FBF9F709093E90080E008959F709E\r
+:101190009093E9008FEF0895CF93DF9300D01F92D3\r
+:1011A000CDB7DEB79C018091CB01843019F593E077\r
+:1011B00099833B832A839093E9008FEF9091E80015\r
+:1011C000815095FD06C095ED9A95F1F700008111CB\r
+:1011D000F5CF8091E80085FF0DC040E050E063E06E\r
+:1011E00070E0CE0101960E94660B8091E8008E7738\r
+:1011F0008093E8000F900F900F90DF91CF910895AA\r
+:10120000CF93DF9300D01F92CDB7DEB72091CB01F3\r
+:10121000243021F522E029839B838A8383E0809315\r
+:10122000E9008FEF9091E800815095FD06C095EDA3\r
+:101230009A95F1F700008111F5CF8091E80085FFC4\r
+:101240000DC040E050E063E070E0CE0101960E94E6\r
+:10125000660B8091E8008E778093E8000F900F90E6\r
+:101260000F90DF91CF9108952091CB012430F1F4BC\r
+:1012700022E02093E9002FEF3091E800215035FD66\r
+:1012800006C035ED3A95F1F700002111F5CF209118\r
+:10129000E80025FF0BC040E050E065E070E00E94F0\r
+:1012A000660B8091E8008E778093E8000895CF93D5\r
+:1012B000DF932091CB01243039F521E02093E90020\r
+:1012C0002FEF3091E800215035FD06C035ED3A95FD\r
+:1012D000F1F700002111F5CF2091E80025FF14C09F\r
+:1012E000EC0140E050E068E070E00E94660B809105\r
+:1012F000E8008E778093E80088E0FE01ACE4B1E07E\r
+:1013000001900D928A95E1F7DF91CF91089589EBD5\r
+:1013100091E00C942B0520914A012F5F822F62E30C\r
+:101320000E948E24992319F020934A010895109267\r
+:101330004A0180914B01882371F18091CB01843067\r
+:1013400041F58091E9008F702091EC00922F91700F\r
+:1013500020FD90E8892B94E09093E9009091EB00B8\r
+:1013600090FF14C09091EE0097FF10C09091E8009C\r
+:1013700095FF03C01092F100F9CF9091E80090FF23\r
+:1013800005C09091E8009E779093E8008F7080935D\r
+:10139000E90010924B01089542E061EC81E00E9467\r
+:1013A0006F0C42E061EC82E00E946F0C42E061EC65\r
+:1013B00083E00E946F0C42E261EC84E00C946F0CBD\r
+:1013C0008091CD01833009F453C030F4813071F045\r
+:1013D000823009F48CC008958A3009F478C08B30CB\r
+:1013E00009F45EC0893009F09AC020C08091CC0118\r
+:1013F000813A09F094C08091E800877F8093E800EB\r
+:101400008091D0019091D101892B21F468E08CE486\r
+:1014100091E003C060E080E090E070E00E94B10BDA\r
+:101420008091E8008B778093E80008958091CC014B\r
+:10143000813209F074C08091D0019091D101892B43\r
+:1014400009F06DC08091E800877F8093E80080916B\r
+:10145000E80082FD05C08091CB018111F8CF5FC00B\r
+:101460008091F100809354018091E8008B7753C004\r
+:101470008091CC01813A09F052C08091D0019091C5\r
+:10148000D101892B09F04BC08091E800877F8093C0\r
+:10149000E8008091E80080FFFCCF80910A0136C00F\r
+:1014A0008091CC018132D9F58091D0019091D10108\r
+:1014B000892BA9F58091E800877F8093E8000E943E\r
+:1014C000A40C8091CE0180930A010C947D1580912B\r
+:1014D000CC01813221F58091E800877F8093E8007C\r
+:1014E0000E94A40C8091CF018093550108958091B2\r
+:1014F000CC01813AA1F48091E800877F8093E800D5\r
+:101500008091E80080FFFCCF809155018093F1002D\r
+:101510008091E8008E778093E8000C94A40C0895E5\r
+:1015200008950895089585EB91E00E942B050C9491\r
+:10153000920A0E947F1B8091C901882329F00E9492\r
+:10154000AA1B81110C94500B089584B7877F84BF28\r
+:101550000FB6F894A8958091600088618093600030\r
+:10156000109260000FBE90E080E80FB6F894809370\r
+:101570006100909361000FBE0E94900A0E942E109D\r
+:101580000E94F50C0E94480D8091E20084608093D7\r
+:10159000E20089E698E00E94541B78948091CB0188\r
+:1015A0008430E1F780EA91E00E942B050E94301020\r
+:1015B00080E091E00E949C0F8FE891E00E942B0553\r
+:1015C0000E94910A8091CB01853039F48BE891E03B\r
+:1015D0000E942B050E94990AF5CF0E943410F2CF89\r
+:1015E0000C94BE1B81EB91E00E942B050C94F00A39\r
+:1015F000292F332723303105C9F064F42130310518\r
+:1016000081F02230310509F043C084E790E025E005\r
+:1016100032E042C021323105F1F02232310541F190\r
+:1016200037C082E190E029E732E036C09927813067\r
+:10163000910541F08230910541F0892B49F5E1E0B7\r
+:10164000F2E005C0E1EFF1E002C0EDEBF1E08491E2\r
+:1016500090E09F0121C06430D8F4E62FF0E0EE0F57\r
+:10166000FF1FE15EFE4F2081318189E090E014C0D0\r
+:10167000643070F470E0FB01EE0FFF1FE95EFE4F77\r
+:1016800020813181FB01ED5EFE4F808190E004C03E\r
+:1016900080E090E020E030E0FA013183208308957B\r
+:1016A00084E089BD86E089BD09B400FEFDCF80914C\r
+:1016B000D8008F7D8093D8008091E0008260809375\r
+:1016C000E0008091E00081FDFCCF0895CF92DF9291\r
+:1016D000EF92FF920F931F93CF93DF93EC018B0157\r
+:1016E0006A010E94C30C811133C0C114D10439F0C6\r
+:1016F000F60180819181081B190BC80FD91FE12CBD\r
+:10170000F12C0115110519F18091E80085FD16C035\r
+:101710008091E8008E778093E800C114D10449F0ED\r
+:10172000F60180819181E80EF91EF182E08285E068\r
+:101730000FC00E94C30C882321F30AC089918093B3\r
+:10174000F10001501109FFEFEF1AFF0ADACF80E034\r
+:10175000DF91CF911F910F91FF90EF90DF90CF908D\r
+:1017600008952091D2013091D3012617370748F010\r
+:101770006115710539F42091E8002E772093E80077\r
+:1017800001C0B90140E06115710591F12091CB01D3\r
+:10179000222309F440C0253009F43FC02091E8001D\r
+:1017A00023FD3DC02091E80022FD2FC02091E800DC\r
+:1017B00020FFE9CF2091F20030E0FC01CF0161155C\r
+:1017C000710559F02830310540F481918093F10082\r
+:1017D000615071092F5F3F4FF1CF41E02830310553\r
+:1017E00009F040E02091E8002E772093E800CBCF6D\r
+:1017F0004111CCCF0AC08091CB01882361F08530A4\r
+:1018000061F08091E80083FD0AC08091E80082FFCA\r
+:10181000F2CF80E0089582E0089583E0089581E0AA\r
+:1018200008952091D2013091D3012617370748F04F\r
+:101830006115710539F42091E8002E772093E800B6\r
+:1018400001C0B901FC0120E06115710579F18091B9\r
+:10185000CB01882309F43DC0853009F43CC0809158\r
+:10186000E80083FD3AC08091E80082FD2CC08091A1\r
+:10187000E80080FFE9CF8091F20090E061157105EA\r
+:1018800059F08830910540F424912093F10031966D\r
+:10189000615071090196F2CF21E0089709F020E02C\r
+:1018A0008091E8008E778093E800CECF2111CFCFD2\r
+:1018B0000AC08091CB01882361F0853061F080916E\r
+:1018C000E80083FD0AC08091E80082FFF2CF80E04B\r
+:1018D000089582E0089583E0089581E00895982FA7\r
+:1018E000953058F59093E900981739F07091EC0015\r
+:1018F0002091ED005091F00003C0242F762F50E08E\r
+:1019000021FF19C03091EB003E7F3093EB00309106\r
+:10191000ED003D7F3093ED003091EB00316030936E\r
+:10192000EB007093EC002093ED005093F0002091B9\r
+:10193000EE0027FF07C09F5FD3CF8F708093E90031\r
+:1019400081E0089580E008958091CC0187FF11C067\r
+:101950008091E80082FD05C08091CB018111F8CF14\r
+:1019600011C08091E8008B770BC08091CB01882358\r
+:1019700049F08091E80080FFF8CF8091E8008E77F1\r
+:101980008093E80008952091E4003091E50095E609\r
+:101990004091EC00842F817040FF22C08091E800CC\r
+:1019A00080FD1CC08091CB01882391F0853091F09F\r
+:1019B0008091EB0085FD10C04091E4005091E5005E\r
+:1019C0004217530729F39A01915011F784E00895C3\r
+:1019D00082E0089583E0089581E0089580E008950D\r
+:1019E0004091E80042FFDECF08950E94520D0E9410\r
+:1019F000550DE0EEF0E0808181608083E8EDF0E05D\r
+:101A000080818F77808319BCE3E6F0E0808181607C\r
+:101A100080831092CA0108950E94520D0E94550DB4\r
+:101A20008091D8008F778093D8008091D80080680B\r
+:101A30008093D8008091D8008F7D8093D80084E077\r
+:101A400089BD86E089BD09B400FEFDCF1092CB01AF\r
+:101A50001092C7011092C9011092C80142E060E0E3\r
+:101A600080E00E946F0C8091E1008E7F8093E10006\r
+:101A70008091E20081608093E2008091E2008860C2\r
+:101A80008093E2008091E0008E7F8093E0000895D3\r
+:101A9000E3E6F0E080818E7F808381E08093CA015D\r
+:101AA0000C940C0D1092E20008951092E10008953C\r
+:101AB0001F920F920FB60F9211242F933F934F93C3\r
+:101AC0005F936F937F938F939F93AF93BF93EF93A6\r
+:101AD000FF938091E10082FF0BC08091E20082FFC2\r
+:101AE00007C08091E1008B7F8093E1000E948B0909\r
+:101AF0008091E10080FF19C08091E20080FF15C055\r
+:101B00008091E2008E7F8093E2008091E20080610C\r
+:101B10008093E2008091D80080628093D80019BC45\r
+:101B200085E08093CB010E94930A8091E10084FFBD\r
+:101B300030C08091E20084FF2CC084E089BD86E043\r
+:101B400089BD09B400FEFDCF8091D8008F7D8093C0\r
+:101B5000D8008091E1008F7E8093E1008091E200C7\r
+:101B60008F7E8093E2008091E20081608093E200AA\r
+:101B70008091C701882311F084E007C08091E300C1\r
+:101B800087FD02C081E001C083E08093CB010E9409\r
+:101B9000F20A8091E10083FF29C08091E20083FF77\r
+:101BA00025C08091E100877F8093E10082E08093EF\r
+:101BB000CB011092C7018091E1008E7F8093E100FC\r
+:101BC0008091E2008E7F8093E2008091E20080614C\r
+:101BD0008093E20042E060E080E00E946F0C809120\r
+:101BE000F00088608093F0000E948709FF91EF91D8\r
+:101BF000BF91AF919F918F917F916F915F914F9125\r
+:101C00003F912F910F900FBE0F901F9018951F922C\r
+:101C10000F920FB60F9211242F933F934F935F9320\r
+:101C20006F937F938F939F93AF93BF93CF93DF93E4\r
+:101C3000EF93FF93C091E900CF708091EC00D82F13\r
+:101C4000D17080FDD0E81092E9008091F000877F8C\r
+:101C50008093F00078940E944B0E1092E9008091DE\r
+:101C6000F00088608093F000CD2BCF70C093E90026\r
+:101C7000FF91EF91DF91CF91BF91AF919F918F91A4\r
+:101C80007F916F915F914F913F912F910F900FBE78\r
+:101C90000F901F9018951F93CF93DF93CDB7DEB7AA\r
+:101CA000AA970FB6F894DEBF0FBECDBFECECF1E003\r
+:101CB00088E08E0F9091F10091938E13FBCF0E94DC\r
+:101CC000E0098091E80083FF1FC18091CC019091D1\r
+:101CD000CD01492F50E04A30510508F015C1FA01F5\r
+:101CE000E65CFF4F0C94AE24803881F0823809F016\r
+:101CF0000BC18091D0018F708093E9008091EB003F\r
+:101D000085FB882780F91092E90006C08091C80100\r
+:101D10009091C901911182609091E800977F909312\r
+:101D2000E8008093F1001092F100C8C0282F2D7FA9\r
+:101D300009F0EAC0882319F0823061F0E5C0809193\r
+:101D4000CE01813009F0E0C0933009F080E080934B\r
+:101D5000C9012BC08091CE01811127C08091D00193\r
+:101D60008F7009F4D1C08093E9002091EB0020FF2F\r
+:101D70001CC0933021F48091EB00806214C09091DC\r
+:101D8000EB0090619093EB0021E030E0A90102C0EC\r
+:101D9000440F551F8A95E2F74093EA001092EA003B\r
+:101DA0008091EB0088608093EB001092E9008091B5\r
+:101DB000E800877F86C08111A7C01091CE011F77F0\r
+:101DC0008091E3008078812B8093E3008091E8008C\r
+:101DD000877F8093E8000E94A40C8091E80080FF38\r
+:101DE000FCCF8091E30080688093E300111102C072\r
+:101DF00082E001C083E08093CB0186C080588230AE\r
+:101E000008F082C08091CE019091CF018C3D53E0CB\r
+:101E1000950779F583E08A838AE289834FB7F8943E\r
+:101E2000DE01139620E03EE051E2E32FF0E0509314\r
+:101E30005700E49120FF03C0E295EF703F5FEF7021\r
+:101E40008E2F90E0EA3010F0C79601C0C0968D93B7\r
+:101E50009D932F5F243149F74FBF8091E800877F22\r
+:101E60008093E8006AE270E0CE0101960E94B10B17\r
+:101E700014C0AE014F5F5F4F6091D0010E94F80A1D\r
+:101E8000BC01892B09F440C09091E800977F9093A2\r
+:101E9000E80089819A810E94110C8091E8008B777B\r
+:101EA0008093E80031C0803879F58091E800877F21\r
+:101EB0008093E8008091C7018093F1008091E80051\r
+:101EC0008E778093E8000E94A40C1EC081111CC074\r
+:101ED0009091CE019230C0F48091E800877F80938A\r
+:101EE000E8009093C7010E94A40C8091C701811162\r
+:101EF00006C08091E30087FD02C081E001C084E05C\r
+:101F00008093CB010E94CC098091E80083FF0AC036\r
+:101F10008091E800877F8093E8008091EB008062E9\r
+:101F20008093EB00AA960FB6F894DEBF0FBECDBF2C\r
+:101F3000DF91CF911F91089590935B0180935A0197\r
+:101F40000895E0915A01F0915B01309721F00190E2\r
+:101F5000F081E02D099480E00895EF92FF920F93B5\r
+:101F60001F93CF93DF93E0915A01F0915B0130977B\r
+:101F7000B1F18C010280F381E02D09958091B601C9\r
+:101F800082FF2DC080FF04C088E793E00E942B05EC\r
+:101F9000E80118E082E7E82E83E0F82E8091B60190\r
+:101FA00080FF0BC088811F928F93FF92EF920E9457\r
+:101FB000C4050F900F900F900F90115021961111A2\r
+:101FC000EDCF8091B60180FF0AC080E793E0DF91FA\r
+:101FD000CF911F910F91FF90EF900C942B05DF9103\r
+:101FE000CF911F910F91FF90EF900895E0915A01CA\r
+:101FF000F0915B01309721F00480F581E02D099488\r
+:10200000089520915801309159018217930771F07A\r
+:102010009093590180935801E0915A01F0915B012E\r
+:10202000309721F00680F781E02D099408952091E2\r
+:102030005601309157018217930771F09093570121\r
+:1020400080935601E0915A01F0915B01309721F0A5\r
+:102050000084F185E02D0994089508950C942D10C5\r
+:102060000E94E91B0C94CD05CF92DF92EF92FF9274\r
+:102070000F931F93CF93DF9300D000D000D0CDB744\r
+:10208000DEB70E94EA058DE5C82E81E0D82E00E07B\r
+:1020900010E0E02E802F0E943C06F60141916F0176\r
+:1020A000F42EF826B1F40F5F1F4F0E30110589F79B\r
+:1020B0008FEF89838A831B820E94F21B8160782FB5\r
+:1020C0009D838C8349815A816B818D810E94F3109D\r
+:1020D00047C09091B60191FF04C08E830E944506CF\r
+:1020E0008E8120E030E04F2D50E0922FBA01022E79\r
+:1020F00002C0759567950A94E2F760FF2BC02983AB\r
+:10210000EA8221E030E0690102C0CC0CDD1C9A9526\r
+:10211000E2F790E08C219D21892B09F420E02B83AC\r
+:102120000E94F21B8160782F9D838C8349815A81A4\r
+:102130006B818D810E94F31049815A816B817C8172\r
+:102140008D810E946C1BF801E35AFE4F8081C826E6\r
+:10215000C08206C02F5F3F4F2830310531F6A3CF34\r
+:102160000E946B1B0E94BF1E10915C010E94A10F78\r
+:10217000181741F10E94A10F80935C019091B60164\r
+:1021800092FF0EC090FF0CC01F928F938AE893E0DD\r
+:102190009F938F930E94C4050F900F900F900F9004\r
+:1021A00080915C0126960FB6F894DEBF0FBECDBFBE\r
+:1021B000DF91CF911F910F91FF90EF90DF90CF9023\r
+:1021C0000C947D1B26960FB6F894DEBF0FBECDBFD4\r
+:1021D000DF91CF911F910F91FF90EF90DF90CF9003\r
+:1021E00008950C948706CF93DF93CDB7DEB72B9776\r
+:1021F0000FB6F894DEBF0FBECDBF942F4F83252FAF\r
+:10220000588769877A878B874A855B85452B21F0BC\r
+:102210002F3F09F59F3FF9F4DE01119686E0FD019D\r
+:1022200011928A95E9F785E0FE01379601900D92AB\r
+:102230008A95E1F749815A816B817C818D819E81EC\r
+:102240000E9426182B960FB6F894DEBF0FBECDBFA6\r
+:10225000DF91CF9108954F81588569857A858B8567\r
+:102260000E946C1BD9CFCF93882309F4CDC0C82F0F\r
+:10227000823859F40E94A10F81FDC6C089E30E94F3\r
+:10228000B51A0E942E1B89E30CC0833879F40E9492\r
+:10229000A10F80FDB9C083E50E94B51A0E942E1BD4\r
+:1022A00083E50E94D21ACF910C942E1B843859F4E6\r
+:1022B0000E94A10F82FDA8C087E40E94B51A0E9467\r
+:1022C0002E1B87E4EECF8CEF8C0F813A48F48C2FD5\r
+:1022D0000E94EB21811198C08C2F0E94B51AE3CF88\r
+:1022E00080E28C0F883048F4C77081E001C0880F0D\r
+:1022F000CA95EAF70E94F41AD6CF8BE58C0F83308B\r
+:1023000078F4C53A29F0C63A31F083E890E005C088\r
+:1023100081E890E002C082E890E0CF910C94011037\r
+:1023200088E58C0F853108F06FC0C83A61F1C93A71\r
+:1023300069F1CA3A71F1CB3A79F1CC3A81F1CD3AEF\r
+:1023400089F1CE3A91F1CF3A99F1C13BA1F1C03B6D\r
+:10235000A9F1C23BB1F1C33BB9F1C43BC1F1C53BEB\r
+:10236000C9F1C63BD1F1C73BD9F1C83BE1F1C93B4B\r
+:10237000E9F1CA3BF1F1CB3BF9F1CC3B09F43FC0A9\r
+:1023800080E090E03EC082EE90E03BC089EE90E0BD\r
+:1023900038C08AEE90E035C085EB90E032C086EB25\r
+:1023A00090E02FC083EB90E02CC084EB90E029C03C\r
+:1023B00087EB90E026C08CEC90E023C08DEC90E0A1\r
+:1023C00020C083E891E01DC08AE891E01AC082E94C\r
+:1023D00091E017C084E991E014C081E292E011C05D\r
+:1023E00083E292E00EC084E292E00BC085E292E0CC\r
+:1023F00008C086E292E005C087E292E002C08AE26D\r
+:1024000092E0CF910C941710CF910895882309F48E\r
+:102410004BC0823859F40E94A10F81FF45C089E367\r
+:102420000E94B51A0E942E1B89E30CC0833871F4F8\r
+:102430000E94A10F80FF38C083E50E94B51A0E9458\r
+:102440002E1B83E50E94D21A0C942E1B843859F45B\r
+:102450000E94A10F82FF28C087E40E94B51A0E9443\r
+:102460002E1B87E4EFCF9CEF980F913A58F390E240\r
+:10247000980F983050F4877091E001C0990F8A95B9\r
+:10248000EAF7892F0E94FA1ADFCF9BE5980F933065\r
+:1024900020F480E090E00C940110885A853120F4FB\r
+:1024A00080E090E00C9417100895882321F00E949A\r
+:1024B000F41A0C942E1B0895882321F00E94FA1A16\r
+:1024C0000C942E1B0895CF92DF92EF92FF920F9300\r
+:1024D0001F93CF93DF9300D000D000D0CDB7DEB7ED\r
+:1024E00025E0FC01DE01119601900D922A95E1F79D\r
+:1024F000FC0140813181F280258122952F7063811A\r
+:102500007481672B09F4D8C23F3F19F44F3F09F497\r
+:10251000D3C26C0149833A8389819A812E830E94B8\r
+:10252000741A182F092F0E94731A0E948319E02F22\r
+:10253000E295EF70F0E0EC5BFF4F2E810C94AE243F\r
+:10254000802F807F902F9F70092F882311F0029594\r
+:10255000007FFF2049F0002309F45FC2802F0E9412\r
+:10256000071B0E942E1B59C2812F0E9406120023B6\r
+:1025700009F4A2C2802F0E940D1B26960FB6F89474\r
+:10258000DEBF0FBECDBFDF91CF911F910F91FF90A6\r
+:10259000EF90DF90CF900C942E1B802F807F902F98\r
+:1025A0009F70092F803211F00295007F112319F0DE\r
+:1025B000113001F129C0FF20A9F0802F222349F119\r
+:1025C000213039F526960FB6F894DEBF0FBECDBF89\r
+:1025D000DF91CF911F910F91FF90EF90DF90CF90FF\r
+:1025E0000C94171B222319F0213009F465C20E94B4\r
+:1025F0001A1B2CC0FF20E9F0263008F05DC20E94B3\r
+:10260000F11A802329F022C0FF20F1F0211115C01A\r
+:10261000802F26960FB6F894DEBF0FBECDBFDF9198\r
+:10262000CF911F910F91FF90EF90DF90CF900C947E\r
+:102630005512253008F040C209C0F601858180FF9F\r
+:10264000ECC18F708583E4CF2111FBC1802F69C15C\r
+:10265000202F26952695237030E02115310521F095\r
+:1026600021303105C9F028C2FF2021F0812F902FA1\r
+:10267000937002C080E090E026960FB6F894DEBF1B\r
+:102680000FBECDBFDF91CF911F910F91FF90EF90C3\r
+:10269000DF90CF900C940110FF2021F0812F902F1C\r
+:1026A000937002C080E090E026960FB6F894DEBFEB\r
+:1026B0000FBECDBFDF91CF911F910F91FF90EF9093\r
+:1026C000DF90CF900C941710812FFF2019F00E94FB\r
+:1026D000451D02C00E94AD1D26960FB6F894DEBFC0\r
+:1026E0000FBECDBFDF91CF911F910F91FF90EF9063\r
+:1026F000DF90CF900C94321E802F837009F078C049\r
+:10270000F110DAC1812F829586958770880F880F26\r
+:10271000912F9F70C92ED12CE12CF12C082E04C0D2\r
+:10272000CC0CDD1CEE1CFF1C0A94D2F714FF12C067\r
+:102730004FE050E060E070E004C0440F551F661F9A\r
+:10274000771F8A95D2F7CB01BA0160957095809575\r
+:10275000909503C060E070E0CB01202F2695269570\r
+:102760002370422F50E042305105D1F043305105E3\r
+:1027700059F16C297D298E299F294130510541F15C\r
+:1027800026960FB6F894DEBF0FBECDBFDF91CF9176\r
+:102790001F910F91FF90EF90DF90CF900C949819BC\r
+:1027A0006C297D298E299F2926960FB6F894DEBFC5\r
+:1027B0000FBECDBFDF91CF911F910F91FF90EF9092\r
+:1027C000DF90CF900C94AA190E949819C701B60106\r
+:1027D00026960FB6F894DEBF0FBECDBFDF91CF9126\r
+:1027E0001F910F91FF90EF90DF90CF900C9486197E\r
+:1027F000FF2019F0802F817001C08695882309F48D\r
+:102800005BC1812F829586958770880F880F912FE5\r
+:102810009F70C92ED12CE12CF12C082E04C0CC0CB9\r
+:10282000DD1CEE1CFF1C0A94D2F714FF12C04FE00F\r
+:1028300050E060E070E004C0440F551F661F771F32\r
+:102840008A95D2F7CB01BA016095709580959095E5\r
+:1028500003C060E070E0CB01202F26952695237001\r
+:10286000422F50E042305105D1F04330510559F12B\r
+:102870006C297D298E299F294130510541F12696E9\r
+:102880000FB6F894DEBF0FBECDBFDF91CF911F9181\r
+:102890000F91FF90EF90DF90CF900C944F1A6C291E\r
+:1028A0007D298E299F2926960FB6F894DEBF0FBE8C\r
+:1028B000CDBFDF91CF911F910F91FF90EF90DF90EF\r
+:1028C000CF900C94611A0E944F1AC701B601269648\r
+:1028D0000FB6F894DEBF0FBECDBFDF91CF911F9131\r
+:1028E0000F91FF90EF90DF90CF900C943D1A103F26\r
+:1028F00041F118F4103E48F48BC0123F09F450C067\r
+:10290000D8F1133F09F460C083C01F70802F8F710E\r
+:10291000FF2021F00E94D619812F7BCE0E94F7194B\r
+:10292000812F26960FB6F894DEBF0FBECDBFDF9184\r
+:10293000CF911F910F91FF90EF90DF90CF900C946B\r
+:102940005C12FF20A9F0253008F0B6C0802F8F71EF\r
+:1029500026960FB6F894DEBF0FBECDBFDF91CF91A4\r
+:102960001F910F91FF90EF90DF90CF900C941C1A65\r
+:10297000263008F0A1C0EACFFF20A1F0802F8F7190\r
+:1029800026960FB6F894DEBF0FBECDBFDF91CF9174\r
+:102990001F910F91FF90EF90DF90CF900C94D6197C\r
+:1029A000FF2061F3802F8F7126960FB6F894DEBF5B\r
+:1029B0000FBECDBFDF91CF911F910F91FF90EF9090\r
+:1029C000DF90CF900C94F719FF2091F0802F8F713A\r
+:1029D00026960FB6F894DEBF0FBECDBFDF91CF9124\r
+:1029E0001F910F91FF90EF90DF90CF900C94C11941\r
+:1029F00026960FB6F894DEBF0FBECDBFDF91CF9104\r
+:102A00001F910F91FF90EF90DF90CF900C94BC1925\r
+:102A1000FF20A1F0222309F4B1CF812F26960FB613\r
+:102A2000F894DEBF0FBECDBFDF91CF911F910F9104\r
+:102A3000FF90EF90DF90CF900C943311222309F494\r
+:102A4000B1CF812F26960FB6F894DEBF0FBECDBF53\r
+:102A5000DF91CF911F910F91FF90EF90DF90CF907A\r
+:102A60000C940612402F4F70612FC6010E94BB1CB0\r
+:102A700026960FB6F894DEBF0FBECDBFDF91CF9183\r
+:102A80001F910F91FF90EF90DF90CF900C94CE1894\r
+:102A9000402F4F70612FC60126960FB6F894DEBF07\r
+:102AA0000FBECDBFDF91CF911F910F91FF90EF909F\r
+:102AB000DF90CF900C94BE1C26960FB6F894DEBF24\r
+:102AC0000FBECDBFDF91CF911F910F91FF90EF907F\r
+:102AD000DF90CF9008950E94141B0E94E31A0E9479\r
+:102AE0002E1B0E94661F0E94321E80E090E00E9412\r
+:102AF000011080E090E00C9417100E94041B0C94CD\r
+:102B00006B150E94741A292F22952F7030E02C30FB\r
+:102B100031054CF42A3031056CF422503109223051\r
+:102B2000310588F407C02C30310549F02F303105CC\r
+:102B300031F009C0803E48F0803F29F406C093FB85\r
+:102B4000882780F9089580E0089581E00895CF9363\r
+:102B5000DF9300D000D01F92CDB7DEB70F900F905B\r
+:102B60000F900F900F90DF91CF910895CF93DF9347\r
+:102B700000D000D000D0CDB7DEB726960FB6F894BF\r
+:102B8000DEBF0FBECDBFDF91CF910895CF93DF930E\r
+:102B9000C0916B0180916C01C817A1F0D0E0CE010B\r
+:102BA00066E070E00E947D24FC01E359FE4F408105\r
+:102BB000518162817381848195810E94B61521962D\r
+:102BC000C770E8CFDF91CF91089540919D0150915A\r
+:102BD0009E0160919F017091A0018091A10190914F\r
+:102BE000A2010C94B615CF93DF938091A201829538\r
+:102BF0008F7009F05CC080919F01882309F457C051\r
+:102C000020916B01D0916C0140919D01C0919E017A\r
+:102C1000E091A001F091A1012D1709F448C030E026\r
+:102C2000309709F440C0CF3F11F44F3FE1F1C901A3\r
+:102C300066E070E00E947D24DC01A359BE4F11962E\r
+:102C40008C911197C8132FC08C9148132CC01296E9\r
+:102C50008C911297811127C013968D919C91149796\r
+:102C60008E179F0708F401978E1B9F0B883C9105D8\r
+:102C7000D0F48091A2018F7080618093A201C9017C\r
+:102C800066E070E00E947D24FC01EE58FE4F9081CA\r
+:102C90009F70906190838DE991E00E946312DF91B3\r
+:102CA000CF910C94C6152F5F3F4F2770B5CFDF91A2\r
+:102CB000CF910895BF92CF92DF92EF92FF920F9340\r
+:102CC0001F93CF93DF93CDB7DEB761970FB6F8941C\r
+:102CD000DEBF0FBECDBF8C0185E0F801DE011D9681\r
+:102CE00001900D928A95E1F7D8014C9111962C91A3\r
+:102CF00011971296EC9012971396CD90DC90149742\r
+:102D000050919D0160919E018091A0019091A1013F\r
+:102D1000009709F46EC16F3F19F45F3F09F469C170\r
+:102D2000B0909F01BB2009F4C3C03091A201C81626\r
+:102D3000D90628F0F601E81BF90BCF0104C08095F5\r
+:102D400090958C0D9D1DFF24F394883C910588F08F\r
+:102D5000F12C307F09F0CBC07C2DD98AC88A522F44\r
+:102D60006E2D89890E94A7158DE991E00E9463125A\r
+:102D7000B4C0832F807F09F049C0621314C054137C\r
+:102D800012C0E11010C03F7030613093A2010E9468\r
+:102D9000E5158DE991E00E9463128091A201D801AE\r
+:102DA00015968C9331C0CD2831F12F3F11F44F3F50\r
+:102DB00011F1FE2CE1101FC0E0916B0130916C010C\r
+:102DC000E31709F45CC0F0E0CF0166E070E00E9418\r
+:102DD0007D24DC01A359BE4F11968C9111972813C5\r
+:102DE00007C08C91481304C012968C91811103C0C6\r
+:102DF0003196E770E5CFFE2CEE2009F416C18091E4\r
+:102E0000A20181608093A201F12C0FC1621308C05E\r
+:102E1000541306C0E11004C08091A201D801C1C0C2\r
+:102E20004D872E878D859E850E9481158823E1F12F\r
+:102E3000EE20D1F12091A201822F82958F7090E037\r
+:102E4000029774F080919D0190919E0198878F83E5\r
+:102E50001986DB86CA862C87CE0107960E946312EC\r
+:102E600086E0F801ADE9B1E001900D928A95E1F7B5\r
+:102E70000E94F3150E94E515FF24F394D6C04D87F8\r
+:102E80002E878D859E850E94741A292F22952F707A\r
+:102E900030E0223031050CF0BCC09F7009F0B6C0A4\r
+:102EA000805E883008F4C1C0C8010E946312E4CF7C\r
+:102EB000C816D90608F453C0F601E81BF90BCF0178\r
+:102EC000883C910508F450C0F12C7C2DD98AC88A21\r
+:102ED000522F6E2D89890E94A715EDE9F1E086E059\r
+:102EE000DF011D928A95E9F70E94E5159EC06213E5\r
+:102EF00014C0541312C0E11010C08091A201F80157\r
+:102F00008583C8010E94631286E0EDE9F1E0DF01EC\r
+:102F10001D928A95E9F7FB2C88C04D872E878D85F9\r
+:102F20009E850E948115882309F4BECFEE2009F406\r
+:102F3000BBCF2091A201822F82958F7090E00297E3\r
+:102F40000CF48ECF80919D0190919E019A8389838C\r
+:102F50001B82DD82CC822E83CE0101967FCF8095AD\r
+:102F600090958C0D9D1DACCFFE2CEE2009F49CCFCE\r
+:102F700062132EC054132CC02091A20120FD1FC04B\r
+:102F8000822F82958F70D9F0D80115962C931597C2\r
+:102F90008F3049F08F5F982F9295907F822F8F709E\r
+:102FA000892B15968C93C8010E94631286E0F80164\r
+:102FB000ADE9B1E001900D928A95E1F795CF86E0F9\r
+:102FC000F801ADE9B1E001900D928A95E1F72DC0CD\r
+:102FD0004D872E878D859E850E948115811140CF5A\r
+:102FE0008091A20181608093A201C8010E946312B6\r
+:102FF0001CC0EE2009F458CF4D872E878D859E8505\r
+:103000000E948115882309F44FCF2ACF811148CF20\r
+:103010000CC0243031050CF047CF9F7009F440CF2D\r
+:10302000F8019581907F09F03BCF8F2D61960FB607\r
+:10303000F894DEBF0FBECDBFDF91CF911F910F91EE\r
+:10304000FF90EF90DF90CF90BF900895CF93DF93E4\r
+:10305000CDB7DEB72C970FB6F894DEBF0FBECDBF4D\r
+:103060004F83588769877A878B879C87CE0107961D\r
+:103070000E945A16882371F08F8198852A853B8596\r
+:10308000232B09F43FC09F3F09F068C08F3F09F030\r
+:1030900065C038C086E0FE013796DE0111960190CA\r
+:1030A0000D928A95E1F76F817885EA85FB853097E7\r
+:1030B00049F17F3F11F46F3F29F180916C0190E05D\r
+:1030C0009C012F5F3F4F2770332740916B0150E0E9\r
+:1030D0002417350709F44BC069837A83FD83EC8399\r
+:1030E00066E070E00E947D24DC01A359BE4F96E0AB\r
+:1030F000FE01319601900D929A95E1F720936C01B3\r
+:103100000E94C61580916B0190916C018917E9F1BD\r
+:1031100090E066E070E00E947D2483599E4F0E94FB\r
+:103120005A16882391F180916B0190E066E070E07F\r
+:103130000E947D24FC01E359FE4F40815181628150\r
+:103140007381848195810E94B61580916B0190E016\r
+:1031500001968770992780936B01D4CF4F81588552\r
+:1031600069857A858B859C850E94B615CBCF0E9498\r
+:103170007D1510926C0110926B01EDE9F1E086E093\r
+:10318000DF011D928A95E9F7BDCF2C960FB6F89412\r
+:10319000DEBF0FBECDBFDF91CF910895DF92EF92DA\r
+:1031A000FF920F931F93CF93DF93FC01892B09F4B8\r
+:1031B0008AC0E12CF12CDD24D394EF012196849177\r
+:1031C000853709F461C058F4843708F04EC0843064\r
+:1031D00008F06AC08130D1F0823071F174C0883754\r
+:1031E00009F45DC050F4863709F455C0873709F0FB\r
+:1031F0006AC08E2D0E94011B54C09CE7980F903727\r
+:1032000008F061C08F770E94061250C08F010E5FD8\r
+:103210001F4FFE01849190E2980F983050F4877010\r
+:10322000FD2D01C0FF0F8A95EAF78F2F0E94071B23\r
+:1032300014C00E94331113C08F010E5F1F4FFE0197\r
+:10324000C49180E28C0F883060F4C7708D2D01C06E\r
+:10325000880FCA95EAF70E940D1B0E942E1BE801F9\r
+:1032600025C08C2F0E940612FACF9F012E5F3F4F80\r
+:10327000FE01C491CC2369F08FE99FE00197F1F73B\r
+:1032800000C00000C150F6CF9F012E5F3F4FFE01EE\r
+:10329000F490E9010BC00E94F11AE82E07C00E94C9\r
+:1032A000041B0E942E1B02C00E9433118F2D882305\r
+:1032B00041F0EFE9FFE03197F1F700C000008150E5\r
+:1032C000F6CFFE017ACFDF91CF911F910F91FF9042\r
+:1032D000EF90DF9008956093A7017093A801809309\r
+:1032E000A9019093AA010E947B1B0C946B1560931B\r
+:1032F000A3017093A4018093A5019093A6010E945D\r
+:103300007C1B0C946B1508950C946B190F931F93F1\r
+:103310000091A7011091A8012091A9013091AA0163\r
+:10332000602B712B822B932B1F910F910C946B1997\r
+:103330000F931F930091A7011091A8012091A9015B\r
+:103340003091AA0160237123822393231F910F914F\r
+:103350000C946B190F931F930091A7011091A80172\r
+:103360002091A9013091AA01602771278227932714\r
+:103370001F910F910C946B1960E070E0CB010C94DD\r
+:1033800077190F931F9341E050E060E070E08A01ED\r
+:103390009B0104C0000F111F221F331F8A95D2F713\r
+:1033A000C901B8011F910F910C9477190F931F93C6\r
+:1033B00041E050E060E070E004C0440F551F661F1C\r
+:1033C000771F8A95D2F78091A3019091A401A091D3\r
+:1033D000A501B091A6018A019B01082B192B2A2B6C\r
+:1033E0003B2BC901B8011F910F910C9477190F93D2\r
+:1033F0001F9341E050E060E070E004C0440F551FAF\r
+:10340000661F771F8A95D2F7409550956095709505\r
+:103410008091A3019091A401A091A501B091A60172\r
+:103420008A019B01082319232A233B23C901B801E0\r
+:103430001F910F910C9477190F931F9341E050E067\r
+:1034400060E070E004C0440F551F661F771F8A9527\r
+:10345000D2F78091A3019091A401A091A501B09110\r
+:10346000A6018A019B01082719272A273B27C901A2\r
+:10347000B8011F910F910C9477190F931F9300912E\r
+:10348000A3011091A4012091A5013091A601602B08\r
+:10349000712B822B932B1F910F910C9477190F9303\r
+:1034A0001F930091A3011091A4012091A5013091D7\r
+:1034B000A60160237123822393231F910F910C9403\r
+:1034C00077190F931F930091A3011091A4012091EC\r
+:1034D000A5013091A60160277127822793271F91AC\r
+:1034E0000F910C9477190895CF92DF92EF92FF928B\r
+:1034F0000F931F93CF93DF938C01C090A701D090BF\r
+:10350000A801E090A901F090AA014091A301509177\r
+:10351000A4016091A5017091A601C42AD52AE62ACA\r
+:10352000F72ACFE1D0E0D701C6010C2E04C0B69532\r
+:10353000A795979587950A94D2F780FF07C0B801A1\r
+:103540008C2F0E948C1C8130910531F4219758F703\r
+:10355000B80180E00E948C1CDF91CF911F910F91E8\r
+:10356000FF90EF90DF90CF90089520910B01309164\r
+:103570000C01F90132969FEF40E05191581789F004\r
+:103580009F3F19F4511101C0942F4F5F4630A9F7A6\r
+:103590009F3F39F0F901E90FF11D97FDFA958283FC\r
+:1035A0000895089520910B0130910C01F901329694\r
+:1035B000285F3F4F9081981301C010823196E21727\r
+:1035C000F307C1F7089581E090E0E0910B01F091DD\r
+:1035D0000C01E80FF91F1082019688309105A9F7B8\r
+:1035E00008958091B50108959091B501892B80933C\r
+:1035F000B501089580959091B50189238093B50117\r
+:1036000008958093B50108951092B50108959091A1\r
+:10361000B401892B8093B401089580959091B401F1\r
+:1036200089238093B40108951092B4010895809382\r
+:10363000AB0108951092AB01089580910B01909118\r
+:103640000C01FC0131969C01285F3F4F80E0919175\r
+:1036500091118F5FE217F307D1F70895E0910B0105\r
+:10366000F0910C018091B5018083E0910B01F09104\r
+:103670000C0190818091B401892B80838091AB01F2\r
+:10368000882361F0E0910B01F0910C019081892B6E\r
+:1036900080830E941D1B81111092AB0180910B0150\r
+:1036A00090910C010C94AD0F9093330180933201F3\r
+:1036B00008958295982F9C7C292F26952695982FE2\r
+:1036C0009373990F990F922B892F8A7A8695957506\r
+:1036D000990F892B08950895CF93DF9300D000D0E0\r
+:1036E0001F92CDB7DEB70F900F900F900F900F90F5\r
+:1036F000DF91CF910895089508950C94F110809171\r
+:10370000CB01843021F11092B70120E488E190E0F0\r
+:103710000FB6F894A895809360000FBE20936000C8\r
+:1037200083B7817F846083BF83B7816083BF7894D0\r
+:10373000889583B78E7F83BF0FB6F894A895809144\r
+:103740006000886180936000109260000FBE089551\r
+:1037500008950895CF930E94A81B0E94EA050E9435\r
+:10376000A91BC0E08C2F0E943C06811104C0CF5FD2\r
+:10377000CE30C1F701C081E0CF9108950C947D1542\r
+:103780001F920F920FB60F9211248F939F93AF93B6\r
+:10379000BF938091B701811113C08091B8019091BE\r
+:1037A000B901A091BA01B091BB014196A11DB11D13\r
+:1037B0008093B8019093B901A093BA01B093BB0173\r
+:1037C000BF91AF919F918F910F900FBE0F901F905F\r
+:1037D000189582E084BD93E095BD9AEF97BD8093E4\r
+:1037E0006E0008952FB7F8948091B8019091B901B7\r
+:1037F000A091BA01B091BB012FBF08952FB7F894E3\r
+:103800006091B8017091B9018091BA019091BB01AA\r
+:103810002FBF0895CF92DF92EF92FF920F931F93E5\r
+:103820002FB7F8944091B8015091B9016091BA0155\r
+:103830007091BB012FBF6A017B01EE24FF248C0134\r
+:1038400020E030E0C016D106E206F30610F4415045\r
+:1038500051099A01281B390BC9011F910F91FF9043\r
+:10386000EF90DF90CF9008951F920F920FB60F92B6\r
+:1038700011248F939F93AF93BF938091B801909140\r
+:10388000B901A091BA01B091BB010196A11DB11D72\r
+:103890008093B8019093B901A093BA01B093BB0192\r
+:1038A000BF91AF919F918F910F900FBE0F901F907E\r
+:1038B00018950E94F50CF8942FEF87EA91E62150B5\r
+:1038C00080409040E1F700C0000087E090EBDC0111\r
+:1038D0008093D4019093D501A093D601B093D701E2\r
+:1038E0009CE088E10FB6F894A895809360000FBE25\r
+:1038F00090936000FFCFE92FF0E093E0EE0FFF1F01\r
+:103900009A95E1F7E80FF11DE855FF4F9491892F43\r
+:103910008F7092959F700895CF93C82FCB010E940E\r
+:103920007B1C492F90E0242F30E054E0220F331FFE\r
+:103930005A95E1F7282B392B2038310519F480E00E\r
+:1039400090E017C0EC2FF0E023E0EE0FFF1F2A9568\r
+:10395000E1F74770E40FF11D34E0EE0FFF1F3A95D9\r
+:10396000E1F7E80FF91FEE0FFF1FE050F8498591CE\r
+:103970009491CF91089580E090E00895089580910A\r
+:10398000BE0180FF0CC08091100190E065E070E006\r
+:103990000E947D2495958795959587952EC081FFEA\r
+:1039A0000AC08091100190E065E070E00E947D24E3\r
+:1039B0009595879522C082FF08C08091100190E004\r
+:1039C00065E070E00E947D2418C02091BF01222391\r
+:1039D000D1F030910F01231780F78091100190E012\r
+:1039E00065E070E00E947D24622F70E00E947D24DB\r
+:1039F000632F70E00E949A24CB018038910530F447\r
+:103A0000009731F0089585E090E008958FE70895DC\r
+:103A100081E008958091BE0180FF08C060910E0191\r
+:103A200070E0759567957595679523C081FF06C011\r
+:103A300060910E0170E0759567951BC082FF04C010\r
+:103A400060910E0170E012C06091BF016623D1F059\r
+:103A500020910D016217A0F780910E0170E090E0B7\r
+:103A60000E947D24622F70E00E949A2460387105C4\r
+:103A700028F46115710521F0862F08958FE70895C8\r
+:103A800081E0089561E070E0F4CF803F21F40E946E\r
+:103A9000BF1C819504C0813F29F40E94BF1C809304\r
+:103AA000C2010895823F21F40E94BF1C819504C089\r
+:103AB000833F29F40E94BF1C8093C1010895893F70\r
+:103AC00019F40E940A1D05C08A3F31F40E940A1DA4\r
+:103AD00081958093C30108958B3F21F40E940A1DB4\r
+:103AE000819504C08C3F29F40E940A1D8093C40173\r
+:103AF0000895843F21F48091C001816017C0853F03\r
+:103B000021F48091C001826011C0863F21F4809130\r
+:103B1000C00184600BC0873F21F48091C0018860A0\r
+:103B200005C0883F31F48091C00180618093C0015D\r
+:103B300008958D3F21F48091BE0181600BC08E3FBE\r
+:103B400021F48091BE01826005C08F3F29F48091ED\r
+:103B5000BE0184608093BE010895803F39F4809156\r
+:103B6000C20187FF6CC01092C20169C0813F29F475\r
+:103B70008091C2011816BCF362C09091C101823FCE\r
+:103B800029F497FF5CC01092C10159C0833F19F41A\r
+:103B90001916CCF354C0893F41F48091C301181623\r
+:103BA0000CF04DC01092C3014AC08A3F29F48091A5\r
+:103BB000C30187FF44C0F6CF8B3F39F48091C40125\r
+:103BC00087FF3DC01092C4013AC08C3F29F4809118\r
+:103BD000C4011816BCF333C0843F21F48091C001A6\r
+:103BE0008E7F17C0853F21F48091C0018D7F11C069\r
+:103BF000863F21F48091C0018B7F0BC0873F21F469\r
+:103C00008091C001877F05C0883F31F48091C00159\r
+:103C10008F7E8093C00113C08D3F21F48091BE013F\r
+:103C20008E7F0BC08E3F21F48091BE018D7F05C039\r
+:103C30008F3F29F48091BE018B7F8093BE018091DC\r
+:103C4000C10181110EC08091C20181110AC0809111\r
+:103C5000C301811106C08091C401811102C010927C\r
+:103C6000BF0108958091B60183FF7EC08CEB93E085\r
+:103C70000E942B058091C0011F928F9387EB93E0E8\r
+:103C80009F938F930E94C40585EB93E00E942B05C0\r
+:103C90008091C101282F082E000C330B3F938F9386\r
+:103CA00082EB93E09F938F930E94C40580EB93E097\r
+:103CB0000E942B058091C201282F082E000C330B87\r
+:103CC0003F938F938DEA93E09F938F930E94C40557\r
+:103CD0008BEA93E00E942B058091C301282F082EC8\r
+:103CE000000C330B3F938F9388EA93E09F938F935D\r
+:103CF0000E94C40586EA93E00E942B058091C401CE\r
+:103D0000282F082E000C330B3F938F9383EA93E008\r
+:103D10009F938F930E94C40580EA93E00E942B0535\r
+:103D20008091BF011F928F938DE993E09F938F93B2\r
+:103D30000E94C4058BE993E00E942B058091BE018F\r
+:103D40001F928F9388E993E09F938F930E94C405FD\r
+:103D500085E993E00E942B058DB79EB74C960FB670\r
+:103D6000F8949EBF0FBE8DBF80EC91E00E94F60FCD\r
+:103D70000E94F21B9093BD018093BC0108951F9394\r
+:103D8000CF93DF938091BC019091BD010E940A1CEA\r
+:103D9000FC012091BF01222329F090911101892F6C\r
+:103DA00090E007C08091120190E06AE070E00E940C\r
+:103DB0007D24E817F90708F485C08091C101C091FE\r
+:103DC000C201D091C3011091C401811107C0C1117A\r
+:103DD00075C0D11173C0111171C074C02F3F19F09B\r
+:103DE0002F5F2093BF01181624F40E94BF1C8093FC\r
+:103DF000C1018091C10187FF05C00E94BF1C819550\r
+:103E00008093C1011C1624F40E94BF1C8093C20140\r
+:103E10008091C20187FF05C00E94BF1C81958093DD\r
+:103E2000C2016091C101662331F1C091C201CC236E\r
+:103E300011F1062E000C770B880B990B0E947C2346\r
+:103E400023E333E343E35FE30E94E0230E94442340\r
+:103E50006093C1016C2FCC0F770B880B990B0E94DC\r
+:103E60007C2323E333E343E35FE30E94E0230E94E8\r
+:103E700044236093C2011D1624F40E940A1D8093FE\r
+:103E8000C3018091C30187FF05C00E940A1D81956F\r
+:103E90008093C301111624F40E940A1D8093C4016B\r
+:103EA0008091C40187FF05C00E940A1D81958093FF\r
+:103EB000C401DF91CF911F910C94321E2F3F09F066\r
+:103EC0008FCF97CFDF91CF911F910895E0ECF1E074\r
+:103ED00085E0DF011D928A95E9F71092BF011092EB\r
+:103EE000BE0108958FED95E00E942B051F9281E0A1\r
+:103EF0008F931F9285E08F9381E995E09F938F9335\r
+:103F00000E94C4050F900F900F900F900F900F908C\r
+:103F100008958330E9F128F4813061F0823009F1AD\r
+:103F20000895853009F462C008F449C0863009F468\r
+:103F300074C0089580911201262F30E0280F311DA2\r
+:103F40002F3F310524F4680F6093120103C08FEFF7\r
+:103F500080931201809112011F928F938AEC94E05A\r
+:103F600072C080911101262F30E0280F311D2F3FA4\r
+:103F7000310524F4680F6093110103C08FEF809323\r
+:103F80001101809111011F928F9388EB94E05BC027\r
+:103F900080911001262F30E0280F311D2F3F310571\r
+:103FA00024F4680F6093100103C08FEF8093100119\r
+:103FB000809110011F928F9385EA94E044C0809114\r
+:103FC0000F01262F30E0280F311D2F3F310524F43B\r
+:103FD000680F60930F0103C08FEF80930F018091F2\r
+:103FE0000F011F928F9380E994E02DC080910E0104\r
+:103FF000262F30E0280F311D2F3F310524F4680FA4\r
+:1040000060930E0103C08FEF80930E0180910E012B\r
+:104010001F928F9387E794E016C080910D01262FA1\r
+:1040200030E0280F311D2F3F310524F4680F6093D5\r
+:104030000D0103C08FEF80930D0180910D011F9240\r
+:104040008F938CE594E09F938F930E94C4050F900B\r
+:104050000F900F900F900895833081F128F48130F4\r
+:1040600059F08230D1F00895853009F449C0B8F193\r
+:10407000863009F456C0089580911201681720F423\r
+:10408000861B8093120102C01092120180911201CE\r
+:104090001F928F938DE494E054C0809111016817B2\r
+:1040A00020F4861B8093110102C0109211018091AF\r
+:1040B00011011F928F938BE394E043C08091100114\r
+:1040C000681720F4861B8093100102C01092100123\r
+:1040D000809110011F928F9388E294E032C080910A\r
+:1040E0000F01681720F4861B80930F0102C0109205\r
+:1040F0000F0180910F011F928F9383E194E021C003\r
+:1041000080910E01681720F4861B80930E0102C077\r
+:1041100010920E0180910E011F928F938AEF93E00F\r
+:1041200010C080910D01681720F4861B80930D014B\r
+:1041300002C010920D0180910D011F928F938FED9F\r
+:1041400093E09F938F930E94C4050F900F900F9060\r
+:104150000F900895CF93C82F1F928F9384EE96E00F\r
+:104160009F938F930E94C40581E090E0A0E0B0E0AF\r
+:10417000BC01CD0104C0660F771F881F991FCA9527\r
+:10418000D2F70E9484190F900F900F900F90CF914B\r
+:104190000C947D15CF93873288F58E3108F00BC1D2\r
+:1041A0008E3009F487C0D8F4873009F460C08B30B2\r
+:1041B00009F44FC0863009F002C18091B601817FB9\r
+:1041C0008E7F8093B60189EE96E00E942B0587EAE8\r
+:1041D00099E00E942B0581E08093C60146C086319C\r
+:1041E00009F4B0C020F4803109F47AC0E8C0893104\r
+:1041F00009F491C08B3109F449C0E1C0883349F119\r
+:1042000050F4893209F4D5C0853309F4D2C087321D\r
+:1042100009F0D5C0CEC0833409F4CBC028F48A336A\r
+:1042200008F4CDC08953C8C0883409F0C8C00E94C2\r
+:104230007D1586E999E00E942B052FEF83ED90E331\r
+:10424000215080409040E1F700C000000E94591CBE\r
+:104250000CC080E197E041C08DE799E00E942B05FA\r
+:104260008091B60181608093B601C1E0ADC08091BC\r
+:10427000B601C82FC17080FFEFCF89E899E00E9496\r
+:104280002B058091B601817F8E7F3FC09091B60152\r
+:1042900091FBCC27C0F981E0C827892FC0FB81F9A9\r
+:1042A0008093B601CC2319F080E799E029C082E61B\r
+:1042B00099E013C09091B60192FBCC27C0F981E040\r
+:1042C000C827892FC0FB82F98093B601CC2319F04F\r
+:1042D00083E599E015C083E499E00E942B05C5CFE2\r
+:1042E0009091B60193FBCC27C0F981E0C827892FB4\r
+:1042F000C0FB83F98093B601CC2351F087E399E0AA\r
+:104300000E942B058091B60181608093B6015CC04C\r
+:104310008AE299E0E2CF8BE199E00E942B0586EFDB\r
+:1043200098E00E942B058FEA98E00E942B0582E816\r
+:1043300098E00E942B058DE398E00E942B058EE00B\r
+:1043400098E0CBCF80E098E00E942B050E94A10F5F\r
+:104350001F928F9386EE97E09F938F930E94C405E0\r
+:1043600080910A011F928F938FEC97E09F938F9318\r
+:104370000E94C405809155011F928F938CEB97E0AA\r
+:104380009F938F930E94C4050E94FE1B9F938F935F\r
+:104390007F936F9385EA97E09F938F930E94C40564\r
+:1043A0008DB79EB742960FB6F8949EBF0FBE8DBFD5\r
+:1043B0005CCF80E001C08D510E94AA2056CF83EAD5\r
+:1043C00097E00E942B05C0E08C2FCF91089580E0EC\r
+:1043D000089580E00895CF93C82F8091C601813061\r
+:1043E00081F020F0823009F44FC046C1E0910B010A\r
+:1043F000F0910C0180818E3069F0873009F03EC168\r
+:1044000009C0E0910B01F0910C0180818E3011F018\r
+:10441000873061F48C2F0E94E721811104C08C2F1A\r
+:104420000E94CA202FC081E090E02CC08C2F0E94F7\r
+:10443000E921811126C0C431E1F070F4CB3081F064\r
+:10444000C031D1F40E94721F8CED96E00E942B05C2\r
+:1044500082E08093C60115C0C93259F0C83361F4B7\r
+:1044600089EE96E00E942B0580EE96E00E942B05D7\r
+:1044700008C01092C60104C18AED96E00E942B0587\r
+:10448000FFC081E08170FEC0C43228F5CE3108F053\r
+:10449000C1C0CB30A1F1D0F4C73009F0D3C08EE158\r
+:1044A0008093120182E3809311018AE080931001CE\r
+:1044B00084E180930F0188E080930E0188E280936D\r
+:1044C0000D0180E895E00E942B05BFC0C33149F182\r
+:1044D000C431C1F0B7C0CB3409F4A9C028F4C93243\r
+:1044E00089F0C83361F0AEC0C13509F49EC0C23551\r
+:1044F00009F499C0CE3409F0A5C06AE09EC00E94BC\r
+:10450000721FA3C08091C501882319F01092C501C4\r
+:104510009CC08DE895E00E942B0581E08093C60148\r
+:10452000B1C087E695E00E942B0585E595E00E94E5\r
+:104530002B05809112011F928F9382E595E09F9346\r
+:104540008F930E94C40580E595E00E942B058EE3C1\r
+:1045500095E00E942B05809111011F928F938BE3B0\r
+:1045600095E09F938F930E94C40589E395E00E9494\r
+:104570002B058AE295E00E942B05809110011F9285\r
+:104580008F9387E295E09F938F930E94C40585E205\r
+:1045900095E00E942B0584E195E00E942B05809117\r
+:1045A0000F011F928F9381E195E09F938F930E945B\r
+:1045B000C4058FE095E00E942B058AEF94E00E94ED\r
+:1045C0002B0580910E011F928F9387EF94E09F93AC\r
+:1045D0008F930E94C40585EF94E00E942B058EED19\r
+:1045E00094E00E942B0580910D011F928F938BED1B\r
+:1045F00094E09F938F930E94C40589ED94E00E94FC\r
+:104600002B058DB79EB748960FB6F8949EBF0FBE88\r
+:104610008DBF1BC0CE51EC2FF0E0E95DFE4F8081D5\r
+:104620008093C50112C061E003C061E006C06AE08A\r
+:104630008091C5010E94891F08C08091C5010E9418\r
+:104640002C2003C08EE795E013C08091C50188231C\r
+:1046500069F01F928F9388E795E09F938F930E9454\r
+:10466000C4050F900F900F900F9004C085E795E060\r
+:104670000E942B0581E006C01092C60180E002C0B6\r
+:1046800080E000CFCF9108950E944B236894B11130\r
+:104690000C94DA2308950E94BF2388F09F5798F066\r
+:1046A000B92F9927B751B0F0E1F0660F771F881F37\r
+:1046B000991F1AF0BA95C9F714C0B13091F00E9451\r
+:1046C000D923B1E008950C94D923672F782F882738\r
+:1046D000B85F39F0B93FCCF3869577956795B39578\r
+:1046E000D9F73EF490958095709561957F4F8F4FE7\r
+:1046F0009F4F0895E89409C097FB3EF490958095EC\r
+:10470000709561957F4F8F4F9F4F9923A9F0F92F97\r
+:1047100096E9BB279395F695879577956795B79515\r
+:10472000F111F8CFFAF4BB0F11F460FF1BC06F5FFB\r
+:104730007F4F8F4F9F4F16C0882311F096E911C00D\r
+:10474000772321F09EE8872F762F05C0662371F02E\r
+:1047500096E8862F70E060E02AF09A95660F771F42\r
+:10476000881FDAF7880F9695879597F9089557FD72\r
+:104770009058440F551F59F05F3F71F04795880FCF\r
+:1047800097FB991F61F09F3F79F087950895121666\r
+:1047900013061406551FF2CF4695F1DF08C0161612\r
+:1047A00017061806991FF1CF8695710561050894C3\r
+:1047B0000895E894BB2766277727CB0197F90895DA\r
+:1047C0000E94F2230C946C240E945E2438F00E9414\r
+:1047D000652420F0952311F00C9455240C945B244F\r
+:1047E0000C94DA230E94B72378F39923C9F3552355\r
+:1047F000B9F3950F50E0551FAA27EE27FF27BB27D7\r
+:1048000000240894679520F4E20FF31FB41F0A1EDA\r
+:10481000220F331F441FAA1F6695A9F7779530F41E\r
+:10482000F30FB41F0A1E121E08F46395330F441FC2\r
+:10483000AA1F221F769599F7879520F4B40F0A1EB8\r
+:10484000121E631F440FAA1F221F331F8695A9F74C\r
+:10485000862F712D602D11249F5750409AF0F1F052\r
+:1048600088234AF0EE0FFF1FBB1F661F771F881FAC\r
+:1048700091505040A9F79E3F510580F00C9455246B\r
+:104880000C94DA235F3FE4F3983ED4F38695779552\r
+:104890006795B795F795E7959F5FC1F7FE2B880F52\r
+:1048A000911D9695879597F9089597F99F6780E8E8\r
+:1048B00070E060E008959FEF80EC089500240A9472\r
+:1048C0001616170618060906089500240A941216EB\r
+:1048D0001306140605060895092E0394000C11F41E\r
+:1048E000882352F0BB0F40F4BF2B11F460FF04C0CB\r
+:1048F0006F5F7F4F8F4F9F4F08950024552704C04F\r
+:10490000080E591F880F991F009729F07695679513\r
+:10491000B8F37105B9F7802D952F0895991B79E0AB\r
+:1049200004C0991F961708F0961B881F7A95C9F73F\r
+:104930008095089597FB072E16F4009407D077FD15\r
+:1049400009D00E94B42407FC05D03EF490958195CF\r
+:104950009F4F0895709561957F4F0895EE0FFF1F4B\r
+:104960000590F491E02D0994AA1BBB1B51E107C0EF\r
+:10497000AA1FBB1FA617B70710F0A61BB70B881FEF\r
+:10498000991F5A95A9F780959095BC01CD0108957E\r
+:04499000F894FFCFC9\r
+:104994006608570934090009CC0801AC0128081439\r
+:1049A4000A321E404D36223003E302AD028B021759\r
+:1049B40002300249026202010203040506070809E3\r
+:0249C4000000F1\r
+:106800000000000000000000040005000600070072\r
+:10681000080009000A000B000C000D000E000F001C\r
+:1068200010001100120013001400150016001700CC\r
+:10683000180019001A001B001C001D001E001F007C\r
+:10684000200021002200230024002500260027002C\r
+:10685000280000002A002B002C002D002E002F0005\r
+:10686000300031A1320033003400350036003700EB\r
+:106870003800E00000000000000000000000000000\r
+:106880000000000000000000000000000000000008\r
+:1068900000000000000000000000000000004F00A9\r
+:1068A000500051005200530067005400550056003C\r
+:1068B000580059005A005B005C005D005E005F00FC\r
+:1068C0006000610062006300640000005700000087\r
+:1068D00000000000000000000000000000000000B8\r
+:1068E00000000000000000000000000000000000A8\r
+:1068F0000000E100E200E300000000000000F1A160\r
+:106900000100010001000100EA4401000100E2442D\r
+:106910000100010001000100460001004A004B0097\r
+:10692000010001004700480001000100E9440100A6\r
+:106930000100010001000100010001003A003B00DC\r
+:106940003C003D003E003F0040004100420043004B\r
+:10695000010000004C00010001004400450052000D\r
+:1069600049000100010050004F0029004D004E0079\r
+:1069700051000100010001000100010001000100BF\r
+:1069800001000100010001000100010001000100FF\r
+:1069900001000100010001000100010001004D00A3\r
+:1069A0004A004E004B0001000100010001000100FF\r
+:1069B00001000100010001000100010001000100CF\r
+:1069C00001000100010001000100010001000100BF\r
+:1069D00001000100010001000100010001000100AF\r
+:1069E000010001000100010001000100010001009F\r
+:1069F000010001000100010001000100010001008F\r
+:00000001FF\r
similarity index 98%
rename from converter/m0110_usb/keymap_default.c
rename to converter/m0110_usb/keymap.c
index 0f9b8d2754a07285e248a460d531e0c1dca32bb7..bfe8727d1e6414f432e3a6d338870fa57cd92bfa 100644 (file)
@@ -98,9 +98,9 @@ const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
  * Fn action definition
  */
 #ifdef KEYMAP_SECTION_ENABLE
-const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = {
+const action_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = {
 #else
-const uint16_t fn_actions[] PROGMEM = {
+const action_t fn_actions[] PROGMEM = {
 #endif
     [0]  = ACTION_LAYER_MOMENTARY(1),
     [1]  = ACTION_LAYER_MOMENTARY(2),
diff --git a/converter/m0110_usb/keymap_common.c b/converter/m0110_usb/keymap_common.c
deleted file mode 100644 (file)
index 4ac2d71..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2011,2012,2014 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include <stdint.h>
-#include <avr/pgmspace.h>
-#include "action.h"
-#include "keycode.h"
-#include "keymap.h"
-#include "keymap_common.h"
-
-
-/* translates key to keycode */
-uint8_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
-{
-    return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]);
-}
-
-/* translates Fn index to action */
-action_t keymap_fn_to_action(uint8_t keycode)
-{
-    action_t action;
-    action.code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]);
-    return action;
-}
index 925556d9776274ab5e02996b1c2c0ad41b2af4d8..4a7e7a168ae4fea82cc4562e3827b70a41df3c29 100644 (file)
@@ -15,15 +15,10 @@ You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #include <stdint.h>
-#include <avr/pgmspace.h>
 #include "keycode.h"
 #include "keymap.h"
 
 
-extern const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
-extern const uint16_t fn_actions[];
-
-
 /* Common layout for M0110 and M0110A
  * This keymap works with both keyboards. As you can see, the M0110A is 
  * a superset of M0110 keyboard, only one exception is 'Enter'(34) of M0110
@@ -45,7 +40,7 @@ extern const uint16_t fn_actions[];
  * ,---------------------------------------------------------. ,---------------.
  * | 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18|   33| | 47| 68| 6D| 62|
  * |---------------------------------------------------------| |---------------|
- * |   30| 0C| 0D| 0E| 0F| 10| 11| 20| 22| 1F| 23| 21| 1E|   | | 59| 5B| 5C| 4E|
+ * |   30| 0C| 0D| 0E| 0F| 11| 10| 20| 22| 1F| 23| 21| 1E|   | | 59| 5B| 5C| 4E|
  * |-----------------------------------------------------'   | |---------------|
  * |    39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27|    24| | 56| 57| 58| 66|
  * |---------------------------------------------------------| |---------------|
@@ -58,7 +53,7 @@ extern const uint16_t fn_actions[];
  * ,---------------------------------------------------------. ,---------------.
  * | 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18|   33| | 47| 68| 6D| 62|
  * |---------------------------------------------------------| |---------------|
- * |   30| 0C| 0D| 0E| 0F| 10| 11| 20| 22| 1F| 23| 21| 1E| 2A| | 59| 5B| 5C| 4E|
+ * |   30| 0C| 0D| 0E| 0F| 11| 10| 20| 22| 1F| 23| 21| 1E| 2A| | 59| 5B| 5C| 4E|
  * |---------------------------------------------------------| |---------------|
  * |    39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27|    24| | 56| 57| 58| 66|
  * |---------------------------------------------------------| |---------------|
@@ -99,7 +94,7 @@ extern const uint16_t fn_actions[];
  * ,---------------------------------------------------------. ,---------------.
  * | 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18|   33| | 47| 68| 6D| 62|
  * |---------------------------------------------------------| |---------------|
- * |   30| 0C| 0D| 0E| 0F| 10| 11| 20| 22| 1F| 23| 21| 1E| 2A| | 59| 5B| 5C| 4E|
+ * |   30| 0C| 0D| 0E| 0F| 11| 10| 20| 22| 1F| 23| 21| 1E| 2A| | 59| 5B| 5C| 4E|
  * |------------------------------------------------------,  | |---------------|
  * |    39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27| 24|  | | 56| 57| 58| 66|
  * |---------------------------------------------------------| |---------------|
diff --git a/converter/m0110_usb/keymap_hasu.c b/converter/m0110_usb/keymap_hasu.c
deleted file mode 100644 (file)
index 11f1a4f..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Copyright 2014 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include <stdint.h>
-#include "keycode.h"
-#include "keymap_common.h"
-
-
-const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-    /* Default:
-     * M0110
-     * ,---------------------------------------------------------.
-     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backs|
-     * |---------------------------------------------------------|
-     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \|
-     * |---------------------------------------------------------|
-     * |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L| Fn|  '|Return|
-     * |---------------------------------------------------------|
-     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,| Fn|Shift   |
-     * `---------------------------------------------------------'
-     *      |Fn |alt |           Fn                |Gui |Fn |
-     *      `-----------------------------------------------'
-     */
-    [0] = KEYMAP(
-    ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,    NLCK,EQL, PSLS,PAST,
-    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,         P7,  P8,  P9,  PMNS,
-    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   FN3, QUOT,     ENT,     P4,  P5,  P6,  PPLS,
-    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, FN1,           UP,      P1,  P2,  P3,  PENT,
-    FN0, LALT,               FN2,                LGUI,BSLS,LEFT,RGHT,DOWN,    P0,       PDOT
-    ),
-    // IJKL cursor
-    [1] = KEYMAP(
-    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, DEL,     NLCK,EQL, PSLS,PAST,
-    CAPS,NO,  NO,  NO,  NO,  NO,  HOME,PGDN,UP,  PGUP,END, NO,  NO,           P7,  P8,  P9,  PMNS,
-    LCTL,VOLD,VOLU,MUTE,NO,  NO,  HOME,LEFT,DOWN,RGHT,END, NO,       ENT,     P4,  P5,  P6,  PPLS,
-    LSFT,NO,  NO,  NO,  NO,  NO,  HOME,PGDN,PGUP,END, NO,            PGUP,    P1,  P2,  P3,  PENT,
-    TRNS,LALT,               SPC,                LGUI,BSLS,HOME,END, PGDN,    P0,       PDOT
-    ),
-    // HJKL cursor
-    [2] = KEYMAP(
-    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, DEL,     NLCK,EQL, PSLS,PAST,
-    CAPS,NO,  NO,  NO,  NO,  NO,  HOME,PGDN,UP,  PGUP,END, NO,  NO,           P7,  P8,  P9,  PMNS,
-    LCTL,VOLD,VOLU,MUTE,NO,  NO,  LEFT,DOWN,UP,  RGHT,NO,  NO,       ENT,     P4,  P5,  P6,  PPLS,
-    LSFT,NO,  NO,  NO,  NO,  NO,  HOME,PGDN,PGUP,END, TRNS,          PGUP,    P1,  P2,  P3,  PENT,
-    TRNS,LALT,               SPC,                LGUI,BSLS,HOME,END, PGDN,    P0,       PDOT
-    ),
-    // Mousekey
-    [3] = KEYMAP(
-    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, DEL,     NLCK,EQL, PSLS,PAST,
-    CAPS,Q,   W,   E,   R,   T,   WH_L,WH_D,MS_U,WH_U,WH_R,WBAK,WFWD,         P7,  P8,  P9,  PMNS,
-    LCTL,VOLD,VOLU,MUTE,NO,  NO,  BTN2,MS_L,MS_D,MS_R,BTN1,NO,       ENT,     P4,  P5,  P6,  PPLS,
-    LSFT,Z,   X,   C,   V,   B,   BTN2,BTN1,BTN4,BTN5,NO,            PGUP,    P1,  P2,  P3,  PENT,
-    NO,  LALT,               TRNS,               LGUI,BSLS,HOME,END, PGDN,    P0,       PDOT
-    ),
-    // Mousekey
-    [4] = KEYMAP(
-    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, DEL,     NLCK,EQL, PSLS,PAST,
-    CAPS,Q,   W,   E,   R,   T,   WH_L,WH_D,MS_U,WH_U,WH_R,WBAK,WFWD,         P7,  P8,  P9,  PMNS,
-    LCTL,VOLD,VOLU,MUTE,NO,  NO,  BTN2,MS_L,MS_D,MS_R,TRNS,NO,       ENT,     P4,  P5,  P6,  PPLS,
-    LSFT,Z,   X,   C,   V,   B,   BTN2,BTN1,BTN4,BTN5,NO,            PGUP,    P1,  P2,  P3,  PENT,
-    NO,  LALT,               BTN1,               LGUI,BSLS,HOME,END, PGDN,    P0,       PDOT
-    ),
-};
-
-
-/*
- * Fn action definition
- */
-const uint16_t fn_actions[] PROGMEM = {
-    [0]  = ACTION_LAYER_MOMENTARY(1),
-    [1]  = ACTION_LAYER_TAP_KEY(2, KC_SLASH),
-    [2]  = ACTION_LAYER_TAP_KEY(3, KC_SPACE),
-    [3]  = ACTION_LAYER_TAP_KEY(4, KC_SCOLON),
-};
index 6cc251a28940bbdf69f30c195fb9940aaf6ddf22..547bebca3ed714a07da27059c8ebfbf9b8e7c2e1 100644 (file)
@@ -68,6 +68,6 @@ const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
 /*
  * Fn action definition
  */
-const uint16_t fn_actions[] PROGMEM = {
+const action_t fn_actions[] PROGMEM = {
     [0]  = ACTION_LAYER_MOMENTARY(1),
 };
index 5017861a34e6acdc1b730252ad2b2f2c0f83fdb6..d941ea8fa0a5e30c7a279ba4223d5b2854da2392 100644 (file)
@@ -65,7 +65,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /*
  * Fn action definition
  */
-const uint16_t fn_actions[] PROGMEM = {
+const action_t fn_actions[] PROGMEM = {
     [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE),
     [1] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV),    // tilde
 };
diff --git a/converter/m0110_usb/unimap.c b/converter/m0110_usb/unimap.c
new file mode 100644 (file)
index 0000000..54c856c
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+Copyright 2016 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "unimap_trans.h"
+
+
+#define AC_FN0 ACTION_LAYER_MOMENTARY(1)
+#define AC_FN1 ACTION_LAYER_TAP_KEY(1, KC_BSLS)
+
+
+#ifdef KEYMAP_SECTION_ENABLE
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
+#else
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
+#endif
+    UNIMAP(
+              NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,
+    NO,       NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,            NO,  NO,  NO,           NO,  NO,  NO,
+    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, NO,  BSPC,     NO,  NO,  NO,      NLCK,PEQL,PSLS,PAST,
+    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     FN1,      NO,  NO,  NO,      P7,  P8,  P9,  PMNS,
+    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PPLS,
+    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     NO,  NO,            UP,           P1,  P2,  P3,  NO,
+    NO,  LGUI,LALT,NO,            SPC,           NO,  NO,  NO,  FN0, NO,  NO,       LEFT,DOWN,RGHT,    P0,       PDOT,PENT
+    ),
+    UNIMAP(
+              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
+    NO,       TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS,
+    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS,DEL,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP,  INS,      TRNS,     TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,LEFT,RGHT,     TRNS,TRNS,                        TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,DOWN,     TRNS,TRNS,          PGUP,         TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,          TRNS,          TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     HOME,PGDN,END,     TRNS,     TRNS,TRNS
+    ),
+};
+
diff --git a/converter/m0110_usb/unimap_trans.h b/converter/m0110_usb/unimap_trans.h
new file mode 100644 (file)
index 0000000..cd6682a
--- /dev/null
@@ -0,0 +1,244 @@
+/*
+Copyright 2016 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef UNIMAP_COMMON_H
+#define UNIMAP_COMMON_H
+
+#include <stdint.h>
+#include <avr/pgmspace.h>
+#include "unimap.h"
+
+
+/* M0110A scan codes
+ * ,---------------------------------------------------------. ,---------------.
+ * | 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18|   33| | 47| 68| 6D| 62|
+ * |---------------------------------------------------------| |---------------|
+ * |   30| 0C| 0D| 0E| 0F| 11| 10| 20| 22| 1F| 23| 21| 1E|   | | 59| 5B| 5C| 4E|
+ * |-----------------------------------------------------'   | |---------------|
+ * |    39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27|    24| | 56| 57| 58| 66|
+ * |---------------------------------------------------------| |---------------|
+ * |      38| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C|  38| 4D| | 53| 54| 55|   |
+ * `---------------------------------------------------------' |-----------| 4C|
+ * |   3A|     37|             31            | 2A| 46| 42| 48| |     52| 41|   |
+ * `---------------------------------------------------------' `---------------'
+ *
+ * M0110 + M0120 scan codes
+ * ,---------------------------------------------------------. ,---------------.
+ * | 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18|   33| | 47| 68| 6D| 62|
+ * |---------------------------------------------------------| |---------------|
+ * |   30| 0C| 0D| 0E| 0F| 11| 10| 20| 22| 1F| 23| 21| 1E| 2A| | 59| 5B| 5C| 4E|
+ * |---------------------------------------------------------| |---------------|
+ * |    39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27|    24| | 56| 57| 58| 66|
+ * |---------------------------------------------------------| |---------------|
+ * |      38| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C|      38| | 53| 54| 55|   |
+ * `---------------------------------------------------------' |-----------| 4C|
+ *      | 3A|  37|             31              |   34| 3A|     |     52| 41|   |
+ *      `------------------------------------------------'     `---------------'
+ *
+ * International M0110
+ * https://en.wikipedia.org/wiki/File:Apple_Macintosh_Plus_Keyboard.jpg
+ * Probably International keyboard layout of M0110A doesn't exist.
+ * ,---------------------------------------------------------.
+ * | 32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18|   33|
+ * |---------------------------------------------------------|
+ * |   30| 0C| 0D| 0E| 0F| 11| 10| 20| 22| 1F| 23| 21| 1E| 2A|
+ * |------------------------------------------------------,  |
+ * |    39| 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27| 24|  |
+ * |---------------------------------------------------------|
+ * |  38| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C| 0A|      38|
+ * `---------------------------------------------------------'
+ *      | 3A|  37|             34              |   31| 3A|
+ *      `------------------------------------------------'
+ */
+const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
+        //  Position(unimap)        scan code(matrix)
+        //  ---------------------------------------------
+        {
+            UNIMAP_A,               // 0x00
+            UNIMAP_S,               // 0x01
+            UNIMAP_D,               // 0x02
+            UNIMAP_F,               // 0x03
+            UNIMAP_H,               // 0x04
+            UNIMAP_G,               // 0x05
+#ifdef M0110_INTL
+            UNIMAP_NONUS_BSLASH,    // 0x06
+            UNIMAP_Z,               // 0x07
+        },
+        {
+            UNIMAP_X,               // 0x08
+            UNIMAP_C,               // 0x09
+            UNIMAP_SLASH,           // 0x0A
+            UNIMAP_V,               // 0x0B
+#else
+            UNIMAP_Z,               // 0x06
+            UNIMAP_X,               // 0x07
+        },
+        {
+            UNIMAP_C,               // 0x08
+            UNIMAP_V,               // 0x09
+            UNIMAP_NO,              // 0x0A
+            UNIMAP_B,               // 0x0B
+#endif
+            UNIMAP_Q,               // 0x0C
+            UNIMAP_W,               // 0x0D
+            UNIMAP_E,               // 0x0E
+            UNIMAP_R,               // 0x0F
+        },
+        {
+            UNIMAP_Y,               // 0x10
+            UNIMAP_T,               // 0x11
+            UNIMAP_1,               // 0x12
+            UNIMAP_2,               // 0x13
+            UNIMAP_3,               // 0x14
+            UNIMAP_4,               // 0x15
+            UNIMAP_6,               // 0x16
+            UNIMAP_5,               // 0x17
+        },
+        {
+            UNIMAP_EQUAL,           // 0x18
+            UNIMAP_9,               // 0x19
+            UNIMAP_7,               // 0x1A
+            UNIMAP_MINUS,           // 0x1B
+            UNIMAP_8,               // 0x1C
+            UNIMAP_0,               // 0x1D
+            UNIMAP_RBRACKET,        // 0x1E
+            UNIMAP_O,               // 0x1F
+        },
+        {
+            UNIMAP_U,               // 0x20
+            UNIMAP_LBRACKET,        // 0x21
+            UNIMAP_I,               // 0x22
+            UNIMAP_P,               // 0x23
+#ifdef M0110_INTL
+            UNIMAP_NONUS_HASH,      // 0x24
+#else
+            UNIMAP_ENTER,           // 0x24
+#endif
+            UNIMAP_L,               // 0x25
+            UNIMAP_J,               // 0x26
+            UNIMAP_QUOTE,           // 0x27
+        },
+        {
+            UNIMAP_K,               // 0x28
+            UNIMAP_SCOLON,          // 0x29
+#ifdef M0110_INTL
+            UNIMAP_ENTER,           // 0x2A
+            UNIMAP_M,               // 0x2B
+            UNIMAP_DOT,             // 0x2C
+            UNIMAP_B,               // 0x2D
+            UNIMAP_N,               // 0x2E
+            UNIMAP_COMMA,           // 0x2F
+#else
+            UNIMAP_BSLASH,          // 0x2A
+            UNIMAP_COMMA,           // 0x2B
+            UNIMAP_SLASH,           // 0x2C
+            UNIMAP_N,               // 0x2D
+            UNIMAP_M,               // 0x2E
+            UNIMAP_DOT,             // 0x2F
+#endif
+        },
+        {
+            UNIMAP_TAB,             // 0x30
+#ifdef M0110_INTL
+            UNIMAP_RGUI,            // 0x31
+#else
+            UNIMAP_SPACE,           // 0x31
+#endif
+            UNIMAP_GRAVE,           // 0x32
+            UNIMAP_BSPACE,          // 0x33
+#ifdef M0110_INTL
+            UNIMAP_SPACE,           // 0x34
+#else
+            UNIMAP_RGUI,            // 0x34
+#endif
+            UNIMAP_NO,              // 0x35
+            UNIMAP_NO,              // 0x36
+            UNIMAP_LGUI,            // 0x37
+        },
+        {
+            UNIMAP_LSHIFT,          // 0x38
+            UNIMAP_CAPSLOCK,        // 0x39
+            UNIMAP_LALT,            // 0x3A
+            UNIMAP_NO,              // 0x3B
+            UNIMAP_NO,              // 0x3C
+            UNIMAP_NO,              // 0x3D
+            UNIMAP_NO,              // 0x3E
+            UNIMAP_NO,              // 0x3F
+        },
+        {
+            UNIMAP_NO,              // 0x40
+            UNIMAP_KP_DOT,          // 0x41
+            UNIMAP_RIGHT,           // 0x42
+            UNIMAP_NO,              // 0x43
+            UNIMAP_NO,              // 0x44
+            UNIMAP_NO,              // 0x45
+            UNIMAP_LEFT,            // 0x46
+            UNIMAP_NUMLOCK,         // 0x47
+        },
+        {
+            UNIMAP_DOWN,            // 0x48
+            UNIMAP_NO,              // 0x49
+            UNIMAP_NO,              // 0x4A
+            UNIMAP_NO,              // 0x4B
+            UNIMAP_KP_ENTER,        // 0x4C
+            UNIMAP_UP,              // 0x4D
+            UNIMAP_KP_PLUS,         // 0x4E     keypad minus
+            UNIMAP_NO,              // 0x4F
+        },
+        {
+            UNIMAP_NO,              // 0x50
+            UNIMAP_NO,              // 0x51
+            UNIMAP_KP_0,            // 0x52
+            UNIMAP_KP_1,            // 0x53
+            UNIMAP_KP_2,            // 0x54
+            UNIMAP_KP_3,            // 0x55
+            UNIMAP_KP_4,            // 0x56
+            UNIMAP_KP_5,            // 0x57
+        },
+        {
+            UNIMAP_KP_6,            // 0x58
+            UNIMAP_KP_7,            // 0x59
+            UNIMAP_NO,              // 0x5A
+            UNIMAP_KP_8,            // 0x5B
+            UNIMAP_KP_9,            // 0x5C
+            UNIMAP_NO,              // 0x5D
+            UNIMAP_NO,              // 0x5E
+            UNIMAP_NO,              // 0x5F
+        },
+        {
+            UNIMAP_NO,              // 0x60
+            UNIMAP_NO,              // 0x61
+            UNIMAP_KP_MINUS,        // 0x62     keypad asterisk
+            UNIMAP_NO,              // 0x63
+            UNIMAP_NO,              // 0x64
+            UNIMAP_NO,              // 0x65
+            UNIMAP_KP_COMMA,        // 0x66
+            UNIMAP_NO,              // 0x67
+        },
+        {
+            UNIMAP_KP_SLASH,        // 0x68     keypad equal
+            UNIMAP_NO,              // 0x69
+            UNIMAP_NO,              // 0x6A
+            UNIMAP_NO,              // 0x6B
+            UNIMAP_NO,              // 0x6C
+            UNIMAP_KP_ASTERISK,     // 0x6D     keypad slash
+            UNIMAP_NO,              // 0x6E     compose
+            UNIMAP_NO,              // 0x6F
+        },
+};
+
+#endif
+
index 058f2914bd8f6884f4f57ee72042bd25f0046f53..5e6c2b5d29de4d5e18c78617b5609edfd9728724 100644 (file)
@@ -17,7 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include <stdint.h>
 #include <stdbool.h>
-#include <avr/pgmspace.h>
 #include "keycode.h"
 #include "util.h"
 #include "keymap.h"
@@ -56,7 +55,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 // Assign Fn key(0-7) to a layer to which switch with the Fn key pressed.
-static const uint8_t PROGMEM fn_layer[] = {
+const uint8_t PROGMEM fn_layer[] = {
     0,              // Fn0
     0,              // Fn1
     0,              // Fn2
@@ -69,7 +68,7 @@ static const uint8_t PROGMEM fn_layer[] = {
 
 // Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer.
 // See layer.c for details.
-static const uint8_t PROGMEM fn_keycode[] = {
+const uint8_t PROGMEM fn_keycode[] = {
     KC_NO,          // Fn0
     KC_NO,          // Fn1
     KC_NO,          // Fn2
@@ -81,7 +80,7 @@ static const uint8_t PROGMEM fn_keycode[] = {
 };
 
 
-static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* 0: default
      * ,---.   ,------------------------, ,------------------------. ,---------.
      * |Pow|   | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| ,-----------.
@@ -107,19 +106,3 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     LALT,CAPS,LALT,          SPC,      ERAS,                    RALT,RGUI,RCTL,   PGDN,   TAB, LEFT,DOWN,RGHT
     ),
 };
-
-
-uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col)
-{
-    return pgm_read_byte(&keymaps[(layer)][(row)][(col)]);
-}
-
-uint8_t keymap_fn_layer(uint8_t index)
-{
-    return pgm_read_byte(&fn_layer[index]);
-}
-
-uint8_t keymap_fn_keycode(uint8_t index)
-{
-    return pgm_read_byte(&fn_keycode[index]);
-}
index 7190f1eaf4c634177fb425dfd49586827f072817..f3143c25c40b8224602fa3a586cfa9677dc781ef 100644 (file)
@@ -1,18 +1,36 @@
 # Target file name (without extension).
-TARGET = next_usb
+TARGET ?= next_usb
 
 # Directory common source filess exist
-TMK_DIR = ../../tmk_core
+TMK_DIR ?= ../../tmk_core
 
 # Directory keyboard dependent files exist
-TARGET_DIR = .
+TARGET_DIR ?= .
 
 # keyboard dependent files
-SRC =   keymap.c \
-       matrix.c \
+SRC ?=  matrix.c \
        led.c
 
-CONFIG_H = config.h
+CONFIG_H ?= config.h
+
+#
+# Keymap file
+#
+ifeq (yes,$(strip $(UNIMAP_ENABLE)))
+    KEYMAP_FILE = unimap
+else
+    ifeq (yes,$(strip $(ACTIONMAP_ENABLE)))
+        KEYMAP_FILE = actionmap
+    else
+        KEYMAP_FILE = keymap
+    endif
+endif
+ifdef KEYMAP
+    SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
+else
+    SRC := $(KEYMAP_FILE).c $(SRC)
+endif
+
 
 # MCU name, you MUST set this to match the board you are using
 # type "make clean" after changing this, so all files will be rebuilt
@@ -20,7 +38,7 @@ CONFIG_H = config.h
 #MCU = atmega32u4       # Teensy 2.0
 #MCU = at90usb646       # Teensy++ 1.0
 #MCU = at90usb1286      # Teensy++ 2.0
-MCU = atmega32u2       # TMK converter
+MCU ?= atmega32u2       # TMK converter
 
 
 # Processor frequency.
@@ -28,14 +46,14 @@ MCU = atmega32u2       # TMK converter
 #   so your program will run at the correct speed.  You should also set this
 #   variable to same clock speed.  The _delay_ms() macro uses this, and many
 #   examples use this variable to calculate timings.  Do not add a "UL" here.
-F_CPU = 16000000
+F_CPU ?= 16000000
 
 
 #
 # LUFA specific
 #
 # Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
+ARCH ?= AVR8
 
 # Input clock frequency.
 #     This will define a symbol, F_USB, in all source code files equal to the
@@ -48,7 +66,7 @@ ARCH = AVR8
 #
 #     If no clock division is performed on the input clock inside the AVR (via the
 #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
+F_USB ?= $(F_CPU)
 
 # Interrupt driven control endpoint task(+60)
 #OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
@@ -67,11 +85,11 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 #   *Comment out* to disable the options.
 #
 #BOOTMAGIC_ENABLE = yes        # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes  # Mouse keys
-EXTRAKEY_ENABLE = yes  # Audio control and System control
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#NKRO_ENABLE = yes     # USB Nkey Rollover
+MOUSEKEY_ENABLE ?= yes # Mouse keys
+EXTRAKEY_ENABLE ?= yes # Audio control and System control
+CONSOLE_ENABLE ?= yes  # Console for debug(+400)
+COMMAND_ENABLE ?= yes  # Commands for debug and configuration
+#NKRO_ENABLE ?= yes    # USB Nkey Rollover
 
 SRC += next_kbd.c
 
diff --git a/converter/next_usb/Makefile.unimap b/converter/next_usb/Makefile.unimap
new file mode 100644 (file)
index 0000000..8452c10
--- /dev/null
@@ -0,0 +1,4 @@
+TARGET = next_usb_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+include Makefile
diff --git a/converter/next_usb/binary/next_usb_unimap.hex b/converter/next_usb/binary/next_usb_unimap.hex
new file mode 100644 (file)
index 0000000..efe944a
--- /dev/null
@@ -0,0 +1,1217 @@
+:100000000C941D050C9464050C9464050C94640513\r
+:100010000C9464050C9464050C9464050C946405BC\r
+:100020000C9464050C9464050C9464050C94FD0D0B\r
+:100030000C9464050C94D21B0C9464050C94640518\r
+:100040000C9464050C9464050C9464050C94461C93\r
+:100050000C9464050C9464050C9464050C9464057C\r
+:100060000C9464050C9464050C9464050C9464056C\r
+:100070000C946405CF0EF10EDF0FF10EDF0F360F7B\r
+:10008000590FDF0FAE0FC10FC612C612F312F312D3\r
+:100090004E138A1382158215A21382159D149D1486\r
+:1000A0005815821582156E15804E4C31302F0C126A\r
+:1000B00013508062635880514F595C5E5B66525AA0\r
+:1000C0005D4B492A2E2D2526275F606157565354D4\r
+:1000D00055802834330F3637381D1B06190510118B\r
+:1000E0002C041607090A0E0D0B2B141A0815181CE0\r
+:1000F00017351E1F20212423227C78657B7D7939CA\r
+:100100004A808080808080805B20723D2530346C06\r
+:1001100058206B6579636F64653D253032582070D7\r
+:100120007265737365643D2558204354524C3D25D8\r
+:10013000582053484946545F4C4546543D25582065\r
+:1001400053484946545F524748543D255820434D33\r
+:10015000445F4C4546543D255820434D445F52472B\r
+:1001600048543D255820414C545F4C4546543D254C\r
+:100170005820414C545F524748543D2558205D0A51\r
+:1001800000506F77657220737461746520300A00C7\r
+:10019000506F77657220737461746520310A005B5B\r
+:1001A000204E655854206B6579626F6172642069D6\r
+:1001B0006E697469616C697A6564205D0A00496ED4\r
+:1001C000697469616C20706F7765722062757474F0\r
+:1001D0006F6E2073746174653A2025620A005B209B\r
+:1001E000496E7469616C697A696E67204E6558540E\r
+:1001F000206B6579626F617264205D0A005B735DDC\r
+:10020000004B6579626F6172642073746172742E41\r
+:100210000A0055534220636F6E66696775726564A4\r
+:100220002E0A005B525D005B445D005B435D003E57\r
+:10023000034E0065005800540020004B0065007913\r
+:100240000062006F00610072006400200074006FA3\r
+:10025000002000550053004200200063006F006E34\r
+:100260000076006500720074006500720000000EE8\r
+:100270000374002E006D002E006B002E00000004A1\r
+:1002800003090409027400040100A03209040000FB\r
+:1002900001030101000921110100012240000705AD\r
+:1002A000810308000A090401000103010200092179\r
+:1002B00011010001224D000705820308000A09040C\r
+:1002C0000200010300000009211101000122360093\r
+:1002D0000705830308000A09040300020300000065\r
+:1002E00009211101000122220007058403200001D9\r
+:1002F000070504032000011201100100000008EDB1\r
+:10030000FEBCBC0005010200010631FF0974A10119\r
+:100310000975150026FF00952075088102097615DC\r
+:100320000026FF00952075089102C005010980A1F3\r
+:1003300001850216810026B7001A81002AB70075D0\r
+:100340001095018100C0050C0901A101850316016A\r
+:1003500000269C021A01002A9C027510950181005A\r
+:10036000C005010902A1010901A10005091901291E\r
+:10037000051500250195057501810295017503811B\r
+:10038000010501093009311581257F950275088124\r
+:100390000609381581257F950175088106050C0A27\r
+:1003A00038021581257F950175088106C0C00501B9\r
+:1003B0000906A101050719E029E71500250195089F\r
+:1003C000750181029501750881010508190129054A\r
+:1003D00095057501910295017503910105071900B5\r
+:1003E00029FF150026FF00950675088100C00A0048\r
+:1003F0002530325820006B6579626F6172645F72DC\r
+:1004000065706F72743A20004C45443A20253032B2\r
+:10041000580A00290A002575002F002575005D285F\r
+:1004200000256400200025640020002564002000D1\r
+:100430002564007C0025303258006D6F7573656B44\r
+:100440006579205B62746E7C782079207620685D07\r
+:10045000287265702F61636C293A205B006D6B5FB9\r
+:10046000776865656C5F74696D655F746F5F6D61FA\r
+:1004700078203D2025640A006D6B5F776865656CA8\r
+:100480005F6D61785F7370656564203D2025640A47\r
+:10049000006D6B5F74696D655F746F5F6D6178206F\r
+:1004A0003D2025640A006D6B5F6D61785F73706538\r
+:1004B0006564203D2025640A006D6B5F696E74657C\r
+:1004C0007276616C203D2025640A006D6B5F646567\r
+:1004D0006C6179203D2025640A006D6B5F7768654B\r
+:1004E000656C5F74696D655F746F5F6D6178203DE9\r
+:1004F0002025640A006D6B5F776865656C5F6D61D0\r
+:10050000785F7370656564203D2025640A006D6B1B\r
+:100510005F74696D655F746F5F6D6178203D202544\r
+:10052000640A006D6B5F6D61785F73706565642050\r
+:100530003D2025640A006D6B5F696E74657276619B\r
+:100540006C203D2025640A006D6B5F64656C6179E9\r
+:10055000203D2025640A000A00257500363A2077E0\r
+:100560006865656C5F74696D655F746F5F6D6178F8\r
+:100570003A20000A00257500353A20776865656CD9\r
+:100580005F6D61785F73706565643A20000A0025CD\r
+:100590007500343A2074696D655F746F5F6D6178C2\r
+:1005A0003A20000A00257500333A206D61785F73A8\r
+:1005B000706565643A20000A00257500323A2069AA\r
+:1005C0006E74657276616C286D73293A20000A009A\r
+:1005D000257500313A2064656C6179282A31306DC7\r
+:1005E00073293A20000A092D2056616C7565732025\r
+:1005F0002D0A004D3E004D25643E20003F007365EE\r
+:10060000742064656661756C740A00433E2000774F\r
+:10061000686572652064656C74613A2063757273F5\r
+:100620006F723D25642C20776865656C3D25640AF2\r
+:1006300053656520687474703A2F2F656E2E776944\r
+:100640006B6970656469612E6F72672F77696B697A\r
+:100650002F4D6F7573655F6B6579730A000A092DFD\r
+:10066000204D6F7573656B6579202D0A4553432FB7\r
+:10067000713A09717569740A313A0964656C617976\r
+:10068000282A31306D73290A323A09696E7465720D\r
+:1006900076616C286D73290A333A096D61785F734E\r
+:1006A000706565640A343A0974696D655F746F5FDB\r
+:1006B0006D61780A353A09776865656C5F6D6178B8\r
+:1006C0005F73706565640A363A09776865656C5FC3\r
+:1006D00074696D655F746F5F6D61780A0A703A09BD\r
+:1006E0007072696E742076616C7565730A643A097C\r
+:1006F0007365742064656661756C74730A75703A0D\r
+:10070000092B310A646F776E3A092D310A706775CB\r
+:10071000703A092B31300A7067646F776E3A092D91\r
+:1007200031300A0A7370656564203D2064656C741D\r
+:1007300061202A206D61785F7370656564202A20CE\r
+:1007400028726570656174202F2074696D655F740F\r
+:100750006F5F6D6178290A003F004D3E2000433EE7\r
+:1007600020004C25640A000A092D20436F6E736F28\r
+:100770006C65202D0A4553432F713A0971756974D0\r
+:100780000A6D3A096D6F7573656B65790A000A0920\r
+:100790002D204D61676963202D0A643A0964656202\r
+:1007A00075670A783A096465627567206D617472CD\r
+:1007B00069780A6B3A096465627567206B657962CE\r
+:1007C0006F6172640A6D3A096465627567206D6FC6\r
+:1007D0007573650A763A0976657273696F6E0A7386\r
+:1007E0003A097374617475730A633A09636F6E73BF\r
+:1007F0006F6C65206D6F64650A302D343A096C6149\r
+:10080000796572302D34284631302D4634290A500E\r
+:100810006175733A09626F6F746C6F616465720A17\r
+:10082000003F0074696D65725F72656164333228E0\r
+:10083000293A202530346C580A006B6579626F6163\r
+:1008400072645F69646C653A2025580A006B6579AB\r
+:10085000626F6172645F70726F746F636F6C3A2065\r
+:1008600025580A00686F73745F6B6579626F6172F7\r
+:10087000645F6C65647328293A2025580A000A09C8\r
+:100880002D20537461747573202D0A004743433A39\r
+:1008900020342E392E32204156522D4C4942433AB3\r
+:1008A00020312E382E3073766E204156525F4152E1\r
+:1008B00043483A2061767233350A004F5054494F0D\r
+:1008C0004E533A204C554641204D4F5553454B45CC\r
+:1008D000592045585452414B455920434F4E534F90\r
+:1008E0004C4520434F4D4D414E44204B45594D41C1\r
+:1008F000505F53454354494F4E20343039360A0037\r
+:100900004255494C443A20626436386337312D648D\r
+:1009100069727479202831313A32303A31342053B7\r
+:1009200065702020392032303136290A005649447A\r
+:100930003A2030784645454428742E6D2E6B2E297A\r
+:10094000205049443A20307842434243284E65586B\r
+:1009500054204B6579626F61726420746F20555327\r
+:100960004220636F6E766572746572292056455217\r
+:100970003A203078303530300A00444553433A202D\r
+:1009800055534220636F6E76657274657220666F90\r
+:1009900072204E655854206E6F6E2D414442204B9C\r
+:1009A0006579626F6172640A000A092D20566572CA\r
+:1009B00073696F6E202D0A000A6D6F7573653A209A\r
+:1009C0006F66660A000A6D6F7573653A206F6E0A6E\r
+:1009D000000A6B6579626F6172643A206F66660A1D\r
+:1009E000000A6B6579626F6172643A206F6E0A006B\r
+:1009F0000A6D61747269783A206F66660A000A6D42\r
+:100A000061747269783A206F6E0A000A64656275D3\r
+:100A1000673A206F6E0A000A64656275673A206F54\r
+:100A200066660A000A0A626F6F746C6F61646572B1\r
+:100A30002E2E2E2000433E20000011241FBECFEF9B\r
+:100A4000D4E0DEBFCDBF04B603FE27C08091CB014A\r
+:100A50009091CC01A091CD01B091CE018730904B07\r
+:100A6000A740B04BD1F41092CB011092CC01109260\r
+:100A7000CD011092CE0114BE84B7877F84BF0FB61C\r
+:100A8000F894A8958091600088618093600010922E\r
+:100A900060000FBEE0E0F8E3099511E0A0E0B1E0EE\r
+:100AA000E0ECF9E402C005900D92A233B107D9F74A\r
+:100AB00021E0A2E3B1E001C01D92AB3CB207E1F737\r
+:100AC0000E944B0B0C94DE240C940000FF93EF93D8\r
+:100AD000E0913201F0913301309709F00995EF91DF\r
+:100AE000FF910895FC018591803011F0EFDFFBCF7D\r
+:100AF0000895FF27E0E230E247FF0CC0419597FFE1\r
+:100B000009C0EDE26095709580959095611D711D0D\r
+:100B1000811D911D27FF02C0219530E350E2AA27D5\r
+:100B2000660F771F881F991FAA1FA41710F0A41B18\r
+:100B300063955A95A9F7AA3008F0A95FA05DAF9315\r
+:100B4000F395611571058105910541F7ED3211F4B9\r
+:100B5000EF93F395F21718F43F93F395FBCF8F9132\r
+:100B6000B5DFFA95E1F70895E991F9918591803023\r
+:100B700021F0853219F0AADFF9CF089520E0E8943A\r
+:100B800055915532C1F3503311F4689455915A334D\r
+:100B900048F4505390F3220F022E220F220F200D03\r
+:100BA000250FF4CF0EF4219589919991533619F3BD\r
+:100BB000533729F1533559F1BC0188279927E89417\r
+:100BC0005C3621F48991999168945591543639F4A1\r
+:100BD00046EF7EF077FF0DC08FEF9FEF0AC05537CD\r
+:100BE0004AE039F0583540E121F0523642E009F050\r
+:100BF0000895FF93EF937DDFEF91FF91B7CFFF93C0\r
+:100C0000EF93FC0181918030B9F360DFFBCFFF935C\r
+:100C1000EF9368DFF1CFDF93CF93CDB7DEB72596A3\r
+:100C2000A3DFCF91DF910895E82FE695E695E6954D\r
+:100C3000EF70F0E0EA5CFE4F4081282F277081E0E2\r
+:100C400090E002C0880F991F2A95E2F7242F30E028\r
+:100C500028233923232B29F4842B808381E080935C\r
+:100C600035010895E82FE695E695E695EF70F0E0FA\r
+:100C7000EA5CFE4F2081382F377081E090E002C09F\r
+:100C8000880F991F3A95E2F7422F50E048235923E5\r
+:100C9000452B31F080958223808381E0809335015C\r
+:100CA00008958091AD0181608093AD012FEF84E3C1\r
+:100CB0009CE0215080409040E1F700C0000080910E\r
+:100CC000AD0180FF08C08EED91E09F938F930E944D\r
+:100CD0000B060F900F90569A5E9A54984C9A89B1D1\r
+:100CE00084FB992790F981E08927809334019091C2\r
+:100CF000AD0190FF0CC01F928F938EEB91E09F93FC\r
+:100D00008F930E940B060F900F900F900F900E94F0\r
+:100D10002508E6E3F1E08CE08E0F11928E13FDCFF3\r
+:100D20008091AD0180FF08C08FE991E09F938F9380\r
+:100D30000E940B060F900F9008954F925F926F9252\r
+:100D40007F928F929F92AF92BF92CF92DF92EF925B\r
+:100D5000FF928FE19EE40197F1F700C000005E98DA\r
+:100D60001092350188E54C9910C00E94140681E06C\r
+:100D700080933401809135018823D9F08091AD01B1\r
+:100D800080FF17C080E991E00EC00E9432061092E9\r
+:100D9000340180913501882361F08091AD0180FF9D\r
+:100DA00008C081E891E09F938F930E940B060F90FB\r
+:100DB0000F900E949E086B017C01672B682B692BAA\r
+:100DC00009F4DBC0C11496E0D90690E3E906F1040A\r
+:100DD00009F4D3C05E9A8091AD0126013701442405\r
+:100DE0009FE0592266247724460157019924AA24BA\r
+:100DF000BB2480FF77C0D701C60142E1B695A79515\r
+:100E0000979587954A95D1F7817099279F938F93EE\r
+:100E1000D701C60151E1B695A795979587955A9543\r
+:100E2000D1F7817099279F938F93C701817099277C\r
+:100E30009F938F93D701C6016FE0B695A7959795BD\r
+:100E400087956A95D1F7817099279F938F93D701E2\r
+:100E5000C6017EE0B695A795979587957A95D1F7C7\r
+:100E6000817099279F938F93D701C601EDE0B695C6\r
+:100E7000A79597958795EA95D1F7817099279F93C4\r
+:100E80008F93D701C601FCE0B695A79597958795F6\r
+:100E9000FA95D1F7817099279F938F9381E0411440\r
+:100EA00094E059066104710409F080E01F928F9369\r
+:100EB000D501C401B695A795979587959F938F9374\r
+:100EC000FF92EF92DF92CF9288E091E09F938F9311\r
+:100ED0000E940B068DB79EB748960FB6F8949EBF3A\r
+:100EE0000FBE8DBF81E5E2FE03C00E94140602C062\r
+:100EF0000E94320682E5E1FE03C00E94140602C091\r
+:100F00000E94320683E5E0FE03C00E94140602C080\r
+:100F10000E94320684E5D7FE03C00E94140602C078\r
+:100F20000E94320685E5D6FE03C00E94140602C068\r
+:100F30000E94320686E5D5FE03C00E94140602C058\r
+:100F40000E94320687E5D4FE03C00E94140602C048\r
+:100F50000E943206D501C401B695A795979587954D\r
+:100F6000411494E059066104710419F40E941406B6\r
+:100F700002C00E94320681E001C080E0FF90EF9045\r
+:100F8000DF90CF90BF90AF909F908F907F906F90A9\r
+:100F90005F904F900895E82FF0E0EA5CFE4F80816B\r
+:100FA0000895089581FF03C061E081E002C060E020\r
+:100FB00080E00C944A085998519A08955198599A8A\r
+:100FC00008950E94DB078BEF93E00197F1F700C0D3\r
+:100FD00000000E94DE078BEC90E00197F1F700C063\r
+:100FE00000000E94DB0783E692E00197F1F700C062\r
+:100FF00000000C94DE070E94DB078BEC90E0019769\r
+:10100000F1F700C000000E94DE078FE293E0019735\r
+:10101000F1F700C000000E94DB078BEC90E0019725\r
+:10102000F1F700C000000E94DE0787EC94E0019712\r
+:10103000F1F700C000000E94DB0787EF97E00197FF\r
+:10104000F1F700C000000C94DE070E94DE07509804\r
+:10105000589A0E94E1078BEF93E00197F1F700C0E7\r
+:1010600000000E94FB078FE596E00197F1F700C0B2\r
+:1010700000000E94E1078BEF93E00197F1F700C0B9\r
+:1010800000000E94FB078FE596E00197F1F700C092\r
+:10109000000008951F93CF93DF931F92CDB7DEB763\r
+:1010A000162FF89489830E94DB07EBE2F7E0319773\r
+:1010B000F1F700C000000E94DE07E3E6F2E031979E\r
+:1010C000F1F700C000000E94DB07EBECF0E0319785\r
+:1010D000F1F700C000008981882339F00E94DE0703\r
+:1010E0008BEC90E00197F1F706C00E94DB07EBEC78\r
+:1010F000F0E03197F1F700C00000112339F00E94B1\r
+:10110000DE078BEC90E00197F1F706C00E94DB0749\r
+:10111000EBECF0E03197F1F700C000000E94DB0734\r
+:1011200083E995E00197F1F700C000000E94DE0717\r
+:1011300078940F90DF91CF911F910895CF92DF9215\r
+:10114000EF92FF920F931F93489B13C00E94E107F9\r
+:10115000F89480E593EC489B08C0009741F025E0A7\r
+:101160002A95F1F700000197F6CF892B41F40E94F0\r
+:10117000FB07789430E020E080E090E032C085E822\r
+:101180008A95F1F7000040E050E0BA0180E001E00C\r
+:1011900010E020E030E0489B17C068017901082E7C\r
+:1011A00004C0CC0CDD1CEE1CFF1C0A94D2F74C29A9\r
+:1011B0005D296E297F298A3039F44899FECFE5E808\r
+:1011C000EA95F1F700008BE0E7ECF0E03197F1F7FA\r
+:1011D00000C000008F5F8631F0F27894342F252F05\r
+:1011E000CB01632F722F1F910F91FF90EF90DF9033\r
+:1011F000CF90089580914D0108959FB7F894109273\r
+:1012000044019FBF9091C201943009F057C0909162\r
+:10121000E9009F703091EC00232F217030FD20E811\r
+:10122000922B24E02093E9002091EB0020FF43C0A3\r
+:101230002091EE0027FF3FC020914201222321F0A0\r
+:101240002091E80025FF37C01092420126E030913E\r
+:10125000E80035FD15C03091C201343061F53091A0\r
+:10126000EB0035FD28C0215021F481E0809342013C\r
+:1012700022C0EFE9FFE03197F1F700C00000E7CFAF\r
+:101280008093F1008091E80085FD0AC08091E8001C\r
+:1012900080FFFCCF8091E8008E778093E80006C045\r
+:1012A0008FB7F89421E0209344018FBF9F709093F3\r
+:1012B000E90080E008959F709093E9008FEF089512\r
+:1012C000CF93DF9300D01F92CDB7DEB79C01809102\r
+:1012D000C201843019F593E099833B832A8390936C\r
+:1012E000E9008FEF9091E800815095FD06C095EDE3\r
+:1012F0009A95F1F700008111F5CF8091E80085FF04\r
+:101300000DC040E050E063E070E0CE0101960E9425\r
+:10131000090C8091E8008E778093E8000F900F9081\r
+:101320000F90DF91CF910895CF93DF9300D01F925C\r
+:10133000CDB7DEB72091C201243021F522E0298308\r
+:101340009B838A8383E08093E9008FEF9091E8008C\r
+:10135000815095FD06C095ED9A95F1F70000811139\r
+:10136000F5CF8091E80085FF0DC040E050E063E0DC\r
+:1013700070E0CE0101960E94090C8091E8008E7702\r
+:101380008093E8000F900F900F90DF91CF91089518\r
+:101390002091C2012430F1F422E02093E9002FEFE4\r
+:1013A0003091E800215035FD06C035ED3A95F1F752\r
+:1013B00000002111F5CF2091E80025FF0BC040E08F\r
+:1013C00050E065E070E00E94090C8091E8008E77A3\r
+:1013D0008093E8000895CF93DF932091C2012430D9\r
+:1013E00039F521E02093E9002FEF3091E8002150FA\r
+:1013F00035FD06C035ED3A95F1F700002111F5CF26\r
+:101400002091E80025FF14C0EC0140E050E068E0C6\r
+:1014100070E00E94090C8091E8008E778093E800CC\r
+:1014200088E0FE01A5E4B1E001900D928A95E1F714\r
+:10143000DF91CF9108958BE292E00E947205809136\r
+:10144000C101811109C00E949A0D0E94ED0D809189\r
+:10145000E20084608093E200089587E292E00E94B7\r
+:1014600072051092C101089583E292E00C94720516\r
+:10147000209143012F5F822F62E30E94A4249923CD\r
+:1014800019F0209343010895109243018091440183\r
+:10149000882371F18091C201843041F58091E90087\r
+:1014A0008F702091EC00922F917020FD90E8892B95\r
+:1014B00094E09093E9009091EB0090FF14C090911C\r
+:1014C000EE0097FF10C09091E80095FF03C01092C6\r
+:1014D000F100F9CF9091E80090FF05C09091E800ED\r
+:1014E0009E779093E8008F708093E90010924401FA\r
+:1014F000089542E061EC81E00E94140D42E061EC4D\r
+:1015000082E00E94140D42E061EC83E00E94140D21\r
+:1015100042E261EC84E00C94140D8091C4018330AC\r
+:1015200009F453C030F4813071F0823009F48CC07A\r
+:1015300008958A3009F478C08B3009F45EC0893090\r
+:1015400009F09AC020C08091C301813A09F094C08B\r
+:101550008091E800877F8093E8008091C701909197\r
+:10156000C801892B21F468E085E491E003C060E0C4\r
+:1015700080E090E070E00E94560C8091E8008B774C\r
+:101580008093E80008958091C301813209F074C00E\r
+:101590008091C7019091C801892B09F06DC080919D\r
+:1015A000E800877F8093E8008091E80082FD05C015\r
+:1015B0008091C2018111F8CF5FC08091F1008093CA\r
+:1015C0004D018091E8008B7753C08091C301813A2F\r
+:1015D00009F052C08091C7019091C801892B09F090\r
+:1015E0004BC08091E800877F8093E8008091E800FD\r
+:1015F00080FFFCCF80910A0136C08091C301813207\r
+:10160000D9F58091C7019091C801892BA9F58091E6\r
+:10161000E800877F8093E8000E94490D8091C50112\r
+:1016200080930A010C94A3158091C301813221F5A6\r
+:101630008091E800877F8093E8000E94490D8091A7\r
+:10164000C60180934E0108958091C301813AA1F4AF\r
+:101650008091E800877F8093E8008091E80080FF18\r
+:10166000FCCF80914E018093F1008091E8008E774D\r
+:101670008093E8000C94490D0895089508950E9400\r
+:10168000931B8091C001882329F00E94BE1B811109\r
+:101690000C94F30B089584B7877F84BF0FB6F8943A\r
+:1016A000A89580916000886180936000109260002E\r
+:1016B0000FBE90E080E80FB6F8948093610090939D\r
+:1016C00061000FBE0E943D0B0E94A4100E949A0D63\r
+:1016D0000E94ED0D8091E20084608093E2008DEF26\r
+:1016E00098E00E947A1B78948091C201843019F0AE\r
+:1016F0000E94F70FF9CF82E192E00E9472050E94EA\r
+:10170000A61080E091E00E94121081E092E00E9419\r
+:1017100072050E943E0B8091C201853039F48DEF35\r
+:1017200091E00E9472050E943F0BF5CF0E94AA1023\r
+:101730000E94F70FF0CF292F332723303105C9F04E\r
+:1017400064F42130310581F02230310509F043C0C5\r
+:1017500084E790E023E832E042C021323105F1F025\r
+:101760002232310541F137C082E190E027EF32E0CB\r
+:1017700036C099278130910541F08230910541F0C2\r
+:10178000892B49F5EFE7F2E005C0EFE6F2E002C091\r
+:10179000EFE2F2E0849190E09F0121C06430D8F440\r
+:1017A000E62FF0E0EE0FFF1FE15EFE4F208131815A\r
+:1017B00089E090E014C0643070F470E0FB01EE0F3B\r
+:1017C000FF1FE95EFE4F20813181FB01ED5EFE4F80\r
+:1017D000808190E004C080E090E020E030E0FA01F9\r
+:1017E00031832083089584E089BD86E089BD09B4F2\r
+:1017F00000FEFDCF8091D8008F7D8093D80080912E\r
+:10180000E00082608093E0008091E00081FDFCCFE9\r
+:101810000895CF92DF92EF92FF920F931F93CF9391\r
+:10182000DF93EC018B017A010E94680D811135C0B4\r
+:10183000E114F10439F0F70180819181081B190B43\r
+:10184000C80FD91FC12CD12C0115110529F1809188\r
+:10185000E80085FD18C08091E8008E778093E8004D\r
+:101860000E94F70FE114F10449F0F70180819181A2\r
+:10187000C80ED91ED182C08285E00FC00E94680DBB\r
+:10188000882311F30AC089918093F1000150110956\r
+:10189000FFEFCF1ADF0AD8CF80E0DF91CF911F9101\r
+:1018A0000F91FF90EF90DF90CF9008952091C901A4\r
+:1018B0003091CA012617370748F06115710539F4D0\r
+:1018C0002091E8002E772093E80001C0B90140E0A4\r
+:1018D0006115710591F12091C201222309F440C0E4\r
+:1018E000253009F43FC02091E80023FD3DC0209140\r
+:1018F000E80022FD2FC02091E80020FFE9CF2091D1\r
+:10190000F20030E0FC01CF016115710559F028307B\r
+:10191000310540F481918093F100615071092F5F8E\r
+:101920003F4FF1CF41E02830310509F040E02091F0\r
+:10193000E8002E772093E800CBCF4111CCCF0AC02E\r
+:101940008091C201882361F0853061F08091E800C8\r
+:1019500083FD0AC08091E80082FFF2CF80E0089505\r
+:1019600082E0089583E0089581E008952091C901FF\r
+:101970003091CA012617370748F06115710539F40F\r
+:101980002091E8002E772093E80001C0B901FC0106\r
+:1019900020E06115710579F18091C201882309F475\r
+:1019A0003DC0853009F43CC08091E80083FD3AC019\r
+:1019B0008091E80082FD2CC08091E80080FFE9CF93\r
+:1019C0008091F20090E06115710559F08830910521\r
+:1019D00040F424912093F1003196615071090196F1\r
+:1019E000F2CF21E0089709F020E08091E8008E779F\r
+:1019F0008093E800CECF2111CFCF0AC08091C201E1\r
+:101A0000882361F0853061F08091E80083FD0AC091\r
+:101A10008091E80082FFF2CF80E0089582E008958F\r
+:101A200083E0089581E00895982F953058F59093BC\r
+:101A3000E900981739F07091EC002091ED00509179\r
+:101A4000F00003C0242F762F50E021FF19C0309101\r
+:101A5000EB003E7F3093EB003091ED003D7F309303\r
+:101A6000ED003091EB0031603093EB007093EC00AF\r
+:101A70002093ED005093F0002091EE0027FF07C067\r
+:101A80009F5FD3CF8F708093E90081E0089580E05D\r
+:101A900008958091C30187FF11C08091E80082FD05\r
+:101AA00005C08091C2018111F8CF11C08091E8007A\r
+:101AB0008B770BC08091C201882349F08091E800A8\r
+:101AC00080FFF8CF8091E8008E778093E80008953A\r
+:101AD0002091E4003091E50095E64091EC00842FE0\r
+:101AE000817040FF22C08091E80080FD1CC0809181\r
+:101AF000C201882391F0853091F08091EB0085FD43\r
+:101B000010C04091E4005091E5004217530729F3BB\r
+:101B10009A01915011F784E0089582E0089583E0DE\r
+:101B2000089581E0089580E008954091E80042FF23\r
+:101B3000DECF08950E94F70D0E94FA0DE0EEF0E06E\r
+:101B4000808181608083E8EDF0E080818F77808301\r
+:101B500019BCE3E6F0E08081816080831092C101CE\r
+:101B600008950E94F70D0E94FA0D8091D8008F779A\r
+:101B70008093D8008091D80080688093D8008091AD\r
+:101B8000D8008F7D8093D80084E089BD86E089BD30\r
+:101B900009B400FEFDCF1092C2011092BE01109256\r
+:101BA000C0011092BF0142E060E080E00E94140D8D\r
+:101BB0008091E1008E7F8093E1008091E20081605E\r
+:101BC0008093E2008091E20088608093E20080913F\r
+:101BD000E0008E7F8093E0000895E3E6F0E08081EE\r
+:101BE0008E7F808381E08093C1010C94B10D1092AF\r
+:101BF000E20008951092E10008951F920F920FB62F\r
+:101C00000F9211242F933F934F935F936F937F9382\r
+:101C10008F939F93AF93BF93EF93FF938091E100D6\r
+:101C200082FF0BC08091E20082FF07C08091E1003B\r
+:101C30008B7F8093E1000E94380A8091E10080FF51\r
+:101C400018C08091E20080FF14C08091E2008E7F76\r
+:101C50008093E2008091E20080618093E2008091B5\r
+:101C6000D80080628093D80019BC1092C2010E94F3\r
+:101C70002D0A8091E10084FF30C08091E20084FF52\r
+:101C80002CC084E089BD86E089BD09B400FEFDCF8B\r
+:101C90008091D8008F7D8093D8008091E1008F7E65\r
+:101CA0008093E1008091E2008F7E8093E20080913A\r
+:101CB000E20081608093E2008091BE01882311F0F0\r
+:101CC00084E007C08091E30087FD02C081E001C08D\r
+:101CD00083E08093C2010E941B0A8091E10083FF90\r
+:101CE00024C08091E20083FF20C08091E100877FC3\r
+:101CF0008093E10082E08093C2011092BE01809146\r
+:101D0000E1008E7F8093E1008091E2008E7F8093DE\r
+:101D1000E2008091E20080618093E20042E060E0B6\r
+:101D200080E00E94140D0E94340AFF91EF91BF9150\r
+:101D3000AF919F918F917F916F915F914F913F9163\r
+:101D40002F910F900FBE0F901F9018951F93CF9358\r
+:101D5000DF93CDB7DEB7AA970FB6F894DEBF0FBEFC\r
+:101D6000CDBFE3ECF1E088E08E0F9091F10091930C\r
+:101D70008E13FBCF0E948D0A8091E80083FF1FC164\r
+:101D80008091C3019091C401492F50E04A30510520\r
+:101D900008F015C1FA01E65CFF4F0C94C4248038AA\r
+:101DA00081F0823809F00BC18091C7018F70809358\r
+:101DB000E9008091EB0085FB882780F91092E9000B\r
+:101DC00006C08091BF019091C001911182609091F5\r
+:101DD000E800977F9093E8008093F1001092F10063\r
+:101DE000C8C0282F2D7F09F0EAC0882319F082305F\r
+:101DF00061F0E5C08091C501813009F0E0C0933009\r
+:101E000009F080E08093C0012BC08091C501811151\r
+:101E100027C08091C7018F7009F4D1C08093E90079\r
+:101E20002091EB0020FF1CC0933021F48091EB0047\r
+:101E3000806214C09091EB0090619093EB0021E0E0\r
+:101E400030E0A90102C0440F551F8A95E2F7409384\r
+:101E5000EA001092EA008091EB0088608093EB002A\r
+:101E60001092E9008091E800877F86C08111A7C0A9\r
+:101E70001091C5011F778091E3008078812B8093BA\r
+:101E8000E3008091E800877F8093E8000E94490D7D\r
+:101E90008091E80080FFFCCF8091E3008068809310\r
+:101EA000E300111102C082E001C083E08093C2010F\r
+:101EB00086C08058823008F082C08091C501909120\r
+:101EC000C6018C3D53E0950779F583E08A838AE269\r
+:101ED00089834FB7F894DE01139620E03EE051E28B\r
+:101EE000E32FF0E050935700E49120FF03C0E29508\r
+:101EF000EF703F5FEF708E2F90E0EA3010F0C796E2\r
+:101F000001C0C0968D939D932F5F243149F74FBF39\r
+:101F10008091E800877F8093E8006AE270E0CE015C\r
+:101F200001960E94560C14C0AE014F5F5F4F609146\r
+:101F3000C7010E949B0BBC01892B09F440C0909102\r
+:101F4000E800977F9093E80089819A810E94B60CFF\r
+:101F50008091E8008B778093E80031C0803879F574\r
+:101F60008091E800877F8093E8008091BE01809394\r
+:101F7000F1008091E8008E778093E8000E94490D7F\r
+:101F80001EC081111CC09091C5019230C0F4809197\r
+:101F9000E800877F8093E8009093BE010E94490D7E\r
+:101FA0008091BE01811106C08091E30087FD02C0CF\r
+:101FB00081E001C084E08093C2010E94790A80918F\r
+:101FC000E80083FF0AC08091E800877F8093E800E3\r
+:101FD0008091EB0080628093EB00AA960FB6F89494\r
+:101FE000DEBF0FBECDBFDF91CF911F910895CF937C\r
+:101FF0008091C2018823A1F0C091E900CF70909137\r
+:10200000EC00892F817090FD80E8C82B1092E900C8\r
+:102010008091E80083FD0E94A60ECF70C093E90076\r
+:10202000CF91089590935401809353010895E091C6\r
+:102030005301F0915401309721F00190F081E02D8F\r
+:10204000099480E00895EF92FF920F931F93CF932E\r
+:10205000DF93E0915301F09154013097B1F18C017D\r
+:102060000280F381E02D09958091AD0182FF2DC0A2\r
+:1020700080FF04C086EF93E00E947205E80118E03B\r
+:1020800080EFE82E83E0F82E8091AD0180FF0BC039\r
+:1020900088811F928F93FF92EF920E940B060F9000\r
+:1020A0000F900F900F90115021961111EDCF80914C\r
+:1020B000AD0180FF0AC08EEE93E0DF91CF911F91BA\r
+:1020C0000F91FF90EF900C947205DF91CF911F91CB\r
+:1020D0000F91FF90EF900895E0915301F09154011A\r
+:1020E000309721F00480F581E02D09940895209126\r
+:1020F0005101309152018217930771F09093520170\r
+:1021000080935101E0915301F0915401309721F0F7\r
+:102110000680F781E02D0994089520914F013091B8\r
+:1021200050018217930771F09093500180934F01F3\r
+:10213000E0915301F0915401309721F00084F18532\r
+:10214000E02D0994089508950C94A3100E94FB1BA0\r
+:102150000C945106CF92DF92EF92FF920F931F9350\r
+:10216000CF93DF9300D000D000D0CDB7DEB70E9470\r
+:102170009D0686E5C82E81E0D82E00E010E0E02E16\r
+:10218000802F0E94CB07F60141916F01F42EF826B3\r
+:10219000B1F40F5F1F4F0C30110589F78FEF898362\r
+:1021A0008A831B820E94041C8160782F9D838C830C\r
+:1021B00049815A816B818D810E94691147C090913C\r
+:1021C000AD0191FF04C08E830E94D1078E8120E073\r
+:1021D00030E04F2D50E0922FBA01022E02C07595CB\r
+:1021E00067950A94E2F760FF2BC02983EA8221E019\r
+:1021F00030E0690102C0CC0CDD1C9A95E2F790E05A\r
+:102200008C219D21892B09F420E02B830E94041C42\r
+:102210008160782F9D838C8349815A816B818D8168\r
+:102220000E94691149815A816B817C818D810E9454\r
+:10223000801BF801EA5AFE4F8081C826C08206C082\r
+:102240002F5F3F4F2830310531F6A3CF0E947F1B0F\r
+:102250000E94D11E109155010E941710181741F1CC\r
+:102260000E941710809355019091AD0192FF0EC00E\r
+:1022700090FF0CC01F928F9388E094E09F938F9300\r
+:102280000E940B060F900F900F900F9080915501B8\r
+:1022900026960FB6F894DEBF0FBECDBFDF91CF916B\r
+:1022A0001F910F91FF90EF90DF90CF900C94911BB6\r
+:1022B00026960FB6F894DEBF0FBECDBFDF91CF914B\r
+:1022C0001F910F91FF90EF90DF90CF9008950C94A5\r
+:1022D000D207CF93DF93CDB7DEB72B970FB6F89425\r
+:1022E000DEBF0FBECDBF942F4F83252F5887698740\r
+:1022F0007A878B874A855B85452B21F02F3F09F52F\r
+:102300009F3FF9F4DE01119686E0FD0111928A9556\r
+:10231000E9F785E0FE01379601900D928A95E1F785\r
+:1023200049815A816B817C818D819E810E944C18EC\r
+:102330002B960FB6F894DEBF0FBECDBFDF91CF91C5\r
+:1023400008954F81588569857A858B850E94801B09\r
+:10235000D9CFCF93882309F4A4C0C82F8CEF8C0F5A\r
+:10236000813A48F48C2F0E94FD2181119AC08C2F54\r
+:102370000E94DB1A0CC080E28C0F883058F4C770C2\r
+:1023800081E001C0880FCA95EAF70E941A1BCF911D\r
+:102390000C94541B8BE58C0F833078F4C53A29F0EC\r
+:1023A000C63A31F083E890E005C081E890E002C0D1\r
+:1023B00082E890E0CF910C94771088E58C0F8531FE\r
+:1023C00008F06FC0C83A61F1C93A69F1CA3A71F1CF\r
+:1023D000CB3A79F1CC3A81F1CD3A89F1CE3A91F10B\r
+:1023E000CF3A99F1C13BA1F1C03BA9F1C23BB1F198\r
+:1023F000C33BB9F1C43BC1F1C53BC9F1C63BD1F107\r
+:10240000C73BD9F1C83BE1F1C93BE9F1CA3BF1F166\r
+:10241000CB3BF9F1CC3B09F43FC080E090E03EC0FB\r
+:1024200082EE90E03BC089EE90E038C08AEE90E00A\r
+:1024300035C085EB90E032C086EB90E02FC083EB97\r
+:1024400090E02CC084EB90E029C087EB90E026C0A0\r
+:102450008CEC90E023C08DEC90E020C083E891E00C\r
+:102460001DC08AE891E01AC082E991E017C084E9B2\r
+:1024700091E014C081E292E011C083E292E00EC0CC\r
+:1024800084E292E00BC085E292E008C086E292E02E\r
+:1024900005C087E292E002C08AE292E0CF910C94FC\r
+:1024A0008D10CF910895882329F19CEF980F913AD0\r
+:1024B00018F40E94F81A0DC090E2980F983058F462\r
+:1024C000877091E001C0990F8A95EAF7892F0E94E1\r
+:1024D000201B0C94541B9BE5980F933020F480E054\r
+:1024E00090E00C947710885A853120F480E090E0D9\r
+:1024F0000C948D100895882321F00E941A1B0C94CF\r
+:10250000541B0895882321F00E94201B0C94541B17\r
+:102510000895CF92DF92EF92FF920F931F93CF9384\r
+:10252000DF9300D000D000D0CDB7DEB725E0FC01AE\r
+:10253000DE01119601900D922A95E1F7FC01408190\r
+:102540003181F280258122952F7063817481672B00\r
+:1025500009F4D8C23F3F19F44F3F09F4D3C26C01CC\r
+:1025600049833A8389819A812E830E949A1A182F6F\r
+:10257000092F0E94991A0E94A919E02FE295EF7085\r
+:10258000F0E0EC5BFF4F2E810C94C424802F807F01\r
+:10259000902F9F70092F882311F00295007FFF2054\r
+:1025A00049F0002309F45FC2802F0E942D1B0E9476\r
+:1025B000541B59C2812F0E945312002309F4A2C256\r
+:1025C000802F0E94331B26960FB6F894DEBF0FBEF5\r
+:1025D000CDBFDF91CF911F910F91FF90EF90DF90D2\r
+:1025E000CF900C94541B802F807F902F9F70092FC9\r
+:1025F000803211F00295007F112319F0113001F1A2\r
+:1026000029C0FF20A9F0802F222349F1213039F57C\r
+:1026100026960FB6F894DEBF0FBECDBFDF91CF91E7\r
+:102620001F910F91FF90EF90DF90CF900C943D1B86\r
+:10263000222319F0213009F465C20E94401B2CC0EE\r
+:10264000FF20E9F0263008F05DC20E94171B8023AE\r
+:1026500029F022C0FF20F1F0211115C0802F26960D\r
+:102660000FB6F894DEBF0FBECDBFDF91CF911F91A3\r
+:102670000F91FF90EF90DF90CF900C947B1225305C\r
+:1026800008F040C209C0F601858180FFECC18F705F\r
+:102690008583E4CF2111FBC1802F69C1202F2695AE\r
+:1026A0002695237030E02115310521F021303105C8\r
+:1026B000C9F028C2FF2021F0812F902F937002C013\r
+:1026C00080E090E026960FB6F894DEBF0FBECDBF37\r
+:1026D000DF91CF911F910F91FF90EF90DF90CF90FE\r
+:1026E0000C947710FF2021F0812F902F937002C05F\r
+:1026F00080E090E026960FB6F894DEBF0FBECDBF07\r
+:10270000DF91CF911F910F91FF90EF90DF90CF90CD\r
+:102710000C948D10812FFF2019F00E94571D02C0CC\r
+:102720000E94BF1D26960FB6F894DEBF0FBECDBF28\r
+:10273000DF91CF911F910F91FF90EF90DF90CF909D\r
+:102740000C94441E802F837009F078C0F110DAC118\r
+:10275000812F829586958770880F880F912F9F70A3\r
+:10276000C92ED12CE12CF12C082E04C0CC0CDD1C80\r
+:10277000EE1CFF1C0A94D2F714FF12C04FE050E089\r
+:1027800060E070E004C0440F551F661F771F8A95F4\r
+:10279000D2F7CB01BA01609570958095909503C0F2\r
+:1027A00060E070E0CB01202F269526952370422F04\r
+:1027B00050E042305105D1F04330510559F16C29B8\r
+:1027C0007D298E299F294130510541F126960FB66A\r
+:1027D000F894DEBF0FBECDBFDF91CF911F910F9157\r
+:1027E000FF90EF90DF90CF900C94BE196C297D295B\r
+:1027F0008E299F2926960FB6F894DEBF0FBECDBF57\r
+:10280000DF91CF911F910F91FF90EF90DF90CF90CC\r
+:102810000C94D0190E94BE19C701B60126960FB6B6\r
+:10282000F894DEBF0FBECDBFDF91CF911F910F9106\r
+:10283000FF90EF90DF90CF900C94AC19FF2019F02F\r
+:10284000802F817001C08695882309F45BC1812F98\r
+:10285000829586958770880F880F912F9F70C92E5B\r
+:10286000D12CE12CF12C082E04C0CC0CDD1CEE1C6C\r
+:10287000FF1C0A94D2F714FF12C04FE050E060E052\r
+:1028800070E004C0440F551F661F771F8A95D2F76A\r
+:10289000CB01BA01609570958095909503C060E07A\r
+:1028A00070E0CB01202F269526952370422F50E013\r
+:1028B00042305105D1F04330510559F16C297D2941\r
+:1028C0008E299F294130510541F126960FB6F89483\r
+:1028D000DEBF0FBECDBFDF91CF911F910F91FF9053\r
+:1028E000EF90DF90CF900C94751A6C297D298E297A\r
+:1028F0009F2926960FB6F894DEBF0FBECDBFDF919D\r
+:10290000CF911F910F91FF90EF90DF90CF900C949B\r
+:10291000871A0E94751AC701B60126960FB6F89459\r
+:10292000DEBF0FBECDBFDF91CF911F910F91FF9002\r
+:10293000EF90DF90CF900C94631A103F41F118F4A0\r
+:10294000103E48F48BC0123F09F450C0D8F1133F39\r
+:1029500009F460C083C01F70802F8F71FF2021F0A9\r
+:102960000E94FC19812F7BCE0E941D1A812F269672\r
+:102970000FB6F894DEBF0FBECDBFDF91CF911F9190\r
+:102980000F91FF90EF90DF90CF900C948212FF2078\r
+:10299000A9F0253008F0B6C0802F8F7126960FB6AB\r
+:1029A000F894DEBF0FBECDBFDF91CF911F910F9185\r
+:1029B000FF90EF90DF90CF900C94421A263008F0F1\r
+:1029C000A1C0EACFFF20A1F0802F8F7126960FB60D\r
+:1029D000F894DEBF0FBECDBFDF91CF911F910F9155\r
+:1029E000FF90EF90DF90CF900C94FC19FF2061F3E3\r
+:1029F000802F8F7126960FB6F894DEBF0FBECDBF25\r
+:102A0000DF91CF911F910F91FF90EF90DF90CF90CA\r
+:102A10000C941D1AFF2091F0802F8F7126960FB60F\r
+:102A2000F894DEBF0FBECDBFDF91CF911F910F9104\r
+:102A3000FF90EF90DF90CF900C94E71926960FB699\r
+:102A4000F894DEBF0FBECDBFDF91CF911F910F91E4\r
+:102A5000FF90EF90DF90CF900C94E219FF20A1F04F\r
+:102A6000222309F4B1CF812F26960FB6F894DEBF4A\r
+:102A70000FBECDBFDF91CF911F910F91FF90EF90CF\r
+:102A8000DF90CF900C94A911222309F4B1CF812FAC\r
+:102A900026960FB6F894DEBF0FBECDBFDF91CF9163\r
+:102AA0001F910F91FF90EF90DF90CF900C945312F5\r
+:102AB000402F4F70612FC6010E94CD1C26960FB685\r
+:102AC000F894DEBF0FBECDBFDF91CF911F910F9164\r
+:102AD000FF90EF90DF90CF900C94F418402F4F7040\r
+:102AE000612FC60126960FB6F894DEBF0FBECDBF8C\r
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA\r
+:102B00000C94D01C26960FB6F894DEBF0FBECDBF36\r
+:102B1000DF91CF911F910F91FF90EF90DF90CF90B9\r
+:102B200008950E943A1B0E94091B0E94541B0E9498\r
+:102B3000781F0E94441E80E090E00E94771080E0A1\r
+:102B400090E00C948D100E942A1B0C9491150E9409\r
+:102B50009A1A292F22952F7030E02C3031054CF431\r
+:102B60002A3031056CF4225031092230310588F4C5\r
+:102B700007C02C30310549F02F30310531F009C044\r
+:102B8000803E48F0803F29F406C093FB882780F9F7\r
+:102B9000089580E0089581E00895CF93DF9300D0F9\r
+:102BA00000D01F92CDB7DEB70F900F900F900F900F\r
+:102BB0000F90DF91CF910895CF93DF9300D000D095\r
+:102BC00000D0CDB7DEB726960FB6F894DEBF0FBEA5\r
+:102BD000CDBFDF91CF910895CF93DF93C091620174\r
+:102BE00080916301C817A1F0D0E0CE0166E070E0EB\r
+:102BF0000E949324FC01EC59FE4F40815181628177\r
+:102C00007381848195810E94DC152196C770E8CF7D\r
+:102C1000DF91CF9108954091940150919501609179\r
+:102C200096017091970180919801909199010C946F\r
+:102C3000DC15CF93DF938091990182958F7009F015\r
+:102C40005CC080919601882309F457C020916201ED\r
+:102C5000D091630140919401C0919501E091970159\r
+:102C6000F09198012D1709F448C030E0309709F42D\r
+:102C700040C0CF3F11F44F3FE1F1C90166E070E081\r
+:102C80000E949324DC01AC59BE4F11968C91119790\r
+:102C9000C8132FC08C9148132CC012968C91129798\r
+:102CA000811127C013968D919C9114978E179F07C1\r
+:102CB00008F401978E1B9F0B883C9105D0F48091FE\r
+:102CC00099018F70806180939901C90166E070E07D\r
+:102CD0000E949324FC01E759FE4F90819F70906100\r
+:102CE000908384E991E00E948912DF91CF910C9446\r
+:102CF000EC152F5F3F4F2770B5CFDF91CF9108952F\r
+:102D0000BF92CF92DF92EF92FF920F931F93CF93D8\r
+:102D1000DF93CDB7DEB761970FB6F894DEBF0FBE75\r
+:102D2000CDBF8C0185E0F801DE011D9601900D926A\r
+:102D30008A95E1F7D8014C9111962C911197129632\r
+:102D4000EC9012971396CD90DC90149750919401CB\r
+:102D5000609195018091970190919801009709F4F5\r
+:102D60006EC16F3F19F45F3F09F469C1B0909601DD\r
+:102D7000BB2009F4C3C030919901C816D90628F0C8\r
+:102D8000F601E81BF90BCF0104C0809590958C0DDE\r
+:102D90009D1DFF24F394883C910588F0F12C307F31\r
+:102DA00009F0CBC07C2DD98AC88A522F6E2D898913\r
+:102DB0000E94CD1584E991E00E948912B4C0832F4E\r
+:102DC000807F09F049C0621314C0541312C0E1108F\r
+:102DD00010C03F703061309399010E940B1684E956\r
+:102DE00091E00E94891280919901D80115968C93E7\r
+:102DF00031C0CD2831F12F3F11F44F3F11F1FE2C9E\r
+:102E0000E1101FC0E091620130916301E31709F402\r
+:102E10005CC0F0E0CF0166E070E00E949324DC012A\r
+:102E2000AC59BE4F11968C911197281307C08C9105\r
+:102E3000481304C012968C91811103C03196E7703B\r
+:102E4000E5CFFE2CEE2009F416C180919901816036\r
+:102E500080939901F12C0FC1621308C0541306C06E\r
+:102E6000E11004C080919901D801C1C04D872E871F\r
+:102E70008D859E850E94A7158823E1F1EE20D1F172\r
+:102E800020919901822F82958F7090E0029774F0C3\r
+:102E9000809194019091950198878F831986DB86A4\r
+:102EA000CA862C87CE0107960E94891286E0F80117\r
+:102EB000A4E9B1E001900D928A95E1F70E941916FC\r
+:102EC0000E940B16FF24F394D6C04D872E878D8564\r
+:102ED0009E850E949A1A292F22952F7030E0223069\r
+:102EE00031050CF0BCC09F7009F0B6C0805E883020\r
+:102EF00008F4C1C0C8010E948912E4CFC816D906DF\r
+:102F000008F453C0F601E81BF90BCF01883C91058A\r
+:102F100008F450C0F12C7C2DD98AC88A522F6E2D0E\r
+:102F200089890E94CD15E4E9F1E086E0DF011D9278\r
+:102F30008A95E9F70E940B169EC0621314C05413C1\r
+:102F400012C0E11010C080919901F8018583C80179\r
+:102F50000E94891286E0E4E9F1E0DF011D928A9582\r
+:102F6000E9F7FB2C88C04D872E878D859E850E94B2\r
+:102F7000A715882309F4BECFEE2009F4BBCF20911A\r
+:102F80009901822F82958F7090E002970CF48ECF7A\r
+:102F900080919401909195019A8389831B82DD82AF\r
+:102FA000CC822E83CE0101967FCF809590958C0D9B\r
+:102FB0009D1DACCFFE2CEE2009F49CCF62132EC0D9\r
+:102FC00054132CC02091990120FD1FC0822F82959F\r
+:102FD0008F70D9F0D80115962C9315978F3049F042\r
+:102FE0008F5F982F9295907F822F8F70892B1596E7\r
+:102FF0008C93C8010E94891286E0F801A4E9B1E02F\r
+:1030000001900D928A95E1F795CF86E0F801A4E949\r
+:10301000B1E001900D928A95E1F72DC04D872E8782\r
+:103020008D859E850E94A715811140CF80919901C1\r
+:10303000816080939901C8010E9489121CC0EE2012\r
+:1030400009F458CF4D872E878D859E850E94A71540\r
+:10305000882309F44FCF2ACF811148CF0CC02430E8\r
+:1030600031050CF047CF9F7009F440CFF8019581EE\r
+:10307000907F09F03BCF8F2D61960FB6F894DEBF9D\r
+:103080000FBECDBFDF91CF911F910F91FF90EF90B9\r
+:10309000DF90CF90BF900895CF93DF93CDB7DEB789\r
+:1030A0002C970FB6F894DEBF0FBECDBF4F83588765\r
+:1030B00069877A878B879C87CE0107960E94801646\r
+:1030C000882371F08F8198852A853B85232B09F40D\r
+:1030D0003FC09F3F09F068C08F3F09F065C038C00E\r
+:1030E00086E0FE013796DE01119601900D928A95D9\r
+:1030F000E1F76F817885EA85FB85309749F17F3F5D\r
+:1031000011F46F3F29F18091630190E09C012F5FE2\r
+:103110003F4F277033274091620150E02417350755\r
+:1031200009F44BC069837A83FD83EC8366E070E029\r
+:103130000E949324DC01AC59BE4F96E0FE0131960B\r
+:1031400001900D929A95E1F7209363010E94EC158E\r
+:1031500080916201909163018917E9F190E066E046\r
+:1031600070E00E9493248C599E4F0E948016882301\r
+:1031700091F18091620190E066E070E00E949324FA\r
+:10318000FC01EC59FE4F4081518162817381848141\r
+:1031900095810E94DC158091620190E00196877014\r
+:1031A000992780936201D4CF4F81588569857A85AC\r
+:1031B0008B859C850E94DC15CBCF0E94A3151092B5\r
+:1031C000630110926201E4E9F1E086E0DF011D9203\r
+:1031D0008A95E9F7BDCF2C960FB6F894DEBF0FBEE7\r
+:1031E000CDBFDF91CF910895DF92EF92FF920F93C1\r
+:1031F0001F93CF93DF93FC01892B09F48AC0E12C44\r
+:10320000F12CDD24D394EF0121968491853709F4C4\r
+:1032100061C058F4843708F04EC0843008F06AC0AA\r
+:103220008130D1F0823071F174C0883709F45DC00B\r
+:1032300050F4863709F455C0873709F06AC08E2DDF\r
+:103240000E94271B54C09CE7980F903708F061C07C\r
+:103250008F770E94531250C08F010E5F1F4FFE01E7\r
+:10326000849190E2980F983050F48770FD2D01C042\r
+:10327000FF0F8A95EAF78F2F0E942D1B14C00E9422\r
+:10328000A91113C08F010E5F1F4FFE01C49180E290\r
+:103290008C0F883060F4C7708D2D01C0880FCA95DF\r
+:1032A000EAF70E94331B0E94541BE80125C08C2FB3\r
+:1032B0000E945312FACF9F012E5F3F4FFE01C4912F\r
+:1032C000CC2369F08FE99FE00197F1F700C000007F\r
+:1032D000C150F6CF9F012E5F3F4FFE01F490E901F0\r
+:1032E0000BC00E94171BE82E07C00E942A1B0E94D9\r
+:1032F000541B02C00E94A9118F2D882341F0EFE9D1\r
+:10330000FFE03197F1F700C000008150F6CFFE01D9\r
+:103310007ACFDF91CF911F910F91FF90EF90DF90C7\r
+:10332000089560939E0170939F018093A0019093F4\r
+:10333000A1010E948F1B0C94911560939A017093C8\r
+:103340009B0180939C0190939D010E94901B0C9483\r
+:10335000911508950C9491190F931F9300919E015C\r
+:1033600010919F012091A0013091A101602B712B40\r
+:10337000822B932B1F910F910C9491190F931F93F4\r
+:1033800000919E0110919F012091A0013091A10117\r
+:1033900060237123822393231F910F910C94911921\r
+:1033A0000F931F9300919E0110919F012091A00106\r
+:1033B0003091A10160277127822793271F910F91D8\r
+:1033C0000C94911960E070E0CB010C949D190F935F\r
+:1033D0001F9341E050E060E070E08A019B0104C06F\r
+:1033E000000F111F221F331F8A95D2F7C901B801A0\r
+:1033F0001F910F910C949D190F931F9341E050E082\r
+:1034000060E070E004C0440F551F661F771F8A9567\r
+:10341000D2F780919A0190919B01A0919C01B0916B\r
+:103420009D018A019B01082B192B2A2B3B2BC901DB\r
+:10343000B8011F910F910C949D190F931F9341E0B8\r
+:1034400050E060E070E004C0440F551F661F771F16\r
+:103450008A95D2F7409550956095709580919A0124\r
+:1034600090919B01A0919C01B0919D018A019B01CB\r
+:10347000082319232A233B23C901B8011F910F9167\r
+:103480000C949D190F931F9341E050E060E070E0B1\r
+:1034900004C0440F551F661F771F8A95D2F780918D\r
+:1034A0009A0190919B01A0919C01B0919D018A018C\r
+:1034B0009B01082719272A273B27C901B8011F911B\r
+:1034C0000F910C949D190F931F9300919A011091E5\r
+:1034D0009B0120919C0130919D01602B712B822BCF\r
+:1034E000932B1F910F910C949D190F931F93009193\r
+:1034F0009A0110919B0120919C0130919D016023C4\r
+:103500007123822393231F910F910C949D190F9384\r
+:103510001F9300919A0110919B0120919C01309181\r
+:103520009D0160277127822793271F910F910C948B\r
+:103530009D190895CF92DF92EF92FF920F931F9300\r
+:10354000CF93DF938C01C0909E01D0909F01E090BB\r
+:10355000A001F090A10140919A0150919B016091CE\r
+:103560009C0170919D01C42AD52AE62AF72ACFE151\r
+:10357000D0E0D701C6010C2E04C0B695A79597954B\r
+:1035800087950A94D2F780FF07C0B8018C2F0E945C\r
+:103590009E1C8130910531F4219758F7B80180E0E5\r
+:1035A0000E949E1CDF91CF911F910F91FF90EF9091\r
+:1035B000DF90CF90089520910B0130910C01F9011B\r
+:1035C00032969FEF40E05191581789F09F3F19F4D0\r
+:1035D000511101C0942F4F5F4630A9F79F3F39F03A\r
+:1035E000F901E90FF11D97FDFA9582830895089579\r
+:1035F00020910B0130910C01F9013296285F3F4F69\r
+:103600009081981301C010823196E217F307C1F739\r
+:10361000089581E090E0E0910B01F0910C01E80F3A\r
+:10362000F91F1082019688309105A9F708958091BD\r
+:10363000AC0108959091AC01892B8093AC01089561\r
+:1036400080959091AC0189238093AC01089580937B\r
+:10365000AC0108951092AC0108959091AB01892BB3\r
+:103660008093AB01089580959091AB01892380935D\r
+:10367000AB0108951092AB0108958093A2010895C3\r
+:103680001092A201089580910B0190910C01FC0110\r
+:1036900031969C01285F3F4F80E0919191118F5F9F\r
+:1036A000E217F307D1F70895E0910B01F0910C01B7\r
+:1036B0008091AC018083E0910B01F0910C0190812D\r
+:1036C0008091AB01892B80838091A201882361F0D6\r
+:1036D000E0910B01F0910C019081892B80830E9475\r
+:1036E000431B81111092A20180910B0190910C015A\r
+:1036F0000C94231090933301809332010895089520\r
+:10370000CF93DF9300D000D01F92CDB7DEB70F90DC\r
+:103710000F900F900F900F90DF91CF910895089523\r
+:1037200008950C9467118091C201843021F11092A8\r
+:10373000AE0120E488E190E00FB6F894A89580935C\r
+:1037400060000FBE2093600083B7817F846083BFD9\r
+:1037500083B7816083BF7894889583B78E7F83BF5A\r
+:103760000FB6F894A89580916000886180936000FE\r
+:10377000109260000FBE089508950895CF930E949F\r
+:10378000BC1B0E949D060E94BD1BC0E08C2F0E94A6\r
+:10379000CB07811104C0CF5FCC30C1F701C081E0FD\r
+:1037A000CF9108951F920F920FB60F9211248F930D\r
+:1037B0009F93AF93BF938091AE01811113C080910D\r
+:1037C000AF019091B001A091B101B091B2014196C9\r
+:1037D000A11DB11D8093AF019093B001A093B101E1\r
+:1037E000B093B201BF91AF919F918F910F900FBE97\r
+:1037F0000F901F90189582E084BD93E095BD9AEFDD\r
+:1038000097BD80936E0008952FB7F8948091AF0113\r
+:103810009091B001A091B101B091B2012FBF089574\r
+:103820002FB7F8946091AF017091B0018091B10110\r
+:103830009091B2012FBF0895CF92DF92EF92FF9245\r
+:103840000F931F932FB7F8944091AF015091B0019F\r
+:103850006091B1017091B2012FBF6A017B01EE242A\r
+:10386000FF248C0120E030E0C016D106E206F3060A\r
+:1038700010F4415051099A01281B390BC9011F91BD\r
+:103880000F91FF90EF90DF90CF9008951F920F92CD\r
+:103890000FB60F9211248F939F93AF93BF93809194\r
+:1038A000AF019091B001A091B101B091B201019628\r
+:1038B000A11DB11D8093AF019093B001A093B10100\r
+:1038C000B093B201BF91AF919F918F910F900FBEB6\r
+:1038D0000F901F9018950E949A0DF8942FEF87EA89\r
+:1038E00091E6215080409040E1F700C0000087E061\r
+:1038F00090EBDC018093CB019093CC01A093CD01A0\r
+:10390000B093CE019CE088E10FB6F894A89580931F\r
+:1039100060000FBE90936000FFCFE92FF0E093E0CE\r
+:10392000EE0FFF1F9A95E1F7E80FF11DE855FF4FE5\r
+:103930009491892F8F7092959F700895CF93C82F7F\r
+:10394000CB010E948D1C492F90E0242F30E054E0E1\r
+:10395000220F331F5A95E1F7282B392B20383105D8\r
+:1039600019F480E090E017C0EC2FF0E023E0EE0FB8\r
+:10397000FF1F2A95E1F74770E40FF11D34E0EE0FC9\r
+:10398000FF1F3A95E1F7E80FF91FEE0FFF1FE05018\r
+:10399000F84985919491CF91089580E090E0089541\r
+:1039A00008958091B50180FF0CC08091100190E0D6\r
+:1039B00065E070E00E94932495958795959587958D\r
+:1039C0002EC081FF0AC08091100190E065E070E098\r
+:1039D0000E9493249595879522C082FF08C080910C\r
+:1039E000100190E065E070E00E94932418C02091DF\r
+:1039F000B6012223D1F030910F01231780F7809177\r
+:103A0000100190E065E070E00E949324622F70E066\r
+:103A10000E949324632F70E00E94B024CB01803871\r
+:103A2000910530F4009731F0089585E090E0089515\r
+:103A30008FE7089581E008958091B50180FF08C067\r
+:103A400060910E0170E0759567957595679523C037\r
+:103A500081FF06C060910E0170E0759567951BC0EF\r
+:103A600082FF04C060910E0170E012C06091B60147\r
+:103A70006623D1F020910D016217A0F780910E010D\r
+:103A800070E090E00E949324622F70E00E94B024C6\r
+:103A90006038710528F46115710521F0862F0895AD\r
+:103AA0008FE7089581E0089561E070E0F4CF803FF2\r
+:103AB00021F40E94D11C819504C0813F29F40E9409\r
+:103AC000D11C8093B9010895823F21F40E94D11C3A\r
+:103AD000819504C0833F29F40E94D11C8093B801D2\r
+:103AE0000895893F19F40E941C1D05C08A3F31F4D6\r
+:103AF0000E941C1D81958093BA0108958B3F21F48B\r
+:103B00000E941C1D819504C08C3F29F40E941C1D3D\r
+:103B10008093BB010895843F21F48091B7018160B7\r
+:103B200017C0853F21F48091B701826011C0863FA4\r
+:103B300021F48091B70184600BC0873F21F480910C\r
+:103B4000B701886005C0883F31F48091B70180617A\r
+:103B50008093B70108958D3F21F48091B501816074\r
+:103B60000BC08E3F21F48091B501826005C08F3F6C\r
+:103B700029F48091B50184608093B5010895803F58\r
+:103B800039F48091B90187FF6CC01092B90169C006\r
+:103B9000813F29F48091B9011816BCF362C090915D\r
+:103BA000B801823F29F497FF5CC01092B80159C058\r
+:103BB000833F19F41916CCF354C0893F41F4809126\r
+:103BC000BA0118160CF04DC01092BA014AC08A3FD3\r
+:103BD00029F48091BA0187FF44C0F6CF8B3F39F4B6\r
+:103BE0008091BB0187FF3DC01092BB013AC08C3F62\r
+:103BF00029F48091BB011816BCF333C0843F21F433\r
+:103C00008091B7018E7F17C0853F21F48091B70165\r
+:103C10008D7F11C0863F21F48091B7018B7F0BC04F\r
+:103C2000873F21F48091B701877F05C0883F31F439\r
+:103C30008091B7018F7E8093B70113C08D3F21F42F\r
+:103C40008091B5018E7F0BC08E3F21F48091B5012C\r
+:103C50008D7F05C08F3F29F48091B5018B7F8093C4\r
+:103C6000B5018091B80181110EC08091B901811117\r
+:103C70000AC08091BA01811106C08091BB018111F7\r
+:103C800002C01092B60108958091AD0183FF7EC0FD\r
+:103C90008AE394E00E9472058091B7011F928F938E\r
+:103CA00085E394E09F938F930E940B0683E394E057\r
+:103CB0000E9472058091B801282F082E000C330B4A\r
+:103CC0003F938F9380E394E09F938F930E940B0622\r
+:103CD0008EE294E00E9472058091B901282F082E8F\r
+:103CE000000C330B3F938F938BE294E09F938F9361\r
+:103CF0000E940B0689E294E00E9472058091BA014D\r
+:103D0000282F082E000C330B3F938F9386E294E00C\r
+:103D10009F938F930E940B0684E294E00E947205A9\r
+:103D20008091BB01282F082E000C330B3F938F93FB\r
+:103D300081E294E09F938F930E940B068EE194E0C2\r
+:103D40000E9472058091B6011F928F938BE194E0DF\r
+:103D50009F938F930E940B0689E194E00E94720565\r
+:103D60008091B5011F928F9386E194E09F938F938A\r
+:103D70000E940B0683E194E00E9472058DB79EB706\r
+:103D80004C960FB6F8949EBF0FBE8DBF87EB91E0A7\r
+:103D90000E946C100E94041C9093B4018093B301A4\r
+:103DA00008951F93CF93DF938091B3019091B40155\r
+:103DB0000E941C1CFC012091B601222329F0909145\r
+:103DC0001101892F90E007C08091120190E06AE014\r
+:103DD00070E00E949324E817F90708F485C08091E9\r
+:103DE000B801C091B901D091BA011091BB01811104\r
+:103DF00007C0C11175C0D11173C0111171C074C059\r
+:103E00002F3F19F02F5F2093B601181624F40E945B\r
+:103E1000D11C8093B8018091B80187FF05C00E9432\r
+:103E2000D11C81958093B8011C1624F40E94D11CEA\r
+:103E30008093B9018091B90187FF05C00E94D11C10\r
+:103E400081958093B9016091B801662331F1C091E9\r
+:103E5000B901CC2311F1062E000C770B880B990BBE\r
+:103E60000E94922323E333E343E35FE30E94F623BC\r
+:103E70000E945A236093B8016C2FCC0F770B880BEC\r
+:103E8000990B0E94922323E333E343E35FE30E9411\r
+:103E9000F6230E945A236093B9011