diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-06-11 19:31:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-11 19:31:31 +0200 |
commit | d9e4dad0a828a8a904f44dda090a4d6d08fe2948 (patch) | |
tree | d6f002712c22e8cf4523e04a9da889c7ec379d6b /keyboard/hhkb/keymaps/lxol | |
parent | a5d638ad3091e2d553eaa04d933df28eeced5a8b (diff) | |
download | qmk_firmware-d9e4dad0a828a8a904f44dda090a4d6d08fe2948.tar.gz qmk_firmware-d9e4dad0a828a8a904f44dda090a4d6d08fe2948.tar.xz |
Makefile redo & other features (#395)
* .build containment implemented
* no destructive variable setting - builds in either folder
* make from 3 places
* cleans before each build
* make from root with keyboard=keyboard, keymap=keymap
* make from keyboard/keyboard with keymap=keymap
* make from keymaps/keymap
* only implemented on planck
* adds color diag to avr-gcc
* makefiles for all plancks, clean-up
* quick build-all makefile for plancks
* reformatting of make output (colors)
* color toggle, tmk path corrections
* correct if statement for color
* move config.h to main makefile, updates preonic, atomic
* format update, all keyboards targets
* makefile optional for build all target, alps and arrow_pad updated
* alps updated
* make planck default, trying out travis recipe for all-keyboards
* all-keymaps target, different travis recipe
* updates alps64
* updates keyboards to new format
* updates clue* projects
* all projects updated, specialise EZ .hex, let .hex through
* updates travis
* automatically find root, keyboard, keymap
* silent echo, cleaned-up mass make output
* updates all keyboards' .hex files except EZ
* Rename Bantam44.c to bantam44.c
* Rename Bantam44.h to bantam44.h
* nananana
* adds six key keyboard
* does same to ez as rest
* updates send_string example
* brings ergodox_ez up to date
* updates template/new project script
* adds sixkeyboard
* adds readme for sixkeyboard
* adds sixkeyboard to travis
* filenames, gitignore mess
* define clock prescaler stuff manually
* make quick, size test example
* documentation and dfu-no-build
Diffstat (limited to 'keyboard/hhkb/keymaps/lxol')
-rw-r--r-- | keyboard/hhkb/keymaps/lxol/compiled.hex | 1421 | ||||
-rw-r--r-- | keyboard/hhkb/keymaps/lxol/keymap.c | 208 |
2 files changed, 1629 insertions, 0 deletions
diff --git a/keyboard/hhkb/keymaps/lxol/compiled.hex b/keyboard/hhkb/keymaps/lxol/compiled.hex new file mode 100644 index 000000000..63d3691c4 --- /dev/null +++ b/keyboard/hhkb/keymaps/lxol/compiled.hex @@ -0,0 +1,1421 @@ +:100000000C9493070C94D7070C94D7070C94D7073C
+:100010000C94D7070C94D7070C94D7070C94D707E8
+:100020000C94D7070C94D7070C949B120C946D1367
+:100030000C945D200C94D7070C94D7070C94D70729
+:100040000C94D7070C94D7070C94D7070C94D707B8
+:100050000C94D7070C94FD200C94D7070C94D70769
+:100060000C94D7070C94D7070C94D7070C94D70798
+:100070000C94D7070C94D7070C94D7070C94D70788
+:100080000C94D7070C94D7070C94D7070C94D70778
+:100090000C94D7070C94D7070C94D7070C94D70768
+:1000A0000C94D7070C94D7070C94D707DA13FC13DA
+:1000B000EA14FC13EA1441146414EA14B914CC14BD
+:1000C000A617A617D517D51714183418641964196C
+:1000D0003F186419EF18EF185519641964195E195F
+:1000E000FC18FC18FC18FC18FC18FC18FC18FC1870
+:1000F000FC18FC18FC18FC18FC18FC18FC18FC1860
+:100100000C191A19211928193219253032583A2098
+:10011000253038620A000A722F63203031323334BE
+:100120003536370A0028311F0014001A001644041F
+:10013000461D001B000600200021001500080007D6
+:1001400000090019000500220023001C0017000A06
+:10015000000B00110000001E0029002B00E000E150
+:1001600000E200E3002C002400250018000C000E23
+:10017000000D0010000000310035002A00C0000210
+:1001800052E500E600E700260027001200130033C6
+:10019000450F43360000002D002E0030002F0034A4
+:1001A000003800370000001F0014001A0016460433
+:1001B000441D001B00060020002100150008000758
+:1001C00000090019000500220023001C0017000A86
+:1001D000000B00110000001E0029002B00E000E1D0
+:1001E00000E700E6002C002400250018000C000E9B
+:1001F000000D0010000000310035002A00C0000290
+:1002000052E500E700E60026002700120013003345
+:10021000430F45360000002D002E0030002F003423
+:10022000003800370000003B0001000100A900AACF
+:10023000000100010001003C003D0001000100A898
+:10024000000100010001003E003F0001000100012B
+:10025000005500570000003A00A5003900010001D8
+:100260000001000100010040004100010046004A79
+:100270000054005600000049004C002A00580001BC
+:100280000001000100010042004300470048005007
+:10029000004B004D00000044004500010052004F9B
+:1002A0000051004E0000001F1814181A18161804E8
+:1002B000181D181B180618201821181518081807DB
+:1002C00018091819180518221823181C1817180AC5
+:1002D000180B18111800001E1829182B18E018E127
+:1002E00018E200E3002C182418251818180C180E12
+:1002F000180D1810180000311835182A18C0000100
+:1003000000E518E600E70026182718121813180150
+:10031000000100361800002D182E1830182F183440
+:10032000183818371800001F0814081A08010001AF
+:10033000001D081B080608200821081508080807E2
+:1003400008090819080508220823081C0817080AC4
+:10035000080B08110800001E0829082B08E008E116
+:1003600000E200E3002C082408250818080C080EF9
+:10037000080D0810080000310835082A08C00001DF
+:1003800000E500E600E300260827081208130833FA
+:10039000080F08360800002D082E0830082F0834F2
+:1003A000083808370800001F1414141A141614040F
+:1003B000141D141B140614201421141514081407FA
+:1003C00014091419140514221423141C1417140AE4
+:1003D000140B14111400001E1429142B14E014E142
+:1003E00014E200E3002C142414251418140C140E29
+:1003F000140D1410140000311435142A14C0000117
+:1004000000E514E600E70026142714121413140163
+:10041000000100361400002D142E1430142F143453
+:10042000143814371400001F0414041A04010001C6
+:10043000001D041B040604200421041504080407FD
+:1004400004090419040504220423041C0417040AE3
+:10045000040B04110400001E0429042B04E004E131
+:1004600000E200E3002C042404250418040C040E0C
+:10047000040D0410040000310435042A04C00001F6
+:1004800000E500E600E30026042704120413043309
+:10049000040F04360400002D042E0430042F04340D
+:1004A000043804370400000A44454255473A2065A1
+:1004B0006E61626C65642E0A005B735D004B65794A
+:1004C000626F6172642073746172742E0A005B57EC
+:1004D0005D005B535D005B525D005B445D005B4310
+:1004E0005D001203480048004B00420020006D00F0
+:1004F0006F00640000000C0371002E006D002E00E0
+:100500006B0000000403090409027400040100A048
+:10051000FA09040000010301010009211101000191
+:10052000223F000705810308000A090401000103B6
+:10053000010200092111010001224D00070582037B
+:1005400008000A090402000103000000092111014A
+:1005500000012236000705830308000A090403008E
+:1005600002030000000921110100012220000705FB
+:10057000840320000107050403200001120110017B
+:1005800000000008EDFEFECA040101020001063170
+:10059000FF0974A1010975150025FF9520750881D3
+:1005A000020976150025FF952075089102C0050106
+:1005B0000980A101850216010026B7001A01002A50
+:1005C000B700751095018100C0050C0901A10185D6
+:1005D00003160100269C021A01002A9C0275109540
+:1005E000018100C005010902A1010901A10005095D
+:1005F000190129051500250195057501810295014F
+:10060000750381010501093009311581257F9502A6
+:100610007508810609381581257F950175088106C1
+:10062000050C0A38021581257F950175088106C0E1
+:10063000C005010906A101050719E029E7150025F4
+:100640000195087501810295017508810105081958
+:100650000129059505750191029501750391010523
+:1006600007190029FF150025FF950675088100C0B0
+:100670000A002530325820006B6579626F61726420
+:100680005F7265706F72743A20004B6579626F61BA
+:100690007264204C4544732073746174653A20255C
+:1006A000780A00646F6E652E0A00626F6F676D6175
+:1006B000676963207363616E3A202E2E2E20002915
+:1006C0000A002575002F002575005D2800256400AF
+:1006D0002000256400200025640020002564007CA3
+:1006E0000025303258006D6F7573656B6579205B3E
+:1006F00062746E7C782079207620685D287265703F
+:100700002F61636C293A205B006D6B5F77686565CC
+:100710006C5F74696D655F746F5F6D6178203D20FB
+:1007200025640A006D6B5F776865656C5F6D617845
+:100730005F7370656564203D2025640A006D6B5F02
+:1007400074696D655F746F5F6D6178203D2025640D
+:100750000A006D6B5F6D61785F7370656564203D45
+:100760002025640A006D6B5F696E74657276616C3A
+:10077000203D2025640A006D6B5F64656C61792003
+:100780003D2025640A006D6B5F776865656C5F745A
+:10079000696D655F746F5F6D6178203D2025640A27
+:1007A000006D6B5F776865656C5F6D61785F737016
+:1007B000656564203D2025640A006D6B5F74696D7A
+:1007C000655F746F5F6D6178203D2025640A006D60
+:1007D0006B5F6D61785F7370656564203D20256493
+:1007E0000A006D6B5F696E74657276616C203D20E6
+:1007F00025640A006D6B5F64656C6179203D20257E
+:10080000640A000A00257500363A20776865656C31
+:100810005F74696D655F746F5F6D61783A20000A7F
+:1008200000257500353A20776865656C5F6D6178E5
+:100830005F73706565643A20000A00257500343ADC
+:100840002074696D655F746F5F6D61783A20000A8E
+:1008500000257500333A206D61785F7370656564BB
+:100860003A20000A00257500323A20696E746572DC
+:1008700076616C286D73293A20000A0025750031D5
+:100880003A2064656C6179282A31306D73293A20E9
+:10089000000A092D2056616C756573202D0A004DE4
+:1008A0003E004D25643E20003F0073657420646562
+:1008B0006661756C740A00433E2000776865726556
+:1008C0002064656C74613A20637572736F723D25A4
+:1008D000642C20776865656C3D25640A5365652046
+:1008E000687474703A2F2F656E2E77696B69706526
+:1008F0006469612E6F72672F77696B692F4D6F7511
+:1009000073655F6B6579730A000A092D204D6F7559
+:1009100073656B6579202D0A4553432F713A097130
+:100920007569740A313A0964656C6179282A313035
+:100930006D73290A323A09696E74657276616C28A2
+:100940006D73290A333A096D61785F737065656468
+:100950000A343A0974696D655F746F5F6D61780A76
+:10096000353A09776865656C5F6D61785F737065AE
+:1009700065640A363A09776865656C5F74696D6508
+:100980005F746F5F6D61780A0A703A097072696E00
+:10099000742076616C7565730A643A097365742016
+:1009A00064656661756C74730A75703A092B310A57
+:1009B000646F776E3A092D310A706775703A092BAA
+:1009C00031300A7067646F776E3A092D31300A0A48
+:1009D0007370656564203D2064656C7461202A2015
+:1009E0006D61785F7370656564202A202872657078
+:1009F000656174202F2074696D655F746F5F6D6130
+:100A000078290A003F004D3E2000433E20004C253F
+:100A1000640A0074696D65725F636F756E743A2065
+:100A20002530346C580A006B6579626F6172645FBF
+:100A300069646C653A2025580A006B6579626F61BC
+:100A400072645F70726F746F636F6C3A2025580A1E
+:100A500000686F73745F6B6579626F6172645F6C5D
+:100A600065647328293A2025580A000A092D205365
+:100A70007461747573202D0A004743433A20342E65
+:100A8000392E32204156522D4C4942433A20312EC4
+:100A9000382E31204156525F415243483A20617608
+:100AA00072350A004F5054494F4E533A204C554628
+:100AB0004120424F4F544D41474943204D4F5553DC
+:100AC000454B45592045585452414B455920434FB9
+:100AD0004E534F4C4520434F4D4D414E44203531F0
+:100AE000320A004255494C443A2031363731386594
+:100AF000662D6469727479202832333A33393A3476
+:100B000039204A756E2020392032303136290A00CA
+:100B10005649443A2030784645454428712E6D2E7A
+:100B20006B29205049443A203078434146452848B3
+:100B3000484B42206D6F6429205645523A20307848
+:100B4000303130340A00444553433A20712E6D2E23
+:100B50006B206B6579626F617264206669726D7774
+:100B600061726520666F722048484B420A000A098C
+:100B70002D2056657273696F6E202D0A000A092DAB
+:100B800020436F6E736F6C65202D0A4553432F71A0
+:100B90003A09717569740A6D3A096D6F7573656B01
+:100BA00065790A000A092D204D61676963202D0AC5
+:100BB000443A094465627567204D657373616765E2
+:100BC00020546F67676C650A583A094D6174726901
+:100BD00078204465627567204D6F646520546F67A7
+:100BE000676C65202D2053686F77206B6579707274
+:100BF000657373657320696E206D61747269782006
+:100C0000677269640A4B3A094B6579626F61726475
+:100C100020446562756720546F67676C65202D20DE
+:100C200053686F77206B6579707265737320726596
+:100C3000706F72740A4D3A094465627567204D6F92
+:100C400075736520546F67676C650A563A09566577
+:100C50007273696F6E0A533A095374617475730A3B
+:100C6000433A09416374697661746520436F6E731A
+:100C70006F6C65204D6F64650A46312D4631303A00
+:100C80000953776974636820746F204C61796572C9
+:100C900020302D392028463130203D204C30290A83
+:100CA000302D393A0953776974636820746F204C8A
+:100CB0006179657220302D390A4553433A095377DB
+:100CC0006974636820746F204C61796572203020EC
+:100CD00028616C7465726E617465206B6579203172
+:100CE000290A47524156453A095377697463682087
+:100CF000746F204C6179657220302028616C7465B6
+:100D0000726E617465206B65792032290A504155F5
+:100D100053453A094A756D7020746F20426F6F74A5
+:100D20006C6F6164657220285265736574290A4589
+:100D30003A095072696E7420454550524F4D205308
+:100D4000657474696E67730A000A002575002E6E5B
+:100D50006B726F3A20000A002575002E7377617060
+:100D60005F6261636B736C6173685F6261636B7315
+:100D7000706163653A20000A002575002E73776163
+:100D8000705F67726176655F6573633A20000A0081
+:100D90002575002E6E6F5F6775693A20000A002581
+:100DA00075002E737761705F72616C745F72677526
+:100DB000693A20000A002575002E737761705F6C18
+:100DC000616C745F6C6775693A20000A00257500D4
+:100DD0002E636170736C6F636B5F746F5F636F6EB4
+:100DE00074726F6C3A20000A002575002E737761CB
+:100DF000705F636F6E74726F6C5F636170736C6F42
+:100E0000636B3A20000A0025303258006B65796D1B
+:100E100061705F636F6E6669672E7261773A20005A
+:100E20000A002575002E6D6F7573653A20000A0063
+:100E30002575002E6B6579626F6172643A20000A35
+:100E4000002575002E6D61747269783A20000A00E1
+:100E50002575002E656E61626C653A20000A0025DA
+:100E60003032580064656275675F636F6E666967EC
+:100E70002E7261773A20000A00257500646566616C
+:100E8000756C745F6C617965723A20003F000A6D81
+:100E90006F7573653A206F66660A000A6D6F757329
+:100EA000653A206F6E0A000A6B6579626F61726441
+:100EB0003A206F66660A000A6B6579626F61726438
+:100EC0003A206F6E0A000A6D61747269783A206F79
+:100ED00066660A000A6D61747269783A206F6E0A5C
+:100EE000000A64656275673A206F66660A000A64E4
+:100EF000656275673A206F6E0A000A0A4A756D705E
+:100F0000696E6720746F20626F6F746C6F616465C7
+:100F1000722E2E2E2000433E20006565636F6E66A4
+:100F200069673A0A000011241FBECFEFDAE0DEBF86
+:100F3000CDBF04B603FE24C08091E0019091E10191
+:100F4000A091E201B091E3018730904BA740B04BF4
+:100F5000B9F41092E0011092E1011092E2011092B6
+:100F6000E30114BE84B7877F84BF88E10FB6F8948D
+:100F700080936000109260000FBEE0E0FFE30995EF
+:100F800011E0A0E0B1E0EEE7F8E502C005900D92B7
+:100F9000A233B107D9F711E0A2E3B1E001C01D927D
+:100FA000A03EB107E1F70E94D50F0C943D2C0C94A4
+:100FB0000000FF93EF93E0913201F09133013097FD
+:100FC00009F00995EF91FF910895FC01859180301A
+:100FD00011F0EFDFFBCF0895FF27E0E230E247FF9B
+:100FE0000CC0419597FF09C0EDE260957095809522
+:100FF0009095611D711D811D911D27FF02C02195D6
+:1010000030E350E2AA27660F771F881F991FAA1F97
+:10101000A41710F0A41B63955A95A9F7AA3008F0FD
+:10102000A95FA05DAF93F3956115710581059105E9
+:1010300041F7ED3211F4EF93F395F21718F43F9363
+:10104000F395FBCF8F91B5DFFA95E1F70895E9911C
+:10105000F9918591803021F0853219F0AADFF9CF1E
+:10106000089520E0E89455915532C1F3503311F4BE
+:10107000689455915A3348F4505390F3220F022E3E
+:10108000220F220F200D250FF4CF0EF42195899108
+:101090009991533619F3533729F1533559F1BC015E
+:1010A00088279927E8945C3621F48991999168946E
+:1010B0005591543639F446EF7EF077FF0DC08FEF2F
+:1010C0009FEF0AC055374AE039F0583540E121F02A
+:1010D000523642E009F00895FF93EF937DDFEF91E0
+:1010E000FF91B7CFFF93EF93FC0181918030B9F36B
+:1010F00060DFFBCFFF93EF9368DFF1CFDF93CF93F8
+:10110000CDB7DEB72596A3DFCF91DF9108958FEF9E
+:1011100084B980E485B957985F9A2E9A2F98ECE3AA
+:10112000F1E088E08E0F11928E13FDCFE4E3F1E041
+:1011300088E08E0F11928E13FDCF8CE391E0909397
+:1011400047018093460184E391E0909345018093A9
+:1011500044010895EF92FF920F931F93CF93DF9373
+:1011600080914401909145012091460130914701C1
+:1011700030934501209344019093470180934601A9
+:10118000C0E0D0E0EE24E394F12C0FEF10E020E07B
+:1011900030E085B1807C8C2BA90193E0440F551F72
+:1011A0009A95E1F7842B85B98AE18A95F1F700C019
+:1011B000E0914401F0914501EC0FFD1F808190E02A
+:1011C000022E02C0959587950A94E2F780FD2F9A2A
+:1011D00095E39A95F1F70000E6B52E988AE18A9595
+:1011E000F1F700C04091460150914701DA01AC0F80
+:1011F000BD1F4F9B0AC0C701022E01C0880F0A9471
+:10120000EAF780959C91892308C06C91C701022E52
+:1012100001C0880F0A94EAF7862B8C9386B56E2F4F
+:1012200070E08E1728F086B590E0861B970B06C0FD
+:10123000E6B5C801861B970B8E0F911D069758F0D7
+:10124000E0914401F0914501EC0FFD1F8081FA010E
+:10125000EC0FFD1F80839AE19A95F1F700C02F985B
+:101260002E9A8BE291E00197F1F700C000002F5F0A
+:101270003F4F2830310509F08CCFA0914601B09145
+:101280004701AC0FBD1FE0914401F0914501EC0F07
+:10129000FD1F9C918081981751F00E949B206093C4
+:1012A00048017093490180934A0190934B01219624
+:1012B000C830D10509F06BCF8091D601853021F07F
+:1012C0008091D601811111C060914801709149014E
+:1012D00080914A0190914B010E94D1206131774267
+:1012E0008105910510F00E94202081E0DF91CF91CF
+:1012F0001F910F91FF90EF9008952091460130913A
+:101300004701F901E80FF11D808108950F931F93A4
+:10131000CF93DF9386E191E00E94E507C0E0D0E043
+:101320000AE011E0E0914601F0914701EC0FFD1F4A
+:1013300080810E940A201F928F93DF93CF931F9387
+:101340000F930E947E0821960F900F900F900F90A0
+:101350000F900F90C830D10529F7DF91CF911F91E1
+:101360000F9108951F93CF93DF93C7E0D0E010E073
+:10137000E0914601F0914701EC0FFD1F808190E064
+:101380000E94FE1F180F219798F7812FDF91CF91B0
+:101390001F9108950895089561110BC0FC01828189
+:1013A000882321F085EE0E949A1603C085EE0E94E4
+:1013B000391780E090E0089581E0089581E0089574
+:1013C0000C94DE0908950F931F93CF93DF938C0144
+:1013D000FC01C081D181CE010E94C81EBE010E94C5
+:1013E0008C0AEC01B8010E94E009882309F48DC041
+:1013F000F8018281882309F44AC080915701811144
+:101400001FC0C431F0E5DF0709F051C00E94E209B6
+:1014100081E0809357010E948F2090935601809322
+:10142000550110924E011092500110924F011092EE
+:10143000520110925101109254011092530165C053
+:1014400080915501909156010E94A720883C9105FA
+:1014500070F480914E01E82FF0E0EE0FFF1FE15B8A
+:10146000FE4FD183C0838F5F80934E014EC0C4383E
+:1014700080E5D80721F0C538D04501F13AC0F80120
+:101480008281882341F010924C0182E01EC0C43852
+:10149000E0E5DE0759F580914C01811106C086E236
+:1014A0000E949A1686E20E94391782E01CC0C43856
+:1014B000F0E5DF0741F3C538D045D9F4F801828162
+:1014C000882331F010924D0180E20E9461171DC007
+:1014D00080914D01811106C087E20E949A1687E231
+:1014E0000E94391780E20E9468170FC0C538D045A6
+:1014F00029F381E080934C0180934D01C801DF9175
+:10150000CF911F910F910C94DC0980E0DF91CF9176
+:101510001F910F9108950895E72FF0E098E0899FBB
+:10152000E00DF11D112483E0EE0FFF1F8A95E1F716
+:10153000E60FF11DEE0FFF1FE95DFE4F85919491BF
+:101540000895880F991FFC01EB55F0408591949107
+:101550000895880F991FFC01EB5DFE4F85919491D2
+:1015600008950F931F93CF93DF93EC01811520E330
+:10157000920750F5C11580E2D80708F0C3C0CB3BF5
+:10158000D10590F4C83AD10508F06AC0C53AD10532
+:1015900008F05BC0C430D10508F0D4C1219709F030
+:1015A000CEC101E010E00EC2CF3FD10511F008F02E
+:1015B000C9C1C03FD10508F0A2C0CE01805E91092B
+:1015C000089708F4BFC1BBC1C13090E5D90709F441
+:1015D000A2C020F5C0318FE4D80770F4C11590E4A3
+:1015E000D90708F094C0C11521E3D20708F0A7C1BC
+:1015F000DD278E01106CE6C1C115D04509F09FC1F1
+:101600000E94CF198FEF94E32CE08150904020404E
+:10161000E1F700C000000E942221D4C1C11597E566
+:10162000D90758F4C03121E5D20708F020C1C431F0
+:1016300080E5D80708F479C082C1CE0190578115A2
+:10164000904108F07CC1DF7077C1C53AD10509F43B
+:101650007BC1C63AD10509F07AC102E810E4B2C1F3
+:10166000C83AD10509F476C1C93AD10509F475C162
+:10167000CA3AD10509F474C1CB3AD10509F473C152
+:10168000CC3AD10509F472C1CD3AD10509F471C142
+:10169000C03BD10509F470C1CE3AD10509F46FC140
+:1016A000CF3AD10509F46EC1C13BD10509F46DC132
+:1016B000C23BD10509F46CC1C33BD10509F46BC130
+:1016C000C43BD10509F46AC1C53BD10509F469C120
+:1016D000C63BD10509F468C1C73BD10509F467C110
+:1016E000C83BD10509F466C1C93BD10509F465C100
+:1016F000CA3BD10509F464C100E014E463C18E0162
+:10170000106560C1CE019F700E94A90A5CC1DF70A4
+:101710008E01106A57C187EA94E00E94E507809124
+:10172000C10181608093C1014DC10E94C822811115
+:1017300002C00E94AE220E94E52290E09093E00158
+:101740008093DF01C23080E5D80721F48091DF016A
+:10175000816086C0C43090E5D90721F48091DF0113
+:1017600082607EC0C63020E5D20721F48091DF017F
+:10177000846076C0C83080E5D80719F48091DF0115
+:1017800027C0CA3090E5D90721F48091DF0180613C
+:1017900067C0CC3020E5D20721F48091DF01806260
+:1017A0005FC0CE3080E5D80721F48091DF018064EE
+:1017B00057C0C03190E5D90721F48091DF018068DE
+:1017C0004FC0C23120E5D20729F48091DF01846047
+:1017D000886046C0C33080E5D80721F48091DF01DE
+:1017E0008E7F3EC0C53090E5D90721F48091DF019E
+:1017F0008D7F36C0C73020E5D20721F48091DF010C
+:101800008B7F2EC0C93080E5D80719F48091DF01A5
+:1018100026C0CB3090E5D90721F48091DF018F7E7F
+:101820001FC0CD3020E5D20721F48091DF018F7DEC
+:1018300017C0CF3080E5D80721F48091DF018F7B7E
+:101840000FC0C13190E5D90721F48091DF018F7776
+:1018500007C0C331D04531F48091DF018B7F877F92
+:101860008093DF018091DF010E94E922ABC08D2FC0
+:1018700099278F70992781309105D9F49E012370A3
+:10188000332702C0880F991F2A95E2F79C688E01C2
+:1018900044E0000F111F4A95E1F700271370802BD9
+:1018A000912B53E0CC0FDD1F5A95E1F7C076DD2771
+:1018B0002FC08230910531F4DC2FCC278E01016FCF
+:1018C000106A80C08330910569F4CE018370992736
+:1018D00001E010E002C0000F111F8A95E2F7C80175
+:1018E0009C680FC084309105B9F4CE0183709927AC
+:1018F00001E010E002C0000F111F8A95E2F7C80155
+:101900009A6823E0CC0FDD1F2A95E1F7C07ED770DF
+:101910008C010C2B1D2B56C08530910531F4DC2F2A
+:10192000CC278E01046F106A4DC0069709F04AC09B
+:10193000CF71DD27DC2FCC278E01106243C000E081
+:1019400010E040C08E013EC001E810E43BC003E857
+:1019500010E438C002EE14E435C009EE14E432C0DD
+:101960000AEE14E42FC005EB14E42CC006EB14E4DB
+:1019700029C007EB14E426C00CEC14E423C00DECE2
+:1019800014E420C003E815E41DC00AE815E41AC0F9
+:1019900002E915E417C004E915E414C001E216E4F5
+:1019A00011C003E216E40EC004E216E40BC005E227
+:1019B00016E408C006E216E405C007E216E402C019
+:1019C0000AE216E4C801DF91CF911F910F910895AB
+:1019D000E72FF0E098E0899FE00DF11D112483E0EE
+:1019E000EE0FFF1F8A95E1F7E60FF11DEE0FFF1FC7
+:1019F000E95DFE4F85919491803E9105E0F4803C35
+:101A0000910558F58133910509F46FC048F4893286
+:101A1000910509F463C08A32910509F46DC072C062
+:101A200089339105E9F082389105D1F0853391052C
+:101A300009F44DC067C0833E910581F138F4803EC2
+:101A40009105B9F0823E9105D9F05CC0863E9105C2
+:101A500061F1873E9105A1F155C00E94A10A089548
+:101A60002091DF0120FD02C021FF4CC080EE90E0FC
+:101A700049C08091DF0180FFF9CF89E390E042C047
+:101A80008091DF0182FF0EC08091DF0184FF03C0DF
+:101A900080E090E037C083EE90E034C08091DF01B9
+:101AA00082FFF2CF82EE90E02DC08091DF0183FFB4
+:101AB0000BC08091DF0184FDEBCF87EE90E022C068
+:101AC0008091DF0183FFF5CF86EE90E01BC080910F
+:101AD000DF0185FF07C089E290E014C08091DF013B
+:101AE00085FFF9CF85E390E00DC08091DF0186FF8F
+:101AF00007C08AE290E006C08091DF0186FFF9CF3F
+:101B000081E390E00E94B10A089508950C94850D38
+:101B10008091630108959FB7F89410925A019FBF76
+:101B20009091D601943009F057C09091E9009F70D0
+:101B30003091EC00232F217030FD20E8922B24E01F
+:101B40002093E9002091EB0020FF43C02091EE009C
+:101B500027FF3FC020915801222321F02091E80067
+:101B600025FF37C01092580126E03091E80035FD7E
+:101B700015C03091D601343061F53091EB0035FD60
+:101B800028C0215021F481E08093580122C0EFE960
+:101B9000FFE03197F1F700C00000E7CF8093F1003C
+:101BA0008091E80085FD0AC08091E80080FFFCCFAD
+:101BB0008091E8008E778093E80006C08FB7F89494
+:101BC00021E020935A018FBF9F709093E90080E03D
+:101BD00008959F709093E9008FEF0895CF93DF935E
+:101BE00000D01F92CDB7DEB79C018091D601843022
+:101BF00019F593E099833B832A839093E9008FEF53
+:101C00009091E800815095FD06C095ED9A95F1F709
+:101C100000008111F5CF8091E80085FF0DC040E004
+:101C200050E063E070E0CE0101960E948B1080913D
+:101C3000E8008E778093E8000F900F900F90DF916F
+:101C4000CF910895CF93DF9300D01F92CDB7DEB729
+:101C50002091D601243021F522E029839B838A83B9
+:101C600083E08093E9008FEF9091E800815095FD2B
+:101C700006C095ED9A95F1F700008111F5CF80919E
+:101C8000E80085FF0DC040E050E063E070E0CE0169
+:101C900001960E948B108091E8008E778093E80077
+:101CA0000F900F900F90DF91CF9108952091D60162
+:101CB0002430F1F422E02093E9002FEF3091E80086
+:101CC000215035FD06C035ED3A95F1F700002111A0
+:101CD000F5CF2091E80025FF0BC040E050E065E023
+:101CE00070E00E948B108091E8008E778093E8006E
+:101CF0000895CF93DF932091D601243039F521E068
+:101D00002093E9002FEF3091E800215035FD06C007
+:101D100035ED3A95F1F700002111F5CF2091E8005B
+:101D200025FF14C0EC0140E050E068E070E00E9444
+:101D30008B108091E8008E778093E80088E0FE01A8
+:101D4000ABE5B1E001900D928A95E1F7DF91CF917B
+:101D500008958EED94E00E94E5078091D5018111F0
+:101D600009C00E9420120E947D128091E2008460CE
+:101D70008093E20008958AED94E00E94E5071092B6
+:101D8000D501089586ED94E00C94E50782ED94E08A
+:101D90000C94E5078EEC94E00E94E5070C94572024
+:101DA000209159012F5F822F62E30E94CD2B99234E
+:101DB00019F02093590108951092590180915A0108
+:101DC000882371F18091D601843041F58091E9003A
+:101DD0008F702091EC00922F917020FD90E8892B5C
+:101DE00094E09093E9009091EB0090FF14C09091E3
+:101DF000EE0097FF10C09091E80095FF03C010928D
+:101E0000F100F9CF9091E80090FF05C09091E800B3
+:101E10009E779093E8008F708093E90010925A01AA
+:101E2000089542E061EC81E00E949A1142E061EC89
+:101E300082E00E949A1142E061EC83E00E949A11D4
+:101E400042E261EC84E00C949A118091D8018330D5
+:101E500009F453C030F4813071F0823009F48CC041
+:101E600008958A3009F478C08B3009F45EC0893057
+:101E700009F09AC020C08091D701813A09F094C03E
+:101E80008091E800877F8093E8008091DB0190914A
+:101E9000DC01892B21F468E08BE591E003C060E070
+:101EA00080E090E070E00E94D6108091E8008B778F
+:101EB0008093E80008958091D701813209F074C0C1
+:101EC0008091DB019091DC01892B09F06DC080913C
+:101ED000E800877F8093E8008091E80082FD05C0DC
+:101EE0008091D6018111F8CF5FC08091F10080937D
+:101EF00063018091E8008B7753C08091D701813ACC
+:101F000009F052C08091DB019091DC01892B09F02E
+:101F10004BC08091E800877F8093E8008091E800C3
+:101F200080FFFCCF80910A0136C08091D7018132B9
+:101F3000D9F58091DB019091DC01892BA9F5809185
+:101F4000E800877F8093E8000E94CF118091D9013B
+:101F500080930A010C94CF198091D701813221F529
+:101F60008091E800877F8093E8000E94CF118091E4
+:101F7000DA018093640108958091D701813AA1F438
+:101F80008091E800877F8093E8008091E80080FFDF
+:101F9000FCCF809164018093F1008091E8008E77FE
+:101FA0008093E8000C94CF11089584B7877F84BF95
+:101FB00088E10FB6F89480936000109260000FBE25
+:101FC00090E080E80FB6F8948093610090936100F0
+:101FD0000FBE0E94AF150E9420120E947D128091B8
+:101FE000E20084608093E2008BE89DE00E94F91F8C
+:101FF00078940E9402150E94B11580E091E00E9441
+:102000001D158DEB94E00E94E5078091D601853087
+:1020100089F489EB94E00E94E5070E9420208091DA
+:10202000D401882391F30E944920882371F30E94F0
+:102030007510EBCF0E94D515E8CF292F3327233019
+:102040003105C9F064F42130310581F022303105C9
+:1020500009F043C084E790E028E035E042C0213237
+:102060003105F1F02232310541F137C082E190E0D3
+:102070002CE735E036C099278130910541F0823058
+:10208000910541F0892B49F5E4E0F5E005C0E6EF64
+:10209000F4E002C0E2EEF4E0849190E09F0121C000
+:1020A0006430D8F4E62FF0E0EE0FFF1FE15EFE4F44
+:1020B0002081318189E090E014C0643070F470E0D8
+:1020C000FB01EE0FFF1FE95EFE4F20813181FB0116
+:1020D000ED5EFE4F808190E004C080E090E020E063
+:1020E00030E0FA0131832083089580E189BD82E1E7
+:1020F00089BD09B400FEFDCF8091D8008F7D80930B
+:10210000D8008091E00082608093E0008091E00040
+:1021100081FDFCCF0895CF92DF92EF92FF920F9353
+:102120001F93CF93DF93EC018B016A010E94EE11A4
+:10213000811133C0C114D10439F0F601808191813D
+:10214000081B190BC80FD91FE12CF12C0115110523
+:1021500019F18091E80085FD16C08091E8008E7726
+:102160008093E800C114D10449F0F6018081918187
+:10217000E80EF91EF182E08285E00FC00E94EE11A8
+:10218000882321F30AC089918093F100015011093D
+:10219000FFEFEF1AFF0ADACF80E0DF91CF911F91B6
+:1021A0000F91FF90EF90DF90CF9008952091DD0187
+:1021B0003091DE012617370748F06115710539F4B3
+:1021C0002091E8002E772093E80001C0B90140E09B
+:1021D00061157105A9F12091D601222309F443C0AC
+:1021E000253009F442C02091E80023FD40C0209131
+:1021F000E80022FD32C02091E80020FFE9CF4091A5
+:10220000F3002091F20030E0342BFC01CF01611586
+:10221000710559F02830310540F481918093F10027
+:10222000615071092F5F3F4FF1CF41E028303105F8
+:1022300009F040E02091E8002E772093E800C8CF15
+:102240004111C9CF0AC08091D601882361F0853041
+:1022500061F08091E80083FD0AC08091E80082FF70
+:10226000F2CF80E0089582E0089583E0089581E050
+:1022700008952091DD013091DE012617370748F0DF
+:102280006115710539F42091E8002E772093E8005C
+:1022900001C0B901FC0120E06115710591F1809147
+:1022A000D601882309F440C0853009F43FC08091ED
+:1022B000E80083FD3DC08091E80082FD2FC0809141
+:1022C000E80080FFE9CF2091F3008091F20090E0D8
+:1022D000922B6115710559F08830910540F42491D5
+:1022E0002093F1003196615071090196F2CF21E0FF
+:1022F000089709F020E08091E8008E778093E8004D
+:10230000CBCF2111CCCF0AC08091D601882361F0B8
+:10231000853061F08091E80083FD0AC08091E8007B
+:1023200082FFF2CF80E0089582E0089583E008956F
+:1023300081E00895982F973058F59093E900981709
+:1023400039F07091EC002091ED005091F00003C045
+:10235000242F762F50E021FF19C03091EB003E7FF3
+:102360003093EB003091ED003D7F3093ED003091E4
+:10237000EB0031603093EB007093EC002093ED00A4
+:102380005093F0002091EE0027FF07C09F5FD3CF4E
+:102390008F708093E90081E0089580E00895809136
+:1023A000D70187FF11C08091E80082FD05C08091B0
+:1023B000D6018111F8CF11C08091E8008B770BC056
+:1023C0008091D601882349F08091E80080FFF8CF02
+:1023D0008091E8008E778093E80008952091E400D2
+:1023E0003091E50095E64091EC00842F817040FF2C
+:1023F00022C08091E80080FD1CC08091D601882316
+:1024000091F0853091F08091EB0085FD10C04091F6
+:10241000E4005091E5004217530729F39A019150C7
+:1024200011F784E0089582E0089583E0089581E043
+:10243000089580E008954091E80042FFDECF0895BE
+:102440000E948E120E949612E0EEF0E08081816080
+:102450008083E8EDF0E080818F77808319BCA7ED61
+:10246000B0E08C918E7F8C9380818F7E80831092E0
+:10247000D50108950F931F93CF93DF930E948E127F
+:102480000E949612C8EDD0E088818F77888388817A
+:102490008068888388818F7D888319BC1092D601DB
+:1024A0001092D2011092D4011092D30100EE10E0EC
+:1024B000F80180818B7F808388818160888342E0FE
+:1024C00060E080E00E949A11E1EEF0E080818E7F72
+:1024D0008083E2EEF0E0808181608083808188608B
+:1024E0008083F80180818E7F8083888180618883EA
+:1024F000DF91CF911F910F910895E8EDF0E0808179
+:102500008F7E8083E7EDF0E080818160808384E0CE
+:1025100082BF81E08093D5010C943A12E8EDF0E09F
+:1025200080818E7F80831092E20008951092DA00FD
+:102530001092E10008951F920F920FB60F9211248E
+:102540002F933F934F935F936F937F938F939F93BB
+:10255000AF93BF93EF93FF938091E10082FF0BC095
+:102560008091E20082FF07C08091E1008B7F809321
+:10257000E1000E94D00E8091DA0080FF1FC08091A0
+:10258000D80080FF1BC08091DA008E7F8093DA0034
+:102590008091D90080FF0DC080E189BD82E189BDB5
+:1025A00009B400FEFDCF81E08093D6010E94A90E00
+:1025B00005C019BC1092D6010E94BB0E8091E100AB
+:1025C00080FF19C08091E20080FF15C08091E20079
+:1025D0008E7F8093E2008091E20080618093E20030
+:1025E0008091D80080628093D80019BC85E08093E8
+:1025F000D6010E94C60E8091E10084FF30C0809118
+:10260000E20084FF2CC080E189BD82E189BD09B46C
+:1026100000FEFDCF8091D8008F7D8093D8008091FF
+:10262000E1008F7E8093E1008091E2008F7E8093B5
+:10263000E2008091E20081608093E2008091D2010B
+:10264000882311F084E007C08091E30087FD02C079
+:1026500081E001C083E08093D6010E94CA0E809180
+:10266000E10083FF29C08091E20083FF25C08091B3
+:10267000E100877F8093E10082E08093D601109291
+:10268000D2018091E1008E7F8093E1008091E20091
+:102690008E7F8093E2008091E20080618093E2006F
+:1026A00042E060E080E00E949A118091F000886032
+:1026B0008093F0000E94C20EFF91EF91BF91AF9105
+:1026C0009F918F917F916F915F914F913F912F914A
+:1026D0000F900FBE0F901F9018951F920F920FB67C
+:1026E0000F9211242F933F934F935F936F937F9398
+:1026F0008F939F93AF93BF93CF93DF93EF93FF930A
+:10270000C091E900CF708091EC00D82FD17080FD8E
+:10271000D0E81092E9008091F000877F8093F0006C
+:1027200078940E94B1131092E9008091F0008860C3
+:102730008093F000CD2BCF70C093E900FF91EF9113
+:10274000DF91CF91BF91AF919F918F917F916F91C9
+:102750005F914F913F912F910F900FBE0F901F905F
+:1027600018951F93CF93DF93CDB7DEB7AA970FB617
+:10277000F894DEBF0FBECDBFE7EDF1E088E08E0F2D
+:102780009091F10091938E13FBCF0E94250F8091C1
+:10279000E80083FF1FC18091D7019091D801492F94
+:1027A00050E04A30510508F015C1FA01EA5AFF4FCE
+:1027B0000C94ED2B803881F0823809F00BC18091A8
+:1027C000DB018F708093E9008091EB0085FB882707
+:1027D00080F91092E90006C08091D3019091D40154
+:1027E000911182609091E800977F9093E800809328
+:1027F000F1001092F100C8C0282F2D7F09F0EAC027
+:10280000882319F0823061F0E5C08091D9018130D0
+:1028100009F0E0C0933009F080E08093D4012BC030
+:102820008091D901811127C08091DB018F7009F45B
+:10283000D1C08093E9002091EB0020FF1CC09330B1
+:1028400021F48091EB00806214C09091EB009061C4
+:102850009093EB0021E030E0A90102C0440F551F26
+:102860008A95E2F74093EA001092EA008091EB002B
+:1028700088608093EB001092E9008091E800877FE8
+:1028800086C08111A7C01091D9011F778091E30004
+:102890008078812B8093E3008091E800877F80938C
+:1028A000E8000E94CF118091E80080FFFCCF80916A
+:1028B000E30080688093E300111102C082E001C050
+:1028C00083E08093D60186C08058823008F082C0B1
+:1028D0008091D9019091DA018C3D53E0950779F50B
+:1028E00083E08A838AE289834FB7F894DE011396E6
+:1028F00020E03EE051E2E32FF0E050935700E491F6
+:1029000020FF03C0E295EF703F5FEF708E2F90E0E5
+:10291000EA3010F0C79601C0C0968D939D932F5F4B
+:10292000243149F74FBF8091E800877F8093E8000A
+:102930006AE270E0CE0101960E94D61014C0AE018A
+:102940004F5F5F4F6091DB010E941D10BC0100973B
+:1029500009F440C09091E800977F9093E800898146
+:102960009A810E9439118091E8008B778093E8006A
+:1029700031C0803879F58091E800877F8093E80046
+:102980008091D2018093F1008091E8008E7780934E
+:10299000E8000E94CF111EC081111CC09091D90186
+:1029A0009230C0F48091E800877F8093E800909394
+:1029B000D2010E94CF118091D201811106C0809175
+:1029C000E30087FD02C081E001C084E08093D6016E
+:1029D0000E94110F8091E80083FF0AC08091E800F7
+:1029E000877F8093E8008091EB0080628093EB000A
+:1029F000AA960FB6F894DEBF0FBECDBFDF91CF9180
+:102A00001F910895CF938091D6018823A1F0C091A2
+:102A1000E900CF709091EC00892F817090FD80E8E3
+:102A2000C82B1092E9008091E80083FD0E94B11349
+:102A3000CF70C093E900CF91089590936A0180937D
+:102A400069010895E0916901F0916A01309721F0E0
+:102A50000190F081E02D099480E00895EF92FF92BB
+:102A60000F931F93CF93DF93E0916901F0916A0177
+:102A70003097B1F18C010280F381E02D09958091AE
+:102A8000C10182FF2DC080FF04C088E796E00E944C
+:102A9000E507E80118E082E7E82E86E0F82E80914D
+:102AA000C10180FF0BC088811F928F93FF92EF922C
+:102AB0000E947E080F900F900F900F90115021965A
+:102AC0001111EDCF8091C10180FF0AC080E796E02F
+:102AD000DF91CF911F910F91FF90EF900C94E5073C
+:102AE000DF91CF911F910F91FF90EF900895E091AA
+:102AF0006901F0916A01309721F00480F581E02DA1
+:102B00000994089520916701309168018217930715
+:102B100071F09093680180936701E0916901F091F1
+:102B20006A01309721F00680F781E02D099408951D
+:102B300020916501309166018217930771F090939F
+:102B4000660180936501E0916901F0916A01309717
+:102B500021F00084F185E02D0994089508950C94E6
+:102B6000AE150E9486200E9487080C948021CF9386
+:102B7000DF931F92CDB7DEB79091C10192FF10C0D5
+:102B800090FF0EC01F928F932AE836E03F932F9359
+:102B900089830E947E080F900F900F900F9089817B
+:102BA0000F90DF91CF910C94860D9F92AF92BF92C0
+:102BB000CF92DF92EF92FF920F931F93CF93DF9309
+:102BC00000D000D000D0CDB7DEB70E94AA0807E041
+:102BD00010E0AA24A394B12C902E802F0E947D098E
+:102BE000980124593E4F6901F901F080F826A1F4BB
+:102BF0000150110988F78FEF89838A831B820E9415
+:102C00008F208160782F9D838C8349815A816B81CD
+:102C10008D810E946C162FC09091C10191FF04C05C
+:102C20008E830E9486098E8127E030E0A501022E66
+:102C300001C0440F0A94EAF7E42E4F21C1F0298322
+:102C40009A828E2191E009F490E09B830E948F206C
+:102C50008160782F9D838C8349815A816B818D811E
+:102C60000E946C16F6018081E826E08204C02150A3
+:102C70003109E0F6BDCF0E94EA2410916B010E9459
+:102C800022151817B9F00E94221580936B01269621
+:102C90000FB6F894DEBF0FBECDBFDF91CF911F916D
+:102CA0000F91FF90EF90DF90CF90BF90AF909F90EB
+:102CB0000C94B71526960FB6F894DEBF0FBECDBFA5
+:102CC000DF91CF911F910F91FF90EF90DF90CF9008
+:102CD000BF90AF909F900895CF93DF93CDB7DEB7AD
+:102CE0002B970FB6F894DEBF0FBECDBF4F8358872A
+:102CF00069877A878B87DE01119686E0FD01119244
+:102D00008A95E9F785E0FE01379601900D928A9544
+:102D1000E1F749815A816B817C818D819E810E947E
+:102D20006D1C2B960FB6F894DEBF0FBECDBFDF91A2
+:102D3000CF910895CF93882309F499C0C82F8CEFC1
+:102D40008C0F813A48F48C2F0E94562981118FC034
+:102D50008C2F0E94471F0CC080E28C0F883058F4E3
+:102D6000C77081E001C0880FCA95EAF70E94831FEF
+:102D7000CF910C94CA1F8BE58C0F833078F4C53A41
+:102D800029F0C63A31F083E890E005C081E890E090
+:102D900002C082E890E0CF910C94821588E58C0FF8
+:102DA000833108F064C0C83A39F1C93A41F1CA3AEE
+:102DB00049F1CB3A51F1CC3A59F1CD3A61F1C03BEE
+:102DC00069F1CE3A71F1CF3A79F1C13B81F1C23B61
+:102DD00089F1C33B91F1C43B99F1C53BA1F1C63BDD
+:102DE000A9F1C73BB1F1C83BB9F1C93BC1F1CA3B3D
+:102DF000C9F180E090E038C082EE90E035C089EE05
+:102E000090E032C08AEE90E02FC085EB90E02CC0BD
+:102E100086EB90E029C087EB90E026C08CEC90E038
+:102E200023C08DEC90E020C083E891E01DC08AE8CB
+:102E300091E01AC082E991E017C084E991E014C0E2
+:102E400081E292E011C083E292E00EC084E292E05F
+:102E50000BC085E292E008C086E292E005C087E2FE
+:102E600092E002C08AE292E0CF910C949815CF9143
+:102E70000895882329F19CEF980F913A18F40E9445
+:102E8000641F0DC090E2980F983058F4877091E05D
+:102E900001C0990F8A95EAF7892F0E94891F0C9427
+:102EA000CA1F9BE5980F933020F480E090E00C94CB
+:102EB0008215885A833120F480E090E00C949815B4
+:102EC0000895882321F00E94831F0C94CA1F08953F
+:102ED000882321F00E94891F0C94CA1F08957F92B5
+:102EE0008F929F92AF92BF92CF92DF92EF92FF921A
+:102EF0000F931F93CF93DF931F92CDB7DEB77C0163
+:102F0000C62E772EFC01058102950F7012811111DA
+:102F10000E94A01F0E94401F882379F0112369F0AE
+:102F200080E28C0D883048F082E00E94291F0E94C8
+:102F3000401F91E0D82ED92601C0D12CE72DE29573
+:102F4000EF70F0E0E05AFF4F0C94ED2B872D807F5F
+:102F5000072D0F70882311F00295007F112389F04F
+:102F6000002309F498C180E28C0D883020F4802F72
+:102F70000E94831F03C0802F0E94931F0E94CA1FBC
+:102F80008AC18C2D0E943917002309F49DC180E26B
+:102F90008C0D883020F4802F0E94891F03C0802F61
+:102FA0000E94991F0E94CA1F8FC1872D807F972D75
+:102FB0009F70803211F4892F03C0892F8295807F02
+:102FC000CC2021F0F1E0CF16A1F01DC0112339F083
+:102FD000002319F1013009F50E94B31F75C10023C8
+:102FE00019F0013009F470C189830E94B61F8981EC
+:102FF00010C1112321F0063008F066C10EC0053063
+:1030000008F062C106C1112359F0002331F0F70125
+:10301000958190FF40C19F7095830E94611754C1B4
+:10302000002309F4F6C03DC1872D869586958370EF
+:1030300090E0009719F0019761F046C1112321F04B
+:103040008C2D972D937002C080E090E00E94821535
+:103050003BC1112321F08C2D972D937002C080E08D
+:1030600090E00E94981530C18C2D112319F00E9418
+:10307000702302C00E94D8230E945D2425C1872DA1
+:10308000837009F052C011111FC18C2D8295869555
+:103090008770880F880F9C2D9F70892E912CA12CF2
+:1030A000B12C082E04C0880C991CAA1CBB1C0A94C5
+:1030B000D2F7C4FE14C00FE010E020E030E0B90108
+:1030C000A80104C0440F551F661F771F8A95D2F7C9
+:1030D000CB01BA01609570958095909503C060E032
+:1030E00070E0CB01272D26952695237030E0223005
+:1030F000310569F02330310589F0682979298A2959
+:103100009B292130310571F00E94B51DDDC0682971
+:1031100079298A299B290E94D11DD6C00E94B51DFC
+:10312000C501B4010E94991DCFC0112319F0872D4C
+:10313000817001C08695882309F4C6C08C2D8295C4
+:1031400086958770880F880F9C2D9F70892E912CF3
+:10315000A12CB12C082E04C0880C991CAA1CBB1CE5
+:103160000A94D2F7C4FE14C00FE010E020E030E073
+:10317000B901A80104C0440F551F661F771F8A9527
+:10318000D2F7CB01BA01609570958095909503C0F8
+:1031900060E070E0CB01272D269526952370422F05
+:1031A00050E04230510569F04330510589F06829FB
+:1031B00079298A299B294130510571F00E948F1E7F
+:1031C00083C0682979298A299B290E94AB1E7CC06B
+:1031D0000E948F1EC501B4010E94731E75C08C2D04
+:1031E00090E0FC01E05EF109E531F10508F04FC027
+:1031F000E059FF4F0C94ED2B0C2D0F70872D8F7124
+:10320000112321F00E940C1E802F07CF0E942D1E3B
+:10321000802F0E94681758C0112341F0053008F034
+:1032200053C0872D8F710E94521E4EC0063008F089
+:103230004BC0F7CF112339F0872D8F710E940C1EE0
+:1032400043C01123C9F3872D8F710E942D1E3CC0EE
+:10325000112329F0872D8F710E94F71D35C00E9420
+:10326000ED1D32C0112351F0172D1F71812F0E94C7
+:103270000C1E63E0812F0E94201F26C081E00E9467
+:10328000291F023008F182E00E94291F1DC011236E
+:1032900031F0002389F28C2D0E949A1615C000236C
+:1032A00091F28C2D0E9439170FC0472D4F706C2D55
+:1032B000C7010E94CC090E94111D06C0472D4F7006
+:1032C0006C2DC7010E948B0ADD20F9F00E941C1FA3
+:1032D00080FD1BC0F70112820E94161F0E940C1E67
+:1032E000C7010E9494190E94161F0F90DF91CF9181
+:1032F0001F910F91FF90EF90DF90CF90BF90AF9014
+:103300009F908F907F900C942D1E0F90DF91CF9106
+:103310001F910F91FF90EF90DF90CF90BF90AF90F3
+:103320009F908F907F9008950F931F93CF93DF937B
+:10333000EC01888199812B813C81232BB9F09F3F3F
+:1033400011F48F3F99F0CE010E94E309882371F0B8
+:10335000688179818A810E94121F8C010E94C71E98
+:103360000E948E1DB801CE010E946F17DF91CF9190
+:103370001F910F9108950E94A01F0E94B01F0E94EC
+:10338000751F0E94CA1F0E9490250E945D2480E044
+:1033900090E00E94821580E090E00C9498150E94C5
+:1033A000901F0C94BB190E94071F292F22952F7084
+:1033B00030E02C3031054CF42A3031056CF42250C9
+:1033C000310922303105A8F407C02C30310569F0ED
+:1033D0002F30310551F00DC0803F69F018F4803E68
+:1033E00040F409C0843F29F406C093FB882780F984
+:1033F000089580E0089581E00895CF93DF9300D091
+:1034000000D01F92CDB7DEB70F900F900F900F90A6
+:103410000F90DF91CF910895CF93DF9300D000D02C
+:1034200000D0CDB7DEB726960FB6F894DEBF0FBE3C
+:10343000CDBFDF91CF9108951F93CF93DF93C091BC
+:10344000740116E080917501C81799F0D0E01C9FB7
+:10345000F0011D9FF00D1124EA58FE4F408151816B
+:1034600062817381848195810E940C1A2196C770B4
+:10347000E9CFDF91CF911F9108954091A60150911E
+:10348000A7016091A8017091A9018091AA01909172
+:10349000AB010C940C1A8091AB0182958F7009F0EE
+:1034A00054C08091A801882309F44FC08091740111
+:1034B000A09175016091A6017091A7014091A901A9
+:1034C0005091AA01B6E08A1709F43FC090E0411577
+:1034D0005105C1F17F3F11F46F3FA1F1B89FF00199
+:1034E000B99FF00D1124EA58FE4F218172132AC0B2
+:1034F0002081621327C02281211124C023813481BD
+:103500002417350710F421503109241B350B283CB2
+:103510003105C0F42091AB012F7020612093AB01E5
+:1035200026E0289FF001299FF00D1124E558FE4F59
+:1035300080818F708061808386EA91E00E94941977
+:103540000C941C1A01968770BECF0895CF92DF921B
+:10355000EF92FF920F931F93CF93DF93CDB7DEB718
+:1035600062970FB6F894DEBF0FBECDBF8C0185E029
+:10357000F801DE011D9601900D928A95E1F7D801C0
+:103580004C9111965C91119712966C91129713962B
+:10359000CD90DC9014973091A6017091A701809195
+:1035A000A9019091AA01009709F46BC17F3F19F41A
+:1035B0003F3F09F466C1E090A801EE2009F4C0C0C5
+:1035C0002091AB01C816D90628F0F601E81BF90BCB
+:1035D000CF0104C0809590958C0D9D1DFF24F39420
+:1035E000883C910578F0F12C207F09F0C6C07C2D35
+:1035F000D98AC88A89890E94FD1986EA91E00E94C9
+:103600009419B1C0822F807F09F046C0751314C091
+:10361000341312C0611110C02F7020612093AB01D0
+:103620000E943D1A86EA91E00E9494198091AB01B4
+:10363000D80115968C932EC0CD2819F15F3F11F457
+:103640004F3FF9F0F62E61111CC08091740120915A
+:10365000750136E0821709F45AC090E0389FF001F6
+:10366000399FF00D1124EA58FE4F7181571306C09F
+:103670007081471303C07281711103C00196877076
+:10368000E9CFF62E662309F418C18091AB01816061
+:103690008093AB01F12C11C1751308C0341306C01F
+:1036A000611104C08091AB01D801C3C04D875E8712
+:1036B0008D859E856A8B0E94D3196A898823E1F1E2
+:1036C0006623D1F12091AB01822F82958F7090E01B
+:1036D000029774F08091A6019091A70198878F833B
+:1036E0001986DB86CA862C87CE0107960E9494191C
+:1036F00086E0F801A6EAB1E001900D928A95E1F723
+:103700000E944B1A0E943D1AFF24F394D6C04D87A5
+:103710005E878D859E850E94071F292F22952F7019
+:1037200030E0223031050CF0BCC09F7009F0B6C00B
+:10373000805E883008F4C1C0C8010E949419E4CFAB
+:10374000C816D90608F453C0F601E81BF90BCF01DF
+:10375000883C910508F450C0F12C7C2DD98AC88A88
+:1037600089890E94FD19E6EAF1E086E0DF011D92F9
+:103770008A95E9F70E943D1AA0C0751314C034134E
+:1037800012C0611110C08091AB01F8018583C8019E
+:103790000E94941986E0E6EAF1E0DF011D928A9525
+:1037A000E9F7FE2C8AC04D875E878D859E856A8BE2
+:1037B0000E94D3196A89882309F4BECF662309F4CD
+:1037C000BBCF2091AB01822F82958F7090E0029742
+:1037D0000CF48ECF8091A6019091A7019A838983E2
+:1037E0001B82DD82CC822E83CE0101967FCF809515
+:1037F00090958C0D9D1DACCFF62E662309F49CCFC1
+:1038000075132EC034132CC02091AB0120FD1FC0B6
+:10381000822F82958F70D9F0D80115962C93159729
+:103820008F3049F08F5F982F9295907F822F8F7005
+:10383000892B15968C93C8010E94941986E0F80193
+:10384000A6EAB1E001900D928A95E1F793CF86E068
+:10385000F801A6EAB1E001900D928A95E1F72DC03A
+:103860004D875E878D859E850E94D319811140CF3B
+:103870008091AB0181608093AB01C8010E949419D3
+:103880001CC0662309F458CF4D875E878D859E85C1
+:103890000E94D319882309F44FCF2ACF811148CF32
+:1038A0000CC0243031050CF047CF9F7009F440CF95
+:1038B000F8019581907F09F03BCF8F2D62960FB66E
+:1038C000F894DEBF0FBECDBFDF91CF911F910F9156
+:1038D000FF90EF90DF90CF9008951F93CF93DF93E9
+:1038E000CDB7DEB72C970FB6F894DEBF0FBECDBFB5
+:1038F0004F83588769877A878B879C87CE01079685
+:103900000E94A61A882369F08F8198852A853B85B5
+:10391000232BF1F19F3F09F063C08F3F09F060C096
+:1039200037C086E0FE013796DE01119601900D92B8
+:103930008A95E1F76F817885EA85FB85309741F1BB
+:103940007F3F11F46F3F21F12091750130E0C901F3
+:103950000196877099274091740150E0841795076C
+:1039600009F447C069837A83FD83EC8396E0929FD4
+:10397000D001939FB00D1124AA58BE4FFE0131967D
+:1039800001900D929A95E1F7809375010E941C1A9F
+:1039900016E080917401909175018917C1F1189F0B
+:1039A000C00111248A589E4F0E94A61A882379F1DB
+:1039B000E09174011E9FF0011124EA58FE4F4081EE
+:1039C000518162817381848195810E940C1A80915A
+:1039D000740190E001968770992780937401D9CF84
+:1039E0004F81588569857A858B859C850E940C1A44
+:1039F000CFCF0E94CF191092750110927401E6EAA0
+:103A0000F1E086E0DF011D928A95E9F7C1CF2C969F
+:103A10000FB6F894DEBF0FBECDBFDF91CF911F91DF
+:103A20000895EF92FF920F931F93CF93DF938C0132
+:103A3000009709F46CC0F12CEE24E394E801219680
+:103A4000F8018491843740F4843008F051C081300B
+:103A500081F0823019F15BC0853709F444C0A8F1C8
+:103A60009CE7980F903708F052C08F770E94391763
+:103A700041C00E5F1F4FFE01C49180E28C0F883061
+:103A800048F4C7708E2D01C0880FCA95EAF70E94CE
+:103A9000A31F14C08C2F0E949A162DC00E5F1F4FBB
+:103AA000FE01C49180E28C0F883058F4C7708E2DCF
+:103AB00001C0880FCA95EAF70E94A91F0E94CA1F79
+:103AC0001AC08C2F0E94391716C00E5F1F4FFE01BF
+:103AD000C491CC2381F08FE99FE00197F1F700C0FA
+:103AE0000000C150F6CF0E5F1F4FFE01F49003C0DF
+:103AF0000E949A168E018F2D882309F49FCFEFE93B
+:103B0000FFE03197F1F700C000008150F5CFDF9161
+:103B1000CF911F910F91FF90EF90089508956093BA
+:103B2000B0017093B1018093B2019093B3010C94F2
+:103B3000BB190F931F930091B0011091B101209117
+:103B4000B2013091B301DC01CB01802B912BA22B70
+:103B5000B32B8093B0019093B101A093B201B093C5
+:103B6000B3011F910F910C94BB190F931F930091F8
+:103B7000B0011091B1012091B2013091B301DC018B
+:103B8000CB0180239123A223B3238093B001909390
+:103B9000B101A093B201B093B3011F910F910C94A6
+:103BA000BB190F931F930091B0011091B1012091A7
+:103BB000B2013091B301DC01CB0180279127A2270C
+:103BC000B3278093B0019093B101A093B201B09359
+:103BD000B3011F910F910C94BB191092AC0110927C
+:103BE000AD011092AE011092AF010C94BB1941E0EF
+:103BF00050E060E070E004C0440F551F661F771F5F
+:103C00008A95D2F74093AC015093AD016093AE0119
+:103C10007093AF010C94BB1941E050E060E070E09C
+:103C200004C0440F551F661F771F8A95D2F78091F5
+:103C3000AC019091AD01A091AE01B091AF01482BC4
+:103C4000592B6A2B7B2B4093AC015093AD016093B1
+:103C5000AE017093AF010C94BB1941E050E060E0FD
+:103C600070E004C0440F551F661F771F8A95D2F776
+:103C700040955095609570958091AC019091AD0103
+:103C8000A091AE01B091AF01482359236A237B2351
+:103C90004093AC015093AD016093AE017093AF01BE
+:103CA0000C94BB1941E050E060E070E004C0440FA8
+:103CB000551F661F771F8A95D2F78091AC019091AE
+:103CC000AD01A091AE01B091AF01482759276A27F5
+:103CD0007B274093AC015093AD016093AE0170938C
+:103CE000AF010C94BB190F931F930091AC0110917D
+:103CF000AD012091AE013091AF01DC01CB01802BF1
+:103D0000912BA22BB32B8093AC019093AD01A09388
+:103D1000AE01B093AF011F910F910C94BB190F939B
+:103D20001F930091AC011091AD012091AE01309133
+:103D3000AF01DC01CB0180239123A223B323809325
+:103D4000AC019093AD01A093AE01B093AF011F9170
+:103D50000F910C94BB190F931F930091AC0110911C
+:103D6000AD012091AE013091AF01DC01CB01802784
+:103D70009127A227B3278093AC019093AD01A09324
+:103D8000AE01B093AF011F910F910C94BB19089530
+:103D9000CF92DF92EF92FF920F931F93CF93DF9317
+:103DA0008C01C090B001D090B101E090B201F090D0
+:103DB000B3018091AC019091AD01A091AE01B091A1
+:103DC000AF01C82AD92AEA2AFB2ACFE1D0E0D701DD
+:103DD000C6010C2E04C0B695A795979587950A94B1
+:103DE000D2F780FF06C0B8018C2F0E94E80C019723
+:103DF00021F4219760F780E001C08C2FDF91CF91F3
+:103E00001F910F91FF90EF90DF90CF900895CF9387
+:103E1000DF93EC010E94C81EBE010E94E80CDF91F6
+:103E2000CF910895CB010E94071F08958091B4019E
+:103E300085958595859508958091B401877008953D
+:103E400098E0899F90011124262B2093B4010C94B3
+:103E50000C1E2091B401809582238093B401982F89
+:103E6000977069F430E0482F552747FD5095241787
+:103E7000350729F08595859585950C942D1E089517
+:103E80009091B401977081E009F480E00895209149
+:103E90000B0130910C01F90132969FEF40E05191F6
+:103EA000581789F09F3F19F4511101C0942F4F5FAB
+:103EB0004630A9F79F3F39F0F901E90FF11D97FD51
+:103EC000FA9582830895089520910B0130910C0199
+:103ED000F9013296285F3F4F9081981301C01082FC
+:103EE0003196E217F307C1F7089581E090E0E09181
+:103EF0000B01F0910C01E80FF91F10820196883038
+:103F00009105A9F708959091C001892B8093C00174
+:103F1000089580959091C00189238093C0010895F0
+:103F20001092C00108959091BF01892B8093BF0129
+:103F3000089580959091BF0189238093BF010895D2
+:103F40001092BF0108959091BE01892B8093BE010C
+:103F5000089580959091BE0189238093BE010895B4
+:103F60001092BE0108958093B50108951092B50195
+:103F7000089580910B0190910C01FC0131969C01F8
+:103F8000285F3F4F80E0919191118F5FE217F30717
+:103F9000D1F70895E0910B01F0910C018091C001DF
+:103FA0008083E0910B01F0910C0190818091BF0121
+:103FB000892B8083E0910B01F0910C01908180911D
+:103FC000BE01892B80838091B501882361F0E09147
+:103FD0000B01F0910C019081892B80830E94B91F05
+:103FE00081111092B50180910B0190910C010C94FC
+:103FF0002E159093330180933201089520E00097AD
+:1040000039F0AC0141505109842395232F5FF7CF3C
+:10401000822F08958295982F9C7C392F369536955E
+:10402000282F237344E0249FC0011124932F982B41
+:10403000292F2A7A2695892F8575880F822B089536
+:104040008091D601843021F11092C20120E488E1F0
+:1040500090E00FB6F894A895809360000FBE20936F
+:10406000600080E00E94860D83B7817F846083BFFB
+:1040700083B7816083BF7894889583B78E7F83BF31
+:1040800088E10FB6F89480936000109260000FBE34
+:1040900008950E94CA090E94AA080E94CB090E94A2
+:1040A000B20991E0811101C090E0892F08950E942A
+:1040B000CF190E9422150C94860D1F920F920FB6F5
+:1040C0000F9211248F939F93AF93BF938091C2015E
+:1040D000811113C08091C3019091C401A091C501C9
+:1040E000B091C6014196A11DB11D8093C30190936B
+:1040F000C401A093C501B093C601BF91AF919F9138
+:104100008F910F900FBE0F901F90189582E084BD85
+:1041100093E095BD9AEF97BD80936E0008952FB7F9
+:10412000F8948091C3019091C401A091C501B09110
+:10413000C6012FBF08952FB7F8946091C301709105
+:10414000C4018091C5019091C6012FBF0895CF92FF
+:10415000DF92EF92FF920F931F932FB7F894409145
+:10416000C3015091C4016091C5017091C6012FBF78
+:104170006A017B01EE24FF248C0120E030E0C016B0
+:10418000D106E206F30610F4415051099A01281BAA
+:10419000390BC9011F910F91FF90EF90DF90CF90E5
+:1041A0000895CF92DF92EF92FF920F931F932FB754
+:1041B000F894C090C301D090C401E090C501F09084
+:1041C000C6012FBF97018601061B170B280B390B61
+:1041D000C616D706E806F90618F0C901B80106C0E8
+:1041E000C901B80161507109810991091F910F91AD
+:1041F000FF90EF90DF90CF9008951F920F920FB62F
+:104200000F9211248F939F93AF93BF938091C3011B
+:104210009091C401A091C501B091C6010196A11D64
+:10422000B11D8093C3019093C401A093C501B093C5
+:10423000C601BF91AF919F918F910F900FBE0F90CC
+:104240001F9018950E942012F8942FEF87EA91E6AC
+:10425000215080409040E1F700C0000087E090EBE3
+:10426000DC018093E0019093E101A093E201B0931F
+:10427000E3019CE088E10FB6F894A8958093600074
+:104280000FBE90936000FFCFEF92FF920F931F93AA
+:10429000CF93DF93D82FC7E08C2F0E947D0907E0D2
+:1042A00010E0E82EF12CC701002E02C095958795ED
+:1042B0000A94E2F780FF09C0602F7C2F80E00E9403
+:1042C0008C0AD81302C081E006C00150110958F7CA
+:1042D000C15010F780E0DF91CF911F910F91FF90B7
+:1042E000EF900895CF93C82F8CE20E944421882339
+:1042F00021F08C2FCF910C94442180E0CF91089530
+:10430000CF930E94C822811102C00E94AE228AEA85
+:1043100096E00E94E507C5E6C15049F00E94AA0850
+:104320008FE39CE90197F1F700C00000F5CF83EA25
+:1043300096E00E94E50789E20E94722181110CC17A
+:104340008AE20E94722181110E94AE2285E00E94C1
+:10435000722181110E9422210E94D3228093C101E7
+:1043600087E00E9472218823A9F18BE10E947221CB
+:10437000882351F08091C10181FB222720F991E02F
+:10438000922790FB81F90EC08EE00E947221882353
+:1043900061F08091C10182FB222720F991E09227F0
+:1043A00090FB82F98093C10115C080E10E947221C7
+:1043B0009091C101882341F093FB222720F981E0ED
+:1043C000822780FB93F904C0892F809580FB90F9A8
+:1043D0009093C1018091C1010E94D7220E94E522E1
+:1043E0008093DF0180EE0E947221882341F080914A
+:1043F000DF01982F909590FB80F98093DF0189E38E
+:104400000E947221882359F08091DF0181FB2227CD
+:1044100020F991E0922790FB81F98093DF0182EEF1
+:104420000E947221882359F08091DF0182FB2227AC
+:1044300020F991E0922790FB82F98093DF0186EECC
+:104440000E947221882359F08091DF0183FB22278B
+:1044500020F991E0922790FB83F98093DF0183EEAE
+:104460000E947221882359F08091DF0184FB22276A
+:1044700020F991E0922790FB84F98093DF0185E396
+:104480000E947221882359F08091DF0185FB222749
+:1044900020F991E0922790FB85F98093DF0181E379
+:1044A0000E947221882359F08091DF0186FB222728
+:1044B00020F991E0922790FB86F98093DF0181E15A
+:1044C0000E947221882359F08091DF0187FB222707
+:1044D00020F991E0922790FB87F98093DF0180918A
+:1044E000DF010E94E92287E20E947221C82F8EE13B
+:1044F0000E9472218111C2608FE10E94722181119C
+:10450000C46080E20E9472218111C86081E20E9431
+:1045100072218111C06182E20E9472218111C06208
+:1045200083E20E9472218111C06484E20E947221A0
+:10453000882311F0C06802C0CC2329F08C2F0E9480
+:10454000E0226C2F03C00E94DC22682F70E080E024
+:1045500090E0CF910C948F1DCF9108956DEE7EEF7A
+:1045600080E090E00E94272C60E082E090E00E94D2
+:10457000152C60E083E090E00E94152C60E084E060
+:1045800090E00E94152C60E085E090E00C94152CE2
+:1045900080E090E00E940F2C21E08D3E9E4F09F0BC
+:1045A00020E0822F089582E090E00C94072C682F81
+:1045B00082E090E00C94152C83E090E00C94072CA2
+:1045C000682F83E090E00C94152C84E090E00C942C
+:1045D000072C682F84E090E00C94152C8091C90181
+:1045E00080FF0BC06091100185E0689FB00111242D
+:1045F00075956795759567952BC081FF09C060918A
+:10460000100185E0689FB00111247595679520C061
+:1046100082FF07C06091100185E0689FB0011124FE
+:1046200017C09091CA019923D1F060910F0196179C
+:1046300088F72091100185E0289F90011124929F16
+:10464000A001939F500D112470E0CA010E94D92B44
+:104650006038710540F46115710539F002C065E0FC
+:1046600070E0862F08958FE7089581E00895809186
+:10467000C90180FF08C060910E0170E075956795D3
+:104680007595679521C081FF06C060910E0170E0AD
+:104690007595679519C082FF04C060910E0170E0A6
+:1046A00010C09091CA019923C1F060910D01961735
+:1046B000A0F780910E01899FC001112470E00E9433
+:1046C000D92B6038710528F46115710521F0862F0A
+:1046D00008958FE7089581E0089561E070E0F4CFD8
+:1046E000803F21F40E94EE22819504C0813F29F48D
+:1046F0000E94EE228093CD010895823F21F40E9412
+:10470000EE22819504C0833F29F40E94EE2280931B
+:10471000CC010895893F19F40E94372305C08A3FD0
+:1047200031F40E94372381958093CE0108958B3F09
+:1047300021F40E943723819504C08C3F29F40E9404
+:1047400037238093CF010895843F21F48091CB01DA
+:10475000816017C0853F21F48091CB01826011C038
+:10476000863F21F48091CB0184600BC0873F21F408
+:104770008091CB01886005C0883F31F48091CB01E6
+:1047800080618093CB0108958D3F21F48091C90110
+:1047900081600BC08E3F21F48091C901826005C009
+:1047A0008F3F29F48091C90184608093C9010895E5
+:1047B000803F39F48091CD0187FF6CC01092CD010C
+:1047C00069C0813F29F48091CD011816BCF362C005
+:1047D0009091CC01823F29F497FF5CC01092CC01EC
+:1047E00059C0833F19F41916CCF354C0893F41F4E2
+:1047F0008091CE0118160CF04DC01092CE014AC027
+:104800008A3F29F48091CE0187FF44C0F6CF8B3FC9
+:1048100039F48091CF0187FF3DC01092CF013AC09B
+:104820008C3F29F48091CF011816BCF333C0843F2C
+:1048300021F48091CB018E7F17C0853F21F48091B8
+:10484000CB018D7F11C0863F21F48091CB018B7FFE
+:104850000BC0873F21F48091CB01877F05C0883F43
+:1048600031F48091CB018F7E8093CB0113C08D3FBB
+:1048700021F48091C9018E7F0BC08E3F21F480917D
+:10488000C9018D7F05C08F3F29F48091C9018B7FBD
+:104890008093C9018091CC0181110EC08091CD011E
+:1048A00081110AC08091CE01811106C08091CF0193
+:1048B000811102C01092CA0108958091C10183FF45
+:1048C0007EC086EE96E00E94E5078091CB011F92A4
+:1048D0008F9381EE96E09F938F930E947E088FEDD9
+:1048E00096E00E94E5078091CC01282F332727FD11
+:1048F00030953F938F938CED96E09F938F930E941A
+:104900007E088AED96E00E94E5078091CD01282F70
+:10491000332727FD30953F938F9387ED96E09F9344
+:104920008F930E947E0885ED96E00E94E5078091B6
+:10493000CE01282F332727FD30953F938F9382EDAB
+:1049400096E09F938F930E947E0880ED96E00E94F0
+:10495000E5078091CF01282F332727FD30953F931E
+:104960008F938DEC96E09F938F930E947E088AEC44
+:1049700096E00E94E5078091CA011F928F9387EC11
+:1049800096E09F938F930E947E0885EC96E00E94AC
+:10499000E5078091C9011F928F9382EC96E09F9367
+:1049A0008F930E947E088FEB96E00E94E5078DB7FB
+:1049B0009EB74C960FB6F8949EBF0FBE8DBF8BEC82
+:1049C00091E00E9477150E948F209093C8018093F8
+:1049D000C70108951F93CF93DF938091C7019091F2
+:1049E000C8010E94A720AC019091CA01992321F02F
+:1049F0002091110130E006C0209112018AE0289F29
+:104A0000900111244217530708F486C08091CC010D
+:104A1000C091CD01D091CE011091CF01811107C07D
+:104A2000C11176C0D11174C0111172C075C09F3F01
+:104A300019F09F5F9093CA01181624F40E94EE2289
+:104A40008093CC018091CC0187FF05C00E94EE22AB
+:104A500081958093CC011C1624F40E94EE22809351
+:104A6000CD018091CD0187FF05C00E94EE22819586
+:104A70008093CD016091CC01662339F1C091CD01C5
+:104A8000CC2319F1772767FD7095872F972F0E9408
+:104A9000DE2A23E333E343E35FE30E94422B0E94D9
+:104AA000AB2A6093CC016C2F772767FD7095872F19
+:104AB000972F0E94DE2A23E333E343E35FE30E9460
+:104AC000422B0E94AB2A6093CD011D1624F40E9454
+:104AD00037238093CE018091CE0187FF05C00E94CD
+:104AE000372381958093CE01111624F40E94372339
+:104AF0008093CF018091CF0187FF05C00E943723AB
+:104B000081958093CF01DF91CF911F910C945D240B
+:104B10009F3F09F08ECF96CFDF91CF911F910895DF
+:104B2000EBECF1E085E0DF011D928A95E9F7109248
+:104B3000CA011092C901089589E099E00E94E50731
+:104B40001F9281E08F931F9285E08F938BEB98E00B
+:104B50009F938F930E947E080F900F900F900F905D
+:104B60000F900F9008958330E9F128F4813061F0BF
+:104B7000823009F10895853009F462C008F449C013
+:104B8000863009F474C0089580911201262F30E018
+:104B9000280F311D2F3F310524F4680F6093120157
+:104BA00003C08FEF80931201809112011F928F93A7
+:104BB00084EF97E072C080911101262F30E0280F1A
+:104BC000311D2F3F310524F4680F6093110103C09C
+:104BD0008FEF80931101809111011F928F9382EECC
+:104BE00097E05BC080911001262F30E0280F311D27
+:104BF0002F3F310524F4680F6093100103C08FEF3D
+:104C000080931001809110011F928F938FEC97E099
+:104C100044C080910F01262F30E0280F311D2F3F17
+:104C2000310524F4680F60930F0103C08FEF809368
+:104C30000F0180910F011F928F938AEB97E02DC097
+:104C400080910E01262F30E0280F311D2F3F3105B6
+:104C500024F4680F60930E0103C08FEF80930E0160
+:104C600080910E011F928F9381EA97E016C0809188
+:104C70000D01262F30E0280F311D2F3F310524F480
+:104C8000680F60930D0103C08FEF80930D01809139
+:104C90000D011F928F9386E897E09F938F930E9458
+:104CA0007E080F900F900F900F900895833081F140
+:104CB00028F4813059F08230D1F00895853009F41C
+:104CC00049C0B8F1863009F456C0089580911201A8
+:104CD000681720F4861B8093120102C01092120103
+:104CE000809112011F928F9387E797E054C08091C3
+:104CF0001101681720F4861B8093110102C01092E5
+:104D00001101809111011F928F9385E697E043C0B6
+:104D100080911001681720F4861B8093100102C057
+:104D200010921001809110011F928F9382E597E0FD
+:104D300032C080910F01681720F4861B80930F0109
+:104D400002C010920F0180910F011F928F938DE38B
+:104D500097E021C080910E01681720F4861B809394
+:104D60000E0102C010920E0180910E011F928F93CE
+:104D700084E297E010C080910D01681720F4861B33
+:104D800080930D0102C010920D0180910D011F92C0
+:104D90008F9389E097E09F938F930E947E080F90F6
+:104DA0000F900F900F900895CF93C82F1F928F935D
+:104DB0008EE09AE09F938F930E947E0881E090E0BE
+:104DC000A0E0B0E0BC01CD0104C0660F771F881FD2
+:104DD000991FCA95D2F70E948F1D0F900F900F90C8
+:104DE0000F90CF910C94CF19CF938732B0F58E31BD
+:104DF00008F04AC28E3009F4C4C100F5873009F4C6
+:104E00008DC1A8F4863009F045C28091C101817F2F
+:104E10008E7F8093C1018DE79BE00E94E50786E1CC
+:104E20009FE00E94E50781E08093D10175C1883041
+:104E300009F43FC08B3009F46BC12CC2863109F4F0
+:104E4000E6C120F4803109F4B0C124C2893109F4EB
+:104E5000C7C18B3109F481C11DC2883309F458C11F
+:104E600050F4893209F412C2853309F40FC2873233
+:104E700009F40CC20FC2833409F408C228F48A333F
+:104E800008F408C2895303C2883409F003C20E949F
+:104E9000CF198AEF9EE00E94E5079FEF23ED80E3A4
+:104EA000915020408040E1F700C000000E94222184
+:104EB00033C18AE19FE00E94E5078CE79EE00E94F3
+:104EC000E5070E94DC221F928F9389E79EE09F9363
+:104ED0008F930E947E0887E79EE00E94E5070E946C
+:104EE000D322C82F84E69EE00E94E5071F92CF934D
+:104EF0008FE59EE09F938F930E947E088DE59EE054
+:104F00000E94E50783E59EE00E94E5078C2F8170F3
+:104F10001F928F9380E59EE09F938F930E947E085F
+:104F20008EE49EE00E94E50784E49EE00E94E5078F
+:104F3000C1FB882780F91F928F9381E49EE09F93A5
+:104F40008F930E947E088FE39EE00E94E50783E333
+:104F50009EE00E94E507C2FB882780F91F928F938D
+:104F600080E39EE09F938F930E947E088EE29EE0F6
+:104F70000E94E50785E29EE00E94E507C3FBCC277F
+:104F8000C0F91F92CF9382E29EE09F938F930E947D
+:104F90007E0880E29EE00E94E5070E94E522C82F7D
+:104FA0008CE09EE00E94E5071F92CF9387E09EE091
+:104FB0009F938F930E947E0885E09EE00E94E50704
+:104FC0008CEE9DE00E94E5078C2F81701F928F93DD
+:104FD00089EE9DE09F938F930E947E088DB79EB7C8
+:104FE00080960FB6F8949EBF0FBE8DBF87EE9DE0F2
+:104FF0000E94E50780ED9DE00E94E507C1FB882740
+:1050000080F91F928F938DEC9DE09F938F930E9468
+:105010007E088BEC9DE00E94E50789EB9DE00E94F5
+:10502000E507C2FB882780F91F928F9386EB9DE0EE
+:105030009F938F930E947E0884EB9DE00E94E5077A
+:1050400082EA9DE00E94E507C3FB882780F91F9252
+:105050008F938FE99DE09F938F930E947E088DE947
+:105060009DE00E94E50783E99DE00E94E507C4FBFF
+:10507000882780F91F928F9380E99DE09F938F93FB
+:105080000E947E088EE89DE00E94E5078CE79DE087
+:105090000E94E507C5FB882780F91F928F9389E757
+:1050A0009DE09F938F930E947E0887E79DE00E947A
+:1050B000E5078BE59DE00E94E507C6FB882780F9A0
+:1050C0001F928F9388E59DE09F938F930E947E08A7
+:1050D00086E59DE00E94E5078EE49DE00E94E507DD
+:1050E000C7FBCC27C0F91F92CF938BE49DE09F9321
+:1050F0008F930E947E0889E49DE00E94E5078DB7AA
+:105100009EB74C960FB6F8949EBF0FBE8DBF04C0DD
+:1051100084EA9BE00E94E507C1E0C1C08091C10123
+:10512000C82FC095C170C0FB80F98093C101CC230A
+:1051300049F08EEE9EE00E94E5078091C1018660F5
+:10514000886048C081EE9EE00E94E5078091C10121
+:10515000897F877F8093C101DFCF9091C10191FB4F
+:10516000CC27C0F981E0C827892FC0FB81F9809343
+:10517000C101CC2319F084ED9EE027C086EC9EE0AF
+:10518000C9CF9091C10192FBCC27C0F981E0C8271B
+:10519000892FC0FB82F98093C101CC2319F087EBE2
+:1051A0009EE013C087EA9EE0B5CF9091C10193FBCA
+:1051B000CC27C0F981E0C827892FC0FB83F98093F1
+:1051C000C101CC2351F08BE99EE00E94E50780915C
+:1051D000C10181608093C10162C08EE89EE09ACFD8
+:1051E0008EE69BE00E94E50786E49BE00E94E507CF
+:1051F00080E19BE00E94E50783EE9AE00E94E507CC
+:1052000084EA9AE00E94E50789E79AE083CF8BE67B
+:105210009AE00E94E5070E9422151F928F9381E574
+:105220009AE09F938F930E947E0880910A011F92BB
+:105230008F938AE39AE09F938F930E947E088091D8
+:1052400064011F928F9387E29AE09F938F930E944D
+:105250007E088091C3019091C401A091C501B091D5
+:10526000C601BF93AF939F938F9383E19AE09F937F
+:105270008F930E947E088DB79EB742960FB6F89422
+:105280009EBF0FBE8DBF48CF8D5101C080E00E94F0
+:10529000D42642CF8CE89EE00E94E507C0E08C2F28
+:1052A000CF91089580E0089580E00895CF93C82FAE
+:1052B0008091D101813071F020F0823009F44BC02F
+:1052C00042C1E0910B01F0910C018081823209F022
+:1052D0003CC107C0E0910B01F0910C01808182324A
+:1052E00061F48C2F0E945229811104C08C2F0E94DE
+:1052F000F4262FC081E090E02CC08C2F0E9454290E
+:10530000811126C0C431E1F070F4CB3081F0C0319E
+:10531000D1F40E949C2586E09AE00E94E50782E095
+:105320008093D10115C0C93259F0C83361F48DE7BB
+:105330009BE00E94E5078AE09AE00E94E50708C02A
+:105340001092D10104C184E09AE00E94E507FFC0F9
+:1053500081E08170FEC0C43228F5CE3108F0C1C0B2
+:10536000CB30A1F1D0F4C73009F0D3C08EE18093E7
+:10537000120182E3809311018AE08093100184E19D
+:1053800080930F0188E080930E0188E280930D01E5
+:105390008AEA98E00E94E507BFC0C33149F1C431F1
+:1053A000C1F0B7C0CB3409F4A9C028F4C93289F0E0
+:1053B000C83361F0AEC0C13509F49EC0C23509F4EE
+:1053C00099C0CE3409F0A5C06AE09EC00E949C2519
+:1053D000A3C08091D001882319F01092D0019CC005
+:1053E00087EB98E00E94E50781E08093D101B1C08E
+:1053F00081E998E00E94E5078FE798E00E94E507C1
+:10540000809112011F928F938CE798E09F938F9366
+:105410000E947E088AE798E00E94E50788E698E007
+:105420000E94E507809111011F928F9385E698E015
+:105430009F938F930E947E0883E698E00E94E50781
+:1054400084E598E00E94E507809110011F928F93F8
+:1054500081E598E09F938F930E947E088FE498E007
+:105460000E94E5078EE398E00E94E50780910F0116
+:105470001F928F938BE398E09F938F930E947E08F7
+:1054800089E398E00E94E50784E298E00E94E5073E
+:1054900080910E011F928F9381E298E09F938F93EA
+:1054A0000E947E088FE198E00E94E50788E098E07E
+:1054B0000E94E50780910D011F928F9385E098E08F
+:1054C0009F938F930E947E0883E098E00E94E507F7
+:1054D0008DB79EB748960FB6F8949EBF0FBE8DBF8E
+:1054E0001BC0CE51EC2FF0E0E95DFE4F8081809330
+:1054F000D00112C061E003C061E006C06AE08091A3
+:10550000D0010E94B32508C08091D0010E94562688
+:1055100003C088EA98E013C08091D001882369F025
+:105520001F928F9382EA98E09F938F930E947E0848
+:105530000F900F900F900F9004C08FE998E00E9499
+:10554000E50781E006C01092D10180E002C080E052
+:1055500000CFCF91089504D06894B1118DC0089503
+:1055600070D088F09F5790F0B92F9927B751A0F0CD
+:10557000D1F0660F771F881F991F1AF0BA95C9F7E7
+:1055800012C0B13081F077D0B1E0089574C0672FB8
+:10559000782F8827B85F39F0B93FCCF38695779597
+:1055A0006795B395D9F73EF4909580957095619580
+:1055B0007F4F8F4F9F4F0895E89409C097FB3EF4AB
+:1055C00090958095709561957F4F8F4F9F4F992350
+:1055D000A9F0F92F96E9BB279395F69587957795CE
+:1055E0006795B795F111F8CFFAF4BB0F11F460FF8E
+:1055F0001BC06F5F7F4F8F4F9F4F16C0882311F0E6
+:1056000096E911C0772321F09EE8872F762F05C0F9
+:10561000662371F096E8862F70E060E02AF09A9594
+:10562000660F771F881FDAF7880F9695879597F989
+:10563000089557FD9058440F551F59F05F3F71F082
+:105640004795880F97FB991F61F09F3F79F08795E9
+:105650000895121613061406551FF2CF4695F1DF72
+:1056600008C0161617061806991FF1CF8695710502
+:10567000610508940895E894BB2766277727CB0136
+:1056800097F908950BD078C069D028F06ED018F043
+:10569000952309F05AC05FC01124EECFCADFA0F3F2
+:1056A000959FD1F3950F50E0551F629FF001729FB7
+:1056B000BB27F00DB11D639FAA27F00DB11DAA1FD6
+:1056C000649F6627B00DA11D661F829F2227B00D23
+:1056D000A11D621F739FB00DA11D621F839FA00DAE
+:1056E000611D221F749F3327A00D611D231F849FFE
+:1056F000600D211D822F762F6A2F11249F57504055
+:105700008AF0E1F088234AF0EE0FFF1FBB1F661FEF
+:10571000771F881F91505040A9F79E3F510570F0A8
+:1057200014C0AACF5F3FECF3983EDCF386957795E3
+:105730006795B795F795E7959F5FC1F7FE2B880FA3
+:10574000911D9695879597F9089597F99F6780E839
+:1057500070E060E008959FEF80EC089500240A94C3
+:105760001616170618060906089500240A9412163C
+:105770001306140605060895092E0394000C11F46F
+:10578000882352F0BB0F40F4BF2B11F460FF04C01C
+:105790006F5F7F4F8F4F9F4F0895991B79E004C033
+:1057A000991F961708F0961B881F7A95C9F7809560
+:1057B000089597FB072E16F4009407D077FD09D0C3
+:1057C0000E94F32B07FC05D03EF4909581959F4FE6
+:1057D0000895709561957F4F0895EE0FFF1F059016
+:1057E000F491E02D0994AA1BBB1B51E107C0AA1F2D
+:1057F000BB1FA617B70710F0A61BB70B881F991F72
+:105800005A95A9F780959095BC01CD010895F99915
+:10581000FECF92BD81BDF89A992780B50895A8E181
+:10582000B0E042E050E00C942F2C262FF999FECFE7
+:1058300092BD81BDF89A019700B4021639F01FBAE3
+:1058400020BD0FB6F894FA9AF99A0FBE0895019602
+:10585000272F0E94162C0C94152CDC01CB01FC0187
+:10586000F999FECF06C0F2BDE1BDF89A319600B4B9
+:0E5870000D9241505040B8F70895F894FFCFC4
+:10587E00880D790E560E220EEE0D01B60128081473
+:10588E000A321E3F4D36203106E405AE058E051A4E
+:10589E000533054C056505010203040506070809D5
+:0258AE000000F8
+:00000001FF
diff --git a/keyboard/hhkb/keymaps/lxol/keymap.c b/keyboard/hhkb/keymaps/lxol/keymap.c new file mode 100644 index 000000000..ccf1e0704 --- /dev/null +++ b/keyboard/hhkb/keymaps/lxol/keymap.c @@ -0,0 +1,208 @@ +/* -*- eval: (turn-on-orgtbl); -*- + * lxol HHKB Layout + */ +#include "hhkb.h" + +#define BASE 0 +#define WIN 1 +#define HHKB 2 +#define RGUILEV 3 +#define LGUILEV 4 +#define RALTLEV 5 +#define LALTLEV 6 + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Layer 0: Default Layer + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | RGUI | RAlt | + |------+------+-------+------+------| + */ + + [BASE] = KEYMAP( // layer 0 : default + + + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, LT(LALTLEV,KC_A), LT(LGUILEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV,KC_L), LT(RALTLEV,KC_SCLN), KC_QUOT, KC_FN0, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \ + KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT), + + + + /* Layer 1: HHKB mode (HHKB Fn) + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | | | | | | | + | - | End | PgD | Dow | | | | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + + |---+---+---+---+---| + | | | | | | + |---+---+---+---+---| + */ + + [HHKB] = KEYMAP( + KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \ + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \ + KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + + /* Layer LGUI: All keys with RGUI modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | RGUI | RAlt | + |------+------+-------+------+------| + */ + + [RGUILEV] = KEYMAP( // Right GUI layer by KC_L + + RGUI(KC_ESC), RGUI(KC_1), RGUI(KC_2), RGUI(KC_3), RGUI(KC_4), RGUI(KC_5), RGUI(KC_6), RGUI(KC_7), RGUI(KC_8), RGUI(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), RGUI(KC_BSLS), RGUI(KC_GRV), \ + RGUI(KC_TAB), RGUI(KC_Q), RGUI(KC_W), RGUI(KC_E), RGUI(KC_R), RGUI(KC_T), RGUI(KC_Y), RGUI(KC_U), RGUI(KC_I), RGUI(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), RGUI(KC_BSPC), \ + RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), KC_FN0, \ + RGUI(KC_LSFT), RGUI(KC_Z), RGUI(KC_X), RGUI(KC_C), RGUI(KC_V), RGUI(KC_B), RGUI(KC_N), RGUI(KC_M), RGUI(KC_COMM), RGUI(KC_DOT), RGUI(KC_SLSH), RGUI(KC_RSFT), KC_TRNS, \ + KC_LALT, KC_LGUI, RGUI(KC_SPC), KC_RGUI, KC_RALT), + + /* Layer LGUI: All keys with LGUI modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | LGUI | RAlt | + |------+------+-------+------+------| + */ + + [LGUILEV] = KEYMAP( // Right GUI layer by KC_L + + LGUI(KC_ESC), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS), LGUI(KC_EQL), LGUI(KC_BSLS), LGUI(KC_GRV), \ + LGUI(KC_TAB), LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), LGUI(KC_BSPC), \ + LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), KC_FN0, \ + KC_LSFT, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), KC_RSFT, KC_TRNS, \ + KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_LGUI, KC_RALT), + + /* Layer LALT: All keys with RALT modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | RGUI | RAlt | + |------+------+-------+------+------| + */ + + [RALTLEV] = KEYMAP( // Right ALT layer by KC_L + + RALT(KC_ESC), RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), RALT(KC_EQL), RALT(KC_BSLS), RALT(KC_GRV), \ + RALT(KC_TAB), RALT(KC_Q), RALT(KC_W), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(KC_Y), RALT(KC_U), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), RALT(KC_RBRC), RALT(KC_BSPC), \ + RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), KC_FN0, \ + RALT(KC_LSFT), RALT(KC_Z), RALT(KC_X), RALT(KC_C), RALT(KC_V), RALT(KC_B), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), RALT(KC_SLSH), RALT(KC_RSFT), KC_TRNS, \ + KC_LALT, KC_LGUI, RALT(KC_SPC), KC_RGUI, KC_RALT), + + /* Layer LALT: All keys with LALT modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | LGUI | RAlt | + |------+------+-------+------+------| + */ + + [LALTLEV] = KEYMAP( // Right ALT layer by KC_L + + LALT(KC_ESC), LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), LALT(KC_MINS), LALT(KC_EQL), LALT(KC_BSLS), LALT(KC_GRV), \ + LALT(KC_TAB), LALT(KC_Q), LALT(KC_W), LALT(KC_E), LALT(KC_R), LALT(KC_T), LALT(KC_Y), LALT(KC_U), LALT(KC_I), LALT(KC_O), LALT(KC_P), LALT(KC_LBRC), LALT(KC_RBRC), LALT(KC_BSPC), \ + LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), KC_FN0, \ + KC_LSFT, LALT(KC_Z), LALT(KC_X), LALT(KC_C), LALT(KC_V), LALT(KC_B), LALT(KC_N), LALT(KC_M), LALT(KC_COMM), LALT(KC_DOT), LALT(KC_SLSH), KC_RSFT, KC_TRNS, \ + KC_LALT, KC_LGUI, LALT(KC_SPC), KC_LGUI, KC_RALT), + + + /* Layer WIN: Win layer + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + + |------+------+-------+------+------| + | LGui | LAlt | Space | RGui | Ralt | + |------+------+-------+------+------| + */ + + [WIN] = KEYMAP( // BASE level with swapped GUI/ALT + + + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, LT(LGUILEV,KC_A), LT(LALTLEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV,KC_L), LT(RGUILEV,KC_SCLN), KC_QUOT, KC_FN0, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \ + KC_RGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI)}; + + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT) // RControl with tap Enter* +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; |