summaryrefslogtreecommitdiffstats
path: root/keyboard/preonic
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-06-11 19:31:31 +0200
committerGitHub <noreply@github.com>2016-06-11 19:31:31 +0200
commitd9e4dad0a828a8a904f44dda090a4d6d08fe2948 (patch)
treed6f002712c22e8cf4523e04a9da889c7ec379d6b /keyboard/preonic
parenta5d638ad3091e2d553eaa04d933df28eeced5a8b (diff)
downloadqmk_firmware-d9e4dad0a828a8a904f44dda090a4d6d08fe2948.tar.gz
qmk_firmware-d9e4dad0a828a8a904f44dda090a4d6d08fe2948.tar.xz
Makefile redo & other features (#395)
* .build containment implemented * no destructive variable setting - builds in either folder * make from 3 places * cleans before each build * make from root with keyboard=keyboard, keymap=keymap * make from keyboard/keyboard with keymap=keymap * make from keymaps/keymap * only implemented on planck * adds color diag to avr-gcc * makefiles for all plancks, clean-up * quick build-all makefile for plancks * reformatting of make output (colors) * color toggle, tmk path corrections * correct if statement for color * move config.h to main makefile, updates preonic, atomic * format update, all keyboards targets * makefile optional for build all target, alps and arrow_pad updated * alps updated * make planck default, trying out travis recipe for all-keyboards * all-keymaps target, different travis recipe * updates alps64 * updates keyboards to new format * updates clue* projects * all projects updated, specialise EZ .hex, let .hex through * updates travis * automatically find root, keyboard, keymap * silent echo, cleaned-up mass make output * updates all keyboards' .hex files except EZ * Rename Bantam44.c to bantam44.c * Rename Bantam44.h to bantam44.h * nananana * adds six key keyboard * does same to ez as rest * updates send_string example * brings ergodox_ez up to date * updates template/new project script * adds sixkeyboard * adds readme for sixkeyboard * adds sixkeyboard to travis * filenames, gitignore mess * define clock prescaler stuff manually * make quick, size test example * documentation and dfu-no-build
Diffstat (limited to 'keyboard/preonic')
-rw-r--r--keyboard/preonic/Makefile94
-rw-r--r--keyboard/preonic/keymaps/default/Makefile63
-rw-r--r--keyboard/preonic/keymaps/default/compiled.hex1590
-rw-r--r--keyboard/preonic/keymaps/default/makefile.mk1
-rw-r--r--keyboard/preonic/keymaps/lock/README.md3
-rw-r--r--keyboard/preonic/keymaps/lock/keymap.c105
-rw-r--r--keyboard/preonic/keymaps/nerdgasm/README.md34
-rw-r--r--keyboard/preonic/keymaps/nerdgasm/keymap.c117
8 files changed, 1669 insertions, 338 deletions
diff --git a/keyboard/preonic/Makefile b/keyboard/preonic/Makefile
index 259dd6686..0940d8f27 100644
--- a/keyboard/preonic/Makefile
+++ b/keyboard/preonic/Makefile
@@ -38,45 +38,6 @@
# To rebuild project do "make clean" then "make all".
#----------------------------------------------------------------------------
-# Target file name (without extension).
-TARGET = preonic
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# # project specific files
-SRC = preonic.c
-
-ifdef keymap
- KEYMAP = $(keymap)
-endif
-
-ifdef KEYMAP
-ifneq ("$(wildcard keymaps/$(KEYMAP).c)","")
- KEYMAP_FILE = keymaps/$(KEYMAP).c
-else
-ifneq ("$(wildcard keymaps/$(KEYMAP)/keymap.c)","")
- KEYMAP_FILE = keymaps/$(KEYMAP)/keymap.c
-else
-$(error Keymap file does not exist)
-endif
-endif
-else
-ifneq ("$(wildcard keymaps/default.c)","")
- KEYMAP_FILE = keymaps/default.c
-else
- KEYMAP_FILE = keymaps/default/keymap.c
-endif
-endif
-SRC := $(KEYMAP_FILE) $(SRC)
-
-CONFIG_H = config.h
-
# MCU name
#MCU = at90usb1287
MCU = atmega32u4
@@ -94,7 +55,6 @@ MCU = atmega32u4
# software delays.
F_CPU = 16000000
-
#
# LUFA specific
#
@@ -130,44 +90,22 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
# change to "no" to disable the options, or define them in the makefile.mk in
# the appropriate keymap folder that will get included automatically
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= no # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
+MIDI_ENABLE ?= no # MIDI controls
+AUDIO_ENABLE ?= no # Audio output on port C6
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-ifdef KEYMAP
-
-ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
-ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
- include keymaps/$(KEYMAP)/makefile.mk
-endif
-endif
-
-else
-
-ifneq ("$(wildcard keymaps/default/makefile.mk)","")
- include keymaps/default/makefile.mk
-endif
-
-endif
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
-include $(TOP_DIR)/quantum/quantum.mk
+ifndef QUANTUM_DIR
+ include ../../Makefile
+endif \ No newline at end of file
diff --git a/keyboard/preonic/keymaps/default/Makefile b/keyboard/preonic/keymaps/default/Makefile
new file mode 100644
index 000000000..4fbe3b661
--- /dev/null
+++ b/keyboard/preonic/keymaps/default/Makefile
@@ -0,0 +1,63 @@
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device.
+# Please customize your programmer settings(PROGRAM_CMD)
+#
+# make teensy = Download the hex file to the device, using teensy_loader_cli.
+# (must have teensy_loader_cli installed).
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+# have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+# have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+# (must have dfu-programmer installed).
+#
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
+# (must have Atmel FLIP installed).
+#
+# make debug = Start either simulavr or avarice as specified for debugging,
+# with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+# bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+# Build Options
+# change to "no" to disable the options, or define them in the makefile.mk in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif \ No newline at end of file
diff --git a/keyboard/preonic/keymaps/default/compiled.hex b/keyboard/preonic/keymaps/default/compiled.hex
new file mode 100644
index 000000000..dfadd031e
--- /dev/null
+++ b/keyboard/preonic/keymaps/default/compiled.hex
@@ -0,0 +1,1590 @@
+:100000000C94AE050C94F2050C94F2050C94F205D8
+:100010000C94F2050C94F2050C94F2050C94F20584
+:100020000C94F2050C94F2050C9483180C94551959
+:100030000C94B7260C94F2050C94F2050C94F2057E
+:100040000C94F2050C94F2050C94F2050C94F20554
+:100050000C94F2050C941F270C94F2050C94F205F5
+:100060000C94F2050C94F2050C94F2050C94F20534
+:100070000C94F2050C94F2050C94F2050C94F20524
+:100080000C94650E0C94F2050C94F2050C94F20598
+:100090000C94F2050C94F2050C94F2050C94F20504
+:1000A0000C94F2050C94F2050C94F205C219E419B3
+:1000B000D21AE419D21A291A4C1AD21AA11AB41A4D
+:1000C0009E1D9E1DCD1DCD1D0C1E2C1E821F821F30
+:1000D000371E821FE71EE71E4E1F571F821F7C1F01
+:1000E000F41EF41EF41EF41EF41EF41EF41EF41E80
+:1000F000F41EF41EF41EF41EF41EF41EF41EF41E70
+:10010000041F121F191F201F2A1F07634236B79BA7
+:10011000D8A71A39685618AEBAAB558C1D3CB7CC67
+:100120005763BD6DEDFD753EF6177231BF000000DF
+:10013000803F08000000BE922449123EABAAAA2AC2
+:10014000BECDCCCC4C3E00000080BEABAAAAAA3EDD
+:1001500000000000BF000000803F00000000000819
+:100160004178D3BB4387D1133D190E3CC3BD4282B6
+:10017000AD2B3E68EC8276BED98FE1A93E4C80EF74
+:10018000FFBE01C4FF7F3F000000000035001E00DD
+:100190001F0020002100220023002400250026004B
+:1001A00027002A002B0014001A0008001500170071
+:1001B0001C0018000C00120013004C002900040061
+:1001C0001600070009000A000B000D000E000F00CA
+:1001D00033003400E1001D001B000600190005007B
+:1001E0001100100036003700380028000530E0000C
+:1001F000E200E30003302C002C00043050005100DA
+:1002000052004F0035001E001F0020002100220078
+:10021000230024002500260027002A002B001400BC
+:100220001A00090013000A000D000F0018001C003E
+:1002300033004C00290004001500160017000700C9
+:100240000B00110008000C0012003400E1001D003A
+:100250001B000600190005000E00100036003700D4
+:10026000380028000530E000E200E30003302C00F5
+:100270002C0004305000510052004F0035001E0089
+:100280001F0020002100220023002400250026005A
+:1002900027002A002B0034003600370013001C0012
+:1002A00009000A00060015000F004C002900040098
+:1002B0001200080018000C0007000B0017001100C6
+:1002C00016003800E100330014000D000E001B0082
+:1002D000050010001A0019001D0028000530E0007C
+:1002E000E200E30003302C002C00043050005100E9
+:1002F00052004F0035021E021F022002210222027C
+:10030000230224022502260227022A0035021E02A9
+:100310001F022002210222022302240225022602B9
+:1003200027024C004C003A003B003C003D003E00E0
+:100330003F002D022E022F02300231020100400048
+:1003400041004200430044004500320264020100C3
+:100350000100010001000100010001000100010095
+:1003600001000100AB00AA00A900AE0035001E008C
+:100370001F00200021002200230024002500260069
+:1003800027002A0035001E001F0020002100220047
+:10039000230024002500260027004C004C003A00D2
+:1003A0003B003C003D003E003F002D002E002F0092
+:1003B0003000310001004000410042004300440091
+:1003C000450032006400010001000100010001004D
+:1003D000010001000100010001000100AB00AA00C2
+:1003E000A900AE00000000000000000000000000B6
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:100900000000000000000000000000003A003B0072
+:100910003C003D003E003F004000410042004300DB
+:1009200044004500010000500100010001000100E9
+:10093000010001000100010001004C000100010064
+:10094000010020502150135012500030013002306D
+:100950000100010001002750265023502450285048
+:100960002950010001000100010001000100010007
+:10097000010001000100010001000100010001006F
+:10098000010001002A0354006800650020005000A7
+:10099000720065006F006E006900630020004B006C
+:1009A0006500790062006F00610072006400000061
+:1009B0002C034F007200740068006F006C00690027
+:1009C0006E0065006100720020004B006500790038
+:1009D00062006F0061007200640073000000040395
+:1009E000090409026D00040100A0FA0904000001D5
+:1009F00003010100092111010001223F00070581C7
+:100A00000308000A09040100010301020009211181
+:100A1000010001224D000705820308000A090402B3
+:100A20000001030000000921110100012236000726
+:100A300005830308000A09040300010300000009FC
+:100A40002111010001223900070584031000011261
+:100A500001100100000008EDFE61600100010200CC
+:100A60000105010906A101050719E029E71500257F
+:100A7000019508750181020508190129059505757B
+:100A80000191029501750391010507190029771558
+:100A9000002501957875018102C005010980A10139
+:100AA000850216010026B7001A01002AB70075104A
+:100AB00095018100C0050C0901A101850316010003
+:100AC000269C021A01002A9C02751095018100C023
+:100AD00005010902A1010901A10005091901290562
+:100AE00015002501950575018102950175038101A8
+:100AF0000501093009311581257F950275088106A8
+:100B000009381581257F950175088106050C0A387D
+:100B1000021581257F950175088106C0C005010970
+:100B200006A101050719E029E715002501950875BB
+:100B300001810295017508810105081901290595B2
+:100B400005750191029501750391010507190029A9
+:100B5000FF150025FF950675088100C011241FBEF2
+:100B6000CFEFDAE0DEBFCDBF04B603FE24C0809134
+:100B7000D1039091D203A091D303B091D4038730D5
+:100B8000904BA740B04BB9F41092D1031092D2030E
+:100B90001092D3031092D40314BE84B7877F84BF0E
+:100BA00088E10FB6F89480936000109260000FBE49
+:100BB000E0E0F8E3099512E0A0E0B1E0EAECF1E64C
+:100BC00002C005900D92A237B107D9F713E0A2E752
+:100BD000B2E001C01D92A13DB107E1F70E94C91525
+:100BE0000C94E3300C940000089581E008950C9477
+:100BF000F4050C94F505279A2F988FEF9FEF9093AB
+:100C00008700809386008AE08093800089E180934A
+:100C100081000C941A2C0E94FB056E9A769A0C9413
+:100C2000B906282F81110BC080918000877F8093A7
+:100C3000800010928D0010928C002F9808952F98AC
+:100C400080918000886080938000233019F48FEFBA
+:100C50009FEF0FC083E090E0821B9109880F991FDE
+:100C60002FEF3FEFA90102C0569547958A95E2F70D
+:100C7000CA0190938D0080938C000895CF93DF93E9
+:100C8000EC010E94B827BE0180E090E0DF91CF9197
+:100C90000C94AD230F931F93FC01623091F128F463
+:100CA000662359F06130D1F05FC0643009F440C070
+:100CB000C0F1653009F44CC057C08281882309F423
+:100CC00053C000E010E0980140E064E070E080E78D
+:100CD00091E00E94E31181E090E010C082818823BE
+:100CE00009F442C000E010E0980140E066E070E0E6
+:100CF00080E091E00E94E31182E090E00E943E06D5
+:100D000033C08281882381F100E010E0980140E047
+:100D100068E070E080E391E00E94E31184E090E0FD
+:100D2000EDCF8281882311F083E006C083E00DC0FF
+:100D30008281882349F084E00E942A2440E164E013
+:100D400083E00E94540C10C084E00E944B24F6CF34
+:100D50008281882331F085EE0E94421C0E94712C12
+:100D600003C085EE0E940A1D80E090E01F910F9164
+:100D700008950F931F932FEF89EF90E0215080404B
+:100D80009040E1F700C0000000E010E0980140E072
+:100D900064E070E080E991E00E94E3111F910F91FF
+:100DA000089581E008950C94D10608950C940B06E3
+:100DB0008091C202882309F448C080917E029091FC
+:100DC0007F02009779F40E94E92690937F02809336
+:100DD0007E028091800290E0009771F48091810200
+:100DE00090E00AC00E94F5262091B0013091B10137
+:100DF0002817390740F329C00197880F991F880FDA
+:100E0000991FFC01EE57FD4F6081718182819381B2
+:100E10000E94CB0DE091800284E0E89FF001112454
+:100E2000EE57FD4F60817181828193814FE050E0E8
+:100E30000E9483118091800290E00196609181026E
+:100E400070E00E949330809380020C94F70510921A
+:100E5000C4020C94980D0895089581E08093C40213
+:100E60000C942C07089508958F929F92AF92BF9291
+:100E7000EF92FF920F931F93CF93DF93CDB7DEB71F
+:100E8000A3970FB6F894DEBF0FBECDBF7C01FC0167
+:100E900000811181C8010E94E624B8010E94360930
+:100EA0008C01B7010E94D306882309F4CCC100321B
+:100EB000F0E51F0741F4F7018281882309F458C047
+:100EC0000E947A12C0C10132F0E51F0741F4F70118
+:100ED0008281882309F44CC00E948312B4C102327B
+:100EE000F0E51F0751F4F7018281882309F440C01F
+:100EF0000E9476128111F0CFE3CF0332F0E51F0795
+:100F000039F4F7018281882399F10E942D079BC152
+:100F10000432F0E51F0739F4F7018281882341F19B
+:100F20000E94270790C10532F0E51F0749F4F70139
+:100F300082818823E9F08091C4028111F1CFE5CF4D
+:100F40000632F0E51F0739F4F7018281882381F02A
+:100F50000E948A120AC00732F0E51F0749F4F70120
+:100F60008281882329F00E9495120E9433076BC169
+:100F70008091C402811105C0F70182818111CFC027
+:100F800018C1003E110579F4F7018281882309F424
+:100F90004DC00E94980D81E08093C3021092C2025E
+:100FA0001092810250C1023E110559F4F70182816D
+:100FB0008823E1F10E94980D1092C3021092C202A0
+:100FC00042C1033E110591F4F7018281882371F13A
+:100FD0000E94980D1092C30281E08093C202109289
+:100FE000800210927F0210927E022DC102351105FF
+:100FF00059F4F7018281882309F425C18091B00159
+:101000009091B1010A970DC00135110579F4F701EE
+:101010008281882309F417C18091B0019091B101B8
+:101020000A969093B1018093B0010DC14091B40133
+:1010300083E2EFECF1E0DE01119601900D928A95CA
+:10104000E1F7F701808121E030E02C0F3D1F280FF0
+:10105000311DC9012091B2013091B301FC01E20FB1
+:10106000F31F6081772767FD7095640F711D8827D6
+:1010700077FD8095982F0E94B52D20E030E040E468
+:1010800051E40E941A2D4B015C01F701218185E09A
+:1010900090E0821B9109BC01882777FD8095982FED
+:1010A0000E94B52D9B01AC01C501B4010E94B22C78
+:1010B0009B01AC0160E070E080E090E40E94282F8A
+:1010C00020E030E04CED50E40E94C52E4B015C0165
+:1010D000F70182818823D1F04FE050E0C501B401CF
+:1010E0000E9483118091C3028823A1F08091810224
+:1010F00024E0829FF0011124EE57FD4F80829182FF
+:10110000A282B3828F5F8093810204C0C501B401C3
+:101110000E94CB0D0F3F110508F02ECF94C0809197
+:101120007D0281111FC0043130E5130709F051C061
+:101130000E94D50681E080937D020E94E92690936B
+:101140007C0280937B0210927402109276021092BD
+:101150007502109278021092770210927A02109221
+:10116000790271C080917B0290917C020E94F526E9
+:10117000883C910570F480917402E82FF0E0EE0F46
+:10118000FF1FEB58FD4F118300838F5F8093740224
+:101190005AC0043880E5180721F00538104501F1E0
+:1011A0003AC0F7018281882341F01092720282E0F6
+:1011B0001EC0043830E5130759F580917202811181
+:1011C00006C086E20E94421C86E20E940A1D82E05E
+:1011D0001CC00438F0E51F0741F305381045D9F469
+:1011E000F7018281882331F01092730280E20E941D
+:1011F000591D29C080917302811106C087E20E94A7
+:10120000421C87E20E940A1D80E20E94601D1BC0F2
+:101210000538104529F381E08093720280937302B0
+:10122000C701A3960FB6F894DEBF0FBECDBFDF9106
+:10123000CF911F910F91FF90EF90BF90AF909F9033
+:101240008F900C94F90580E0A3960FB6F894DEBF5A
+:101250000FBECDBFDF91CF911F910F91FF90EF9007
+:10126000BF90AF909F908F90089508959CE0799FD4
+:10127000F00111249CE3899FE00DF11D1124E60F7C
+:10128000F11DEE0FFF1FE457FE4F859194910895D5
+:10129000880F991FFC01E45FFF4F85919491089599
+:1012A000880F991FFC01E457FE4F85919491089592
+:1012B0000F931F93CF93DF93EC01811521E39207E6
+:1012C000A0F5C11580E3D80708F0D7C0C83ED10506
+:1012D000D8F4C03ED10508F007C2C83AD10578F469
+:1012E000C53AD10508F06AC0C130D10509F463C020
+:1012F00008F4F7C1C430D10508F0F6C1F2C1CB3B08
+:10130000D10508F466C0EDC1C11590E2D90708F017
+:10131000AFC0C11521E0D20708F0E6C1C03FD1053A
+:1013200008F4DFC18E0110651FC2C03880E5D80700
+:1013300000F5C03790E5D90708F0A3C0C11520E536
+:10134000D20709F4ACC050F4CE01905480319F40D4
+:1013500008F0C7C1DF708E01106A06C2C13080E597
+:10136000D80709F4AEC0C43190E5D90708F4AFC07E
+:10137000B8C1C33820E5D20709F48EC050F4C13893
+:1013800090E5D90709F482C008F083C000E011EDB0
+:10139000EBC1C03181E5D80708F4A3C1C11597E5B9
+:1013A000D90708F436C1CE0190578115904108F055
+:1013B00098C1DF7093C101E010E0D6C1C53AD105F4
+:1013C00009F494C1C63AD10509F093C102E810E4CA
+:1013D000CBC1C83AD10509F48FC1C93AD10509F486
+:1013E0008EC1CA3AD10509F48DC1CB3AD10509F4B1
+:1013F0008CC1CC3AD10509F48BC1CD3AD10509F4A1
+:101400008AC1C03BD10509F489C1CE3AD10509F49E
+:1014100088C1CF3AD10509F487C1C13BD10509F490
+:1014200086C1C23BD10509F485C1C33BD10509F48E
+:1014300084C1C43BD10509F483C1C53BD10509F47E
+:1014400082C1C63BD10509F481C1C73BD10509F46E
+:1014500080C1C83BD10509F47FC1C93BD10509F45E
+:101460007EC1CA3BD10509F47DC100E014E47CC112
+:10147000CE019F700E94500978C1DD278E01106C4B
+:1014800073C1CF70DD278E01146D6EC100E010EDC9
+:101490006BC100E012ED68C100E013ED65C10E9470
+:1014A000ED1F0E94980D0E942B078FEF94E32CE014
+:1014B000815090402040E1F700C000000E94442786
+:1014C00053C18091A50381608093A5034DC10E9403
+:1014D000A527811102C00E9481270E94BD2790E0AC
+:1014E0009093D0038093CF03C23080E5D80721F4D6
+:1014F0008091CF03816086C0C43090E5D90721F484
+:101500008091CF0382607EC0C63020E5D20721F4EF
+:101510008091CF03846076C0C83080E5D80719F485
+:101520008091CF0327C0CA3090E5D90721F480917C
+:10153000CF03806167C0CC3020E5D20721F48091D1
+:10154000CF0380625FC0CE3080E5D80721F4809160
+:10155000CF03806457C0C03190E5D90721F4809152
+:10156000CF0380684FC0C23120E5D20729F48091B3
+:10157000CF038460886046C0C33080E5D80721F47B
+:101580008091CF038E7F3EC0C53090E5D90721F40E
+:101590008091CF038D7F36C0C73020E5D20721F47C
+:1015A0008091CF038B7F2EC0C93080E5D80719F416
+:1015B0008091CF0326C0CB3090E5D90721F48091EC
+:1015C000CF038F7E1FC0CD3020E5D20721F480915C
+:1015D000CF038F7D17C0CF3080E5D80721F48091ED
+:1015E000CF038F7B0FC0C13190E5D90721F48091E3
+:1015F000CF038F7707C0C331D04531F48091CF033B
+:101600008B7F877F8093CF038091CF030E94C12778
+:10161000ABC08D2F99278F70992781309105D9F410
+:101620009E012370332702C0880F991F2A95E2F785
+:101630009C688E0144E0000F111F4A95E1F70027D6
+:101640001370802B912B53E0CC0FDD1F5A95E1F7DF
+:10165000C076DD272FC08230910531F4DC2FCC27F6
+:101660008E01016F106A80C08330910569F4CE014C
+:101670008370992701E010E002C0000F111F8A95C6
+:10168000E2F7C8019C680FC084309105B9F4CE011F
+:101690008370992701E010E002C0000F111F8A95A6
+:1016A000E2F7C8019A6823E0CC0FDD1F2A95E1F725
+:1016B000C07ED7708C010C2B1D2B56C08530910538
+:1016C00031F4DC2FCC278E01046F106A4DC00697D1
+:1016D00009F04AC0CF71DD27DC2FCC278E011062C4
+:1016E00043C000E010E040C08E013EC001E810E4BD
+:1016F0003BC003E810E438C002EE14E435C009EE44
+:1017000014E432C00AEE14E42FC005EB14E42CC03C
+:1017100006EB14E429C007EB14E426C00CEC14E437
+:1017200023C00DEC14E420C003E815E41DC00AE852
+:1017300015E41AC002E915E417C004E915E414C061
+:1017400001E216E411C003E216E40EC004E216E45E
+:101750000BC005E216E408C006E216E405C007E285
+:1017600016E402C00AE216E4C801DF91CF911F918E
+:101770000F9108959CE0799FF00111249CE3899FCB
+:10178000E00DF11D1124E60FF11DEE0FFF1FE457D0
+:10179000FE4F85919491803E9105E0F4803C910547
+:1017A00058F58133910509F46FC048F489329105E9
+:1017B00009F463C08A32910509F46DC072C089339F
+:1017C0009105E9F082389105D1F08533910509F44E
+:1017D0004DC067C0833E910581F138F4803E91058C
+:1017E000B9F0823E9105D9F05CC0863E910561F169
+:1017F000873E9105A1F155C00E94480908952091A6
+:10180000CF0320FD02C021FF4CC080EE90E049C014
+:101810008091CF0380FFF9CF89E390E042C08091AF
+:10182000CF0382FF0EC08091CF0384FF03C080E00E
+:1018300090E037C083EE90E034C08091CF0382FF08
+:10184000F2CF82EE90E02DC08091CF0383FF0BC0DA
+:101850008091CF0384FDEBCF87EE90E022C0809192
+:10186000CF0383FFF5CF86EE90E01BC08091CF03BE
+:1018700085FF07C089E290E014C08091CF0385FF07
+:10188000F9CF85E390E00DC08091CF0386FF07C0BC
+:101890008AE290E006C08091CF0386FFF9CF81E312
+:1018A00090E00E9458090895CF92DF92EF92FF9244
+:1018B0000F931F9301E010E020E030E06801790110
+:1018C00004C0CC0CDD1CEE1CFF1C8A95D2F704C0B2
+:1018D000000F111F221F331F6A95D2F70C291D29F3
+:1018E0002E293F29C0908803D0908903E0908A0375
+:1018F000F0908B03C022D122E222F322842FC01663
+:10190000D106E206F30641F41F910F91FF90EF908C
+:10191000DF90CF900C942A241F910F91FF90EF90AD
+:10192000DF90CF900C944B2408950C94940CE82FE6
+:10193000F0E0E250FE4F8081E82FEF70F0E08295FA
+:101940008F7021E030E0A90102C0440F551F8A9535
+:10195000E2F740A308950F931F93CF93DF9385B7CA
+:10196000806885BF85B7806885BFC4E0D0E001E0AE
+:1019700010E0FE01E250FE4F8081E82FEF70F0E0B2
+:1019800021A182958F70A80102C0440F551F8A952E
+:10199000E2F7CA01822B81A38C2F0E94970C21971A
+:1019A00040F78BE090E061E070E0FC01EE50FE4F0C
+:1019B0002081E22FEF70F0E042A122952F70DB0131
+:1019C00002C0AA0FBB1F2A95E2F79D01242B22A378
+:1019D000019758F7DF91CF911F910F910C94D60684
+:1019E000EF92FF920F931F93CF93DF930FEC12E0D0
+:1019F000C4E0EE24E394F12CD5E08C2F0E94970CE8
+:101A00008BE090E040E050E0FC01EE50FE4F608142
+:101A1000E62FEF70F0E020A130E062956F7002C019
+:101A2000359527956A95E2F720FD09C09701082EA4
+:101A300002C0220F331F0A94E2F7422B532B019767
+:101A400018F7F801929182918F018417950721F080
+:101A500051834083D093B5018C2F0E94970CC150C5
+:101A600060F68091B50187FD1FC081508093B5015C
+:101A70008F3F39F08FE99FE00197F1F700C0000038
+:101A800013C080E090E0FC01E153FD4FDC01AB535B
+:101A9000BD4F18962D913C91199731872087029759
+:101AA000863FEFEF9E0779F70E94D80681E0DF912D
+:101AB000CF911F910F91FF90EF900895E82FF0E0E4
+:101AC000EE0FFF1FE153FD4F80819181089508952E
+:101AD0000F931F93CF9309ED12E0C0E0F8019291AC
+:101AE00082918F010E946126C80FF2E00F3C1F0710
+:101AF000A9F78C2FCF911F910F9108950E94A527D0
+:101B0000811102C00E9481270E94CF278093BA03CF
+:101B10003E9A809171008D7F8093710082E0809366
+:101B200090008AE18093910081E08093DB02089528
+:101B30008091DB02811102C00E947E0D10922B0366
+:101B400010922A03809171008D7F809371008091A3
+:101B500090008F73809390001092ED021092EC022F
+:101B6000109224031092250310922603109227034B
+:101B70001092230310922203E2E0F3E0A2EFB2E01E
+:101B800011921192119211921D921D9283E0E232F4
+:101B9000F807B1F70895CF92DF92EF92FF920F937B
+:101BA0001F93CF93DF932091EC02222309F484C08A
+:101BB0006B017C018091DB02811102C00E947E0DCD
+:101BC00002E213E0C7E0D0E0A7019601F80192918C
+:101BD0008291729162918F010E94162D811131C004
+:101BE000FE01EE0FFF1FEE0FFF1FEE5FFC4F108296
+:101BF000118212821382DE01AA0FBB1FAE50BD4FAD
+:101C000011961C921E92C730D105E9F021964481AD
+:101C10005581668177814083518362837383148207
+:101C200015821682178212968D919C9113971196A8
+:101C30009C938E9313961C921E9212973496129632
+:101C4000E2CF219708F680912A0390912B03019708
+:101C500097FD05C090932B0380932A0304C0109234
+:101C60002B0310922A0380912A0390912B03209139
+:101C70002803309129032817390724F010922903EB
+:101C800010922803892BC1F4809171008D7F80937D
+:101C90007100809190008F738093900010922403C4
+:101CA000109225031092260310922703109223030B
+:101CB000109222031092EC02DF91CF911F910F91AD
+:101CC000FF90EF90DF90CF9008951F920F920FB684
+:101CD0000F9211244F925F926F927F928F929F92F8
+:101CE000AF92BF92CF92DF92EF92FF922F933F93EA
+:101CF0004F935F936F937F938F939F93AF93BF9314
+:101D0000CF93DF93EF93FF938091EC02882309F444
+:101D10009BC1C0912A03D0912B031C161D060CF009
+:101D200093C14090DC025090DD026090DE02709022
+:101D3000DF0220E030E0A901C301B2010E94C12E00
+:101D400018160CF065C0C130D10509F452C080915D
+:101D5000280390912903BE010E9493307C01909347
+:101D60002903809328038090EE029090EF02A090C8
+:101D7000F002B090F10220E030E040E85FE3C501FE
+:101D8000B4010E94B22C6093EE027093EF02809334
+:101D9000F0029093F102F701EE0FFF1FEE0FFF1F0D
+:101DA000EE5FFC4FA301920160817181828193817A
+:101DB0000E941A2D20E030E040E05EE30E94C52E34
+:101DC0009B01AC01C501B4010E94C12E18168CF410
+:101DD000C7010196BE010E9493309093290380931E
+:101DE00028031092EE021092EF021092F00210926D
+:101DF000F102E0912803F0912903EE0FFF1FEE0F8F
+:101E0000FF1FEE5FFC4F6081718182819381D0C0A2
+:101E1000C0902403D0902503E0902603F090270380
+:101E200020E030E0A901C701B6010E94162D2197DC
+:101E3000882309F4A2C0FE01EE0FFF1FEE0FFF1F63
+:101E4000EE5FFC4F80809180A280B380A501940159
+:101E5000C701B6010E94162D87FF31C0A50194016C
+:101E600060E070E08CED93EC0E941A2D20E030E0F1
+:101E700040E451E40E941A2D20E030E040E05FE3AE
+:101E80000E94C52E9B01AC0160E070E080E090E410
+:101E90000E94282F9B01AC01C501B4010E94C52EF0
+:101EA0009B01AC01C701B6010E94162D87FF07C038
+:101EB000A701960160E070E08CED93E439C0A501C4
+:101EC0009401C701B6010E94C12E18160CF055C02E
+:101ED000A501940160E070E08CED93E40E941A2D5E
+:101EE00020E030E040E451E40E941A2D20E030E090
+:101EF00040E05FE30E94C52E9B01AC0160E070E012
+:101F000080E090E40E94282F9B01AC01C501B40140
+:101F10000E94C52E9B01AC01C701B6010E94C12ED3
+:101F200018165CF5A701960160E070E08CED93EC6B
+:101F30000E941A2D20E030E040E451E40E941A2D66
+:101F400020E030E040E05FE30E94C52E9B01AC0141
+:101F500060E070E080E090E40E94282F9B01AC01DB
+:101F6000C701B6010E94C52E609324037093250318
+:101F7000809326039093270313C0FE01EE0FFF1FEB
+:101F8000EE0FFF1FEE5FFC4F80819181A281B38134
+:101F90008093240390932503A0932603B0932703F3
+:101FA000609124037091250380912603909127036B
+:101FB0002091D9023091DA022F3F4FEF340731F0F0
+:101FC0002F5F3F4F3093DA022093D9020E94A01274
+:101FD0006B017C0120E034E244EF51E40E94162DB5
+:101FE00087FF08C086EFC82E88E2D82E84EFE82E3F
+:101FF00081E4F82E20E030E040E051E4C701B60172
+:102000000E94C52E9B01AC0160E074E284E79BE472
+:102010000E941A2D6B017C010E94872D70939700FE
+:10202000609396002091B6013091B7014091B801BC
+:102030005091B901C701B6010E94C52E0E94872D9B
+:1020400070939900609398008091ED02882309F4C1
+:1020500033C1C090E802D090E902E090EA02F0902B
+:10206000EB0220E030E0A901C701B6010E94C12EB9
+:102070001816D4F58091D9029091DA028F3F2FEF94
+:10208000920729F001969093DA028093D902C70152
+:10209000B6010E94A01220E030E040E051E40E942E
+:1020A000C52E9B01AC0160E074E284E79BE40E94D2
+:1020B0001A2D6B017C010E94872D7093970060930D
+:1020C00096002091B6013091B7014091B80150912E
+:1020D000B901C701B6010E94C52E0E94872D7093D9
+:1020E00099006093980008C0109297001092960093
+:1020F00010929900109298006091E2027091E302B0
+:102100006F5F7F4F7093E3026093E202209196002D
+:102110003091970080E090E0232BF1F0C091960081
+:10212000D09197000E94B32D6B017C01BE0180E02D
+:1021300090E00E94B32D9B01AC016091E40270918C
+:10214000E5028091E6029091E7020E941A2D20E0BC
+:102150003FEF4FE757E410C00E94B32D6B017C01A5
+:1021600020E030EE4FEF54E46091E4027091E5021C
+:102170008091E6029091E7020E94C52E9B01AC017E
+:10218000C701B6010E94C12E87FD96C08091E00272
+:102190008F5F8093E00290E02091B6033091B70307
+:1021A00082179307A0F08091C103882319F0109241
+:1021B000E0020DC0809171008D7F8093710080914D
+:1021C00090008F73809390001092ED027DC08091FB
+:1021D000E102C091E002811128C0C090BB03D09001
+:1021E000BC03E090BD03F090BE0320E030E0A90105
+:1021F000C701B6010E94C12E1816BCF481E080937D
+:10220000E1021092E8021092E9021092EA021092A2
+:10221000EB02C092E402D092E502E092E602F09274
+:10222000E702C150C093E00243C01092E102109255
+:10223000DA021092D902E091B803F091B90348E0B4
+:10224000C49FE00DF11D112480819181A281B38191
+:102250008093E8029093E902A093EA02B093EB0224
+:1022600020E030E040E85EE36481758186819781FB
+:102270000E94C52E6B017C018091BA01682F70E02D
+:1022800080E090E00E94B32D20E030E048EC52E482
+:102290000E941A2D9B01AC01C701B6010E94C52EF8
+:1022A0006093E4027093E5028093E6029093E70264
+:1022B0001092E3021092E2028091BA0380FD04C002
+:1022C0001092ED021092EC02FF91EF91DF91CF910D
+:1022D000BF91AF919F918F917F916F915F914F913E
+:1022E0003F912F91FF90EF90DF90CF90BF90AF90F4
+:1022F0009F908F907F906F905F904F900F900FBE48
+:102300000F901F901895CF92DF92EF92FF92CF938C
+:10231000DF936B017C01EA018091DB02811102C035
+:102320000E947E0D8091BA0380FF46C080912A03EF
+:1023300090912B0308970CF03FC0809171008D7F26
+:10234000809371008091ED0281110E94980D81E0CF
+:102350008093EC021092DA021092D90220E030E071
+:10236000A901C701B6010E94C12E1816DCF48091A4
+:102370002A0390912B03FC01EE0FFF1FEE0FFF1FAE
+:10238000EE5FFC4FC082D182E282F382FC01EE0F4D
+:10239000FF1FEE50FD4FD183C083019690932B0316
+:1023A00080932A03809171008260809371008091F4
+:1023B0009000806880939000DF91CF91FF90EF9024
+:1023C000DF90CF9008958F929F92AF92BF92CF925D
+:1023D000DF92EF92FF920F931F93CF93DF93EC0165
+:1023E0007B01D42E480159018091DB02811102C08A
+:1023F0000E947E0D8091BA0380FF6BC080917100B6
+:102400008D7F809371008091EC0281110E94980D64
+:1024100081E08093ED02D093B903C093B803F092AA
+:10242000B703E092B603D092C1038092BB039092AF
+:10243000BC03A092BD03B092BE031092EE021092B4
+:10244000EF021092F0021092F1021092E0028881E5
+:102450009981AA81BB818093E8029093E902A093BD
+:10246000EA02B093EB0220E030E040E85EE36C81EA
+:102470007D818E819F810E94C52E6B017C018091A0
+:10248000BA01682F70E080E090E00E94B32D20E058
+:1024900030E048EC52E40E941A2D9B01AC01C701C8
+:1024A000B6010E94C52E6093E4027093E50280930A
+:1024B000E6029093E7021092E3021092E20280910A
+:1024C0007100826080937100809190008068809399
+:1024D0009000DF91CF911F910F91FF90EF90DF90CF
+:1024E000CF90BF90AF909F908F9008958091BA0346
+:1024F000817008958091BA0381608093BA030E942D
+:10250000D3270C9432078091BA038E7F8093BA034D
+:102510000C94D32780912C0390E0019666E070E044
+:102520000E94933080932C03089580912C0390E0B7
+:10253000019766E070E00E94933080932C03089529
+:102540008F929F92AF92BF92CF92DF92EF92FF92C3
+:102550000F931F93CF93DF936B017C01C091D9023E
+:10256000D091DA02BE0180E090E00E94B32D4B01D1
+:102570005C01A701960160E070E08CE594E40E94A4
+:102580001A2D9B01AC01C501B4010E94C52E0E9409
+:10259000872D20912C03233009F473C028F42223C3
+:1025A00051F02130E9F02CC1243009F4A0C02530CD
+:1025B00009F4E0C025C180E090E0A0E0BFE3809393
+:1025C000B6019093B701A093B801B093B9011092EE
+:1025D000DC021092DD021092DE021092DF0210C1C6
+:1025E0001092DC021092DD021092DE021092DF02E5
+:1025F0006431710540F46A30710560F520E030E027
+:1026000040E85EE32BC0693C710508F0AAC080E099
+:1026100090E00E94B32D20E030E040EA51E40E94B7
+:10262000B12C20E030E044E353E40E941A2D9B01DA
+:10263000AC010E94C52E20E030E040E05EE30E9445
+:10264000C52E9B01AC0160E070E080E09EE30E943B
+:10265000B12C44C020E030E040E05FE3C701B601A8
+:102660000E94C52E6B017C0180E090E0A0E0BEE3FB
+:102670008093B6019093B701A093B801B093B901CC
+:10268000BFC01092DC021092DD021092DE021092A6
+:10269000DF024AE0469F9001479F300D1124C90197
+:1026A00068EB7BE00E947F30BC016C5D754077FF7A
+:1026B00003C0719561957109882777FD8095982FE2
+:1026C0000E94B52D2EE333EC4EE259E30E94C52E55
+:1026D00020E030E040EC5EE30E94B22C6093B60153
+:1026E0007093B7018093B8019093B90189C010929B
+:1026F000DC021092DD021092DE021092DF02CE01A7
+:1027000083709927892BE1F0BE016170772780E003
+:1027100090E00E94B32D20E030E040E05EE30E94B4
+:10272000C52E20E030E040E45FE30E94B22C6093CD
+:10273000B6017093B7018093B8019093B9010CC0B2
+:1027400080E090E0A0E0BFE38093B6019093B701F2
+:10275000A093B801B093B901C770DD27CD2B09F064
+:102760004FC01092B6011092B7011092B8011092AA
+:10277000B90146C01092DC021092DD021092DE0216
+:102780001092DF0200E010E020E03FE30093B6018A
+:102790001093B7012093B8013093B90167397105DF
+:1027A00078F180E090E00E94B32D20E030E047E136
+:1027B00053E40E94B12C20E030E04AE754E40E9448
+:1027C0001A2D20E030E048E452E40E94C52E20E0BB
+:1027D00030E040EA51E40E94F72D0E94822D660FFE
+:1027E000771F660F771FFB01ED5FFD4F2081318161
+:1027F00042815381C701B6010E94C52E6B017C0145
+:10280000C701B601DF91CF911F910F91FF90EF901B
+:10281000DF90CF90BF90AF909F908F900895809160
+:102820003D030895CF93DF9300D01F92CDB7DEB75D
+:102830009C018091C603843019F593E099833B8312
+:102840002A839093E9008FEF9091E800815095FDE5
+:1028500006C095ED9A95F1F700008111F5CF8091B2
+:10286000E80085FF0DC040E050E063E070E0CE017D
+:1028700001960E9473168091E8008E778093E8009D
+:102880000F900F900F90DF91CF910895CF93DF932A
+:1028900000D01F92CDB7DEB72091C603243021F5BA
+:1028A00022E029839B838A8383E08093E9008FEF72
+:1028B0009091E800815095FD06C095ED9A95F1F74D
+:1028C00000008111F5CF8091E80085FF0DC040E048
+:1028D00050E063E070E0CE0101960E947316809193
+:1028E000E8008E778093E8000F900F900F90DF91B3
+:1028F000CF9108952091C6032430F1F422E0209373
+:10290000E9002FEF3091E800215035FD06C035ED8C
+:102910003A95F1F700002111F5CF2091E80025FF4D
+:102920000BC040E050E065E070E00E9473168091BB
+:10293000E8008E778093E8000895CF93DF93EC0151
+:102940009091C603943009F046C08091C501882358
+:10295000D9F08091C6018823B9F09093E9008FEFF8
+:102960009091E800815095FD06C095E19A95F1F7A8
+:1029700000008111F5CF8091E80085FF2CC040E078
+:1029800050E060E170E017C081E08093E9008FEFD4
+:102990009091E800815095FD06C095ED9A95F1F76C
+:1029A00000008111F5CF8091E80085FF14C040E060
+:1029B00050E068E070E0CE010E9473168091E8005C
+:1029C0008E778093E80080E1FE01ADE2B3E00190F4
+:1029D0000D928A95E1F7DF91CF9108958091C5031B
+:1029E000811109C00E9408180E9465188091E200B8
+:1029F00084608093E20008951092C50308950895BD
+:102A000008950C94AC2642E061EC81E00E948217AC
+:102A100042E061EC82E00E94821742E061EC83E0D8
+:102A20000E94821742E161EC84E00C94821780914D
+:102A3000C803833009F455C030F4813071F082301E
+:102A400009F48EC008958A3009F47AC08B3009F4F5
+:102A500060C0893009F09CC020C08091C703813AD2
+:102A600009F096C08091E800877F8093E80080910C
+:102A7000CB039091CC03892B21F460E18DE293E0AC
+:102A800003C060E080E090E070E00E94BE1680919C
+:102A9000E8008B778093E80008958091C703813226
+:102AA00009F076C08091CB039091CC03009719F088
+:102AB000039709F06DC08091E800877F8093E8005C
+:102AC0008091E80082FD05C08091C6038111F8CF96
+:102AD0005FC08091F10080933D038091E8008B7787
+:102AE00053C08091C703813A09F052C08091CB0353
+:102AF0009091CC03892B09F04BC08091E800877F2F
+:102B00008093E8008091E80080FFFCCF8091C501B0
+:102B100036C08091C7038132D9F58091CB03909163
+:102B2000CC03892BA9F58091E800877F8093E8008A
+:102B30000E94B7178091C9038093C5010C94ED1FC3
+:102B40008091C703813221F58091E800877F8093CF
+:102B5000E8000E94B7178091CA0380933E0308954E
+:102B60008091C703813AA1F48091E800877F809328
+:102B7000E8008091E80080FFFCCF80913E038093C5
+:102B8000F1008091E8008E778093E8000C94B717ED
+:102B9000089584B7877F84BF88E10FB6F894809347
+:102BA0006000109260000FBE90E080E80FB6F894CD
+:102BB00080936100909361000FBE0E945A1B0E9497
+:102BC00008180E9465188091E20084608093E200FA
+:102BD00078940E94EB1A0E945C1B8BEB91E00E94A0
+:102BE000061B8091C603853069F40E946D26809192
+:102BF000C4038823B1F30E949B26882391F30E948B
+:102C00005D16EFCF0E94641BECCF292F33272330B2
+:102C10003105C9F064F42130310581F022303105ED
+:102C200009F043C08DE690E022EE39E042C0213247
+:102C30003105F1F02232310541F137C082E190E0F7
+:102C40002FE43AE036C099278130910541F0823077
+:102C5000910541F0892B49F5EEEDF9E005C0E0EB77
+:102C6000F9E002C0E4E8F9E0849190E09F0121C01E
+:102C70006430D8F4E62FF0E0EE0FFF1FE15AFD4F6D
+:102C80002081318189E090E014C0643070F470E0FC
+:102C9000FB01EE0FFF1FE95AFD4F20813181FB013F
+:102CA000ED5AFD4F808190E004C080E090E020E08C
+:102CB00030E0FA0131832083089580E189BD82E10B
+:102CC00089BD09B400FEFDCF8091D8008F7D80932F
+:102CD000D8008091E00082608093E0008091E00065
+:102CE00081FDFCCF0895CF92DF92EF92FF920F9378
+:102CF0001F93CF93DF93EC018B016A010E94D617DB
+:102D0000811133C0C114D10439F0F6018081918161
+:102D1000081B190BC80FD91FE12CF12C0115110547
+:102D200019F18091E80085FD16C08091E8008E774A
+:102D30008093E800C114D10449F0F60180819181AB
+:102D4000E80EF91EF182E08285E00FC00E94D617DE
+:102D5000882321F30AC089918093F1000150110961
+:102D6000FFEFEF1AFF0ADACF80E0DF91CF911F91DA
+:102D70000F91FF90EF90DF90CF9008952091CD03B9
+:102D80003091CE032617370748F06115710539F4E5
+:102D90002091E8002E772093E80001C0B90140E0BF
+:102DA00061157105A9F12091C603222309F443C0DE
+:102DB000253009F442C02091E80023FD40C0209155
+:102DC000E80022FD32C02091E80020FFE9CF4091C9
+:102DD000F3002091F20030E0342BFC01CF016115AB
+:102DE000710559F02830310540F481918093F1004C
+:102DF000615071092F5F3F4FF1CF41E0283031051D
+:102E000009F040E02091E8002E772093E800C8CF39
+:102E10004111C9CF0AC08091C603882361F0853073
+:102E200061F08091E80083FD0AC08091E80082FF94
+:102E3000F2CF80E0089582E0089583E0089581E074
+:102E400008952091CD033091CE032617370748F01F
+:102E50006115710539F42091E8002E772093E80080
+:102E600001C0B901FC0120E06115710591F180916B
+:102E7000C603882309F440C0853009F43FC080911F
+:102E8000E80083FD3DC08091E80082FD2FC0809165
+:102E9000E80080FFE9CF2091F3008091F20090E0FC
+:102EA000922B6115710559F08830910540F42491F9
+:102EB0002093F1003196615071090196F2CF21E023
+:102EC000089709F020E08091E8008E778093E80071
+:102ED000CBCF2111CCCF0AC08091C603882361F0EB
+:102EE000853061F08091E80083FD0AC08091E800A0
+:102EF00082FFF2CF80E0089582E0089583E0089594
+:102F000081E00895982F973058F59093E90098172D
+:102F100039F07091EC002091ED005091F00003C069
+:102F2000242F762F50E021FF19C03091EB003E7F17
+:102F30003093EB003091ED003D7F3093ED00309108
+:102F4000EB0031603093EB007093EC002093ED00C8
+:102F50005093F0002091EE0027FF07C09F5FD3CF72
+:102F60008F708093E90081E0089580E0089580915A
+:102F7000C70387FF11C08091E80082FD05C08091E2
+:102F8000C6038111F8CF11C08091E8008B770BC088
+:102F90008091C603882349F08091E80080FFF8CF34
+:102FA0008091E8008E778093E80008952091E400F6
+:102FB0003091E50095E64091EC00842F817040FF50
+:102FC00022C08091E80080FD1CC08091C603882348
+:102FD00091F0853091F08091EB0085FD10C040911B
+:102FE000E4005091E5004217530729F39A019150EC
+:102FF00011F784E0089582E0089583E0089581E068
+:10300000089580E008954091E80042FFDECF0895E2
+:103010000E9476180E947E18E0EEF0E080818160C8
+:103020008083E8EDF0E080818F77808319BCA7ED85
+:10303000B0E08C918E7F8C9380818F7E8083109204
+:10304000C50308950F931F93CF93DF930E947618C3
+:103050000E947E18C8EDD0E088818F7788838881B0
+:103060008068888388818F7D888319BC1092C6030D
+:103070001092C2031092C4031092C30300EE10E03A
+:10308000F80180818B7F808388818160888342E022
+:1030900060E080E00E948217E1EEF0E080818E7FA8
+:1030A0008083E2EEF0E080818160808380818860AF
+:1030B0008083F80180818E7F80838881806188830E
+:1030C000DF91CF911F910F910895E8EDF0E080819D
+:1030D0008F7E8083E7EDF0E080818160808384E0F3
+:1030E00082BF81E08093C5030C942218E8EDF0E0E4
+:1030F00080818E7F80831092E20008951092DA0022
+:103100001092E10008951F920F920FB60F921124B2
+:103110002F933F934F935F936F937F938F939F93DF
+:10312000AF93BF93EF93FF938091E10082FF0BC0B9
+:103130008091E20082FF07C08091E1008B7F809345
+:10314000E1000E94EA1A8091DA0080FF1FC080919E
+:10315000D80080FF1BC08091DA008E7F8093DA0058
+:103160008091D90080FF0DC080E189BD82E189BDD9
+:1031700009B400FEFDCF81E08093C6030E94EE14E7
+:1031800005C019BC1092C6030E94FC148091E10096
+:1031900080FF19C08091E20080FF15C08091E2009D
+:1031A0008E7F8093E2008091E20080618093E20054
+:1031B0008091D80080628093D80019BC85E080930C
+:1031C000C6030E9400158091E10084FF30C0809109
+:1031D000E20084FF2CC080E189BD82E189BD09B491
+:1031E00000FEFDCF8091D8008F7D8093D800809124
+:1031F000E1008F7E8093E1008091E2008F7E8093DA
+:10320000E2008091E20081608093E2008091C2033D
+:10321000882311F084E007C08091E30087FD02C09D
+:1032200081E001C083E08093C6030E940115809174
+:10323000E10083FF29C08091E20083FF25C08091D7
+:10324000E100877F8093E10082E08093C6031092C3
+:10325000C2038091E1008E7F8093E1008091E200C3
+:103260008E7F8093E2008091E20080618093E20093
+:1032700042E060E080E00E9482178091F000886068
+:103280008093F0000E94FF14FF91EF91BF91AF91E6
+:103290009F918F917F916F915F914F913F912F916E
+:1032A0000F900FBE0F901F9018951F920F920FB6A0
+:1032B0000F9211242F933F934F935F936F937F93BC
+:1032C0008F939F93AF93BF93CF93DF93EF93FF932E
+:1032D000C091E900CF708091EC00D82FD17080FDB3
+:1032E000D0E81092E9008091F000877F8093F00091
+:1032F00078940E9499191092E9008091F0008860FA
+:103300008093F000CD2BCF70C093E900FF91EF9137
+:10331000DF91CF91BF91AF919F918F917F916F91ED
+:103320005F914F913F912F910F900FBE0F901F9083
+:1033300018951F93CF93DF93CDB7DEB7AA970FB63B
+:10334000F894DEBF0FBECDBFE7ECF3E088E08E0F50
+:103350009091F10091938E13FBCF0E9417158091ED
+:10336000E80083FF1FC18091C7039091C803492FD4
+:1033700050E04A30510508F015C1FA01EA5AFF4FF2
+:103380000C94A730803881F0823809F00BC180910D
+:10339000CB038F708093E9008091EB0085FB882739
+:1033A00080F91092E90006C08091C3039091C40394
+:1033B000911182609091E800977F9093E80080934C
+:1033C000F1001092F100C8C0282F2D7F09F0EAC04B
+:1033D000882319F0823061F0E5C08091C903813003
+:1033E00009F0E0C0933009F080E08093C4032BC063
+:1033F0008091C903811127C08091CB038F7009F49C
+:10340000D1C08093E9002091EB0020FF1CC09330D5
+:1034100021F48091EB00806214C09091EB009061E8
+:103420009093EB0021E030E0A90102C0440F551F4A
+:103430008A95E2F74093EA001092EA008091EB004F
+:1034400088608093EB001092E9008091E800877F0C
+:1034500086C08111A7C01091C9031F778091E30036
+:103460008078812B8093E3008091E800877F8093B0
+:10347000E8000E94B7178091E80080FFFCCF8091A0
+:10348000E30080688093E300111102C082E001C074
+:1034900083E08093C60386C08058823008F082C0E3
+:1034A0008091C9039091CA038C3D53E0950779F54B
+:1034B00083E08A838AE289834FB7F894DE0113960A
+:1034C00020E03EE051E2E32FF0E050935700E4911A
+:1034D00020FF03C0E295EF703F5FEF708E2F90E00A
+:1034E000EA3010F0C79601C0C0968D939D932F5F70
+:1034F000243149F74FBF8091E800877F8093E8002F
+:103500006AE270E0CE0101960E94BE1614C0AE01C0
+:103510004F5F5F4F6091CB030E940516BC0100977F
+:1035200009F440C09091E800977F9093E80089816A
+:103530009A810E9421178091E8008B778093E800A0
+:1035400031C0803879F58091E800877F8093E8006A
+:103550008091C2038093F1008091E8008E77809380
+:10356000E8000E94B7171EC081111CC09091C903CA
+:103570009230C0F48091E800877F8093E8009093B8
+:10358000C2030E94B7178091C203811106C08091C7
+:10359000E30087FD02C081E001C084E08093C603A0
+:1035A0000E9403158091E80083FF0AC08091E80023
+:1035B000877F8093E8008091EB0080628093EB002E
+:1035C000AA960FB6F894DEBF0FBECDBFDF91CF91A4
+:1035D0001F9108950895CF938091C6038823A1F089
+:1035E000C091E900CF709091EC00892F817090FD1F
+:1035F00080E8C82B1092E9008091E80083FD0E94CA
+:103600009919CF70C093E900CF9108959093440326
+:10361000809343030895E0914303F091440330976E
+:1036200021F00190F081E02D099480E00895E0916F
+:103630004303F0914403309721F00280F381E02DA1
+:1036400009940895E0914303F0914403309721F0E9
+:103650000480F581E02D0994089520914103309173
+:1036600042038217930771F09093420380934103C2
+:10367000E0914303F0914403309721F00680F781F5
+:10368000E02D0994089520913F0330914003821763
+:10369000930771F09093400380933F03E0914303BD
+:1036A000F0914403309721F00084F185E02D0994D6
+:1036B000089508950C94591B0E94E0260E94AB0CBB
+:1036C0000E9466270C941A2C5F926F927F928F92C1
+:1036D0009F92AF92BF92CF92DF92EF92FF920F93A1
+:1036E0001F93CF93DF9300D000D01F92CDB7DEB7EA
+:1036F0000E94F00C90E5C92E93E0D92E04E010E072
+:10370000AA24A394B12C502E802F0E945E0D4C0150
+:10371000F601729062906F01682679266114710437
+:10372000A1F40150110978F78FEF89838A831B82F6
+:103730000E94E9268160782F9D838C8349815A817C
+:103740006B818D810E94141C38C08091A50381FD7E
+:103750000E94670D2BE030E07501022E02C0EE0CD6
+:10376000FF1C0A94E2F7C70186219721892B09F1F2
+:1037700029835A828E209F2091E0892809F490E0C5
+:103780009B830E94E9268160782F9D838C834981E9
+:103790005A816B818D810E94141C000F111FF8014A
+:1037A000EA5BFC4F80819181E826F926F182E08274
+:1037B00004C02150310980F6B4CF0E9452291091E3
+:1037C00045030E940B1B1817D1F00E940B1B80931E
+:1037D00045030F900F900F900F900F90DF91CF91B6
+:1037E0001F910F91FF90EF90DF90CF90BF90AF901F
+:1037F0009F908F907F906F905F900C94950C0F909E
+:103800000F900F900F900F90DF91CF911F910F911C
+:10381000FF90EF90DF90CF90BF90AF909F908F90F0
+:103820007F906F905F900895CF93DF93CDB7DEB711
+:103830002B970FB6F894DEBF0FBECDBF4F835887CE
+:1038400069877A878B87DE01119686E0FD011192E8
+:103850008A95E9F785E0FE01379601900D928A95E9
+:10386000E1F749815A816B817C818D819E810E9423
+:103870008B222B960FB6F894DEBF0FBECDBFDF9123
+:10388000CF910895CF93882309F4C2C0C82F8238FE
+:1038900059F40E940B1B81FDBBC089E30E94652582
+:1038A0000E94322689E30CC0833879F40E940B1BF6
+:1038B00080FDAEC083E50E9465250E94322683E527
+:1038C0000E94A725CF910C943226843859F40E9487
+:1038D0000B1B82FD9DC087E40E9465250E94322655
+:1038E00087E4EECF8CEF8C0F813A48F48C2F0E9446
+:1038F000822B81118DC08C2F0E946525E3CF80E241
+:103900008C0F883048F4C77081E001C0880FCA95D9
+:10391000EAF70E94EB25D6CF8BE58C0F833078F445
+:10392000C53A29F0C63A31F083E890E005C081E855
+:1039300090E002C082E890E0CF910C942D1B88E5C6
+:103940008C0F833108F064C0C83A39F1C93A41F1AB
+:10395000CA3A49F1CB3A51F1CC3A59F1CD3A61F139
+:10396000C03B69F1CE3A71F1CF3A79F1C13B81F1B7
+:10397000C23B89F1C33B91F1C43B99F1C53BA1F135
+:10398000C63BA9F1C73BB1F1C83BB9F1C93BC1F195
+:10399000CA3BC9F180E090E038C082EE90E035C0CB
+:1039A00089EE90E032C08AEE90E02FC085EB90E087
+:1039B0002CC086EB90E029C087EB90E026C08CEC11
+:1039C00090E023C08DEC90E020C083E891E01DC022
+:1039D0008AE891E01AC082E991E017C084E991E099
+:1039E00014C081E292E011C083E292E00EC084E252
+:1039F00092E00BC085E292E008C086E292E005C04A
+:103A000087E292E002C08AE292E0CF910C94431BDD
+:103A1000CF910895882309F44BC0823859F40E944D
+:103A20000B1B81FF45C089E30E9465250E94322659
+:103A300089E30CC0833871F40E940B1B80FF38C0EF
+:103A400083E50E9465250E94322683E50E94A72512
+:103A50000C943226843859F40E940B1B82FF28C034
+:103A600087E40E9465250E94322687E4EFCF9CEF11
+:103A7000980F913A58F390E2980F983050F487706D
+:103A800091E001C0990F8A95EAF7892F0E94F125EC
+:103A9000DFCF9BE5980F933020F480E090E00C940A
+:103AA0002D1B885A833120F480E090E00C94431B56
+:103AB0000895882321F00E94EB250C943226089566
+:103AC000882321F00E94F1250C94322608957F92DC
+:103AD0008F929F92AF92BF92CF92DF92EF92FF921E
+:103AE0000F931F93CF93DF931F92CDB7DEB77C0167
+:103AF000C62E772EFC01058102950F7012811111DF
+:103B00000E9408260E945E25882379F0112369F01F
+:103B100080E28C0D883048F082E00E9447250E94A8
+:103B20005E2591E0D82ED92601C0D12CE72DE29553
+:103B3000EF70F0E0E05AFF4F0C94A730872D807FA4
+:103B4000072D0F70882311F00295007F112389F053
+:103B5000002309F499C180E28C0D883020F4802F75
+:103B60000E94EB2503C0802F0E94FB250E94322675
+:103B70008BC18C2D0E940A1D002309F4C3C180E271
+:103B80008C0D883020F4802F0E94F12503C0802FF7
+:103B90000E9401260E943226B5C1872D807F972D75
+:103BA0009F70803211F4892F03C0892F8295807F06
+:103BB000CC2021F0F1E0CF16A1F01DC0112339F087
+:103BC000002319F1013009F50E941B269BC1002337
+:103BD00019F0013009F496C189830E941E2689815B
+:103BE00010C1112321F0063008F08CC10EC0053041
+:103BF00008F088C106C1112359F0002331F0F70104
+:103C0000958190FF41C19F7095830E94591D7AC193
+:103C1000002309F4F6C03EC1872D869586958370F2
+:103C200090E0009719F0019761F06CC1112321F029
+:103C30008C2D972D937002C080E090E00E942D1B88
+:103C400061C1112321F08C2D972D937002C080E06B
+:103C500090E00E94431B56C18C2D112319F00E9445
+:103C60005A2802C00E94C2280E9447294BC1872DB2
+:103C7000837009F052C0111145C18C2D8295869533
+:103C80008770880F880F9C2D9F70892E912CA12CF6
+:103C9000B12C082E04C0880C991CAA1CBB1C0A94C9
+:103CA000D2F7C4FE14C00FE010E020E030E0B9010C
+:103CB000A80104C0440F551F661F771F8A95D2F7CD
+:103CC000CB01BA01609570958095909503C060E036
+:103CD00070E0CB01272D26952695237030E0223009
+:103CE000310569F02330310589F0682979298A295D
+:103CF0009B292130310571F00E94D32303C168292B
+:103D000079298A299B290E94EF23FCC00E94D32392
+:103D1000C501B4010E94B723F5C0112319F0872D06
+:103D2000817001C08695882309F4ECC08C2D8295A2
+:103D300086958770880F880F9C2D9F70892E912CF7
+:103D4000A12CB12C082E04C0880C991CAA1CBB1CE9
+:103D50000A94D2F7C4FE14C00FE010E020E030E077
+:103D6000B901A80104C0440F551F661F771F8A952B
+:103D7000D2F7CB01BA01609570958095909503C0FC
+:103D800060E070E0CB01272D269526952370422F09
+:103D900050E04230510569F04330510589F06829FF
+:103DA00079298A299B294130510571F00E94AD245F
+:103DB000A9C0682979298A299B290E94C924A2C0FF
+:103DC0000E94AD24C501B4010E9491249BC08C2D9A
+:103DD00090E0FC01E05EF109E531F10508F050C02A
+:103DE000E059FF4F0C94A7300C2D0F70872D8F7169
+:103DF000112321F00E942A24802F07CF0E944B24F8
+:103E0000802F0E94601D7EC0112341F0053008F014
+:103E100079C0872D8F710E94702474C0063008F01D
+:103E200071C0F7CF112339F0872D8F710E942A249A
+:103E300069C01123C9F3872D8F710E944B2462C082
+:103E4000112329F0872D8F710E9415245BC00E94D9
+:103E50000B2458C0112351F0172D1F71812F0E9480
+:103E60002A2463E0812F0E943E254CC081E00E94FD
+:103E70004725023008F446C082E00E94472542C030
+:103E8000112331F0002381F28C2D0E94421C3AC094
+:103E9000002389F28C2D0E940A1D34C0472D4F70DB
+:103EA0006C2DC7010E944A060E942F232BC01111BE
+:103EB00029C0472D4F7050E042305105B9F04CF405
+:103EC0004115510581F041305105E1F40E94422C29
+:103ED00019C04330510569F04430510599F48C2DD7
+:103EE0000E94942C0FC00E942B2C0CC00E945E2CB0
+:103EF00009C00E94712C06C0472D4F706C2DC70160
+:103F00000E943509DD20F9F00E943A2580FD1BC092
+:103F1000F70112820E9434250E942A24C7010E94C0
+:103F2000B21F0E9434250F90DF91CF911F910F9106
+:103F3000FF90EF90DF90CF90BF90AF909F908F90C9
+:103F40007F900C944B240F90DF91CF911F910F9194
+:103F5000FF90EF90DF90CF90BF90AF909F908F90A9
+:103F60007F9008950F931F93CF93DF93EC01888187
+:103F700099812B813C81232BB9F09F3F11F48F3F16
+:103F800099F0CE010E943407882371F0688179810D
+:103F90008A810E9430258C010E94E5240E94AC2376
+:103FA000B801CE010E94671DDF91CF911F910F9143
+:103FB00008950E9408260E9418260E94DD250E946E
+:103FC00032260E94F8290E94472980E090E00E9452
+:103FD0002D1B80E090E00C94431B0E94F8250C946C
+:103FE000D91F0E942525292F22952F7030E02C30D3
+:103FF00031054CF42A3031056CF42250310922305D
+:104000003105A8F407C02C30310569F02F30310597
+:1040100051F00DC0803F69F018F4803E40F409C0B3
+:10402000843F29F406C093FB882780F9089580E037
+:10403000089581E00895CF93DF9300D000D01F92C0
+:10404000CDB7DEB70F900F900F900F900F90DF91CC
+:10405000CF910895CF93DF9300D000D000D0CDB79B
+:10406000DEB726960FB6F894DEBF0FBECDBFDF9148
+:10407000CF9108951F93CF93DF93C091500316E023
+:1040800080915103C81799F0D0E01C9FF0011D9F4B
+:10409000F00D1124EE5AFC4F4081518162817381F1
+:1040A000848195810E942A202196C770E9CFDF91F3
+:1040B000CF911F91089540918203509183036091A5
+:1040C00084037091850380918603909187030C94FB
+:1040D0002A208091870382958F7009F054C08091C7
+:1040E0008403882309F44FC080915003A0915103A9
+:1040F0006091820370918303409185035091860300
+:10410000B6E08A1709F43FC090E041155105C1F1AE
+:104110007F3F11F46F3FA1F1B89FF001B99FF00DFF
+:104120001124EE5AFC4F218172132AC020816213A0
+:1041300027C02281211124C023813481241735070F
+:1041400010F421503109241B350B283C3105C0F4F3
+:10415000209187032F7020612093870326E0289FFA
+:10416000F001299FF00D1124E95AFC4F80818F70D6
+:104170008061808382E893E00E94B21F0C943A2011
+:1041800001968770BECF0895CF92DF92EF92FF9293
+:104190000F931F93CF93DF93CDB7DEB762970FB620
+:1041A000F894DEBF0FBECDBF8C0185E0F801DE01C3
+:1041B0001D9601900D928A95E1F7D8014C911196C8
+:1041C0005C91119712966C9112971396CD90DC909A
+:1041D00014973091820370918303809185039091AD
+:1041E0008603009709F46BC17F3F19F43F3F09F440
+:1041F00066C1E0908403EE2009F4C0C020918703DB
+:10420000C816D90628F0F601E81BF90BCF0104C047
+:10421000809590958C0D9D1DFF24F394883C91050D
+:1042200078F0F12C207F09F0C6C07C2DD98AC88A8D
+:1042300089890E941B2082E893E00E94B21FB1C0CE
+:10424000822F807F09F046C0751314C0341312C04A
+:10425000611110C02F702061209387030E945B20A2
+:1042600082E893E00E94B21F80918703D8011596DF
+:104270008C932EC0CD2819F15F3F11F44F3FF9F018
+:10428000F62E61111CC0809150032091510336E03D
+:10429000821709F45AC090E0389FF001399FF00D61
+:1042A0001124EE5AFC4F7181571306C070814713D9
+:1042B00003C07281711103C001968770E9CFF62E99
+:1042C000662309F418C18091870381608093870376
+:1042D000F12C11C1751308C0341306C0611104C05C
+:1042E00080918703D801C3C04D875E878D859E85E9
+:1042F0006A8B0E94F11F6A898823E1F16623D1F15C
+:1043000020918703822F82958F7090E0029774F03E
+:10431000809182039091830398878F831986DB862F
+:10432000CA862C87CE0107960E94B21F86E0F8014C
+:10433000A2E8B3E001900D928A95E1F70E9469200E
+:104340000E945B20FF24F394D6C04D875E878D8545
+:104350009E850E942525292F22952F7030E022303E
+:1043600031050CF0BCC09F7009F0B6C0805E88308B
+:1043700008F4C1C0C8010E94B21FE4CFC816D90614
+:1043800008F453C0F601E81BF90BCF01883C9105F6
+:1043900008F450C0F12C7C2DD98AC88A89890E94E2
+:1043A0001B20E2E8F3E086E0DF011D928A95E9F741
+:1043B0000E945B20A0C0751314C0341312C0611199
+:1043C00010C080918703F8018583C8010E94B21F45
+:1043D00086E0E2E8F3E0DF011D928A95E9F7FE2C22
+:1043E0008AC04D875E878D859E856A8B0E94F11FEE
+:1043F0006A89882309F4BECF662309F4BBCF2091D4
+:104400008703822F82958F7090E002970CF48ECFF5
+:1044100080918203909183039A8389831B82DD823A
+:10442000CC822E83CE0101967FCF809590958C0D06
+:104430009D1DACCFF62E662309F49CCF75132EC0BC
+:1044400034132CC02091870320FD1FC0822F82953A
+:104450008F70D9F0D80115962C9315978F3049F0AD
+:104460008F5F982F9295907F822F8F70892B159652
+:104470008C93C8010E94B21F86E0F801A2E8B3E065
+:1044800001900D928A95E1F793CF86E0F801A2E8BA
+:10449000B3E001900D928A95E1F72DC04D875E87BC
+:1044A0008D859E850E94F11F811140CF80918703E9
+:1044B000816080938703C8010E94B21F1CC06623DD
+:1044C00009F458CF4D875E878D859E850E94F11F28
+:1044D000882309F44FCF2ACF811148CF0CC0243054
+:1044E00031050CF047CF9F7009F440CFF80195815A
+:1044F000907F09F03BCF8F2D62960FB6F894DEBF08
+:104500000FBECDBFDF91CF911F910F91FF90EF9024
+:10451000DF90CF9008951F93CF93DF93CDB7DEB791
+:104520002C970FB6F894DEBF0FBECDBF4F835887D0
+:1045300069877A878B879C87CE0107960E94C42063
+:10454000882369F08F8198852A853B85232BF1F19B
+:104550009F3F09F063C08F3F09F060C037C086E01D
+:10456000FE013796DE01119601900D928A95E1F7D2
+:104570006F817885EA85FB85309741F17F3F11F4A3
+:104580006F3F21F12091510330E0C90101968770FE
+:1045900099274091500350E08417950709F447C0CC
+:1045A00069837A83FD83EC8396E0929FD001939F89
+:1045B000B00D1124AE5ABC4FFE01319601900D9200
+:1045C0009A95E1F7809351030E943A2016E080917A
+:1045D0005003909151038917C1F1189FC001112414
+:1045E0008E5A9C4F0E94C420882379F1E091500399
+:1045F0001E9FF0011124EE5AFC4F408151816281CF
+:104600007381848195810E942A208091500390E0DB
+:1046100001968770992780935003D9CF4F81588591
+:1046200069857A858B859C850E942A20CFCF0E9440
+:10463000ED1F1092510310925003E2E8F3E086E080
+:10464000DF011D928A95E9F7C1CF2C960FB6F89439
+:10465000DEBF0FBECDBFDF91CF911F910895EF92C6
+:10466000FF920F931F93CF93DF938C01009709F470
+:104670006CC0F12CEE24E394E8012196F8018491BA
+:10468000843740F4843008F051C0813081F08230AA
+:1046900019F15BC0853709F444C0A8F19CE7980F75
+:1046A000903708F052C08F770E940A1D41C00E5FFC
+:1046B0001F4FFE01C49180E28C0F883048F4C77010
+:1046C0008E2D01C0880FCA95EAF70E940B2614C0F0
+:1046D0008C2F0E94421C2DC00E5F1F4FFE01C49103
+:1046E00080E28C0F883058F4C7708E2D01C0880F7F
+:1046F000CA95EAF70E9411260E9432261AC08C2F12
+:104700000E940A1D16C00E5F1F4FFE01C491CC23EC
+:1047100081F08FE99FE00197F1F700C00000C150E0
+:10472000F6CF0E5F1F4FFE01F49003C00E94421CA3
+:104730008E018F2D882309F49FCFEFE9FFE0319799
+:10474000F1F700C000008150F5CFDF91CF911F91AC
+:104750000F91FF90EF900895089560938C037093EC
+:104760008D0380938E0390938F030C94D91F0F9326
+:104770001F9300918C0310918D0320918E03309133
+:104780008F03DC01CB01802B912BA22BB32B8093C9
+:104790008C0390938D03A0938E03B0938F031F918E
+:1047A0000F910C94D91F0F931F9300918C031091BC
+:1047B0008D0320918E0330918F03DC01CB01802388
+:1047C0009123A223B32380938C0390938D03A09312
+:1047D0008E03B0938F031F910F910C94D91F0F93E9
+:1047E0001F9300918C0310918D0320918E033091C3
+:1047F0008F03DC01CB0180279127A227B327809369
+:104800008C0390938D03A0938E03B0938F031F911D
+:104810000F910C94D91F1092880310928903109263
+:104820008A0310928B030C94D91F41E050E060E0A2
+:1048300070E004C0440F551F661F771F8A95D2F79A
+:10484000409388035093890360938A0370938B038A
+:104850000C94D91F41E050E060E070E004C0440FC8
+:10486000551F661F771F8A95D2F780918803909114
+:104870008903A0918A03B0918B03482B592B6A2B93
+:104880007B2B409388035093890360938A03709332
+:104890008B030C94D91F41E050E060E070E004C04D
+:1048A000440F551F661F771F8A95D2F74095509584
+:1048B000609570958091880390918903A0918A03F7
+:1048C000B0918B03482359236A237B2340938803A9
+:1048D0005093890360938A0370938B030C94D91FC0
+:1048E00041E050E060E070E004C0440F551F661FD7
+:1048F000771F8A95D2F78091880390918903A091C0
+:104900008A03B0918B03482759276A277B27409356
+:1049100088035093890360938A0370938B030C94EC
+:10492000D91F0F931F930091880310918903209141
+:104930008A0330918B03DC01CB01802B912BA22BBE
+:10494000B32B8093880390938903A0938A03B09339
+:104950008B031F910F910C94D91F0F931F930091FC
+:1049600088031091890320918A0330918B03DC0125
+:10497000CB0180239123A223B323809388039093B8
+:104980008903A0938A03B0938B031F910F910C941A
+:10499000D91F0F931F9300918803109189032091D1
+:1049A0008A0330918B03DC01CB0180279127A2275A
+:1049B000B3278093880390938903A0938A03B093CD
+:1049C0008B031F910F910C94D91F0895CF92DF9202
+:1049D000EF92FF920F931F93CF93DF938C01C090C0
+:1049E0008C03D0908D03E0908E03F0908F03809124
+:1049F000880390918903A0918A03B0918B03C82A00
+:104A0000D92AEA2AFB2ACFE1D0E0D701C6010C2E31
+:104A100004C0B695A795979587950A94D2F780FF1D
+:104A200006C0B8018C2F0E94BA0B019721F4219780
+:104A300060F780E001C08C2FDF91CF911F910F9123
+:104A4000FF90EF90DF90CF900895CF93DF93EC012C
+:104A50000E94E624BE010E94BA0BDF91CF91089517
+:104A6000CB010E9425250895809190038595859519
+:104A700085950895809190038770089598E0899FA7
+:104A800090011124262B209390030C942A2420912A
+:104A900090038095822380939003982F977069F4F8
+:104AA00030E0482F552747FD50952417350729F04A
+:104AB0008595859585950C944B2408959091900348
+:104AC000977081E009F480E008959091C5019923E1
+:104AD00021F09091C601911109C02091C701309138
+:104AE000C801F90132969FEF40E01FC0982F9695BC
+:104AF000969596959F3050F5E091C701F091C801C9
+:104B0000E90FF11D877021E030E0A90102C0440FD8
+:104B1000551F8A95E2F7CA019181892B81830895F7
+:104B20009F3F39F04F5F4E3041F051915813F8CF0D
+:104B30000DC05111F7CF942FF5CF9F3F39F0F901F8
+:104B4000E90FF11D97FDFA958283089508959091DC
+:104B5000C501992321F09091C601911109C02091BE
+:104B6000C7013091C801F9013296205F3F4F1FC045
+:104B7000982F9695969596959F30F0F4E091C70101
+:104B8000F091C801E90FF11D877021E030E0A90123
+:104B900002C0440F551F8A95E2F7CA0180959181A2
+:104BA0008923818308953196E217F30729F09081D4
+:104BB0009813F9CF1082F7CF089581E090E0E0914B
+:104BC000C701F091C801E80FF91F108201968031EA
+:104BD0009105A9F708959091A403892B8093A403CC
+:104BE000089580959091A40389238093A403089548
+:104BF0001092A40308959091A303892B8093A3039B
+:104C0000089580959091A30389238093A303089529
+:104C10001092A30308959091A203892B8093A2037D
+:104C2000089580959091A20389238093A20308950B
+:104C30001092A20308958093910308951092910316
+:104C400008958091C7019091C801FC0131969C01A3
+:104C5000205F3F4F80E0919191118F5FE217F30742
+:104C6000D1F70895E091C701F091C8018091A403A4
+:104C70008083E091C701F091C80190818091A303E6
+:104C8000892B8083E091C701F091C80190818091C8
+:104C9000A203892B808380919103882361F0E091A6
+:104CA000C701F091C8019081892B80830E94212641
+:104CB0008111109291038091C7019091C8010C94C9
+:104CC000171B20E0009739F0AC01415051098423B3
+:104CD00095232F5FF7CF822F08958091C6038430EC
+:104CE00039F11092A60320E488E190E00FB6F89421
+:104CF000A895809360000FBE2093600080E00E9422
+:104D0000110680E00E94950C83B7817F846083BF89
+:104D100083B7816083BF7894889583B78E7F83BF84
+:104D200088E10FB6F89480936000109260000FBE87
+:104D300008950895089580E00E9411060E94992622
+:104D40000E94F00C0E949A260E94680D91E0811149
+:104D500001C090E0892F08950E94ED1F80E00E941D
+:104D600011060E941A2C0E940B1B0C94950C1F928A
+:104D70000F920FB60F9211248F939F93AF93BF930F
+:104D80008091A603811113C08091A7039091A8037D
+:104D9000A091A903B091AA034196A11DB11D8093D2
+:104DA000A7039093A803A093A903B093AA03BF916C
+:104DB000AF919F918F910F900FBE0F901F901895FC
+:104DC00082E084BD93E095BD9AEF97BD80936E001D
+:104DD00008952FB7F8948091A7039091A803A0910C
+:104DE000A903B091AA032FBF0895CF92DF92EF924B
+:104DF000FF920F931F932FB7F8944091A703509100
+:104E0000A8036091A9037091AA032FBF6A017B01D7
+:104E1000EE24FF248C0120E030E0C016D106E2062B
+:104E2000F30610F4415051099A01281B390BC901AE
+:104E30001F910F91FF90EF90DF90CF9008951F92F8
+:104E40000F920FB60F9211248F939F93AF93BF933E
+:104E50008091A7039091A803A091A903B091AA0300
+:104E60000196A11DB11D8093A7039093A803A09361
+:104E7000A903B093AA03BF91AF919F918F910F9017
+:104E80000FBE0F901F9018950E940818F8942FEFEE
+:104E900087EA91E6215080409040E1F700C0000091
+:104EA00087E090EBDC018093D1039093D203A09331
+:104EB000D303B093D4039CE088E10FB6F894A8958F
+:104EC000809360000FBE90936000FFCF0E94A527E3
+:104ED000811102C00E9481270E94B0278093A50300
+:104EE0000E94BD278093CF0387FB882780F980939A
+:104EF000C6010E94B427682F70E080E090E00C9417
+:104F0000AD236DEE7EEF80E090E00E94CD3060E05A
+:104F100082E090E00E94BB3060E083E090E00E947D
+:104F2000BB3060E084E090E00E94BB3060E085E050
+:104F300090E00E94BB3060E086E090E00E94BB30D1
+:104F40006FEF87E090E00C94BB3080E090E00E942F
+:104F5000B53021E08D3E9E4F09F020E0822F08956C
+:104F600082E090E00C94AD3083E090E00C94AD30A2
+:104F7000682F83E090E00C94BB3084E090E00C94C8
+:104F8000AD30682F84E090E00C94BB3086E090E078
+:104F90000C94AD30682F86E090E00C94BB3087E035
+:104FA00090E00C94AD30682F87E090E00C94BB301B
+:104FB0008091AD0380FF0BC06091CC0185E0689FBC
+:104FC000B001112475956795759567952BC081FF84
+:104FD00009C06091CC0185E0689FB00111247595EE
+:104FE000679520C082FF07C06091CC0185E0689F73
+:104FF000B001112417C09091AE039923D1F06091B4
+:10500000CB01961788F72091CC0185E0289F90016D
+:105010001124929FA001939F500D112470E0CA01AA
+:105020000E9493306038710540F46115710539F0C4
+:1050300002C065E070E0862F08958FE7089581E053
+:1050400008958091AD0380FF08C06091CA0170E0AF
+:10505000759567957595679521C081FF06C060912C
+:10506000CA0170E07595679519C082FF04C0609110
+:10507000CA0170E010C09091AE039923C1F0609115
+:10508000C9019617A0F78091CA01899FC001112418
+:1050900070E00E9493306038710528F46115710545
+:1050A00021F0862F08958FE7089581E0089561E04B
+:1050B00070E0F4CF803F21F40E94D827819504C08E
+:1050C000813F29F40E94D8278093B1030895823F3D
+:1050D00021F40E94D827819504C0833F29F40E94BF
+:1050E000D8278093B0030895893F19F40E9421289E
+:1050F00005C08A3F31F40E94212881958093B20334
+:1051000008958B3F21F40E942128819504C08C3F93
+:1051100029F40E9421288093B3030895843F21F449
+:105120008091AF03816017C0853F21F48091AF0368
+:10513000826011C0863F21F48091AF0384600BC070
+:10514000873F21F48091AF03886005C0883F31F428
+:105150008091AF0380618093AF0308958D3F21F468
+:105160008091AD0381600BC08E3F21F48091AD032F
+:10517000826005C08F3F29F48091AD0384608093E5
+:10518000AD030895803F39F48091B10387FF6CC06F
+:105190001092B10369C0813F29F48091B1031816C0
+:1051A000BCF362C09091B003823F29F497FF5CC0CA
+:1051B0001092B00359C0833F19F41916CCF354C0B0
+:1051C000893F41F48091B20318160CF04DC0109243
+:1051D000B2034AC08A3F29F48091B20387FF44C0DA
+:1051E000F6CF8B3F39F48091B30387FF3DC0109217
+:1051F000B3033AC08C3F29F48091B3031816BCF373
+:1052000033C0843F21F48091AF038E7F17C0853F68
+:1052100021F48091AF038D7F11C0863F21F48091EE
+:10522000AF038B7F0BC0873F21F48091AF03877F53
+:1052300005C0883F31F48091AF038F7E8093AF0328
+:1052400013C08D3F21F48091AD038E7F0BC08E3F44
+:1052500021F48091AD038D7F05C08F3F29F48091AB
+:10526000AD038B7F8093AD038091B00381110EC09D
+:105270008091B10381110AC08091B203811106C0EF
+:105280008091B303811102C01092AE0308958FEA9A
+:1052900093E00E94221B0E94E9269093AC03809326
+:1052A000AB0308951F93CF93DF938091AB0390914D
+:1052B000AC030E94F526AC019091AE03992321F036
+:1052C0002091CD0130E006C02091CE018AE0289FD8
+:1052D000900111244217530708F486C08091B0034F
+:1052E000C091B103D091B2031091B303811107C0F3
+:1052F000C11176C0D11174C0111172C075C09F3F29
+:1053000019F09F5F9093AE03181624F40E94D827DB
+:105310008093B0038091B00387FF05C00E94D82717
+:1053200081958093B0031C1624F40E94D8278093A3
+:10533000B1038091B10387FF05C00E94D8278195F2
+:105340008093B1036091B003662339F1C091B1033A
+:10535000CC2319F1772767FD7095872F972F0E942F
+:10536000B52D23E333E343E35FE30E94C52E0E94A0
+:10537000822D6093B0036C2F772767FD7095872F80
+:10538000972F0E94B52D23E333E343E35FE30E94AD
+:10539000C52E0E94822D6093B1031D1624F40E9435
+:1053A00021288093B2038091B20387FF05C00E9439
+:1053B000212881958093B203111624F40E9421289C
+:1053C0008093B3038091B30387FF05C00E94212817
+:1053D00081958093B303DF91CF911F910C9447295E
+:1053E0009F3F09F08ECF96CFDF91CF911F91089507
+:1053F000EFEAF3E085E0DF011D928A95E9F710926C
+:10540000AE031092AD030895833081F128F481300A
+:1054100059F08230D1F00895853009F449C0B8F1CF
+:10542000863009F456C008958091CE01262F30E0D1
+:10543000280F311D2F3F310524F4680F6093CE01F2
+:1054400008958FEF8093CE0108958091CD01262F8E
+:1054500030E0280F311D2F3F310524F4680F609391
+:10546000CD0108958FEF8093CD0108958091CC01F7
+:10547000262F30E0280F311D2F3F310524F4680F0F
+:105480006093CC0108958FEF8093CC0108958091B3
+:10549000CB01262F30E0280F311D2F3F310524F49A
+:1054A000680F6093CB0108958FEF8093CB0108952F
+:1054B0008091CA01262F30E0280F311D2F3F310582
+:1054C00024F4680F6093CA0108958FEF8093CA0196
+:1054D00008958091C901262F30E0280F311D2F3FFC
+:1054E000310524F4680F6093C90108958FEF80930C
+:1054F000C9010895833011F128F4813049F08230D8
+:1055000091F00895853081F120F18630C1F1089540
+:105510008091CE01681720F4861B8093CE010895F8
+:105520001092CE0108958091CD01681720F4861B5A
+:105530008093CD0108951092CD0108958091CC0102
+:10554000681720F4861B8093CC0108951092CC013B
+:1055500008958091CB01681720F4861B8093CB01BE
+:1055600008951092CB0108958091CA01681720F424
+:10557000861B8093CA0108951092CA0108958091F4
+:10558000C901681720F4861B8093C9010895109201
+:10559000C90108950F931F93873208F048C08E31D8
+:1055A00008F08DC0803109F477C008F5873009F420
+:1055B00061C068F4863009F09DC08091A503817FA9
+:1055C0008E7F8093A50381E08093B50394C08B30D8
+:1055D00009F489C08E3009F08DC08091A50382FB4B
+:1055E000222720F991E0922790FB82F95EC0863154
+:1055F00009F479C060F4813109F07CC00E94ED1F8C
+:105600009091C60181E089278093C6016CC08931E1
+:1056100009F469C08B3109F06DC08091A50381FB4D
+:10562000222720F991E0922790FB81F93EC0883330
+:1056300009F459C050F4893209F457C0853309F48C
+:1056400054C0873209F451C055C0833409F44DC0A9
+:1056500028F48A3308F44EC0895332C0883409F0E4
+:1056600049C00E94ED1F0E94980D0E942B070E94C6
+:10567000442739C09091A503892F8095817080FBC4
+:1056800090F929F0966098609093A50334C0997FB3
+:10569000977F9093A50327C08091A50383FB2227C2
+:1056A00020F991E0922790FB83F98093A503992339
+:1056B000D1F08091A50381608093A50314C08D5122
+:1056C00041E050E060E070E08A019B0104C0000FFF
+:1056D000111F221F331F8A95D2F7C901B8010E94FA
+:1056E000AD230E94ED1F81E006C061E070E080E024
+:1056F00090E0F5CF80E01F910F91089580E008952C
+:1057000080E00895CF93C82F8091B503813069F070
+:1057100018F08230C9F184C0E091C701F091C8014E
+:105720008081823209F07EC007C0E091C701F0910C
+:10573000C8018081823261F48C2F0E947E2B8111FE
+:1057400004C08C2F0E94CA2A1DC081E090E01AC0BC
+:105750008C2F0E94802B811114C0C43179F048F441
+:10576000CB3079F0C03109F061C082E08093B5039D
+:1057700008C0C93219F0C83321F058C01092B503DF
+:1057800055C081E0817054C0C93291F120F5C43117
+:1057900079F1B0F4C73009F047C08EE18093CE01B3
+:1057A00082E38093CD018AE08093CC0184E18093F1
+:1057B000CB0188E08093CA0188E28093C90134C09C
+:1057C000CE51C63088F5EC2FF0E0E959FD4F8081CD
+:1057D0008093B40329C0CE34E9F020F4CB3421F512
+:1057E0006AE013C0C13579F0C235F1F461E00DC053
+:1057F0008091B403882319F01092B40315C081E09E
+:105800008093B50315C061E006C08091B4030E9487
+:10581000042A0AC06AE08091B4030E947A2A04C074
+:105820001092B50380E004C081E002C080E0AACFFE
+:10583000CF9108950E94A527811102C00E9481275F
+:105840000E94C6278093D00380FF02C0869501C0C6
+:1058500080E00C9411068091D003982F9695292F03
+:1058600030E0233031054CF49F5F990F8170892B14
+:1058700081608093D0030E94CA278091D0038695CF
+:105880000C9411068091D003982F969591F0915821
+:10589000990F8170892B8093D0038E7F91E009F45A
+:1058A00090E08091D00390FB80F98093D0030E9418
+:1058B000CA278091D00386950C9411068091D0035D
+:1058C000982F909590FB80F98093D0030E94CA276F
+:1058D0008091D00380FF02C0869501C080E00C94C7
+:1058E00011069091D003892F86958F5F8F779170E5
+:1058F000843028F4880F892B8093D00302C09093C2
+:10590000D0038091D0038E7F91E009F490E08091E4
+:10591000D00390FB80F98093D0030E94CA27809126
+:10592000D00386950C9411062091D003922F969562
+:105930008927982F990F822F8170892B8093D0030C
+:105940008E7F91E009F490E08091D00390FB80F984
+:105950008093D0030E94CA278091D00386950C942F
+:1059600011065058BB27AA270ED0D1C1C2D130F0A2
+:10597000C7D120F031F49F3F11F41EF4B7C10EF4EB
+:10598000E095E7FB9FC1E92FD3D180F3BA176207F7
+:1059900073078407950718F071F49EF5EBC10EF4B8
+:1059A000E0950B2EBA2FA02D0B01B90190010C012F
+:1059B000CA01A0011124FF27591B99F0593F50F447
+:1059C000503E68F11A16F040A22F232F342F44279F
+:1059D000585FF3CF469537952795A795F040539597
+:1059E000C9F77EF41F16BA0B620B730B840BBAF067
+:1059F0009150A1F0FF0FBB1F661F771F881FC2F7D2
+:105A00000EC0BA0F621F731F841F48F487957795E5
+:105A10006795B795F7959E3F08F0B3CF9395880F9C
+:105A200008F09927EE0F97958795089527D108F4E8
+:105A300081E008950CD06BC163D140F05AD130F0B1
+:105A400021F45F3F19F03EC1511195C14FC170D192
+:105A500098F39923C9F35523B1F3951B550BBB2735
+:105A6000AA2762177307840738F09F5F5F4F220FE2
+:105A7000331F441FAA1FA9F333D00E2E3AF0E0E8DB
+:105A800030D091505040E695001CCAF729D0FE2F27
+:105A900027D0660F771F881FBB1F261737074807B9
+:105AA000AB07B0E809F0BB0B802DBF01FF2793586F
+:105AB0005F4F2AF09E3F510568F004C15CC15F3F13
+:105AC000ECF3983EDCF3869577956795B795F79557
+:105AD0009F5FC9F7880F911D9695879597F908954F
+:105AE000E1E0660F771F881FBB1F621773078407EB
+:105AF000BA0720F0621B730B840BBA0BEE1F88F7FA
+:105B0000E095089504D06894B11135C1089518D175
+:105B100088F09F5790F0B92F9927B751A0F0D1F096
+:105B2000660F771F881F991F1AF0BA95C9F712C020
+:105B3000B13081F01FD1B1E008951CC1672F782FDB
+:105B40008827B85F39F0B93FCCF38695779567958C
+:105B5000B395D9F73EF490958095709561957F4FF8
+:105B60008F4F9F4F0895E89409C097FB3EF490959E
+:105B70008095709561957F4F8F4F9F4F9923A9F026
+:105B8000F92F96E9BB279395F695879577956795B5
+:105B9000B795F111F8CFFAF4BB0F11F460FF1BC0F9
+:105BA0006F5F7F4F8F4F9F4F16C0882311F096E98C
+:105BB00011C0772321F09EE8872F762F05C066233A
+:105BC00071F096E8862F70E060E02AF09A95660FF3
+:105BD000771F881FDAF7880F9695879597F90895AC
+:105BE00088D018F011F08CD038F480C0C4C0E92FF0
+:105BF0009FD0B0F35523C9F3E7FB621773078407FF
+:105C00009507A8F199F3E92FFF2788232AF0319708
+:105C1000660F771F881FDAF7952F5527442332F038
+:105C200091505040220F331F441FD2F7BB27E91B6E
+:105C3000F50B621B730B840BB109C1F222F4620FE6
+:105C4000731F841FB11D31972AF0660F771F881FBD
+:105C5000BB1FEFCF915050405AF041F0882332F0F3
+:105C6000660F771F881F91505040C1F7939530C041
+:105C70008695779567959F5FD9F7F8CF990F0008BC
+:105C8000550FAA0BE0E8FEEF16161706E807F9070E
+:105C9000C0F012161306E407F50798F0621B730BA9
+:105CA000840B950B39F40A2661F0232B242B252B2A
+:105CB00021F408950A2609F4A140A6958FEF811DCD
+:105CC000811D089597F99F6780E870E060E008956E
+:105CD0009F3F31F0915020F4879577956795B79560
+:105CE000880F911D9695879597F908959FEF80EC01
+:105CF000089500240A941616170618060906089532
+:105D000000240A9412161306140605060895092E97
+:105D10000394000C11F4882352F0BB0F40F4BF2B06
+:105D200011F460FF04C06F5F7F4F8F4F9F4F089546
+:105D300057FD9058440F551F59F05F3F71F047953C
+:105D4000880F97FB991F61F09F3F79F08795089521
+:105D5000121613061406551FF2CF4695F1DF08C040
+:105D6000161617061806991FF1CF8695710561055D
+:105D700008940895E894BB2766277727CB0197F905
+:105D800008957CDF08F48FEF08950BD0C0CFB1DF0A
+:105D900028F0B6DF18F0952309F094CFA7CF11248F
+:105DA000EACFC6DFA0F3959FD1F3950F50E0551FC2
+:105DB000629FF001729FBB27F00DB11D639FAA2760
+:105DC000F00DB11DAA1F649F6627B00DA11D661FAF
+:105DD000829F2227B00DA11D621F739FB00DA11DD0
+:105DE000621F839FA00D611D221F749F3327A00D8A
+:105DF000611D231F849F600D211D822F762F6A2F26
+:105E000011249F5750408AF0E1F088234AF0EE0FAA
+:105E1000FF1FBB1F661F771F881F91505040A9F7B7
+:105E20009E3F510570F04ECFA6CF5F3FECF3983EFA
+:105E3000DCF3869577956795B795F795E7959F5F1E
+:105E4000C1F7FE2B880F911D9695879597F90895B8
+:105E5000FA01EE0FFF1F30962105310599F161150A
+:105E6000710561F48038BFE39B0749F1689490386D
+:105E7000810561F08038BFEF9B0741F0992342F51F
+:105E8000FF3FE1053105210511F1E8940894E795FC
+:105E9000D901AA2329F4AB2FBE2FF85FD0F310C08D
+:105EA000FF5F70F4A695E0F7F73950F019F0FF3A6C
+:105EB00038F49F779F930CD00F9007FC905808956B
+:105EC0003EF014CF60E070E080E89FE308954FE774
+:105ED0009F775F934F933F932F939ED02F913F9146
+:105EE0004F915F9152DF05C019F40EF0EBCE42CF17
+:105EF000FDCE26DFC8F39638C0F707F80F92E89476
+:105F00002BE33AEA48EB5FE74EDF0F920F920F92D6
+:105F10004DB75EB70F92C0D0EAE0F1E016D04F91D6
+:105F20005F91EF91FF91E595EE1FFF1F49F0FE573E
+:105F3000E0684427EE0F441FFA95E1F74195550BB1
+:105F400032D00F9007FE26C00895DF93CF931F93A2
+:105F50000F93FF92EF92DF927B018C01689405C052
+:105F6000DA2EEF011EDFFE01E894A591259135910F
+:105F700045915591AEF3EF0106DDFE019701A801B1
+:105F8000DA9479F7DF90EF90FF900F911F91CF9106
+:105F9000DF9108959B01AC0160E070E080E89FE331
+:105FA00049CD90CE95CECCDEE8F39923D9F3940F6A
+:105FB000511DBBF39150504094F059F0882332F0BA
+:105FC000660F771F881F91505040C1F79E3F5105C3
+:105FD00044F7880F911D9695879597F908955F3F2F
+:105FE000ACF0983E9CF0BB27869577956795B79562
+:105FF00008F4B1609395C1F7BB0F58F711F460FF37
+:10600000E8CF6F5F7F4F8F4F9F4FE3CFB4CE0EF03F
+:106010005FCE6CCE689456CE93DEC8F39923D1F34D
+:10602000C6F3DF93CF931F930F93FF92C92FDD2702
+:1060300088232AF02197660F771F881FDAF720E060
+:1060400030E040E85FEB9FE3883920F0803E30F09D
+:1060500021968F7787DCE2E3F1E003C083DCEFE594
+:10606000F1E073DF8B01BE01EC01FB2E6F5771096C
+:106070007595771F880B990B78DD28E132E741E3AE
+:106080005FE38FDEAF2D9801AE01FF900F911F915E
+:10609000CF91DF9178DC3BCEFA01DC01AA0FBB1F68
+:1060A0009B01AC01BF5728F422273327442750789F
+:1060B0001FC0B75188F4AB2F00244695379527951C
+:1060C000011CA395D2F3002069F0220F331F441F57
+:1060D000B395DAF30DD045CC61307105A0E88A079D
+:1060E000B94630F49B01AC01662777278827907862
+:1060F000309621F020833183428353830895AA1B75
+:10610000BB1B51E107C0AA1FBB1FA617B70710F0A2
+:10611000A61BB70B881F991F5A95A9F780959095D4
+:10612000BC01CD01089597FB072E16F4009407D00B
+:1061300077FD09D00E947F3007FC05D03EF4909592
+:1061400081959F4F0895709561957F4F0895EE0F4B
+:10615000FF1F0590F491E02D0994F999FECF92BDAF
+:1061600081BDF89A992780B50895A8E1B0E042E092
+:1061700050E00C94D530262FF999FECF92BD81BD09
+:10618000F89A019700B4021639F01FBA20BD0FB675
+:10619000F894FA9AF99A0FBE08950196272F0E9453
+:1061A000BC300C94BB30DC01CB01FC01F999FECF73
+:1061B00006C0F2BDE1BDF89A319600B40D9241508F
+:0A61C0005040B8F70895F894FFCF9F
+:1061CA000AA7CF44000000410000DC44000000415F
+:1061DA00000000000000804052D0244500004041E9
+:1061EA0000000000000080400AA74F45000040411F
+:1061FA000AA7CF44000000410000DC44000000412F
+:10620A00000000000000804052D0244500000041F8
+:10621A0000000000000080405CFF3845000000419B
+:10622A00000000000000804052D0244500000041D8
+:10623A000AA7CF44000000410000DC4400000041EE
+:10624A00000000000000804052D024450000804138
+:10625A0010F176440000A04112F1F644000000411A
+:10626A0041909B440000A04112F1F6440000004115
+:10627A00640007000CFF0000003F640F149D147AAD
+:10628A001446141214010192032808140A321E003B
+:10629A0002040507090B0C0E1011131517181A1C06
+:1062AA001D1F2123242628292B2D2F303234353740
+:1062BA00393B1F0F03764F5F6F7F4969437929592D
+:1062CA005363393149803F5D8B803FF8BF803FCAB5
+:1062DA00E1803F73ED803FCAE1803FF8BF803F5DB8
+:1062EA008B803F3149803F0000803FF16D7F3F75D1
+:1062FA00EA7E3F4C827E3F833F7E3F84287E3F83F7
+:10630A003F7E3F4C827E3F75EA7E3FF16D7F3F00C4
+:10631A0000803F3F4D36391D0BD00A9A0A610AF4B4
+:10632A00090D0A260A3F0A0102030405060708099D
+:02633A00000061
+:00000001FF
diff --git a/keyboard/preonic/keymaps/default/makefile.mk b/keyboard/preonic/keymaps/default/makefile.mk
deleted file mode 100644
index 628167ff6..000000000
--- a/keyboard/preonic/keymaps/default/makefile.mk
+++ /dev/null
@@ -1 +0,0 @@
-AUDIO_ENABLE = yes \ No newline at end of file
diff --git a/keyboard/preonic/keymaps/lock/README.md b/keyboard/preonic/keymaps/lock/README.md
deleted file mode 100644
index d21cb990b..000000000
--- a/keyboard/preonic/keymaps/lock/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Lock layout
-
-This layout is designed for having a lock switch in the lower-left-hand corner, and for experimenting with MIDI/audio features. It's constantly in development, so don't expect anything to work/be documented correctly! \ No newline at end of file
diff --git a/keyboard/preonic/keymaps/lock/keymap.c b/keyboard/preonic/keymaps/lock/keymap.c
deleted file mode 100644
index cfb7f0803..000000000
--- a/keyboard/preonic/keymaps/lock/keymap.c
+++ /dev/null
@@ -1,105 +0,0 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include "preonic.h"
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-#include "action_layer.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QW 0
-#define _CM 1
-#define _DV 2
-#define _LW 3
-#define _RS 4
-#define _MI 5
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_QW] = { /* Qwerty */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_CM] = { /* Colemak */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_DV] = { /* Dvorak */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
- {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
- {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_RS] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[_LW] = { /* LOWER */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[_MI] = { /* MIDI */
- {MIDI12},
- {MIDI12},
- {MIDI12},
- {MIDI12},
- {M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MIDI, MIDI, MIDI, MIDI}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-float start_up[][2] = {
- {440.0*pow(2.0,(67)/12.0), 600},
- {0, 50},
- {440.0*pow(2.0,(64)/12.0), 400},
- {0, 50},
- {440.0*pow(2.0,(55)/12.0), 400},
- {0, 50},
- {440.0*pow(2.0,(60)/12.0), 400},
- {0, 50},
- {440.0*pow(2.0,(64)/12.0), 1000},
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- default_layer_state = 1<<5;
- } else {
- unregister_code(KC_RSFT);
- default_layer_state = 1<<0;
- }
- break;
- }
- return MACRO_NONE;
-};
-
-void matrix_init_user(void) {
- init_notes();
- play_notes(&start_up, 9, false);
-}
diff --git a/keyboard/preonic/keymaps/nerdgasm/README.md b/keyboard/preonic/keymaps/nerdgasm/README.md
deleted file mode 100644
index d2f43bbdb..000000000
--- a/keyboard/preonic/keymaps/nerdgasm/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# The Default Planck Layout
-
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = { /* Qwerty */
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- },
- [_CM] = { /* Colemak */
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- },
- [_DV] = { /* Dvorak */
- {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
- {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
- {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
- },
- [_RS] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
- },
- [_LW] = { /* LOWER */
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
- }
- }; \ No newline at end of file
diff --git a/keyboard/preonic/keymaps/nerdgasm/keymap.c b/keyboard/preonic/keymaps/nerdgasm/keymap.c
deleted file mode 100644
index 818102fbd..000000000
--- a/keyboard/preonic/keymaps/nerdgasm/keymap.c
+++ /dev/null
@@ -1,117 +0,0 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include "preonic.h"
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QW 0
-#define _CM 1
-#define _DV 2
-#define _LW 3
-#define _RS 4
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_QW] = { /* Qwerty */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
- {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_CM] = { /* Colemak */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
- {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_DV] = { /* Dvorak */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
- {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
- {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
- {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
-},
-[_RS] = { /* RAISE */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-[_LW] = { /* LOWER */
- {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
- {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
- {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-}
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-
-};
-
-// Guitar Notes
-#define N_E 13180.5
-#define N_B 9870.8
-#define N_G 15680.0
-#define N_D 11740.7
-#define N_E 13180.5
-
-float start_up[][2] = {
- { N_E, 500 },
- { 0, 50 },
- { N_E, 500 },
- { 0, 50 },
- { N_E, 500 },
- { 0, 50 },
- { N_B, 500 },
- { 0, 50 },
- { N_E, 1000 },
- { 0, 50 },
- { N_G, 1500 },
- { 0, 50 },
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
-
-void matrix_init_user(void) {
-#ifdef AUDIO_ENABLE
- init_notes();
- play_notes(&start_up, 12, false);
-#endif
-}
-
-void process_action_user(keyrecord_t *record) {
-#ifdef AUDIO_ENABLE
- if (record->event.pressed) {
- float keypress[][2] = {
- {440.0*pow(2.0,(record->event.key.col*7)/12.0), 600}
- };
- play_notes(&keypress, 1, false);
- }
-#endif
-}