]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
usb_usb: Add unimap
authortmk <hasu@tmk-kbd.com>
Fri, 2 Sep 2016 04:45:47 +0000 (13:45 +0900)
committertmk <hasu@tmk-kbd.com>
Fri, 2 Sep 2016 04:45:47 +0000 (13:45 +0900)
converter/usb_usb/Makefile
converter/usb_usb/Makefile.editor [moved from converter/usb_usb/Makefile.keymap_editor with 73% similarity]
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/unimap.c [new file with mode: 0644]
converter/usb_usb/unimap_trans.h [new file with mode: 0644]

index a4ac27b28a47ce615d97a2e73c1be64f93be448e..1f09f87aee0de7aa21d2c48de858519909ec63be 100644 (file)
 #----------------------------------------------------------------------------
 
 # Target file name (without extension).
-TARGET = usb_usb
+TARGET ?= usb_usb
 
-TMK_DIR = ../../tmk_core
+TMK_DIR ?= ../../tmk_core
 
 # Directory keyboard dependent files exist
-TARGET_DIR = .
+TARGET_DIR ?= .
 
 # MCU name
-MCU = atmega32u4
+MCU ?= atmega32u4
 
 
 # Processor frequency.
@@ -61,7 +61,7 @@ MCU = atmega32u4
 #     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
 
 
 
@@ -69,7 +69,7 @@ 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
 #     input clock frequency (before any prescaling is performed) in Hz. This value may
@@ -81,7 +81,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
 
@@ -90,11 +90,11 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 # Build Options
 #   comment out to disable the options.
 #
-MOUSEKEY_ENABLE = yes  # Mouse keys
-EXTRAKEY_ENABLE = yes  # Media control and System control
-CONSOLE_ENABLE = yes   # Console for debug
-#COMMAND_ENABLE = yes    # Commands for debug and configuration
-#NKRO_ENABLE = yes     # USB Nkey Rollover
+MOUSEKEY_ENABLE ?= yes # Mouse keys
+EXTRAKEY_ENABLE ?= yes # Media control and System control
+CONSOLE_ENABLE ?= yes  # Console for debug
+#COMMAND_ENABLE ?= yes    # Commands for debug and configuration
+#NKRO_ENABLE ?= yes    # USB Nkey Rollover
 
 # Boot Section Size in bytes
 #   Teensy halfKay   512
@@ -108,16 +108,28 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 #OPT_DEFS += -DNO_ACTION_LAYER
 #OPT_DEFS += -DNO_ACTION_MACRO
 
-SRC =  usb_usb.cpp \
+SRC ?=  usb_usb.cpp \
        main.cpp
 
+#
+# 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_$(KEYMAP).c $(SRC)
+    SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
 else
-    SRC := keymap.c $(SRC)
+    SRC := $(KEYMAP_FILE).c $(SRC)
 endif
 
-CONFIG_H = config.h
+CONFIG_H ?= config.h
 
 
 
similarity index 73%
rename from converter/usb_usb/Makefile.keymap_editor
rename to converter/usb_usb/Makefile.editor
index 08293d5d08f6eba3547084b4dc26aef5a5e677ac..90feac973446c222973ea725b335961f48abd5ee 100644 (file)
@@ -1,5 +1,4 @@
-# build firmware for keymap editor
-#
+TARGET = usb_usb_editor
 KEYMAP_SECTION_ENABLE = yes    # fixed address keymap for keymap editor
 KEYMAP = editor
 include Makefile
diff --git a/converter/usb_usb/Makefile.unimap b/converter/usb_usb/Makefile.unimap
new file mode 100644 (file)
index 0000000..1d60e25
--- /dev/null
@@ -0,0 +1,4 @@
+TARGET = usb_usb_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+include Makefile
index 30d5deb1e5817b1428a45721d82e85b145192eda..0a8d7993905a0b48a230d2f689c8734c8dec7df1 100644 (file)
@@ -1,21 +1,31 @@
 USB to USB keyboard protocol converter
 ======================================
+See for detail and discussion.
+https://geekhack.org/index.php?topic=69169.0
+
 
 Hardware requirement
 --------------------
-Arduino Leonardo
-    http://arduino.cc/en/Main/ArduinoBoardLeonardo 
+There are two options.
+
+### TMK USB-USB Converter
+You can buy a fully assembled converter from me here.
 
-Circuit@Home USB Host Shield 2.0
+    https://geekhack.org/index.php?topic=69169.0
+
+### Arduino Leonardo + Circuit@Home USB Host Shield 2.0
+Buying Arduino Leonardo and USB Host Shield 2.0(from Circuit@home) will be better, you won't need even soldering iron.
+
+    http://arduino.cc/en/Main/ArduinoBoardLeonardo 
     https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino-assembled/
 
-Buying Arduino Leonardo and USB Host Shield 2.0(from Circuit@home) will be the easiest way, you won't need even soldering iron.
-Arduino's Shield will also work well but I think Sparkfun's needs to be modified.
+Other compatible boards like Arduino's Shield will also work well but I think Sparkfun's needs to be modified.
 
     http://arduino.cc/en/Main/ArduinoUSBHostShield
     https://www.sparkfun.com/products/9947
 
 Also Pro Micro 3.3V(not Mini) or Teensy with mini host shield will work with some fixes on signal/power routing.
+
     https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini
     https://www.sparkfun.com/products/12587
     https://www.pjrc.com/teensy/td_libs_USBHostShield.html
@@ -24,6 +34,8 @@ Also Pro Micro 3.3V(not Mini) or Teensy with mini host shield will work with som
 
 Build firmware
 --------------
+Build.
+
     $ git clone git://github.com/tmk/tmk_keyboard.git
     $ cd tmk_keyboard
     $ git submodule init
@@ -31,7 +43,12 @@ Build firmware
     $ cd converter/usb_usb
     $ make
 
-Program converter. Push reset button on Leonardo before run this command. Serial port name(COM17) depends your system. On Linux I got /dev/ttyACM0.
+And Program converter. Push button on TMK converter and just run this.
+
+    $ make dfu
+
+
+In case of Leonardo push reset button then run command. Serial port name(COM17) depends your system. On Linux I got /dev/ttyACM0.
 
     $ DEV=COM17 make program
     or
diff --git a/converter/usb_usb/binary/usb_usb_unimap.hex b/converter/usb_usb/binary/usb_usb_unimap.hex
new file mode 100644 (file)
index 0000000..b54173a
--- /dev/null
@@ -0,0 +1,1615 @@
+:100000000C944F020C94A1020C94A1020C94A10236\r
+:100010000C94A1020C94A1020C94A1020C94A102D4\r
+:100020000C94A1020C94A1020C946E1E0C94401F1F\r
+:100030000C94792C0C94A1020C94A1020C94A102B2\r
+:100040000C94A1020C94A1020C94A1020C94A102A4\r
+:100050000C94A1020C942E0B0C94A1020C94A102FE\r
+:100060000C94A1020C94A1020C94A1020C94A10284\r
+:100070000C94A1020C94A1020C94A1020C94A10274\r
+:100080000C94A1020C94A1020C94A1020C94A10264\r
+:100090000C94A1020C94A1020C94A1020C94A10254\r
+:1000A0000C94A1020C94A1020C94A102AD1FCF1FCD\r
+:1000B000BD20CF1FBD2014203720BD208C209F20C5\r
+:1000C0008F238F23BC23BC23172453244B264B267A\r
+:1000D0006B244B266625662521264B264B26372684\r
+:1000E000000102030405060708090A0B0C0D0E0F98\r
+:1000F000101112131415161718191A1B1C1D1E1F88\r
+:10010000202122232425262728292A2B2C2D2E2F77\r
+:10011000303132333435363738393A3B3C3D3E3F67\r
+:10012000404142434445464748494A4B4C4D4E4F57\r
+:10013000505152535455565758595A5B5C5D5E5F47\r
+:10014000606162636465666768696A6B6C6D6E6F37\r
+:1001500070717273808080808080808080808080D9\r
+:1001600080808080808080758074767780808080B9\r
+:10017000808080808080808080808080808080807F\r
+:10018000808080808080808080808080808080806F\r
+:10019000808080808080808080808080808080805F\r
+:1001A000808080808080808080808080808080804F\r
+:1001B000808080808080808080808080808080803F\r
+:1001C00078797A7B7C7D7E7F808080808080808053\r
+:1001D000808080808080808080808080808080801F\r
+:1001E0000A00253031366200253032643A20000A98\r
+:1001F000722F63203031323334353637383941424B\r
+:10020000434445460A00686F73742E5461736B3A19\r
+:100210002025640A000D0A0020253032580073742E\r
+:100220006174653A2020253032582025303258003C\r
+:10023000696E69743A20646F6E650A000D0A0020C9\r
+:100240002530325800696E7075742025643A20207C\r
+:10025000253032582025303258005B575D005B5303\r
+:100260005D005B525D005B445D005B435D003C03F1\r
+:10027000550053004200200074006F00200055001C\r
+:100280005300420020006B006500790062006F009F\r
+:10029000610072006400200063006F006E00760051\r
+:1002A0006500720074006500720000000E037400A7\r
+:1002B0002E006D002E006B002E00000004030904C8\r
+:1002C00009027400040100A03209040000010301C6\r
+:1002D00001000921110100012240000705810308E6\r
+:1002E000000A0904010001030102000921110100B3\r
+:1002F00001224D000705820308000A0904020001DB\r
+:1003000003000000092111010001223600070583C6\r
+:100310000308000A09040300020300000009211178\r
+:1003200001000122220007058403200001070504C3\r
+:10033000032000011201100100000008EDFE5B0027\r
+:100340001408010200010631FF0974A101097515A5\r
+:100350000026FF009520750881020976150026FF0A\r
+:1003600000952075089102C005010980A101850250\r
+:1003700016010026B7001A01002AB7007510950172\r
+:100380008100C0050C0901A1018503160100269C0E\r
+:10039000021A01002A9C02751095018100C0050116\r
+:1003A0000902A1010901A10005091901290515008A\r
+:1003B00025019505750181029501750381010501EE\r
+:1003C000093009311581257F9502750881060938A4\r
+:1003D0001581257F950175088106050C0A380215DF\r
+:1003E00081257F950175088106C0C005010906A118\r
+:1003F00001050719E029E715002501950875018118\r
+:1004000002950175088101050819012905950575F1\r
+:100410000191029501750391010507190029FF1546\r
+:100420000026FF00950675088100C00A00253032BD\r
+:100430005820006B6579626F6172645F7265706FDE\r
+:1004400072743A20004C45443A20253032580A0054\r
+:10045000290A002575002F002575005D28002564F8\r
+:100460000020002564002000256400200025640091\r
+:100470007C0025303258006D6F7573656B6579208F\r
+:100480005B62746E7C782079207620685D287265C6\r
+:10049000702F61636C293A205B008309820A112462\r
+:1004A0001FBECFEFDAE0DEBFCDBF04B603FE27C02C\r
+:1004B0008091810390918203A0918303B091840382\r
+:1004C0008730904BA740B04BD1F41092810310922B\r
+:1004D0008203109283031092840314BE84B7877F33\r
+:1004E00084BF0FB6F894A8958091600088618093CE\r
+:1004F0006000109260000FBEE0E0F8E3099511E0A3\r
+:10050000A0E0B1E0E0E5F2E602C005900D92A0396E\r
+:10051000B107D9F723E0A0E9B1E001C01D92A138ED\r
+:10052000B207E1F712E0CFE4D2E004C02197FE0168\r
+:100530000E940C31CD34D107C9F70E94BE090C943A\r
+:1005400026310C940000FF93EF93E0919001F0911D\r
+:100550009101309709F00995EF91FF910895FC0101\r
+:100560008591803011F0EFDFFBCF0895FF27E0E2A7\r
+:1005700030E247FF0CC0419597FF09C0EDE260955E\r
+:10058000709580959095611D711D811D911D27FFAE\r
+:1005900002C0219530E350E2AA27660F771F881F1B\r
+:1005A000991FAA1FA41710F0A41B63955A95A9F7C9\r
+:1005B000AA3008F0A95FA05DAF93F39561157105AE\r
+:1005C0008105910541F7ED3211F4EF93F395F217A0\r
+:1005D00018F43F93F395FBCF8F91B5DFFA95E1F7D0\r
+:1005E0000895E991F9918591803021F0853219F0D3\r
+:1005F000AADFF9CF089520E0E89455915532C1F370\r
+:10060000503311F4689455915A3348F4505390F391\r
+:10061000220F022E220F220F200D250FF4CF0EF4F1\r
+:10062000219589919991533619F3533729F153350F\r
+:1006300059F1BC0188279927E8945C3621F4899107\r
+:10064000999168945591543639F446EF7EF077FFCE\r
+:100650000DC08FEF9FEF0AC055374AE039F058358B\r
+:1006600040E121F0523642E009F00895FF93EF9304\r
+:100670007DDFEF91FF91B7CFFF93EF93FC01819165\r
+:100680008030B9F360DFFBCFFF93EF9368DFF1CFEA\r
+:10069000DF93CF93CDB7DEB72596A3DFCF91DF9160\r
+:1006A000089580E00895089580E0089581E0089518\r
+:1006B000CF93DF93CDB7DEB728970FB6F894DEBFA0\r
+:1006C0000FBECDBF29833A834B835C836D837E83CA\r
+:1006D0008F8398878091C902282B2093C902FE013D\r
+:1006E0003396AE01475F5F4F2191243088F080E060\r
+:1006F00090E0DC01A753BD4F12963C911297311147\r
+:1007000003C012962C9304C001968630910589F798\r
+:10071000E417F50749F728960FB6F894DEBF0FBE29\r
+:10072000CDBFDF91CF910895860F911D860F911D4A\r
+:10073000FC015687458781E00895CF93DF93EC0154\r
+:100740008C819D81DC01ED91FC910480F581E02D8F\r
+:100750006E8109951F86188A81E08A8B1E821B8A0A\r
+:100760001C8A1D8A1E8A1F8A80E0DF91CF9108951E\r
+:10077000FC018681089581E0633009F080E00895EE\r
+:1007800081E0613009F080E00895860F911D860FA9\r
+:10079000911DFC01858596850895FC018789089542\r
+:1007A000EF92FF92CF93DF93DC01E70152968C9199\r
+:1007B0005297823049F11F966C931F9750964C9335\r
+:1007C00050979B8193709330F9F49A8197FF1CC0E6\r
+:1007D0009E8158962C915897291718F458969C93F7\r
+:1007E0005897E82FF0E09F01220F331FE20FF31F0D\r
+:1007F000EA0FFB1F9A819F7097839C81908794E0FA\r
+:1008000091878F5F52968C93DF91CF91FF90EF90FD\r
+:100810000895EF92FF920F9302970E94D0030F91D9\r
+:10082000FF90EF9008950895DF92EF92FF920F935B\r
+:100830001F93CF93DF93CDB7DEB762970FB6F894CF\r
+:10084000DEBF0FBECDBFDC0157962C91222381F075\r
+:100850007C010E94930AF70103891489258936894E\r
+:10086000DC01CB01801B910BA20BB30BB7FF02C0C5\r
+:10087000D12C39C0838590E09A8B898B8E010F5FD4\r
+:100880001F4F9E012F5E3F4F428566818481958177\r
+:100890000E949513D82E811118C029893A892330D6\r
+:1008A000310598F0D7011D968D919C911E97009768\r
+:1008B00061F0DC01ED91FC910190F081E02D8E0161\r
+:1008C0000F5F1F4F40E0B70109950E94930AF7019F\r
+:1008D000208DDC01CB01820F911DA11DB11D838BE9\r
+:1008E000948BA58BB68B8D2D62960FB6F894DEBFD8\r
+:1008F0000FBECDBFDF91CF911F910F91FF90EF9071\r
+:10090000DF9008953F924F925F926F927F928F9205\r
+:100910009F92AF92BF92CF92DF92EF92FF920F938E\r
+:100920001F93CF93DF93CDB7DEB7EC970FB6F89454\r
+:10093000DEBF0FBECDBFDC0114968D909C90159745\r
+:1009400016963C91311139C1522E342E462E5C013F\r
+:10095000FC01108ED401ED91FC910190F081E02D0D\r
+:1009600060E0C40109957C01009711F486ED2AC16D\r
+:10097000FC01608071806114710409F420C165017B\r
+:10098000F7E0CF0ED11CDC011196DC92CE921496CA\r
+:100990005C928E01065D1F4F28E030E040E060E091\r
+:1009A000F501848195810E9458118CAF8111F8C0A6\r
+:1009B0001AA5D7016D927C92D401ED91FC91028031\r
+:1009C000F381E02D232D40E0642DC4010995F5014C\r
+:1009D0008683882309F4F5C099A99087282F40E0E1\r
+:1009E00060E0848195810E9403128CAFD401ED9167\r
+:1009F000FC91D70114961C92882359F00480F5814C\r
+:100A0000E02DD50116966C91C4010995F501168269\r
+:100A1000D2C00190F081E02DD50116966C91C401F1\r
+:100A20000995FC01892B09F4A1CF912F133108F00E\r
+:100A300092E15482992369F0292F30E08E01065DFE\r
+:100A40001F4F40E0F5016681848195810E94581115\r
+:100A50008CAF8CAD8111A7C0EBACF12C47E1642EBB\r
+:100A600041E0742E2501F2E04F0E511C4E0181E150\r
+:100A7000880E911CFE1449F17A8269825C824B8255\r
+:100A80001E86188A1F8619A21AA21BA219A69F8267\r
+:100A90008E82998688868D818B878A879D868C86B3\r
+:100AA0008E010F5F1F4F2F2D40E0D50116966C91E0\r
+:100AB000169714968D919C9115970E94A611F50199\r
+:100AC0008289823011F0F394D5CFD50152968C9162\r
+:100AD000823019F081ED8CAF66C0960142E0F501DD\r
+:100AE0006681848195810E94920C8CAF68EE73E0E0\r
+:100AF00080E090E00E94950AD5011F962C911F97E7\r
+:100B000040E016966C91169714968D919C911597CE\r
+:100B10000E9470138CAF811146C068EE73E080E0D4\r
+:100B200090E00E94950A40E060E0C5010E946615D1\r
+:100B30008CAF811138C020E040E060E0C5010E9428\r
+:100B40003C158CAF8DE191E09A838983AE014F5FB4\r
+:100B50005F4F60E070E0C5010E94CB1480E28CAF73\r
+:100B60008CAD8823C1F090E0959587958CAFFE0100\r
+:100B7000FC966F01EE24E394F12C00E022E040E0CB\r
+:100B800060E0C5010E940E1569E170E080E090E030\r
+:100B90000E94950AE5CF91E0D50157969C9312C02B\r
+:100BA000F70171826082D501ED91FC910480F5819D\r
+:100BB000E02DC50109958CAD05C089ED03C087ED19\r
+:100BC00001C084EDEC960FB6F894DEBF0FBECDBF2A\r
+:100BD000DF91CF911F910F91FF90EF90DF90CF9019\r
+:100BE000BF90AF909F908F907F906F905F904F904D\r
+:100BF0003F9008950F931F93CF93DF936091C901A6\r
+:100C00007091CA01E0919801F09199014091BD0164\r
+:100C10005091BE012091B1013091B2018091A501A6\r
+:100C20009091A6016E177F07B1F4E0919601F091C3\r
+:100C300097014E175F0779F4E0919401F0919501C7\r
+:100C40002E173F0741F4E0919201F09193018E1726\r
+:100C50009F0709F49DC07093990160939801509388\r
+:100C600097014093960130939501209394019093BE\r
+:100C7000930180939201E9ECF2E088E0DF011D929C\r
+:100C80008A95E9F72091C1013091C2014091C301D9\r
+:100C90005091C4016091C5017091C6018091C70156\r
+:100CA0009091C8010E9458032091B5013091B6017E\r
+:100CB0004091B7015091B8016091B9017091BA01AA\r
+:100CC0008091BB019091BC010E9458032091A90121\r
+:100CD0003091AA014091AB015091AC016091AD01FE\r
+:100CE0007091AE018091AF019091B0010E945803C4\r
+:100CF00020919D0130919E0140919F015091A00152\r
+:100D00006091A1017091A2018091A3019091A40131\r
+:100D10000E94580381E08093C8028091690380FF9C\r
+:100D200014C08091CA021F928F938091C9021F92B2\r
+:100D30008F938EE192E09F938F930E9448030F90D0\r
+:100D40000F900F900F900F900F90C0E0D0E008E14F\r
+:100D500012E08091690380FF0EC0FE01E753FD4F52\r
+:100D600082811F928F931F930F930E9448030F90CD\r
+:100D70000F900F900F902196C630D10551F78091BA\r
+:100D8000690380FF07C085E192E00E94AF0202C0C4\r
+:100D90001092C8020E94EC0AEC0181E592E00E94E8\r
+:100DA000CC13CE010E94040B8536910580F0209172\r
+:100DB000690320FF0CC09F938F9386E092E09F937E\r
+:100DC0008F930E9448030F900F900F900F9081E037\r
+:100DD000DF91CF911F910F910895482F50E0CA01E4\r
+:100DE00024E0880F991F2A95E1F7805E9109089702\r
+:100DF00030F48091C902882311F090E002C080E0B5\r
+:100E000090E0EBECF2E0A1E0B0E036E03E0F2191A3\r
+:100E1000243080F0622F62956F7070E0461757079C\r
+:100E200049F42F70BD0102C0660F771F2A95E2F7C3\r
+:100E3000862B972B3E13EBCF0895EF92FF920F93E3\r
+:100E40001F93CF93DF938FEE91E00E94AF02C0E03B\r
+:100E5000D0E088EEE82E81E0F82E02EE11E0DF937C\r
+:100E6000CF93FF92EF920E9448038C2F0E94ED06D1\r
+:100E70000E94492C9F938F931F930F930E944803C6\r
+:100E800080EE91E00E94AF0221968DB79EB7089642\r
+:100E90000FB6F8949EBF0FBE8DBFC031D105F9F6D5\r
+:100EA000DF91CF911F910F91FF90EF900895CF9216\r
+:100EB000DF92EF92FF920F93CF93DF931F92CDB704\r
+:100EC000DEB78983CE0101966C01EE24E394F12C08\r
+:100ED00000E022E040E060E086E192E00E940E1532\r
+:100EE00022E040E060E08DEF91E00E940E1522E0EC\r
+:100EF00040E060E084EE91E00E940E1522E040E0C8\r
+:100F000060E08BEC91E00E940E150F90DF91CF9185\r
+:100F10000F91FF90EF90DF90CF900895FC017583C3\r
+:100F2000648383E291E09183808381E491E0938301\r
+:100F30008283138A148A158A168A178A178288E090\r
+:100F400080878CE381871286138684E0848781E022\r
+:100F5000828B118A17861686158661157105B1F088\r
+:100F6000DB01AA5ABF4F80E090E02D913D91232BE9\r
+:100F700049F48B96880F991FDB01A80FB91FED93D9\r
+:100F8000FC93089501968031910579F708952E9A82\r
+:100F900008952E988EBD0DB407FEFDCF1EBC0DB476\r
+:100FA00007FEFDCF0E94C7078EB508952E98826078\r
+:100FB0008EBD0DB407FEFDCF6EBD0DB407FEFDCF97\r
+:100FC0000C94C70788EF0E94C907807C8034A1F089\r
+:100FD00018F4882301F10895803819F0803CB9F0A5\r
+:100FE000089588ED0E94C90781FD0BC069EC88ED6A\r
+:100FF0000E94D60782E00CC088ED0E94C90781FDDF\r
+:10100000F5CF6BEC88ED0E94D60783E001C081E04C\r
+:1010100080939A01089561ED88ED0E94D6071092A1\r
+:101020009A0108950F931F93CF93DF938C01269A13\r
+:101030000E94C707219A229A2398209A80E58CBDA6\r
+:1010400081E08DBD259868E188E80E94D60760E2BE\r
+:1010500088E70E94D60760E088E70E94D607C1E0D3\r
+:10106000D0E0209799F088E60E94C907219680FF7A\r
+:10107000F8CF61EC88ED0E94D60760E680ED0E9413\r
+:10108000D60764E088EE0E94D60702C08FEF11C039\r
+:1010900088EE0E94C90782FFFBCFC8010E94E207C9\r
+:1010A00060E288EC0E94D60761E080E80E94D607E3\r
+:1010B00080E0DF91CF911F910F91089581E592E03B\r
+:1010C0000E9412088FEB91E09093240280932302F8\r
+:1010D00083EB91E090930B0280930A0287EA91E000\r
+:1010E0009093F2018093F1018BE991E09093D90103\r
+:1010F0008093D8010895EF92FF920F931F93CF939F\r
+:10110000DF93EC017B018A0188A1823029F128F468\r
+:10111000882341F0813081F0C9C0833019F18430D7\r
+:10112000D9F1C4C082E08C832D813E8138872F8322\r
+:101130008A87898781E088A3A801B701CE01079635\r
+:101140000E945819811102C080E0B1C0ED81FE817A\r
+:10115000808189A381818AA3CE0142969E838D835B\r
+:1011600083E088A38AA1843059F018F4823049F0D2\r
+:101170000AC0853039F0813231F489A1825002C031\r
+:101180001BA287E08C838D819E8198878F838C81C1\r
+:101190008A87898784E088A38AA1843081F085309A\r
+:1011A00091F1823009F050C0A801B701CE01079635\r
+:1011B0000E945819882341F28D898CA372C0A8011E\r
+:1011C000B701CE0107960E945819882309F4BCCFB5\r
+:1011D0008D89833009F065C08E89813009F061C046\r
+:1011E00098A58F89992321F0882309F45AC003C058\r
+:1011F000813009F056C091E09BA39A899EA39B89F8\r
+:101200009FA38DA34EC0A801B701CE0107960E94EF\r
+:101210005819882309F498CF8BA1882309F441C079\r
+:101220008A819B810097E9F1DC01ED91FC910190AD\r
+:10123000F081E02D7E01B0E1EB0EF11C0DA12FA19C\r
+:101240004EA16CA109952DC089A19D85992319F006\r
+:101250009130E9F021C090E002979F878E8781E06E\r
+:101260008D8715C0F80120813181232BA9F00197CA\r
+:101270009F878E87F701808191810196918380837A\r
+:10128000D8018D919C91119701978D939C938E8598\r
+:101290009F85009739F71D868E859F85892B09F0DC\r
+:1012A00053CFCE0140969E838D8318A281E0DF91BB\r
+:1012B000CF911F910F91FF90EF9008950F931F937F\r
+:1012C000CF93DF9300D000D0CDB7DEB78C017C8305\r
+:1012D0006B835A8349832B813C81232B59F0AE01C8\r
+:1012E0004D5F5F4FBE016F5F7F4FC8010E947B085B\r
+:1012F0008111F1CF0F900F900F900F90DF91CF9150\r
+:101300001F910F91089581E592E00E943D0C61E5E7\r
+:1013100072E080E492E00E94EB1761E572E08FE2F8\r
+:1013200092E00E94EB1761E572E086E192E00E9494\r
+:101330008E0761E572E08DEF91E00E948E0761E516\r
+:1013400072E084EE91E00E948E0761E572E08BEC22\r
+:1013500091E00E948E0787E491E09093C001809312\r
+:10136000BF019093B4018093B3019093A80180933F\r
+:10137000A70190939C0180939B010895569A5E9AD1\r
+:1013800080916903816084608093690380E091E0CB\r
+:101390000E94D5200E94662184B7877F84BF0FB644\r
+:1013A000F894A89580916000886180936000109205\r
+:1013B00060000FBE90E080E80FB6F8948093610063\r
+:1013C000909361000FBE0E94F31D0E94501E8091F9\r
+:1013D000E20084608093E20087EB99E10E942E2C6A\r
+:1013E0007894809178038430E1F78091690380FFDD\r
+:1013F00009C02FEF83ED90E3215080409040E1F74A\r
+:1014000000C000008091690380FF04C080E392E087\r
+:101410000E94AF020E946A21FDCFEF92FF920F93CC\r
+:101420001F93CF93DF93EC017B01DC01129688E0E0\r
+:10143000F80101900D928A95E1F70E94930A7B874B\r
+:101440006A878091690380FF1EC00B811A81D701D2\r
+:10145000ED91FC910084F185E02DC70109951F9263\r
+:101460000F931F921F931F928F9385E492E09F9397\r
+:101470008F930E9448038DB79EB708960FB6F894D5\r
+:101480009EBF0FBE8DBF249616E08FE3E82E82E04C\r
+:10149000F82E8091690380FF0BC088811F928F9383\r
+:1014A000FF92EF920E9448030F900F900F900F90C1\r
+:1014B000115021961111EDCF8091690380FF0AC070\r
+:1014C0008CE392E0DF91CF911F910F91FF90EF900D\r
+:1014D0000C94AF02DF91CF911F910F91FF90EF908D\r
+:1014E0000895089580E090E008958FEF9FEF0895AC\r
+:1014F0008FEF9FEF08950895862F0E94B71981E01E\r
+:1015000090E00895E1EDF2E01382128288EE93E01C\r
+:10151000A0E0B0E084839583A683B7838DE491E057\r
+:101520009183808308950C94F80A8F929F92AF92D2\r
+:10153000BF92CF92DF92EF92FF920E94C82F4B0191\r
+:101540005C0120E030E04AE755E40E947F306B0107\r
+:101550007C0120E030E040E85FE30E948D2F87FDB2\r
+:1015600024C020E03FEF4FE757E4C701B6010E94D7\r
+:101570007A301816ACF420E030E040E251E4C501C6\r
+:10158000B4010E947F300E94992F20E931E061155B\r
+:10159000710581F0C9010197F1F761507109F7CF29\r
+:1015A000C701B6010E94992F02C061E070E0CB0133\r
+:1015B0000197F1F7FF90EF90DF90CF90BF90AF9041\r
+:1015C0009F908F90089582E084BD93E095BD9AEF3F\r
+:1015D00097BD80936E0008952FB7F8948091DF0235\r
+:1015E0009091E002A091E102B091E2022FBF089534\r
+:1015F0002FB7F8946091DF027091E0028091E102D0\r
+:101600009091E2022FBF0895CF92DF92EF92FF9266\r
+:101610000F931F932FB7F8944091DF025091E0028F\r
+:101620006091E1027091E2022FBF6A017B01EE241A\r
+:10163000FF248C0120E030E0C016D106E206F3065C\r
+:1016400010F4415051099A01281B390BC9011F910F\r
+:101650000F91FF90EF90DF90CF9008951F920F921F\r
+:101660000FB60F9211248F939F93AF93BF938091E6\r
+:10167000DF029091E002A091E102B091E2020196B6\r
+:10168000A11DB11D8093DF029093E002A093E102BF\r
+:10169000B093E202BF91AF919F918F910F900FBED7\r
+:1016A0000F901F901895CF93DF93FC01862F8078C1\r
+:1016B00009F051C0283008F04FC0442321F0958133\r
+:1016C000973009F449C0EF012D96A0E0B0E01196E3\r
+:1016D0009881911103C0662331F021C02596AF3067\r
+:1016E000B105A9F739C085E08A9FE0018B9FD00D35\r
+:1016F0001124CE0FDF1F442331F081E488878581D8\r
+:101700008F5F858302C081E0888725E02A9FC00122\r
+:101710002B9F900D1124E80FF91F80851DC0677065\r
+:10172000660F660F660F442341F0606485818F5F0A\r
+:1017300085838770687F682B03C02770687B622B66\r
+:1017400025E02A9FC0012B9F900D1124E80FF91F5F\r
+:101750006087862F01C080E0DF91CF910895DF92EE\r
+:10176000EF92FF920F931F93CF93DF93EC01E62E3E\r
+:10177000F12C85E0689FB0011124FE01E60FF71FF0\r
+:101780008085182F177086FF21C001E085E0D82ED4\r
+:101790008FEF800F8F3008F001E0FE01D09EE00D4A\r
+:1017A000F11D112480858695869586958770811315\r
+:1017B00005C0602FCE010E94AF0BEACF0F5F003152\r
+:1017C00061F78D81811302C011501D8385E08E9DCC\r
+:1017D000F0018F9DF00D1124EC0FFD1F108681E0AC\r
+:1017E000818712862296D783C683DF91CF911F917E\r
+:1017F0000F91FF90EF90DF900895611102C006965F\r
+:101800000895FC013D9621E03081361307C035E094\r
+:10181000239F800D911D1124069608952F5F359604\r
+:10182000203191F780E090E00895FC016134C1F42B\r
+:101830003F969C01265A3F4F61E0AC014E5F5F4FDF\r
+:10184000DF0112971C9211966C93108213974D939F\r
+:101850005C933596E217F30799F7FC01158208951A\r
+:101860003D9621E03081361303C0622F0C94AF0BFC\r
+:101870002F5F35962031B1F70895CF93DF93FC01A8\r
+:101880008FE591E0918380831582108681E08187C6\r
+:101890001286CF01029697838683128228E02383E3\r
+:1018A0002CE32483DF011F969F01265A3F4F41E01E\r
+:1018B000ED0122971882219648831C9223979983E1\r
+:1018C00088831596A217B30799F7EA58FF4F10823D\r
+:1018D00081E18093E702DF91CF910895CF93DF9369\r
+:1018E0001F92CDB7DEB749830E94FD0B4981009757\r
+:1018F00089F0DC01ED91FC911197309759F0139626\r
+:101900009C9180E0891731F02081241731F03396C3\r
+:101910008F5FF8CF80E090E001C0CF010F90DF91A2\r
+:10192000CF9108950F931F93CF93DF932115310526\r
+:1019300071F0E901042F162F0E94FD0BFC01892B89\r
+:1019400041F01283D183C083038380E003C088ED1C\r
+:1019500001C086EDDF91CF911F910F910895CF9235\r
+:10196000DF92FF920F931F93CF93DF93662381F152\r
+:10197000F62E8C016C0186E5C80ED11CC0E0D0E0CB\r
+:10198000D6018D919D916D010097F1F0DC01ED91F3\r
+:10199000FC910084F185E02D09958F1115C0AB965F\r
+:1019A000CC0FDD1FC00FD11F88819981DC01ED9123\r
+:1019B000FC910480F581E02DDF91CF911F910F9173\r
+:1019C000FF90DF90CF9009942196C031D105C1F6E8\r
+:1019D00080E0DF91CF911F910F91FF90DF90CF902A\r
+:1019E00008952E980895CF93DF931F92CDB7DEB759\r
+:1019F00089830E94F10C89818EBD0DB407FEFDCF55\r
+:101A00001EBC0DB407FEFDCF0E94C7078EB50F9018\r
+:101A1000DF91CF910895CF93DF9300D0CDB7DEB79C\r
+:101A20006A8389830E94F10C898182608EBD6A81FC\r
+:101A30000DB407FEFDCF6EBD0DB407FEFDCF0F90B8\r
+:101A40000F90DF91CF910C94C7078F929F92AF9226\r
+:101A5000BF92DF92EF92FF920F931F93CF93DF938A\r
+:101A60001F92CDB7DEB74C01D62E590149830E9493\r
+:101A7000FD0B7C014981009709F440C0FC01808185\r
+:101A80009181892BE9F16D2DC4010E946E0CF50145\r
+:101A9000918380830097B1F1FC01228126952695E0\r
+:101AA00030E02031310514F02FE030E081E090E0AB\r
+:101AB000A0E0B0E004C0880F991FAA1FBB1F2A95A1\r
+:101AC000D2F70197F801918380836D2D80EE0E94FB\r
+:101AD0000B0D88ED0E94F30C682FF7018481882399\r
+:101AE00039F0F401EA58FF4F80818260682B01C011\r
+:101AF000697F88ED0E940B0D80E005C086ED03C074\r
+:101B000087ED01C08BED0F90DF91CF911F910F9169\r
+:101B1000FF90EF90DF90BF90AF909F908F900895CF\r
+:101B20008F929F92AF92BF92CF92DF92EF92FF92ED\r
+:101B30000F931F93CF93DF93862E942E59010E940B\r
+:101B4000930A6B017C0128E8C20E23E1D21EE11C3E\r
+:101B5000F11C00E010E0D0E0C0E098280E94930A59\r
+:101B6000DC01CB018C199D09AE09BF09B7FF2DC05F\r
+:101B7000692D80EF0E940B0D0E94930ADC01CB01BE\r
+:101B80008C199D09AE09BF09B7FF09C088EC0E94F6\r
+:101B9000F30C87FFF1CF60E888EC0E940B0D88EF13\r
+:101BA0000E94F30CC82FCF70C43019F0CE3051F022\r
+:101BB0000CC00F5F1F4FA114B10481F20A151B0561\r
+:101BC00069F603C0DF5FD33049F68C2FDF91CF91E8\r
+:101BD0001F910F91FF90EF90DF90CF90BF90AF904B\r
+:101BE0009F908F9008959F92AF92BF92CF92DF9275\r
+:101BF000EF92FF920F931F93CF93DF937C01C42F3B\r
+:101C0000122F992493946C01C60ED11CC60ED11CC0\r
+:101C100086E5C80ED11CA42EB12CABE2AA0EB11CD5\r
+:101C2000AA0CBB1CAE0CBF1CF60180819181DC01AB\r
+:101C3000ED91FC910280F381E02D202F412F6C2F3C\r
+:101C40000995803EC9F4C1110BC061E088EE0E9485\r
+:101C50000B0D66E670E080E090E00E94950A16C0E9\r
+:101C6000F50180819181DC01ED91FC910284F38585\r
+:101C7000E02D612F09950AC08D3031F49FEF990D49\r
+:101C8000933008F040C016C081113DC0F60180813C\r
+:101C90009181DC01ED91FC910190F081E02D202FEC\r
+:101CA000412F6C2F0995D82F8D3061F48FEF890D5E\r
+:101CB000833050F464E670E080E090E00E94950A82\r
+:101CC0009394B2CF8823F1F0C1110BC061E088EE8C\r
+:101CD0000E940B0D66E670E080E090E00E94950A9D\r
+:101CE00011C0EC2FF0E0BB96EE0FFF1FEE0DFF1DB5\r
+:101CF00080819181DC01ED91FC910284F385E02DDE\r
+:101D0000612F09958D2FDF91CF911F910F91FF903A\r
+:101D1000EF90DF90CF90BF90AF909F9008950F937A\r
+:101D20001F93CF93DF9300D0CDB7DEB78A016A83CC\r
+:101D300089830E94F10C898182608EBDF8016A81DD\r
+:101D4000862F882339F00DB407FEFDCF91919EBDFB\r
+:101D50008150F7CF060F111D0DB407FEFDCF0E9475\r
+:101D6000C707C8010F900F90DF91CF911F910F917E\r
+:101D700008952F923F924F925F926F927F928F922F\r
+:101D80009F92AF92BF92CF92DF92EF92FF920F930A\r
+:101D90001F93CF93DF9300D000D01F92CDB7DEB753\r
+:101DA0007D836C835A016901FB0121808FEF820DD5\r
+:101DB000803408F075C00E94930A2B013C01F8E8BA\r
+:101DC0004F0EF3E15F1E611C711CEC81FD8182816D\r
+:101DD00080FD02C060E401C060E888EE0E940B0D47\r
+:101DE00020E0312CC114D10409F44AC076012C142E\r
+:101DF0003D0408F47101EA82A8016E2D80E10E9481\r
+:101E00008F0E6E2D88E30E940B0DEC81FD816081A9\r
+:101E1000606280EF0E940B0D88EC0E94F30C87FF3C\r
+:101E2000FBCF60E888EC0E940B0D88EF0E94F30C5A\r
+:101E3000282F2F70812C912C1982222361F02B8363\r
+:101E40000E94930ADC01CB0184199509A609B70900\r
+:101E50002B81B7FD05C0CE18DF080E0D1F1DC2CFA8\r
+:101E6000263001F12E3009F456C0243049F4FFEF3A\r
+:101E70008F1A9F0AA114B10459F18A149B0441F5E9\r
+:101E800088EF2B830E94F30C85FB882780F9EC8177\r
+:101E9000FD81928180FB90F992832B81822F41C03A\r
+:101EA0008AED3FC088EF0E94F30C85FB882780F9FC\r
+:101EB00091E08927EC81FD81928180FB90F99283EA\r
+:101EC00090FD02C060E401C060E888EE0E940B0D46\r
+:101ED00060E088E30E940B0DF801608180E10E94C0\r
+:101EE0000B0D6A8188E30E940B0DEC81FD816081FE\r
+:101EF000606280EF0E940B0D88EC0E94F30C87FF5C\r
+:101F0000FBCF60E888EC0E940B0D88EF0E94F30C79\r
+:101F1000282F2F7092CF89818F5F89838330C1F6FC\r
+:101F2000AFCF0F900F900F900F900F90DF91CF9148\r
+:101F30001F910F91FF90EF90DF90CF90BF90AF90E7\r
+:101F40009F908F907F906F905F904F903F902F90D9\r
+:101F500008952F923F924F925F926F927F928F924D\r
+:101F60009F92AF92BF92CF92DF92EF92FF920F9328\r
+:101F70001F93CF93DF9300D000D01F92CDB7DEB771\r
+:101F80005C017D836C834A017901F901C080D180B5\r
+:101F9000FB014180F90111821082FB01828181FDE8\r
+:101FA00002C060E101C060E288EE0E940B0D3C2C93\r
+:101FB0009401EC81FD81408160E0C5010E94900D9B\r
+:101FC000582EF6E08F1316C088EF0E94F30C82950E\r
+:101FD000817091E08927EC81FD81928180FB91F9EC\r
+:101FE000928391FD02C060E101C060E288EE0E9430\r
+:101FF0000B0DDECF81115BC088EC0E94F30C82FFD9\r
+:1020000054C080E30E94F30C282E282F30E0C21623\r
+:10201000D30608F4232CF70120813181622C712C26\r
+:10202000A601421B530B57FF02C040E050E0930152\r
+:10203000461557050CF49A0129833A832B830E9495\r
+:10204000F10CF8E0FEBD8B813A8129810DB407FEC9\r
+:10205000FDCFF801882341F01EBC81500DB407FE6E\r
+:10206000FDCF4EB54193F6CF020F131F0E94C70755\r
+:1020700064E088EC0E940B0DF70120813181620E33\r
+:10208000731E71826082241420F06C147D0408F4A5\r
+:102090008FCF88EF0E94F30C82958170EC81FD81D7\r
+:1020A000928180FB91F9928302C080EF582E852D9A\r
+:1020B0000F900F900F900F900F90DF91CF911F9185\r
+:1020C0000F91FF90EF90DF90CF90BF90AF909F90D7\r
+:1020D0008F907F906F905F904F903F902F900895DA\r
+:1020E0002F923F924F925F926F927F928F929F9228\r
+:1020F000AF92BF92CF92DF92EF92FF920F931F9316\r
+:10210000CF93DF93CDB7DEB762970FB6F894DEBFFB\r
+:102110000FBECDBF3C01542ED22E402E5E2D2FA0DF\r
+:1021200038A4E9A4FAA4188A1F861E861D868E018B\r
+:10213000035F1F4F9E01215F3F4F598B0E94250D6A\r
+:10214000598981119CC0D9824A825B83CC82BE822C\r
+:10215000AD8298868F82AE014F5F5F4F68E080E26C\r
+:102160000E948F0E2D853E85452D60E1C3010E94A2\r
+:10217000900D182F81117FC0BD2CBB1CBB24BB1C34\r
+:10218000E114F10409F46AC0EF85F8898281BB206B\r
+:1021900009F455C0826082836401AA24A394C11407\r
+:1021A000D10409F449C03C862B864D855E856F8538\r
+:1021B000788987019E01255F3F4FC3010E94A90FC7\r
+:1021C000182F8630B1F42F85388988EF298B3A8B08\r
+:1021D0000E94F30C85FB882780F98A2529893A8992\r
+:1021E000D90112969C91129780FB91F912969C93BB\r
+:1021F000D6CF811140C0EBA5FCA53097A1F001908E\r
+:10220000F081E02D0190F081E02DC4018C199D0931\r
+:102210009A8789876B857C859E01275F3F4FA70141\r
+:102220008BA59CA509958B859C85C81AD90A821512\r
+:10223000930508F0B4CF12C011111DC014C0816005\r
+:1022400082834D855E8587019101BF01C3010E9494\r
+:10225000B90E811114C02D853E850FC02D853E8598\r
+:10226000B11003C00AC02D853E8560EA452DC3012B\r
+:102270000E94900D04C0812F02C060E8F7CF6296E3\r
+:102280000FB6F894DEBF0FBECDBFDF91CF911F9187\r
+:102290000F91FF90EF90DF90CF90BF90AF909F9005\r
+:1022A0008F907F906F905F904F903F902F90089508\r
+:1022B0008F929F92AF92BF92CF92EF920F931F9304\r
+:1022C0001F921F921F930F933F932F934901A12CAD\r
+:1022D000B12CCC24C394E12C06E020E80E947010BD\r
+:1022E0000F900F900F900F900F900F901F910F91E4\r
+:1022F000EF90CF90BF90AF909F908F9008958F9266\r
+:102300009F92AF92BF92CF92EF92FF920F931F9244\r
+:102310001F92FF92EF923F932F934901A12CB12C72\r
+:1023200022E0C22EE02E06E020E80E9470100F90FE\r
+:102330000F900F900F900F900F900F91FF90EF90D4\r
+:10234000CF90BF90AF909F908F9008954F925F92E3\r
+:102350006F927F928F929F92AF92BF92CF92DF92B5\r
+:10236000EF92FF920F931F93CF93DF93CDB7DEB71A\r
+:10237000C054D1090FB6F894DEBF0FBECDBF3C01EB\r
+:10238000D62E542E422EC02ECE0101965C017C0129\r
+:10239000022F29E030E0C3010E947F1181111BC090\r
+:1023A0008B809C801F93CF92BF92AF921F9280E44C\r
+:1023B0008F93A12CB12C82E0C82EE42C06E020E8FB\r
+:1023C000452D6D2DC3010E9470100F900F900F903E\r
+:1023D0000F900F900F90C05CDF4F0FB6F894DEBFE8\r
+:1023E0000FBECDBFDF91CF911F910F91FF90EF9066\r
+:1023F000DF90CF90BF90AF909F908F907F906F9025\r
+:102400005F904F9008958F929F92AF92BF92CF921C\r
+:10241000EF920F93CF931F921F921F921F921F92C2\r
+:102420001F92812C912CA12CB12CC12CE22E05E005\r
+:1024300020E00E947010C82F6CE271E080E090E014\r
+:102440000E94950A0F900F900F900F900F900F9091\r
+:102450008C2FCF910F91EF90CF90BF90AF909F9026\r
+:102460008F9008950F931F93CF93DF938A3F3FEF91\r
+:10247000930711F486ED2DC0DC011696ED91FC91C9\r
+:102480001797EF2B09F1122F242FEC011A8740E048\r
+:102490000E94530B082F8823C9F0682FCE010E9499\r
+:1024A000FD0B009739F3FC011483202F40E060E01E\r
+:1024B000CE010E940312182F882351F0602FCE0105\r
+:1024C0000E94150C812F05C087ED03C084ED01C06B\r
+:1024D00080E0DF91CF911F910F9108952F923F924D\r
+:1024E0004F925F926F927F928F929F92AF92BF9224\r
+:1024F000CF92DF92EF92FF920F931F93CF93DF93D0\r
+:10250000CDB7DEB766970FB6F894DEBF0FBECDBF6E\r
+:102510001B8A38E03C8B3CE33D8B8A3F3FEF9307BF\r
+:1025200009F4ADC0B22E342EA62E7C01DC01169625\r
+:10253000CD90DC901797CE01439617969C938E937F\r
+:1025400016971A962C938E010F5F1F4F22E130E0F1\r
+:1025500040E060E0C7010E945811F701D782C682AF\r
+:102560008111A5C069847A844B845C843D813E8B53\r
+:102570002E80670186E5C80ED11C460110E0D4010B\r
+:102580008D919C91009789F1DC01ED91FC91008483\r
+:10259000F185E02D0995811128C0F4018081918198\r
+:1025A000DC01ED91FC910088F189E02D622D099507\r
+:1025B0008823D9F0F40180819181DC01ED91FC91B7\r
+:1025C0000484F585E02DA201B3010995811159C05C\r
+:1025D000F40180819181DC01ED91FC910684F78505\r
+:1025E000E02D6E89099581114CC01F5FB2E08B0E02\r
+:1025F000911C103121F610E0F60180819181009745\r
+:1026000089F1DC01ED91FC910084F185E02D0995C3\r
+:10261000811128C0F60180819181DC01ED91FC914E\r
+:102620000088F189E02D622D09958823A9F1F60132\r
+:1026300080819181DC01ED91FC910484F585E02D90\r
+:10264000A201B301099581110DC0F601808191812C\r
+:10265000DC01ED91FC910684F785E02D6E890995EA\r
+:102660008823D1F01F5FB2E0CB0ED11C103121F6D0\r
+:102670002B2D432D6A2DC7010E94321218C086ED02\r
+:1026800016C00B2D232D4A2D612FC7010E94F30D7B\r
+:10269000813D09F4AACF0BC00B2D232D4A2D612FAC\r
+:1026A000C7010E94F30D982F977F913DD9F266964E\r
+:1026B0000FB6F894DEBF0FBECDBFDF91CF911F9153\r
+:1026C0000F91FF90EF90DF90CF90BF90AF909F90D1\r
+:1026D0008F907F906F905F904F903F902F900895D4\r
+:1026E0008F929F92AF92BF92CF92EF920F931F92D1\r
+:1026F0001F921F921F921F921F92812C912CA12C2E\r
+:10270000B12CC12CE22E09E020E00E9470100F9045\r
+:102710000F900F900F900F900F900F91EF90CF9020\r
+:10272000BF90AF909F908F900895AF92BF92CF923D\r
+:10273000DF92EF92FF920F931F93CF93DF9300D01E\r
+:1027400000D0CDB7DEB77C01690158011C821B8225\r
+:102750001A8219828E010F5F1F4F9E012D5F3F4F1E\r
+:102760000E94250D811109C049815A816B817C81AC\r
+:1027700085019601C7010E94A90F0F900F900F903D\r
+:102780000F90DF91CF911F910F91FF90EF90DF900D\r
+:10279000CF90BF90AF900895AF92BF92CF92DF924B\r
+:1027A000EF92FF920F931F93CF938C011D990EC050\r
+:1027B00088EC0E94F30C85FF05C0C8010E94E20767\r
+:1027C00060E201C060E088EC0E940B0D80919A01EC\r
+:1027D000813039F040F0823079F0833039F5C1E052\r
+:1027E0000CC083E106C08091E702807F8031F1F068\r
+:1027F00081E18093E7021AC0C0E08091E702807F08\r
+:102800008031A9F40E94930ADC01CB0188539F4FC9\r
+:10281000AF4FBF4F8093E3029093E402A093E50291\r
+:10282000B093E60280E28093E70201C0C0E0780145\r
+:1028300086E5E80EF11C6801A6E7CA0ED11C570117\r
+:10284000F501819191915F01009739F0DC01ED91E3\r
+:10285000FC910680F781E02D0995AC14BD0481F749\r
+:102860009091E702903409F43FC050F4903221F186\r
+:102870009033A1F1913109F084C0F60110820AC0B1\r
+:10288000913509F458C0903809F46AC0903509F0C0\r
+:1028900078C039C0D7018D919D917D01009739F0A5\r
+:1028A000DC01ED91FC910480F581E02D0995EC149B\r
+:1028B000FD0481F782E163C00E94930A0091E30264\r
+:1028C0001091E4022091E5023091E602DC01CB0197\r
+:1028D000801B910BA20BB30BB7FD53C061E088EED8\r
+:1028E0000E940B0D80E44BC088EE0E94F30C80FD2B\r
+:1028F00048C088ED0E94F30C682F686088ED0E9444\r
+:102900000B0D80E53CC088EC0E94F30C86FF39C0BB\r
+:1029100081E58093E7020E94930ADC01CB01449693\r
+:10292000A11DB11D8093E3029093E402A093E50200\r
+:10293000B093E60226C00E94930AC090E302D090B2\r
+:10294000E402E090E502F090E602DC01CB018C1994\r
+:102950009D09AE09BF09B7FD14C080E88093E70266\r
+:102960002C2F40E060E0C8010E946E12882331F0F5\r
+:10297000823D39F08093E80280EA01C080E98093CB\r
+:10298000E702CF911F910F91FF90EF90DF90CF90D2\r
+:10299000BF90AF9008958F929F92AF92BF92CF92C7\r
+:1029A000EF920F93CF93DF93CDB7DEB7C054D10929\r
+:1029B0000FB6F894DEBF0FBECDBF5F934F939E015D\r
+:1029C0002F5F3F4F3F932F931F9220E42F9320E8D8\r
+:1029D000822E912C5B0132E2C32EE12C06E021E82D\r
+:1029E00040E0FC016681848195810E9470100F9007\r
+:1029F0000F900F900F900F900F90C05CDF4F0FB6AD\r
+:102A0000F894DEBF0FBECDBFDF91CF910F91EF9055\r
+:102A1000CF90BF90AF909F908F9008958F929F928C\r
+:102A2000AF92BF92CF92DF92EF92FF920F938E2CD4\r
+:102A3000A42EB12C1F921F92DF92CF92FF92EF92A1\r
+:102A40009F2CC22EE02E09E021E2462FFC01668178\r
+:102A5000848195810E9470100F900F900F900F90BD\r
+:102A60000F900F900F91FF90EF90DF90CF90BF905D\r
+:102A7000AF909F908F9008958F929F92AF92BF9248\r
+:102A8000CF92EF920F93A62EB12C1F921F921F92FE\r
+:102A90001F921F921F92812C912CC22EE42E0AE0CD\r
+:102AA00021E240E0FC016681848195810E947010E2\r
+:102AB0000F900F900F900F900F900F900F91EF903D\r
+:102AC000CF90BF90AF909F908F9008958F929F92DC\r
+:102AD000AF92BF92CF92EF920F93A62EB12C1F927E\r
+:102AE0001F921F921F921F921F92812C912CC12C1A\r
+:102AF000E42E0BE021E240E0FC01668184819581B7\r
+:102B00000E9470100F900F900F900F900F900F90E9\r
+:102B10000F91EF90CF90BF90AF909F908F900895BE\r
+:102B2000FC018285089581E0693009F080E0089514\r
+:102B3000CF93DF93EC018A819B81DC01ED91FC91C5\r
+:102B40000480F581E02D6A8509958A85813439F400\r
+:102B5000EA81FB81EA58FF4F8081846080831A8676\r
+:102B60001B861C861D861E861F86188A80E0DF91C4\r
+:102B7000CF9108958F929F92AF92BF92CF92EF9292\r
+:102B80000F93A42EB12CB22A1F921F921F921F9254\r
+:102B90001F921F92812C912CC12CE62E01E023E282\r
+:102BA00040E0FC016285828193810E9470100F9049\r
+:102BB0000F900F900F900F900F900F91EF90CF907C\r
+:102BC000BF90AF909F908F9008958F929F92AF92F9\r
+:102BD000BF92CF92EF920F93A62EB12C1F921F920D\r
+:102BE0003F932F935F934F934A01C12CE12C00E058\r
+:102BF00023EA40E0FC016285828193810E9470108B\r
+:102C00000F900F900F900F900F900F900F91EF90EB\r
+:102C1000CF90BF90AF909F908F9008958F929F928A\r
+:102C2000AF92BF92CF92EF920F93A42EB12CB22A03\r
+:102C30001F921F921F921F921F921F92812C912C04\r
+:102C4000C12CE62E03E023E240E0FC016285828194\r
+:102C500093810E9470100F900F900F900F900F9023\r
+:102C60000F900F91EF90CF90BF90AF909F908F906B\r
+:102C700008952F923F924F925F926F927F928F9220\r
+:102C80009F92AF92BF92CF92DF92EF92FF920F93FB\r
+:102C90001F93CF93DF93CDB7DEB7E8970FB6F894C5\r
+:102CA000DEBF0FBECDBFDC011296ED90FC901397F6\r
+:102CB0001A963C91311104C1122F242E362E3C015C\r
+:102CC000D701ED91FC910190F081E02D60E0C7010A\r
+:102CD00009956C01009709F4F5C0FC01A080B18052\r
+:102CE000A114B10409F4F0C04301F4E08F0E911C6B\r
+:102CF000DC0111969C928E9214961C93FE013196E3\r
+:102D00002F018F0128E030E040E060E0D30112960F\r
+:102D10008D919C9113970E945811F6011482811194\r
+:102D2000D9C009818D81893009F0D0C0D701ED91DA\r
+:102D3000FC910280F381E02D222D41E0632DC7013B\r
+:102D40000995F3018287882309F4C2C09885958389\r
+:102D5000282F40E060E0828193810E940312182FA7\r
+:102D6000882389F0D601AD92BC92D701ED91FC91F8\r
+:102D70000480F581E02DD3011A966C91C701099565\r
+:102D8000F3011286ABC0202F013208F020E2D601F9\r
+:102D9000AD92BC9221110BC0940142E0F301628517\r
+:102DA000828193810E94920C811197C010C030E003\r
+:102DB000820140E0D3011A966C911A9712968D9178\r
+:102DC0009C9113970E945811811187C0E5CF1F92E3\r
+:102DD0001F925F924F921F9288E08F9388E0882E17\r
+:102DE000912CA12CB12C99E2C92EE12C06E020EA0D\r
+:102DF00040E0F3016285828193810E947010182F58\r
+:102E00000F900F900F900F900F900F90811166C050\r
+:102E10008B81D3011B968C931B97720100E028E0F5\r
+:102E200030E040E01A966C911A9712968D919C9121\r
+:102E300013970E947F11811150C02B813C8140E08B\r
+:102E4000F3016285828193810E947F11811145C0C7\r
+:102E5000298130E0CE0181967C0140E0D3011A96B1\r
+:102E60006C911A9712968D919C9113970E947F11E5\r
+:102E7000811133C02E8140E0F3016285828193810C\r
+:102E80000E947013811129C001E0D3011B968C911F\r
+:102E90001B97801740F020E0402F68E0C3010E949C\r
+:102EA0000E160F5FF2CF1296ED91FC911397EA5830\r
+:102EB000FF4F80818460808381E050968C930EC0A8\r
+:102EC00019ED0CC016ED0AC017ED08C011ED06C0D3\r
+:102ED00014ED04C0F601B182A082182F812FE8966C\r
+:102EE0000FB6F894DEBF0FBECDBFDF91CF911F911B\r
+:102EF0000F91FF90EF90DF90CF90BF90AF909F9099\r
+:102F00008F907F906F905F904F903F902F9008959B\r
+:102F1000CF92DF92FF920F931F93CF93DF9300D056\r
+:102F200000D0CDB7DEB78C01F62E19821A821B8233\r
+:102F30001C8220E0462F61E10E94BA1520E04F2D4F\r
+:102F400060E1C8010E94BA1520E04F2D64E0C8017D\r
+:102F50000E940E1683E0C82ED12C9E012F5F3F4F9A\r
+:102F600044E050E06F2DC8010E94E5158823F1F080\r
+:102F700020E04F2D64E1C8010E94BA1520E04F2DDA\r
+:102F800060E1C8010E94BA1564E170E080E090E061\r
+:102F90000E94950A0F900F900F900F90DF91CF91A4\r
+:102FA0001F910F91FF90DF90CF90089589819A81B2\r
+:102FB000AB81BC819D7F83309140A041B105C1F2BE\r
+:102FC00064E670E080E090E00E94950A81E0C81A13\r
+:102FD000D10819F6CDCFFC0189E691E09183808379\r
+:102FE0007383628312861386148615861686178667\r
+:102FF000108A148288E085839CE3968391E097830E\r
+:10300000808784E0818761157105B1F0DB01AA5AE0\r
+:10301000BF4F80E090E02D913D91232B49F48B969A\r
+:10302000880F991FDB01A80FB91FED93FC9308953A\r
+:1030300001968031910579F70895EF92FF920F93F1\r
+:103040001F93CF938C01C62F7A01FA018081918161\r
+:10305000A281B3818130F3E09F07F1E0AF07B105B2\r
+:10306000D1F060F48115E1E09E07AE07B10571F182\r
+:1030700081309140A140B10571F064C0833021E0FE\r
+:10308000920720E1A207B105E1F183309340A0410E\r
+:10309000B105B9F157C08091E902811153C020E018\r
+:1030A0004C2F61E1C8010E94BA1520E04C2F60E16D\r
+:1030B000C8010E94BA1520E04C2F64E0C8010E94AC\r
+:1030C0000E1681E08093E90281EB3DC020E0462F9F\r
+:1030D00061E1C8010E94BA1520E04C2F60E1C801EF\r
+:1030E0000E94BA151092E902F80162856770C770F4\r
+:1030F000660F660F660F6C2B828193810E94AF0C66\r
+:1031000021C020E04C2F64E1C8010E94BA1520E0E4\r
+:103110004C2F60E1C8010E94BA1564E170E080E0C4\r
+:1031200090E00E94950AF8016285F70121812695B9\r
+:10313000217067704C2FF801828193810E946E127A\r
+:103140001092E90280E0CF911F910F91FF90EF90D4\r
+:103150000895EF92FF920F931F93CF93DF93CDB714\r
+:10316000DEB72E970FB6F894DEBF0FBECDBF7C0141\r
+:1031700081E090E09E878D878E010F5F1F4F9E013B\r
+:10318000235F3F4F41E0F7016285828193810E9476\r
+:103190009513811151C002E011E089818023D1F0A3\r
+:1031A00019861A861B861C869E01275F3F4F44E0C6\r
+:1031B00050E0612FC7010E94E51581110BC0AE01DF\r
+:1031C000475F5F4F612FC7010E941D18813B99F136\r
+:1031D000811132C0000F1F5F1830F9F611E0F701BE\r
+:1031E0008385811740F119861A861B861C869E01ED\r
+:1031F000275F3F4F44E050E0612FC7010E94E51573\r
+:10320000811117C089859A858770917081309140AE\r
+:1032100081F48B859C8581609C878B87AE01475F9D\r
+:103220005F4F612FC7010E941D18813B21F0811162\r
+:1032300003C01F5FD4CF80E02E960FB6F894DEBF98\r
+:103240000FBECDBFDF91CF911F910F91FF90EF90F7\r
+:1032500008950F931F93CF93DF93FC0120892111D1\r
+:1032600002C080E020C0EC010E94930A0C851D85FD\r
+:103270002E853F85DC01CB01801B910BA20BB30B8C\r
+:10328000B7FDEFCFCE010E94A918182F0E94930A14\r
+:10329000DC01CB018C599F4FAF4FBF4F8C879D876F\r
+:1032A000AE87BF87812FDF91CF911F910F91089536\r
+:1032B000CF93DF93FC01EA0180819181892B19F57D\r
+:1032C00080E027C028813981232BD1F3DB012D91A8\r
+:1032D0003C91D9019C91A381B0E0A81BB109208148\r
+:1032E0003181A20FB31F9C93828181508283888198\r
+:1032F0009981019799838883DB018D919C91119726\r
+:1033000001968D939C9382818111DCCF838182838E\r
+:1033100081E0DF91CF910895CF92DF92EF92FF92FB\r
+:103320000F931F93CF93DF936C01EB017B01E40EAE\r
+:10333000F51E00E010E0CE15DF0561F06991D601C1\r
+:10334000ED91FC910190F081E02DC6010995080FE7\r
+:10335000191FF1CFC801DF91CF911F910F91FF90FD\r
+:10336000EF90DF90CF9008958091F50208959FB778\r
+:10337000F8941092EC029FBF90917803943009F07A\r
+:1033800057C09091E9009F703091EC00232F21707D\r
+:1033900030FD20E8922B24E02093E9002091EB00FF\r
+:1033A00020FF43C02091EE0027FF3FC02091EA029A\r
+:1033B000222321F02091E80025FF37C01092EA0275\r
+:1033C00026E03091E80035FD15C0309178033430A7\r
+:1033D00061F53091EB0035FD28C0215021F481E0EA\r
+:1033E0008093EA0222C0EFE9FFE03197F1F700C0D5\r
+:1033F0000000E7CF8093F1008091E80085FD0AC0CE\r
+:103400008091E80080FFFCCF8091E8008E77809368\r
+:10341000E80006C08FB7F89421E02093EC028FBF3C\r
+:103420009F709093E90080E008959F709093E90069\r
+:103430008FEF0895CF93DF9300D01F92CDB7DEB703\r
+:103440009C0180917803843019F593E099833B8344\r
+:103450002A839093E9008FEF9091E800815095FDC9\r
+:1034600006C095ED9A95F1F700008111F5CF809196\r
+:10347000E80085FF0DC040E050E063E070E0CE0161\r
+:1034800001960E945E1C8091E8008E778093E80090\r
+:103490000F900F900F90DF91CF910895CF93DF930E\r
+:1034A00000D01F92CDB7DEB720917803243021F5EC\r
+:1034B00022E029839B838A8383E08093E9008FEF56\r
+:1034C0009091E800815095FD06C095ED9A95F1F731\r
+:1034D00000008111F5CF8091E80085FF0DC040E02C\r
+:1034E00050E063E070E0CE0101960E945E1C809186\r
+:1034F000E8008E778093E8000F900F900F90DF9197\r
+:10350000CF910895209178032430F1F422E02093A4\r
+:10351000E9002FEF3091E800215035FD06C035ED70\r
+:103520003A95F1F700002111F5CF2091E80025FF31\r
+:103530000BC040E050E065E070E00E945E1C8091AE\r
+:10354000E8008E778093E8000895CF93DF93209171\r
+:103550007803243039F521E02093E9002FEF3091F2\r
+:10356000E800215035FD06C035ED3A95F1F7000031\r
+:103570002111F5CF2091E80025FF14C0EC0140E0B7\r
+:1035800050E068E070E00E945E1C8091E8008E7759\r
+:103590008093E80088E0FE01ADEEB2E001900D926C\r
+:1035A0008A95E1F7DF91CF9108958AE692E00E9433\r
+:1035B000AF0280917703811109C00E94F31D0E9420\r
+:1035C000501E8091E20084608093E200089586E6B8\r
+:1035D00092E00E94AF0210927703089582E692E093\r
+:1035E0000C94AF022091EB022F5F822F62E30E94C6\r
+:1035F000EC30992319F02093EB0208951092EB021E\r
+:103600008091EC02882371F180917803843041F538\r
+:103610008091E9008F702091EC00922F917020FD35\r
+:1036200090E8892B94E09093E9009091EB0090FF53\r
+:1036300014C09091EE0097FF10C09091E80095FFA4\r
+:1036400003C01092F100F9CF9091E80090FF05C0FF\r
+:103650009091E8009E779093E8008F708093E90046\r
+:103660001092EC02089542E061EC81E00E946D1D31\r
+:1036700042E061EC82E00E946D1D42E061EC83E07B\r
+:103680000E946D1D42E261EC84E00C946D1D8091FE\r
+:103690007A03833009F453C030F4813071F0823002\r
+:1036A00009F48CC008958A3009F478C08B3009F48D\r
+:1036B0005EC0893009F09AC020C080917903813AB8\r
+:1036C00009F094C08091E800877F8093E8008091A2\r
+:1036D0007D0390917E03892B21F468E08DEE92E0CA\r
+:1036E00003C060E080E090E070E00E94A91C80913F\r
+:1036F000E8008B778093E800089580917903813208\r
+:1037000009F074C080917D0390917E03892B09F0AC\r
+:103710006DC08091E800877F8093E8008091E80089\r
+:1037200082FD05C0809178038111F8CF5FC0809140\r
+:10373000F1008093F5028091E8008B7753C080916F\r
+:103740007903813A09F052C080917D0390917E0304\r
+:10375000892B09F04BC08091E800877F8093E800B7\r
+:103760008091E80080FFFCCF80910A0136C08091F3\r
+:1037700079038132D9F580917D0390917E03892B65\r
+:10378000A9F58091E800877F8093E8000E94A21D40\r
+:1037900080917B0380930A010C946C2680917903BD\r
+:1037A000813221F58091E800877F8093E8000E94B4\r
+:1037B000A21D80917C038093F60208958091790385\r
+:1037C000813AA1F48091E800877F8093E80080919E\r
+:1037D000E80080FFFCCF8091F6028093F100809199\r
+:1037E000E8008E778093E8000C94A21D0895089558\r
+:1037F0008EE592E00E94AF020C94F71B0C94772C9C\r
+:103800008AE592E00E94AF020C94FE1B292F332719\r
+:1038100023303105C9F064F42130310581F02230C4\r
+:10382000310509F043C084E790E020EC32E042C06B\r
+:1038300021323105F1F02232310541F137C082E108\r
+:1038400090E024E333E036C099278130910541F0C0\r
+:103850008230910541F0892B49F5ECEBF2E005C08F\r
+:10386000ECEAF2E002C0EEE6F2E0849190E09F0123\r
+:1038700021C06430D8F4E62FF0E0EE0FFF1FE957C7\r
+:10388000FE4F2081318189E090E014C0643070F4F3\r
+:1038900070E0FB01EE0FFF1FE158FE4F20813181E8\r
+:1038A000FB01E558FE4F808190E004C080E090E08D\r
+:1038B00020E030E0FA01318320830895CF92DF9237\r
+:1038C000EF92FF920F931F93CF93DF93EC018B0145\r
+:1038D0006A010E94C11D811133C0C114D10439F0A5\r
+:1038E000F60180819181081B190BC80FD91FE12CAB\r
+:1038F000F12C0115110519F18091E80085FD16C024\r
+:103900008091E8008E778093E800C114D10449F0DB\r
+:10391000F60180819181E80EF91EF182E08285E056\r
+:103920000FC00E94C11D882321F30AC08991809392\r
+:10393000F10001501109FFEFEF1AFF0ADACF80E022\r
+:10394000DF91CF911F910F91FF90EF90DF90CF907B\r
+:10395000089520917F03309180032617370748F0A0\r
+:103960006115710539F42091E8002E772093E80065\r
+:1039700001C0B90140E061157105A9F120917803FA\r
+:10398000222309F443C0253009F442C02091E80005\r
+:1039900023FD40C02091E80022FD32C02091E800C4\r
+:1039A00020FFE9CF4091F3002091F20030E0342B6A\r
+:1039B000FC01CF016115710559F02830310540F443\r
+:1039C00081918093F100615071092F5F3F4FF1CFDA\r
+:1039D00041E02830310509F040E02091E8002E77E1\r
+:1039E0002093E800C8CF4111C9CF0AC08091780365\r
+:1039F000882361F0853061F08091E80083FD0AC082\r
+:103A00008091E80082FFF2CF80E0089582E008957F\r
+:103A100083E0089581E0089520917F033091800331\r
+:103A20002617370748F06115710539F42091E80031\r
+:103A30002E772093E80001C0B901FC0120E0611558\r
+:103A4000710591F180917803882309F440C0853095\r
+:103A500009F43FC08091E80083FD3DC08091E800FB\r
+:103A600082FD2FC08091E80080FFE9CF2091F30014\r
+:103A70008091F20090E0922B6115710559F0883029\r
+:103A8000910540F424912093F10031966150710921\r
+:103A90000196F2CF21E0089709F020E08091E8003C\r
+:103AA0008E778093E800CBCF2111CCCF0AC08091D4\r
+:103AB0007803882361F0853061F08091E80083FD10\r
+:103AC0000AC08091E80082FFF2CF80E0089582E092\r
+:103AD000089583E0089581E00895982F973058F570\r
+:103AE0009093E900981739F07091EC002091ED0067\r
+:103AF0005091F00003C0242F762F50E021FF19C011\r
+:103B00003091EB003E7F3093EB003091ED003D7F34\r
+:103B10003093ED003091EB0031603093EB00709307\r
+:103B2000EC002093ED005093F0002091EE0027FF71\r
+:103B300007C09F5FD3CF8F708093E90081E0089525\r
+:103B400080E008958091790387FF11C08091E8009B\r
+:103B500082FD05C0809178038111F8CF11C080915A\r
+:103B6000E8008B770BC080917803882349F080911F\r
+:103B7000E80080FFF8CF8091E8008E778093E8001E\r
+:103B800008952091E4003091E50095E64091EC0025\r
+:103B9000842F817040FF22C08091E80080FD1CC00E\r
+:103BA00080917803882391F0853091F08091EB002B\r
+:103BB00085FD10C04091E4005091E5004217530785\r
+:103BC00029F39A01915011F784E0089582E0089555\r
+:103BD00083E0089581E0089580E008954091E80031\r
+:103BE00042FFDECF08950E94611E0E94691EE0EE32\r
+:103BF000F0E0808181608083E8EDF0E080818F7764\r
+:103C0000808319BCA7EDB0E08C918E7F8C9380816E\r
+:103C10008F7E80831092770308950F931F93CF9325\r
+:103C2000DF930E94611E0E94691EC8EDD0E088816A\r
+:103C30008F77888388818068888388818F7D888357\r
+:103C400019BC1092780310927403109276031092AC\r
+:103C5000750300EE10E0F80180818B7F80838881FE\r
+:103C60008160888342E060E080E00E946D1DE1EEAB\r
+:103C7000F0E080818E7F8083E2EEF0E080818160E1\r
+:103C80008083808188608083F80180818E7F80833B\r
+:103C9000888180618883DF91CF911F910F91089572\r
+:103CA000E8EDF0E080818F7E8083E7EDF0E08081B9\r
+:103CB0008160808384E082BF81E0809377030C94ED\r
+:103CC0000D1EE8EDF0E080818E7F80831092E2008F\r
+:103CD00008951092DA001092E10008951F920F9259\r
+:103CE0000FB60F9211242F933F934F935F936F93CF\r
+:103CF0007F938F939F93AF93BF93EF93FF938091A5\r
+:103D0000E10082FF0BC08091E20082FF07C080913A\r
+:103D1000E1008B7F8093E1000E94F21A8091DA002B\r
+:103D200080FF1FC08091D80080FF1BC08091DA0007\r
+:103D30008E7F8093DA008091D90080FF0DC080E1F2\r
+:103D400089BD82E189BD09B400FEFDCF81E0809389\r
+:103D500078030E94D51A05C019BC109278030E94FE\r
+:103D6000E71A8091E10080FF19C08091E20080FF96\r
+:103D700015C08091E2008E7F8093E2008091E20086\r
+:103D800080618093E2008091D80080628093D800A7\r
+:103D900019BC85E0809378030E94F81B8091E100B4\r
+:103DA00084FF30C08091E20084FF2CC080E189BD97\r
+:103DB00082E189BD09B400FEFDCF8091D8008F7DDE\r
+:103DC0008093D8008091E1008F7E8093E100809104\r
+:103DD000E2008F7E8093E2008091E2008160809318\r
+:103DE000E20080917403882311F084E007C0809181\r
+:103DF000E30087FD02C081E001C083E08093780387\r
+:103E00000E94001C8091E10083FF29C08091E200A4\r
+:103E100083FF25C08091E100877F8093E10082E0ED\r
+:103E200080937803109274038091E1008E7F8093D9\r
+:103E3000E1008091E2008E7F8093E2008091E200B9\r
+:103E400080618093E20042E060E080E00E946D1DAE\r
+:103E50008091F00088608093F0000E94EE1AFF913C\r
+:103E6000EF91BF91AF919F918F917F916F915F91F2\r
+:103E70004F913F912F910F900FBE0F901F9018956B\r
+:103E80001F920F920FB60F9211242F933F934F93CF\r
+:103E90005F936F937F938F939F93AF93BF93CF93D2\r
+:103EA000DF93EF93FF93C091E900CF708091EC0016\r
+:103EB000D82FD17080FDD0E81092E9008091F000F9\r
+:103EC000877F8093F00078940E94841F1092E9000D\r
+:103ED0008091F00088608093F000CD2BCF70C0936C\r
+:103EE000E900FF91EF91DF91CF91BF91AF919F9149\r
+:103EF0008F917F916F915F914F913F912F910F9093\r
+:103F00000FBE0F901F9018951F93CF93DF93CDB7DF\r
+:103F1000DEB7AA970FB6F894DEBF0FBECDBFE9E7B4\r
+:103F2000F3E088E08E0F9091F10091938E13FBCF18\r
+:103F30000E94471B8091E80083FF1FC18091790395\r
+:103F400090917A03492F50E04A30510508F015C18D\r
+:103F5000FA01EA5AFF4F0C940C31803881F0823814\r
+:103F600009F00BC180917D038F708093E9008091EF\r
+:103F7000EB0085FB882780F91092E90006C080914C\r
+:103F8000750390917603911182609091E800977F7C\r
+:103F90009093E8008093F1001092F100C8C0282FA0\r
+:103FA0002D7F09F0EAC0882319F0823061F0E5C066\r
+:103FB00080917B03813009F0E0C0933009F080E00C\r
+:103FC000809376032BC080917B03811127C0809161\r
+:103FD0007D038F7009F4D1C08093E9002091EB003C\r
+:103FE00020FF1CC0933021F48091EB00806214C04C\r
+:103FF0009091EB0090619093EB0021E030E0A901FB\r
+:1040000002C0440F551F8A95E2F74093EA001092D0\r
+:10401000EA008091EB0088608093EB001092E90049\r
+:104020008091E800877F86C08111A7C010917B0333\r
+:104030001F778091E3008078812B8093E30080914B\r
+:10404000E800877F8093E8000E94A21D8091E8002D\r
+:1040500080FFFCCF8091E30080688093E300111122\r
+:1040600002C082E001C083E08093780386C080585C\r
+:10407000823008F082C080917B0390917C038C3D5C\r
+:1040800053E0950779F583E08A838AE289834FB705\r
+:10409000F894DE01139620E03EE051E2E32FF0E0D9\r
+:1040A00050935700E49120FF03C0E295EF703F5F0B\r
+:1040B000EF708E2F90E0EA3010F0C79601C0C096E6\r
+:1040C0008D939D932F5F243149F74FBF8091E80076\r
+:1040D000877F8093E8006AE270E0CE0101960E943B\r
+:1040E000A91C14C0AE014F5F5F4F60917D030E9419\r
+:1040F000061CBC01892B09F440C09091E800977F11\r
+:104100009093E80089819A810E940C1D8091E800BB\r
+:104110008B778093E80031C0803879F58091E80092\r
+:10412000877F8093E800809174038093F1008091F1\r
+:10413000E8008E778093E8000E94A21D1EC08111C6\r
+:104140001CC090917B039230C0F48091E800877F7F\r
+:104150008093E800909374030E94A21D80917403E1\r
+:10416000811106C08091E30087FD02C081E001C09B\r
+:1041700084E0809378030E94331B8091E80083FFE2\r
+:104180000AC08091E800877F8093E8008091EB006F\r
+:1041900080628093EB00AA960FB6F894DEBF0FBE44\r
+:1041A000CDBFDF91CF911F9108959093FC02809332\r
+:1041B000FB020895E091FB02F091FC02309721F0A0\r
+:1041C0000190F081E02D099480E00895EF92FF9234\r
+:1041D0000F931F93CF93DF93E091FB02F091FC02CA\r
+:1041E0003097B1F18C010280F381E02D0995809127\r
+:1041F000690382FF2DC080FF04C083E394E00E9426\r
+:10420000AF02E80118E08DE2E82E84E0F82E8091FC\r
+:10421000690380FF0BC088811F928F93FF92EF92FA\r
+:104220000E9448030F900F900F900F90115021960D\r
+:104230001111EDCF8091690380FF0AC08BE294E0F9\r
+:10424000DF91CF911F910F91FF90EF900C94AF02EF\r
+:10425000DF91CF911F910F91FF90EF900895E09122\r
+:10426000FB02F091FC02309721F00480F581E02DF3\r
+:10427000099408952091F9023091FA028217930768\r
+:1042800071F09093FA028093F902E091FB02F091B1\r
+:10429000FC02309721F00680F781E02D0994089503\r
+:1042A0002091F7023091F8028217930771F09093F2\r
+:1042B000F8028093F702E091FB02F091FC02309744\r
+:1042C00021F00084F185E02D099408950E94E30A0D\r
+:1042D0000C945E084F925F927F928F929F92AF9262\r
+:1042E000BF92CF92DF92EF92FF920F931F93CF93E3\r
+:1042F000DF9300D000D01F92CDB7DEB70E94FA0541\r
+:104300009EEFC92E92E0D92E00E010E0AA24A394DB\r
+:10431000B12C702E802F0E94ED064C01F6014190C9\r
+:1043200051906F014826592641145104B1F40F5F92\r
+:104330001F4F0031110569F78FEF89838A831B8234\r
+:104340000E94EC0A8160782F9D838C8349815A8179\r
+:104350006B818D810E943D2241C08091690381FD66\r
+:104360000E941D0720E030E07501022E02C0EE0C15\r
+:10437000FF1C0A94E2F7C70184219521892B41F1A2\r
+:1043800029837A828E209F2091E0892809F490E089\r
+:104390009B830E94EC0A8160782F9D838C834981E6\r
+:1043A0005A816B818D810E943D2249815A816B81A6\r
+:1043B0007C818D810E94642C000F111FF801E25056\r
+:1043C000FD4F80819181E826F926F182E08206C0C6\r
+:1043D0002F5F3F4F2031310539F6A9CF0E94632C62\r
+:1043E0000E94DC2E1091FD020E94DA20181771F154\r
+:1043F0000E94DA208093FD029091690392FF0EC023\r
+:1044000090FF0CC01F928F9385E494E09F938F934D\r
+:104410000E9448030F900F900F900F908091FD0223\r
+:104420000F900F900F900F900F90DF91CF911F91F1\r
+:104430000F91FF90EF90DF90CF90BF90AF909F9043\r
+:104440008F907F905F904F900C94752C0F900F90F1\r
+:104450000F900F900F90DF91CF911F910F91FF90D0\r
+:10446000EF90DF90CF90BF90AF909F908F907F9014\r
+:104470005F904F9008950C945707CF93DF93CDB77B\r
+:10448000DEB72B970FB6F894DEBF0FBECDBF942FCB\r
+:104490004F83252F588769877A878B874A855B8565\r
+:1044A000452B21F02F3F09F59F3FF9F4DE011196CE\r
+:1044B00086E0FD0111928A95E9F785E0FE013796C5\r
+:1044C00001900D928A95E1F749815A816B817C8137\r
+:1044D0008D819E810E9406292B960FB6F894DEBF2F\r
+:1044E0000FBECDBFDF91CF9108954F81588569856B\r
+:1044F0007A858B850E94642CD9CF882309F49BC0D0\r
+:104500009CEF980F913A18F40E948F2B0DC090E207\r
+:10451000980F983058F4877091E001C0990F8A95F0\r
+:10452000EAF7892F0E94CE2B0C94082C9BE5980F5C\r
+:10453000933070F4853A29F0863A31F083E890E0C0\r
+:1045400005C081E890E002C082E890E00C943A2136\r
+:1045500098E5980F953108F06EC0883A61F1893A74\r
+:1045600069F18A3A71F18B3A79F18C3A81F18D3A9D\r
+:1045700089F18E3A91F18F3A99F1813BA1F1803B1B\r
+:10458000A9F1823BB1F1833BB9F1843BC1F1853B99\r
+:10459000C9F1863BD1F1873BD9F1883BE1F1893BF9\r
+:1045A000E9F18A3BF1F18B3BF9F18C3B09F43FC017\r
+:1045B00080E090E03EC082EE90E03BC089EE90E06B\r
+:1045C00038C08AEE90E035C085EB90E032C086EBD3\r
+:1045D00090E02FC083EB90E02CC084EB90E029C0EA\r
+:1045E00087EB90E026C08CEC90E023C08DEC90E04F\r
+:1045F00020C083E891E01DC08AE891E01AC082E9FA\r
+:1046000091E017C084E991E014C081E292E011C00A\r
+:1046100083E292E00EC084E292E00BC085E292E079\r
+:1046200008C086E292E005C087E292E002C08AE21A\r
+:1046300092E00C9450210895882329F19CEF980F63\r
+:10464000913A18F40E94AC2B0DC090E2980F98306C\r
+:1046500058F4877091E001C0990F8A95EAF7892F85\r
+:104660000E94D42B0C94082C9BE5980F933020F4D7\r
+:1046700080E090E00C943A21885A853120F480E063\r
+:1046800090E00C9450210895882321F00E94CE2BB5\r
+:104690000C94082C0895882321F00E94D42B0C94AC\r
+:1046A000082C0895CF92DF92EF92FF920F931F9301\r
+:1046B000CF93DF9300D000D000D0CDB7DEB725E098\r
+:1046C000FC01DE01119601900D922A95E1F7FC01A3\r
+:1046D00040813181F280258122952F706381748120\r
+:1046E000672B09F4D8C23F3F19F44F3F09F4D3C2F6\r
+:1046F0006C0149833A8389819A812E830E944E2BD3\r
+:10470000182F092F0E944D2B0E945F2AE02FE2955F\r
+:10471000EF70F0E0E05AFF4F2E810C940C31802FA7\r
+:10472000807F902F9F70092F882311F00295007FC2\r
+:10473000FF2049F0002309F45FC2802F0E94E12B83\r
+:104740000E94082C59C2812F0E941C23002309F4C7\r
+:10475000A2C2802F0E94E72B26960FB6F894DEBFE8\r
+:104760000FBECDBFDF91CF911F910F91FF90EF90C2\r
+:10477000DF90CF900C94082C802F807F902F9F701B\r
+:10478000092F803211F00295007F112319F01130AA\r
+:1047900001F129C0FF20A9F0802F222349F1213007\r
+:1047A00039F526960FB6F894DEBF0FBECDBFDF9168\r
+:1047B000CF911F910F91FF90EF90DF90CF900C94CD\r
+:1047C000F12B222319F0213009F465C20E94F42B49\r
+:1047D0002CC0FF20E9F0263008F05DC20E94CB2BF0\r
+:1047E000802329F022C0FF20F1F0211115C0802F75\r
+:1047F00026960FB6F894DEBF0FBECDBFDF91CF91E6\r
+:104800001F910F91FF90EF90DF90CF900C94442375\r
+:10481000253008F040C209C0F601858180FFECC157\r
+:104820008F708583E4CF2111FBC1802F69C1202FB8\r
+:1048300026952695237030E02115310521F0213091\r
+:104840003105C9F028C2FF2021F0812F902F9370ED\r
+:1048500002C080E090E026960FB6F894DEBF0FBE4F\r
+:10486000CDBFDF91CF911F910F91FF90EF90DF901F\r
+:10487000CF900C943A21FF2021F0812F902F93703C\r
+:1048800002C080E090E026960FB6F894DEBF0FBE1F\r
+:10489000CDBFDF91CF911F910F91FF90EF90DF90EF\r
+:1048A000CF900C945021812FFF2019F00E94622D8F\r
+:1048B00002C00E94CA2D26960FB6F894DEBF0FBE26\r
+:1048C000CDBFDF91CF911F910F91FF90EF90DF90BF\r
+:1048D000CF900C944F2E802F837009F078C0F11088\r
+:1048E000DAC1812F829586958770880F880F912F66\r
+:1048F0009F70C92ED12CE12CF12C082E04C0CC0CB9\r
+:10490000DD1CEE1CFF1C0A94D2F714FF12C04FE00E\r
+:1049100050E060E070E004C0440F551F661F771F31\r
+:104920008A95D2F7CB01BA016095709580959095E4\r
+:1049300003C060E070E0CB01202F26952695237000\r
+:10494000422F50E042305105D1F04330510559F12A\r
+:104950006C297D298E299F294130510541F12696E8\r
+:104960000FB6F894DEBF0FBECDBFDF91CF911F9180\r
+:104970000F91FF90EF90DF90CF900C94722A6C29EA\r
+:104980007D298E299F2926960FB6F894DEBF0FBE8B\r
+:10499000CDBFDF91CF911F910F91FF90EF90DF90EE\r
+:1049A000CF900C94842A0E94722AC701B6012696E1\r
+:1049B0000FB6F894DEBF0FBECDBFDF91CF911F9130\r
+:1049C0000F91FF90EF90DF90CF900C94602AFF2022\r
+:1049D00019F0802F817001C08695882309F45BC18E\r
+:1049E000812F829586958770880F880F912F9F70F1\r
+:1049F000C92ED12CE12CF12C082E04C0CC0CDD1CCE\r
+:104A0000EE1CFF1C0A94D2F714FF12C04FE050E0D6\r
+:104A100060E070E004C0440F551F661F771F8A9541\r
+:104A2000D2F7CB01BA01609570958095909503C03F\r
+:104A300060E070E0CB01202F269526952370422F51\r
+:104A400050E042305105D1F04330510559F16C2905\r
+:104A50007D298E299F294130510541F126960FB6B7\r
+:104A6000F894DEBF0FBECDBFDF91CF911F910F91A4\r
+:104A7000FF90EF90DF90CF900C94292B6C297D292B\r
+:104A80008E299F2926960FB6F894DEBF0FBECDBFA4\r
+:104A9000DF91CF911F910F91FF90EF90DF90CF901A\r
+:104AA0000C943B2B0E94292BC701B60126960FB60A\r
+:104AB000F894DEBF0FBECDBFDF91CF911F910F9154\r
+:104AC000FF90EF90DF90CF900C94172B103F41F1A7\r
+:104AD00018F4103E48F48BC0123F09F450C0D8F1CE\r
+:104AE000133F09F460C083C01F70802F8F71FF20B7\r
+:104AF00021F00E94B02A812F7BCE0E94D12A812FE3\r
+:104B000026960FB6F894DEBF0FBECDBFDF91CF91D2\r
+:104B10001F910F91FF90EF90DF90CF900C944B235B\r
+:104B2000FF20A9F0253008F0B6C0802F8F7126969F\r
+:104B30000FB6F894DEBF0FBECDBFDF91CF911F91AE\r
+:104B40000F91FF90EF90DF90CF900C94F62A2630D3\r
+:104B500008F0A1C0EACFFF20A1F0802F8F71269628\r
+:104B60000FB6F894DEBF0FBECDBFDF91CF911F917E\r
+:104B70000F91FF90EF90DF90CF900C94B02AFF2020\r
+:104B800061F3802F8F7126960FB6F894DEBF0FBEAB\r
+:104B9000CDBFDF91CF911F910F91FF90EF90DF90EC\r
+:104BA000CF900C94D12AFF2091F0802F8F71269600\r
+:104BB0000FB6F894DEBF0FBECDBFDF91CF911F912E\r
+:104BC0000F91FF90EF90DF90CF900C949B2A269648\r
+:104BD0000FB6F894DEBF0FBECDBFDF91CF911F910E\r
+:104BE0000F91FF90EF90DF90CF900C94962AFF20CA\r
+:104BF000A1F0222309F4B1CF812F26960FB6F894A5\r
+:104C0000DEBF0FBECDBFDF91CF911F910F91FF90FF\r
+:104C1000EF90DF90CF900C947D22222309F4B1CF46\r
+:104C2000812F26960FB6F894DEBF0FBECDBFDF9161\r
+:104C3000CF911F910F91FF90EF90DF90CF900C9448\r
+:104C40001C23402F4F70612FC6010E94DC2C26963A\r
+:104C50000FB6F894DEBF0FBECDBFDF91CF911F918D\r
+:104C60000F91FF90EF90DF90CF900C94AA29402FE6\r
+:104C70004F70612FC60126960FB6F894DEBF0FBEA7\r
+:104C8000CDBFDF91CF911F910F91FF90EF90DF90FB\r
+:104C9000CF900C94DF2C26960FB6F894DEBF0FBE93\r
+:104CA000CDBFDF91CF911F910F91FF90EF90DF90DB\r
+:104CB000CF9008950E94EE2B0E94BD2B0E94082CDD\r
+:104CC0000E94812F0E944F2E80E090E00E943A21A6\r
+:104CD00080E090E00C9450210E94DE2B0C945A2628\r
+:104CE0000E944E2B292F22952F7030E02C30310559\r
+:104CF0004CF42A3031056CF4225031092230310550\r
+:104D000088F407C02C30310549F02F30310531F0DF\r
+:104D100009C0803E48F0803F29F406C093FB8827F5\r
+:104D200080F9089580E0089581E00895CF93DF939E\r
+:104D300000D000D01F92CDB7DEB70F900F900F902C\r
+:104D40000F900F90DF91CF910895CF93DF9300D014\r
+:104D500000D000D0CDB7DEB726960FB6F894DEBFF0\r
+:104D60000FBECDBFDF91CF9108951F93CF93DF93F7\r
+:104D7000C0911E0316E080911F03C81799F0D0E080\r
+:104D80001C9FF0011D9FF00D1124E05EFC4F40813F\r
+:104D9000518162817381848195810E94A52621962B\r
+:104DA000C770E9CFDF91CF911F91089540915003D3\r
+:104DB00050915103609152037091530380915403B9\r
+:104DC000909155030C94A5268091550382958F7080\r
+:104DD00009F054C080915203882309F44FC0809198\r
+:104DE0001E03A0911F0360915003709151034091E5\r
+:104DF000530350915403B6E08A1709F43FC090E082\r
+:104E000041155105C1F17F3F11F46F3FA1F1B89FEA\r
+:104E1000F001B99FF00D1124E05EFC4F2181721367\r
+:104E20002AC02081621327C02281211124C023813E\r
+:104E300034812417350710F421503109241B350B18\r
+:104E4000283C3105C0F4209155032F702061209338\r
+:104E5000550326E0289FF001299FF00D1124EB5DFA\r
+:104E6000FC4F80818F708061808380E593E00E9499\r
+:104E700052230C94B52601968770BECF0895CF9229\r
+:104E8000DF92EF92FF920F931F93CF93DF93CDB7F3\r
+:104E9000DEB762970FB6F894DEBF0FBECDBF8C01B0\r
+:104EA00085E0F801DE011D9601900D928A95E1F7EB\r
+:104EB000D8014C9111965C91119712966C911297B2\r
+:104EC0001396CD90DC90149730915003709151035C\r
+:104ED0008091530390915403009709F46BC17F3F75\r
+:104EE00019F43F3F09F466C1E0905203EE2009F443\r
+:104EF000C0C020915503C816D90628F0F601E81B5A\r
+:104F0000F90BCF0104C0809590958C0D9D1DFF2459\r
+:104F1000F394883C910578F0F12C207F09F0C6C00D\r
+:104F20007C2DD98AC88A89890E94962680E593E0DB\r
+:104F30000E945223B1C0822F807F09F046C07513B2\r
+:104F400014C0341312C0611110C02F70206120935F\r
+:104F500055030E94D62680E593E00E94522380915B\r
+:104F60005503D80115968C932EC0CD2819F15F3FBB\r
+:104F700011F44F3FF9F0F62E61111CC080911E0311\r
+:104F800020911F0336E0821709F45AC090E0389F41\r
+:104F9000F001399FF00D1124E05EFC4F7181571331\r
+:104FA00006C07081471303C07281711103C001965E\r
+:104FB0008770E9CFF62E662309F418C18091550356\r
+:104FC000816080935503F12C11C1751308C034130F\r
+:104FD00006C0611104C080915503D801C3C04D873C\r
+:104FE0005E878D859E856A8B0E9470266A898823DC\r
+:104FF000E1F16623D1F120915503822F82958F70C4\r
+:1050000090E0029774F0809150039091510398873B\r
+:105010008F831986DB86CA862C87CE0107960E946D\r
+:10502000522386E0F801A0E5B3E001900D928A9545\r
+:10503000E1F70E94E4260E94D626FF24F394D6C00E\r
+:105040004D875E878D859E850E944E2B292F229548\r
+:105050002F7030E0223031050CF0BCC09F7009F099\r
+:10506000B6C0805E883008F4C1C0C8010E945223D7\r
+:10507000E4CFC816D90608F453C0F601E81BF90BB3\r
+:10508000CF01883C910508F450C0F12C7C2DD98AC1\r
+:10509000C88A89890E949626E0E5F3E086E0DF0170\r
+:1050A0001D928A95E9F70E94D626A0C0751314C0F8\r
+:1050B000341312C0611110C080915503F80185832B\r
+:1050C000C8010E94522386E0E0E5F3E0DF011D9273\r
+:1050D0008A95E9F7FE2C8AC04D875E878D859E856F\r
+:1050E0006A8B0E9470266A89882309F4BECF6623E2\r
+:1050F00009F4BBCF20915503822F82958F7090E0E9\r
+:1051000002970CF48ECF80915003909151039A83B3\r
+:1051100089831B82DD82CC822E83CE0101967FCFD4\r
+:10512000809590958C0D9D1DACCFF62E662309F4CD\r
+:105130009CCF75132EC034132CC02091550320FD35\r
+:105140001FC0822F82958F70D9F0D80115962C93AD\r
+:1051500015978F3049F08F5F982F9295907F822F0F\r
+:105160008F70892B15968C93C8010E94522386E07C\r
+:10517000F801A0E5B3E001900D928A95E1F793CF95\r
+:1051800086E0F801A0E5B3E001900D928A95E1F781\r
+:105190002DC04D875E878D859E850E94702681116A\r
+:1051A00040CF80915503816080935503C8010E94D0\r
+:1051B00052231CC0662309F458CF4D875E878D8526\r
+:1051C0009E850E947026882309F44FCF2ACF811133\r
+:1051D00048CF0CC0243031050CF047CF9F7009F444\r
+:1051E00040CFF8019581907F09F03BCF8F2D6296DB\r
+:1051F0000FB6F894DEBF0FBECDBFDF91CF911F91E8\r
+:105200000F91FF90EF90DF90CF9008951F93CF9371\r
+:10521000DF93CDB7DEB72C970FB6F894DEBF0FBE85\r
+:10522000CDBF4F83588769877A878B879C87CE014C\r
+:1052300007960E943F27882369F08F8198852A85E9\r
+:105240003B85232BF1F19F3F09F063C08F3F09F0AD\r
+:1052500060C037C086E0FE013796DE0111960190EE\r
+:105260000D928A95E1F76F817885EA85FB85309705\r
+:1052700041F17F3F11F46F3F21F120911F0330E096\r
+:10528000C90101968770992740911E0350E0841749\r
+:10529000950709F447C069837A83FD83EC8396E020\r
+:1052A000929FD001939FB00D1124A05EBC4FFE01D0\r
+:1052B000319601900D929A95E1F780931F030E9419\r
+:1052C000B52616E080911E0390911F038917C1F146\r
+:1052D000189FC0011124805E9C4F0E943F278823A5\r
+:1052E00079F1E0911E031E9FF0011124E05EFC4F56\r
+:1052F0004081518162817381848195810E94A526BC\r
+:1053000080911E0390E001968770992780931E0379\r
+:10531000D9CF4F81588569857A858B859C850E9478\r
+:10532000A526CFCF0E946C2610921F0310921E0359\r
+:10533000E0E5F3E086E0DF011D928A95E9F7C1CF51\r
+:105340002C960FB6F894DEBF0FBECDBFDF91CF9184\r
+:105350001F910895DF92EF92FF920F931F93CF93C7\r
+:10536000DF93FC01892B09F48AC0E12CF12CDD24A8\r
+:10537000D394EF0121968491853709F461C058F4E4\r
+:10538000843708F04EC0843008F06AC08130D1F014\r
+:10539000823071F174C0883709F45DC050F48637EB\r
+:1053A00009F455C0873709F06AC08E2D0E94DB2BA7\r
+:1053B00054C09CE7980F903708F061C08F770E9427\r
+:1053C0001C2350C08F010E5F1F4FFE01849190E29D\r
+:1053D000980F983050F48770FD2D01C0FF0F8A950B\r
+:1053E000EAF78F2F0E94E12B14C00E947D2213C088\r
+:1053F0008F010E5F1F4FFE01C49180E28C0F883039\r
+:1054000060F4C7708D2D01C0880FCA95EAF70E941D\r
+:10541000E72B0E94082CE80125C08C2F0E941C233A\r
+:10542000FACF9F012E5F3F4FFE01C491CC2369F05C\r
+:105430008FE99FE00197F1F700C00000C150F6CF5F\r
+:105440009F012E5F3F4FFE01F490E9010BC00E94C7\r
+:10545000CB2BE82E07C00E94DE2B0E94082C02C036\r
+:105460000E947D228F2D882341F0EFE9FFE03197E4\r
+:10547000F1F700C000008150F6CFFE017ACFDF9136\r
+:10548000CF911F910F91FF90EF90DF90089560935F\r
+:105490005A0370935B0380935C0390935D030E94B7\r
+:1054A000732C0C945A266093560370935703809381\r
+:1054B0005803909359030E94742C0C945A26089513\r
+:1054C0000F931F9300915A0310915B0320915C038B\r
+:1054D00030915D03602B712B822B932B1F910F91C9\r
+:1054E0000C94472A0F931F9300915A0310915B036A\r
+:1054F00020915C0330915D03602371238223932309\r
+:105500001F910F910C94472A0F931F9300915A03F8\r
+:1055100010915B0320915C0330915D03602771273C\r
+:10552000822793271F910F910C94472A60E070E027\r
+:10553000CB010C94532A0F931F9341E050E060E09D\r
+:1055400070E08A019B0104C0000F111F221F331F4E\r
+:105550008A95D2F7C901B8011F910F910C94532A73\r
+:105560000F931F9341E050E060E070E004C0440FEF\r
+:10557000551F661F771F8A95D2F780915603909129\r
+:105580005703A0915803B09159038A019B01082B3E\r
+:10559000192B2A2B3B2BC901B8011F910F910C9499\r
+:1055A000532A0F931F9341E050E060E070E004C085\r
+:1055B000440F551F661F771F8A95D2F74095509567\r
+:1055C000609570958091560390915703A091580370\r
+:1055D000B09159038A019B01082319232A233B23F5\r
+:1055E000C901B8011F910F910C94532A0F931F9377\r
+:1055F00041E050E060E070E004C0440F551F661FBA\r
+:10560000771F8A95D2F78091560390915703A09106\r
+:105610005803B09159038A019B01082719272A27AB\r
+:105620003B27C901B8011F910F910C94532A0F9386\r
+:105630001F93009156031091570320915803309106\r
+:105640005903602B712B822B932B1F910F910C947C\r
+:10565000532A0F931F9300915603109157032091E3\r
+:1056600058033091590360237123822393231F91A0\r
+:105670000F910C94532A0F931F930091560310918E\r
+:1056800057032091580330915903602771278227CF\r
+:1056900093271F910F910C94532A0895CF92DF9274\r
+:1056A000EF92FF920F931F93CF93DF938C01C090E3\r
+:1056B0005A03D0905B03E0905C03F0905D0340914F\r
+:1056C0005603509157036091580370915903C42AAF\r
+:1056D000D52AE62AF72ACFE1D0E0D701C6010C2E61\r
+:1056E00004C0B695A795979587950A94D2F780FF41\r
+:1056F00007C0B8018C2F0E94B12C8130910531F484\r
+:10570000219758F7B80180E00E94B12CDF91CF912A\r
+:105710001F910F91FF90EF90DF90CF90089520910F\r
+:105720000B0130910C01F90132969FEF40E051914D\r
+:10573000581789F09F3F19F4511101C0942F4F5F02\r
+:105740004630A9F79F3F39F0F901E90FF11D97FDA8\r
+:10575000FA9582830895089520910B0130910C01F0\r
+:10576000F9013296285F3F4F9081981301C0108253\r
+:105770003196E217F307C1F7089581E090E0E091D8\r
+:105780000B01F0910C01E80FF91F1082019688308F\r
+:105790009105A9F708958091680308959091680391\r
+:1057A000892B8093680308958095909168038923DD\r
+:1057B00080936803089580936803089510926803A6\r
+:1057C000089590916703892B8093670308958095CE\r
+:1057D000909167038923809367030895109267036C\r
+:1057E000089580935E03089510925E03089580915A\r
+:1057F0000B0190910C01FC0131969C01285F3F4FF9\r
+:1058000080E0919191118F5FE217F307D1F708952E\r
+:10581000E0910B01F0910C01809168038083E0918D\r
+:105820000B01F0910C01908180916703892B80839B\r
+:1058300080915E03882361F0E0910B01F0910C01EF\r
+:105840009081892B80830E94F72B811110925E0337\r
+:1058500080910B0190910C010C94E62090939101A2\r
+:105860008093900108958295982F9C7C392F3695CE\r
+:105870003695282F237344E0249FC0011124932FD1\r
+:10588000982B292F2A7A2695892F8575880F822BA8\r
+:1058900008951F93CF93DF931F92CDB7DEB79983FF\r
+:1058A0000E94332C182F9981892F0E94332C212F8D\r
+:1058B00030E0322F2227A901482BCA010F90DF9137\r
+:1058C000CF911F9108950895CF93DF9300D000D01A\r
+:1058D0001F92CDB7DEB70F900F900F900F900F90E3\r
+:1058E000DF91CF910895089508950C943B220C9474\r
+:1058F0006C261F920F920FB60F9211248F939F93D5\r
+:10590000AF93BF9380916A03811113C08091DF022E\r
+:105910009091E002A091E102B091E2024196A11DB6\r
+:10592000B11D8093DF029093E002A093E102B09357\r
+:10593000E202BF91AF919F918F910F900FBE0F9098\r
+:105940001F90189520E1929FF0011124E80FF11D9E\r
+:10595000E052FF4F8491982F90778F7092959F70AF\r
+:105960000895CF93C82FCB010E94A22C292F30E09D\r
+:10597000E82FF0E0A90164E0440F551F6A95E1F7B4\r
+:105980004E2B5F2B4038510519F480E090E012C097\r
+:1059900088E0C89F200D311D112484E0220F331FA1\r
+:1059A0008A95E1F7E20FF31FEE0FFF1FE050F84971\r
+:1059B00085919491CF91089580E090E008950895A5\r
+:1059C00080916D0380FF0BC06091100185E0689F9E\r
+:1059D000B001112475956795759567952BC081FF6A\r
+:1059E00009C06091100185E0689FB0011124759590\r
+:1059F000679520C082FF07C06091100185E0689F15\r
+:105A0000B001112417C090916E039923D1F06091D9\r
+:105A10000F01961788F72091100185E0289F9001CB\r
+:105A20001124929FA001939F500D112470E0CA0190\r
+:105A30000E94F8306038710540F46115710539F045\r
+:105A400002C065E070E0862F08958FE7089581E039\r
+:105A5000089580916D0380FF08C060910E0170E091\r
+:105A6000759567957595679521C081FF06C0609112\r
+:105A70000E0170E07595679519C082FF04C06091B2\r
+:105A80000E0170E010C090916E039923C1F06091F7\r
+:105A90000D019617A0F780910E01899FC001112476\r
+:105AA00070E00E94F8306038710528F461157105C6\r
+:105AB00021F0862F08958FE7089581E0089561E031\r
+:105AC00070E0F4CF803F21F40E94E02C819504C067\r
+:105AD000813F29F40E94E02C809371030895823F56\r
+:105AE00021F40E94E02C819504C0833F29F40E9498\r
+:105AF000E02C809370030895893F19F40E94292DAA\r
+:105B000005C08A3F31F40E94292D8195809372034C\r
+:105B100008958B3F21F40E94292D819504C08C3F6C\r
+:105B200029F40E94292D809373030895843F21F462\r
+:105B300080916F03816017C0853F21F480916F03CE\r
+:105B4000826011C0863F21F480916F0384600BC096\r
+:105B5000873F21F480916F03886005C0883F31F44E\r
+:105B600080916F03806180936F0308958D3F21F4CE\r
+:105B700080916D0381600BC08E3F21F480916D0395\r
+:105B8000826005C08F3F29F480916D03846080930B\r
+:105B90006D030895803F39F48091710387FF6CC0D5\r
+:105BA0001092710369C0813F29F480917103181626\r
+:105BB000BCF362C090917003823F29F497FF5CC0F0\r
+:105BC0001092700359C0833F19F41916CCF354C0D6\r
+:105BD000893F41F48091720318160CF04DC0109269\r
+:105BE00072034AC08A3F29F48091720387FF44C040\r
+:105BF000F6CF8B3F39F48091730387FF3DC010923D\r
+:105C000073033AC08C3F29F4809173031816BCF3D8\r
+:105C100033C0843F21F480916F038E7F17C0853F8E\r
+:105C200021F480916F038D7F11C0863F21F4809114\r
+:105C30006F038B7F0BC0873F21F480916F03877FB9\r
+:105C400005C0883F31F480916F038F7E80936F038E\r
+:105C500013C08D3F21F480916D038E7F0BC08E3F6A\r
+:105C600021F480916D038D7F05C08F3F29F48091D1\r
+:105C70006D038B7F80936D038091700381110EC043\r
+:105C80008091710381110AC080917203811106C055\r
+:105C900080917303811102C010926E030895809168\r
+:105CA000690383FF7EC087E794E00E94AF02809182\r
+:105CB0006F031F928F9382E794E09F938F930E94CC\r
+:105CC000480380E794E00E94AF0280917003282F80\r
+:105CD000082E000C330B3F938F938DE694E09F9337\r
+:105CE0008F930E9448038BE694E00E94AF0280915C\r
+:105CF0007103282F082E000C330B3F938F9388E6F7\r
+:105D000094E09F938F930E94480386E694E00E945C\r
+:105D1000AF0280917203282F082E000C330B3F93A3\r
+:105D20008F9383E694E09F938F930E94480381E6CC\r
+:105D300094E00E94AF0280917303282F082E000C7C\r
+:105D4000330B3F938F938EE594E09F938F930E9444\r
+:105D500048038BE594E00E94AF0280916E031F928E\r
+:105D60008F9388E594E09F938F930E94480386E584\r
+:105D700094E00E94AF0280916D031F928F9383E5A0\r
+:105D800094E09F938F930E94480380E594E00E94E3\r
+:105D9000AF028DB79EB74C960FB6F8949EBF0FBE5C\r
+:105DA0008DBF8FE693E00E942F210E94EC0A909312\r
+:105DB0006C0380936B0308951F93CF93DF938091BF\r
+:105DC0006B0390916C030E94040BAC0190916E03E5\r
+:105DD000992321F02091110130E006C02091120199\r
+:105DE0008AE0289F900111244217530708F485C0C8\r
+:105DF00080917003C0917103D0917203109173036D\r
+:105E0000811107C0C11175C0D11173C0111171C0CA\r
+:105E100074C09F3F19F09F5F90936E03181624F48F\r
+:105E20000E94E02C809370038091700387FF05C06F\r
+:105E30000E94E02C8195809370031C1624F40E942C\r
+:105E4000E02C809371038091710387FF05C00E944D\r
+:105E5000E02C81958093710360917003662331F18A\r
+:105E6000C0917103CC2311F1062E000C770B880B27\r
+:105E7000990B0E94CA2F23E333E343E35FE30E94BD\r
+:105E80007F300E94922F609370036C2FCC0F770BA2\r
+:105E9000880B990B0E94CA2F23E333E343E35FE3AC\r
+:105EA0000E947F300E94922F609371031D1624F48C\r
+:105EB0000E94292D809372038091720387FF05C091\r
+:105EC0000E94292D819580937203111624F40E945B\r
+:105ED000292D809373038091730387FF05C00E946F\r
+:105EE000292D819580937303DF91CF911F910C949D\r
+:105EF0004F2E9F3F09F08FCF97CFDF91CF911F910A\r
+:105F00000895EFE6F3E085E0DF011D928A95E9F759\r
+:105F100010926E0310926D0308950E94053008F4EC\r
+:105F200081E008950E94992F6894B1110C94743007\r
+:105F300008950E94593088F09F5798F0B92F9927FB\r
+:105F4000B751B0F0E1F0660F771F881F991F1AF064\r
+:105F5000BA95C9F714C0B13091F00E947330B1E026\r
+:105F600008950C947330672F782F8827B85F39F025\r
+:105F7000B93FCCF3869577956795B395D9F73EF4FD\r
+:105F800090958095709561957F4F8F4F9F4F0895A5\r
+:105F9000E89409C097FB3EF49095809570956195C3\r
+:105FA0007F4F8F4F9F4F9923A9F0F92F96E9BB2779\r
+:105FB0009395F695879577956795B795F111F8CFF5\r
+:105FC000FAF4BB0F11F460FF1BC06F5F7F4F8F4F60\r
+:105FD0009F4F16C0882311F096E911C0772321F056\r
+:105FE0009EE8872F762F05C0662371F096E8862FEE\r
+:105FF00070E060E02AF09A95660F771F881FDAF745\r
+:10600000880F9695879597F90895990F0008550F71\r
+:10601000AA0BE0E8FEEF16161706E807F907C0F02E\r
+:1060200012161306E407F50798F0621B730B840B36\r
+:10603000950B39F40A2661F0232B242B252B21F410\r
+:1060400008950A2609F4A140A6958FEF811D811DB0\r
+:10605000089597F99F6780E870E060E008959FEFEA\r
+:1060600080EC089500240A941616170618060906EF\r
+:10607000089500240A9412161306140605060895BE\r
+:10608000092E0394000C11F4882352F0BB0F40F446\r
+:10609000BF2B11F460FF04C06F5F7F4F8F4F9F4F86\r
+:1060A000089557FD9058440F551F59F05F3F71F008\r
+:1060B0004795880F97FB991F61F09F3F79F087956F\r
+:1060C0000895121613061406551FF2CF4695F1DFF8\r
+:1060D00008C0161617061806991FF1CF8695710588\r
+:1060E000610508940895E894BB2766277727CB01BC\r
+:1060F00097F908950E94053008F48FEF08950E94E3\r
+:1061000092300C9440300E94323038F00E94393086\r
+:1061100020F0952311F00C9429300C942F30112489\r
+:106120000C9474300E94513070F3959FC1F3950F19\r
+:1061300050E0551F629FF001729FBB27F00DB11D0B\r
+:10614000639FAA27F00DB11DAA1F649F6627B00D9B\r
+:10615000A11D661F829F2227B00DA11D621F739F84\r
+:10616000B00DA11D621F839FA00D611D221F749F92\r
+:106170003327A00D611D231F849F600D211D822FD9\r
+:10618000762F6A2F11249F5750409AF0F1F0882300\r
+:106190004AF0EE0FFF1FBB1F661F771F881F91502D\r
+:1061A0005040A9F79E3F510580F00C9429300C9483\r
+:1061B00074305F3FE4F3983ED4F386957795679506\r
+:1061C000B795F795E7959F5FC1F7FE2B880F911D57\r
+:1061D0009695879597F90895991B79E004C0991FC2\r
+:1061E000961708F0961B881F7A95C9F78095089531\r
+:1061F00097FB072E16F4009407D077FD09D00E9474\r
+:10620000123107FC05D03EF4909581959F4F08957B\r
+:10621000709561957F4F0895EE0FFF1F0590F491E3\r
+:10622000E02D0994AA1BBB1B51E107C0AA1FBB1F8D\r
+:10623000A617B70710F0A61BB70B881F991F5A9512\r
+:10624000A9F780959095BC01CD010895F894FFCFF2\r
+:10625000B419A51A821A4E1A1A1A015F03280814D3\r
+:106260000A321E000000005E090000000013040056\r
+:10627000000000820451039D031404B80353035427\r
+:1062800003BB03C003C5039403CD03D003FEFF008B\r
+:10629000000904000000000D0A000000007C0A8CC8\r
+:1062A00019720A780A750A7B0A710A00000000FD5B\r
+:1062B0000B530B150C0000000039165103981529DB\r
+:1062C0001990158817540393155603404D3622EB49\r
+:1062D000039E0368034603D202EB0204031D03007E\r
+:106800008800EA44E944E244040005000600070069\r
+:10681000080009000A000B000C000D000E000F001C\r
+:1068200010001100120013001400150016001700CC\r
+:10683000180019001A001B001C001D001E001F007C\r
+:10684000200021002200230024002500260027002C\r
+:10685000280029002A002B002C002D002E002F00DC\r
+:10686000300031003200330034003500360037008C\r
+:10687000380039003A003B003C003D003E003F003C\r
+:1068800040004100420043004400450046004700EC\r
+:10689000480049004A004B004C004D004E004F009C\r
+:1068A000500051005200530054005500560057004C\r
+:1068B000580059005A005B005C005D005E005F00FC\r
+:1068C000600061006200630064006500850067008D\r
+:1068D000680069006A006B006C006D006E006F005C\r
+:1068E0007000710072007300890087008A008B00BD\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
+:1069C00001000100010001000100F1A1010001002E\r
+:1069D00001000100010001000100010001000100AF\r
+:1069E000010001000100010001000100010001009F\r
+:1069F000010001000100010001000100010001008F\r
+:00000001FF\r
diff --git a/converter/usb_usb/unimap.c b/converter/usb_usb/unimap.c
new file mode 100644 (file)
index 0000000..1525411
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+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)
+
+#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(
+              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
+    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,         VOLD,VOLU,MUTE,
+    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
+    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
+    CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,
+    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,
+    LCTL,LGUI,LALT,MHEN,          SPC,           HENK,KANA,RALT,RGUI,APP, 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,FN0, TRNS,     HOME,PGDN,END,     TRNS,     TRNS,TRNS
+    ),
+};
diff --git a/converter/usb_usb/unimap_trans.h b/converter/usb_usb/unimap_trans.h
new file mode 100644 (file)
index 0000000..ff63c14
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+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"
+
+
+/* Mapping to Universal keyboard layout
+ *
+ * Universal keyboard layout
+ *         ,-----------------------------------------------.
+ *         |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
+ * ,---.   |-----------------------------------------------|     ,-----------.     ,-----------.
+ * |Esc|   |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|     |PrS|ScL|Pau|     |VDn|VUp|Mut|
+ * `---'   `-----------------------------------------------'     `-----------'     `-----------'
+ * ,-----------------------------------------------------------. ,-----------. ,---------------.
+ * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
+ * |-----------------------------------------------------------| |-----------| |---------------|
+ * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
+ * |-----------------------------------------------------------| `-----------' |---------------|
+ * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|Retn|               |  4|  5|  6|KP,|
+ * |-----------------------------------------------------------|     ,---.     |---------------|
+ * |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO|Shift |     |Up |     |  1|  2|  3|KP=|
+ * |-----------------------------------------------------------| ,-----------. |---------------|
+ * |Ctl|Gui|Alt|MHEN|     Space      |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent|
+ * `-----------------------------------------------------------' `-----------' `---------------'
+ */
+
+/* USB 16x16
+*         ,---------------. ,---------------. ,---------------.
+*         |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24|
+* ,---.   |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------.
+* |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help  |
+* `---'   `---------------' `---------------' `---------------' `-----------' `---------------' `-------'
+* ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------.
+* |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -| |Stp|Agn|
+* |-----------------------------------------------------------| |-----------| |---------------| |-------|
+* |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +| |Mnu|Und|
+* |-----------------------------------------------------------| `-----------' |---------------| |-------|
+* |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  :|  #|Retn|               |  4|  5|  6|KP,| |Sel|Cpy|
+* |-----------------------------------------------------------|     ,---.     |---------------| |-------|
+* |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /| RO|Shift |     |Up |     |  1|  2|  3|KP=| |Exe|Pst|
+* |-----------------------------------------------------------| ,-----------. |---------------| |-------|
+* |Ctl|Gui|Alt|MHEN|HNJ| Space  |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent| |Fnd|Cut|
+* `-----------------------------------------------------------' `-----------' `---------------' `-------'
+*/
+const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
+    { UNIMAP_KANA,  UNIMAP_VOLUME_DOWN, UNIMAP_VOLUME_UP, UNIMAP_VOLUME_MUTE, UNIMAP_A, UNIMAP_B, UNIMAP_C, UNIMAP_D,
+      UNIMAP_E,     UNIMAP_F,     UNIMAP_G,     UNIMAP_H,     UNIMAP_I,     UNIMAP_J,     UNIMAP_K,     UNIMAP_L },
+    { UNIMAP_M,     UNIMAP_N,     UNIMAP_O,     UNIMAP_P,     UNIMAP_Q,     UNIMAP_R,     UNIMAP_S,     UNIMAP_T,
+      UNIMAP_U,     UNIMAP_V,     UNIMAP_W,     UNIMAP_X,     UNIMAP_Y,     UNIMAP_Z,     UNIMAP_1,     UNIMAP_2 },
+    { UNIMAP_3,     UNIMAP_4,     UNIMAP_5,     UNIMAP_6,     UNIMAP_7,     UNIMAP_8,     UNIMAP_9,     UNIMAP_0,
+      UNIMAP_ENTER, UNIMAP_ESCAPE,UNIMAP_BSPACE,UNIMAP_TAB,   UNIMAP_SPACE, UNIMAP_MINUS, UNIMAP_EQUAL, UNIMAP_LBRACKET },
+    { UNIMAP_RBRACKET,UNIMAP_BSLASH,UNIMAP_NONUS_HASH, UNIMAP_SCOLON, UNIMAP_QUOTE, UNIMAP_GRAVE, UNIMAP_COMMA, UNIMAP_DOT,
+      UNIMAP_SLASH, UNIMAP_CAPSLOCK,UNIMAP_F1,  UNIMAP_F2,    UNIMAP_F3,    UNIMAP_F4,    UNIMAP_F5,    UNIMAP_F6 },
+    { UNIMAP_F7,    UNIMAP_F8,    UNIMAP_F9,    UNIMAP_F10,   UNIMAP_F11,   UNIMAP_F12,   UNIMAP_PSCREEN,UNIMAP_SCROLLLOCK,
+      UNIMAP_PAUSE, UNIMAP_INSERT,UNIMAP_HOME,  UNIMAP_PGUP,  UNIMAP_DELETE,UNIMAP_END,   UNIMAP_PGDOWN, UNIMAP_RIGHT },
+    { UNIMAP_LEFT,  UNIMAP_DOWN,  UNIMAP_UP, UNIMAP_NUMLOCK, UNIMAP_KP_SLASH, UNIMAP_KP_ASTERISK, UNIMAP_KP_MINUS, UNIMAP_KP_PLUS,
+      UNIMAP_KP_ENTER,UNIMAP_KP_1,UNIMAP_KP_2,  UNIMAP_KP_3,  UNIMAP_KP_4,  UNIMAP_KP_5,  UNIMAP_KP_6,  UNIMAP_KP_7 },
+    { UNIMAP_KP_8,  UNIMAP_KP_9,  UNIMAP_KP_0,  UNIMAP_KP_DOT,UNIMAP_NONUS_BSLASH,UNIMAP_APPLICATION,UNIMAP_KP_COMMA,UNIMAP_KP_EQUAL,
+      UNIMAP_F13,   UNIMAP_F14,   UNIMAP_F15,   UNIMAP_F16,   UNIMAP_F17,   UNIMAP_F18,   UNIMAP_F19,   UNIMAP_F20 },
+    { UNIMAP_F21,   UNIMAP_F22,   UNIMAP_F23,   UNIMAP_F24,   UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* 78-7F */ \
+    { UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_RO,      /* 80-87 */ \
+      UNIMAP_NO,    UNIMAP_JYEN,  UNIMAP_HENK,  UNIMAP_MHEN,  UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* 88-8F */ \
+    { UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,      /* 90-97 */ \
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* 98-9F */ \
+    { UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,      /* A0-A7 */ \
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* A8-AF */ \
+    { UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,      /* B0-B7 */ \
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* B8-BF */ \
+    { UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,      /* C0-C7 */ \
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* C8-CF */ \
+    { UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,      /* D0-D7 */ \
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* D8-DF */ \
+    { UNIMAP_LCTRL, UNIMAP_LSHIFT,UNIMAP_LALT,  UNIMAP_LGUI,  UNIMAP_RCTRL, UNIMAP_RSHIFT,UNIMAP_RALT,  UNIMAP_RGUI,     /* E0-E7 */ \
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* E8-EF */ \
+    { UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,      /* F0-F7 */ \
+      UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO,    UNIMAP_NO    }, /* F8-FF */ \
+};
+
+#endif