diff options
author | Stephan Bösebeck <stephan.boesebeck@holidayinsider.com> | 2016-04-02 15:15:21 +0200 |
---|---|---|
committer | Stephan Bösebeck <stephan.boesebeck@holidayinsider.com> | 2016-04-02 15:15:21 +0200 |
commit | f0424a0c0fa4153234ad6979929e5a2426c86f21 (patch) | |
tree | 53deb01f09e9feb9a2fa11259c75411adceb2f3c /keyboard/ergodox_ez | |
parent | 71cdfe11682cf63c262380747d8a1b3d48a6bad0 (diff) | |
parent | aee8715815544b076c123d4ed55c76e23a7e54d0 (diff) | |
download | qmk_firmware-f0424a0c0fa4153234ad6979929e5a2426c86f21.tar.gz qmk_firmware-f0424a0c0fa4153234ad6979929e5a2426c86f21.tar.xz |
Merge branch 'master' of https://github.com/sboesebeck/qmk_firmware
Diffstat (limited to 'keyboard/ergodox_ez')
-rw-r--r-- | keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md | 29 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex | 1127 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png | bin | 0 -> 73585 bytes | |||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png | bin | 0 -> 59122 bytes | |||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png | bin | 0 -> 53319 bytes | |||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c | 185 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 60 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png | bin | 749565 -> 684862 bytes |
8 files changed, 1371 insertions, 30 deletions
diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md new file mode 100644 index 000000000..984106ff4 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md @@ -0,0 +1,29 @@ +# ErgoDox EZ Dvorak International Squisher + +Dvorak layout adjusted with several (linux) applications in mind: + +* Easier Escape for VIM +* Windows/Super key for awesome WM +* Alt+Shift for international characters +* PrintScreen for sys-rq +* Insert for the X11 clip-board + +Major layer changes: + +* Common multimedia keys are integrated into layer 0, less common into layer 1 +* No mouse keys +* Layer 2 is qwerty (for easier gaming & less fortunate keyboard users) + +Known issues: + +* Alt+Shift does not work reliably (depends on the X11 kb layout? Not + entirely clear...) + +![layer0](keyboard-layout0.png) +![layer1](keyboard-layout1.png) +![layer2](keyboard-layout2.png) + +## Changelog + +* 2016-03-29 + * Initial release diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex new file mode 100644 index 000000000..bd70f5829 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex @@ -0,0 +1,1127 @@ +:100000000C9465020C94AC020C94AC020C94AC02FF
+:100010000C94AC020C94AC020C94AC020C94AC02A8
+:100020000C94AC020C94AC020C94B50B0C94870CA1
+:100030000C94AC020C94AC020C94AC020C94AC0288
+:100040000C94AC020C943B210C94AC020C94AC02CA
+:100050000C94AC020C94C71A0C94AC020C94AC0235
+:100060000C94AC020C94AC020C94AC020C94AC0258
+:100070000C94AC020C94AC020C94AC020C94AC0248
+:100080000C94AC020C94AC020C94AC020C94AC0238
+:100090000C94AC020C94AC020C94AC020C94AC0228
+:1000A0000C94AC020C94AC020C94AC02F40C160D43
+:1000B000040E160D040E5B0D7E0D040ED30DE60D21
+:1000C000D110D11000110011431181119A139A130C
+:1000D0009A119A139B129B126E139A139A138513FB
+:1000E0000000F0A12E0029002A00E1003581000067
+:1000F0001E00340004003371E2004D001F00360082
+:1001000012001400E3002B002000370008000D004F
+:1001100050002C002100130018000E004F004A0070
+:1001200022001C000C001B0000006571B6004C0092
+:100130000000007F00000154AE004900000000777D
+:1001400000000254230009000700050000004600DB
+:1001500024000A000B00100052004B00250006008E
+:1001600017001A0051002800260015001100190080
+:100170002F00E51427000F0016001D7130004E00FF
+:10018000318238002D00E500C100000001000100AF
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00AC0001003D0030025F
+:1001C00027023000AB0001003E003102350035024D
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:100200000100A9004100250022001F003700010065
+:1002100042002600230020002700A80043002502FA
+:100220002E0231002E00AA0044004500010001000A
+:1002300001000000010001000100010001000000B8
+:100240000100140004001D710100010001001A00EA
+:1002500016001B0001000100010008000700060055
+:100260000100010001001500090019000100010052
+:10027000010017000A000500000001000100010054
+:100280000000010000000100010001000000010069
+:100290000000010001001C000B0011000000010023
+:1002A000010018000D0010000100010001000C0009
+:1002B0000E00360001000100010012000F0037009F
+:1002C00001000100010013003382387101000100B8
+:1002D00001000100010001000100000016034500BB
+:1002E000720067006F0044006F0078002000450036
+:1002F0005A00000016034500720067006F004400BA
+:100300006F007800200045005A0000000403090433
+:1003100009026D00040100A0FA09040000010301B4
+:100320000100092111010001223F00070581030896
+:10033000000A090401000103010200092111010062
+:1003400001224D000705820308000A09040200018A
+:100350000300000009211101000122360007058376
+:100360000308000A09040300010300000009211129
+:100370000100012239000705840310000112011059
+:100380000100000008EDFE07130100010200010555
+:10039000010906A101050719E029E71500250195C6
+:1003A0000875018102050819012905950575019156
+:1003B000029501750391010507190029771500259C
+:1003C00001957875018102C005010980A1018502AE
+:1003D00016010026B7001A01002AB7007510950112
+:1003E0008100C0050C0901A1018503160100269CAE
+:1003F000021A01002A9C02751095018100C00501B6
+:100400000902A1010901A100050919012905150029
+:10041000250195057501810295017503810105018D
+:10042000093009311581257F950275088106093843
+:100430001581257F950175088106050C0A3802157E
+:1004400081257F950175088106C0C005010906A1B7
+:1004500001050719E029E7150025019508750181B7
+:100460000295017508810105081901290595057591
+:100470000191029501750391010507190029FF15E6
+:100480000025FF950675088100C0000000000000EF
+:100490000000000000010204060A0F17202C3A4A4F
+:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2
+:1004B000B39D87715D4A3A2C20170F0A060402018A
+:1004C0000000000000000000000011241FBECFEF5C
+:1004D000DAE0DEBFCDBF04B603FE27C08091EF0196
+:1004E0009091F001A091F101B091F2018730904B11
+:1004F000A740B04BD1F41092EF011092F00110928E
+:10050000F1011092F20114BE84B7877F84BF0FB649
+:10051000F894A895809160008861809360001092A3
+:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C
+:10053000E8E1F6E402C005900D92A433B107D9F7C3
+:1005400021E0A4E3B1E001C01D92AF3EB207E1F7A4
+:100550000E94F6080C940A230C94000061110BC051
+:10056000FC018281882321F085EE0E94660F03C082
+:1005700085EE0E942E1080E090E00895089560912D
+:10058000B1017091B2018091B3019091B4010E94C8
+:10059000F01956985E9825982D9826982E982798A9
+:1005A0002F98813019F0823021F00895259A2D9AE4
+:1005B0000895269A2E9A08950C94BF0256985E9834
+:1005C00025982D9826982E9827982F988FEF90E0B1
+:1005D000909389008093880090938B0080938A0089
+:1005E00090938D0080938C00259A2D9A2FEF80E7B1
+:1005F00092E0215080409040E1F700C00000269A30
+:100600002E9A2FEF80E792E0215080409040E1F752
+:1006100000C00000279A2F9A2FEF80E792E0215028
+:1006200080409040E1F700C0000025982D982FEF02
+:1006300080E792E0215080409040E1F700C0000048
+:1006400026982E982FEF80E792E02150804090402E
+:10065000E1F700C0000027982F9856985E982598DB
+:100660002D9826982E9827982F98089589EA809398
+:10067000800089E08093810024982C983F988AB16B
+:100680008F748AB96E98479A8BB1806B8BB9769AC2
+:100690000E94DE020C94BE0280E2809300018091F1
+:1006A000340181110EC00E949B0381E080933401CC
+:1006B0002FEF83ED90E3215080409040E1F700C0A0
+:1006C000000080E40E94A1038093000181112EC0EC
+:1006D0000E94CB0380930001811128C00E94CB03AC
+:1006E00080930001811122C08FE30E94CB0380938D
+:1006F000000181111BC00E94C30380E40E94A1037A
+:1007000080930001811112C08CE00E94CB03809382
+:10071000000181110BC00E94CB0380930001811165
+:1007200005C08FE30E94CB03809300010E94C303A6
+:100730008091000108951092B9008AE08093B8007A
+:10074000089594EA9093BC009091BC0097FFFCCF71
+:100750009091B900987F983021F0903111F081E0AC
+:1007600008958093BB0084E88093BC008091BC0016
+:1007700087FFFCCF8091B900887F883111F08034E9
+:1007800071F780E0089584E98093BC008091BC00FB
+:1007900084FDFCCF08958093BB0084E88093BC0067
+:1007A0008091BC0087FFFCCF9091B900987F81E0D9
+:1007B000983209F480E0089584E88093BC00809129
+:1007C000BC0087FFFCCF8091BB00089580910001A1
+:1007D000811115C080E40E94A10380930001811162
+:1007E0000CC082E10E94CB0380930001811105C0FF
+:1007F0008FEF0E94CB03809300010E94C30384B15A
+:10080000807F84B985B1807F85B98AB1837F8AB9B9
+:100810008BB1837F8BB93E98469808950E944C0314
+:10082000809300010E94E60380B38C7080BB81B38B
+:10083000836F81BBA6E3B1E0E4E4F1E08EE08E0FCC
+:1008400011921D928E13FCCF0C943603BF92CF925F
+:10085000DF92EF92FF920F931F93CF93DF938091DC
+:100860000001882379F0809135018F5F80933501F5
+:10087000811108C00E944C0380930001811102C0C5
+:100880000E94DE0206E311E0C0E0D0E0DD24D39454
+:1008900082E0C82EEE24E394F12CC730D10500F598
+:1008A00080910001811164C080E40E94A1038093C3
+:1008B0000001811112C082E10E94CB0380930001EC
+:1008C00081110BC0C7010C2E01C0880F0A94EAF7F2
+:1008D00080950E94CB03809300010E94C30348C00F
+:1008E000CA30A1F028F4C83059F0C93061F005C011
+:1008F000CC3089F070F0CD3089F0209A289810C063
+:10090000219A29980DC0229A2A980AC0239A2B98D6
+:1009100007C0529A01C0539A5B9802C03E9A46980B
+:1009200090EA9A95F1F79FB1799902C082E001C0EF
+:1009300080E091709D25982B7C9902C084E001C0D5
+:1009400080E0892B7D9902C038E001C030E0832B24
+:100950007E9902C020E101C020E0822B9FB19095DA
+:10096000991F9927991F9295990F907E892B0FC0F7
+:1009700080910001811149C080E40E94A10380930D
+:100980000001882379F1B12C0E94C3038B2DF8015B
+:100990009081981719F08083C09201010E94E603AC
+:1009A00021960F5F1F4FCE30D10509F076CF809191
+:1009B0000101882361F1815080930101882339F07E
+:1009C0008FE99FE00197F1F700C0000020C0A4E488
+:1009D000B1E0E6E3F1E0CF01825F91919D938E1348
+:1009E000FCCF15C083E10E94CB03809300018111ED
+:1009F000CACF81E40E94A103809300018111C3CF7B
+:100A00000E94DC03B82EB094BFCF80E0C0CF0E941C
+:100A1000DC0281E0DF91CF911F910F91FF90EF9069
+:100A2000DF90CF90BF900895E82FF0E0EC5BFE4F91
+:100A30008081089508958B3B910578F4883A91055B
+:100A400040F5853A9105D0F48430910508F0B1C0A5
+:100A50008130910509F4ADC06BC0803E910508F46A
+:100A600067C0883E910508F4A4C09C01205F31094D
+:100A70002031310508F05CC090650895853A9105F4
+:100A800009F459C0863A910509F058C082E890E40B
+:100A90000895883A910509F454C0893A910509F4FA
+:100AA00053C08A3A910509F452C08B3A910509F472
+:100AB00051C08C3A910509F450C08D3A910509F462
+:100AC0004FC0803B910509F44EC08E3A910509F460
+:100AD0004DC08F3A910509F44CC0813B910509F452
+:100AE0004BC0823B910509F44AC0833B910509F450
+:100AF00049C0843B910509F448C0853B910509F440
+:100B000047C0863B910509F446C0873B910509F42F
+:100B100045C0883B910509F444C0893B910509F41F
+:100B200043C08A3B910509F442C080E094E40895F3
+:100B300080E090E0089581E890E4089583E890E4EF
+:100B4000089582EE94E4089589EE94E408958AEE7F
+:100B500094E4089585EB94E4089586EB94E4089575
+:100B600087EB94E408958CEC94E408958DEC94E480
+:100B7000089583E895E408958AE895E4089582E964
+:100B800095E4089584E995E4089581E296E4089552
+:100B900083E296E4089584E296E4089585E296E47B
+:100BA000089586E296E4089587E296E408958AE23D
+:100BB00096E40895089596E0799FF001112494E554
+:100BC000899FE00DF11D1124E60FF11DEE0FFF1FAF
+:100BD000EC51FF4F859194910895880F991FFC0166
+:100BE000E05AF040859194910895880F991FFC0177
+:100BF000E052FF4F85919491089526E0729FF00195
+:100C0000112444E5849FE00DF11D1124E60FF11D30
+:100C1000EE0FFF1FEC51FF4F859194919C013A9587
+:100C200021154FE1340708F41CC13F512115304113
+:100C300020F49F700E94F50508959C013053211502
+:100C4000304118F49927906C0895811520E592079A
+:100C500071F40E94BE134FEF84E39CE0415080404A
+:100C60009040E1F700C000000E94EC1AFAC0813009
+:100C700020E5920731F48091CD0181608093CD0110
+:100C8000F0C09C0130552115304108F051C0292F8A
+:100C900033272F70332721303105D9F4AC0143704D
+:100CA000552702C0220F331F4A95E2F73C68AC017A
+:100CB00064E0440F551F6A95E1F744275370242BD5
+:100CC000352B73E0880F991F7A95E1F78076992785
+:100CD0001DC02230310529F4982F8827816F906A32
+:100CE000089523303105A9F4AC014370552721E064
+:100CF00030E002C0220F331F4A95E2F73C6843E020
+:100D0000880F991F4A95E1F7807E9770822B932B6D
+:100D1000089524303105E1F4AC014370552721E0FA
+:100D200030E002C0220F331F4A95E2F73A68E7CF5E
+:100D30009C0130572115304118F49F70906208953E
+:100D40009C0130582115304118F49F70906A089525
+:100D5000803E9105E0F4803C910558F58133910582
+:100D600009F46FC048F48932910509F463C08A32EE
+:100D7000910509F46DC072C089339105E9F082389C
+:100D80009105D1F08533910509F44DC067C0833ECC
+:100D9000910581F138F4803E9105B9F0823E9105CC
+:100DA000D9F05CC0863E910561F1873E9105A1F1C5
+:100DB00055C00E94ED0508952091E00120FD02C07C
+:100DC00021FF4CC080EE90E049C08091E00180FF9F
+:100DD000F9CF89E390E042C08091E00182FF0EC02C
+:100DE0008091E00184FF03C080E090E037C083EE93
+:100DF00090E034C08091E00182FFF2CF82EE90E07B
+:100E00002DC08091E00183FF0BC08091E00184FD43
+:100E1000EBCF87EE90E022C08091E00183FFF5CF19
+:100E200086EE90E01BC08091E00185FF07C089E25B
+:100E300090E014C08091E00185FFF9CF85E390E058
+:100E40000DC08091E00186FF07C08AE290E006C0F5
+:100E50008091E00186FFF9CF81E390E00E941B05BD
+:100E60000895089508950C943207809162010895C1
+:100E7000CF93DF9300D01F92CDB7DEB79C01809156
+:100E8000E601843019F593E099833B832A8390939C
+:100E9000E9008FEF9091E800815095FD06C095ED37
+:100EA0009A95F1F700008111F5CF8091E80085FF58
+:100EB0000DC040E050E063E070E0CE0101960E947A
+:100EC000A5098091E8008E778093E8000F900F903D
+:100ED0000F90DF91CF910895CF93DF9300D01F92B1
+:100EE000CDB7DEB72091E601243021F522E0298339
+:100EF0009B838A8383E08093E9008FEF9091E800E1
+:100F0000815095FD06C095ED9A95F1F7000081118D
+:100F1000F5CF8091E80085FF0DC040E050E063E030
+:100F200070E0CE0101960E94A5098091E8008E77BD
+:100F30008093E8000F900F900F90DF91CF9108956C
+:100F40002091E6012430F1F422E02093E9002FEF14
+:100F50003091E800215035FD06C035ED3A95F1F7A6
+:100F600000002111F5CF2091E80025FF0BC040E0E3
+:100F700050E065E070E00E94A5098091E8008E775E
+:100F80008093E8000895CF93DF93EC019091E60100
+:100F9000943009F046C080910C018823D9F08091EB
+:100FA0000D018823B9F09093E9008FEF9091E8004C
+:100FB000815095FD06C095E19A95F1F700008111E9
+:100FC000F5CF8091E80085FF2CC040E050E060E163
+:100FD00070E017C081E08093E9008FEF9091E80006
+:100FE000815095FD06C095ED9A95F1F700008111AD
+:100FF000F5CF8091E80085FF14C040E050E068E044
+:1010000070E0CE010E94A5098091E8008E77809360
+:10101000E80080E1FE01A2E5B1E001900D928A9521
+:10102000E1F7DF91CF9108958091E501811109C029
+:101030000E943A0B0E94970B8091E200846080939B
+:10104000E20008951092E501089508950C94282176
+:101050000E94821A0E942E210E943D0E0C9433079A
+:1010600042E061EC81E00E94B40A42E061EC82E07F
+:101070000E94B40A42E061EC83E00E94B40A42E1BB
+:1010800061EC84E00C94B40A8091E801833009F4A7
+:1010900055C030F4813071F0823009F48EC008956B
+:1010A0008A3009F47AC08B3009F460C0893009F0C5
+:1010B0009CC020C08091E701813A09F096C08091E0
+:1010C000E800877F8093E8008091EB019091EC012C
+:1010D000892B21F460E182E591E003C060E080E0CB
+:1010E00090E070E00E94F0098091E8008B77809397
+:1010F000E80008958091E701813209F076C080917F
+:10110000EB019091EC01009719F0039709F06DC085
+:101110008091E800877F8093E8008091E80082FD5D
+:1011200005C08091E6018111F8CF5FC08091F10088
+:10113000809362018091E8008B7753C08091E70132
+:10114000813A09F052C08091EB019091EC01892B1A
+:1011500009F04BC08091E800877F8093E800809180
+:10116000E80080FFFCCF80910C0136C08091E70140
+:101170008132D9F58091EB019091EC01892BA9F591
+:101180008091E800877F8093E8000E94E90A8091BF
+:10119000E90180930C010C94BE138091E701813228
+:1011A00021F58091E800877F8093E8000E94E90A9A
+:1011B0008091EA018093630108958091E701813A6B
+:1011C000A1F48091E800877F8093E8008091E80097
+:1011D00080FFFCCF809163018093F1008091E80053
+:1011E0008E778093E8000C94E90A089584B7877F8E
+:1011F00084BF0FB6F894A8958091600088618093B1
+:101200006000109260000FBE90E080E80FB6F89486
+:1012100080936100909361000FBE0E948C0E0E942B
+:101220003A0B0E94970B8091E20084608093E20069
+:1012300078940E941D0E0E948E0E82E091E00E9422
+:10124000380E0E9416218091E601853069F40E94D3
+:10125000401A8091E4018823B1F30E946E1A88231A
+:1012600091F30E948F09EFCF0E94940EECCF292FAB
+:10127000332723303105C9F064F42130310581F082
+:101280002230310509F043C08DE690E020E133E0E3
+:1012900042C021323105F1F02232310541F137C02F
+:1012A00082E190E02DE733E036C099278130910547
+:1012B00041F08230910541F0892B49F5ECE0F3E0F3
+:1012C00005C0E4EFF2E002C0ECEDF2E0849190E0C2
+:1012D0009F0121C06430D8F4E62FF0E0EE0FFF1F2D
+:1012E000EE5DFE4F2081318189E090E014C06430D2
+:1012F00070F470E0FB01EE0FFF1FE65EFE4F2081F1
+:101300003181FB01EA5EFE4F808190E004C080E005
+:1013100090E020E030E0FA0131832083089580E1FD
+:1013200089BD82E189BD09B400FEFDCF8091D8005E
+:101330008F7D8093D8008091E00082608093E000F0
+:101340008091E00081FDFCCF0895CF92DF92EF9273
+:10135000FF920F931F93CF93DF93EC018B016A01F0
+:101360000E94080B811133C0C114D10439F0F60179
+:1013700080819181081B190BC80FD91FE12CF12C1A
+:101380000115110519F18091E80085FD16C08091C5
+:10139000E8008E778093E800C114D10449F0F6018B
+:1013A00080819181E80EF91EF182E08285E00FC014
+:1013B0000E94080B882321F30AC089918093F100D1
+:1013C00001501109FFEFEF1AFF0ADACF80E0DF9139
+:1013D000CF911F910F91FF90EF90DF90CF900895E4
+:1013E0002091ED013091EE012617370748F0611585
+:1013F000710539F42091E8002E772093E80001C0B0
+:10140000B90140E061157105A9F12091E60122239F
+:1014100009F443C0253009F442C02091E80023FDBF
+:1014200040C02091E80022FD32C02091E80020FF5A
+:10143000E9CF4091F3002091F20030E0342BFC0121
+:10144000CF016115710559F02830310540F48191C3
+:101450008093F100615071092F5F3F4FF1CF41E060
+:101460002830310509F040E02091E8002E772093E4
+:10147000E800C8CF4111C9CF0AC08091E601882396
+:1014800061F0853061F08091E80083FD0AC08091B1
+:10149000E80082FFF2CF80E0089582E0089583E0C3
+:1014A000089581E008952091ED013091EE01261715
+:1014B000370748F06115710539F42091E8002E775F
+:1014C0002093E80001C0B901FC0120E0611571051D
+:1014D00091F18091E601882309F440C0853009F438
+:1014E0003FC08091E80083FD3DC08091E80082FD0F
+:1014F0002FC08091E80080FFE9CF2091F300809118
+:10150000F20090E0922B6115710559F08830910539
+:1015100040F424912093F1003196615071090196B5
+:10152000F2CF21E0089709F020E08091E8008E7763
+:101530008093E800CBCF2111CCCF0AC08091E60187
+:10154000882361F0853061F08091E80083FD0AC056
+:101550008091E80082FFF2CF80E0089582E0089554
+:1015600083E0089581E00895982F973058F590937F
+:10157000E900981739F07091EC002091ED0050913E
+:10158000F00003C0242F762F50E021FF19C03091C6
+:10159000EB003E7F3093EB003091ED003D7F3093C8
+:1015A000ED003091EB0031603093EB007093EC0074
+:1015B0002093ED005093F0002091EE0027FF07C02C
+:1015C0009F5FD3CF8F708093E90081E0089580E022
+:1015D00008958091E70187FF11C08091E80082FDA6
+:1015E00005C08091E6018111F8CF11C08091E8001B
+:1015F0008B770BC08091E601882349F08091E80049
+:1016000080FFF8CF8091E8008E778093E8000895FE
+:101610002091E4003091E50095E64091EC00842FA4
+:10162000817040FF22C08091E80080FD1CC0809145
+:10163000E601882391F0853091F08091EB0085FDE3
+:1016400010C04091E4005091E5004217530729F380
+:101650009A01915011F784E0089582E0089583E0A3
+:10166000089581E0089580E008954091E80042FFE8
+:10167000DECF08950E94A80B0E94B00BE0EEF0E0D0
+:10168000808181608083E8EDF0E080818F778083C6
+:1016900019BCA7EDB0E08C918E7F8C9380818F7EFA
+:1016A00080831092E50108950F931F93CF93DF93EA
+:1016B0000E94A80B0E94B00BC8EDD0E088818F7704
+:1016C000888388818068888388818F7D888319BC1E
+:1016D0001092E6011092E2011092E4011092E301EF
+:1016E00000EE10E0F80180818B7F8083888181602B
+:1016F000888342E060E080E00E94B40AE1EEF0E01E
+:1017000080818E7F8083E2EEF0E080818160808343
+:10171000808188608083F80180818E7F80838881CA
+:1017200080618883DF91CF911F910F910895E8ED3B
+:10173000F0E080818F7E8083E7EDF0E08081816042
+:10174000808384E082BF81E08093E5010C94540B98
+:10175000E8EDF0E080818E7F80831092E2000895B2
+:101760001092DA001092E10008951F920F920FB6C6
+:101770000F9211242F933F934F935F936F937F9317
+:101780008F939F93AF93BF93EF93FF938091E1006B
+:1017900082FF0BC08091E20082FF07C08091E100D0
+:1017A0008B7F8093E1000E941C0E8091DA0080FF05
+:1017B0001FC08091D80080FF1BC08091DA008E7F0F
+:1017C0008093DA008091D90080FF0DC080E189BD4F
+:1017D00082E189BD09B400FEFDCF81E08093E6017E
+:1017E0000E94140805C019BC1092E6010E9422084C
+:1017F0008091E10080FF19C08091E20080FF15C058
+:101800008091E2008E7F8093E2008091E20080610F
+:101810008093E2008091D80080628093D80019BC48
+:1018200085E08093E6010E9426088091E10084FF14
+:1018300030C08091E20084FF2CC080E189BD82E14C
+:1018400089BD09B400FEFDCF8091D8008F7D8093C3
+:10185000D8008091E1008F7E8093E1008091E200CA
+:101860008F7E8093E2008091E20081608093E200AD
+:101870008091E201882311F084E007C08091E300A9
+:1018800087FD02C081E001C083E08093E6010E94F1
+:1018900028088091E10083FF29C08091E20083FF46
+:1018A00025C08091E100877F8093E10082E08093F2
+:1018B000E6011092E2018091E1008E7F8093E100C9
+:1018C0008091E2008E7F8093E2008091E20080614F
+:1018D0008093E20042E060E080E00E94B40A8091E0
+:1018E000F00088608093F0000E942508FF91EF913E
+:1018F000BF91AF919F918F917F916F915F914F9128
+:101900003F912F910F900FBE0F901F9018951F922F
+:101910000F920FB60F9211242F933F934F935F9323
+:101920006F937F938F939F93AF93BF93CF93DF93E7
+:10193000EF93FF93C091E900CF708091EC00D82F16
+:10194000D17080FDD0E81092E9008091F000877F8F
+:101950008093F00078940E94CB0C1092E900809163
+:10196000F00088608093F000CD2BCF70C093E90029
+:10197000FF91EF91DF91CF91BF91AF919F918F91A7
+:101980007F916F915F914F913F912F910F900FBE7B
+:101990000F901F9018951F93CF93DF93CDB7DEB7AD
+:1019A000AA970FB6F894DEBF0FBECDBFE7EEF1E009
+:1019B00088E08E0F9091F10091938E13FBCF0E94DF
+:1019C00044088091E80083FF1FC18091E701909156
+:1019D000E801492F50E04A30510508F015C1FA01DD
+:1019E000EA5AFF4F0C94BF22803881F0823809F008
+:1019F0000BC18091EB018F708093E9008091EB0027
+:101A000085FB882780F91092E90006C08091E301E8
+:101A10009091E401911182609091E800977F9093FA
+:101A2000E8008093F1001092F100C8C0282F2D7FAC
+:101A300009F0EAC0882319F0823061F0E5C0809196
+:101A4000E901813009F0E0C0933009F080E0809333
+:101A5000E4012BC08091E901811127C08091EB0145
+:101A60008F7009F4D1C08093E9002091EB0020FF32
+:101A70001CC0933021F48091EB00806214C09091DF
+:101A8000EB0090619093EB0021E030E0A90102C0EF
+:101A9000440F551F8A95E2F74093EA001092EA003E
+:101AA0008091EB0088608093EB001092E9008091B8
+:101AB000E800877F86C08111A7C01091E9011F77D8
+:101AC0008091E3008078812B8093E3008091E8008F
+:101AD000877F8093E8000E94E90A8091E80080FFF8
+:101AE000FCCF8091E30080688093E300111102C075
+:101AF00082E001C083E08093E60186C08058823096
+:101B000008F082C08091E9019091EA018C3D53E098
+:101B1000950779F583E08A838AE289834FB7F89441
+:101B2000DE01139620E03EE051E2E32FF0E0509317
+:101B30005700E49120FF03C0E295EF703F5FEF7024
+:101B40008E2F90E0EA3010F0C79601C0C0968D93BA
+:101B50009D932F5F243149F74FBF8091E800877F25
+:101B60008093E8006AE270E0CE0101960E94F009DD
+:101B700014C0AE014F5F5F4F6091EB010E943709C7
+:101B8000BC01892B09F440C09091E800977F9093A5
+:101B9000E80089819A810E94530A8091E8008B773E
+:101BA0008093E80031C0803879F58091E800877F24
+:101BB0008093E8008091E2018093F1008091E80039
+:101BC0008E778093E8000E94E90A1EC081111CC034
+:101BD0009091E9019230C0F48091E800877F809372
+:101BE000E8009093E2010E94E90A8091E2018111EC
+:101BF00006C08091E30087FD02C081E001C084E05F
+:101C00008093E6010E9430088091E80083FF0AC0BB
+:101C10008091E800877F8093E8008091EB008062EC
+:101C20008093EB00AA960FB6F894DEBF0FBECDBF2F
+:101C3000DF91CF911F9108950895CF938091E60190
+:101C40008823A1F0C091E900CF709091EC00892F1A
+:101C5000817090FD80E8C82B1092E9008091E80027
+:101C600083FD0E94CB0CCF70C093E900CF91089503
+:101C700090936901809368010895E0916801F09163
+:101C80006901309721F00190F081E02D099480E006
+:101C90000895E0916801F0916901309721F0028088
+:101CA000F381E02D09940895E0916801F0916901B4
+:101CB000309721F00480F581E02D0994089520915A
+:101CC0006601309167018217930771F09093670165
+:101CD00080936601E0916801F0916901309721F0ED
+:101CE0000680F781E02D09940895209164013091D8
+:101CF00065018217930771F09093650180936401E9
+:101D0000E0916801F0916901309721F00084F1853C
+:101D1000E02D0994089508950C948B0E0E94881A62
+:101D20000E940E040C944E1BCF92DF92EF92FF9212
+:101D30000F931F93CF93DF93CDB7DEB72B970FB6DB
+:101D4000F894DEBF0FBECDBF0E9426048BE6C82EDE
+:101D500081E0D82E00E010E0E02E802F0E941405D4
+:101D6000F60141916F01F42EF826B1F40F5F1F4F79
+:101D70000E30110589F78FEF89838A831B820E94B9
+:101D8000911A8160782F9D838C8349815A816B8160
+:101D90008D810E94370F40C09091CD0191FF04C00A
+:101DA0008B870E941A058B8520E030E04F2D50E094
+:101DB000922FBA01022E02C0759567950A94E2F738
+:101DC00060FF24C02E83EF8221E030E0690102C071
+:101DD000CC0CDD1C9A95E2F790E08C219D21892B9B
+:101DE00009F420E028870E94911A8160782F9A8751
+:101DF00089874E815F8168858A850E94370FF80147
+:101E0000E559FE4F8081C826C08206C02F5F3F4F34
+:101E10002630310569F6AACF0E94351E10916A015D
+:101E20000E943D0E1817A1F00E943D0E80936A019A
+:101E30002B960FB6F894DEBF0FBECDBFDF91CF91CA
+:101E40001F910F91FF90EF90DF90CF900C9433078C
+:101E50002B960FB6F894DEBF0FBECDBFDF91CF91AA
+:101E60001F910F91FF90EF90DF90CF900895CF9347
+:101E7000DF93CDB7DEB72B970FB6F894DEBF0FBE5A
+:101E8000CDBF4F83588769877A878B87DE0111968C
+:101E900086E0FD0111928A95E9F785E0FE0137960B
+:101EA00001900D928A95E1F749815A816B817C817D
+:101EB0008D819E810E9458162B960FB6F894DEBF36
+:101EC0000FBECDBFDF91CF9108950895CF938823A2
+:101ED00009F4C2C0C82F823859F40E943D0E81FD1A
+:101EE000BBC089E30E94F4180E94C11989E30CC0A9
+:101EF000833879F40E943D0E80FDAEC083E50E94D8
+:101F0000F4180E94C11983E50E943619CF910C94F0
+:101F1000C119843859F40E943D0E82FD9DC087E4AA
+:101F20000E94F4180E94C11987E4EECF8CEF8C0F49
+:101F3000813A48F48C2F0E947B2081118DC08C2F18
+:101F40000E94F418E3CF80E28C0F883048F4C77009
+:101F500081E001C0880FCA95EAF70E947A19D6CFAE
+:101F60008BE58C0F833078F4C53A29F0C63A31F00E
+:101F700083E890E005C081E890E002C082E890E04C
+:101F8000CF910C945F0E88E58C0F833108F064C00C
+:101F9000C83A39F1C93A41F1CA3A49F1CB3A51F15B
+:101FA000CC3A59F1CD3A61F1C03B69F1CE3A71F1C9
+:101FB000CF3A79F1C13B81F1C23B89F1C33B91F149
+:101FC000C43B99F1C53BA1F1C63BA9F1C73BB1F1B7
+:101FD000C83BB9F1C93BC1F1CA3BC9F180E090E00F
+:101FE00038C082EE90E035C089EE90E032C08AEED3
+:101FF00090E02FC085EB90E02CC086EB90E029C0EC
+:1020000087EB90E026C08CEC90E023C08DEC90E054
+:1020100020C083E891E01DC08AE891E01AC082E9FF
+:1020200091E017C084E991E014C081E292E011C010
+:1020300083E292E00EC084E292E00BC085E292E07F
+:1020400008C086E292E005C087E292E002C08AE220
+:1020500092E0CF910C94750ECF910895882309F4E6
+:102060004BC0823859F40E943D0E81FF45C089E380
+:102070000E94F4180E94C11989E30CC0833871F4DE
+:102080000E943D0E80FF38C083E50E94F4180E9434
+:10209000C11983E50E9436190C94C119843859F48A
+:1020A0000E943D0E82FF28C087E40E94F4180E941F
+:1020B000C11987E4EFCF9CEF980F913A58F390E263
+:1020C000980F983050F4877091E001C0990F8A956D
+:1020D000EAF7892F0E948019DFCF9BE5980F933094
+:1020E00020F480E090E00C945F0E885A833120F455
+:1020F00080E090E00C94750E0895882321F00E94F2
+:102100007A190C94C1190895882321F00E9480192E
+:102110000C94C1190895BF92CF92DF92EF92FF9273
+:102120000F931F93CF93DF9300D000D000D0CDB793
+:10213000DEB725E0FC01DE01119601900D922A9593
+:10214000E1F7FC01D08011810281258122952F7059
+:1021500043815481452B09F4EDC21F3F21F4FFEF69
+:10216000DF1609F4E7C27C012E830E94650FD98235
+:102170001A8389819A810E94B318182FB92E0E9460
+:10218000B2180E9479172E81002319F00E94971926
+:102190002E81EB2DE295EF70F0E0E05AFF4F0C94AA
+:1021A000BF228B2D807F9B2D9F70F92E882319F0E5
+:1021B000F29480EFF822002349F0FF2009F467C26F
+:1021C0008F2D0E948A190E94C11961C2812F0E941D
+:1021D0002E10FF2009F4AEC28F2D0E949019269672
+:1021E0000FB6F894DEBF0FBECDBFDF91CF911F9128
+:1021F0000F91FF90EF90DF90CF90BF900C94C1199A
+:102200003B2D307F8B2D8F70303211F08295807F87
+:10221000112319F0113021F12CC00023B9F0222331
+:1022200009F4A0C1213009F09DC126960FB6F8949B
+:10223000DEBF0FBECDBFDF91CF911F910F91FF90F9
+:10224000EF90DF90CF90BF900C94AA19222319F041
+:10225000213009F46FC28E830E94AD198E8196C120
+:10226000002321F0223008F065C27CC1211162C236
+:102270008DC1002321F0222309F474C108C2222356
+:1022800009F484C119C22B2D26952695237030E0C0
+:102290002115310521F021303105D1F04BC2002349
+:1022A00021F0812F9B2D937002C080E090E0269654
+:1022B0000FB6F894DEBF0FBECDBFDF91CF911F9157
+:1022C0000F91FF90EF90DF90CF90BF900C945F0E36
+:1022D000002321F0812F9B2D937002C080E090E0BD
+:1022E00026960FB6F894DEBF0FBECDBFDF91CF911B
+:1022F0001F910F91FF90EF90DF90CF90BF900C94C3
+:10230000750E812F002319F00E943D1D02C00E940E
+:10231000A51D26960FB6F894DEBF0FBECDBFDF9188
+:10232000CF911F910F91FF90EF90DF90CF90BF90D2
+:102330000C942A1E8B2D837009F07BC00111FAC109
+:10234000812F829586958770880F880F912F9F70B7
+:10235000C92ED12CE12CF12C082E04C0CC0CDD1C94
+:10236000EE1CFF1C0A94D2F714FF12C04FE050E09D
+:1023700060E070E004C0440F551F661F771F8A9508
+:10238000D2F7CB01BA01609570958095909503C006
+:1023900060E070E0CB012B2D269526952370422F0F
+:1023A00050E042305105D9F04330510569F16C29B4
+:1023B0007D298E299F294130510551F126960FB66E
+:1023C000F894DEBF0FBECDBFDF91CF911F910F916B
+:1023D000FF90EF90DF90CF90BF900C94A0176C29E6
+:1023E0007D298E299F2926960FB6F894DEBF0FBE51
+:1023F000CDBFDF91CF911F910F91FF90EF90DF90B4
+:10240000CF90BF900C94BC170E94A017C701B601D3
+:1024100026960FB6F894DEBF0FBECDBFDF91CF91E9
+:102420001F910F91FF90EF90DF90CF90BF900C9491
+:102430008417002319F08B2D817001C086958823A5
+:1024400009F478C1812F829586958770880F880F4F
+:10245000912F9F70C92ED12CE12CF12C082E04C095
+:10246000CC0CDD1CEE1CFF1C0A94D2F714FF12C02A
+:102470004FE050E060E070E004C0440F551F661F5D
+:10248000771F8A95D2F7CB01BA0160957095809538
+:10249000909503C060E070E0CB012B2D269526952A
+:1024A0002370422F50E042305105D9F0433051059E
+:1024B00069F16C297D298E299F294130510551F1FF
+:1024C00026960FB6F894DEBF0FBECDBFDF91CF9139
+:1024D0001F910F91FF90EF90DF90CF90BF900C94E1
+:1024E0007A186C297D298E299F2926960FB6F89493
+:1024F000DEBF0FBECDBFDF91CF911F910F91FF9037
+:10250000EF90DF90CF90BF900C9496180E947A18AD
+:10251000C701B60126960FB6F894DEBF0FBECDBF39
+:10252000DF91CF911F910F91FF90EF90DF90CF90AF
+:10253000BF900C945E18103FD1F118F4103E50F487
+:10254000A1C0123F09F463C008F44CC0133F09F462
+:1025500073C098C01F708B2D8F710023A1F00E9453
+:10256000F717812F26960FB6F894DEBF0FBECDBFAA
+:10257000DF91CF911F910F91FF90EF90DF90CF905F
+:10258000BF900C947D100E941818812F26960FB6CC
+:10259000F894DEBF0FBECDBFDF91CF911F910F9199
+:1025A000FF90EF90DF90CF90BF900C9484100023A9
+:1025B000A9F02111BFC08B2D8F7126960FB6F8940C
+:1025C000DEBF0FBECDBFDF91CF911F910F91FF9066
+:1025D000EF90DF90CF90BF900C943D18223008F020
+:1025E000A9C0E9CF0023A9F08B2D8F7126960FB6D5
+:1025F000F894DEBF0FBECDBFDF91CF911F910F9139
+:10260000FF90EF90DF90CF90BF900C94F7170023CE
+:1026100059F38B2D8F7126960FB6F894DEBF0FBE3F
+:10262000CDBFDF91CF911F910F91FF90EF90DF9081
+:10263000CF90BF900C941818002399F08B2D8F71B8
+:1026400026960FB6F894DEBF0FBECDBFDF91CF91B7
+:102650001F910F91FF90EF90DF90CF90BF900C945F
+:10266000E21726960FB6F894DEBF0FBECDBFDF91FE
+:10267000CF911F910F91FF90EF90DF90CF90BF907F
+:102680000C94D8170023A9F0222309F4ADCF812F91
+:1026900026960FB6F894DEBF0FBECDBFDF91CF9167
+:1026A0001F910F91FF90EF90DF90CF90BF900C940F
+:1026B000660F222309F4ADCF812F26960FB6F8942A
+:1026C000DEBF0FBECDBFDF91CF911F910F91FF9065
+:1026D000EF90DF90CF90BF900C942E104B2D4F7049
+:1026E000612FC7010E94AE0226960FB6F894DEBF96
+:1026F0000FBECDBFDF91CF911F910F91FF90EF9053
+:10270000DF90CF90BF900C94FC164B2D4F70612F33
+:10271000C70126960FB6F894DEBF0FBECDBFDF917E
+:10272000CF911F910F91FF90EF90DF90CF90BF90CE
+:102730000C94DA0526960FB6F894DEBF0FBECDBF17
+:10274000DF91CF911F910F91FF90EF90DF90CF908D
+:10275000BF9008950E9497190E94A7190E946C19B2
+:102760000E94C1190E94DA1E0E942A1E80E090E099
+:102770000E945F0E80E090E00C94750E0E94871915
+:102780000C94AA130E94B318292F22952F7030E0C1
+:102790002C3031054CF42A3031056CF422503109CB
+:1027A0002230310588F407C02C30310549F02F3034
+:1027B000310531F009C0803E48F0803F29F406C061
+:1027C00093FB882780F9089580E0089581E00895BB
+:1027D000CF93DF9300D000D01F92CDB7DEB70F901C
+:1027E0000F900F900F900F90DF91CF910895CF939E
+:1027F000DF9300D000D000D0CDB7DEB726960FB65D
+:10280000F894DEBF0FBECDBFDF91CF9108951F9327
+:10281000CF93DF93C091790116E080917A01C817B8
+:1028200099F0D0E01C9FF0011D9FF00D1124E55898
+:10283000FE4F4081518162817381848195810E9424
+:10284000F7132196C770E9CFDF91CF911F910895BB
+:102850004091AB015091AC016091AD017091AE011E
+:102860008091AF019091B0010C94F7138091B00169
+:1028700082958F7009F054C08091AD01882309F4CE
+:102880004FC080917901A0917A016091AB01709164
+:10289000AC014091AE015091AF01B6E08A1709F446
+:1028A0003FC090E041155105C1F17F3F11F46F3FEA
+:1028B000A1F1B89FF001B99FF00D1124E558FE4F2A
+:1028C000218172132AC02081621327C02281211125
+:1028D00024C0238134812417350710F42150310995
+:1028E000241B350B283C3105C0F42091B0012F701A
+:1028F00020612093B00126E0289FF001299FF00D70
+:102900001124E058FE4F80818F70806180838BEAB4
+:1029100091E00E948B100C94071401968770BECF33
+:102920000895CF92DF92EF92FF920F931F93CF9370
+:10293000DF93CDB7DEB762970FB6F894DEBF0FBE58
+:10294000CDBF8C0185E0F801DE011D9601900D924E
+:102950008A95E1F7D8014C9111965C9111971296E6
+:102960006C9112971396CD90DC9014973091AB0137
+:102970007091AC018091AE019091AF01009709F484
+:102980006BC17F3F19F43F3F09F466C1E090AD0190
+:10299000EE2009F4C0C02091B001C816D90628F075
+:1029A000F601E81BF90BCF0104C0809590958C0DC2
+:1029B0009D1DFF24F394883C910578F0F12C207F35
+:1029C00009F0C6C07C2DD98AC88A89890E94E8137B
+:1029D0008BEA91E00E948B10B1C0822F807F09F0BA
+:1029E00046C0751314C0341312C0611110C02F708B
+:1029F00020612093B0010E9428148BEA91E00E948C
+:102A00008B108091B001D80115968C932EC0CD28E3
+:102A100019F15F3F11F44F3FF9F0F62E61111CC020
+:102A20008091790120917A0136E0821709F45AC029
+:102A300090E0389FF001399FF00D1124E558FE4FCA
+:102A40007181571306C07081471303C072817111E1
+:102A500003C001968770E9CFF62E662309F418C1EA
+:102A60008091B00181608093B001F12C11C1751388
+:102A700008C0341306C0611104C08091B001D801B0
+:102A8000C3C04D875E878D859E856A8B0E94C21369
+:102A90006A898823E1F16623D1F12091B001822F68
+:102AA00082958F7090E0029774F08091AB019091C5
+:102AB000AC0198878F831986DB86CA862C87CE0166
+:102AC00007960E948B1086E0F801ABEAB1E0019016
+:102AD0000D928A95E1F70E9436140E942814FF2473
+:102AE000F394D6C04D875E878D859E850E94B3186E
+:102AF000292F22952F7030E0223031050CF0BCC018
+:102B00009F7009F0B6C0805E883008F4C1C0C8016B
+:102B10000E948B10E4CFC816D90608F453C0F60102
+:102B2000E81BF90BCF01883C910508F450C0F12C4B
+:102B30007C2DD98AC88A89890E94E813EBEAF1E0E2
+:102B400086E0DF011D928A95E9F70E942814A0C053
+:102B5000751314C0341312C0611110C08091B001FC
+:102B6000F8018583C8010E948B1086E0EBEAF1E052
+:102B7000DF011D928A95E9F7FE2C8AC04D875E879A
+:102B80008D859E856A8B0E94C2136A89882309F409
+:102B9000BECF662309F4BBCF2091B001822F82956E
+:102BA0008F7090E002970CF48ECF8091AB019091E2
+:102BB000AC019A8389831B82DD82CC822E83CE0175
+:102BC00001967FCF809590958C0D9D1DACCFF62EF4
+:102BD000662309F49CCF75132EC034132CC02091AA
+:102BE000B00120FD1FC0822F82958F70D9F0D801CF
+:102BF00015962C9315978F3049F08F5F982F9295EB
+:102C0000907F822F8F70892B15968C93C8010E941C
+:102C10008B1086E0F801ABEAB1E001900D928A9545
+:102C2000E1F793CF86E0F801ABEAB1E001900D92B5
+:102C30008A95E1F72DC04D875E878D859E850E9420
+:102C4000C213811140CF8091B00181608093B001A7
+:102C5000C8010E948B101CC0662309F458CF4D8711
+:102C60005E878D859E850E94C213882309F44FCF0D
+:102C70002ACF811148CF0CC0243031050CF047CF4A
+:102C80009F7009F440CFF8019581907F09F03BCF08
+:102C90008F2D62960FB6F894DEBF0FBECDBFDF91C9
+:102CA000CF911F910F91FF90EF90DF90CF900895FB
+:102CB0001F93CF93DF93CDB7DEB72C970FB6F89461
+:102CC000DEBF0FBECDBF4F83588769877A878B875A
+:102CD0009C87CE0107960E949114882369F08F810A
+:102CE00098852A853B85232BF1F19F3F09F063C02E
+:102CF0008F3F09F060C037C086E0FE013796DE01E5
+:102D0000119601900D928A95E1F76F817885EA8599
+:102D1000FB85309741F17F3F11F46F3F21F1209106
+:102D20007A0130E0C90101968770992740917901B5
+:102D300050E08417950709F447C069837A83FD83BF
+:102D4000EC8396E0929FD001939FB00D1124A5587B
+:102D5000BE4FFE01319601900D929A95E1F7809356
+:102D60007A010E94071416E08091790190917A010E
+:102D70008917C1F1189FC001112485589E4F0E94E8
+:102D80009114882379F1E09179011E9FF0011124BB
+:102D9000E558FE4F40815181628173818481958124
+:102DA0000E94F7138091790190E00196877099272E
+:102DB00080937901D9CF4F81588569857A858B8534
+:102DC0009C850E94F713CFCF0E94BE1310927A0108
+:102DD00010927901EBEAF1E086E0DF011D928A951D
+:102DE000E9F7C1CF2C960FB6F894DEBF0FBECDBF6A
+:102DF000DF91CF911F910895EF92FF920F931F9350
+:102E0000CF93DF938C01892B09F46CC0F12CEE2455
+:102E1000E394E8012196F8018491843740F48430EA
+:102E200008F051C0813081F0823019F15BC08537E4
+:102E300009F444C0A8F19CE7980F903708F052C0FD
+:102E40008F770E942E1041C00E5F1F4FFE01C4916C
+:102E500080E28C0F883048F4C7708E2D01C0880F37
+:102E6000CA95EAF70E949A1914C08C2F0E94660F27
+:102E70002DC00E5F1F4FFE01C49180E28C0F883081
+:102E800058F4C7708E2D01C0880FCA95EAF70E94CA
+:102E9000A0190E94C1191AC08C2F0E942E1016C0B2
+:102EA0000E5F1F4FFE01C491CC2381F08FE99FE09C
+:102EB0000197F1F700C00000C150F6CF0E5F1F4F21
+:102EC000FE01F49003C00E94660F8E018F2D8823AF
+:102ED00009F49FCFEFE9FFE03197F1F700C0000060
+:102EE0008150F5CFDF91CF911F910F91FF90EF901F
+:102EF000089508956093B5017093B6018093B7016A
+:102F00009093B8010C94AA130F931F930091B501ED
+:102F10001091B6012091B7013091B801DC01CB01CD
+:102F2000802B912BA22BB32B8093B5019093B601EC
+:102F3000A093B701B093B8011F910F910C94AA13FD
+:102F40000F931F930091B5011091B6012091B70125
+:102F50003091B801DC01CB0180239123A223B3235C
+:102F60008093B5019093B601A093B701B093B801D7
+:102F70001F910F910C94AA130F931F930091B50109
+:102F80001091B6012091B7013091B801DC01CB015D
+:102F900080279127A227B3278093B5019093B6018C
+:102FA000A093B701B093B8011F910F910C94AA138D
+:102FB0001092B1011092B2011092B3011092B401BB
+:102FC0000C94AA1341E050E060E070E004C0440FAC
+:102FD000551F661F771F8A95D2F74093B101509312
+:102FE000B2016093B3017093B4010C94AA1341E051
+:102FF00050E060E070E004C0440F551F661F771F6B
+:103000008A95D2F78091B1019091B201A091B3015C
+:10301000B091B401482B592B6A2B7B2B4093B10103
+:103020005093B2016093B3017093B4010C94AA134E
+:1030300041E050E060E070E004C0440F551F661F9F
+:10304000771F8A95D2F7409550956095709580913D
+:10305000B1019091B201A091B301B091B4014823A4
+:1030600059236A237B234093B1015093B2016093AB
+:10307000B3017093B4010C94AA1341E050E060E0F6
+:1030800070E004C0440F551F661F771F8A95D2F762
+:103090008091B1019091B201A091B301B091B401BE
+:1030A000482759276A277B274093B1015093B201E3
+:1030B0006093B3017093B4010C94AA130F931F9300
+:1030C0000091B1011091B2012091B3013091B4018E
+:1030D000DC01CB01802B912BA22BB32B8093B10170
+:1030E0009093B201A093B301B093B4011F910F91DB
+:1030F0000C94AA130F931F930091B1011091B20188
+:103100002091B3013091B401DC01CB0180239123E4
+:10311000A223B3238093B1019093B201A093B30192
+:10312000B093B4011F910F910C94AA130F931F93A6
+:103130000091B1011091B2012091B3013091B4011D
+:10314000DC01CB0180279127A227B3278093B1010F
+:103150009093B201A093B301B093B4011F910F916A
+:103160000C94AA130895CF92DF92EF92FF920F93DF
+:103170001F93CF93DF938C01C090B501D090B6011F
+:10318000E090B701F090B8014091B1015091B201C7
+:103190006091B3017091B401C42AD52AE62AF72AB6
+:1031A000CFE1D0E0D701C6010C2E04C0B695A7959B
+:1031B000979587950A94D2F780FF07C0B8018C2FA6
+:1031C0000E94FD058130910531F4219758F7B8012F
+:1031D00080E00E94FD05DF91CF911F910F91FF903C
+:1031E000EF90DF90CF90089590910C01992321F0FA
+:1031F00090910D01911109C020910E0130910F01A4
+:10320000F90132969FEF40E01FC0982F9695969552
+:1032100096959F3050F5E0910E01F0910F01E90F66
+:10322000F11D877021E030E0A90102C0440F551F55
+:103230008A95E2F7CA019181892B818308959F3F86
+:1032400039F04F5F4E3041F051915813F8CF0DC017
+:103250005111F7CF942FF5CF9F3F39F0F901E90FC6
+:10326000F11D97FDFA9582830895089590910C01C0
+:10327000992321F090910D01911109C020910E0127
+:1032800030910F01F9013296205F3F4F1FC0982FF8
+:103290009695969596959F30F0F4E0910E01F091F9
+:1032A0000F01E90FF11D877021E030E0A90102C094
+:1032B000440F551F8A95E2F7CA01809591818923B1
+:1032C000818308953196E217F30729F090819813CE
+:1032D000F9CF1082F7CF089581E090E0E0910E01E0
+:1032E000F0910F01E80FF91F1082019680319105CE
+:1032F000A9F708959091CC01892B8093CC01089572
+:1033000080959091CC0189238093CC0108951092EF
+:10331000CC0108959091CB01892B8093CB01089526
+:1033200080959091CB0189238093CB0108951092D1
+:10333000CB0108959091CA01892B8093CA01089509
+:1033400080959091CA0189238093CA0108951092B3
+:10335000CA0108958093B90108951092B9010895A2
+:1033600080910E0190910F01FC0131969C01205F2C
+:103370003F4F80E0919191118F5FE217F307D1F7F2
+:103380000895E0910E01F0910F018091CC018083AE
+:10339000E0910E01F0910F0190818091CB01892B7A
+:1033A0008083E0910E01F0910F0190818091CA011C
+:1033B000892B80838091B901882361F0E0910E010F
+:1033C000F0910F019081892B80830E94B0198111A7
+:1033D0001092B90180910E0190910F010C94490E49
+:1033E000CF92DF92EF92FF926C01EE24FF24C11482
+:1033F000D104E104F10421F0C701B60120E101C0CC
+:1034000020E0C72ED82EE92EFF24C114D104E104F8
+:10341000F10419F0285FC701B6016B017C0154E08B
+:10342000F694E794D794C7945A95D1F7C114D10470
+:10343000E104F10419F02C5FC701B6016B017C01B6
+:1034400042E0F694E794D794C7944A95D1F7C11413
+:10345000D104E104F10419F02E5FC701B601DC01CB
+:10346000CB01B695A79597958795892B8A2B8B2BA2
+:1034700009F02F5F822FFF90EF90DF90CF9008959B
+:103480008091E601843039F11092CE0120E488E188
+:1034900090E00FB6F894A895809360000FBE20933B
+:1034A000600080E00E94330783B7817F846083BF20
+:1034B00083B7816083BF7894889583B78E7F83BFFD
+:1034C0000FB6F894A89580916000886180936000A1
+:1034D000109260000FBE089508950895CF930E9442
+:1034E0006C1A0E9426040E946D1AC0E08C2F0E9464
+:1034F0001405811104C0CF5FCE30C1F701C081E057
+:10350000CF9108950E94BE130E943D0E0C94330784
+:1035100082E084BD93E095BD9AEF97BD80936E00E5
+:1035200008952FB7F8948091CF019091D001A09188
+:10353000D101B091D2012FBF0895CF92DF92EF92C7
+:10354000FF920F931F932FB7F8944091CF015091A2
+:10355000D0016091D1017091D2012FBF6A017B012E
+:10356000EE24FF248C0120E030E0C016D106E206F4
+:10357000F30610F4415051099A01281B390BC90177
+:103580001F910F91FF90EF90DF90CF9008951F92C1
+:103590000F920FB60F9211248F939F93AF93BF9307
+:1035A0008091CF019091D001A091D101B091D20131
+:1035B0000196A11DB11D8093CF019093D001A093DE
+:1035C000D101B093D201BF91AF919F918F910F9094
+:1035D0000FBE0F901F9018950E943A0BF8942FEF92
+:1035E00087EA91E6215080409040E1F700C000005A
+:1035F00087E090EBDC018093EF019093F001A093C2
+:10360000F101B093F2019CE088E10FB6F894A8951F
+:10361000809360000FBE90936000FFCFEF92FF9207
+:103620000F931F93CF93DF93D82FC0E08C2F0E946E
+:10363000140500E010E0E82EF12CC701002E02C0B6
+:10364000959587950A94E2F780FD06C00F5F1F4F9E
+:103650000630110591F709C0602F7C2F80E00E9491
+:10366000DB05D813F3CF81E004C0CF5FCE30F1F695
+:1036700080E0DF91CF911F910F91FF90EF9008951F
+:10368000CF93C82F8CE20E940E1B882321F08C2F31
+:10369000CF910C940E1B80E0CF910895CF930E94A0
+:1036A000951C811102C00E947B1CC5E6C15049F0E7
+:1036B0000E9426048FE39CE90197F1F700C0000007
+:1036C000F5CF89E20E94401B811113C18AE20E945A
+:1036D000401B81110E947B1C85E00E94401B8111D0
+:1036E0000E94EC1A0E94A01C8093CD0187E00E94EA
+:1036F000401B8823A9F18BE10E94401B882351F0D5
+:103700008091CD0181FB222720F991E0922790FB47
+:1037100081F90EC08EE00E94401B882361F08091E9
+:10372000CD0182FB222720F991E0922790FB82F9BC
+:103730008093CD0115C080E10E94401B9091CD0186
+:10374000882341F093FB222720F981E0822780FB28
+:1037500093F904C0892F809580FB90F99093CD0157
+:103760008091CD010E94A41C0E94B21C8093E001B4
+:1037700080EE0E94401B882341F08091E001982F49
+:10378000909590FB80F98093E00189E30E94401BB3
+:10379000882359F08091E00181FB222720F991E0F4
+:1037A000922790FB81F98093E00182EE0E94401BFA
+:1037B000882359F08091E00182FB222720F991E0D3
+:1037C000922790FB82F98093E00186EE0E94401BD5
+:1037D000882359F08091E00183FB222720F991E0B2
+:1037E000922790FB83F98093E00183EE0E94401BB7
+:1037F000882359F08091E00184FB222720F991E091
+:10380000922790FB84F98093E00185E30E94401B9E
+:10381000882359F08091E00185FB222720F991E06F
+:10382000922790FB85F98093E00181E30E94401B81
+:10383000882359F08091E00186FB222720F991E04E
+:10384000922790FB86F98093E00181E10E94401B62
+:10385000882359F08091E00187FB222720F991E02D
+:10386000922790FB87F98093E0018091E0010E940C
+:10387000B61C8091E00187FB882780F980930D01B9
+:1038800087E20E94401BC82F8EE10E94401B8111DD
+:10389000C2608FE10E94401B8111C46080E20E94DF
+:1038A000401B8111C86081E20E94401B8111C061F0
+:1038B00082E20E94401B8111C06283E20E94401B91
+:1038C0008111C06484E20E94401B882311F0C0680B
+:1038D00002C0CC2329F08C2F0E94AD1C6C2F03C09A
+:1038E0000E94A91C682F70E080E090E0CF910C94BA
+:1038F0007A17CF9108956DEE7EEF80E090E00E9400
+:10390000F52260E082E090E00E94E72260E083E040
+:1039100090E00E94E72260E084E090E00E94E722CD
+:1039200060E085E090E00C94E72280E090E00E9467
+:10393000E12221E08D3E9E4F09F020E0822F089584
+:1039400082E090E00C94D922682F82E090E00C9401
+:10395000E72283E090E00C94D922682F83E090E086
+:103960000C94E72284E090E00C94D922682F84E044
+:1039700090E00C94E7228091D50180FF0BC060910C
+:10398000130185E0689FB0011124759567957595C1
+:1039900067952BC081FF09C06091130185E0689F86
+:1039A000B00111247595679520C082FF07C0609112
+:1039B000130185E0689FB001112417C09091D601D2
+:1039C0009923D1F060911201961788F72091130185
+:1039D00085E0289F90011124929FA001939F500D94
+:1039E000112470E0CA010E94AB226038710540F4D6
+:1039F0006115710539F002C065E070E0862F089509
+:103A00008FE7089581E008958091D50180FF08C077
+:103A10006091110170E0759567957595679521C066
+:103A200081FF06C06091110170E07595679519C01E
+:103A300082FF04C06091110170E010C09091D60126
+:103A40009923C1F0609110019617A0F780911101A0
+:103A5000899FC001112470E00E94AB22603871057B
+:103A600028F46115710521F0862F08958FE70895D8
+:103A700081E0089561E070E0F4CF803F21F40E947E
+:103A8000BB1C819504C0813F29F40E94BB1C80931C
+:103A9000D9010895823F21F40E94BB1C819504C086
+:103AA000833F29F40E94BB1C8093D8010895893F6D
+:103AB00019F40E94041D05C08A3F31F40E94041DC0
+:103AC00081958093DA0108958B3F21F40E94041DB3
+:103AD000819504C08C3F29F40E94041D8093DB0172
+:103AE0000895843F21F48091D701816017C0853FFC
+:103AF00021F48091D701826011C0863F21F480912A
+:103B0000D70184600BC0873F21F48091D701886082
+:103B100005C0883F31F48091D70180618093D7013F
+:103B200008958D3F21F48091D50181600BC08E3FB7
+:103B300021F48091D501826005C08F3F29F48091E6
+:103B4000D50184608093D5010895803F39F4809138
+:103B5000D90187FF6CC01092D90169C0813F29F457
+:103B60008091D9011816BCF362C09091D801823FB0
+:103B700029F497FF5CC01092D80159C0833F19F413
+:103B80001916CCF354C0893F41F48091DA0118161C
+:103B90000CF04DC01092DA014AC08A3F29F480919E
+:103BA000DA0187FF44C0F6CF8B3F39F48091DB0107
+:103BB00087FF3DC01092DB013AC08C3F29F4809111
+:103BC000DB011816BCF333C0843F21F48091D70188
+:103BD0008E7F17C0853F21F48091D7018D7F11C062
+:103BE000863F21F48091D7018B7F0BC0873F21F462
+:103BF0008091D701877F05C0883F31F48091D7013C
+:103C00008F7E8093D70113C08D3F21F48091D50121
+:103C10008E7F0BC08E3F21F48091D5018D7F05C032
+:103C20008F3F29F48091D5018B7F8093D5018091BE
+:103C3000D80181110EC08091D90181110AC08091F3
+:103C4000DA01811106C08091DB01811102C010925E
+:103C5000D601089587ED91E00E94540E0E94911ABA
+:103C60009093D4018093D30108951F93CF93DF9352
+:103C70008091D3019091D4010E949D1AAC01909142
+:103C8000D601992321F02091140130E006C0209143
+:103C900015018AE0289F900111244217530708F468
+:103CA00085C08091D801C091D901D091DA011091DD
+:103CB000DB01811107C0C11175C0D11173C0111191
+:103CC00071C074C09F3F19F09F5F9093D601181682
+:103CD00024F40E94BB1C8093D8018091D80187FFF7
+:103CE00005C00E94BB1C81958093D8011C1624F44A
+:103CF0000E94BB1C8093D9018091D90187FF05C028
+:103D00000E94BB1C81958093D9016091D8016623E4
+:103D100031F1C091D901CC2311F1062E000C770BA3
+:103D2000880B990B0E94B22123E333E343E35FE363
+:103D30000E9416220E947A216093D8016C2FCC0F2A
+:103D4000770B880B990B0E94B22123E333E343E303
+:103D50005FE30E9416220E947A216093D9011D160A
+:103D600024F40E94041D8093DA018091DA0187FF18
+:103D700005C00E94041D81958093DA01111624F478
+:103D80000E94041D8093DB018091DB0187FF05C049
+:103D90000E94041D81958093DB01DF91CF911F91DB
+:103DA0000C942A1E9F3F09F08FCF97CFDF91CF91C0
+:103DB0001F910895E7EDF1E085E0DF011D928A95FE
+:103DC000E9F71092D6011092D5010895833081F160
+:103DD00028F4813059F08230D1F00895853009F40B
+:103DE00049C0B8F1863009F456C008958091150194
+:103DF000262F30E0280F311D2F3F310524F4680FA6
+:103E00006093150108958FEF8093150108958091B7
+:103E10001401262F30E0280F311D2F3F310524F4E7
+:103E2000680F6093140108958FEF80931401089533
+:103E300080911301262F30E0280F311D2F3F3105CF
+:103E400024F4680F6093130108958FEF809313019A
+:103E5000089580911201262F30E0280F311D2F3F49
+:103E6000310524F4680F6093120108958FEF809359
+:103E70001201089580911101262F30E0280F311D85
+:103E80002F3F310524F4680F6093110108958FEFDF
+:103E900080931101089580911001262F30E0280FA2
+:103EA000311D2F3F310524F4680F609310010895F0
+:103EB0008FEF809310010895833011F128F4813041
+:103EC00049F0823091F00895853081F120F18630FB
+:103ED000C1F1089580911501681720F4861B809325
+:103EE0001501089510921501089580911401681725
+:103EF00020F4861B809314010895109214010895F4
+:103F000080911301681720F4861B80931301089594
+:103F100010921301089580911201681720F4861BF6
+:103F20008093120108951092120108958091110159
+:103F3000681720F4861B80931101089510921101D7
+:103F4000089580911001681720F4861B809310015A
+:103F500008951092100108950F931F938D3109F465
+:103F60006AC008F03FC08E3009F484C0C0F48730C6
+:103F700009F46DC068F4863009F0B5C08091CD01B8
+:103F8000817F8E7F8093CD0181E08093DD01ACC085
+:103F9000883009F457C08B3009F46AC0A4C0863158
+:103FA00009F466C078F4803109F477C0813109F0F2
+:103FB0009AC00E94BE1390910D0181E089278093E1
+:103FC0000D0156C0893109F453C08B3109F08BC003
+:103FD0008091CD0181FB222720F991E0922790FB6F
+:103FE00081F951C0853309F475C048F4873209F46A
+:103FF00071C008F45EC0893209F46CC074C08334A7
+:1040000030F48A3308F053C0883391F16CC08334A4
+:1040100009F460C0883409F066C00E94BE130FEF37
+:1040200013ED20E3015010402040E1F700C00000F4
+:104030000E94EC1A1DC00E9434210E943D0E0E9475
+:10404000330716C00E94A01C0E94B21C11C09091A0
+:10405000CD01892F8095817080FB90F929F09660C1
+:1040600098609093CD0140C0997F977F9093CD0148
+:1040700081E03AC08091CD0182FB222720F991E0B6
+:10408000922790FB82F98093CD01992389F3809147
+:10409000CD0181608093CD01EBCF8091CD0183FB79
+:1040A000222720F991E0922790FB83F9ECCF8953E6
+:1040B00001C08D5141E050E060E070E08A019B0159
+:1040C00004C0000F111F221F331F8A95D2F7C901A8
+:1040D000B80104C061E070E080E090E00E947A17CF
+:1040E0000E94BE13C5CF80E01F910F91089580E01C
+:1040F000089580E00895CF93C82F8091DD0181302D
+:1041000079F018F08230E9F187C0E0910E01F0916A
+:104110000F018081813169F0823209F07FC009C0CE
+:10412000E0910E01F0910F018081813111F0823216
+:1041300061F48C2F0E947720811104C08C2F0E9483
+:10414000AC1F1DC081E090E01AC08C2F0E94792026
+:10415000811114C0C43179F048F4CB3079F0C0310A
+:1041600009F060C082E08093DD0108C0C93219F017
+:10417000C83321F057C01092DD0154C081E0817036
+:1041800053C0C93289F118F5C43171F1A8F4C730B0
+:1041900009F046C08AE08093150194E190931401E0
+:1041A00093E0909313018093120188E080931101B2
+:1041B00088E28093100134C0CE51C63088F5EC2FD0
+:1041C000F0E0E65DFE4F80818093DC0129C0CE34B3
+:1041D000E9F020F4CB3421F56AE013C0C13579F061
+:1041E000C235F1F461E00DC08091DC01882319F043
+:1041F0001092DC0115C081E08093DD0115C061E003
+:1042000006C08091DC010E94E61E0AC06AE080912F
+:10421000DC010E945C1F04C01092DD0180E004C03C
+:1042200081E002C080E0ABCFCF910895E1E8F0E0FB
+:104230008081886080838081816080838FB7F894DB
+:1042400093E09093890090ED909388008FBF08953C
+:10425000EFE6F0E08081826080830895EFE6F0E091
+:1042600080818D7F80830895EFE6F0E0908182E089
+:104270008927808308951F920F920FB60F92112401
+:104280002F933F934F935F936F937F938F939F935E
+:10429000AF93BF93EF93FF938091DE019091DF0185
+:1042A00001969093DF018093DE01811103C082E0CB
+:1042B0000E943307E091DF01E695E695F0E0E657CE
+:1042C000FB4FE4918091DE018E1303C080E00E94D9
+:1042D0003307FF91EF91BF91AF919F918F917F91A4
+:1042E0006F915F914F913F912F910F900FBE0F9063
+:1042F0001F9018950E9481216894B1110C9410228E
+:1043000008950E94F52188F09F5798F0B92F9927BA
+:10431000B751B0F0E1F0660F771F881F991F1AF0B0
+:10432000BA95C9F714C0B13091F00E940F22B1E0E4
+:1043300008950C940F22672F782F8827B85F39F0E3
+:10434000B93FCCF3869577956795B395D9F73EF449
+:1043500090958095709561957F4F8F4F9F4F0895F1
+:10436000E89409C097FB3EF490958095709561950F
+:104370007F4F8F4F9F4F9923A9F0F92F96E9BB27C5
+:104380009395F695879577956795B795F111F8CF41
+:10439000FAF4BB0F11F460FF1BC06F5F7F4F8F4FAC
+:1043A0009F4F16C0882311F096E911C0772321F0A2
+:1043B0009EE8872F762F05C0662371F096E8862F3A
+:1043C00070E060E02AF09A95660F771F881FDAF791
+:1043D000880F9695879597F9089557FD9058440F43
+:1043E000551F59F05F3F71F04795880F97FB991F54
+:1043F00061F09F3F79F08795089512161306140611
+:10440000551FF2CF4695F1DF08C01616170618069D
+:10441000991FF1CF86957105610508940895E89478
+:10442000BB2766277727CB0197F908950E94292299
+:104430000C949A220E948C2238F00E94932220F041
+:10444000952311F00C9483220C94892211240C944E
+:1044500010220E94ED2170F3959FC1F3950F50E05B
+:10446000551F629FF001729FBB27F00DB11D639F26
+:10447000AA27F00DB11DAA1F649F6627B00DA11DCC
+:10448000661F829F2227B00DA11D621F739FB00D72
+:10449000A11D621F839FA00D611D221F749F3327E2
+:1044A000A00D611D231F849F600D211D822F762F7B
+:1044B0006A2F11249F5750409AF0F1F088234AF058
+:1044C000EE0FFF1FBB1F661F771F881F91505040C4
+:1044D000A9F79E3F510580F00C9483220C94102282
+:1044E0005F3FE4F3983ED4F3869577956795B7954B
+:1044F000F795E7959F5FC1F7FE2B880F911D969565
+:10450000879597F9089597F99F6780E870E060E0D4
+:1045100008959FEF80EC089500240A94161617065C
+:1045200018060906089500240A94121613061406A4
+:1045300005060895092E0394000C11F4882352F007
+:10454000BB0F40F4BF2B11F460FF04C06F5F7F4FBF
+:104550008F4F9F4F089597FB072E16F4009407D0B6
+:1045600077FD09D00E94C52207FC05D03EF4909546
+:1045700081959F4F0895709561957F4F0895EE0F37
+:10458000FF1F0590F491E02D0994AA1BBB1B51E17C
+:1045900007C0AA1FBB1FA617B70710F0A61BB70BB3
+:1045A000881F991F5A95A9F780959095BC01CD0158
+:1045B0000895F999FECF92BD81BDF89A992780B5EB
+:1045C0000895A8E1B0E042E050E00C94FC22262FD0
+:1045D000F999FECF1FBA92BD81BD20BD0FB6F894E8
+:1045E000FA9AF99A0FBE019608950E94E722272FA2
+:1045F0000C94E822DC01CB01FC01F999FECF06C046
+:10460000F2BDE1BDF89A319600B40D924150504090
+:08461000B8F70895F894FFCFFC
+:1046180020023507C307A0076C0738070101BA0154
+:1046280028080A03140A3F4D36394B04FE03C80311
+:104638008F0322033B0354036D03010203040506A1
+:044648000708090056
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png Binary files differnew file mode 100644 index 000000000..6a36f9bfa --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png Binary files differnew file mode 100644 index 000000000..c6e6d913c --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png Binary files differnew file mode 100644 index 000000000..23f56ff4c --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c new file mode 100644 index 000000000..82f55b4bc --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c @@ -0,0 +1,185 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | BrBck| | Play | 6 | 7 | 8 | 9 | 0 | \ / L2 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Esc | ' | , | . | P | Y | Del | | Ins | F | G | C | R | L | / | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | O | E | U | I |------| |------| D | H | T | N | S | - | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| LAlt | LGui | Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,---------------. + * | App | L1 | | L2 |PrntScr | + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space| Tab |------| |------| AltShf |Enter | + * | | | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_WBAK, + KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_DELT, + KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), + LT(SYMB,KC_GRV),KC_LALT, KC_LGUI, KC_LEFT,KC_RGHT, + CTL_T(KC_APP), TG(1), + KC_HOME, + KC_SPC,KC_TAB,KC_END, + // right hand + KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, LT(MDIA, KC_BSLS), + KC_INS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, + MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + TG(2), KC_PSCREEN, + KC_PGUP, + KC_PGDN,RALT(KC_RSFT), KC_ENT + ), +/* Keymap 1: Symbol & Media Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Prev | Next | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | |VolUp | | | + * | | |------| |------| Mute | | + * | | | | |VolDn | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_MPRV,KC_MNXT, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_VOLU, + KC_VOLD, KC_MUTE, KC_TRNS +), +/* Keymap 2: QWERTY Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | Q | W | E | R | T | | | | Y | U | I | O | P | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | A | S | D | F | G |------| |------| H | J | K | L | ; | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( // layer 0 : default + // left hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, + KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_TRNS, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_TRNS, + KC_TRNS, KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +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; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index a1b47ae8b..dffcb21da 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c @@ -13,8 +13,8 @@ #define M_CTRL_CMDV 1 #define M_CTRL_CMDC 2 #define M_MEH_SH_ACUT 3 -#define M_DE_PLUS_CTRLALT 12 -#define M_DE_CIRC_CTRLCMD 13 +#define M_DE_OSX_PLUS_CTRLALT 12 +#define M_DE_OSX_CIRC_CTRLCMD 13 #define M_TOGGLE_5 14 #define M_CTL_SFT_HASH 15 #define M_LGUI_SHFT 16 @@ -55,21 +55,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH), - KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, - KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, - KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, - LT(SYMB,DE_LESS), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN, - M(M_MEH_SH_ACUT), TG(2), + KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(M_CTL_SFT_HASH), + KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, + KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, + KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, + LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), KC_UP, KC_DOWN, + M(M_MEH_SH_ACUT), TG(MDIA), KC_HOME, KC_BSPC,KC_DEL, LT(SMLY,KC_END), // right hand - M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, - KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE, - DE_H, DE_J, DE_K, DE_L, DE_OE, ALT_T(DE_AE), - KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT, - KC_LEFT, KC_RIGHT,M(M_LGUI_SHFT),LALT(KC_LSFT), LT(SYMB,DE_PLUS), - TG(4), ALL_T(DE_ACUT), + M(M_CTL_SFT_HASH), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, + KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, + DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), + KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM,DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, + KC_LEFT, KC_RIGHT,LGUI(KC_LSFT),LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), + TG(NUMB), ALL_T(DE_OSX_ACUT), KC_PGUP, KC_PGDN,KC_ENT, KC_SPC ), @@ -98,19 +98,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [SYMB] = KEYMAP( // left hand KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS, - KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, - KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, + KC_TRNS,DE_OSX_LESS,DE_OSX_MORE,DE_OSX_EXLM,DE_OSX_QST, KC_TRNS,KC_TRNS, + KC_TRNS,DE_OSX_HASH,DE_OSX_DLR, DE_OSX_BSLS,DE_OSX_SLSH,KC_DOT, + KC_TRNS,KC_TRNS,DE_OSX_LESS,DE_OSX_PERC,DE_OSX_PIPE,DE_OSX_TILD,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_DEL,KC_TRNS, // right hand M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LESS, DE_MORE, DE_EXLM, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH, - KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4), - DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, + DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, LALT(KC_8), LALT(KC_9), DE_OSX_HASH, + KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, DE_OSX_CIRC, KC_UP, DE_OSX_MINS, LSFT(KC_4), + DE_OSX_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_F13, KC_F12, KC_F14, KC_F15, KC_TRNS, KC_TRNS @@ -137,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // MEDIA AND MOUSE -KEYMAP( +[MDIA] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, @@ -179,7 +179,7 @@ KEYMAP( * | | | | | | | | * `--------------------' `----------------------' */ -KEYMAP( +[SMLY] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -199,7 +199,7 @@ KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS ), //number pad -KEYMAP( +[NUMB] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, @@ -211,9 +211,9 @@ KEYMAP( // right hand KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS, + KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_OSX_MINS, KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, - KC_0,KC_DOT, KC_COMM, DE_EQL, KC_TRNS, + KC_0,KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -240,7 +240,7 @@ KEYMAP( * | | | F4 | | | | | * `--------------------' `----------------------' */ -KEYMAP( +[EGOS] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -310,7 +310,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (timer_elapsed(start) > 150){ return MACRO(U(LCTRL),U(LSFT),U(LALT),END); } else { - return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_ACUT here, as macro needs KC_ prefix + return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_OSX_ACUT here, as macro needs KC_ prefix } } break; @@ -333,7 +333,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } } break; - case M_DE_CIRC_CTRLCMD: + case M_DE_OSX_CIRC_CTRLCMD: if (record->event.pressed) { start = timer_read(); return MACRO(D(LCTRL),D(LGUI),END); @@ -345,7 +345,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } } break; - case M_DE_PLUS_CTRLALT: + case M_DE_OSX_PLUS_CTRLALT: if (record->event.pressed) { start = timer_read(); return MACRO(D(LCTRL),D(LALT),END); diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png Binary files differindex 1d5226974..8e709ee26 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png |