summaryrefslogtreecommitdiffstats
path: root/keyboard/preonic
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-06-11 13:31:31 -0400
committerGitHub <noreply@github.com>2016-06-11 13:31:31 -0400
commitd9e4dad0a828a8a904f44dda090a4d6d08fe2948 (patch)
treed6f002712c22e8cf4523e04a9da889c7ec379d6b /keyboard/preonic
parenta5d638ad3091e2d553eaa04d933df28eeced5a8b (diff)
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 259dd6686b..0940d8f277 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 0000000000..4fbe3b6619
--- /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 0000000000..dfadd031ea
--- /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
+:10275000A09