diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-06-21 22:39:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-21 22:39:54 -0400 |
commit | 649b33d7783cf3021928534b7ae127e0a89e8807 (patch) | |
tree | c2b5e0cf8ff4aa2918e3b88ab75dbdb071cc0a1d /keyboards/ergodox_ez/keymaps/dave | |
parent | 464c8e274f993d3571fe5ea5e836fe55a3912ffe (diff) |
Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432)
* fixes from tmk's repo
* rename keyboard to keyboards
Diffstat (limited to 'keyboards/ergodox_ez/keymaps/dave')
-rw-r--r-- | keyboards/ergodox_ez/keymaps/dave/compiled.hex | 1169 | ||||
-rw-r--r-- | keyboards/ergodox_ez/keymaps/dave/keymap.c | 199 | ||||
-rw-r--r-- | keyboards/ergodox_ez/keymaps/dave/readme.md | 38 |
3 files changed, 1406 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/keymaps/dave/compiled.hex b/keyboards/ergodox_ez/keymaps/dave/compiled.hex new file mode 100644 index 0000000000..22b5c66821 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dave/compiled.hex @@ -0,0 +1,1169 @@ +:100000000C9478020C94BC020C94BC020C94BC02BC
+:100010000C94BC020C94BC020C94BC020C94BC0268
+:100020000C94BC020C94BC020C94BC0D0C948E0E6F
+:100030000C94BC020C94BC020C94BC020C94BC0248
+:100040000C94BC020C9498220C94BC020C94BC023C
+:100050000C94BC020C942B1C0C94BC020C94BC029F
+:100060000C94BC020C94BC020C94BC020C94BC0218
+:100070000C94BC020C94BC020C94BC020C94BC0208
+:100080000C94BC020C94BC020C94BC020C94BC02F8
+:100090000C94BC020C94BC020C94BC020C94BC02E8
+:1000A0000C94BC020C94BC020C94BC02FB0E1D0F01
+:1000B0000B101D0F0B10620F850F0B10DA0FED0FD9
+:1000C000BC12BC12EB12EB12211341137214721406
+:1000D0004C137214FC13FC136314721472146C141A
+:1000E0000914091409140914091409140914091428
+:1000F0000914091409140914091409140914091418
+:100100001B1428142F143614401429002B00E0006F
+:10011000E100357100001E00140004001D006400A1
+:10012000E3001F001A0016001B000000025220000E
+:1001300008000700060000002C002100150009003F
+:100140001900E2001151220017000A00050000000A
+:10015000460023001C0000000B00000046002300A6
+:100160000A00000005000000007524001C000B00C0
+:10017000110000000075250018000D001000E600B9
+:10018000115126000C000E0036002F002C00270015
+:1001900012000F003700300001522D001300330011
+:1001A00038000000E7002A0028002800E50034712C
+:1001B0000000010001000100010001000000010039
+:1001C0001E02200222020100010001001F02210282
+:1001D00023020100010001002F0226022F0001006E
+:1001E000010001003002270230000100125101001D
+:1001F000310235003502000001000100010000005D
+:1002000001000000010001000100000001000000E9
+:1002100001000100010001000100000001000000D8
+:100220005F005C00590062001251540060005D00E4
+:100230005A0062000100550061005E005B0063002F
+:1002400001005600570057005800580001002E00CA
+:100250003200340001000100000001000100010033
+:100260000100010000003A004A005000F400F200D2
+:1002700001003B0052005100F000F10001003C0081
+:100280004D004F00F500F30001003D0049004C0017
+:100290000100010010513E004B004E000100000023
+:1002A00001003F00010000000100000001004000CB
+:1002B00001000000010000000100410001000100F8
+:1002C00001000000010042000100B600AC00AA00DD
+:1002D0001051430049004C00AE00A800010044004A
+:1002E0000100B700AB00A9000100450001000100BA
+:1002F00001000100010001000100010001000100F6
+:10030000000016034500720067006F0044006F0094
+:100310007800200045005A000000160345007200D6
+:1003200067006F0044006F007800200045005A000D
+:1003300000000403090409026D00040100A0FA0989
+:100340000400000103010100092111010001223F05
+:10035000000705810308000A0904010001030102E6
+:1003600000092111010001224D0007058203080048
+:100370000A09040200010300000009211101000123
+:100380002236000705830308000A0904030001035D
+:100390000000000921110100012239000705840332
+:1003A0001000011201100100000008EDFE0713010A
+:1003B000000102000105010906A101050719E02954
+:1003C000E715002501950875018102050819012925
+:1003D00005950575019102950175039101050719B0
+:1003E00000297715002501957875018102C0050166
+:1003F0000980A101850216010026B7001A01002A12
+:10040000B700751095018100C0050C0901A1018597
+:1004100003160100269C021A01002A9C0275109501
+:10042000018100C005010902A1010901A10005091E
+:100430001901290515002501950575018102950110
+:10044000750381010501093009311581257F950268
+:100450007508810609381581257F95017508810683
+:10046000050C0A38021581257F950175088106C0A3
+:10047000C005010906A101050719E029E7150025B6
+:10048000019508750181029501750881010508191A
+:1004900001290595057501910295017503910105E5
+:1004A00007190029FF150025FF950675088100C072
+:1004B0000000000000000000000000010204060A25
+:1004C0000F17202C3A4A5D71879DB3C7DAE9F5FC16
+:1004D000FFFCF5E9DAC7B39D87715D4A3A2C201716
+:1004E0000F0A0604020100000000000000000000E6
+:1004F00011241FBECFEFDAE0DEBFCDBF04B603FE8E
+:1005000024C08091FF0190910002A0910102B0915E
+:1005100002028730904BA740B04BB9F41092FF0114
+:1005200010920002109201021092020214BE84B7CF
+:10053000877F84BF88E10FB6F894809360001092A3
+:1005400060000FBEE0E0FFE3099511E0A0E0B1E03C
+:10055000EEEBF8E402C005900D92A433B107D9F791
+:1005600011E0A4E3B1E001C01D92AF3FB107E1F794
+:100570000E94000B0C945D240C9400001092B900B2
+:100580008AE08093B800089594EA9093BC0090911B
+:10059000BC0097FFFCCF9091B900987F983021F074
+:1005A000903111F081E008958093BB0084E880933E
+:1005B000BC008091BC0087FFFCCF8091B900887F90
+:1005C000883111F0803471F780E0089584E98093D8
+:1005D000BC008091BC0084FDFCCF08958093BB00DB
+:1005E00084E88093BC008091BC0087FFFCCF909191
+:1005F000B900987F81E0983209F480E0089584E89A
+:100600008093BC008091BC0087FFFCCF8091BB0031
+:10061000089580910101811115C080E40E94C402F7
+:100620008093010181110CC082E10E94EE0280934F
+:100630000101811105C08FEF0E94EE02809301013C
+:100640000E94E60284B1807F84B985B1807F85B93C
+:100650008AB1837F8AB98BB1837F8BB93E984698E4
+:1006600008950E94C404809301010E94090380B38D
+:100670008C7080BB81B3836F81BBA5E3B1E0E3E401
+:10068000F1E08EE08E0F11921D928E13FCCF0C9430
+:10069000AE04BF92CF92DF92EF92FF920F931F931F
+:1006A000CF93DF9380910101882379F08091340109
+:1006B0008F5F80933401811108C00E94C40480932D
+:1006C0000101811102C00E94560405E311E0C0E05F
+:1006D000D0E0DD24D39482E0C82EEE24E394F12C04
+:1006E000C730D10500F580910101811164C080E41B
+:1006F0000E94C40280930101811112C082E10E9414
+:10070000EE028093010181110BC0C7010C2E01C0C4
+:10071000880F0A94EAF780950E94EE028093010107
+:100720000E94E60248C0CA30A1F028F4C83059F04F
+:10073000C93061F005C0CC3089F070F0CD3089F05F
+:10074000209A289810C0219A29980DC0229A2A9898
+:100750000AC0239A2B9807C0529A01C0539A5B98FB
+:1007600002C03E9A469890EA9A95F1F79FB179991E
+:1007700002C082E001C080E091709D25982B7C9999
+:1007800002C084E001C080E0892B7D9902C038E07E
+:1007900001C030E0832B7E9902C020E101C020E03F
+:1007A000822B9FB19095991F9927991F9295990F28
+:1007B000907E892B0FC080910101811149C080E496
+:1007C0000E94C40280930101882379F1B12C0E9418
+:1007D000E6028B2DF8019081981719F08083C09262
+:1007E00000010E94090321960F5F1F4FCE30D105F3
+:1007F00009F076CF80910001882361F181508093C8
+:100800000001882339F08FE99FE00197F1F700C0DC
+:10081000000020C0A3E4B1E0E5E3F1E0CF01825F96
+:1008200091919D938E13FCCF15C083E10E94EE023F
+:10083000809301018111CACF81E40E94C402809398
+:1008400001018111C3CF0E94FF02B82EB094BFCF27
+:1008500080E0C0CF0E94540481E0DF91CF911F91CE
+:100860000F91FF90EF90DF90CF90BF900895E82F09
+:10087000F0E0ED5BFE4F8081089508950F931F9384
+:10088000CF93DF93C3E4D1E010E00C2F025F899196
+:1008900090E00E94511B180F0C13F9CF812FDF91AC
+:1008A000CF911F910F9108950C94240556985E984E
+:1008B00025982D9826982E9827982F988FEF90E0BE
+:1008C000909389008093880090938B0080938A0096
+:1008D00090938D0080938C00259A2D9A2FEF80E7BE
+:1008E00092E0215080409040E1F700C00000269A3D
+:1008F0002E9A2FEF80E792E0215080409040E1F760
+:1009000000C00000279A2F9A2FEF80E792E0215035
+:1009100080409040E1F700C0000025982D982FEF0F
+:1009200080E792E0215080409040E1F700C0000055
+:1009300026982E982FEF80E792E02150804090403B
+:10094000E1F700C0000027982F9856985E982598E8
+:100950002D9826982E9827982F98089589EA8093A5
+:10096000800089E08093810024982C983F988AB178
+:100970008F748AB96E98479A8BB1806B8BB9769ACF
+:100980000E9456040C94230580E28093010180911B
+:10099000510181110EC00E94BE0281E0809351017D
+:1009A0002FEF83ED90E3215080409040E1F700C0AD
+:1009B000000080E40E94C4028093010181112EC0D6
+:1009C0000E94EE0280930101811128C00E94EE0274
+:1009D00080930101811122C08FE30E94EE02809377
+:1009E000010181111BC00E94E60280E40E94C40242
+:1009F00080930101811112C08CE00E94EE0280936D
+:100A0000010181110BC00E94EE028093010181114E
+:100A100005C08FE30E94EE02809301010E94E6026E
+:100A200080910101089561110BC0FC01828188232E
+:100A300021F085EE0E94601103C085EE0E9428120D
+:100A400080E090E008950895EF92FF921F93CF9376
+:100A5000DF936091C1017091C2018091C3019091B7
+:100A6000C4010E945D1B56985E9821E030E0E82F9B
+:100A7000F0E0AF014E5A5E4F7A01A1E0B0E0122FD4
+:100A8000821308C0AF01E701988161E09F3F69F4DC
+:100A900060E00BC0A901B9016E5A7E4FEB0198814D
+:100AA00061E0911101C060E06195960FBA016E5A44
+:100AB0007E4FEB0198834C5F5F4F992321F194B1F6
+:100AC000ED0102C0CC0FDD1F4A95E2F7AE019C2B71
+:100AD00094B995B1492B45B9EB01488150E02130DB
+:100AE000310529F450938900409388001AC01230D0
+:100AF00029F450938B0040938A0013C050938D00CB
+:100B000040938C000EC094B1BD0102C0660F771FE8
+:100B10004A95E2F7AB014095942394B995B14923E6
+:100B200045B92F5F3F4F2430310509F0A8CFDF9141
+:100B3000CF911F91FF90EF90089581E0089581E09B
+:100B400008950C949F0508950F931F93CF93DF93FF
+:100B50008C01FC01C081D181CE010E94D619BE0159
+:100B60000E944D06EC01B8010E94A105882309F4FA
+:100B70008DC0F8018281882309F44AC08091610107
+:100B800081111FC0C431F0E5DF0709F051C00E9498
+:100B9000A30581E0809361010E94F51B90936001A1
+:100BA00080935F011092580110925A0110925901DE
+:100BB00010925C0110925B0110925E0110925D0137
+:100BC00065C080915F01909160010E94011C883C8A
+:100BD000910570F480915801E82FF0E0EE0FFF1FAF
+:100BE000E75AFE4FD183C0838F5F809358014EC078
+:100BF000C43880E5D80721F0C538D04501F13AC0A6
+:100C0000F8018281882341F01092560182E01EC0D3
+:100C1000C438E0E5DE0759F580915601811106C020
+:100C200086E20E94601186E20E94281282E01CC0C7
+:100C3000C438F0E5DF0741F3C538D045D9F4F801F1
+:100C40008281882331F01092570180E20E9477124E
+:100C50001DC080915701811106C087E20E9460117A
+:100C600087E20E94281280E20E947E120FC0C538DF
+:100C7000D04529F381E08093560180935701C80144
+:100C8000DF91CF911F910F910C949D0580E0DF9132
+:100C9000CF911F910F910895089596E0799FF001EB
+:100CA000112494E5899FE00DF11D1124E60FF11D3B
+:100CB000EE0FFF1FE65FFE4F859194910895880F18
+:100CC000991FFC01E657F040859194910895880F93
+:100CD000991FFC01E65FFE4F8591949108950F9353
+:100CE0001F93CF93DF93EC01811520E3920750F51A
+:100CF000C11580E2D80708F0C3C0CB3BD10590F402
+:100D0000C83AD10508F06AC0C53AD10508F05BC001
+:100D1000C430D10508F0D0C1219709F0CAC101E063
+:100D200010E00AC2CF3FD10511F008F0C5C1C03FA5
+:100D3000D10508F0A2C0CE01805E9109089708F4A1
+:100D4000BBC1B7C1C13090E5D90709F4A2C020F5F5
+:100D5000C0318FE4D80770F4C11590E4D90708F0CA
+:100D600094C0C11521E3D20708F0A3C1DD278E018D
+:100D7000106CE2C1C115D04509F09BC10E94DD1481
+:100D80008FEF94E32CE0815090402040E1F700C0C9
+:100D900000000E94501CD0C1C11597E5D90758F436
+:100DA000C03121E5D20708F01CC1C43180E5D80765
+:100DB00008F475C07EC1CE0190578115904108F0AE
+:100DC00078C1DF7073C1C53AD10509F477C1C63A5D
+:100DD000D10509F076C102E810E4AEC1C83AD105E8
+:100DE00009F472C1C93AD10509F471C1CA3AD105F1
+:100DF00009F470C1CB3AD10509F46FC1CC3AD105E1
+:100E000009F46EC1CD3AD10509F46DC1C03BD105DD
+:100E100009F46CC1CE3AD10509F46BC1CF3AD105C2
+:100E200009F46AC1C13BD10509F469C1C23BD105CE
+:100E300009F468C1C33BD10509F467C1C43BD105BE
+:100E400009F466C1C53BD10509F465C1C63BD105AE
+:100E500009F464C1C73BD10509F463C1C83BD1059E
+:100E600009F462C1C93BD10509F461C1CA3BD1058E
+:100E700009F460C100E014E45FC18E0110655CC13B
+:100E8000CE019F700E94670658C1DF708E01106A04
+:100E900053C18091DE0181608093DE014DC10E94CB
+:100EA000F51D811102C00E94DB1D0E94121E90E000
+:100EB0009093FF018093FE01C23080E5D80721F4B2
+:100EC0008091FE01816086C0C43090E5D90721F48D
+:100ED0008091FE0182607EC0C63020E5D20721F4F9
+:100EE0008091FE01846076C0C83080E5D80719F48F
+:100EF0008091FE0127C0CA3090E5D90721F4809186
+:100F0000FE01806167C0CC3020E5D20721F48091DA
+:100F1000FE0180625FC0CE3080E5D80721F4809169
+:100F2000FE01806457C0C03190E5D90721F480915B
+:100F3000FE0180684FC0C23120E5D20729F48091BC
+:100F4000FE018460886046C0C33080E5D80721F484
+:100F50008091FE018E7F3EC0C53090E5D90721F417
+:100F60008091FE018D7F36C0C73020E5D20721F485
+:100F70008091FE018B7F2EC0C93080E5D80719F41F
+:100F80008091FE0126C0CB3090E5D90721F48091F5
+:100F9000FE018F7E1FC0CD3020E5D20721F4809165
+:100FA000FE018F7D17C0CF3080E5D80721F48091F6
+:100FB000FE018F7B0FC0C13190E5D90721F48091EC
+:100FC000FE018F7707C0C331D04531F48091FE0117
+:100FD0008B7F877F8093FE018091FE010E94161E09
+:100FE000ABC08D2F99278F70992781309105D9F447
+:100FF0009E012370332702C0880F991F2A95E2F7BC
+:101000009C688E0144E0000F111F4A95E1F700270C
+:101010001370802B912B53E0CC0FDD1F5A95E1F715
+:10102000C076DD272FC08230910531F4DC2FCC272C
+:101030008E01016F106A80C08330910569F4CE0182
+:101040008370992701E010E002C0000F111F8A95FC
+:10105000E2F7C8019C680FC084309105B9F4CE0155
+:101060008370992701E010E002C0000F111F8A95DC
+:10107000E2F7C8019A6823E0CC0FDD1F2A95E1F75B
+:10108000C07ED7708C010C2B1D2B56C0853091056E
+:1010900031F4DC2FCC278E01046F106A4DC0069707
+:1010A00009F04AC0CF71DD27DC2FCC278E011062FA
+:1010B00043C000E010E040C08E013EC001E810E4F3
+:1010C0003BC003E810E438C002EE14E435C009EE7A
+:1010D00014E432C00AEE14E42FC005EB14E42CC073
+:1010E00006EB14E429C007EB14E426C00CEC14E46E
+:1010F00023C00DEC14E420C003E815E41DC00AE889
+:1011000015E41AC002E915E417C004E915E414C097
+:1011100001E216E411C003E216E40EC004E216E494
+:101120000BC005E216E408C006E216E405C007E2BB
+:1011300016E402C00AE216E4C801DF91CF911F91C4
+:101140000F91089596E0799FF001112494E5899F0D
+:10115000E00DF11D1124E60FF11DEE0FFF1FE65FFC
+:10116000FE4F85919491803E9105E0F4803C91057D
+:1011700058F58133910509F46FC048F4893291051F
+:1011800009F463C08A32910509F46DC072C08933D5
+:101190009105E9F082389105D1F08533910509F484
+:1011A0004DC067C0833E910581F138F4803E9105C2
+:1011B000B9F0823E9105D9F05CC0863E910561F19F
+:1011C000873E9105A1F155C00E945F0608952091C8
+:1011D000FE0120FD02C021FF4CC080EE90E049C01E
+:1011E0008091FE0180FFF9CF89E390E042C08091B9
+:1011F000FE0182FF0EC08091FE0184FF03C080E0EB
+:1012000090E037C083EE90E034C08091FE0182FF11
+:10121000F2CF82EE90E02DC08091FE0183FF0BC0E3
+:101220008091FE0184FDEBCF87EE90E022C080919B
+:10123000FE0183FFF5CF86EE90E01BC08091FE019A
+:1012400085FF07C089E290E014C08091FE0185FF10
+:10125000F9CF85E390E00DC08091FE0186FF07C0C5
+:101260008AE290E006C08091FE0186FFF9CF81E31B
+:1012700090E00E946F06089508950C943C098091B7
+:1012800072010895CF93DF9300D01F92CDB7DEB7E0
+:101290009C018091F501843019F593E099833B839B
+:1012A0002A839093E9008FEF9091E800815095FD9B
+:1012B00006C095ED9A95F1F700008111F5CF809168
+:1012C000E80085FF0DC040E050E063E070E0CE0133
+:1012D00001960E94AC0B8091E8008E778093E80025
+:1012E0000F900F900F90DF91CF910895CF93DF93E0
+:1012F00000D01F92CDB7DEB72091F501243021F543
+:1013000022E029839B838A8383E08093E9008FEF27
+:101310009091E800815095FD06C095ED9A95F1F702
+:1013200000008111F5CF8091E80085FF0DC040E0FD
+:1013300050E063E070E0CE0101960E94AC0B80911A
+:10134000E8008E778093E8000F900F900F90DF9168
+:10135000CF9108952091F5012430F1F422E02093FB
+:10136000E9002FEF3091E800215035FD06C035ED42
+:101370003A95F1F700002111F5CF2091E80025FF03
+:101380000BC040E050E065E070E00E94AC0B809143
+:10139000E8008E778093E8000895CF93DF93EC0107
+:1013A0009091F501943009F046C080910C0188239A
+:1013B000D9F080910D018823B9F09093E9008FEF67
+:1013C0009091E800815095FD06C095E19A95F1F75E
+:1013D00000008111F5CF8091E80085FF2CC040E02E
+:1013E00050E060E170E017C081E08093E9008FEF8A
+:1013F0009091E800815095FD06C095ED9A95F1F722
+:1014000000008111F5CF8091E80085FF14C040E015
+:1014100050E068E070E0CE010E94AC0B8091E800E3
+:101420008E778093E80080E1FE01A2E6B1E00190B2
+:101430000D928A95E1F7DF91CF9108958091F401A3
+:10144000811109C00E94410D0E949E0D8091E20011
+:1014500084608093E20008951092F4010895089545
+:101460000C9485220E94E61B0E948B220E9444104D
+:101470000C943D0942E061EC81E00E94BB0C42E02B
+:1014800061EC82E00E94BB0C42E061EC83E00E94D0
+:10149000BB0C42E161EC84E00C94BB0C8091F70141
+:1014A000833009F455C030F4813071F0823009F492
+:1014B0008EC008958A3009F47AC08B3009F460C078
+:1014C000893009F09CC020C08091F601813A09F072
+:1014D00096C08091E800877F8093E8008091FA01B0
+:1014E0009091FB01892B21F460E182E691E003C039
+:1014F00060E080E090E070E00E94F70B8091E800EF
+:101500008B778093E80008958091F601813209F08D
+:1015100076C08091FA019091FB01009719F0039732
+:1015200009F06DC08091E800877F8093E80080918A
+:10153000E80082FD05C08091F5018111F8CF5FC000
+:101540008091F100809372018091E8008B7753C005
+:101550008091F601813A09F052C08091FA01909190
+:10156000FB01892B09F04BC08091E800877F8093B5
+:10157000E8008091E80080FFFCCF80910C0136C02C
+:101580008091F6018132D9F58091FA019091FB01A9
+:10159000892BA9F58091E800877F8093E8000E945D
+:1015A000F00C8091F80180930C010C94DD14809173
+:1015B000F601813221F58091E800877F8093E80071
+:1015C0000E94F00C8091F90180937301089580913D
+:1015D000F601813AA1F48091E800877F8093E800CA
+:1015E0008091E80080FFFCCF809173018093F1002F
+:1015F0008091E8008E778093E8000C94F00C0895B9
+:1016000084B7877F84BF88E10FB6F8948093600029
+:10161000109260000FBE90E080E80FB6F8948093BF
+:101620006100909361000FBE0E9493100E94410DD3
+:101630000E949E0D8091E20084608093E200789485
+:101640000E9424100E94951082E091E00E943F10B9
+:101650000E9473228091F501853069F40E94AD1BD0
+:101660008091F3018823B1F30E94D81B882391F362
+:101670000E94960BEFCF0E949B10ECCF292F3327AF
+:1016800023303105C9F064F42130310581F0223076
+:10169000310509F043C08DE690E026E333E042C017
+:1016A00021323105F1F02232310541F137C082E1BA
+:1016B00090E023EA33E036C099278130910541F06C
+:1016C0008230910541F0892B49F5E2E3F3E005C052
+:1016D000EAE1F3E002C0E2E0F3E0849190E09F01F0
+:1016E00021C06430D8F4E62FF0E0EE0FFF1FEE5D6E
+:1016F000FE4F2081318189E090E014C0643070F4A5
+:1017000070E0FB01EE0FFF1FE65EFE4F208131818E
+:10171000FB01EA5EFE4F808190E004C080E090E033
+:1017200020E030E0FA0131832083089580E189BD13
+:1017300082E189BD09B400FEFDCF8091D8008F7D84
+:101740008093D8008091E00082608093E0008091D7
+:10175000E00081FDFCCF0895CF92DF92EF92FF92DF
+:101760000F931F93CF93DF93EC018B016A010E94CB
+:101770000F0D811133C0C114D10439F0F6018081FD
+:101780009181081B190BC80FD91FE12CF12C0115F1
+:10179000110519F18091E80085FD16C08091E800DF
+:1017A0008E778093E800C114D10449F0F60180815E
+:1017B0009181E80EF91EF182E08285E00FC00E945F
+:1017C0000F0D882321F30AC089918093F100015005
+:1017D0001109FFEFEF1AFF0ADACF80E0DF91CF9116
+:1017E0001F910F91FF90EF90DF90CF90089520917F
+:1017F000FC013091FD012617370748F0611571058E
+:1018000039F42091E8002E772093E80001C0B90157
+:1018100040E061157105A9F12091F501222309F439
+:1018200043C0253009F442C02091E80023FD40C0A8
+:101830002091E80022FD32C02091E80020FFE9CF8E
+:101840004091F3002091F20030E0342BFC01CF01F5
+:101850006115710559F02830310540F4819180936C
+:10186000F100615071092F5F3F4FF1CF41E0283007
+:10187000310509F040E02091E8002E772093E80040
+:10188000C8CF4111C9CF0AC08091F501882361F00A
+:10189000853061F08091E80083FD0AC08091E80006
+:1018A00082FFF2CF80E0089582E0089583E00895FA
+:1018B00081E008952091FC013091FD012617370742
+:1018C00048F06115710539F42091E8002E772093D6
+:1018D000E80001C0B901FC0120E06115710591F13A
+:1018E0008091F501882309F440C0853009F43FC098
+:1018F0008091E80083FD3DC08091E80082FD2FC00B
+:101900008091E80080FFE9CF2091F3008091F20000
+:1019100090E0922B6115710559F08830910540F4E3
+:1019200024912093F1003196615071090196F2CF14
+:1019300021E0089709F020E08091E8008E778093FD
+:10194000E800CBCF2111CCCF0AC08091F5018823CC
+:1019500061F0853061F08091E80083FD0AC08091DC
+:10196000E80082FFF2CF80E0089582E0089583E0EE
+:10197000089581E00895982F973058F59093E900E5
+:10198000981739F07091EC002091ED005091F00023
+:1019900003C0242F762F50E021FF19C03091EB00B7
+:1019A0003E7F3093EB003091ED003D7F3093ED00B2
+:1019B0003091EB0031603093EB007093EC0020939A
+:1019C000ED005093F0002091EE0027FF07C09F5FCD
+:1019D000D3CF8F708093E90081E0089580E008956F
+:1019E0008091F60187FF11C08091E80082FD05C05B
+:1019F0008091F5018111F8CF11C08091E8008B77BB
+:101A00000BC08091F501882349F08091E80080FFA8
+:101A1000F8CF8091E8008E778093E80008952091B8
+:101A2000E4003091E50095E64091EC00842F817050
+:101A300040FF22C08091E80080FD1CC08091F5012C
+:101A4000882391F0853091F08091EB0085FD10C0E6
+:101A50004091E4005091E5004217530729F39A01A1
+:101A6000915011F784E0089582E0089583E008958D
+:101A700081E0089580E008954091E80042FFDECFC4
+:101A800008950E94AF0D0E94B70DE0EEF0E0808156
+:101A900081608083E8EDF0E080818F77808319BCDE
+:101AA000A7EDB0E08C918E7F8C9380818F7E8083B8
+:101AB0001092F40108950F931F93CF93DF930E9428
+:101AC000AF0D0E94B70DC8EDD0E088818F77888375
+:101AD00088818068888388818F7D888319BC109273
+:101AE000F5011092F1011092F3011092F20100EE53
+:101AF00010E0F80180818B7F8083888181608883FA
+:101B000042E060E080E00E94BB0CE1EEF0E080810A
+:101B10008E7F8083E2EEF0E080818160808380812F
+:101B200088608083F80180818E7F808388818061D6
+:101B30008883DF91CF911F910F910895E8EDF0E038
+:101B400080818F7E8083E7EDF0E0808181608083FB
+:101B500084E082BF81E08093F4010C945B0DE8ED9A
+:101B6000F0E080818E7F80831092E20008951092D1
+:101B7000DA001092E10008951F920F920FB60F92B3
+:101B800011242F933F934F935F936F937F938F9382
+:101B90009F93AF93BF93EF93FF938091E10082FFF8
+:101BA0000BC08091E20082FF07C08091E1008B7F33
+:101BB0008093E1000E9423108091DA0080FF1FC013
+:101BC0008091D80080FF1BC08091DA008E7F8093C7
+:101BD000DA008091D90080FF0DC080E189BD82E1EB
+:101BE00089BD09B400FEFDCF81E08093F5010E941C
+:101BF0001E0A05C019BC1092F5010E942C0A8091A2
+:101C0000E10080FF19C08091E20080FF15C0809143
+:101C1000E2008E7F8093E2008091E20080618093F9
+:101C2000E2008091D80080628093D80019BC85E0E2
+:101C30008093F5010E94300A8091E10084FF30C05A
+:101C40008091E20084FF2CC080E189BD82E189BDE2
+:101C500009B400FEFDCF8091D8008F7D8093D8001D
+:101C60008091E1008F7E8093E1008091E2008F7E81
+:101C70008093E2008091E20081608093E200809195
+:101C8000F101882311F084E007C08091E30087FD13
+:101C900002C081E001C083E08093F5010E94320A16
+:101CA0008091E10083FF29C08091E20083FF25C07D
+:101CB0008091E100877F8093E10082E08093F501CD
+:101CC0001092F1018091E1008E7F8093E10080917C
+:101CD000E2008E7F8093E2008091E2008061809339
+:101CE000E20042E060E080E00E94BB0C8091F000E6
+:101CF00088608093F0000E942F0AFF91EF91BF91BE
+:101D0000AF919F918F917F916F915F914F913F9193
+:101D10002F910F900FBE0F901F9018951F920F924A
+:101D20000FB60F9211242F933F934F935F936F93AE
+:101D30007F938F939F93AF93BF93CF93DF93EF9353
+:101D4000FF93C091E900CF708091EC00D82FD17043
+:101D500080FDD0E81092E9008091F000877F8093A9
+:101D6000F00078940E94D20E1092E9008091F00069
+:101D700088608093F000CD2BCF70C093E900FF9175
+:101D8000EF91DF91CF91BF91AF919F918F917F9113
+:101D90006F915F914F913F912F910F900FBE0F90D8
+:101DA0001F9018951F93CF93DF93CDB7DEB7AA97F7
+:101DB0000FB6F894DEBF0FBECDBFE6EFF1E088E0CE
+:101DC0008E0F9091F10091938E13FBCF0E944E0ADB
+:101DD0008091E80083FF1FC18091F6019091F70187
+:101DE000492F50E04A30510508F015C1FA01EA5A6E
+:101DF000FF4F0C940D24803881F0823809F00BC11C
+:101E00008091FA018F708093E9008091EB0085FB4F
+:101E1000882780F91092E90006C08091F201909124
+:101E2000F301911182609091E800977F9093E80010
+:101E30008093F1001092F100C8C0282F2D7F09F087
+:101E4000EAC0882319F0823061F0E5C08091F80182
+:101E5000813009F0E0C0933009F080E08093F30115
+:101E60002BC08091F801811127C08091FA018F70F9
+:101E700009F4D1C08093E9002091EB0020FF1CC041
+:101E8000933021F48091EB00806214C09091EB00BC
+:101E900090619093EB0021E030E0A90102C0440F73
+:101EA000551F8A95E2F74093EA001092EA0080916C
+:101EB000EB0088608093EB001092E9008091E800CD
+:101EC000877F86C08111A7C01091F8011F7780918C
+:101ED000E3008078812B8093E3008091E800877F86
+:101EE0008093E8000E94F00C8091E80080FFFCCF16
+:101EF0008091E30080688093E300111102C082E0CA
+:101F000001C083E08093F50186C08058823008F0DC
+:101F100082C08091F8019091F9018C3D53E09507C2
+:101F200079F583E08A838AE289834FB7F894DE01EA
+:101F3000139620E03EE051E2E32FF0E0509357008B
+:101F4000E49120FF03C0E295EF703F5FEF708E2FAA
+:101F500090E0EA3010F0C79601C0C0968D939D9333
+:101F60002F5F243149F74FBF8091E800877F80932E
+:101F7000E8006AE270E0CE0101960E94F70B14C0FF
+:101F8000AE014F5F5F4F6091FA010E943E0BBC01B2
+:101F9000009709F440C09091E800977F9093E80083
+:101FA00089819A810E945A0C8091E8008B778093F6
+:101FB000E80031C0803879F58091E800877F809310
+:101FC000E8008091F1018093F1008091E8008E7724
+:101FD0008093E8000E94F00C1EC081111CC09091FB
+:101FE000F8019230C0F48091E800877F8093E80088
+:101FF0009093F1010E94F00C8091F101811106C0D3
+:102000008091E30087FD02C081E001C084E08093FD
+:10201000F5010E943A0A8091E80083FF0AC080918E
+:10202000E800877F8093E8008091EB0080628093D6
+:10203000EB00AA960FB6F894DEBF0FBECDBFDF91BE
+:10204000CF911F9108950895CF938091F501882332
+:10205000A1F0C091E900CF709091EC00892F8170C0
+:1020600090FD80E8C82B1092E9008091E80083FD84
+:102070000E94D20ECF70C093E900CF910895909343
+:102080007901809378010895E0917801F0917901C8
+:10209000309721F00190F081E02D099480E00895BF
+:1020A000E0917801F0917901309721F00280F3817D
+:1020B000E02D09940895E0917801F091790130972D
+:1020C00021F00480F581E02D099408952091760196
+:1020D000309177018217930771F090937701809385
+:1020E0007601E0917801F0917901309721F0068036
+:1020F000F781E02D099408952091740130917501C4
+:102100008217930771F09093750180937401E091A9
+:102110007801F0917901309721F00084F185E02D6C
+:102120000994089508950C9492100E94EC1B0E944B
+:1021300031030C94AE1C9F92AF92BF92CF92DF926C
+:10214000EF92FF920F931F93CF93DF9300D000D0B5
+:1021500000D0CDB7DEB70E9449030DE010E0AA24FD
+:10216000A394B12C902E802F0E94370498012558FB
+:102170003E4F6901F901F080F826A1F401501109E0
+:1021800088F78FEF89838A831B820E94F51B816009
+:10219000782F9D838C8349815A816B818D810E9428
+:1021A00032112FC09091DE0191FF04C08E830E94F6
+:1021B0003D048E8125E030E0A501022E01C0440FD0
+:1021C0000A94EAF7E42E4F21C1F029839A828E21E6
+:1021D00091E009F490E09B830E94F51B8160782FC9
+:1021E0009D838C8349815A816B818D810E9432113C
+:1021F000F6018081E826E08204C021503109E0F632
+:10220000BDCF0E94951F10917A010E9444101817AB
+:10221000B9F00E94441080937A0126960FB6F89484
+:10222000DEBF0FBECDBFDF91CF911F910F91FF9009
+:10223000EF90DF90CF90BF90AF909F900C943D09AE
+:1022400026960FB6F894DEBF0FBECDBFDF91CF91BB
+:102250001F910F91FF90EF90DF90CF90BF90AF90C4
+:102260009F900895CF93DF93CDB7DEB72B970FB62E
+:10227000F894DEBF0FBECDBF4F83588769877A873A
+:102280008B87DE01119686E0FD0111928A95E9F7B0
+:1022900085E0FE01379601900D928A95E1F749811C
+:1022A0005A816B817C818D819E810E947B172B9648
+:1022B0000FB6F894DEBF0FBECDBFDF91CF9108956A
+:1022C000CF93882309F4C2C0C82F823859F40E94E2
+:1022D000441081FDBBC089E30E94551A0E94221B55
+:1022E00089E30CC0833879F40E94441080FDAEC0AD
+:1022F00083E50E94551A0E94221B83E50E94971ACB
+:10230000CF910C94221B843859F40E94441082FD12
+:102310009DC087E40E94551A0E94221B87E4EECFDD
+:102320008CEF8C0F813A48F48C2F0E94D8218111B8
+:102330008DC08C2F0E94551AE3CF80E28C0F88301D
+:1023400048F4C77081E001C0880FCA95EAF70E947F
+:10235000DB1AD6CF8BE58C0F833078F4C53A29F0A1
+:10236000C63A31F083E890E005C081E890E002C011
+:1023700082E890E0CF910C94661088E58C0F833151
+:1023800008F064C0C83A39F1C93A41F1CA3A49F192
+:10239000CB3A51F1CC3A59F1CD3A61F1C03B69F1F8
+:1023A000CE3A71F1CF3A79F1C13B81F1C23B89F16B
+:1023B000C33B91F1C43B99F1C53BA1F1C63BA9F1E7
+:1023C000C73BB1F1C83BB9F1C93BC1F1CA3BC9F147
+:1023D00080E090E038C082EE90E035C089EE90E079
+:1023E00032C08AEE90E02FC085EB90E02CC086EBE7
+:1023F00090E029C087EB90E026C08CEC90E023C0F1
+:102400008DEC90E020C083E891E01DC08AE891E067
+:102410001AC082E991E017C084E991E014C081E21A
+:1024200092E011C083E292E00EC084E292E00BC021
+:1024300085E292E008C086E292E005C087E292E081
+:1024400002C08AE292E0CF910C947C10CF91089563
+:10245000882309F44BC0823859F40E94441081FF4C
+:1024600045C089E30E94551A0E94221B89E30CC0D3
+:10247000833871F40E94441080FF38C083E50E94C5
+:10248000551A0E94221B83E50E94971A0C94221B66
+:10249000843859F40E94441082FF28C087E40E94C7
+:1024A000551A0E94221B87E4EFCF9CEF980F913AB8
+:1024B00058F390E2980F983050F4877091E001C083
+:1024C000990F8A95EAF7892F0E94E11ADFCF9BE5E1
+:1024D000980F933020F480E090E00C946610885AB6
+:1024E000833120F480E090E00C947C1008958823E0
+:1024F00021F00E94DB1A0C94221B0895882321F0FE
+:102500000E94E11A0C94221B08957F928F929F9251
+:10251000AF92BF92CF92DF92EF92FF920F931F93F1
+:10252000CF93DF931F92CDB7DEB77C01C62E772EF7
+:10253000FC01058102950F70128111110E94F81A99
+:102540000E944E1A882379F0112369F080E28C0DE5
+:10255000883048F082E00E94371A0E944E1A91E0BB
+:10256000D82ED92601C0D12CE72DE295EF70F0E0EE
+:10257000E05AFF4F0C940D24872D807F072D0F709C
+:10258000882311F00295007F112389F0002309F4BC
+:1025900090C180E28C0D883020F4802F0E94DB1ADD
+:1025A00003C0802F0E94EB1A0E94221B82C18C2D37
+:1025B0000E942812002309F495C180E28C0D883016
+:1025C00020F4802F0E94E11A03C0802F0E94F11A8C
+:1025D0000E94221B87C1972D907F872D8F7090328C
+:1025E00011F08295807FCC2021F0F1E0CF16B1F080
+:1025F0001EC0112349F0002309F414C1013009F071
+:1026000011C10E940B1B6EC1002319F0013009F4A7
+:1026100069C189830E940E1B89810AC1112321F09F
+:10262000023008F05FC1FEC001115CC101C111237D
+:1026300021F0002309F4F6C03CC1002309F4F8C0DE
+:102640003EC1872D86958695837090E0009719F09E
+:10265000019761F047C1112321F08C2D972D9370C4
+:1026600002C080E090E00E9466103CC1112321F07E
+:102670008C2D972D937002C080E090E00E947C101A
+:1026800031C18C2D112319F00E949D1E02C00E94A1
+:10269000051F0E948A1F26C1872D837009F052C032
+:1026A000111120C18C2D829586958770880F880F17
+:1026B0009C2D9F70892E912CA12CB12C082E04C02A
+:1026C000880C991CAA1CBB1C0A94D2F7C4FE14C027
+:1026D0000FE010E020E030E0B901A80104C0440F91
+:1026E000551F661F771F8A95D2F7CB01BA016095F7
+:1026F00070958095909503C060E070E0CB01272D28
+:1027000026952695237030E02230310569F023307C
+:10271000310589F0682979298A299B2921303105D9
+:1027200071F00E94C318DEC0682979298A299B2983
+:102730000E94DF18D7C00E94C318C501B4010E94CF
+:10274000A718D0C0112319F0872D817001C086957C
+:10275000882309F4C7C08C2D829586958770880FD1
+:10276000880F9C2D9F70892E912CA12CB12C082EA6
+:1027700004C0880C991CAA1CBB1C0A94D2F7C4FE86
+:1027800014C00FE010E020E030E0B901A80104C05F
+:10279000440F551F661F771F8A95D2F7CB01BA01E8
+:1027A000609570958095909503C060E070E0CB01D6
+:1027B000272D269526952370422F50E04230510553
+:1027C00069F04330510589F0682979298A299B29C4
+:1027D0004130510571F00E949D1984C06829792902
+:1027E0008A299B290E94B9197DC00E949D19C501A3
+:1027F000B4010E94811976C08C2D90E0FC01E05E4E
+:10280000F109E531F10508F050C0E059FF4F0C9493
+:102810000D240C2D0F70872D8F71112331F00E9424
+:102820001A19802F0E9477125DC00E943B19802FD9
+:102830000E947E1257C0112339F0011153C0872D19
+:102840008F710E9460194EC0023008F04BC0F7CF64
+:10285000112339F0872D8F710E941A1943C011235B
+:10286000C9F3872D8F710E943B193CC0112329F0B9
+:10287000872D8F710E94051935C00E94FB1832C048
+:10288000112351F0172D1F71812F0E941A1963E037
+:10289000812F0E942E1A26C081E00E94371A023032
+:1028A00008F182E00E94371A1DC0112331F0002385
+:1028B00089F28C2D0E94601115C0002391F28C2D9D
+:1028C0000E9428120FC0472D4F706C2DC7010E9427
+:1028D00013050E941F1806C0472D4F706C2DC701AD
+:1028E0000E944C06DD20F9F00E942A1A80FD1BC0D0
+:1028F000F70112820E94241A0E941A19C7010E942D
+:10290000A2140E94241A0F90DF91CF911F910F9172
+:10291000FF90EF90DF90CF90BF90AF909F908F90FF
+:102920007F900C943B190F90DF91CF911F910F91E5
+:10293000FF90EF90DF90CF90BF90AF909F908F90DF
+:102940007F9008950F931F93CF93DF93EC018881BD
+:1029500099812B813C81232BB9F09F3F11F48F3F4C
+:1029600099F0CE010E94A405882371F068817981D5
+:102970008A810E94201A8C010E94D5190E949C18FD
+:10298000B801CE010E948512DF91CF911F910F9166
+:1029900008950E94F81A0E94081B0E94CD1A0E94F6
+:1029A000221B0E943B200E948A1F80E090E00E9430
+:1029B000661080E090E00C947C100E94E81A0C9461
+:1029C000C9140E94151A292F22952F7030E02C303F
+:1029D00031054CF42A3031056CF422503109223093
+:1029E0003105A8F407C02C30310569F02F303105CE
+:1029F00051F00DC0803F69F018F4803E40F409C0EA
+:102A0000843F29F406C093FB882780F9089580E06D
+:102A1000089581E00895CF93DF9300D000D01F92F6
+:102A2000CDB7DEB70F900F900F900F900F90DF9102
+:102A3000CF910895CF93DF9300D000D000D0CDB7D1
+:102A4000DEB726960FB6F894DEBF0FBECDBFDF917E
+:102A5000CF9108951F93CF93DF93C091890116E022
+:102A600080918A01C81799F0D0E01C9FF0011D9F4A
+:102A7000F00D1124E557FE4F408151816281738131
+:102A8000848195810E941A152196C770E9CFDF9144
+:102A9000CF911F9108954091BB015091BC0160916D
+:102AA000BD017091BE018091BF019091C0010C9455
+:102AB0001A158091C00182958F7009F054C08091E1
+:102AC000BD01882309F44FC080918901A0918A013A
+:102AD0006091BB017091BC014091BE015091BF015A
+:102AE000B6E08A1709F43FC090E041155105C1F1E5
+:102AF0007F3F11F46F3FA1F1B89FF001B99FF00D36
+:102B00001124E557FE4F218172132AC020816213E0
+:102B100027C02281211124C0238134812417350745
+:102B200010F421503109241B350B283C3105C0F429
+:102B30002091C0012F7020612093C00126E0289FC2
+:102B4000F001299FF00D1124E057FE4F80818F7016
+:102B5000806180838BEB91E00E94A2140C942A1573
+:102B600001968770BECF0895CF92DF92EF92FF92C9
+:102B70000F931F93CF93DF93CDB7DEB762970FB656
+:102B8000F894DEBF0FBECDBF8C0185E0F801DE01F9
+:102B90001D9601900D928A95E1F7D8014C911196FE
+:102BA0005C91119712966C9112971396CD90DC90D0
+:102BB00014973091BB017091BC018091BE0190913E
+:102BC000BF01009709F46BC17F3F19F43F3F09F43F
+:102BD00066C1E090BD01EE2009F4C0C02091C001A3
+:102BE000C816D90628F0F601E81BF90BCF0104C07E
+:102BF000809590958C0D9D1DFF24F394883C910544
+:102C000078F0F12C207F09F0C6C07C2DD98AC88AC3
+:102C100089890E940B158BEB91E00E94A214B1C030
+:102C2000822F807F09F046C0751314C0341312C080
+:102C3000611110C02F7020612093C0010E944B15BC
+:102C40008BEB91E00E94A2148091C001D8011596EF
+:102C50008C932EC0CD2819F15F3F11F44F3FF9F04E
+:102C6000F62E61111CC08091890120918A0136E005
+:102C7000821709F45AC090E0389FF001399FF00D97
+:102C80001124E557FE4F7181571306C07081471319
+:102C900003C07281711103C001968770E9CFF62ECF
+:102CA000662309F418C18091C00181608093C0013E
+:102CB000F12C11C1751308C0341306C0611104C092
+:102CC0008091C001D801C3C04D875E878D859E85E8
+:102CD0006A8B0E94E1146A898823E1F16623D1F1AD
+:102CE0002091C001822F82958F7090E0029774F03E
+:102CF0008091BB019091BC0198878F831986DB86F8
+:102D0000CA862C87CE0107960E94A21486E0F8019D
+:102D1000ABEBB1E001900D928A95E1F70E94591555
+:102D20000E944B15FF24F394D6C04D875E878D8596
+:102D30009E850E94151A292F22952F7030E022308F
+:102D400031050CF0BCC09F7009F0B6C0805E8830C1
+:102D500008F4C1C0C8010E94A214E4CFC816D90665
+:102D600008F453C0F601E81BF90BCF01883C91052C
+:102D700008F450C0F12C7C2DD98AC88A89890E9418
+:102D80000B15EBEBF1E086E0DF011D928A95E9F788
+:102D90000E944B15A0C0751314C0341312C06111EA
+:102DA00010C08091C001F8018583C8010E94A2145F
+:102DB00086E0EBEBF1E0DF011D928A95E9F7FE2C4E
+:102DC0008AC04D875E878D859E856A8B0E94E1143F
+:102DD0006A89882309F4BECF662309F4BBCF20910A
+:102DE000C001822F82958F7090E002970CF48ECFF5
+:102DF0008091BB019091BC019A8389831B82DD8203
+:102E0000CC822E83CE0101967FCF809590958C0D3C
+:102E10009D1DACCFF62E662309F49CCF75132EC0F2
+:102E200034132CC02091C00120FD1FC0822F829539
+:102E30008F70D9F0D80115962C9315978F3049F0E3
+:102E40008F5F982F9295907F822F8F70892B159688
+:102E50008C93C8010E94A21486E0F801ABEBB1E0AC
+:102E600001900D928A95E1F793CF86E0F801ABEBE4
+:102E7000B1E001900D928A95E1F72DC04D875E87F4
+:102E80008D859E850E94E114811140CF8091C00103
+:102E900081608093C001C8010E94A2141CC06623F7
+:102EA00009F458CF4D875E878D859E850E94E11479
+:102EB000882309F44FCF2ACF811148CF0CC024308A
+:102EC00031050CF047CF9F7009F440CFF801958190
+:102ED000907F09F03BCF8F2D62960FB6F894DEBF3E
+:102EE0000FBECDBFDF91CF911F910F91FF90EF905B
+:102EF000DF90CF9008951F93CF93DF93CDB7DEB7C8
+:102F00002C970FB6F894DEBF0FBECDBF4F83588706
+:102F100069877A878B879C87CE0107960E94B415B4
+:102F2000882369F08F8198852A853B85232BF1F1D1
+:102F30009F3F09F063C08F3F09F060C037C086E053
+:102F4000FE013796DE01119601900D928A95E1F708
+:102F50006F817885EA85FB85309741F17F3F11F4D9
+:102F60006F3F21F120918A0130E0C90101968770FD
+:102F700099274091890150E08417950709F447C0CB
+:102F800069837A83FD83EC8396E0929FD001939FBF
+:102F9000B00D1124A557BE4FFE01319601900D9240
+:102FA0009A95E1F780938A010E942A1516E0809194
+:102FB000890190918A018917C1F1189FC0011124DC
+:102FC00085579E4F0E94B415882379F1E0918901BD
+:102FD0001E9FF0011124E557FE4F4081518162810F
+:102FE0007381848195810E941A158091890190E0F6
+:102FF00001968770992780938901D9CF4F81588591
+:1030000069857A858B859C850E941A15CFCF0E9491
+:10301000DD1410928A0110928901EBEBF1E086E059
+:10302000DF011D928A95E9F7C1CF2C960FB6F8946F
+:10303000DEBF0FBECDBFDF91CF911F910895EF92FC
+:10304000FF920F931F93CF93DF938C01009709F4A6
+:103050006CC0F12CEE24E394E8012196F8018491F0
+:10306000843740F4843008F051C0813081F08230E0
+:1030700019F15BC0853709F444C0A8F19CE7980FAB
+:10308000903708F052C08F770E94281241C00E5F1F
+:103090001F4FFE01C49180E28C0F883048F4C77046
+:1030A0008E2D01C0880FCA95EAF70E94FB1A14C042
+:1030B0008C2F0E9460112DC00E5F1F4FFE01C49126
+:1030C00080E28C0F883058F4C7708E2D01C0880FB5
+:1030D000CA95EAF70E94011B0E94221B1AC08C2F7E
+:1030E0000E94281216C00E5F1F4FFE01C491CC2310
+:1030F00081F08FE99FE00197F1F700C00000C15017
+:10310000F6CF0E5F1F4FFE01F49003C00E946011C6
+:103110008E018F2D882309F49FCFEFE9FFE03197CF
+:10312000F1F700C000008150F5CFDF91CF911F91E2
+:103130000F91FF90EF90089508956093C5017093EB
+:10314000C6018093C7019093C8010C94C9140F93D2
+:103150001F930091C5011091C6012091C7013091C4
+:10316000C801DC01CB01802B912BA22BB32B8093C8
+:10317000C5019093C601A093C701B093C8011F91E8
+:103180000F910C94C9140F931F930091C5011091D6
+:10319000C6012091C7013091C801DC01CB01802319
+:1031A0009123A223B3238093C5019093C601A093DA
+:1031B000C701B093C8011F910F910C94C9140F93CC
+:1031C0001F930091C5011091C6012091C701309154
+:1031D000C801DC01CB0180279127A227B327809368
+:1031E000C5019093C601A093C701B093C8011F9178
+:1031F0000F910C94C9141092C1011092C201109247
+:10320000C3011092C4010C94C91441E050E060E085
+:1032100070E004C0440F551F661F771F8A95D2F7D0
+:103220004093C1015093C2016093C3017093C401E4
+:103230000C94C91441E050E060E070E004C0440F19
+:10324000551F661F771F8A95D2F78091C101909113
+:10325000C201A091C301B091C401482B592B6A2B24
+:103260007B2B4093C1015093C2016093C3017093C3
+:10327000C4010C94C91441E050E060E070E004C067
+:10328000440F551F661F771F8A95D2F740955095BA
+:10329000609570958091C1019091C201A091C30188
+:1032A000B091C401482359236A237B234093C10171
+:1032B0005093C2016093C3017093C4010C94C9146C
+:1032C00041E050E060E070E004C0440F551F661F0D
+:1032D000771F8A95D2F78091C1019091C201A09188
+:1032E000C301B091C401482759276A277B2740931F
+:1032F000C1015093C2016093C3017093C4010C9447
+:10330000C9140F931F930091C1011091C201209124
+:10331000C3013091C401DC01CB01802B912BA22B86
+:10332000B32B8093C1019093C201A093C301B093CA
+:10333000C4011F910F910C94C9140F931F93009116
+:10334000C1011091C2012091C3013091C401DC017F
+:10335000CB0180239123A223B3238093C1019093B7
+:10336000C201A093C301B093C4011F910F910C94AB
+:10337000C9140F931F930091C1011091C2012091B4
+:10338000C3013091C401DC01CB0180279127A22722
+:10339000B3278093C1019093C201A093C301B0935E
+:1033A000C4011F910F910C94C9140895CF92DF921C
+:1033B000EF92FF920F931F93CF93DF938C01C090F6
+:1033C000C501D090C601E090C701F090C80180917E
+:1033D000C1019091C201A091C301B091C401C82A5A
+:1033E000D92AEA2AFB2ACFE1D0E0D701C6010C2E68
+:1033F00004C0B695A795979587950A94D2F780FF54
+:1034000006C0B8018C2F0E94A208019721F42197D1
+:1034100060F780E001C08C2FDF91CF911F910F9159
+:10342000FF90EF90DF90CF900895CF93DF93EC0162
+:103430000E94D619BE010E94A208DF91CF91089583
+:10344000CB010E94151A08958091C9018595859533
+:10345000859508958091C9018770089598E0899FA6
+:1034600090011124262B2093C9010C941A19209144
+:10347000C901809582238093C901982F977069F4C0
+:1034800030E0482F552747FD50952417350729F080
+:103490008595859585950C943B1908959091C90162
+:1034A000977081E009F480E0089590910C019923D0
+:1034B00021F090910D01911109C020910E013091E0
+:1034C0000F01F90132969FEF40E01FC0982F9695AB
+:1034D000969596959F3050F5E0910E01F0910F0171
+:1034E000E90FF11D877021E030E0A90102C0440F0F
+:1034F000551F8A95E2F7CA019181892B818308952E
+:103500009F3F39F04F5F4E3041F051915813F8CF43
+:103510000DC05111F7CF942FF5CF9F3F39F0F9012E
+:10352000E90FF11D97FDFA95828308950895909112
+:103530000C01992321F090910D01911109C0209166
+:103540000E0130910F01F9013296205F3F4F1FC0ED
+:10355000982F9695969596959F30F0F4E0910E01F0
+:10356000F0910F01E90FF11D877021E030E0A90112
+:1035700002C0440F551F8A95E2F7CA0180959181D8
+:103580008923818308953196E217F30729F090810A
+:103590009813F9CF1082F7CF089581E090E0E09181
+:1035A0000E01F0910F01E80FF91F10820196803192
+:1035B0009105A9F708959091DD01892B8093DD0194
+:1035C000089580959091DD0189238093DD01089510
+:1035D0001092DD0108959091DC01892B8093DC012C
+:1035E000089580959091DC0189238093DC010895F2
+:1035F0001092DC0108959091DB01892B8093DB010F
+:10360000089580959091DB0189238093DB010895D3
+:103610001092DB0108958093CA0108951092CA01A7
+:10362000089580910E0190910F01FC0131969C014B
+:10363000205F3F4F80E0919191118F5FE217F30778
+:10364000D1F70895E0910E01F0910F018091DD0115
+:103650008083E0910E01F0910F0190818091DC0157
+:10366000892B8083E0910E01F0910F019081809170
+:10367000DB01892B80838091CA01882361F0E0916E
+:103680000E01F0910F019081892B80830E94111B04
+:1036900081111092CA0180910E0190910F010C943A
+:1036A000501020E0009739F0AC01415051098423BB
+:1036B00095232F5FF7CF822F0895CF92DF92EF925D
+:1036C000FF926C01EE24FF24C114D104E104F10443
+:1036D00021F0C701B60120E101C020E0C72ED82E9D
+:1036E000E92EFF24C114D104E104F10419F0285F8C
+:1036F000C701B6016B017C0154E0F694E794D794BE
+:10370000C7945A95D1F7C114D104E104F10419F01A
+:103710002C5FC701B6016B017C0142E0F694E7948F
+:10372000D794C7944A95D1F7C114D104E104F104A8
+:1037300019F02E5FC701B601DC01CB01B695A79544
+:1037400097958795892B8A2B8B2B09F02F5F822FDA
+:10375000FF90EF90DF90CF9008958091F501843035
+:1037600021F11092DF0120E488E190E00FB6F89497
+:10377000A895809360000FBE2093600080E00E94B7
+:103780003D0983B7817F846083BF83B7816083BF36
+:103790007894889583B78E7F83BF88E10FB6F894BD
+:1037A00080936000109260000FBE08950895089500
+:1037B0000E94D61B0E9449030E94D71B0E943E0410
+:1037C00091E0811101C090E0892F08950E94DD14DD
+:1037D0000E9444100C943D0982E084BD93E095BDA5
+:1037E0009AEF97BD80936E0008952FB7F89480915B
+:1037F000E0019091E101A091E201B091E3012FBFBE
+:103800000895CF92DF92EF92FF920F931F932FB7FD
+:10381000F8944091E0015091E1016091E2017091D2
+:10382000E3012FBF6A017B01EE24FF248C0120E01D
+:1038300030E0C016D106E206F30610F441505109FB
+:103840009A01281B390BC9011F910F91FF90EF902E
+:10385000DF90CF9008951F920F920FB60F92112410
+:103860008F939F93AF93BF938091E0019091E1017B
+:10387000A091E201B091E3010196A11DB11D8093D9
+:10388000E0019093E101A093E201B093E301BF91C5
+:10389000AF919F918F910F900FBE0F901F90189531
+:1038A0000E94410DF8942FEF87EA91E62150804065
+:1038B0009040E1F700C0000087E090EBDC018093CE
+:1038C000FF0190930002A0930102B09302029CE0DA
+:1038D00088E10FB6F894A895809360000FBE90938E
+:1038E0006000FFCFEF92FF920F931F93CF93DF9370
+:1038F000D82FCDE08C2F0E94370405E010E0E82E91
+:10390000F12CC701002E02C0959587950A94E2F725
+:1039100080FF09C0602F7C2F80E00E944D06D813E5
+:1039200002C081E006C00150110958F7C15010F7DC
+:1039300080E0DF91CF911F910F91FF90EF9008955C
+:10394000CF93C82F8CE20E94721C882321F08C2F09
+:10395000CF910C94721C80E0CF910895CF930E9478
+:10396000F51D811102C00E94DB1DC5E6C15049F062
+:103970000E9449038FE39CE90197F1F700C0000022
+:10398000F5CF89E20E94A01C811113C18AE20E9436
+:10399000A01C81110E94DB1D85E00E94A01C8111EA
+:1039A0000E94501C0E94001E8093DE0187E00E944E
+:1039B000A01C8823A9F18BE10E94A01C882351F050
+:1039C0008091DE0181FB222720F991E0922790FB74
+:1039D00081F90EC08EE00E94A01C882361F08091C6
+:1039E000DE0182FB222720F991E0922790FB82F9E9
+:1039F0008093DE0115C080E10E94A01C9091DE0141
+:103A0000882341F093FB222720F981E0822780FB65
+:103A100093F904C0892F809580FB90F99093DE0183
+:103A20008091DE010E94041E0E94121E8093FE01FE
+:103A300080EE0E94A01C882341F08091FE01982F07
+:103A4000909590FB80F98093FE0189E30E94A01C71
+:103A5000882359F08091FE0181FB222720F991E013
+:103A6000922790FB81F98093FE0182EE0E94A01CB8
+:103A7000882359F08091FE0182FB222720F991E0F2
+:103A8000922790FB82F98093FE0186EE0E94A01C93
+:103A9000882359F08091FE0183FB222720F991E0D1
+:103AA000922790FB83F98093FE0183EE0E94A01C75
+:103AB000882359F08091FE0184FB222720F991E0B0
+:103AC000922790FB84F98093FE0185E30E94A01C5D
+:103AD000882359F08091FE0185FB222720F991E08F
+:103AE000922790FB85F98093FE0181E30E94A01C40
+:103AF000882359F08091FE0186FB222720F991E06E
+:103B0000922790FB86F98093FE0181E10E94A01C20
+:103B1000882359F08091FE0187FB222720F991E04C
+:103B2000922790FB87F98093FE018091FE010E940D
+:103B3000161E8091FE0187FB882780F980930D0176
+:103B400087E20E94A01CC82F8EE10E94A01C811158
+:103B5000C2608FE10E94A01C8111C46080E20E94BB
+:103B6000A01C8111C86081E20E94A01C8111C0616B
+:103B700082E20E94A01C8111C06283E20E94A01C0C
+:103B80008111C06484E20E94A01C882311F0C068E7
+:103B900002C0CC2329F08C2F0E940D1E6C2F03C075
+:103BA0000E94091E682F70E080E090E0CF910C9495
+:103BB0009D18CF9108956DEE7EEF80E090E00E9419
+:103BC000472460E082E090E00E94352460E083E0DA
+:103BD00090E00E94352460E084E090E00E9435246B
+:103BE00060E085E090E00C94352480E090E00E9455
+:103BF0002F2421E08D3E9E4F09F020E0822F089572
+:103C000082E090E00C942724682F82E090E00C94EE
+:103C1000352483E090E00C942724682F83E090E023
+:103C20000C94352484E090E00C942724682F84E0E1
+:103C300090E00C9435248091E60180FF0BC06091E8
+:103C4000130185E0689FB0011124759567957595FE
+:103C500067952BC081FF09C06091130185E0689FC3
+:103C6000B00111247595679520C082FF07C060914F
+:103C7000130185E0689FB001112417C09091E701FE
+:103C80009923D1F060911201961788F720911301C2
+:103C900085E0289F90011124929FA001939F500DD1
+:103CA000112470E0CA010E94F9236038710540F4C4
+:103CB0006115710539F002C065E070E0862F089546
+:103CC0008FE7089581E008958091E60180FF08C0A4
+:103CD0006091110170E0759567957595679521C0A4
+:103CE00081FF06C06091110170E07595679519C05C
+:103CF00082FF04C06091110170E010C09091E70153
+:103D00009923C1F0609110019617A0F780911101DD
+:103D1000899FC001112470E00E94F9236038710569
+:103D200028F46115710521F0862F08958FE7089515
+:103D300081E0089561E070E0F4CF803F21F40E94BB
+:103D40001B1E819504C0813F29F40E941B1E809395
+:103D5000EA010895823F21F40E941B1E819504C050
+:103D6000833F29F40E941B1E8093E9010895893F37
+:103D700019F40E94641E05C08A3F31F40E94641E3B
+:103D800081958093EB0108958B3F21F40E94641E7E
+:103D9000819504C08C3F29F40E94641E8093EC013D
+:103DA0000895843F21F48091E801816017C0853F28
+:103DB00021F48091E801826011C0863F21F4809156
+:103DC000E80184600BC0873F21F48091E80188609E
+:103DD00005C0883F31F48091E80180618093E8015B
+:103DE00008958D3F21F48091E60181600BC08E3FE4
+:103DF00021F48091E601826005C08F3F29F4809113
+:103E0000E60184608093E6010895803F39F4809153
+:103E1000EA0187FF6CC01092EA0169C0813F29F472
+:103E20008091EA011816BCF362C09091E901823FCB
+:103E300029F497FF5CC01092E90159C0833F19F43F
+:103E40001916CCF354C0893F41F48091EB01181648
+:103E50000CF04DC01092EB014AC08A3F29F48091CA
+:103E6000EB0187FF44C0F6CF8B3F39F48091EC0122
+:103E700087FF3DC01092EC013AC08C3F29F480913D
+:103E8000EC011816BCF333C0843F21F48091E801A3
+:103E90008E7F17C0853F21F48091E8018D7F11C08E
+:103EA000863F21F48091E8018B7F0BC0873F21F48E
+:103EB0008091E801877F05C0883F31F48091E80157
+:103EC0008F7E8093E80113C08D3F21F48091E6013D
+:103ED0008E7F0BC08E3F21F48091E6018D7F05C05F
+:103EE0008F3F29F48091E6018B7F8093E6018091DA
+:103EF000E90181110EC08091EA0181110AC080910F
+:103F0000EB01811106C08091EC01811102C0109279
+:103F1000E701089588EE91E00E945B100E94F51B76
+:103F20009093E5018093E40108951F93CF93DF936D
+:103F30008091E4019091E5010E94011CAC019091F7
+:103F4000E701992321F02091140130E006C020916F
+:103F500015018AE0289F900111244217530708F4A5
+:103F600086C08091E901C091EA01D091EB011091E6
+:103F7000EC01811107C0C11176C0D11174C01111BB
+:103F800072C075C09F3F19F09F5F9093E7011816AC
+:103F900024F40E941B1E8093E9018091E90187FFB0
+:103FA00005C00E941B1E81958093E9011C1624F414
+:103FB0000E941B1E8093EA018091EA0187FF05C0E1
+:103FC0000E941B1E81958093EA016091E90166239E
+:103FD00039F1C091EA01CC2319F1772767FD70957B
+:103FE000872F972F0E940A2323E333E343E35FE302
+:103FF0000E946E230E94D7226093E9016C2F7727DD
+:1040000067FD7095872F972F0E940A2323E333E3E0
+:1040100043E35FE30E946E230E94D7226093EA018C
+:104020001D1624F40E94641E8093EB018091EB0125
+:1040300087FF05C00E94641E81958093EB011116D5
+:1040400024F40E94641E8093EC018091EC0187FFB0
+:1040500005C00E94641E81958093EC01DF91CF9191
+:104060001F910C948A1F9F3F09F08ECF96CFDF914E
+:10407000CF911F910895E8EEF1E085E0DF011D92F8
+:104080008A95E9F71092E7011092E60108958330CE
+:1040900081F128F4813059F08230D1F008958530D3
+:1040A00009F449C0B8F1863009F456C008958091EA
+:1040B0001501262F30E0280F311D2F3F310524F444
+:1040C000680F6093150108958FEF8093150108958F
+:1040D00080911401262F30E0280F311D2F3F31052C
+:1040E00024F4680F6093140108958FEF80931401F6
+:1040F000089580911301262F30E0280F311D2F3FA6
+:10410000310524F4680F6093130108958FEF8093B5
+:104110001301089580911201262F30E0280F311DE0
+:104120002F3F310524F4680F6093120108958FEF3B
+:1041300080931201089580911101262F30E0280FFD
+:10414000311D2F3F310524F4680F6093110108954C
+:104150008FEF80931101089580911001262F30E098
+:10416000280F311D2F3F310524F4680F6093100193
+:1041700008958FEF809310010895833011F128F492
+:10418000813049F0823091F00895853081F120F13D
+:104190008630C1F1089580911501681720F4861BBF
+:1041A00080931501089510921501089580911401CE
+:1041B000681720F4861B809314010895109214014F
+:1041C000089580911301681720F4861B80931301D2
+:1041D000089510921301089580911201681720F438
+:1041E000861B809312010895109212010895809108
+:1041F0001101681720F4861B809311010895109215
+:104200001101089580911001681720F4861B809396
+:10421000100108951092100108950F931F938D318E
+:1042200009F46BC008F03FC08E3009F47FC0C0F4C1
+:10423000873009F469C068F4863009F0B1C0809114
+:10424000DE01817F8E7F8093DE0181E08093EE012D
+:10425000A8C0883009F4A2C08B3009F49FC0A0C068
+:10426000863109F49BC078F4803109F472C0813141
+:1042700009F096C00E94DD1490910D0181E089271C
+:1042800080930D018BC0893109F488C08B3109F00E
+:1042900087C08091DE0181FB222720F991E09227DF
+:1042A00090FB81F94CC0853309F470C048F4873223
+:1042B00009F46CC008F459C0893209F467C070C0B1
+:1042C000833438F48A3308F04EC0883309F466C06A
+:1042D00067C0833409F45AC0883409F061C00E9471
+:1042E000DD140FEF13ED20E3015010402040E1F703
+:1042F00000C000000E94501C51C00E9491220E94E8
+:1043000044100E943D094AC09091DE01892F80959A
+:10431000817080FB90F929F0966098609093DE019F
+:1043200040C0997F977F9093DE0138C08091DE0175
+:1043300082FB222720F991E0922790FB82F980935B
+:10434000DE01992359F18091DE0181608093DE01C5
+:1043500025C08091DE0183FB222720F991E092277E
+:1043600090FB83F9ECCF895301C08D5141E050E0BF
+:1043700060E070E08A019B0104C0000F111F221F42
+:10438000331F8A95D2F7C901B80104C061E070E01B
+:1043900080E090E00E949D180E94DD1481E001C041
+:1043A00080E01F910F91089580E0089580E00895C6
+:1043B000CF93C82F8091EE01813079F018F08230D0
+:1043C000E9F187C0E0910E01F0910F018081813108
+:1043D00069F0823209F07FC009C0E0910E01F091CE
+:1043E0000F018081813111F0823261F48C2F0E94A3
+:1043F000D421811104C08C2F0E940D211DC081E0A9
+:1044000090E01AC08C2F0E94D621811114C0C431B3
+:1044100079F048F4CB3079F0C03109F060C082E027
+:104420008093EE0108C0C93219F0C83321F057C09B
+:104430001092EE0154C081E0817053C0C93289F1FD
+:1044400018F5C43171F1A8F4C73009F046C08AE00C
+:104450008093150194E19093140193E090931301DC
+:104460008093120188E08093110188E2809310010B
+:1044700034C0CE51C63088F5EC2FF0E0E65DFE4F3B
+:1044800080818093ED0129C0CE34E9F020F4CB3453
+:1044900021F56AE013C0C13579F0C235F1F461E06D
+:1044A0000DC08091ED01882319F01092ED0115C027
+:1044B00081E08093EE0115C061E006C08091ED01BE
+:1044C0000E9447200AC06AE08091ED010E94BD2051
+:1044D00004C01092EE0180E004C081E002C080E0E0
+:1044E000ABCFCF910895E1E8F0E0808188608083D0
+:1044F0008081816080838FB7F89493E090938900E6
+:1045000090ED909388008FBF0895EFE6F0E08081F2
+:10451000826080830895EFE6F0E080818D7F808364
+:104520000895EFE6F0E0908182E089278083089586
+:104530001F920F920FB60F9211242F933F934F9318
+:104540005F936F937F938F939F93AF93BF93EF93FB
+:10455000FF938091EF019091F00101969093F0010B
+:104560008093EF01811103C082E00E943D09E09138
+:10457000F001E695E695F0E0E055FB4FE49180917F
+:10458000EF018E1303C080E00E943D09FF91EF917F
+:10459000BF91AF919F918F917F916F915F914F915B
+:1045A0003F912F910F900FBE0F901F90189504D040
+:1045B0006894B1118DC0089570D088F09F5790F025
+:1045C000B92F9927B751A0F0D1F0660F771F881F38
+:1045D000991F1AF0BA95C9F712C0B13081F077D09F
+:1045E000B1E0089574C0672F782F8827B85F39F03D
+:1045F000B93FCCF3869577956795B395D9F73EF497
+:1046000090958095709561957F4F8F4F9F4F08953E
+:10461000E89409C097FB3EF490958095709561955C
+:104620007F4F8F4F9F4F9923A9F0F92F96E9BB2712
+:104630009395F695879577956795B795F111F8CF8E
+:10464000FAF4BB0F11F460FF1BC06F5F7F4F8F4FF9
+:104650009F4F16C0882311F096E911C0772321F0EF
+:104660009EE8872F762F05C0662371F096E8862F87
+:1046700070E060E02AF09A95660F771F881FDAF7DE
+:10468000880F9695879597F9089557FD9058440F90
+:10469000551F59F05F3F71F04795880F97FB991FA1
+:1046A00061F09F3F79F0879508951216130614065E
+:1046B000551FF2CF4695F1DF08C0161617061806EB
+:1046C000991FF1CF86957105610508940895E894C6
+:1046D000BB2766277727CB0197F908950BD078C0C1
+:1046E00069D028F06ED018F0952309F05AC05FC049
+:1046F0001124EECFCADFA0F3959FD1F3950F50E0C0
+:10470000551F629FF001729FBB27F00DB11D639F83
+:10471000AA27F00DB11DAA1F649F6627B00DA11D29
+:10472000661F829F2227B00DA11D621F739FB00DCF
+:10473000A11D621F839FA00D611D221F749F33273F
+:10474000A00D611D231F849F600D211D822F762FD8
+:104750006A2F11249F5750408AF0E1F088234AF0D5
+:10476000EE0FFF1FBB1F661F771F881F9150504021
+:10477000A9F79E3F510570F014C0AACF5F3FECF33C
+:10478000983EDCF3869577956795B795F795E7950D
+:104790009F5FC1F7FE2B880F911D9695879597F91E
+:1047A000089597F99F6780E870E060E008959FEFB3
+:1047B00080EC089500240A941616170618060906B8
+:1047C000089500240A941216130614060506089587
+:1047D000092E0394000C11F4882352F0BB0F40F40F
+:1047E000BF2B11F460FF04C06F5F7F4F8F4F9F4F4F
+:1047F000089597FB072E16F4009407D077FD09D093
+:104800000E94132407FC05D03EF4909581959F4F9C
+:104810000895709561957F4F0895EE0FFF1F0590E5
+:10482000F491E02D0994AA1BBB1B51E107C0AA1FFC
+:10483000BB1FA617B70710F0A61BB70B881F991F41
+:104840005A95A9F780959095BC01CD010895F999E5
+:10485000FECF92BD81BDF89A992780B50895A8E151
+:10486000B0E042E050E00C944F24262FF999FECF9F
+:1048700092BD81BDF89A019700B4021639F01FBAB3
+:1048800020BD0FB6F894FA9AF99A0FBE08950196D2
+:10489000272F0E9436240C943524DC01CB01FC0127
+:1048A000F999FECF06C0F2BDE1BDF89A319600B489
+:0E48B0000D9241505040B8F70895F894FFCF94
+:1048BE0002203F09CD09AA09760942090101CB015F
+:1048CE0028080A03140A3F4D363971042404EE03F6
+:1048DE00B503480361037A0393030102030405063B
+:0448EE0007080900AE
+:00000001FF
diff --git a/keyboards/ergodox_ez/keymaps/dave/keymap.c b/keyboards/ergodox_ez/keymaps/dave/keymap.c new file mode 100644 index 0000000000..e9480af3e9 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dave/keymap.c @@ -0,0 +1,199 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define PROG 1 // programming +#define NAVI 2 // navigation + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | BkSpce | + * |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | Y | | G | Y | U | I | O | P | Enter | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L | ; | Enter | + * |--------+------+------+------+------+------| H | | B |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |`/Ctrl| \ | | | LAlt | | RAlt | [ | ] | |'/Ctrl| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | PrtS | PrtS | | CtAl | CtAl | + * ,------+------+------| |------+------+------. + * | | | L1 | | L1 | | | + * | Spce | ~L2 +------| |------+ ~L1 | Spce | + * | | | LGui | | RGui | | | + * `--------------------' `--------------------' + */ +// 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, + KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H, + CTL_T(KC_GRV),KC_NUBS,KC_NO, KC_NO, KC_LALT, + KC_PSCREEN, KC_PSCREEN, + TO(PROG, ON_PRESS), + KC_SPC, MO(NAVI), KC_LGUI, + // right hand + KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC, + KC_G, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENTER, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER, + KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, + KC_RALT,KC_LBRC,KC_RBRC,KC_NO, CTL_T(KC_QUOT), + MT(0x5, KC_NO), MT(0x5, KC_NO), + TO(PROG, ON_PRESS), + KC_RGUI, MO(PROG), KC_SPC + ), + +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | K/ | K* | K- | = | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | ( | ) | | | | | | | K7 | K8 | K9 | K+ | # | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | { | } | ` |------| |------| | K4 | K5 | K6 | K+ | ' | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | | K1 | K2 | K3 | K= | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | K0 | K0 | K. | K= | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | L2 | | L2 | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// PROGRAMMING +[PROG] = KEYMAP( + // left hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + TO(NAVI, ON_PRESS), + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, KC_EQUAL, + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_NUHS, + KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_QUOT, + KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS, + KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_TRNS, + KC_TRNS, KC_TRNS, + TO(NAVI, ON_PRESS), + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Keymap 2: Navigation and system keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | Home | Up | End | Ins | PgUp | | | | | | Ins | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | Left | Down | Rght | Del | PgDn |------| |------| | Back | Del | Fwrd | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | Lclk | MsUp | Rclk | | | | | | | Prev | Play | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | MsLt | MsDn | MsRt | | |VolDn | Mute |VolUp | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | L0 | | L0 | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// NAVIGATION +[NAVI] = KEYMAP( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS, KC_HOME, KC_UP, KC_END, KC_INS, KC_PGUP, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELT, KC_PGDN, + KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, + TO(BASE, ON_PRESS), + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_WBAK, KC_DELT, KC_WFWD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + TO(BASE, ON_PRESS), + KC_TRNS, KC_TRNS, KC_TRNS +), +}; + +const uint16_t PROGMEM fn_actions[] = { + //[1] = ACTION_LAYER_TAP_TOGGLE(PROG), // FN1 - Momentary Layer 1 (Symbols) + //[2] = ACTION_LAYER_TAP_TOGGLE(NAVI) // FN2 - Momentary Layer 2 (Navigation) +}; + +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) { + /* leds is a static array holding the current brightness of each of the + * three keyboard LEDs. It's 4 long simply to avoid the ugliness of +1s and + * -1s in the code below, and because wasting a byte really doesn't matter + * that much (no, it *doesn't*, stop whinging!). Note that because it's + * static it'll maintain state across invocations of this routine. + */ + static uint8_t leds[4]; + uint8_t led; + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + + /* Loop over each LED/layer */ + for (led = 1; led <= 3; ++led) { + /* If the current layer matches the current LED, increment its + * brightness by 1 up to a maximum of 255. If the current layer doesn't + * match, decrement its brightness by 1 down to a minimum of zero. + */ + leds[led] += (layer == led) ? + (leds[led] < 255 ? 1 : 0): + (leds[led] > 0 ? -1 : 0); + /* Set LED state according to the new brightness */ + if (leds[led]) { + ergodox_right_led_on(led); + ergodox_right_led_set(led, leds[led]); + } + else { + ergodox_right_led_off(led); + } + } + + +}; diff --git a/keyboards/ergodox_ez/keymaps/dave/readme.md b/keyboards/ergodox_ez/keymaps/dave/readme.md new file mode 100644 index 0000000000..aa0f9bd192 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dave/readme.md @@ -0,0 +1,38 @@ +This keymap is my preferred layout (after a certain amount of experimentation). +The rationale behind the design is as follows: + +I grew up typing from a very early age and thus never learned the "correct" way +to touch type (essentially, I'm self-taught). As a, result my fingers don't +tend to stay on the "home keys" and occasionally my right hand wants to type +keys that are on the left of the keyboard, and vice versa. + +Hence, despite liking the idea of split keyboards in principle, I've never been +able to get on with them because the split simply doesn't work with my style of +typing. The Ergodox solves this neatly by virtue of having a few extra keys in +the "middle" of the keyboard which I can utilise for deliberate redundancy. +Thus in this keymap there are two "6" keys (one on the left, one on the right) +and likewise Y, H, G, and B are all duplicated to enable one-handed patterns +that I use frequently (e.g. "byobu" with the right hand, "yes" with the left, +etc.). + +I occasionally use the numeric pad for data entry, thus this is duplicated +under the natural home position of the right hand in layer 1 (activated by +holding one of the right thumb buttons), while the cursor keys are duplicated +under the classic WASD gaming layout of the left hand in layer 2 (activated by +holding one of the left thumb buttons). Various other useful keys also appear +in these layers (brackets and symbols for coding in layer 1, navigation and +F-keys in layer 2, etc.). + +Finally, modifier keys like Ctrl, Shift, and Alt, along with Backspace and +Enter are all in traditional locations in an effort to reuse existing muscle +memory as much as possible (keys like =, #, and ' are in layer 1). The layout +maps are in the comments of keymap_dave.c so I won't bother duplicating them +here. + +Oh, and the LEDs are rather pimped ... because I could! + +Anyway, although I'm sure this keymap won't be to many people's taste you might +find some interesting ideas in here for your own layouts. Do tweet me +(@waveform80) if you have any questions / suggestions / bugs. + +Dave. |