From 649b33d7783cf3021928534b7ae127e0a89e8807 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Tue, 21 Jun 2016 22:39:54 -0400 Subject: Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432) * fixes from tmk's repo * rename keyboard to keyboards --- keyboards/planck/keymaps/pvc/Makefile | 24 + keyboards/planck/keymaps/pvc/compiled.hex | 1635 +++++++++++++++++++++++++++++ keyboards/planck/keymaps/pvc/config.h | 89 ++ keyboards/planck/keymaps/pvc/keymap.c | 478 +++++++++ 4 files changed, 2226 insertions(+) create mode 100644 keyboards/planck/keymaps/pvc/Makefile create mode 100644 keyboards/planck/keymaps/pvc/compiled.hex create mode 100644 keyboards/planck/keymaps/pvc/config.h create mode 100644 keyboards/planck/keymaps/pvc/keymap.c (limited to 'keyboards/planck/keymaps/pvc') diff --git a/keyboards/planck/keymaps/pvc/Makefile b/keyboards/planck/keymaps/pvc/Makefile new file mode 100644 index 000000000..0b2f060de --- /dev/null +++ b/keyboards/planck/keymaps/pvc/Makefile @@ -0,0 +1,24 @@ + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +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 = 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/keyboards/planck/keymaps/pvc/compiled.hex b/keyboards/planck/keymaps/pvc/compiled.hex new file mode 100644 index 000000000..9e6f0ffe2 --- /dev/null +++ b/keyboards/planck/keymaps/pvc/compiled.hex @@ -0,0 +1,1635 @@ +:100000000C9467030C94AB030C94AB030C94AB03FC +:100010000C94AB030C94AB030C94AB030C94AB03A8 +:100020000C94AB030C94AB030C94BE170C94901877 +:100030000C94F2250C94AB030C94AB030C94AB031F +:100040000C94AB030C940B040C94AB030C94AB0317 +:100050000C94AB030C945A260C94AB030C94AB0396 +:100060000C94AB030C94AB030C94AB030C94AB0358 +:100070000C94AB030C94AB030C94AB030C94AB0348 +:100080000C947A0D0C94AB030C94AB030C94AB035F +:100090000C94AB030C94AB030C94AB030C94AB0328 +:1000A0000C94AB030C94AB030C94AB037504870462 +:1000B0009B04B404AD04C404D304DB04E304ED04E2 +:1000C000F504FD0404050B051705170517051705AD +:1000D00017051705CF04FD181F190D1A1F190D1A42 +:1000E000641987190D1ADC19EF19D91CD91C081DC0 +:1000F000081D471D671DBD1EBD1E721DBD1E221E93 +:10010000221E891E921EBD1EB71E2F1E2F1E2F1EC1 +:100110002F1E2F1E2F1E2F1E2F1E2F1E2F1E2F1E77 +:100120002F1E2F1E2F1E2F1E2F1E3F1E4D1E541E14 +:100130005B1E651E07634236B79BD8A71A396856FF +:1001400018AEBAAB558C1D3CB7CC5763BD6DEDFDF9 +:10015000753EF6177231BF000000803F08000000B6 +:10016000BE922449123EABAAAA2ABECDCCCC4C3EAC +:1001700000000080BEABAAAAAA3E00000000BF009B +:100180000000803F0000000000084178D3BB438797 +:10019000D1133D190E3CC3BD4282AD2B3E68EC82AB +:1001A00076BED98FE1A93E4C80EFFFBE01C4FF7F30 +:1001B0003F00000000000000000000000000000000 +:1001C00000010204060A0F17202C3A4A5D71879D30 +:1001D000B3C7DAE9F5FCFFFCF5E9DAC7B39D87712F +:1001E0005D4A3A2C20170F0A0604020100000000A5 +:1001F00000000000000000222B0014001A0008007C +:10020000150017001C0018000C00120013002A0033 +:10021000290004001600070009000A000B000D0069 +:100220000E000F0033003400E1001D001B0006002B +:100230001900050011001000360037005200280098 +:10024000E000E3000530E20003302C002C00043015 +:10025000C000500051004F002B0014001A0009008C +:1002600013000A000D000F0018001C0033002900C5 +:100270002A00040015001600170007000B001100EB +:1002800008000C0012003400E1001D001B000600F5 +:10029000190005000E00100036003700520028003B +:1002A000E000E3000530E20003302C002C000430B5 +:1002B000C000500051004F002B00340036003700C2 +:1002C00013001C0009000A00060015000F002A0098 +:1002D000290004001200080018000C0007000B00A1 +:1002E0001700110016003800E100330014000D0063 +:1002F0000E001B00050010001A0019001D00280048 +:10030000E000E3000530E20003302C002C00043054 +:100310005200510050004F0046003A003B003C00A4 +:100320003D00530054005F006000610056004C0027 +:1003300039003E003F0040004100470055005C008E +:100340005D005E0057004900010042004300440088 +:1003500045004800000059005A005B0058004A0060 +:1003600001000100010001000100620062000100C3 +:10037000E600630058004D00010021022F022F000B +:100380002602220220022702300030021F024B0008 +:1003900001002302250257005600330033022D02CC +:1003A0003400340235004E000100310224021E02E6 +:1003B0003502380031002E003602370238024A007A +:1003C0000100010001000100010001000100010025 +:1003D0000100010001004D0053003A003B003C00C9 +:1003E0003D003E003F004000410042004300480005 +:1003F000390044004500680069006A006B006C0029 +:100400006D006E006F004600470000000000000015 +:100410000000000000000000000000000000A80034 +:1004200001000100010001000100AE00AE0001006A +:10043000A900AA00AC00AB002900FD00FE00FF00EF +:100440000000000000000000000000000000290083 +:10045000000000000000000000000000000000009C +:1004600000000000000000000100F800F700F600A6 +:10047000F50000000000000000000000F900FA0094 +:1004800001000100010001000100F400F40001007E +:10049000F000F100F200F3000100073008300930ED +:1004A0000A300B300C300D30010001002550225075 +:1004B00001000030013002300100010001000100A4 +:1004C0000100010001000100010001000100010024 +:1004D00014300050010006300100010026500100D8 +:1004E0000100010001000100010001000100010004 +:1004F0000100010027500100280354006800650036 +:10050000200050006C0061006E0063006B00200052 +:100510004B006500790062006F00610072006400AA +:1005200000002C034F007200740068006F006C0024 +:1005300069006E0065006100720020004B006500DC +:10054000790062006F0061007200640073000000B7 +:100550000403090409026D00040100A0FA09040063 +:10056000000103010100092111010001223F0007E0 +:1005700005810308000A09040100010301020009C2 +:100580002111010001224D000705820308000A091C +:1005900004020001030000000921110100012236BC +:1005A000000705830308000A090403000103000093 +:1005B0000009211101000122390007058403100000 +:1005C000011201100100000008EDFE606001000151 +:1005D00002000105010906A101050719E029E71537 +:1005E0000025019508750181020508190129059565 +:1005F00005750191029501750391010507190029FF +:100600007715002501957875018102C005010980E3 +:10061000A101850216010026B7001A01002AB700C1 +:10062000751095018100C0050C0901A10185031613 +:100630000100269C021A01002A9C02751095018176 +:1006400000C005010902A1010901A1000509190164 +:100650002905150025019505750181029501750390 +:1006600081010501093009311581257F9502750841 +:10067000810609381581257F950175088106050CCD +:100680000A38021581257F950175088106C0C005CD +:10069000010906A101050719E029E71500250195C3 +:1006A0000875018102950175088101050819012964 +:1006B00005950575019102950175039101050719CD +:1006C0000029FF150025FF950675088100C011243B +:1006D0001FBECFEFDAE0DEBFCDBF04B603FE24C0FD +:1006E00080916F0590917005A0917105B091720590 +:1006F0008730904BA740B04BB9F410926F05109221 +:100700007005109271051092720514BE84B7877F30 +:1007100084BF88E10FB6F894809360001092600067 +:100720000FBEE0E0F8E3099514E0A0E0B1E0EAE0F4 +:10073000F3E602C005900D92A031B107D9F715E09C +:10074000A0E1B4E001C01D92AF36B107E1F70E940D +:1007500004150C9483310C940000089581E00895F1 +:100760000C94AD030C94AE030C941E050E944D2D09 +:1007700023E030E0281B3109220F20931404089550 +:10078000282F2F9880918000211108C0877F8093A7 +:10079000800010928D0010928C001BC088608093A6 +:1007A0008000233019F48FEF9FEF0FC083E090E0BB +:1007B000821B9109880F991F2FEF3FEFA90102C0FB +:1007C000569547958A95E2F7CA0190938D008093DC +:1007D0008C000C94B6030E94B60384E0809313044B +:1007E000109210040895279A2F988FEF9FEF9093FF +:1007F0008700809386008AE08093800089E180935F +:1008000081000E94B62C0C94EB030E94F3036E9AB5 +:10081000769A0C948F051F920F920FB60F921124A7 +:100820002F933F938F939F93EF93FF93E091110446 +:10083000F0911204CF010196909312048093110459 +:100840000090130402C0F695E7950A94E2F7EF735F +:1008500080911004823019F4E03251F404C08130E8 +:1008600039F4EF3329F480916F008D7F80936F000E +:10087000F0E0EA54FE4FE49121E031E0E29FC00154 +:10088000E39F900D11240090140402C09695879563 +:100890000A94E2F790938D0080938C00FF91EF9182 +:1008A0009F918F913F912F910F900FBE0F901F90AE +:1008B0001895CF93DF93EC010E944E28BE0180E093 +:1008C00090E0DF91CF910C94E8220F931F93CF9388 +:1008D000DF93462F50E04531510508F0A8C0EC01E8 +:1008E000FA01EA5AFF4F0C9447318A81882309F4B0 +:1008F0009EC081E090E00E9459040AE017ED23E2D7 +:100900003CE340E064E070E080E792E011C08A815F +:10091000882309F48CC082E090E00E9459040AE028 +:1009200017ED23E23CE340E066E070E080E092E017 +:100930000E94F8107CC08A81882309F478C084E082 +:1009400090E00E9459040AE017ED23E23CE340E006 +:1009500068E070E080E392E0EBCF8A81882311F0B9 +:1009600084E006C084E00DC08A81882349F083E0DA +:100970000E94652347E063E084E00E945D0B57C05E +:1009800083E00E948623F6CF8A81882321F085E0C8 +:100990000E9465234CC085E00E94862348C08A815E +:1009A00081110E940D2D8A81882309F440C086E0C0 +:1009B0000E94AB233CC08A818823C9F160E070E0CB +:1009C00080E09EE307C08A81882389F160E070E0BF +:1009D00080E89EE30E949F112AC08A81882339F112 +:1009E00060E070E080E09FE3F5CF8A818823F9F032 +:1009F00060E070E080E49FE3EDCF8A818823B9F066 +:100A00008AE00E94B11113C08A81882381F08AE0B4 +:100A10000E94AB110CC08A81882349F060E070E02D +:100A200080E09FE30E949F1184E60E94A81180E06D +:100A300090E0DF91CF911F910F9108950F931F9335 +:100A4000CF93C82F8FE39CE90197F1F700C0000016 +:100A500090911504C1FF0BC091FD14C000E010E09F +:100A6000980140E062E070E080E991E03AC091FFD7 +:100A700009C000E010E0980140E062E070E080E82A +:100A800091E02FC0C0FF0BC090FD14C000E010E04B +:100A9000980140E062E070E080E791E022C090FFC2 +:100AA00009C000E010E0980140E062E070E080E6FC +:100AB00091E017C0C2FF0BC092FD15C000E010E02E +:100AC000980140E062E070E080E591E00AC092FFAA +:100AD0000AC000E010E0980140E062E070E080E4CD +:100AE00091E00E94F810C0931504CF911F910F91CF +:100AF00008950F931F938FE39CE90197F1F700C0CE +:100B000000000AE017ED23E23CE340E06FE070E014 +:100B100088ED92E00E94F8101F910F91089580E0F7 +:100B20000E94C2110C9479050F931F930AE017EDF0 +:100B300023E23CE340E069E070E080E992E00E945B +:100B4000F8102FEF87EA91E6215080409040E1F7BE +:100B500000C000001F910F910C94AD0C0F931F93D8 +:100B60000AE017ED23E23CE340E065E070E088ED49 +:100B700091E00E94F8101F910F9108950F931F9319 +:100B80000AE017ED23E23CE340E067E070E080EA32 +:100B900091E00E94F8101F910F9108950F931F93F9 +:100BA0000AE017ED23E23CE340E068E070E080E01B +:100BB00091E00E94F8101F910F91089581E008952F +:100BC0000C94DE0508950C94050480916604882336 +:100BD00009F448C08091220490912304009779F48D +:100BE0000E9424269093230480932204809124045D +:100BF00090E0009771F48091250490E00AC00E9473 +:100C0000302620915003309151032817390740F3C3 +:100C100029C00197880F991F880F991FFC01EA5D71 +:100C2000FB4F60817181828193810E94E00CE09191 +:100C3000240484E0E89FF0011124EA5DFB4F608109 +:100C40007181828193814FE050E00E9498108091E1 +:100C5000240490E001966091250470E00E943331F5 +:100C6000809324040C94B003109268040C94AD0C8F +:100C700081E0809368040C94BE058F929F92AF929E +:100C8000BF92EF92FF920F931F93CF93DF93CDB755 +:100C9000DEB7A3970FB6F894DEBF0FBECDBF7C01C1 +:100CA000FC0100811181C8010E942124B8010E9429 +:100CB0003F088C01B7010E94E005882309F4CCC1EC +:100CC0000032F0E51F0741F4F7018281882309F41F +:100CD00058C00E948F11C0C10132F0E51F0741F4D6 +:100CE000F7018281882309F44CC00E949811B4C195 +:100CF0000232F0E51F0751F4F7018281882309F4DD +:100D000040C00E948B118111F0CFE3CF0332F0E598 +:100D10001F0739F4F7018281882399F10E94380670 +:100D20009BC10432F0E51F0739F4F7018281882363 +:100D300041F10E94340690C10532F0E51F0749F4E5 +:100D4000F70182818823E9F0809168048111F1CF55 +:100D5000E5CF0632F0E51F0739F4F70182818823D9 +:100D600081F00E94C5110AC00732F0E51F0749F45F +:100D7000F7018281882329F00E94D0110E94CE05BC +:100D80006BC180916804811105C0F70182818111D6 +:100D9000CFC018C1003E110579F4F7018281882384 +:100DA00009F44DC00E94AD0C81E08093670410925D +:100DB00066041092250450C1023E110559F4F70152 +:100DC00082818823E1F10E94AD0C10926704109299 +:100DD000660442C1033E110591F4F7018281882324 +:100DE00071F10E94AD0C1092670481E0809366045B +:100DF0001092240410922304109222042DC1023573 +:100E0000110559F4F7018281882309F425C18091E5 +:100E10005003909151030A970DC00135110579F4E3 +:100E2000F7018281882309F417C1809150039091C2 +:100E300051030A9690935103809350030DC1409142 +:100E4000540383E2EFE6F3E0DE01119601900D9288 +:100E50008A95E1F7F701808121E030E02C0F3D1FFA +:100E6000280F311DC9012091520330915303FC0119 +:100E7000E20FF31F6081772767FD7095640F711D86 +:100E8000882777FD8095982F0E94552E20E030E02E +:100E900040E451E40E94BA2D4B015C01F70121812D +:100EA00084E090E0821B9109BC01882777FD809542 +:100EB000982F0E94552E9B01AC01C501B4010E94E0 +:100EC000522D9B01AC0160E070E080E090E40E9454 +:100ED000C82F20E030E04CED50E40E94652F4B011C +:100EE0005C01F70182818823D1F04FE050E0C50119 +:100EF000B4010E949810809167048823A1F080912A +:100F0000250424E0829FF0011124EA5DFB4F8082DA +:100F10009182A282B3828F5F8093250404C0C501B1 +:100F2000B4010E94E00C0F3F110508F02ECF94C0D1 +:100F30008091210481111FC0043130E5130709F0AD +:100F400051C00E94E20581E0809321040E94242682 +:100F50009093200480931F041092180410921A0496 +:100F60001092190410921C0410921B0410921E047B +:100F700010921D0471C080911F04909120040E9462 +:100F80003026883C910570F480911804E82FF0E039 +:100F9000EE0FFF1FE75EFB4F118300838F5F80938F +:100FA00018045AC0043880E5180721F005381045A8 +:100FB00001F13AC0F7018281882341F010921604B2 +:100FC00082E01EC0043830E5130759F580911604FD +:100FD000811106C086E20E947D1B86E20E94451CAC +:100FE00082E01CC00438F0E51F0741F305381045C6 +:100FF000D9F4F7018281882331F01092170480E23E +:101000000E94941C29C080911704811106C087E2B8 +:101010000E947D1B87E20E94451C80E20E949B1C6F +:101020001BC00538104529F381E080931604809396 +:101030001704C701A3960FB6F894DEBF0FBECDBF4D +:10104000DF91CF911F910F91FF90EF90BF90AF90E4 +:101050009F908F900C94B20380E0A3960FB6F89403 +:10106000DEBF0FBECDBFDF91CF911F910F91FF90DB +:10107000EF90BF90AF909F908F90089508959CE05F +:10108000799FF001112490E3899FE00DF11D112457 +:10109000E60FF11DEE0FFF1FE850FE4F8591949172 +:1010A0000895880F991FFC01EA58FF4F859194918C +:1010B0000895880F991FFC01EA50FE4F8591949185 +:1010C00008950F931F93CF93DF93EC01811521E3D4 +:1010D0009207A0F5C11580E3D80708F0D7C0C83E35 +:1010E000D105D8F4C03ED10508F007C2C83AD105F1 +:1010F00078F4C53AD10508F06AC0C130D10509F4C9 +:1011000063C008F4F7C1C430D10508F0F6C1F2C1DC +:10111000CB3BD10508F466C0EDC1C11590E2D907FB +:1011200008F0AFC0C11521E0D20708F0E6C1C03F0A +:10113000D10508F4DFC18E0110651FC2C03880E5FB +:10114000D80700F5C03790E5D90708F0A3C0C1154E +:1011500020E5D20709F4ACC050F4CE0190548031A0 +:101160009F4008F0C7C1DF708E01106A06C2C1300F +:1011700080E5D80709F4AEC0C43190E5D90708F47A +:10118000AFC0B8C1C33820E5D20709F48EC050F40F +:10119000C13890E5D90709F482C008F083C000E0A7 +:1011A00011EDEBC1C03181E5D80708F4A3C1C11529 +:1011B00097E5D90708F436C1CE01905781159041C3 +:1011C00008F098C1DF7093C101E010E0D6C1C53AC4 +:1011D000D10509F494C1C63AD10509F093C102E8DA +:1011E00010E4CBC1C83AD10509F48FC1C93AD10581 +:1011F00009F48EC1CA3AD10509F48DC1CB3AD105A3 +:1012000009F48CC1CC3AD10509F48BC1CD3AD10592 +:1012100009F48AC1C03BD10509F489C1CE3AD10590 +:1012200009F488C1CF3AD10509F487C1C13BD10582 +:1012300009F486C1C23BD10509F485C1C33BD10580 +:1012400009F484C1C43BD10509F483C1C53BD10570 +:1012500009F482C1C63BD10509F481C1C73BD10560 +:1012600009F480C1C83BD10509F47FC1C93BD10550 +:1012700009F47EC1CA3BD10509F47DC100E014E444 +:101280007CC1CE019F700E94590878C1DD278E0174 +:10129000106C73C1CF70DD278E01146D6EC100E03C +:1012A00010ED6BC100E012ED68C100E013ED65C107 +:1012B0000E94281F0E94AD0C0E9494058FEF94E3BA +:1012C0002CE0815090402040E1F700C000000E94D7 +:1012D0007F2653C1809143058160809343054DC1B2 +:1012E0000E943628811102C00E9412280E945328B1 +:1012F00090E090936E0580936D05C23080E5D8072D +:1013000021F480916D05816086C0C43090E5D907D5 +:1013100021F480916D0582607EC0C63020E5D20741 +:1013200021F480916D05846076C0C83080E5D807CF +:1013300019F480916D0527C0CA3090E5D90721F4D2 +:1013400080916D05806167C0CC3020E5D20721F423 +:1013500080916D0580625FC0CE3080E5D80721F4B2 +:1013600080916D05806457C0C03190E5D90721F4A4 +:1013700080916D0580684FC0C23120E5D20729F405 +:1013800080916D058460886046C0C33080E5D807D1 +:1013900021F480916D058E7F3EC0C53090E5D90760 +:1013A00021F480916D058D7F36C0C73020E5D207CE +:1013B00021F480916D058B7F2EC0C93080E5D80760 +:1013C00019F480916D0526C0CB3090E5D90721F442 +:1013D00080916D058F7E1FC0CD3020E5D20721F4AE +:1013E00080916D058F7D17C0CF3080E5D80721F43F +:1013F00080916D058F7B0FC0C13190E5D90721F435 +:1014000080916D058F7707C0C331D04531F480914D +:101410006D058B7F877F80936D0580916D050E94A0 +:101420005728ABC08D2F99278F7099278130910550 +:10143000D9F49E012370332702C0880F991F2A9583 +:10144000E2F79C688E0144E0000F111F4A95E1F716 +:1014500000271370802B912B53E0CC0FDD1F5A9582 +:10146000E1F7C076DD272FC08230910531F4DC2F03 +:10147000CC278E01016F106A80C08330910569F41A +:10148000CE018370992701E010E002C0000F111F08 +:101490008A95E2F7C8019C680FC084309105B9F4C1 +:1014A000CE018370992701E010E002C0000F111FE8 +:1014B0008A95E2F7C8019A6823E0CC0FDD1F2A95D0 +:1014C000E1F7C07ED7708C010C2B1D2B56C08530E8 +:1014D000910531F4DC2FCC278E01046F106A4DC0CA +:1014E000069709F04AC0CF71DD27DC2FCC278E018B +:1014F000106243C000E010E040C08E013EC001E831 +:1015000010E43BC003E810E438C002EE14E435C038 +:1015100009EE14E432C00AEE14E42FC005EB14E423 +:101520002CC006EB14E429C007EB14E426C00CEC35 +:1015300014E423C00DEC14E420C003E815E41DC03E +:101540000AE815E41AC002E915E417C004E915E435 +:1015500014C001E216E411C003E216E40EC004E276 +:1015600016E40BC005E216E408C006E216E405C066 +:1015700007E216E402C00AE216E4C801DF91CF9147 +:101580001F910F9108959CE0799FF001112490E341 +:10159000899FE00DF11D1124E60FF11DEE0FFF1FD5 +:1015A000E850FE4F85919491803E9105E0F4803C97 +:1015B000910558F58133910509F46FC048F48932DB +:1015C000910509F463C08A32910509F46DC072C0B7 +:1015D00089339105E9F082389105D1F08533910581 +:1015E00009F44DC067C0833E910581F138F4803E17 +:1015F0009105B9F0823E9105D9F05CC0863E910517 +:1016000061F1873E9105A1F155C00E9451080895EE +:1016100020916D0520FD02C021FF4CC080EE90E0BE +:1016200049C080916D0580FFF9CF89E390E042C009 +:1016300080916D0582FF0EC080916D0584FF03C00F +:1016400080E090E037C083EE90E034C080916D057B +:1016500082FFF2CF82EE90E02DC080916D0583FF76 +:101660000BC080916D0584FDEBCF87EE90E022C02A +:1016700080916D0583FFF5CF86EE90E01BC08091D1 +:101680006D0585FF07C089E290E014C080916D056B +:1016900085FFF9CF85E390E00DC080916D0586FF51 +:1016A00007C08AE290E006C080916D0586FFF9CF01 +:1016B00081E390E00E9461080895CF92DF92EF925B +:1016C000FF920F931F9301E010E020E030E06801EB +:1016D000790104C0CC0CDD1CEE1CFF1C8A95D2F7EE +:1016E00004C0000F111F221F331F6A95D2F70C2967 +:1016F0001D292E293F29C0902605D0902705E0906E +:101700002805F0902905C022D122E222F322842F5D +:10171000C016D106E206F30641F41F910F91FF9027 +:10172000EF90DF90CF900C9465231F910F91FF9065 +:10173000EF90DF90CF900C9486230C94B403E82FA5 +:10174000F0E0E256FC4F8081E82FEF70F0E08295E8 +:101750008F7021E030E0A90102C0440F551F8A9527 +:10176000E2F740A308950F931F93CF93DF9385B7BC +:10177000806885BF85B7806885BFC3E0D0E001E0A1 +:1017800010E0FE01E256FC4F8081E82FEF70F0E0A0 +:1017900021A182958F70A80102C0440F551F8A9520 +:1017A000E2F7CA01822B81A38C2F0E949F0B219705 +:1017B00040F78BE090E061E070E0FC01EE56FC4FFA +:1017C0002081E22FEF70F0E042A122952F70DB0123 +:1017D00002C0AA0FBB1F2A95E2F79D01242B22A36A +:1017E000019758F7DF91CF911F910F910C94E3056A +:1017F000EF92FF920F931F93CF93DF9301E714E0D3 +:10180000C3E0EE24E394F12CD5E08C2F0E949F0BD3 +:101810008BE090E040E050E0FC01EE56FC4F608130 +:10182000E62FEF70F0E020A130E062956F7002C00B +:10183000359527956A95E2F720FD09C09701082E96 +:1018400002C0220F331F0A94E2F7422B532B019759 +:1018500018F7F801929182918F018417950721F072 +:1018600051834083D09355038C2F0E949F0BC1500E +:1018700060F68091550387FD2CC0815080935503FD +:101880008F3F39F08FE99FE00197F1F700C000002A +:1018900020C080916F04909170049093780480939D +:1018A000770480916D0490916E04909376048093F8 +:1018B000750480916B0490916C04909374048093F0 +:1018C00073048091690490916A04909372048093E8 +:1018D00071040E94E50581E0DF91CF911F910F9186 +:1018E000FF90EF900895E82FF0E0EE0FFF1FEF5804 +:1018F000FB4F80819181089508950F931F93CF939B +:1019000009E714E0C0E0F801929182918F010E94F2 +:101910009C25C80FF4E001371F07A9F78C2FCF9142 +:101920001F910F9108950E943628811102C00E94D4 +:1019300012280E946528809358053E9A8091710074 +:101940008D7F8093710082E0809390008AE1809384 +:10195000910081E080937B04089580917B04811144 +:1019600002C00E94930C1092CB041092CA04809182 +:1019700071008D7F80937100809190008F738093B0 +:10198000900010928D0410928C041092C404109256 +:10199000C5041092C6041092C7041092C30410929A +:1019A000C204E2EAF4E0A2E9B4E0119211921192C9 +:1019B00011921D921D9284E0E23CF807B1F7089560 +:1019C000CF92DF92EF92FF920F931F93CF93DF930B +:1019D00020918C04222309F484C06B017C01809146 +:1019E0007B04811102C00E94930C02EC14E0C7E05A +:1019F000D0E0A7019601F8019291829172916291D3 +:101A00008F010E94B62D811131C0FE01EE0FFF1F24 +:101A1000EE0FFF1FEE55FB4F1082118212821382D0 +:101A2000DE01AA0FBB1FAE56BB4F11961C921E9231 +:101A3000C730D105E9F021964481558166817781CF +:101A400040835183628373831482158216821782C6 +:101A500012968D919C91139711969C938E93139649 +:101A60001C921E92129734961296E2CF219708F696 +:101A70008091CA049091CB04019797FD05C0909383 +:101A8000CB048093CA0404C01092CB041092CA0401 +:101A90008091CA049091CB042091C8043091C9046C +:101AA0002817390724F01092C9041092C804892B12 +:101AB000C1F4809171008D7F8093710080919000BE +:101AC0008F73809390001092C4041092C5041092FA +:101AD000C6041092C7041092C3041092C20410925C +:101AE0008C04DF91CF911F910F91FF90EF90DF90C9 +:101AF000CF9008951F920F920FB60F9211244F921C +:101B00005F926F927F928F929F92AF92BF92CF928D +:101B1000DF92EF92FF922F933F934F935F936F93D8 +:101B20007F938F939F93AF93BF93CF93DF93EF9365 +:101B3000FF9380918C04882309F49BC1C091CA044F +:101B4000D091CB041C161D060CF093C140907C0470 +:101B500050907D0460907E0470907F0420E030E01F +:101B6000A901C301B2010E94612F18160CF065C0D3 +:101B7000C130D10509F452C08091C8049091C904C4 +:101B8000BE010E9433317C019093C9048093C80444 +:101B900080908E0490908F04A0909004B090910457 +:101BA00020E030E040E85FE3C501B4010E94522D1F +:101BB00060938E0470938F048093900490939104AB +:101BC000F701EE0FFF1FEE0FFF1FEE55FB4FA301B6 +:101BD000920160817181828193810E94BA2D20E0FF +:101BE00030E040E05EE30E94652F9B01AC01C5013F +:101BF000B4010E94612F18168CF4C7010196BE0132 +:101C00000E9433319093C9048093C80410928E04CB +:101C100010928F041092900410929104E091C804E5 +:101C2000F091C904EE0FFF1FEE0FFF1FEE55FB4FA3 +:101C30006081718182819381D0C0C090C404D090B2 +:101C4000C504E090C604F090C70420E030E0A9018C +:101C5000C701B6010E94B62D2197882309F4A2C0BE +:101C6000FE01EE0FFF1FEE0FFF1FEE55FB4F8080B2 +:101C70009180A280B380A5019401C701B6010E94A2 +:101C8000B62D87FF31C0A501940160E070E08CEDB6 +:101C900093EC0E94BA2D20E030E040E451E40E9431 +:101CA000BA2D20E030E040E05FE30E94652F9B0109 +:101CB000AC0160E070E080E090E40E94C82F9B01DE +:101CC000AC01C501B4010E94652F9B01AC01C701A5 +:101CD000B6010E94B62D87FF07C0A701960160E0FC +:101CE00070E08CED93E439C0A5019401C701B60101 +:101CF0000E94612F18160CF055C0A501940160E0F8 +:101D000070E08CED93E40E94BA2D20E030E040E4D6 +:101D100051E40E94BA2D20E030E040E05FE30E94F1 +:101D2000652F9B01AC0160E070E080E090E40E94D0 +:101D3000C82F9B01AC01C501B4010E94652F9B0116 +:101D4000AC01C701B6010E94612F18165CF5A7010E +:101D5000960160E070E08CED93EC0E94BA2D20E0DB +:101D600030E040E451E40E94BA2D20E030E040E051 +:101D70005FE30E94652F9B01AC0160E070E080E0B2 +:101D800090E40E94C82F9B01AC01C701B6010E94DC +:101D9000652F6093C4047093C5048093C604909328 +:101DA000C70413C0FE01EE0FFF1FEE0FFF1FEE551D +:101DB000FB4F80819181A281B3818093C404909371 +:101DC000C504A093C604B093C7046091C404709185 +:101DD000C5048091C6049091C70420917904309184 +:101DE0007A042F3F4FEF340731F02F5F3F4F30938E +:101DF0007A04209379040E94DB116B017C0120E0BE +:101E000034E244EF51E40E94B62D87FF08C086EF0C +:101E1000C82E88E2D82E84EFE82E81E4F82E20E048 +:101E200030E040E051E4C701B6010E94652F9B01FC +:101E3000AC0160E074E284E79BE40E94BA2D6B0180 +:101E40007C010E94272E709397006093960020914A +:101E50005603309157034091580350915903C701DD +:101E6000B6010E94652F0E94272E709399006093FF +:101E7000980080918D04882309F433C1C0908804B0 +:101E8000D0908904E0908A04F0908B0420E030E048 +:101E9000A901C701B6010E94612F1816D4F58091DF +:101EA000790490917A048F3F2FEF920729F00196E1 +:101EB00090937A0480937904C701B6010E94DB11E4 +:101EC00020E030E040E051E40E94652F9B01AC012E +:101ED00060E074E284E79BE40E94BA2D6B017C0110 +:101EE0000E94272E709397006093960020915603CE +:101EF000309157034091580350915903C701B601DF +:101F00000E94652F0E94272E70939900609398007D +:101F100008C01092970010929600109299001092AB +:101F2000980060918204709183046F5F7F4F70937B +:101F3000830460938204209196003091970080E0A2 +:101F400090E0232BF1F0C0919600D09197000E9471 +:101F5000532E6B017C01BE0180E090E00E94532E65 +:101F60009B01AC016091840470918504809186048A +:101F7000909187040E94BA2D20E03FEF4FE757E48D +:101F800010C00E94532E6B017C0120E030EE4FEF19 +:101F900054E460918404709185048091860490914A +:101FA00087040E94652F9B01AC01C701B6010E9406 +:101FB000612F87FD96C0809180048F5F809380049D +:101FC00090E0209154053091550582179307A0F0B9 +:101FD00080915F05882319F0109280040DC08091D4 +:101FE00071008D7F80937100809190008F7380933A +:101FF000900010928D047DC080918104C091800476 +:10200000811128C0C0905905D0905A05E0905B0519 +:10201000F0905C0520E030E0A901C701B6010E9404 +:10202000612F1816BCF481E080938104109288041B +:102030001092890410928A0410928B04C092840436 +:10204000D0928504E0928604F0928704C150C09338 +:10205000800443C01092810410927A041092790493 +:10206000E0915605F091570548E0C49FE00DF11D41 +:10207000112480819181A281B381809388049093FF +:102080008904A0938A04B0938B0420E030E040E8F8 +:102090005EE364817581868197810E94652F6B0163 +:1020A0007C0180915A03682F70E080E090E00E94EC +:1020B000532E20E030E048EC52E40E94BA2D9B0100 +:1020C000AC01C701B6010E94652F60938404709330 +:1020D0008504809386049093870410928304109261 +:1020E00082048091580580FD04C010928D041092E6 +:1020F0008C04FF91EF91DF91CF91BF91AF919F91B0 +:102100008F917F916F915F914F913F912F91FF90B0 +:10211000EF90DF90CF90BF90AF909F908F907F9087 +:102120006F905F904F900F900FBE0F901F9018957B +:10213000CF92DF92EF92FF92CF93DF936B017C01FE +:10214000EA0180917B04811102C00E94930C80916E +:10215000580580FF46C08091CA049091CB0408972F +:102160000CF03FC0809171008D7F80937100809151 +:102170008D0481110E94AD0C81E080938C0410923B +:102180007A041092790420E030E0A901C701B60179 +:102190000E94612F1816DCF48091CA049091CB0440 +:1021A000FC01EE0FFF1FEE0FFF1FEE55FB4FC0822D +:1021B000D182E282F382FC01EE0FFF1FEE56FB4F4D +:1021C000D183C08301969093CB048093CA048091FD +:1021D000710082608093710080919000806880938C +:1021E0009000DF91CF91FF90EF90DF90CF90089516 +:1021F0008F929F92AF92BF92CF92DF92EF92FF9217 +:102200000F931F93CF93DF93EC017B01D42E4801F2 +:10221000590180917B04811102C00E94930C80912E +:10222000580580FF6BC0809171008D7F8093710095 +:1022300080918C0481110E94AD0C81E080938D040B +:10224000D0935705C0935605F0925505E09254057A +:10225000D0925F058092590590925A05A0925B0535 +:10226000B0925C0510928E0410928F04109290042C +:10227000109291041092800488819981AA81BB8177 +:102280008093880490938904A0938A04B0938B046C +:1022900020E030E040E85EE36C817D818E819F81AB +:1022A0000E94652F6B017C0180915A03682F70E0BA +:1022B00080E090E00E94532E20E030E048EC52E4B1 +:1022C0000E94BA2D9B01AC01C701B6010E94652F87 +:1022D00060938404709385048093860490938704AC +:1022E0001092830410928204809171008260809326 +:1022F000710080919000806880939000DF91CF9171 +:102300001F910F91FF90EF90DF90CF90BF90AF9013 +:102310009F908F90089580915805817008958091C5 +:1023200058058160809358050E9469280C94AE0579 +:10233000809158058E7F809358050C94692860938E +:10234000560370935703809358039093590308954D +:1023500080935A03089590915A03890F80935A03EA +:10236000089590915A03292F30E0281B31092A3013 +:10237000310524F48AE080935A030895981B9093C2 +:102380005A0308958093CC0408958091CC0490E082 +:10239000019666E070E00E9433318093CC0408958A +:1023A0008091CC0490E0019766E070E00E943331A8 +:1023B0008093CC0408958F929F92AF92BF92CF9258 +:1023C000DF92EF92FF920F931F93CF93DF936B01F6 +:1023D0007C01C0917904D0917A04BE0180E090E044 +:1023E0000E94532E4B015C01A701960160E070E052 +:1023F0008CE594E40E94BA2D9B01AC01C501B401A7 +:102400000E94652F0E94272E2091CC04233009F4CE +:1024100073C028F4222351F02130E9F02CC124307C +:1024200009F4A0C0253009F4E0C025C180E090E0A7 +:10243000A0E0BFE38093560390935703A093580303 +:10244000B093590310927C0410927D0410927E0484 +:1024500010927F0410C110927C0410927D0410929F +:102460007E0410927F046431710540F46A30710576 +:1024700060F520E030E040E85EE32BC0693C710588 +:1024800008F0AAC080E090E00E94532E20E030E0E7 +:1024900040EA51E40E94512D20E030E044E353E44F +:1024A0000E94BA2D9B01AC010E94652F20E030E014 +:1024B00040E05EE30E94652F9B01AC0160E070E0AC +:1024C00080E09EE30E94512D44C020E030E040E0D7 +:1024D0005FE3C701B6010E94652F6B017C0180E0BC +:1024E00090E0A0E0BEE38093560390935703A0933F +:1024F0005803B0935903BFC010927C0410927D041E +:1025000010927E0410927F044AE0469F9001479FFC +:10251000300D1124C90168EB7BE00E941F31BC0122 +:102520006C5D754077FF03C07195619571098827CF +:1025300077FD8095982F0E94552E2EE333EC4EE2C6 +:1025400059E30E94652F20E030E040EC5EE30E94FA +:10255000522D6093560370935703809358039093C2 +:10256000590389C010927C0410927D0410927E045D +:1025700010927F04CE0183709927892BE1F0BE0170 +:102580006170772780E090E00E94532E20E030E0D9 +:1025900040E05EE30E94652F20E030E040E45FE32E +:1025A0000E94522D609356037093570380935803F3 +:1025B000909359030CC080E090E0A0E0BFE38093CB +:1025C000560390935703A0935803B0935903C770D1 +:1025D000DD27CD2B09F04FC0109256031092570300 +:1025E000109258031092590346C010927C04109226 +:1025F0007D0410927E0410927F0400E010E020E041 +:102600003FE30093560310935703209358033093EE +:1026100059036739710578F180E090E00E94532EEC +:1026200020E030E047E153E40E94512D20E030E00B +:102630004AE754E40E94BA2D20E030E048E452E436 +:102640000E94652F20E030E040EA51E40E94972E7E +:102650000E94222E660F771F660F771FFB01EE5533 +:10266000FC4F2081318142815381C701B6010E9414 +:10267000652F6B017C01C701B601DF91CF911F91DE +:102680000F91FF90EF90DF90CF90BF90AF909F9011 +:102690008F9008958091DD040895CF93DF9300D04B +:1026A0001F92CDB7DEB79C0180916405843019F587 +:1026B00093E099833B832A839093E9008FEF909175 +:1026C000E800815095FD06C095ED9A95F1F7000060 +:1026D0008111F5CF8091E80085FF0DC040E050E00A +:1026E00063E070E0CE0101960E94AE158091E80093 +:1026F0008E778093E8000F900F900F90DF91CF912D +:102700000895CF93DF9300D01F92CDB7DEB720910D +:102710006405243021F522E029839B838A8383E0AA +:102720008093E9008FEF9091E800815095FD06C0FD +:1027300095ED9A95F1F700008111F5CF8091E800B1 +:1027400085FF0DC040E050E063E070E0CE010196EF +:102750000E94AE158091E8008E778093E8000F907C +:102760000F900F90DF91CF91089520916405243050 +:10277000F1F422E02093E9002FEF3091E80021509E +:1027800035FD06C035ED3A95F1F700002111F5CF82 +:102790002091E80025FF0BC040E050E065E070E0CC +:1027A0000E94AE158091E8008E778093E80008952E +:1027B000CF93DF93EC0190916405943009F046C00B +:1027C000809165038823D9F0809166038823B9F04E +:1027D0009093E9008FEF9091E800815095FD06C03D +:1027E00095E19A95F1F700008111F5CF8091E8000D +:1027F00085FF2CC040E050E060E170E017C081E050 +:102800008093E9008FEF9091E800815095FD06C01C +:1028100095ED9A95F1F700008111F5CF8091E800D0 +:1028200085FF14C040E050E068E070E0CE010E94F7 +:10283000AE158091E8008E778093E80080E1FE017C +:10284000ADECB4E001900D928A95E1F7DF91CF9164 +:10285000089580916305811109C00E9443170E9469 +:10286000A0178091E20084608093E20008951092A6 +:1028700063050895089508950C94E72542E061ECFE +:1028800081E00E94BD1642E061EC82E00E94BD162C +:1028900042E061EC83E00E94BD1642E161EC84E01D +:1028A0000C94BD1680916605833009F455C030F450 +:1028B000813071F0823009F48EC008958A3009F4B5 +:1028C0007AC08B3009F460C0893009F09CC020C008 +:1028D00080916505813A09F096C08091E800877F74 +:1028E0008093E8008091690590916A05892B21F415 +:1028F00060E18DEC94E003C060E080E090E070E087 +:102900000E94F9158091E8008B778093E800089584 +:1029100080916505813209F076C0809169059091BA +:102920006A05009719F0039709F06DC08091E800DF +:10293000877F8093E8008091E80082FD05C0809148 +:1029400064058111F8CF5FC08091F1008093DD04B0 +:102950008091E8008B7753C080916505813A09F03A +:1029600052C08091690590916A05892B09F04BC08E +:102970008091E800877F8093E8008091E80080FFE5 +:10298000FCCF8091650336C0809165058132D9F511 +:102990008091690590916A05892BA9F58091E800DD +:1029A000877F8093E8000E94F216809167058093EC +:1029B00065030C94281F80916505813221F5809173 +:1029C000E800877F8093E8000E94F21680916805F6 +:1029D0008093DE04089580916505813AA1F4809189 +:1029E000E800877F8093E8008091E80080FFFCCFBB +:1029F0008091DE048093F1008091E8008E778093CF +:102A0000E8000C94F216089584B7877F84BF88E1AC +:102A10000FB6F89480936000109260000FBE90E0B3 +:102A200080E80FB6F89480936100909361000FBE28 +:102A30000E94951A0E9443170E94A0178091E200FD +:102A400084608093E20078940E94261A0E94971A6C +:102A50008BE593E00E94411A80916405853069F40A +:102A60000E94A825809162058823B1F30E94D62593 +:102A7000882391F30E949815EFCF0E949F1AECCF04 +:102A8000292F332723303105C9F064F42130310573 +:102A900081F02230310509F043C08DE690E024E555 +:102AA00035E042C021323105F1F02232310541F1E9 +:102AB00037C082E190E021EC35E036C099278130C3 +:102AC000910541F08230910541F0892B49F5E0E50F +:102AD000F5E005C0E2E2F5E002C0E8EFF4E0849141 +:102AE00090E09F0121C06430D8F4E62FF0E0EE0FB3 +:102AF000FF1FE250FC4F2081318189E090E014C03B +:102B0000643070F470E0FB01EE0FFF1FEA50FC4FE1 +:102B100020813181FB01EE50FC4F808190E004C0A8 +:102B200080E090E020E030E0FA01318320830895D6 +:102B300080E189BD82E189BD09B400FEFDCF8091AD +:102B4000D8008F7D8093D8008091E00082608093D0 +:102B5000E0008091E00081FDFCCF0895CF92DF92EC +:102B6000EF92FF920F931F93CF93DF93EC018B01B2 +:102B70006A010E941117811133C0C114D10439F0C8 +:102B8000F60180819181081B190BC80FD91FE12C18 +:102B9000F12C0115110519F18091E80085FD16C091 +:102BA0008091E8008E778093E800C114D10449F049 +:102BB000F60180819181E80EF91EF182E08285E0C4 +:102BC0000FC00E941117882321F30AC089918093B6 +:102BD000F10001501109FFEFEF1AFF0ADACF80E090 +:102BE000DF91CF911F910F91FF90EF90DF90CF90E9 +:102BF000089520916B0530916C052617370748F032 +:102C00006115710539F42091E8002E772093E800D2 +:102C100001C0B90140E061157105A9F12091640579 +:102C2000222309F443C0253009F442C02091E80072 +:102C300023FD40C02091E80022FD32C02091E80031 +:102C400020FFE9CF4091F3002091F20030E0342BD7 +:102C5000FC01CF016115710559F02830310540F4B0 +:102C600081918093F100615071092F5F3F4FF1CF47 +:102C700041E02830310509F040E02091E8002E774E +:102C80002093E800C8CF4111C9CF0AC080916405E4 +:102C9000882361F0853061F08091E80083FD0AC0EF +:102CA0008091E80082FFF2CF80E0089582E00895ED +:102CB00083E0089581E0089520916B0530916C05C3 +:102CC0002617370748F06115710539F42091E8009F +:102CD0002E772093E80001C0B901FC0120E06115C6 +:102CE000710591F180916405882309F440C0853015 +:102CF00009F43FC08091E80083FD3DC08091E80069 +:102D000082FD2FC08091E80080FFE9CF2091F30081 +:102D10008091F20090E0922B6115710559F0883096 +:102D2000910540F424912093F1003196615071098E +:102D30000196F2CF21E0089709F020E08091E800A9 +:102D40008E778093E800CBCF2111CCCF0AC0809141 +:102D50006405882361F0853061F08091E80083FD8F +:102D60000AC08091E80082FFF2CF80E0089582E0FF +:102D7000089583E0089581E00895982F973058F5DD +:102D80009093E900981739F07091EC002091ED00D4 +:102D90005091F00003C0242F762F50E021FF19C07E +:102DA0003091EB003E7F3093EB003091ED003D7FA2 +:102DB0003093ED003091EB0031603093EB00709375 +:102DC000EC002093ED005093F0002091EE0027FFDF +:102DD00007C09F5FD3CF8F708093E90081E0089593 +:102DE00080E008958091650587FF11C08091E8001B +:102DF00082FD05C0809164058111F8CF11C08091DA +:102E0000E8008B770BC080916405882349F080919E +:102E1000E80080FFF8CF8091E8008E778093E8008B +:102E200008952091E4003091E50095E64091EC0092 +:102E3000842F817040FF22C08091E80080FD1CC07B +:102E400080916405882391F0853091F08091EB00AA +:102E500085FD10C04091E4005091E50042175307F2 +:102E600029F39A01915011F784E0089582E00895C2 +:102E700083E0089581E0089580E008954091E8009E +:102E800042FFDECF08950E94B1170E94B917E0EE0D +:102E9000F0E0808181608083E8EDF0E080818F77D1 +:102EA000808319BCA7EDB0E08C918E7F8C938081DC +:102EB0008F7E80831092630508950F931F93CF93A5 +:102EC000DF930E94B1170E94B917C8EDD0E0888146 +:102ED0008F77888388818068888388818F7D8883C5 +:102EE00019BC109264051092600510926205109250 +:102EF000610500EE10E0F80180818B7F808388817E +:102F00008160888342E060E080E00E94BD16E1EECF +:102F1000F0E080818E7F8083E2EEF0E0808181604E +:102F20008083808188608083F80180818E7F8083A8 +:102F3000888180618883DF91CF911F910F910895DF +:102F4000E8EDF0E080818F7E8083E7EDF0E0808126 +:102F50008160808384E082BF81E0809363050C946C +:102F60005D17E8EDF0E080818E7F80831092E200B3 +:102F700008951092DA001092E10008951F920F92C6 +:102F80000FB60F9211242F933F934F935F936F933C +:102F90007F938F939F93AF93BF93EF93FF93809112 +:102FA000E10082FF0BC08091E20082FF07C08091A8 +:102FB000E1008B7F8093E1000E94251A8091DA0066 +:102FC00080FF1FC08091D80080FF1BC08091DA0075 +:102FD0008E7F8093DA008091D90080FF0DC080E160 +:102FE00089BD82E189BD09B400FEFDCF81E08093F7 +:102FF00064050E94291405C019BC109264050E9442 +:1030000037148091E10080FF19C08091E20080FFB9 +:1030100015C08091E2008E7F8093E2008091E200F3 +:1030200080618093E2008091D80080628093D80014 +:1030300019BC85E0809364050E943B148091E100F7 +:1030400084FF30C08091E20084FF2CC080E189BD04 +:1030500082E189BD09B400FEFDCF8091D8008F7D4B +:103060008093D8008091E1008F7E8093E100809171 +:10307000E2008F7E8093E2008091E2008160809385 +:10308000E20080916005882311F084E007C0809100 +:10309000E30087FD02C081E001C083E08093640506 +:1030A0000E943C148091E10083FF29C08091E200DE +:1030B00083FF25C08091E100877F8093E10082E05B +:1030C00080936405109260058091E1008E7F80936B +:1030D000E1008091E2008E7F8093E2008091E20027 +:1030E00080618093E20042E060E080E00E94BD16D3 +:1030F0008091F00088608093F0000E943A14FF9164 +:10310000EF91BF91AF919F918F917F916F915F915F +:103110004F913F912F910F900FBE0F901F901895D8 +:103120001F920F920FB60F9211242F933F934F933C +:103130005F936F937F938F939F93AF93BF93CF933F +:10314000DF93EF93FF93C091E900CF708091EC0083 +:10315000D82FD17080FDD0E81092E9008091F00066 +:10316000877F8093F00078940E94D4181092E90031 +:103170008091F00088608093F000CD2BCF70C093D9 +:10318000E900FF91EF91DF91CF91BF91AF919F91B6 +:103190008F917F916F915F914F913F912F910F9000 +:1031A0000FBE0F901F9018951F93CF93DF93CDB74D +:1031B000DEB7AA970FB6F894DEBF0FBECDBFE5E627 +:1031C000F5E088E08E0F9091F10091938E13FBCF84 +:1031D0000E9452148091E80083FF1FC18091650511 +:1031E00090916605492F50E04A30510508F015C10D +:1031F000FA01E559FF4F0C944731803881F082384D +:1032000009F00BC1809169058F708093E90080916E +:10321000EB0085FB882780F91092E90006C08091B9 +:10322000610590916205911182609091E800977F0D +:103230009093E8008093F1001092F100C8C0282F0D +:103240002D7F09F0EAC0882319F0823061F0E5C0D3 +:1032500080916705813009F0E0C0933009F080E08B +:10326000809362052BC080916705811127C08091F2 +:1032700069058F7009F4D1C08093E9002091EB00BB +:1032800020FF1CC0933021F48091EB00806214C0B9 +:103290009091EB0090619093EB0021E030E0A90168 +:1032A00002C0440F551F8A95E2F74093EA0010923E +:1032B000EA008091EB0088608093EB001092E900B7 +:1032C0008091E800877F86C08111A7C010916705B3 +:1032D0001F778091E3008078812B8093E3008091B9 +:1032E000E800877F8093E8000E94F2168091E80052 +:1032F00080FFFCCF8091E30080688093E300111190 +:1033000002C082E001C083E08093640586C08058DB +:10331000823008F082C080916705909168058C3DED +:1033200053E0950779F583E08A838AE289834FB772 +:10333000F894DE01139620E03EE051E2E32FF0E046 +:1033400050935700E49120FF03C0E295EF703F5F78 +:10335000EF708E2F90E0EA3010F0C79601C0C09653 +:103360008D939D932F5F243149F74FBF8091E800E3 +:10337000877F8093E8006AE270E0CE0101960E94A8 +:10338000F91514C0AE014F5F5F4F609169050E944F +:103390004015BC01009709F440C09091E800977F68 +:1033A0009093E80089819A810E945C168091E800E0 +:1033B0008B778093E80031C0803879F58091E80000 +:1033C000877F8093E800809160058093F100809171 +:1033D000E8008E778093E8000E94F2161EC08111EB +:1033E0001CC0909167059230C0F48091E800877FFF +:1033F0008093E800909360050E94F216809160052A +:10340000811106C08091E30087FD02C081E001C008 +:1034100084E0809364050E943E148091E80083FF5D +:103420000AC08091E800877F8093E8008091EB00DC +:1034300080628093EB00AA960FB6F894DEBF0FBEB1 +:10344000CDBFDF91CF911F9108950895CF938091C3 +:1034500064058823A1F0C091E900CF709091EC0041 +:10346000892F817090FD80E8C82B1092E90080912F +:10347000E80083FD0E94D418CF70C093E900CF917B +:1034800008959093E4048093E3040895E091E304A5 +:10349000F091E404309721F00190F081E02D09943F +:1034A00080E00895E091E304F091E404309721F086 +:1034B0000280F381E02D09940895E091E304F091F6 +:1034C000E404309721F00480F581E02D09940895FB +:1034D0002091E1043091E2048217930771F09093F8 +:1034E000E2048093E104E091E304F091E404309776 +:1034F00021F00680F781E02D099408952091DF04E2 +:103500003091E0048217930771F09093E004809368 +:10351000DF04E091E304F091E404309721F00084AB +:10352000F185E02D0994089508950C94941A0E9451 +:103530001B260E94B30B0E94E5260C94B62C5F92CA +:103540006F927F928F929F92AF92BF92CF92DF92B3 +:10355000EF92FF920F931F93CF93DF9300D000D091 +:103560001F92CDB7DEB70E94F80B9EEEC92E94E0F5 +:10357000D92E03E010E0AA24A394B12C502E802F62 +:103580000E94730C4C01F601729062906F016826E4 +:10359000792661147104A1F40150110978F78FEFB5 +:1035A00089838A831B820E9424268160782F9D83D1 +:1035B0008C8349815A816B818D810E944F1B38C059 +:1035C0008091430581FD0E947C0C2BE030E0750169 +:1035D000022E02C0EE0CFF1C0A94E2F7C7018621FE +:1035E0009721892B09F129835A828E209F2091E00F +:1035F000892809F490E09B830E9424268160782F1B +:103600009D838C8349815A816B818D810E944F1BE0 +:10361000000F111FF801EA51FB4F80819181E826CC +:10362000F926F182E08204C02150310980F6B4CF3E +:103630000E94E8291091E5040E94461A1817D1F05B +:103640000E94461A8093E5040F900F900F900F9000 +:103650000F90DF91CF911F910F91FF90EF90DF902E +:10366000CF90BF90AF909F908F907F906F905F9022 +:103670000C949D0B0F900F900F900F900F90DF9177 +:10368000CF911F910F91FF90EF90DF90CF90BF905F +:10369000AF909F908F907F906F905F900895CF93A1 +:1036A000DF93CDB7DEB72B970FB6F894DEBF0FBE12 +:1036B000CDBF4F83588769877A878B87DE01119644 +:1036C00086E0FD0111928A95E9F785E0FE013796C3 +:1036D00001900D928A95E1F749815A816B817C8135 +:1036E0008D819E810E94C6212B960FB6F894DEBF75 +:1036F0000FBECDBFDF91CF910895CF93882309F4FA +:10370000C2C0C82F823859F40E94461A81FDBBC03E +:1037100089E30E94A0240E946D2589E30CC08338B0 +:1037200079F40E94461A80FDAEC083E50E94A02471 +:103730000E946D2583E50E94E224CF910C946D25B3 +:10374000843859F40E94461A82FD9DC087E40E9485 +:10375000A0240E946D2587E4EECF8CEF8C0F813A78 +:1037600048F48C2F0E941E2C81118DC08C2F0E943A +:10377000A024E3CF80E28C0F883048F4C77081E04A +:1037800001C0880FCA95EAF70E942625D6CF8BE59F +:103790008C0F833078F4C53A29F0C63A31F083E8CB +:1037A00090E005C081E890E002C082E890E0CF910F +:1037B0000C94681A88E58C0F833108F064C0C83A0D +:1037C00039F1C93A41F1CA3A49F1CB3A51F1CC3A0F +:1037D00059F1CD3A61F1C03B69F1CE3A71F1CF3A7E +:1037E00079F1C13B81F1C23B89F1C33B91F1C43B0B +:1037F00099F1C53BA1F1C63BA9F1C73BB1F1C83B6B +:10380000B9F1C93BC1F1CA3BC9F180E090E038C0D1 +:1038100082EE90E035C089EE90E032C08AEE90E012 +:103820002FC085EB90E02CC086EB90E029C087EBA1 +:1038300090E026C08CEC90E023C08DEC90E020C09E +:1038400083E891E01DC08AE891E01AC082E991E026 +:1038500017C084E991E014C081E292E011C083E2D4 +:1038600092E00EC084E292E00BC085E292E008C0D4 +:1038700086E292E005C087E292E002C08AE292E02E +:10388000CF910C947E1ACF910895882309F44BC0F0 +:10389000823859F40E94461A81FF45C089E30E948C +:1038A000A0240E946D2589E30CC0833871F40E9426 +:1038B000461A80FF38C083E50E94A0240E946D252F +:1038C00083E50E94E2240C946D25843859F40E940B +:1038D000461A82FF28C087E40E94A0240E946D251A +:1038E00087E4EFCF9CEF980F913A58F390E2980F4E +:1038F000983050F4877091E001C0990F8A95EAF7EB +:10390000892F0E942C25DFCF9BE5980F933020F460 +:1039100080E090E00C94681A885A833120F480E0AB +:1039200090E00C947E1A0895882321F00E942625A9 +:103930000C946D250895882321F00E942C250C9469 +:103940006D2508957F928F929F92AF92BF92CF92F2 +:10395000DF92EF92FF920F931F93CF93DF931F920B +:10396000CDB7DEB77C01C62E772EFC01058102950E +:103970000F70128111110E9443250E9499248823FF +:1039800079F0112369F080E28C0D883048F082E0F4 +:103990000E9482240E94992491E0D82ED92601C049 +:1039A000D12CE72DE295EF70F0E0EB58FF4F0C942F +:1039B0004731872D807F072D0F70882311F00295E6 +:1039C000007F112389F0002309F499C180E28C0D56 +:1039D000883020F4802F0E94262503C0802F0E946B +:1039E00036250E946D258BC18C2D0E94451C00231D +:1039F00009F4C3C180E28C0D883020F4802F0E942E +:103A00002C2503C0802F0E943C250E946D25B5C146 +:103A1000872D807F972D9F70803211F4892F03C0EE +:103A2000892F8295807FCC2021F0F1E0CF16A1F084 +:103A30001DC0112339F0002319F1013009F50E944E +:103A400056259BC1002319F0013009F496C18983E2 +:103A50000E945925898110C1112321F0063008F0F8 +:103A60008CC10EC0053008F088C106C1112359F081 +:103A7000002331F0F701958190FF41C19F7095833C +:103A80000E94941C7AC1002309F4F6C03EC1872D20 +:103A900086958695837090E0009719F0019761F004 +:103AA0006CC1112321F08C2D972D937002C080E002 +:103AB00090E00E94681A61C1112321F08C2D972D8E +:103AC000937002C080E090E00E947E1A56C18C2D57 +:103AD000112319F00E94F02802C00E9458290E9468 +:103AE000DD294BC1872D837009F052C0111145C1EA +:103AF0008C2D829586958770880F880F9C2D9F70DE +:103B0000892E912CA12CB12C082E04C0880C991C54 +:103B1000AA1CBB1C0A94D2F7C4FE14C00FE010E02C +:103B200020E030E0B901A80104C0440F551F661F12 +:103B3000771F8A95D2F7CB01BA0160957095809571 +:103B4000909503C060E070E0CB01272D2695269567 +:103B5000237030E02230310569F02330310589F0DF +:103B6000682979298A299B292130310571F00E9421 +:103B70000E2303C1682979298A299B290E942A23B7 +:103B8000FCC00E940E23C501B4010E94F222F5C0C0 +:103B9000112319F0872D817001C08695882309F4BF +:103BA000ECC08C2D829586958770880F880F9C2D90 +:103BB0009F70892E912CA12CB12C082E04C0880C4A +:103BC000991CAA1CBB1C0A94D2F7C4FE14C00FE0B7 +:103BD00010E020E030E0B901A80104C0440F551FF7 +:103BE000661F771F8A95D2F7CB01BA016095709551 +:103BF0008095909503C060E070E0CB01272D26955D +:103C000026952370422F50E04230510569F0433031 +:103C1000510589F0682979298A299B294130510564 +:103C200071F00E94E823A9C0682979298A299B2973 +:103C30000E940424A2C00E94E823C501B4010E948E +:103C4000CC239BC08C2D90E0FC01E05EF109E531B6 +:103C5000F10508F050C0EB57FF4F0C9447310C2D85 +:103C60000F70872D8F71112321F00E946523802F03 +:103C700007CF0E948623802F0E949B1C7EC01123A9 +:103C800041F0053008F079C0872D8F710E94AB2379 +:103C900074C0063008F071C0F7CF112339F0872DBA +:103CA0008F710E94652369C01123C9F3872D8F711D +:103CB0000E94862362C0112329F0872D8F710E94F4 +:103CC00050235BC00E94462358C0112351F0172D8A +:103CD0001F71812F0E94652363E0812F0E94792448 +:103CE0004CC081E00E948224023008F446C082E089 +:103CF0000E94822442C0112331F0002381F28C2DD6 +:103D00000E947D1B3AC0002389F28C2D0E94451C25 +:103D100034C0472D4F706C2DC7010E9465040E946E +:103D20006A222BC0111129C0472D4F7050E042303C +:103D30005105B9F04CF44115510581F04130510560 +:103D4000E1F40E94DE2C19C04330510569F0443083 +:103D5000510599F48C2D0E94302D0FC00E94C72C64 +:103D60000CC00E94FA2C09C00E940D2D06C0472DE0 +:103D70004F706C2DC7010E943E08DD20F9F00E94B3 +:103D8000752480FD1BC0F70112820E946F240E94DF +:103D90006523C7010E94ED1E0E946F240F90DF91E2 +:103DA000CF911F910F91FF90EF90DF90CF90BF9038 +:103DB000AF909F908F907F900C9486230F90DF910F +:103DC000CF911F910F91FF90EF90DF90CF90BF9018 +:103DD000AF909F908F907F9008950F931F93CF93F4 +:103DE000DF93EC01888199812B813C81232BB9F0F1 +:103DF0009F3F11F48F3F99F0CE010E943D0688232A +:103E000071F0688179818A810E946B248C010E9403 +:103E100020240E94E722B801CE010E94A21CDF915B +:103E2000CF911F910F9108950E9443250E94532521 +:103E30000E9418250E946D250E948E2A0E94DD296D +:103E400080E090E00E94681A80E090E00C947E1A76 +:103E50000E9433250C94141F0E946024292F229560 +:103E60002F7030E02C3031054CF42A3031056CF4E1 +:103E70002250310922303105A8F407C02C30310519 +:103E800069F02F30310551F00DC0803F69F018F412 +:103E9000803E40F409C0843F29F406C093FB882784 +:103EA00080F9089580E0089581E00895CF93DF932D +:103EB00000D000D01F92CDB7DEB70F900F900F90BB +:103EC0000F900F90DF91CF910895CF93DF9300D0A3 +:103ED00000D000D0CDB7DEB726960FB6F894DEBF7F +:103EE0000FBECDBFDF91CF9108951F93CF93DF9386 +:103EF000C091EE0416E08091EF04C81799F0D0E06D +:103F00001C9FF0011D9FF00D1124E051FB4F4081DB +:103F1000518162817381848195810E94651F219600 +:103F2000C770E9CFDF91CF911F910895409120058F +:103F300050912105609122057091230580912405FF +:103F4000909125050C94651F8091250582958F70B1 +:103F500009F054C080912205882309F44FC0809154 +:103F6000EE04A091EF04609120057091210540912D +:103F7000230550912405B6E08A1709F43FC090E06C +:103F800041155105C1F17F3F11F46F3FA1F1B89F79 +:103F9000F001B99FF00D1124E051FB4F2181721304 +:103FA0002AC02081621327C02281211124C02381CD +:103FB00034812417350710F421503109241B350BA7 +:103FC000283C3105C0F4209125052F7020612093F5 +:103FD000250526E0289FF001299FF00D1124EB50C4 +:103FE000FB4F80818F708061808380E295E00E942A +:103FF000ED1E0C94751F01968770BECF0895CF9269 +:10400000DF92EF92FF920F931F93CF93DF93CDB781 +:10401000DEB762970FB6F894DEBF0FBECDBF8C013E +:1040200085E0F801DE011D9601900D928A95E1F779 +:10403000D8014C9111965C91119712966C91129740 +:104040001396CD90DC901497309120057091210546 +:104050008091230590912405009709F46BC17F3F5F +:1040600019F43F3F09F466C1E0902205EE2009F4FF +:10407000C0C020912505C816D90628F0F601E81B16 +:10408000F90BCF0104C0809590958C0D9D1DFF24E8 +:10409000F394883C910578F0F12C207F09F0C6C09C +:1040A0007C2DD98AC88A89890E94561F80E295E0B2 +:1040B0000E94ED1EB1C0822F807F09F046C07513AB +:1040C00014C0341312C0611110C02F7020612093EE +:1040D00025050E94961F80E295E00E94ED1E8091CA +:1040E0002505D80115968C932EC0CD2819F15F3F78 +:1040F00011F44F3FF9F0F62E61111CC08091EE04CF +:104100002091EF0436E0821709F45AC090E0389FFE +:10411000F001399FF00D1124E051FB4F71815713CD +:1041200006C07081471303C07281711103C00196EC +:104130008770E9CFF62E662309F418C18091250512 +:10414000816080932505F12C11C1751308C03413CB +:1041500006C0611104C080912505D801C3C04D87F8 +:104160005E878D859E856A8B0E942C1F6A898823B5 +:10417000E1F16623D1F120912505822F82958F7080 +:1041800090E0029774F08091200590912105988726 +:104190008F831986DB86CA862C87CE0107960E94FC +:1041A000ED1E86E0F801A0E2B5E001900D928A953F +:1041B000E1F70E94A41F0E94961FFF24F394D6C02B +:1041C0004D875E878D859E850E946024292F2295CC +:1041D0002F7030E0223031050CF0BCC09F7009F028 +:1041E000B6C0805E883008F4C1C0C8010E94ED1ED0 +:1041F000E4CFC816D90608F453C0F601E81BF90B42 +:10420000CF01883C910508F450C0F12C7C2DD98A4F +:10421000C88A89890E94561FE0E2F5E086E0DF0146 +:104220001D928A95E9F70E94961FA0C0751314C0CD +:10423000341312C0611110C080912505F8018583E7 +:10424000C8010E94ED1E86E0E0E2F5E0DF011D926C +:104250008A95E9F7FE2C8AC04D875E878D859E85FD +:104260006A8B0E942C1F6A89882309F4BECF6623BB +:1042700009F4BBCF20912505822F82958F7090E0A5 +:1042800002970CF48ECF80912005909121059A839E +:1042900089831B82DD82CC822E83CE0101967FCF63 +:1042A000809590958C0D9D1DACCFF62E662309F45C +:1042B0009CCF75132EC034132CC02091250520FDF2 +:1042C0001FC0822F82958F70D9F0D80115962C933C +:1042D00015978F3049F08F5F982F9295907F822F9E +:1042E0008F70892B15968C93C8010E94ED1E86E075 +:1042F000F801A0E2B5E001900D928A95E1F793CF25 +:1043000086E0F801A0E2B5E001900D928A95E1F710 +:104310002DC04D875E878D859E850E942C1F811143 +:1043200040CF80912505816080932505C8010E94BA +:10433000ED1E1CC0662309F458CF4D875E878D851E +:104340009E850E942C1F882309F44FCF2ACF81110C +:1043500048CF0CC0243031050CF047CF9F7009F4D2 +:1043600040CFF8019581907F09F03BCF8F2D629669 +:104370000FB6F894DEBF0FBECDBFDF91CF911F9176 +:104380000F91FF90EF90DF90CF9008951F93CF9300 +:10439000DF93CDB7DEB72C970FB6F894DEBF0FBE14 +:1043A000CDBF4F83588769877A878B879C87CE01DB +:1043B00007960E94FF1F882369F08F8198852A85C0 +:1043C0003B85232BF1F19F3F09F063C08F3F09F03C +:1043D00060C037C086E0FE013796DE01119601907D +:1043E0000D928A95E1F76F817885EA85FB85309794 +:1043F00041F17F3F11F46F3F21F12091EF0430E054 +:10440000C9010196877099274091EE0450E0841706 +:10441000950709F447C069837A83FD83EC8396E0AE +:10442000929FD001939FB00D1124A051BB4FFE016C +:10443000319601900D929A95E1F78093EF040E94D6 +:10444000751F16E08091EE049091EF048917C1F179 +:10445000189FC001112480519B4F0E94FF1F882389 +:1044600079F1E091EE041E9FF0011124E051FB4F21 +:104470004081518162817381848195810E94651F91 +:104480008091EE0490E00196877099278093EE0466 +:10449000D9CF4F81588569857A858B859C850E9407 +:1044A000651FCFCF0E94281F1092EF041092EE04D8 +:1044B000E0E2F5E086E0DF011D928A95E9F7C1CFE1 +:1044C0002C960FB6F894DEBF0FBECDBFDF91CF9113 +:1044D0001F910895EF92FF920F931F93CF93DF9355 +:1044E0008C01009709F46CC0F12CEE24E394E801F0 +:1044F0002196F8018491843740F4843008F051C04B +:10450000813081F0823019F15BC0853709F444C0F5 +:10451000A8F19CE7980F903708F052C08F770E945F +:10452000451C41C00E5F1F4FFE01C49180E28C0FFD +:10453000883048F4C7708E2D01C0880FCA95EAF7FD +:104540000E94462514C08C2F0E947D1B2DC00E5F3B +:104550001F4FFE01C49180E28C0F883058F4C77061 +:104560008E2D01C0880FCA95EAF70E944C250E9443 +:104570006D251AC08C2F0E94451C16C00E5F1F4F60 +:10458000FE01C491CC2381F08FE99FE00197F1F700 +:1045900000C00000C150F6CF0E5F1F4FFE01F49027 +:1045A00003C00E947D1B8E018F2D882309F49FCFAD +:1045B000EFE9FFE03197F1F700C000008150F5CF3F +:1045C000DF91CF911F910F91FF90EF900895089583 +:1045D00060932A0570932B0580932C0590932D05ED +:1045E0000C94141F0F931F9300912A0510912B0513 +:1045F00020912C0530912D05DC01CB01802B912BD6 +:10460000A22BB32B80932A0590932B05A0932C0506 +:10461000B0932D051F910F910C94141F0F931F93AE +:1046200000912A0510912B0520912C0530912D0524 +:10463000DC01CB0180239123A223B32380932A059D +:1046400090932B05A0932C05B0932D051F910F91EE +:104650000C94141F0F931F9300912A0510912B05A2 +:1046600020912C0530912D05DC01CB01802791276D +:10467000A227B32780932A0590932B05A0932C059E +:10468000B0932D051F910F910C94141F10922605C5 +:104690001092270510922805109229050C94141FDA +:1046A00041E050E060E070E004C0440F551F661F19 +:1046B000771F8A95D2F7409326055093270560937C +:1046C0002805709329050C94141F41E050E060E028 +:1046D00070E004C0440F551F661F771F8A95D2F7FC +:1046E0008091260590912705A0912805B091290574 +:1046F000482B592B6A2B7B2B40932605509327057B +:1047000060932805709329050C94141F41E050E034 +:1047100060E070E004C0440F551F661F771F8A9544 +:10472000D2F74095509560957095809126059091AF +:104730002705A0912805B0912905482359236A230C +:104740007B2340932605509327056093280570939B +:1047500029050C94141F41E050E060E070E004C0B3 +:10476000440F551F661F771F8A95D2F78091260543 +:1047700090912705A0912805B09129054827592730 +:104780006A277B27409326055093270560932805C9 +:10479000709329050C94141F0F931F930091260505 +:1047A000109127052091280530912905DC01CB01C6 +:1047B000802B912BA22BB32B80932605909327055A +:1047C000A0932805B09329051F910F910C94141FF5 +:1047D0000F931F930091260510912705209128051E +:1047E00030912905DC01CB0180239123A223B3233F +:1047F0008093260590932705A0932805B09329055B +:104800001F910F910C94141F0F931F930091260575 +:10481000109127052091280530912905DC01CB0155 +:1048200080279127A227B3278093260590932705F9 +:10483000A0932805B09329051F910F910C94141F84 +:104840000895CF92DF92EF92FF920F931F93CF9331 +:10485000DF938C01C0902A05D0902B05E0902C05A9 +:10486000F0902D058091260590912705A0912805AF +:10487000B0912905C82AD92AEA2AFB2ACFE1D0E03B +:10488000D701C6010C2E04C0B695A79597958795BC +:104890000A94D2F780FF06C0B8018C2F0E94C30A89 +:1048A000019721F4219760F780E001C08C2FDF9100 +:1048B000CF911F910F91FF90EF90DF90CF900895CF +:1048C000CF93DF93EC010E942124BE010E94C30A12 +:1048D000DF91CF910895CB010E94602408958091CB +:1048E0002E05859585958595089580912E0587706F +:1048F000089598E0899F90011124262B20932E057E +:104900000C94652320912E058095822380932E059B +:10491000982F977069F430E0482F552747FD509540 +:104920002417350729F08595859585950C94862360 +:10493000089590912E05977081E009F480E0089524 +:1049400090916503992321F090916603911109C01C +:104950002091670330916803F90132969FEF40E0A0 +:104960001FC0982F9695969596959F3050F5E0919B +:104970006703F0916803E90FF11D877021E030E0D3 +:10498000A90102C0440F551F8A95E2F7CA0191811F +:10499000892B818308959F3F39F04F5F4E3041F05E +:1049A00051915813F8CF0DC05111F7CF942FF5CF77 +:1049B0009F3F39F0F901E90FF11D97FDFA958283C8 +:1049C0000895089590916503992321F090916603CD +:1049D000911109C02091670330916803F901329663 +:1049E000205F3F4F1FC0982F9695969596959F30C4 +:1049F000F0F4E0916703F0916803E90FF11D87700F +:104A000021E030E0A90102C0440F551F8A95E2F76A +:104A1000CA01809591818923818308953196E21797 +:104A2000F30729F090819813F9CF1082F7CF0895FA +:104A300081E090E0E0916703F0916803E80FF91FCF +:104A40001082019680319105A9F708959091420551 +:104A5000892B809342050895809590914205892382 +:104A60008093420508951092420508959091410562 +:104A7000892B809341050895809590914105892364 +:104A80008093410508951092410508959091400545 +:104A9000892B809340050895809590914005892346 +:104AA00080934005089510924005089580932F0546 +:104AB000089510922F0508958091670390916803DF +:104AC000FC0131969C01205F3F4F80E09191911154 +:104AD0008F5FE217F307D1F70895E0916703F09134 +:104AE0006803809142058083E0916703F091680339 +:104AF000908180914105892B8083E0916703F0913B +:104B00006803908180914005892B808380912F05D7 +:104B1000882361F0E0916703F09168039081892B0D +:104B200080830E945C25811110922F05809167037C +:104B3000909168030C94521A20E0009739F0AC0170 +:104B400041505109842395232F5FF7CF822F089579 +:104B500080916405843039F11092440520E488E1A5 +:104B600090E00FB6F894A895809360000FBE209354 +:104B7000600080E00E94C00380E00E949D0B83B72C +:104B8000817F846083BF83B7816083BF7894889579 +:104B900083B78E7F83BF88E10FB6F894809360005F +:104BA000109260000FBE08950895089580E00E945D +:104BB000C0030E94D4250E94F80B0E94D5250E94B4 +:104BC0007D0C91E0811101C090E0892F08950E9431 +:104BD000281F80E00E94C0030E94B62C0E94461A43 +:104BE0000C949D0B1F920F920FB60F9211248F936E +:104BF0009F93AF93BF9380914405811113C080911F +:104C0000450590914605A0914705B091480541960C +:104C1000A11DB11D8093450590934605A0934705BE +:104C2000B0934805BF91AF919F918F910F900FBEA8 +:104C30000F901F90189582E084BD93E095BD9AEF88 +:104C400097BD80936E0008952FB7F8948091450525 +:104C500090914605A0914705B09148052FBF089552 +:104C6000CF92DF92EF92FF920F931F932FB7F8949A +:104C70004091450550914605609147057091480562 +:104C80002FBF6A017B01EE24FF248C0120E030E07D +:104C9000C016D106E206F30610F4415051099A01FC +:104CA000281B390BC9011F910F91FF90EF90DF90E6 +:104CB000CF9008951F920F920FB60F9211248F93E9 +:104CC0009F93AF93BF938091450590914605A09126 +:104CD0004705B09148050196A11DB11D809345057A +:104CE00090934605A0934705B0934805BF91AF91B7 +:104CF0009F918F910F900FBE0F901F9018950E945B +:104D00004317F8942FEF87EA91E6215080409040B6 +:104D1000E1F700C0000087E090EBDC0180936F05B5 +:104D200090937005A0937105B09372059CE088E1A3 +:104D30000FB6F894A895809360000FBE9093600022 +:104D4000FFCFCF92DF92EF92FF920F931F93CF93FB +:104D5000DF93D82FC3E0EE24E394F12C8C2F0E9434 +:104D6000730C6C010BE010E09701002E02C0220FC3 +:104D7000331F0A94E2F72C213D21232B49F0602FA9 +:104D80007C2F80E00E943F08D81302C081E006C05B +:104D90000150110948F7C15008F780E0DF91CF9129 +:104DA0001F910F91FF90EF90DF90CF900895CF93D8 +:104DB000C82F8CE20E94A126882321F08C2FCF914E +:104DC0000C94A12680E0CF910895CF930E943628BD +:104DD000811102C00E941228C5E6C15049F00E940C +:104DE000F80B8FE39CE90197F1F700C00000F5CFC5 +:104DF00089E20E94D726811113C18AE20E94D72638 +:104E000081110E94122885E00E94D72681110E94FC +:104E10007F260E9441288093430587E00E94D72681 +:104E20008823A9F18BE10E94D726882351F0809135 +:104E3000430581FB222720F991E0922790FB81F91D +:104E40000EC08EE00E94D726882361F08091430532 +:104E500082FB222720F991E0922790FB82F9809330 +:104E6000430515C080E10E94D72690914305882311 +:104E700041F093FB222720F981E0822780FB93F900 +:104E800004C0892F809580FB90F990934305809111 +:104E900043050E9445280E94532880936D0580EEAB +:104EA0000E94D726882341F080916D05982F909518 +:104EB00090FB80F980936D0589E30E94D7268823B3 +:104EC00059F080916D0581FB222720F991E092270E +:104ED00090FB81F980936D0582EE0E94D72688238E +:104EE00059F080916D0582FB222720F991E09227ED +:104EF00090FB82F980936D0586EE0E94D726882369 +:104F000059F080916D0583FB222720F991E09227CB +:104F100090FB83F980936D0583EE0E94D72688234A +:104F200059F080916D0584FB222720F991E09227AA +:104F300090FB84F980936D0585E30E94D726882332 +:104F400059F080916D0585FB222720F991E0922789 +:104F500090FB85F980936D0581E30E94D726882315 +:104F600059F080916D0586FB222720F991E0922768 +:104F700090FB86F980936D0581E10E94D7268823F6 +:104F800059F080916D0587FB222720F991E0922747 +:104F900090FB87F980936D0580916D050E945728DD +:104FA00080916D0587FB882780F98093660387E2EF +:104FB0000E94D726C82F8EE10E94D7268111C26099 +:104FC0008FE10E94D7268111C46080E20E94D7261B +:104FD0008111C86081E20E94D7268111C06182E2FE +:104FE0000E94D7268111C06283E20E94D7268111D8 +:104FF000C06484E20E94D726882311F0C06802C0F2 +:10500000CC2329F08C2F0E944E286C2F03C00E94C5 +:105010004A28682F70E080E090E0CF910C94E8225D +:10502000CF9108956DEE7EEF80E090E00E946D31AB +:1050300060E082E090E00E945B3160E083E090E01D +:105040000E945B3160E084E090E00E945B3160E0B0 +:1050500085E090E00E945B3160E086E090E00E9495 +:105060005B316FEF87E090E00C945B3180E090E083 +:105070000E94553121E08D3E9E4F09F020E0822FA5 +:10508000089582E090E00C944D31682F82E090E02A +:105090000C945B3183E090E00C944D31682F83E0F9 +:1050A00090E00C945B3184E090E00C944D31682FDB +:1050B00084E090E00C945B3186E090E00C944D31FC +:1050C000682F86E090E00C945B3187E090E00C94D0 +:1050D0004D31682F87E090E00C945B3180914B0557 +:1050E00080FF0BC060916C0385E0689FB0011124C4 +:1050F00075956795759567952BC081FF09C060917F +:105100006C0385E0689FB00111247595679520C0F8 +:1051100082FF07C060916C0385E0689FB001112495 +:1051200017C090914C059923D1F060916B039617AD +:1051300088F720916C0385E0289F90011124929FAD +:10514000A001939F500D112470E0CA010E943331D9 +:105150006038710540F46115710539F002C065E0F1 +:1051600070E0862F08958FE7089581E0089580917B +:105170004B0580FF08C060916A0370E075956795E4 +:105180007595679521C081FF06C060916A0370E044 +:105190007595679519C082FF04C060916A0370E03D +:1051A00010C090914C059923C1F060916903961746 +:1051B000A0F780916A03899FC001112470E00E94CA +:1051C00033316038710528F46115710521F0862F9F +:1051D00008958FE7089581E0089561E070E0F4CFCD +:1051E000803F21F40E946E28819504C0813F29F4FC +:1051F0000E946E2880934F050895823F21F40E94FB +:105200006E28819504C0833F29F40E946E28809304 +:105210004E050895893F19F40E94B72805C08A3FBA +:1052200031F40E94B72881958093500508958B3FF3 +:1052300021F40E94B728819504C08C3F29F40E9474 +:10524000B728809351050895843F21F480914D053E +:10525000816017C0853F21F480914D05826011C0A7 +:10526000863F21F480914D0584600BC0873F21F477 +:1052700080914D05886005C0883F31F480914D05CF +:10528000806180934D0508958D3F21F480914B05F9 +:1052900081600BC08E3F21F480914B05826005C078 +:1052A0008F3F29F480914B05846080934B050895CE +:1052B000803F39F480914F0587FF6CC010924F05F5 +:1052C00069C0813F29F480914F051816BCF362C074 +:1052D00090914E05823F29F497FF5CC010924E05D5 +:1052E00059C0833F19F41916CCF354C0893F41F4D7 +:1052F0008091500518160CF04DC0109250054AC010 +:105300008A3F29F48091500587FF44C0F6CF8B3F38 +:1053100039F48091510587FF3DC0109251053AC084 +:105320008C3F29F4809151051816BCF333C0843F9B +:1053300021F480914D058E7F17C0853F21F4809127 +:105340004D058D7F11C0863F21F480914D058B7FE7 +:105350000BC0873F21F480914D05877F05C0883FB2 +:1053600031F480914D058F7E80934D0513C08D3FA4 +:1053700021F480914B058E7F0BC08E3F21F48091EC +:105380004B058D7F05C08F3F29F480914B058B7FA6 +:1053900080934B0580914E0581110EC080914F0581 +:1053A00081110AC080915005811106C0809151057C +:1053B000811102C010924C0508958DE495E00E9481 +:1053C0005D1A0E94242690934A058093490508950A +:1053D0001F93CF93DF938091490590914A050E94D6 +:1053E0003026AC0190914C05992321F020916D035A +:1053F00030E006C020916E038AE0289F90011124BE +:105400004217530708F486C080914E05C0914F059E +:10541000D091500510915105811107C0C11176C07E +:10542000D11174C0111172C075C09F3F19F09F5FF8 +:1054300090934C05181624F40E946E2880934E0514 +:1054400080914E0587FF05C00E946E28819580934C +:105450004E051C1624F40E946E2880934F058091FF +:105460004F0587FF05C00E946E28819580934F05E8 +:1054700060914E05662339F1C0914F05CC2319F197 +:10548000772767FD7095872F972F0E94552E23E36E +:1054900033E343E35FE30E94652F0E94222E609373 +:1054A0004E056C2F772767FD7095872F972F0E94E9 +:1054B000552E23E333E343E35FE30E94652F0E940D +:1054C000222E60934F051D1624F40E94B728809366 +:1054D00050058091500587FF05C00E94B72881952F +:1054E00080935005111624F40E94B728809351052B +:1054F0008091510587FF05C00E94B7288195809350 +:105500005105DF91CF911F910C94DD299F3F09F048 +:105510008ECF96CFDF91CF911F910895EDE4F5E006 +:1055200085E0DF011D928A95E9F710924C051092F3 +:105530004B050895833081F128F4813059F0823091 +:10554000D1F00895853009F449C0B8F1863009F4E6 +:1055500056C0089580916E03262F30E0280F311D2C +:105560002F3F310524F4680F60936E0308958FEF89 +:1055700080936E03089580916D03262F30E0280FED +:10558000311D2F3F310524F4680F60936D0308959A +:105590008FEF80936D03089580916C03262F30E088 +:1055A000280F311D2F3F310524F4680F60936C03E1 +:1055B00008958FEF80936C03089580916B03262FDD +:1055C00030E0280F311D2F3F310524F4680F609320 +:1055D0006B0308958FEF80936B03089580916A03A6 +:1055E000262F30E0280F311D2F3F310524F4680F9E +:1055F00060936A0308958FEF80936A030895809102 +:105600006903262F30E0280F311D2F3F310524F488 +:10561000680F6093690308958FEF8093690308957D +:10562000833011F128F4813049F0823091F00895EF +:10563000853081F120F18630C1F1089580916E03AB +:10564000681720F4861B80936E03089510926E03F2 +:10565000089580916D03681720F4861B80936D0375 +:10566000089510926D03089580916C03681720F4DB +:10567000861B80936C03089510926C0308958091AB +:105680006B03681720F4861B80936B0308951092B8 +:105690006B03089580916A03681720F4861B80933A +:1056A0006A03089510926A03089580916903681748 +:1056B00020F4861B8093690308951092690308956E +:1056C0000F931F938B3109F470C0A0F58E3009F44D +:1056D0007FC0C0F4873009F456C068F4863009F002 +:1056E000A5C080914305817F8E7F8093430581E033 +:1056F000809353059CC0883009F491C08B3009F425 +:105700008EC094C0813109F46DC068F4803109F015 +:105710008DC08091430583FB222720F991E09227D9 +:1057200090FB83F94BC0863109F479C0893109F4C3 +:1057300076C07CC0853309F474C068F4873209F4FC +:1057400070C028F48E3108F471C08D5155C0893273 +:1057500009F467C06BC0833438F48A3308F04BC057 +:10576000883309F45CC062C0833409F45AC08834B9 +:1057700009F05CC00E94281F0E94AD0C0E94940595 +:105780000E947F264CC090914305892F809581709F +:1057900080FB90F929F0966098609093430547C08C +:1057A000997F977F909343053AC08091430581FB91 +:1057B000222720F991E0922790FB81F980934305FD +:1057C000992369F18091430581608093430527C047 +:1057D0008091430582FB222720F991E0922790FBDC +:1057E00082F9ECCF0E94281F9091660381E08927FF +:1057F0008093660314C0895341E050E060E070E09C +:105800008A019B0104C0000F111F221F331F8A95BC +:10581000D2F7C901B8010E94E8220E94281F81E046 +:1058200006C061E070E080E090E0F5CF80E01F917D +:105830000F91089580E0089580E00895CF93C82FD8 +:1058400080915305813069F018F08230C9F184C02D +:10585000E0916703F09168038081823209F07EC095 +:1058600007C0E0916703F09168038081823261F4A0 +:105870008C2F0E941A2C811104C08C2F0E94602B47 +:105880001DC081E090E01AC08C2F0E941C2C811159 +:1058900014C0C43179F048F4CB3079F0C03109F04C +:1058A00061C082E08093530508C0C93219F0C83343 +:1058B00021F058C01092530555C081E0817054C04A +:1058C000C93291F120F5C43179F1B0F4C73009F053 +:1058D00047C08EE180936E0382E380936D038AE07C +:1058E00080936C0384E180936B0388E080936A0368 +:1058F00088E28093690334C0CE51C63088F5EC2F1E +:10590000F0E0EA5FFB4F80818093520529C0CE34DE +:10591000E9F020F4CB3421F56AE013C0C13579F009 +:10592000C235F1F461E00DC080915205882319F071 +:105930001092520515C081E08093530515C061E0B7 +:1059400006C0809152050E949A2A0AC06AE080919E +:1059500052050E94102B04C01092530580E004C031 +:1059600081E002C080E0AACFCF9108950E9436283E +:10597000811102C00E9412280E945C2880936E054B +:1059800080FF02C0869501C080E00C94C003809126 +:105990006E05982F9695292F30E0233031054CF471 +:1059A0009F5F990F8170892B816080936E050E94A3 +:1059B000602880916E0586950C94C00380916E05D9 +:1059C000982F969591F09158990F8170892B80931B +:1059D0006E058E7F91E009F490E080916E0590FB5A +:1059E00080F980936E050E94602880916E058695EF +:1059F0000C94C00380916E05982F909590FB80F9D0 +:105A000080936E050E94602880916E0580FF02C021 +:105A1000869501C080E00C94C00390916E05892F9B +:105A200086958F5F8F779170843028F4880F892B4B +:105A300080936E0502C090936E0580916E058E7FF7 +:105A400091E009F490E080916E0590FB80F98093DD +:105A50006E050E94602880916E0586950C94C003A7 +:105A600020916E05922F96958927982F990F822F56 +:105A70008170892B80936E058E7F91E009F490E010 +:105A800080916E0590FB80F980936E050E946028DE +:105A900080916E0586950C94C00380916E05869565 +:105AA00008955058BB27AA270ED0D1C1C2D130F0DB +:105AB000C7D120F031F49F3F11F41EF4B7C10EF4AA +:105AC000E095E7FB9FC1E92FD3D180F3BA176207B6 +:105AD00073078407950718F071F49EF5EBC10EF477 +:105AE000E0950B2EBA2FA02D0B01B90190010C01EE +:105AF000CA01A0011124FF27591B99F0593F50F406 +:105B0000503E68F11A16F040A22F232F342F44275D +:105B1000585FF3CF469537952795A795F040539555 +:105B2000C9F77EF41F16BA0B620B730B840BBAF025 +:105B30009150A1F0FF0FBB1F661F771F881FC2F790 +:105B40000EC0BA0F621F731F841F48F487957795A4 +:105B50006795B795F7959E3F08F0B3CF9395880F5B +:105B600008F09927EE0F97958795089527D108F4A7 +:105B700081E008950CD06BC163D140F05AD130F070 +:105B800021F45F3F19F03EC1511195C14FC170D151 +:105B900098F39923C9F35523B1F3951B550BBB27F4 +:105BA000AA2762177307840738F09F5F5F4F220FA1 +:105BB000331F441FAA1FA9F333D00E2E3AF0E0E89A +:105BC00030D091505040E695001CCAF729D0FE2FE6 +:105BD00027D0660F771F881FBB1F26173707480778 +:105BE000AB07B0E809F0BB0B802DBF01FF2793582E +:105BF0005F4F2AF09E3F510568F004C15CC15F3FD2 +:105C0000ECF3983EDCF3869577956795B795F79515 +:105C10009F5FC9F7880F911D9695879597F908950D +:105C2000E1E0660F771F881FBB1F621773078407A9 +:105C3000BA0720F0621B730B840BBA0BEE1F88F7B8 +:105C4000E095089504D06894B11135C1089518D134 +:105C500088F09F5790F0B92F9927B751A0F0D1F055 +:105C6000660F771F881F991F1AF0BA95C9F712C0DF +:105C7000B13081F01FD1B1E008951CC1672F782F9A +:105C80008827B85F39F0B93FCCF38695779567954B +:105C9000B395D9F73EF490958095709561957F4FB7 +:105CA0008F4F9F4F0895E89409C097FB3EF490955D +:105CB0008095709561957F4F8F4F9F4F9923A9F0E5 +:105CC000F92F96E9BB279395F69587957795679574 +:105CD000B795F111F8CFFAF4BB0F11F460FF1BC0B8 +:105CE0006F5F7F4F8F4F9F4F16C0882311F096E94B +:105CF00011C0772321F09EE8872F762F05C06623F9 +:105D000071F096E8862F70E060E02AF09A95660FB1 +:105D1000771F881FDAF7880F9695879597F908956A +:105D200088D018F011F08CD038F480C0C4C0E92FAE +:105D30009FD0B0F35523C9F3E7FB621773078407BD +:105D40009507A8F199F3E92FFF2788232AF03197C7 +:105D5000660F771F881FDAF7952F5527442332F0F7 +:105D600091505040220F331F441FD2F7BB27E91B2D +:105D7000F50B621B730B840BB109C1F222F4620FA5 +:105D8000731F841FB11D31972AF0660F771F881F7C +:105D9000BB1FEFCF915050405AF041F0882332F0B2 +:105DA000660F771F881F91505040C1F7939530C000 +:105DB0008695779567959F5FD9F7F8CF990F00087B +:105DC000550FAA0BE0E8FEEF16161706E807F907CD +:105DD000C0F012161306E407F50798F0621B730B68 +:105DE000840B950B39F40A2661F0232B242B252BE9 +:105DF00021F408950A2609F4A140A6958FEF811D8C +:105E0000811D089597F99F6780E870E060E008952C +:105E10009F3F31F0915020F4879577956795B7951E +:105E2000880F911D9695879597F908959FEF80ECBF +:105E3000089500240A9416161706180609060895F0 +:105E400000240A9412161306140605060895092E56 +:105E50000394000C11F4882352F0BB0F40F4BF2BC5 +:105E600011F460FF04C06F5F7F4F8F4F9F4F089505 +:105E700057FD9058440F551F59F05F3F71F04795FB +:105E8000880F97FB991F61F09F3F79F087950895E0 +:105E9000121613061406551FF2CF4695F1DF08C0FF +:105EA000161617061806991FF1CF8695710561051C +:105EB00008940895E894BB2766277727CB0197F9C4 +:105EC00008957CDF08F48FEF08950BD0C0CFB1DFC9 +:105ED00028F0B6DF18F0952309F094CFA7CF11244E +:105EE000EACFC6DFA0F3959FD1F3950F50E0551F81 +:105EF000629FF001729FBB27F00DB11D639FAA271F +:105F0000F00DB11DAA1F649F6627B00DA11D661F6D +:105F1000829F2227B00DA11D621F739FB00DA11D8E +:105F2000621F839FA00D611D221F749F3327A00D48 +:105F3000611D231F849F600D211D822F762F6A2FE4 +:105F400011249F5750408AF0E1F088234AF0EE0F69 +:105F5000FF1FBB1F661F771F881F91505040A9F776 +:105F60009E3F510570F04ECFA6CF5F3FECF3983EB9 +:105F7000DCF3869577956795B795F795E7959F5FDD +:105F8000C1F7FE2B880F911D9695879597F9089577 +:105F9000FA01EE0FFF1F30962105310599F16115C9 +:105FA000710561F48038BFE39B0749F1689490382C +:105FB000810561F08038BFEF9B0741F0992342F5DE +:105FC000FF3FE1053105210511F1E8940894E795BB +:105FD000D901AA2329F4AB2FBE2FF85FD0F310C04C +:105FE000FF5F70F4A695E0F7F73950F019F0FF3A2B +:105FF00038F49F779F930CD00F9007FC905808952A +:106000003EF014CF60E070E080E89FE308954FE732 +:106010009F775F934F933F932F939ED02F913F9104 +:106020004F915F9152DF05C019F40EF0EBCE42CFD5 +:10603000FDCE26DFC8F39638C0F707F80F92E89434 +:106040002BE33AEA48EB5FE74EDF0F920F920F9295 +:106050004DB75EB70F92C0D0E4E3F1E016D04F9198 +:106060005F91EF91FF91E595EE1FFF1F49F0FE57FD +:10607000E0684427EE0F441FFA95E1F74195550B70 +:1060800032D00F9007FE26C00895DF93CF931F9361 +:106090000F93FF92EF92DF927B018C01689405C011 +:1060A000DA2EEF011EDFFE01E894A59125913591CE +:1060B00045915591AEF3EF0106DDFE019701A80170 +:1060C000DA9479F7DF90EF90FF900F911F91CF91C5 +:1060D000DF9108959B01AC0160E070E080E89FE3F0 +:1060E00049CD90CE95CECCDEE8F39923D9F3940F29 +:1060F000511DBBF39150504094F059F0882332F079 +:10610000660F771F881F91505040C1F79E3F510581 +:1061100044F7880F911D9695879597F908955F3FED +:10612000ACF0983E9CF0BB27869577956795B79520 +:1061300008F4B1609395C1F7BB0F58F711F460FFF5 +:10614000E8CF6F5F7F4F8F4F9F4FE3CFB4CE0EF0FE +:106150005FCE6CCE689456CE93DEC8F39923D1F30C +:10616000C6F3DF93CF931F930F93FF92C92FDD27C1 +:1061700088232AF02197660F771F881FDAF720E01F +:1061800030E040E85FEB9FE3883920F0803E30F05C +:1061900021968F7787DCECE5F1E003C083DCE9E84A +:1061A000F1E073DF8B01BE01EC01FB2E6F5771092B +:1061B0007595771F880B990B78DD28E132E741E36D +:1061C0005FE38FDEAF2D9801AE01FF900F911F911D +:1061D000CF91DF9178DC3BCEFA01DC01AA0FBB1F27 +:1061E0009B01AC01BF5728F422273327442750785E +:1061F0001FC0B75188F4AB2F0024469537952795DB +:10620000011CA395D2F3002069F0220F331F441F15 +:10621000B395DAF30DD045CC61307105A0E88A075B +:10622000B94630F49B01AC01662777278827907820 +:10623000309621F020833183428353830895AA1B33 +:10624000BB1B51E107C0AA1FBB1FA617B70710F061 +:10625000A61BB70B881F991F5A95A9F78095909593 +:10626000BC01CD01089597FB072E16F4009407D0CA +:1062700077FD09D00E941F3107FC05D03EF49095B0 +:1062800081959F4F0895709561957F4F0895EE0F0A +:10629000FF1F0590F491E02D0994F999FECF92BD6E +:1062A00081BDF89A992780B50895A8E1B0E042E051 +:1062B00050E00C947531262FF999FECF92BD81BD27 +:1062C000F89A019700B4021639F01FBA20BD0FB634 +:1062D000F894FA9AF99A0FBE08950196272F0E9412 +:1062E0005C310C945B31DC01CB01FC01F999FECFF0 +:1062F00006C0F2BDE1BDF89A319600B40D9241504E +:0A6300005040B8F70895F894FFCF5D +:10630A0000005C440000004148F17644000000416E +:10631A005C978A44000000411FD592440000004166 +:10632A0052D0A444000000415CFFB8440000004180 +:10633A000AA7CF44000000410000DC4400000041ED +:10634A00A4D0A443000000417BD492430000004142 +:10635A007BD4924300000041A4D0A4430000004132 +:10636A00A4D02444000000411FD51244000000417B +:10637A001FD5124400000041A4D02444000000416B +:10638A00A4F076430000004100005C430000004195 +:10639A0000005C4300000041A4F076430000004185 +:1063AA00A4D082430000C0417BD492430000004144 +:1063BA00A4D0A4430000C041A4D0824300000041FD +:1063CA00A4D0A44300008041A4D0824300008041AD +:1063DA00A4D0A443000080411FD51244000080418C +:1063EA00A4D024440000804100D00244000080412F +:1063FA00A4D08243000080410000C44300008041D1 +:10640A000AA7CF44000000410000DC44000000411C +:10641A00000000000000804052D0244500004041A6 +:10642A0000000000000080400AA74F4500004041DC +:10643A000AA7CF44000000410000DC4400000041EC +:10644A00000000000000804052D0244500000041B6 +:10645A0000000000000080405CFF38450000004159 +:10646A00000000000000804052D024450000004196 +:10647A000AA7CF44000000410000DC4400000041AC +:10648A00000000000000804052D0244500008041F6 +:10649A00A4F0F6430000C0417BD4924300000041BF +:1064AA0048F176440000804100005C44000000424C +:1064BA005CFF434400008041A4F0F6430000C04161 +:1064CA001FD51244000000415CFF43440000804194 +:1064DA005CFF384400000042A4D0A443000080417D +:1064EA00A4D0A44300008041719DAE4300008041C6 +:1064FA000000C443000080410000C4430000804102 +:10650A00719DAE4300008041A4D0A44300008041A5 +:10651A007BD4924300008041A4D082430000804192 +:10652A00A4D08243000080417BD492430000804182 +:10653A00A4D0A44300008041A4D0A4430000C041D9 +:10654A007BD49243000000417BD492430000004276 +:10655A00640007000CFF0000003F644A13D813B51B +:10656A001381134D13010130052808140A321E0045 +:10657A0002040507090B0C0E1011131517181A1C23 +:10658A001D1F2123242628292B2D2F30323435375D +:10659A00393B1F0F03764F5F6F7F4969437909596A +:1065AA0053633149803F5D8B803FF8BF803FCAE12A +:1065BA00803F73ED803FCAE1803FF8BF803F5D8B2B +:1065CA00803F3149803F0000803FF16D7F3F75EA8F +:1065DA007E3F4C827E3F833F7E3F84287E3F833FBF +:1065EA007E3F4C827E3F75EA7E3FF16D7F3F000021 +:1065FA00803F3F4D36398F0642060C06D3056605A5 +:10660A007F059805B105010203040506070809007C +:00000001FF diff --git a/keyboards/planck/keymaps/pvc/config.h b/keyboards/planck/keymaps/pvc/config.h new file mode 100644 index 000000000..b64893108 --- /dev/null +++ b/keyboards/planck/keymaps/pvc/config.h @@ -0,0 +1,89 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#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 Ortholinear Keyboards +#define PRODUCT The Planck Keyboard +#define DESCRIPTION A compact ortholinear keyboard + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* Planck PCB default pin-out */ +#define MATRIX_ROW_PINS { D0, D5, B5, B6 } +#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } +#define UNUSED_PINS + +/* 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)) \ +) + +/* ws2812 RGB LED */ +#define ws2812_PORTREG PORTD +#define ws2812_DDRREG DDRD +#define ws2812_pin PD1 +#define RGBLED_NUM 28 // Number of LEDs +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +/* + * 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/keyboards/planck/keymaps/pvc/keymap.c b/keyboards/planck/keymaps/pvc/keymap.c new file mode 100644 index 000000000..2fc5f0da1 --- /dev/null +++ b/keyboards/planck/keymaps/pvc/keymap.c @@ -0,0 +1,478 @@ +#include "planck.h" +#include "action_layer.h" +#include "eeconfig.h" +#include "led.h" + +#ifdef AUDIO_ENABLE + #include "audio.h" + #include "song_list.h" +#endif + +#define LAYER_QWERTY 0 +#define LAYER_COLEMAK 1 +#define LAYER_DVORAK 2 +#define LAYER_UPPER 3 +#define LAYER_LOWER 4 +#define LAYER_FUNCTION 5 +#define LAYER_MOUSE 6 +#define LAYER_ADJUST 7 + +#define MACRO_QWERTY 0 +#define MACRO_COLEMAK 1 +#define MACRO_DVORAK 2 +#define MACRO_UPPER 3 +#define MACRO_LOWER 4 +#define MACRO_FUNCTION 5 +#define MACRO_MOUSE 6 +#define MACRO_TIMBRE_1 7 +#define MACRO_TIMBRE_2 8 +#define MACRO_TIMBRE_3 9 +#define MACRO_TIMBRE_4 10 +#define MACRO_TEMPO_U 11 +#define MACRO_TEMPO_D 12 +#define MACRO_TONE_DEFAULT 13 +#define MACRO_MUSIC_TOGGLE 14 +#define MACRO_AUDIO_TOGGLE 16 +#define MACRO_INC_VOICE 18 +#define MACRO_DEC_VOICE 19 +#define MACRO_BACKLIGHT 20 +#define MACRO_BREATH_TOGGLE 21 +#define MACRO_BREATH_SPEED_INC 23 +#define MACRO_BREATH_SPEED_DEC 24 +#define MACRO_BREATH_DEFAULT 25 + +#define M_QWRTY M(MACRO_QWERTY) +#define M_COLMK M(MACRO_COLEMAK) +#define M_DVORK M(MACRO_DVORAK) +#define M_UPPER M(MACRO_UPPER) +#define M_LOWER M(MACRO_LOWER) +#define M_FUNCT M(MACRO_FUNCTION) +#define M_MOUSE M(MACRO_MOUSE) +#define TIMBR_1 M(MACRO_TIMBRE_1) +#define TIMBR_2 M(MACRO_TIMBRE_2) +#define TIMBR_3 M(MACRO_TIMBRE_3) +#define TIMBR_4 M(MACRO_TIMBRE_4) +#define TMPO_UP M(MACRO_TEMPO_U) +#define TMPO_DN M(MACRO_TEMPO_D) +#define TMPO_DF M(MACRO_TONE_DEFAULT) +#define M_BACKL M(MACRO_BACKLIGHT) +#define M_BRTOG M(MACRO_BREATH_TOGGLE) +#define M_BSPDU M(MACRO_BREATH_SPEED_INC) +#define M_BSPDD M(MACRO_BREATH_SPEED_DEC) +#define M_BDFLT M(MACRO_BREATH_DEFAULT) + + +#define VC_UP M(MACRO_INC_VOICE) +#define VC_DOWN M(MACRO_DEC_VOICE) + + +#define SC_UNDO LCTL(KC_Z) +#define SC_REDO LCTL(KC_Y) +#define SC_CUT LCTL(KC_X) +#define SC_COPY LCTL(KC_C) +#define SC_PSTE LCTL(KC_V) +#define SC_SELA LCTL(KC_A) +#define SC_SAVE LCTL(KC_S) +#define SC_OPEN LCTL(KC_O) +#define SC_ACLS LALT(KC_F4) +#define SC_CCLS LCTL(KC_F4) + +#define OS_SHFT KC_FN0 + +#define _______ KC_TRNS +#define XXXXXXX KC_NO +#define ________________ _______, _______ +#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * .-----------------------------------------------------------------------------------------------------------. + * | TAB | Q | W | E | R | T | Y | U | I | O | P | BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | ESC | A | S | D | F | G | H | J | K | L | ; | ' | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LSHIFT | Z | X | C | V | B | N | M | , | . | UP | ENTER | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LCTRL | LWIN | FN | LALT | UPPER | SPACE | SPACE | LOWER | SHIFT | LEFT | DOWN | RIGHT | + * '-----------------------------------------------------------------------------------------------------------' + */ + + [LAYER_QWERTY] = { // 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_UP, KC_ENT }, + { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_LEFT, KC_DOWN, KC_RGHT }, + }, + +/* COLEMAK + * .-----------------------------------------------------------------------------------------------------------. + * | TAB | Q | W | F | P | G | J | L | U | Y | ; | ESC | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | BACKSP | A | R | S | T | D | H | N | E | I | O | ' | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LSHIFT | Z | X | C | V | B | K | M | , | . | UP | ENTER | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LCTRL | LWIN | FN | LALT | UPPER | SPACE | SPACE | LOWER | SHIFT | LEFT | DOWN | RIGHT | + * '-----------------------------------------------------------------------------------------------------------' + */ + + [LAYER_COLEMAK] = { // COLEMAK + { KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_ESC }, + { KC_BSPC, 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_UP, KC_ENT }, + { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_LEFT, KC_DOWN, KC_RGHT }, + }, + +/* DVORAK + * .-----------------------------------------------------------------------------------------------------------. + * | TAB | ' | , | . | P | Y | F | G | C | R | L | BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | ESC | A | O | E | U | I | D | H | T | N | S | / | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | ENTER | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LCTRL | LWIN | FN | LALT | UPPER | SPACE | SPACE | LOWER | UP | DOWN | LEFT | RIGHT | + * '-----------------------------------------------------------------------------------------------------------' + */ + + [LAYER_DVORAK] = { // 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 }, + { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, KC_UP, KC_DOWN, KC_LEFT, KC_RGHT }, + }, + +/* UPPER + * .-----------------------------------------------------------------------------------------------------------. + * | PRINT | F1 | F2 | F3 | F4 | NUM LK | / | 7 | 8 | 9 | - | DEL | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | CAP LK | F5 | F6 | F7 | F8 | SCR LK | * | 4 | 5 | 6 | + | INS | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F9 | F10 | F11 | F12 | PAUSE | | 1 | 2 | 3 | ENTER | HOME | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | | | | | | 0 | 0 | | RALT | . | ENTER | END | + * '-----------------------------------------------------------------------------------------------------------' + */ + + [LAYER_UPPER] = { // UPPER + { KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, KC_DEL }, + { KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_SLCK, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_INS }, + { _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, KC_HOME }, + { _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, KC_END }, + }, + +/* LOWER + * .-----------------------------------------------------------------------------------------------------------. + * | | $ | { | [ | ( | % | # | ) | ] | } | @ | PG UP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | ^ | * | + | - | ; | : | _ | ' | " | ` | PG DN | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | & | ! | ~ | / | \ | = | < | > | ? | HOME | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | | | | | | | | | | | | END | + * '-----------------------------------------------------------------------------------------------------------' + */ + + [LAYER_LOWER] = { // LOWER + { _______, KC_DLR, KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT, KC_PGUP }, + { _______, KC_CIRC, KC_ASTR, KC_PPLS, KC_PMNS, KC_SCLN, KC_COLN, KC_UNDS, KC_QUOT, KC_DQT, KC_GRV, KC_PGDN }, + { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SLSH, KC_BSLS, KC_EQL, KC_LT, KC_GT, KC_QUES, KC_HOME }, + { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END }, + }, + + +/* FUNCTION + * .-----------------------------------------------------------------------------------------------------------. + * | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | PAUSE | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | CAP LK | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | PRINT | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | SCR LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MUTE | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LCTRL | LWIN | FN | LALT | UPPER | PLAY | PLAY | LOWER | VOL UP | VOL DN | NEXT | PREV | + * '-----------------------------------------------------------------------------------------------------------' + */ + [LAYER_FUNCTION] = { // FUNCTION + { KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PAUS }, + { KC_CAPS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_PSCR }, + { KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE }, + { _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT }, + }, + +#ifdef MOUSEKEY_ENABLE + + [LAYER_MOUSE] = { // MOUSE + { KC_ESC, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC }, + { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, + { _______, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, KC_WH_D }, + { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, KC_MS_U, KC_MS_D, KC_MS_L, KC_MS_R }, + }, + +#endif + + [LAYER_ADJUST] = { // ADJUST + { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, MU_TOG, AU_TOG }, + { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______ }, + { _______, _______, _______, _______, M_BACKL, RESET, _______, M_MOUSE, _______, _______, MUV_IN, _______ }, + { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MUV_DE, _______ }, + }, + +/* + [LAYER_EMPTY] = { + { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, }, + { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, }, + { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, }, + { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, }, + }, +*/ + +}; + +#ifdef AUDIO_ENABLE + +float tone_my_startup[][2] = SONG(ODE_TO_JOY); +float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY); + +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); + +float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE); +float tone_music_on[][2] = SONG(DOE_A_DEER); +float tone_caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND); +float tone_caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND); +float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND); +float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND); +float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); +float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +#endif /* AUDIO_ENABLE */ + +void persistant_default_layer_set(uint16_t default_layer) +{ + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_MODS_ONESHOT(MOD_LSFT), +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + + // MACRODOWN only works in this function + switch(id) + { + + case MACRO_QWERTY: + if (record->event.pressed) + { + persistant_default_layer_set(1UL<event.pressed) + { + persistant_default_layer_set(1UL<event.pressed) + { + persistant_default_layer_set(1UL<event.pressed) + { + layer_on(LAYER_LOWER); + update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); + } + else + { + layer_off(LAYER_LOWER); + update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); + } + break; + + case MACRO_UPPER: + if (record->event.pressed) + { + layer_on(LAYER_UPPER); + update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); + } + else + { + layer_off(LAYER_UPPER); + update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); + } + break; + + case MACRO_FUNCTION: + if (record->event.pressed) + { + layer_on(LAYER_FUNCTION); + } + else + { + layer_off(LAYER_FUNCTION); + } + break; + + +#ifdef BACKLIGHT_ENABLE + case MACRO_BACKLIGHT: + if (record->event.pressed) + { + backlight_step(); + } +#endif + +#ifdef MOUSEKEY_ENABLE + + case MACRO_MOUSE: + if (record->event.pressed) + { + layer_invert(LAYER_MOUSE); + } + break; + +#endif /* MOUSEKEY_ENABLE */ + +#ifdef AUDIO_ENABLE + + case MACRO_TIMBRE_1: + if (record->event.pressed) set_timbre(TIMBRE_12); + break; + + case MACRO_TIMBRE_2: + if (record->event.pressed) set_timbre(TIMBRE_25); + break; + + case MACRO_TIMBRE_3: + if (record->event.pressed) set_timbre(TIMBRE_50); + break; + + case MACRO_TIMBRE_4: + if (record->event.pressed) set_timbre(TIMBRE_75); + break; + + case MACRO_TEMPO_U: + if (record->event.pressed) increase_tempo(10); + break; + + case MACRO_TEMPO_D: + if (record->event.pressed) decrease_tempo(10); + break; + + case MACRO_TONE_DEFAULT: + if (record->event.pressed) + { + set_timbre(TIMBRE_DEFAULT); + set_tempo(TEMPO_DEFAULT); + } + break; + +#endif /* AUDIO_ENABLE */ + + default: + break; + + } + return MACRO_NONE; +}; + + +#ifdef AUDIO_ENABLE + +void matrix_init_user(void) +{ + set_voice(default_voice); + startup_user(); + println("Matrix Init"); +} + +void led_set_user(uint8_t usb_led) +{ + static uint8_t old_usb_led = 0; + + _delay_ms(10); // gets rid of tick + + if ((usb_led & (1<