summaryrefslogtreecommitdiffstats
path: root/keyboard/atreus
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/atreus')
-rw-r--r--keyboard/atreus/Makefile87
-rw-r--r--keyboard/atreus/README.md186
-rw-r--r--keyboard/atreus/atreus.c29
-rw-r--r--keyboard/atreus/atreus.h28
-rw-r--r--keyboard/atreus/config.h88
-rw-r--r--keyboard/atreus/keymaps/default/compiled.hex1328
-rw-r--r--keyboard/atreus/keymaps/default/keymap.c51
-rw-r--r--keyboard/atreus/keymaps/gerb/compiled.hex1339
-rw-r--r--keyboard/atreus/keymaps/gerb/keymap.c66
9 files changed, 0 insertions, 3202 deletions
diff --git a/keyboard/atreus/Makefile b/keyboard/atreus/Makefile
deleted file mode 100644
index 72b694faac..0000000000
--- a/keyboard/atreus/Makefile
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-ifdef TEENSY2
- OPT_DEFS += -DATREUS_TEENSY2
- ATRUES_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
-else
- OPT_DEFS += -DATREUS_ASTAR
- ATRUES_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-endif
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# comment out to disable the options.
-#
-#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
-CONSOLE_ENABLE ?= yes # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA
-# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
-# MIDI_ENABLE ?= YES # MIDI controls
-UNICODE_ENABLE ?= YES # Unicode
-# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
-
-
-ifndef QUANTUM_DIR
- include ../../Makefile
-endif
-
-USB ?= /dev/cu.usbmodem1411
-
-upload: build
- $(ATRUES_UPLOAD_COMMAND)
- \ No newline at end of file
diff --git a/keyboard/atreus/README.md b/keyboard/atreus/README.md
deleted file mode 100644
index aacf2841f4..0000000000
--- a/keyboard/atreus/README.md
+++ /dev/null
@@ -1,186 +0,0 @@
-atreus keyboard firmware
-======================
-
-## Quantum MK Firmware
-
-You have access to a bunch of goodies! Check out the Makefile to enable/disable some of the features. Uncomment the `#` to enable them. Setting them to `no` does nothing and will only confuse future you.
-
- BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
- MIDI_ENABLE = yes # MIDI controls
- # UNICODE_ENABLE = yes # Unicode support - this is commented out, just as an example. You have to use #, not //
- BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
-
-## Atreus specific information
-
-These configuration files are specifically for the Atreus keyboards created by Phil Hagelberg (@technomancy). This keyboard is available in two variants: one powered by a Teensy 2, one powered by an A-Star. This repository currently assumes that you have an A-Star powered Atreus. If you are using a Teensy2, specify that by adding `TEENSY2=yes` to your `make` commands.
-
-If you are coming from the [atreus-firmware](https://github.com/technomancy/atreus-firmware), we've also brought forward the `make upload` command for you to use.
-
-## Quick aliases to common actions
-
-Your keymap can include shortcuts to common operations (called "function actions" in tmk).
-
-### Switching and toggling layers
-
-`MO(layer)` - momentary switch to *layer*. As soon as you let go of the key, the layer is deactivated and you pop back out to the previous layer. When you apply this to a key, that same key must be set as `KC_TRNS` on the destination layer. Otherwise, you won't make it back to the original layer when you release the key (and you'll get a keycode sent). You can only switch to layers *above* your current layer. If you're on layer 0 and you use `MO(1)`, that will switch to layer 1 just fine. But if you include `MO(3)` on layer 5, that won't do anything for you -- because layer 3 is lower than layer 5 on the stack.
-
-`LT(layer, kc)` - momentary switch to *layer* when held, and *kc* when tapped. Like `MO()`, this only works upwards in the layer stack (`layer` must be higher than the current layer).
-
-`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack.
-
-### Fun with modifier keys
-
-* `LSFT(kc)` - applies left Shift to *kc* (keycode) - `S(kc)` is an alias
-* `RSFT(kc)` - applies right Shift to *kc*
-* `LCTL(kc)` - applies left Control to *kc*
-* `RCTL(kc)` - applies right Control to *kc*
-* `LALT(kc)` - applies left Alt to *kc*
-* `RALT(kc)` - applies right Alt to *kc*
-* `LGUI(kc)` - applies left GUI (command/win) to *kc*
-* `RGUI(kc)` - applies right GUI (command/win) to *kc*
-
-You can also chain these, like this:
-
- LALT(LCTL(KC_DEL)) -- this makes a key that sends Alt, Control, and Delete in a single keypress.
-
-The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. Their long names are also available and documented in `/quantum/keymap_common.h`.
-
- KC_TILD ~
- KC_EXLM !
- KC_AT @
- KC_HASH #
- KC_DLR $
- KC_PERC %
- KC_CIRC ^
- KC_AMPR &
- KC_ASTR *
- KC_LPRN (
- KC_RPRN )
- KC_UNDS _
- KC_PLUS +
- KC_LCBR {
- KC_RCBR }
- KC_PIPE |
- KC_COLN :
-
-`MT(mod, kc)` - is *mod* (modifier key - MOD_LCTL, MOD_LSFT) when held, and *kc* when tapped. In other words, you can have a key that sends Esc (or the letter O or whatever) when you tap it, but works as a Control key or a Shift key when you hold it down.
-
-These are the values you can use for the `mod` in `MT()` (right-hand modifiers are not available):
-
- * MOD_LCTL
- * MOD_LSFT
- * MOD_LALT
- * MOD_LGUI
-
-These can also be combined like `MOD_LCTL | MOD_LSFT` e.g. `MT(MOD_LCTL | MOD_LSFT, KC_ESC)` which would activate Control and Shift when held, and send Escape when tapped.
-
-We've added shortcuts to make common modifier/tap (mod-tap) mappings more compact:
-
- * `CTL_T(kc)` - is LCTL when held and *kc* when tapped
- * `SFT_T(kc)` - is LSFT when held and *kc* when tapped
- * `ALT_T(kc)` - is LALT when held and *kc* when tapped
- * `GUI_T(kc)` - is LGUI when held and *kc* when tapped
- * `ALL_T(kc)` - is Hyper (all mods) when held and *kc* when tapped. To read more about what you can do with a Hyper key, see [this blog post by Brett Terpstra](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)
-
-### Temporarily setting the default layer
-
-`DF(layer)` - sets default layer to *layer*. The default layer is the one at the "bottom" of the layer stack - the ultimate fallback layer. This currently does not persist over power loss. When you plug the keyboard back in, layer 0 will always be the default. It is theoretically possible to work around that, but that's not what `DF` does.
-
-### Remember: These are just aliases
-
-These functions work the same way that their `ACTION_*` functions do - they're just quick aliases. To dig into all of the tmk ACTION_* functions, please see the [TMK documentation](https://github.com/jackhumbert/qmk_firmware/blob/master/tmk_core/doc/keymap.md#2-action).
-
-Instead of using `FNx` when defining `ACTION_*` functions, you can use `F(x)` - the benefit here is being able to use more than 32 function actions (up to 4096), if you happen to need them.
-
-## Macro shortcuts: Send a whole string when pressing just one key
-
-Instead of using the `ACTION_MACRO` function, you can simply use `M(n)` to access macro *n* - *n* will get passed into the `action_get_macro` as the `id`, and you can use a switch statement to trigger it. This gets called on the keydown and keyup, so you'll need to use an if statement testing `record->event.pressed` (see keymap_default.c).
-
-```c
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is.
-{
- switch(id) {
- case 0: // this would trigger when you hit a key mapped as M(0)
- if (record->event.pressed) {
- return MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ); // this sends the string 'hello' when the macro executes
- }
- break;
- }
- return MACRO_NONE;
-};
-```
-A macro can include the following commands:
-
-* I() change interval of stroke in milliseconds.
-* D() press key.
-* U() release key.
-* T() type key(press and release).
-* W() wait (milliseconds).
-* END end mark.
-
-So above you can see the stroke interval changed to 255ms between each keystroke, then a bunch of keys being typed, waits a while, then the macro ends.
-
-Note: Using macros to have your keyboard send passwords for you is a bad idea.
-
-### Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc)
-
-Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap:
-
- #include "keymap_<layout>.h"
-
-Where <layout> is "colemak" or "dvorak". After including this line, you will get access to:
-
- * `CM_*` for all of the Colemak-equivalent characters
- * `DV_*` for all of the Dvorak-equivalent characters
-
-These implementations assume you're using Colemak or Dvorak on your OS, not on your keyboard - this is referred to as a software-implemented layout. If your computer is in Qwerty and your keymap is in Colemak or Dvorak, this is referred to as a firmware-implemented layout, and you won't need these features.
-
-To give an example, if you're using software-implemented Colemak, and want to get an `F`, you would use `CM_F` - `KC_F` under these same circumstances would result in `T`.
-
-## Additional language support
-
-In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `รน` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware (but it's being worked on - see Unicode support).
-
-## Unicode support
-
-You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile.
-
-## Other firmware shortcut keycodes
-
-* `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`)
-* `DEBUG` - the firmware into debug mode - you'll need hid_listen to see things
-* `BL_ON` - turns the backlight on
-* `BL_OFF` - turns the backlight off
-* `BL_<n>` - sets the backlight to level *n*
-* `BL_INC` - increments the backlight level by one
-* `BL_DEC` - decrements the backlight level by one
-* `BL_TOGG` - toggles the backlight
-* `BL_STEP` - steps through the backlight levels
-
-Enable the backlight from the Makefile.
-
-## MIDI functionalty
-
-This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile.
-
-## Bluetooth functionality
-
-This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q/the_planck_keyboard_with_bluetooth_guide_and/?ref=search_posts), but can be enabled via the Makefile. The firmware will still output characters via USB, so be aware of this when charging via a computer. It would make sense to have a switch on the Bluefruit to turn it off at will.
-
-## Building
-
-Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button.
-
-Depending on which keymap you would like to use, you will have to compile slightly differently.
-
-### Default
-To build with the default keymap, simply run `make`.
-
-### Other Keymaps
-Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top README.md) and existent keymap files.
-
-To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:
-```
-$ make KEYMAP=[default|jack|<name>]
-```
-Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboard/atreus/atreus.c b/keyboard/atreus/atreus.c
deleted file mode 100644
index 9d1de631bb..0000000000
--- a/keyboard/atreus/atreus.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include "atreus.h"
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
- // leave these blank
-};
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
- // leave these blank
-};
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- if (matrix_init_user) {
- (*matrix_init_user)();
- }
-};
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- if (matrix_scan_user) {
- (*matrix_scan_user)();
- }
-};
diff --git a/keyboard/atreus/atreus.h b/keyboard/atreus/atreus.h
deleted file mode 100644
index 10712d26d8..0000000000
--- a/keyboard/atreus/atreus.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef ATREUS_H
-#define ATREUS_H
-
-#include "matrix.h"
-#include "keymap.h"
-#include "backlight.h"
-#include <stddef.h>
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguements
-// The second converts the arguments into a two-dimensional array
-#define KEYMAP( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a \
-) \
-{ \
- { k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \
- { k2a, k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a } \
-}
-
-void matrix_init_user(void);
-void matrix_scan_user(void);
-
-#endif
diff --git a/keyboard/atreus/config.h b/keyboard/atreus/config.h
deleted file mode 100644
index 624d90188c..0000000000
--- a/keyboard/atreus/config.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Technomancy
-#define PRODUCT Atreus
-#define DESCRIPTION q.m.k. keyboard firmware for Atreus
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 11
-
-// Change this to how you wired your keyboard
-// COLS: Left to right, ROWS: Top to bottom
-#if defined(ATREUS_ASTAR)
-# define MATRIX_ROW_PINS { D0, D1, D3, D2 }
-# define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 }
-# define UNUSED_PINS
-#elif defined(ATREUS_TEENSY2)
-# define MATRIX_ROW_PINS { D0, D1, D2, D3 }
-# define MATRIX_COL_PINS { F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0 }
-# define UNUSED_PINS
-#endif
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-//#define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboard/atreus/keymaps/default/compiled.hex b/keyboard/atreus/keymaps/default/compiled.hex
deleted file mode 100644
index a455e04de9..0000000000
--- a/keyboard/atreus/keymaps/default/compiled.hex
+++ /dev/null
@@ -1,1328 +0,0 @@
-:100000000C941A060C945E060C945E060C945E0624
-:100010000C945E060C945E060C945E060C945E06D0
-:100020000C945E060C945E060C945D110C942F12D9
-:100030000C9410200C945E060C945E060C945E06E4
-:100040000C945E060C945E060C945E060C945E06A0
-:100050000C945E060C9478200C945E060C945E065C
-:100060000C945E060C945E060C945E060C945E0680
-:100070000C945E060C945E060C945E060C945E0670
-:100080000C945E060C945E060C945E060C945E0660
-:100090000C945E060C945E060C945E060C945E0650
-:1000A0000C945E060C945E060C945E069C12BE12C6
-:1000B000AC13BE12AC1303132613AC137B138E13B5
-:1000C000D116D116001700173F175F178F188F181A
-:1000D0006A178F181A181A1880188F188F1889180D
-:1000E0002718271827182718271827182718271818
-:1000F0002718271827182718271827182718271808
-:10010000371845184C1853185D1814001A000800C9
-:100110001500170001001C0018000C00120013004D
-:1001200004001600070009000A0001000B000D0082
-:100130000E000F0033001D001B0006001900050013
-:10014000E2001100100036003700380029002B00B3
-:10015000E300E1002A00E0002C0001522D003400F1
-:1001600028001E021F022F023002310201004B0044
-:100170002400250026002502200221022602270253
-:10018000350001004E002100220023002E02220231
-:1001900023022F0030003502E20024021E001F005F
-:1001A0002000310002544900E300E1002A00E00091
-:1001B0002C000100370027002E0049004A005200A1
-:1001C0004D004B000100520040004100420043003E
-:1001D0004C00500051004F005100010051003D0003
-:1001E0003E003F0044000100010001000100010049
-:1001F000E20001003A003B003C0045000100010024
-:10020000E300E1002A00E0002C000053010001009F
-:1002100000500A44454255473A20656E61626C655C
-:10022000642E0A005374617465206F6620726F77C4
-:100230002025583A2025303136620A0048756D6114
-:100240006E2D7265616461626C65206D61747269A6
-:10025000782073746174653A0D0A004465626F75A5
-:100260006E63696E672064656C61792072656D618B
-:10027000696E696E673A2025580A005B735D004B12
-:100280006579626F6172642073746172742E0A0002
-:100290005B575D005B535D005B525D005B445D003E
-:1002A0005B435D000E034100740072006500750041
-:1002B00073000000180354006500630068006E00BE
-:1002C0006F006D0061006E006300790000000403A0
-:1002D000090409028D00050100A0FA0904000001CB
-:1002E00003010100092111010001223F00070581DE
-:1002F0000308000A09040100010301020009211199
-:10030000010001224D000705820308000A090402CA
-:10031000000103000000092111010001223600073D
-:1003200005830308000A0904030002030000000912
-:10033000211101000122200007058403200001078C
-:100340000504032000010904040001030000000962
-:100350002111010001223900070585031000011257
-:1003600001100100000008EDFE60600100010200C4
-:100370000105010906A101050719E029E715002576
-:100380000195087501810205081901290595057572
-:10039000019102950175039101050719002977154F
-:1003A000002501957875018102C00631FF0974A10D
-:1003B000010975150025FF9520750881020976153C
-:1003C0000025FF952075089102C005010980A10153
-:1003D000850216010026B7001A01002AB700751021
-:1003E00095018100C0050C0901A1018503160100DA
-:1003F000269C021A01002A9C02751095018100C0FA
-:1004000005010902A1010901A10005091901290538
-:10041000150025019505750181029501750381017E
-:100420000501093009311581257F9502750881067E
-:1004300009381581257F950175088106050C0A3854
-:10044000021581257F950175088106C0C005010947
-:1004500006A101050719E029E71500250195087592
-:100460000181029501750881010508190129059589
-:100470000575019102950175039101050719002980
-:10048000FF150025FF950675088100C00A0025307C
-:10049000325820006B6579626F6172645F726570BB
-:1004A0006F72743A20004B6579626F617264204C00
-:1004B0004544732073746174653A2025780A00649A
-:1004C000656C5F6B65795F6269743A2063616E2762
-:1004D000742064656C3A20253032580A00616464E7
-:1004E0005F6B65795F6269743A2063616E2774207F
-:1004F0006164643A20253032580A00290A002575C3
-:10050000002F002575005D2800256400200025646B
-:1005100000200025640020002564007C0025303286
-:1005200058006D6F7573656B6579205B62746E7CC6
-:10053000782079207620685D287265702F61636C61
-:10054000293A205B006D6B5F776865656C5F746945
-:100550006D655F746F5F6D6178203D2025640A00D2
-:100560006D6B5F776865656C5F6D61785F737065F3
-:100570006564203D2025640A006D6B5F74696D65BC
-:100580005F746F5F6D6178203D2025640A006D6B9C
-:100590005F6D61785F7370656564203D2025640A36
-:1005A000006D6B5F696E74657276616C203D20250D
-:1005B000640A006D6B5F64656C6179203D20256481
-:1005C0000A006D6B5F776865656C5F74696D655F68
-:1005D000746F5F6D6178203D2025640A006D6B5F4C
-:1005E000776865656C5F6D61785F737065656420C1
-:1005F0003D2025640A006D6B5F74696D655F746FE3
-:100600005F6D6178203D2025640A006D6B5F6D6130
-:10061000785F7370656564203D2025640A006D6B0A
-:100620005F696E74657276616C203D2025640A00F6
-:100630006D6B5F64656C6179203D2025640A000A5A
-:1006400000257500363A20776865656C5F74696DC2
-:10065000655F746F5F6D61783A20000A0025750050
-:10066000353A20776865656C5F6D61785F7370659A
-:1006700065643A20000A00257500343A2074696DDB
-:10068000655F746F5F6D61783A20000A0025750020
-:10069000333A206D61785F73706565643A20000AB3
-:1006A00000257500323A20696E74657276616C2897
-:1006B0006D73293A20000A00257500313A206465DF
-:1006C0006C6179282A31306D73293A20000A092D8E
-:1006D0002056616C756573202D0A004D3E004D2536
-:1006E000643E20003F007365742064656661756C2C
-:1006F000740A00433E200077686572652064656C6B
-:1007000074613A20637572736F723D25642C207793
-:100710006865656C3D25640A53656520687474706E
-:100720003A2F2F656E2E77696B6970656469612E4B
-:100730006F72672F77696B692F4D6F7573655F6B8C
-:100740006579730A000A092D204D6F7573656B6515
-:1007500079202D0A4553432F713A09717569740A3E
-:10076000313A0964656C6179282A31306D73290A40
-:10077000323A09696E74657276616C286D73290A64
-:10078000333A096D61785F73706565640A343A09BC
-:1007900074696D655F746F5F6D61780A353A0977CA
-:1007A0006865656C5F6D61785F73706565640A3656
-:1007B0003A09776865656C5F74696D655F746F5F32
-:1007C0006D61780A0A703A097072696E74207661F8
-:1007D0006C7565730A643A097365742064656661B3
-:1007E000756C74730A75703A092B310A646F776EF1
-:1007F0003A092D310A706775703A092B31300A7049
-:1008000067646F776E3A092D31300A0A7370656537
-:1008100064203D2064656C7461202A206D61785FDE
-:100820007370656564202A20287265706561742084
-:100830002F2074696D655F746F5F6D6178290A00A0
-:100840003F004D3E2000433E20004C25640A0074CA
-:10085000696D65725F636F756E743A202530346C14
-:10086000580A006B6579626F6172645F6E6B726FBC
-:100870003A2025580A006B6579626F6172645F697E
-:10088000646C653A2025580A006B6579626F617265
-:10089000645F70726F746F636F6C3A2025580A0042
-:1008A000686F73745F6B6579626F6172645F6C65AA
-:1008B000647328293A2025580A000A092D20537408
-:1008C00061747573202D0A004743433A20342E3952
-:1008D0002E32204156522D4C4942433A20312E3877
-:1008E0002E31204156525F415243483A2061767280
-:1008F000350A004F5054494F4E533A204C5546410B
-:10090000204D4F5553454B45592045585452414B66
-:10091000455920434F4E534F4C4520434F4D4D4179
-:100920004E44204E4B524F20343039360A00425547
-:10093000494C443A20313637313865662D64697246
-:100940007479202832333A30383A3534204A756E7B
-:100950002020392032303136290A005649443A20C5
-:1009600030784645454428546563686E6F6D616E06
-:10097000637929205049443A20307836303630287F
-:1009800041747265757329205645523A203078308B
-:100990003030310A00444553433A20712E6D2E6B9E
-:1009A0002E206B6579626F617264206669726D7763
-:1009B00061726520666F72204174726575730A00FA
-:1009C0000A092D2056657273696F6E202D0A000A80
-:1009D000092D20436F6E736F6C65202D0A455343BC
-:1009E0002F713A09717569740A6D3A096D6F7573E3
-:1009F000656B65790A000A092D204D6167696320DE
-:100A00002D0A443A094465627567204D6573736128
-:100A1000676520546F67676C650A583A094D6174C1
-:100A2000726978204465627567204D6F6465205453
-:100A30006F67676C65202D2053686F77206B657931
-:100A40007072657373657320696E206D617472696D
-:100A50007820677269640A4B3A094B6579626F6165
-:100A6000726420446562756720546F67676C652007
-:100A70002D2053686F77206B6579707265737320D2
-:100A80007265706F72740A4D3A0944656275672029
-:100A90004D6F75736520546F67676C650A563A0928
-:100AA00056657273696F6E0A533A095374617475AF
-:100AB000730A433A09416374697661746520436F30
-:100AC0006E736F6C65204D6F64650A46312D46313B
-:100AD000303A0953776974636820746F204C6179E8
-:100AE000657220302D392028463130203D204C3091
-:100AF000290A302D393A0953776974636820746F75
-:100B0000204C6179657220302D390A4553433A09EA
-:100B100053776974636820746F204C617965722023
-:100B2000302028616C7465726E617465206B657924
-:100B30002031290A47524156453A0953776974636F
-:100B40006820746F204C6179657220302028616CB8
-:100B50007465726E617465206B65792032290A5064
-:100B6000415553453A094A756D7020746F20426FA4
-:100B70006F746C6F616465722028526573657429A7
-:100B80000A4E3A094E4B524F20546F67676C650A04
-:100B9000003F004E4B524F3A206F66660A004E4BA4
-:100BA000524F3A206F6E0A000A6D6F7573653A20D6
-:100BB0006F66660A000A6D6F7573653A206F6E0A7C
-:100BC000000A6B6579626F6172643A206F66660A2B
-:100BD000000A6B6579626F6172643A206F6E0A0079
-:100BE0000A6D61747269783A206F66660A000A6D50
-:100BF00061747269783A206F6E0A000A64656275E2
-:100C0000673A206F66660A000A64656275673A2073
-:100C10006F6E0A000A0A4A756D70696E6720746FFC
-:100C200020626F6F746C6F616465722E2E2E2000CF
-:100C3000433E200011241FBECFEFDAE0DEBFCDBF60
-:100C400004B603FE24C08091FE019091FF01A091A3
-:100C50000002B09101028730904BA740B04BB9F42D
-:100C60001092FE011092FF011092000210920102F8
-:100C700014BE84B7877F84BF88E10FB6F894809351
-:100C80006000109260000FBEE0E0F8E3099511E00B
-:100C9000A0E0B1E0E8E9F2E502C005900D92A834C9
-:100CA000B107D9F711E0A8E4B1E001C01D92AE3F51
-:100CB000B107E1F70E94970E0C944A290C940000AA
-:100CC000FF93EF93E0914801F0914901309709F0CB
-:100CD0000995EF91FF910895FC018591803011F005
-:100CE000EFDFFBCF0895FF27E0E230E247FF0CC0C3
-:100CF000419597FF09C0EDE26095709580959095BC
-:100D0000611D711D811D911D27FF02C0219530E3DA
-:100D100050E2AA27660F771F881F991FAA1FA417E2
-:100D200010F0A41B63955A95A9F7AA3008F0A95FA3
-:100D3000A05DAF93F395611571058105910541F7AC
-:100D4000ED3211F4EF93F395F21718F43F93F39506
-:100D5000FBCF8F91B5DFFA95E1F70895E991F9910D
-:100D60008591803021F0853219F0AADFF9CF0895FE
-:100D700020E0E89455915532C1F3503311F4689452
-:100D800055915A3348F4505390F3220F022E220FFC
-:100D9000220F200D250FF4CF0EF421958991999102
-:100DA000533619F3533729F1533559F1BC018827CC
-:100DB0009927E8945C3621F489919991689455912A
-:100DC000543639F446EF7EF077FF0DC08FEF9FEF7A
-:100DD0000AC055374AE039F0583540E121F0523623
-:100DE00042E009F00895FF93EF937DDFEF91FF91CB
-:100DF000B7CFFF93EF93FC0181918030B9F360DFAF
-:100E0000FBCFFF93EF9368DFF1CFDF93CF93CDB7A5
-:100E1000DEB72596A3DFCF91DF9108950895089559
-:100E20008EE097E0892B11F00C940E0708958FE067
-:100E300097E0892B11F00C940F07089561110BC0F6
-:100E4000FC018281882321F085EE0E94751503C084
-:100E500085EE0E943D1680E090E0089581E00895BF
-:100E600081E008950C94300708950F931F93CF935A
-:100E7000DF938C01FC01C081D181CE010E94F31D62
-:100E8000BE010E94E207EC01B8010E9432078823EC
-:100E900009F48DC0F8018281882309F44AC0809149
-:100EA000550181111FC0C431F0E5DF0709F051C0C1
-:100EB0000E94340781E0809355010E944220909364
-:100EC00054018093530110924C0110924E011092E4
-:100ED0004D011092500110924F0110925201109248
-:100EE000510165C080915301909154010E944E20A0
-:100EF000883C910570F480914C01E82FF0E0EE0FF2
-:100F0000FF1FE35BFE4FD183C0838F5F80934C0153
-:100F10004EC0C43880E5D80721F0C538D04501F16E
-:100F20003AC0F8018281882341F010924A0182E0A0
-:100F30001EC0C438E0E5DE0759F580914A018111F1
-:100F400006C086E20E94751586E20E943D1682E088
-:100F50001CC0C438F0E5DF0741F3C538D045D9F4EB
-:100F6000F8018281882331F010924B0180E20E94C7
-:100F70008C161DC080914B01811106C087E20E9432
-:100F8000751587E20E943D1680E20E9493160FC0FD
-:100F9000C538D04529F381E080934A0180934B0105
-:100FA000C801DF91CF911F910F910C942E0780E023
-:100FB000DF91CF911F910F9108950C9410070C941D
-:100FC000170708959BE0799FF00111249CE2899F07
-:100FD000E00DF11D1124E60FF11DEE0FFF1FE65F7E
-:100FE000FE4F859194910895880F991FFC01E65753
-:100FF000F040859194910895880F991FFC01E65F58
-:10100000FE4F8591949108950F931F93CF93DF9393
-:10101000EC01811520E3920750F5C11580E2D80755
-:1010200008F0C9C0CB3BD10590F4C83AD10508F00F
-:1010300070C0C53AD10508F061C0C430D10508F0D0
-:10104000DAC1219709F0D4C101E010E014C2CF3F0A
-:10105000D10511F008F0CFC1C03FD10508F0A8C0FC
-:10106000CE01805E9109089708F4C5C1C1C1C130A5
-:1010700090E5D90709F4A8C050F5C0318FE4D8072E
-:1010800070F4C11590E4D90708F09AC0C11521E3A6
-:10109000D20708F0ADC1DD278E01106CECC1C1157F
-:1010A000D04509F0A5C10E94FA188FEF94E32CE017
-:1010B000815090402040E1F700C0000087E797E7AB
-:1010C00090930108809300080E949D20D4C1C1150F
-:1010D00097E5D90758F4C03121E5D20708F020C1BF
-:1010E000C43180E5D80708F479C082C1CE01905799
-:1010F0008115904108F07CC1DF7077C1C53AD105F8
-:1011000009F47BC1C63AD10509F07AC102E810E4BE
-:10111000B2C1C83AD10509F476C1C93AD10509F47A
-:1011200075C1CA3AD10509F474C1CB3AD10509F4A5
-:1011300073C1CC3AD10509F472C1CD3AD10509F495
-:1011400071C1C03BD10509F470C1CE3AD10509F493
-:101150006FC1CF3AD10509F46EC1C13BD10509F485
-:101160006DC1C23BD10509F46CC1C33BD10509F483
-:101170006BC1C43BD10509F46AC1C53BD10509F473
-:1011800069C1C63BD10509F468C1C73BD10509F463
-:1011900067C1C83BD10509F466C1C93BD10509F453
-:1011A00065C1CA3BD10509F464C100E014E463C120
-:1011B0008E01106560C1CE019F700E94FC075CC16A
-:1011C000DF708E01106A57C182E192E00E946C06C6
-:1011D0008091DF0181608093DF014DC10E94F42086
-:1011E000811102C00E94DA200E94072190E09093B2
-:1011F000FE018093FD01C23080E5D80721F4809183
-:10120000FD01816086C0C43090E5D90721F480914A
-:10121000FD0182607EC0C63020E5D20721F48091B6
-:10122000FD01846076C0C83080E5D80719F480914C
-:10123000FD0127C0CA3090E5D90721F48091FD0156
-:10124000806167C0CC3020E5D20721F48091FD0198
-:1012500080625FC0CE3080E5D80721F48091FD0127
-:10126000806457C0C03190E5D90721F48091FD0119
-:1012700080684FC0C23120E5D20729F48091FD017A
-:101280008460886046C0C33080E5D80721F480912F
-:10129000FD018E7F3EC0C53090E5D90721F48091D5
-:1012A000FD018D7F36C0C73020E5D20721F4809143
-:1012B000FD018B7F2EC0C93080E5D80719F48091DD
-:1012C000FD0126C0CB3090E5D90721F48091FD01C6
-:1012D0008F7E1FC0CD3020E5D20721F48091FD0123
-:1012E0008F7D17C0CF3080E5D80721F48091FD01B4
-:1012F0008F7B0FC0C13190E5D90721F48091FD01AA
-:101300008F7707C0C331D04531F48091FD018B7FC9
-:10131000877F8093FD018091FD010E940B21ABC06E
-:101320008D2F99278F70992781309105D9F49E01CF
-:101330002370332702C0880F991F2A95E2F79C6813
-:101340008E0144E0000F111F4A95E1F7002713704A
-:10135000802B912B53E0CC0FDD1F5A95E1F7C0761F
-:10136000DD272FC08230910531F4DC2FCC278E0190
-:10137000016F106A80C08330910569F4CE018370DB
-:10138000992701E010E002C0000F111F8A95E2F7D3
-:10139000C8019C680FC084309105B9F4CE018370F8
-:1013A000992701E010E002C0000F111F8A95E2F7B3
-:1013B000C8019A6823E0CC0FDD1F2A95E1F7C07EB3
-:1013C000D7708C010C2B1D2B56C08530910531F444
-:1013D000DC2FCC278E01046F106A4DC0069709F0F0
-:1013E0004AC0CF71DD27DC2FCC278E01106243C0AD
-:1013F00000E010E040C08E013EC001E810E43BC0B8
-:1014000003E810E438C002EE14E435C009EE14E439
-:1014100032C00AEE14E42FC005EB14E42CC006EB36
-:1014200014E429C007EB14E426C00CEC14E423C038
-:101430000DEC14E420C003E815E41DC00AE815E42F
-:101440001AC002E915E417C004E915E414C001E26A
-:1014500016E411C003E216E40EC004E216E40BC069
-:1014600005E216E408C006E216E405C007E216E449
-:1014700002C00AE216E4C801DF91CF911F910F91DB
-:1014800008959BE0799FF00111249CE2899FE00D73
-:10149000F11D1124E60FF11DEE0FFF1FE65FFE4F59
-:1014A00085919491803E9105E0F4803C910558F53A
-:1014B0008133910509F46FC048F48932910509F42C
-:1014C00063C08A32910509F46DC072C089339105F9
-:1014D000E9F082389105D1F08533910509F44DC0CA
-:1014E00067C0833E910581F138F4803E9105B9F0E3
-:1014F000823E9105D9F05CC0863E910561F1873E40
-:101500009105A1F155C00E94F40708952091FD01B5
-:1015100020FD02C021FF4CC080EE90E049C08091C8
-:10152000FD0180FFF9CF89E390E042C08091FD0189
-:1015300082FF0EC08091FD0184FF03C080E090E037
-:1015400037C083EE90E034C08091FD0182FFF2CF7E
-:1015500082EE90E02DC08091FD0183FF0BC0809151
-:10156000FD0184FDEBCF87EE90E022C08091FD016C
-:1015700083FFF5CF86EE90E01BC08091FD0185FFD3
-:1015800007C089E290E014C08091FD0185FFF9CF8A
-:1015900085E390E00DC08091FD0186FF07C08AE2DF
-:1015A00090E006C08091FD0186FFF9CF81E390E0D5
-:1015B0000E940408089508950C94DB0AE82FF0E0D7
-:1015C000E05EFE4F8081E82FEF70F0E082958F7033
-:1015D00021E030E0A90102C0440F551F8A95E2F7CF
-:1015E00040A308950F931F93CF93DF9385B780682F
-:1015F00085BF85B7806885BFC3E0D0E001E010E01B
-:10160000FE01E05EFE4F8081E82FEF70F0E021A147
-:1016100082958F70A80102C0440F551F8A95E2F78A
-:10162000CA01822B81A38C2F0E94DE0A219740F7EA
-:101630008AE090E061E070E0FC01EB5EFE4F20810B
-:10164000E22FEF70F0E042A122952F70DB0102C083
-:10165000AA0FBB1F2A95E2F79D01242B22A3019715
-:1016600058F7DF91CF911F910F910C94DD07EF9206
-:10167000FF920F931F93CF93DF930EE511E0C3E02A
-:10168000EE24E394F12CD5E08C2F0E94DE0A8AE050
-:1016900090E040E050E0FC01EB5EFE4F6081E62F01
-:1016A000EF70F0E020A130E062956F7002C03595D8
-:1016B00027956A95E2F720FD09C09701082E02C020
-:1016C000220F331F0A94E2F7422B532B019718F78E
-:1016D000F801929182918F018417950721F051832F
-:1016E0004083D09300018C2F0E94DE0AC15060F627
-:1016F0008091000187FD42C09091DF0190FF10C0F2
-:10170000282F332727FD30953F938F938BE592E069
-:101710009F938F930E9405070F900F900F900F904B
-:101720008091000181508093000187FD07C08FE9FF
-:101730009FE00197F1F700C0000020C080915C019C
-:1017400090915D01909365018093640180915A01AD
-:1017500090915B01909363018093620180915801A5
-:10176000909159019093610180936001809156019D
-:101770009091570190935F0180935E010E94DF0773
-:1017800081E0DF91CF911F910F91FF90EF9008952D
-:10179000E82FF0E0EE0FFF1FE25AFE4F80819181AB
-:1017A0000895EF92FF920F931F93CF93DF93809151
-:1017B000DF0180FF04C08CE392E00E946C060EE51E
-:1017C00011E0C0E0D0E084E2E82E82E0F82E8091C3
-:1017D000DF0180FF13C0F801808191810E94B71F53
-:1017E0009F938F93DF93CF93FF92EF920E94050711
-:1017F0000F900F900F900F900F900F9021960E5F0B
-:101800001F4FC430D10519F7DF91CF911F910F9170
-:10181000FF90EF9008950F931F93CF9306E611E08A
-:10182000C0E0F801929182918F010E94951FC80F2C
-:10183000F1E00E351F07A9F78C2FCF911F910F9163
-:1018400008958091790108959FB7F89410926801E6
-:101850009FBF9091F401943009F057C09091E90036
-:101860009F703091EC00232F217030FD20E8922BE7
-:1018700024E02093E9002091EB0020FF43C0209159
-:10188000EE0027FF3FC020916601222321F0209126
-:10189000E80025FF37C01092660126E03091E8008D
-:1018A00035FD15C03091F401343061F53091EB0015
-:1018B00035FD28C0215021F481E08093660122C0CB
-:1018C000EFE9FFE03197F1F700C00000E7CF809328
-:1018D000F1008091E80085FD0AC08091E80080FF5A
-:1018E000FCCF8091E8008E778093E80006C08FB728
-:1018F000F89421E0209368018FBF9F709093E900D6
-:1019000080E008959F709093E9008FEF0895CF9342
-:10191000DF9300D01F92CDB7DEB79C018091F40118
-:10192000843019F593E099833B832A839093E900EF
-:101930008FEF9091E800815095FD06C095ED9A9546
-:10194000F1F700008111F5CF8091E80085FF0DC00F
-:1019500040E050E063E070E0CE0101960E944D0F40
-:101960008091E8008E778093E8000F900F900F90A1
-:10197000DF91CF910895CF93DF9300D01F92CDB721
-:10198000DEB72091F401243021F522E029839B83E6
-:101990008A8383E08093E9008FEF9091E800815083
-:1019A00095FD06C095ED9A95F1F700008111F5CFF0
-:1019B0008091E80085FF0DC040E050E063E070E0FA