aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/ergodox_ez/keymaps/bepo
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox_ez/keymaps/bepo')
-rw-r--r--keyboards/ergodox_ez/keymaps/bepo/README.md34
-rw-r--r--keyboards/ergodox_ez/keymaps/bepo/bepo.pngbin0 -> 79747 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/bepo/compiled.hex1190
-rw-r--r--keyboards/ergodox_ez/keymaps/bepo/keymap.c311
4 files changed, 1535 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/keymaps/bepo/README.md b/keyboards/ergodox_ez/keymaps/bepo/README.md
new file mode 100644
index 000000000..338909ed9
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/bepo/README.md
@@ -0,0 +1,34 @@
+# BEPO keymap for the ErgoDox
+
+This keymap has been made for the BEPO layout (http://bepo.fr), which is an ergonomic french keyboard layout based on Dvorak rules. As it's made for french people, the following of this README will be in french.
+
+# Disposition BÉPO pour l'ErgoDox
+
+Cette keymap a été pensée pour la disposition BÉPO (http://bepo.fr), qui est une disposition de clavier francophone, ergonomique et libre, élaborée selon la méthode Dvorak. L'adaptation de cette disposition à l'ErgoDox a été réalisée en conservant les points forts du clavier TypeMatrix 2030 (très répandu dans la communauté bépo, avec un excellent rapport ergonomie / prix) voir en réglant certains de ses défauts (3 colonnes pour l'auriculaire droit et touche "Ê") et en apportant son lot de nouveautés (compatibilité avec les systèmes azerty et qwerty).
+
+Particularités
+--------------
+
+Touches de repos des pouces : "espace" à gauche et "entrée" à droite.
+
+Placement des touches de combinaison ("Shift", "Alt", "Ctrl"...) adapté aux pouces, et permettant de conserver chaque doigt pour les rangées de lettres auxquelles ils sont assignés sans avoir à changer la touche de combinaison de côté (exemple : "A" majuscule puis "M" majuscule avec les auriculaires et un seul appui d'une touche "Shift").
+
+Les touches "Alt" et "Alt Gr" sont accessibles avec les pouces sur la rangée du bas comme sur la TypeMatrix 2030, avec une symétrie gauche / droite.
+
+Les touches "Ctrl" sont placées sur la même ligne que les touche "Alt" et "Alt Gr" comme sur un clavier clasique, elles sont accessibles aux pouces sur la rangée du bas (moins éloigné que le groupe de touches de pouces pour des petites mains).
+
+Les touches "Backspace" et "Delete" sont placées comme sur la TypeMatrix 2030, du côté gauche uniquement (pour laisser celles de la main droite servir de {caps,num,scroll}lock puisqu'elles ont des LED).
+
+La touche "Tab" est placée comme sur la TypeMatrix 2020.
+
+Meilleure symétrie et accessibilité que la TypeMatrix 2030 : les touches "W" et "%" ont dû être déplacées du côté gauche en raison du nombre de touches de l'ErgoDox, mais l'auriculaire droit ne gère maintenant que deux colonnes de touches au lieu de trois. La touche "Ê" redevient accessible sur la même rangée que les autres lettres, comme sur un clavier classique en disposition bépo. Les lettres, chiffres et symboles sont tous regroupés sur 4 lignes et 6 colonnes pour chaque main, et la première rangée de lettres à la main gauche conserve une identité visuelle "BÉPO".
+
+Touche de fonction permettant de saisir les touches F1 à F12, les touches F1 à F10 sont placées de façon logique par rapport aux chiffres 1 à 0. Cette même touche permet l'accès aux touches directionnelles sans déplacer la main droite. Les touches "Home" et "End" sont placées de la même façon que sur une TypeMatrix 2030 par rapport aux touches directionnelles. Les touches "Page Up" et "Page Down" sont également accessibles facilement sans déplacer la main droite. Les fonctions "VolUp" et "VolDown" sont placées comme sur la TypeMatrix 2030, avec la fonction "Mute" juste au dessus. Les fonctions "Undo", "Cut", "Copy" et "Paste" sont placées côte à côte comme elles le seraient sur un clavier QWERTY en combinaison avec la touche "Ctrl" (à l'emplacement des lettres "Z", "X", "C" et "V"). Par rapport au layout "SpaceFN", l'utilisation d'une touche de fonction dédiée au pouce permet de ne pas ajouter de latence, et la touche espace reste compatible avec les jeux (action au moment de l'appui et possibilité d'appui long).
+
+Touche de fonction permettant l'accès au pavé numérique comme sur la TypeMatrix 2030, mais sans avoir à déplacer la main droite : avec les doigts sur la rangée de repos, possibilité de saisir les chiffres "4", "5" et "6" comme sur un pavé numérique classique. Le double "0" de la TypeMatrix a été conservé, et gagne une possibilité de répétition en simples "0".
+
+L'appui sur une touche permet de basculer en mode BEPO sur un système configuré pour un clavier QWERTY. Cette compatibilité n'est pas parfaite (pas encore de gestion des accents mais ça devrait être faisable avec une disposition en qwerty international, et les combinaisons de touches ne sont pas toutes supportées puisque le clavier traduit déjà certaines touches en combinaisons) mais reste pratique pour une saisie de texte occasionnelle.
+
+TODO : couche de compatibilité pour utiliser la disposition BÉPO sur un système configuré pour un clavier AZERTY.
+
+> Olivier Smedts <olivier@gid0.org>
diff --git a/keyboards/ergodox_ez/keymaps/bepo/bepo.png b/keyboards/ergodox_ez/keymaps/bepo/bepo.png
new file mode 100644
index 000000000..3df7aa609
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/bepo/bepo.png
Binary files differ
diff --git a/keyboards/ergodox_ez/keymaps/bepo/compiled.hex b/keyboards/ergodox_ez/keymaps/bepo/compiled.hex
new file mode 100644
index 000000000..e2ed480f0
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/bepo/compiled.hex
@@ -0,0 +1,1190 @@
+:100000000C94D3030C9417040C9417040C94170449
+:100010000C9417040C9417040C9417040C941704F4
+:100020000C9417040C9417040C94B10E0C94830FC9
+:100030000C9417040C9417040C9417040C941704D4
+:100040000C9417040C943D230C9417040C9417047F
+:100050000C9417040C94D01C0C9417040C941704E3
+:100060000C9417040C9417040C9417040C941704A4
+:100070000C9417040C9417040C9417040C94170494
+:100080000C9417040C9417040C9417040C94170484
+:100090000C9417040C9417040C9417040C94170474
+:1000A0000C9417040C9417040C941704F00F1210FE
+:1000B00000111210001157107A100011CF10E21029
+:1000C000B113B113E013E013161436146715671556
+:1000D00041146715F114F11458156715671561156A
+:1000E000FE14FE14FE14FE14FE14FE14FE14FE1480
+:1000F000FE14FE14FE14FE14FE14FE14FE14FE1470
+:1001000010151D1524152B15351502E002E200010E
+:10011000E201E00002620001620262016200350059
+:100120002E0030006400015400001E001400040082
+:100130001D00000004521F001A0016001B00E300FF
+:10014000E1002000080007000600E0002C0021006C
+:10015000150009001900E2000552220017000A00EC
+:100160000500000029004C002A0000002B000000C0
+:100170000652470039000000530000000000230031
+:100180001C000B00110000004900240018000D00A5
+:100190001000E600013025000C000E003600E400DF
+:1001A0002800260012000F003700E700E5002700B6
+:1001B000130033003800460004522D002F00340095
+:1001C000310048000000210222021A00080001004C
+:1001D000000034020500040004000000045236024E
+:1001E000080018001C00E3000252370213000C0044
+:1001F0001B00E0002C002602120008003700E2007D
+:1002000005522702080036000E00000029004C00AD
+:100210002A0000002B0000000652470039000000B1
+:100220005300000000001F022302060034000000FB
+:1002300049002E02190017001400035201002D007E
+:10024000070016000A00E400280038000F0015001F
+:100250000B00E700025225020D00110009004600C4
+:1002600004522E001D00100006004800000020026D
+:1002700035001A020802010000001E0005020402F7
+:100280000402010001001F00080218021C02E30220
+:100290000100200013020C021B02E00201002100F9
+:1002A000120208023302E2020100220008023300B7
+:1002B0000E02000001000100010000002B020000FE
+:1002C0000100010001000000010000000100230006
+:1002D0001E02060238020000010024001902170263
+:1002E0001402E60201002500070216020A02E402D7
+:1002F000010026000F0215020B02E7020100270091
+:100300000D02110209020100010001001D0210028C
+:10031000060201000000210222021A00080001006A
+:1003200000003402310204003100000004523602A1
+:10033000080018002F02E3000252370224020C00CA
+:100340003002E0002D022F00120022143700E200DC
+:1003500005523000080036003502000029004C002C
+:100360002A0000002B000000065247003900000060
+:100370005300000000001F022302060034000000AA
+:1003800049002E02190017001400010001002D0081
+:10039000070016000A00E400280038000F001500CE
+:1003A0000B00E700025225020D0011000900460073
+:1003B00004522E001D00100006004800000000003E
+:1003C000000000000000000000003A0000000000F3
+:1003D0007A00000001003B00000000007B000100EB
+:1003E00001003C00000000007C00010000003D0016
+:1003F000000000007D00010000003E000000000041
+:10040000000000000000A800A9000000AA000000F1
+:1004100000000000000000000000000000003F009D
+:100420004B004E0000000000000040004A00500059
+:1004300000000100010041005200510000000100D5
+:10044000000042004D004F00000001000100430089
+:100450004400450000000000010000000000000012
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000010001000000000000006A
+:10049000000001000000000000000000000001005A
+:1004A000010000000000000000000000000000004B
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000057005F005C005900620000005600F9
+:1004E00060005D005A0000305800540061005E005A
+:1004F0005B008500010055000000000000000000C6
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000100CA
+:1005300001000000000000000000010000000000B9
+:1005400000000000000001000000000000000000AA
+:10055000000000000000000000000000000000009B
+:10056000010000000000000000000000000000008A
+:10057000000000000000000000000000F400F20095
+:100580000000010000000000F000F1000000010088
+:1005900000000000F500F300000001000100000071
+:1005A000F900FA0000000000000000000000000058
+:1005B00000000000000016034500720067006F0095
+:1005C00044006F007800200045005A000000160328
+:1005D0004500720067006F0044006F007800200043
+:1005E00045005A0000000403090409026D000401DB
+:1005F00000A0FA0904000001030101000921110112
+:1006000000012240000705810308000A09040100D7
+:100610000103010200092111010001224D0007051B
+:10062000820308000A0904020001030000000921F6
+:10063000110100012236000705830308000A09049E
+:10064000030001030000000921110100012239000B
+:10065000070584031000011201100100000008EDDD
+:10066000FE071301000102000105010906A10105B1
+:100670000719E029E7150025019508750181020594
+:1006800008190129059505750191029501750391D8
+:100690000105071900297715002501957875018155
+:1006A00002C005010980A101850216010026B700DC
+:1006B0001A01002AB700751095018100C0050C09C8
+:1006C00001A1018503160100269C021A01002A9C43
+:1006D00002751095018100C005010902A1010901FF
+:1006E000A1000509190129051500250195057501C8
+:1006F00081029501750381010501093009311581D8
+:10070000257F95027508810609381581257F950199
+:1007100075088106050C0A38021581257F9501753B
+:10072000088106C0C005010906A101050719E029D5
+:10073000E71500250195087501810295017508816D
+:1007400001050819012905950575019102950175A5
+:100750000391010507190029FF150026FF009506E2
+:1007600075088100C00000000000000000000000CB
+:10077000010204060A0F17202C3A4A5D71879DB3C7
+:10078000C7DAE9F5FCFFFCF5E9DAC7B39D87715DCF
+:100790004A3A2C20170F0A0604020100000000004C
+:1007A00000000000000011241FBECFEFDAE0DEBF22
+:1007B000CDBF04B603FE24C08091FB019091FC01E3
+:1007C000A091FD01B091FE018730904BA740B04B46
+:1007D000B9F41092FB011092FC011092FD011092ED
+:1007E000FE0114BE84B7877F84BF88E10FB6F894FA
+:1007F00080936000109260000FBEE0E0FFE3099577
+:1008000011E0A0E0B1E0E8E0FAE402C005900D924A
+:10081000A433B107D9F711E0A4E3B1E001C01D9200
+:10082000AB3FB107E1F70E94F50B0C9402250C9445
+:1008300000001092B9008AE08093B800089594EA0D
+:100840009093BC009091BC0097FFFCCF9091B900B1
+:10085000987F983021F0903111F081E008958093D5
+:10086000BB0084E88093BC008091BC0087FFFCCF74
+:100870008091B900887F883111F0803471F780E071
+:10088000089584E98093BC008091BC0084FDFCCF76
+:1008900008958093BB0084E88093BC008091BC00E5
+:1008A00087FFFCCF9091B900987F81E0983209F4DE
+:1008B00080E0089584E88093BC008091BC0087FFAD
+:1008C000FCCF8091BB00089580910101811115C07A
+:1008D00080E40E941F048093010181110CC082E119
+:1008E0000E94490480930101811105C08FEF0E948D
+:1008F0004904809301010E94410484B1807F84B93E
+:1009000085B1807F85B98AB1837F8AB98BB1837FB6
+:100910008BB93E98469808950E941F068093010166
+:100920000E94640480B38C7080BB81B3836F81BBF1
+:10093000A5E3B1E0E3E4F1E08EE08E0F11921D92A9
+:100940008E13FCCF0C940906BF92CF92DF92EF92E8
+:10095000FF920F931F93CF93DF9380910101882320
+:1009600079F0809134018F5F80933401811108C048
+:100970000E941F0680930101811102C00E94B105EF
+:1009800005E311E0C0E0D0E0DD24D39482E0C82E7E
+:10099000EE24E394F12CC730D10500F580910101DC
+:1009A000811164C080E40E941F04809301018111C1
+:1009B00012C082E10E9449048093010181110BC0A1
+:1009C000C7010C2E01C0880F0A94EAF780950E9497
+:1009D0004904809301010E94410448C0CA30A1F03B
+:1009E00028F4C83059F0C93061F005C0CC3089F026
+:1009F00070F0CD3089F0209A289810C0219A29985B
+:100A00000DC0229A2A980AC0239A2B9807C0529A9E
+:100A100001C0539A5B9802C03E9A469890EA9A9514
+:100A2000F1F79FB1799902C082E001C080E0917036
+:100A30009D25982B7C9902C084E001C080E0892B21
+:100A40007D9902C038E001C030E0832B7E9902C05E
+:100A500020E101C020E0822B9FB19095991F99273A
+:100A6000991F9295990F907E892B0FC0809101015B
+:100A7000811149C080E40E941F04809301018823F2
+:100A800079F1B12C0E9441048B2DF80190819817C7
+:100A900019F08083C09200010E94640421960F5FC8
+:100AA0001F4FCE30D10509F076CF80910001882309
+:100AB00061F1815080930001882339F08FE99FE034
+:100AC0000197F1F700C0000020C0A3E4B1E0E5E326
+:100AD000F1E0CF01825F91919D938E13FCCF15C001
+:100AE00083E10E944904809301018111CACF81E40E
+:100AF0000E941F04809301018111C3CF0E945A04F8
+:100B0000B82EB094BFCF80E0C0CF0E94AF0581E087
+:100B1000DF91CF911F910F91FF90EF90DF90CF90D9
+:100B2000BF900895E82FF0E0ED5BFE4F80810895BF
+:100B300008950F931F93CF93DF93C3E4D1E010E0A8
+:100B40000C2F025F899190E00E94461C180F0C1335
+:100B5000F9CF812FDF91CF911F910F9108950C94C0
+:100B6000910656985E9825982D9826982E98279845
+:100B70002F988FEF90E09093890080938800909356
+:100B80008B0080938A0090938D0080938C00259A2F
+:100B90002D9A2FEF80E792E0215080409040E1F7BE
+:100BA00000C00000269A2E9A2FEF80E792E0215095
+:100BB00080409040E1F700C00000279A2F9A2FEF65
+:100BC00080E792E0215080409040E1F700C00000B3
+:100BD00025982D982FEF80E792E02150804090409B
+:100BE000E1F700C0000026982E982FEF80E792E0F2
+:100BF000215080409040E1F700C0000027982F98D6
+:100C000056985E9825982D9826982E9827982F9874
+:100C1000089589EA8093800089E080938100249878
+:100C20002C983F988AB18F748AB96E98479A8BB185
+:100C3000806B8BB9769A0E94B1050C94900680E285
+:100C4000809301018091510181110EC00E9419040D
+:100C500081E0809351012FEF83ED90E3215080409C
+:100C60009040E1F700C0000080E40E941F048093E0
+:100C7000010181112EC00E9449048093010181115C
+:100C800028C00E94490480930101811122C08FE392
+:100C90000E9449048093010181111BC00E944104FC
+:100CA00080E40E941F0480930101811112C08CE036
+:100CB0000E9449048093010181110BC00E944904E4
+:100CC00080930101811105C08FE30E944904809344
+:100CD00001010E944104809101010895662319F0E9
+:100CE000613041F017C0FC018281811116C084E19E
+:100CF00091E00895FC018281882331F084E00E9414
+:100D00000F1A8FE091E0089584E00E94301A8AE083
+:100D100091E0089580E090E0089587E191E00895E2
+:100D20000895089581E0089581E008950C94940653
+:100D300008950F931F93CF93DF938C01FC01C08123
+:100D4000D181CE010E94CB1ABE010E944207EC0164
+:100D5000B8010E949606882309F48DC0F8018281AB
+:100D6000882309F44AC080915D0181111FC0C431FC
+:100D7000F0E5DF0709F051C00E94980681E08093FA
+:100D80005D010E949A1C90935C0180935B0110921C
+:100D90005401109256011092550110925801109270
+:100DA000570110925A011092590165C080915B0160
+:100DB00090915C010E94A61C883C910570F4809182
+:100DC0005401E82FF0E0EE0FFF1FEB5AFE4FD183E6
+:100DD000C0838F5F809354014EC0C43880E5D8072C
+:100DE00021F0C538D04501F13AC0F801828188234D
+:100DF00041F01092520182E01EC0C438E0E5DE07E7
+:100E000059F580915201811106C086E20E94551267
+:100E100086E20E941D1382E01CC0C438F0E5DF07A3
+:100E200041F3C538D045D9F4F8018281882331F0E7
+:100E30001092530180E20E946C131DC080915301F7
+:100E4000811106C087E20E94551287E20E941D139D
+:100E500080E20E9473130FC0C538D04529F381E0AA
+:100E60008093520180935301C801DF91CF911F916C
+:100E70000F910C94920680E0DF91CF911F910F911A
+:100E80000895089596E0799FF001112494E5899FD3
+:100E9000E00DF11D1124E60FF11DEE0FFF1FE25EC4
+:100EA000FE4F859194910895880F991FFC01E25699
+:100EB000F040859194910895880F991FFC01E25E9E
+:100EC000FE4F8591949108950F931F93CF93DF93D5
+:100ED000EC01811520E3920750F5C11580E2D80797
+:100EE00008F0C3C0CB3BD10590F4C83AD10508F057
+:100EF0006AC0C53AD10508F05BC0C430D10508F01E
+:100F0000D0C1219709F0CAC101E010E00AC2CF3F69
+:100F1000D10511F008F0C5C1C03FD10508F0A2C04D
+:100F2000CE01805E9109089708F4BBC1B7C1C130FA
+:100F300090E5D90709F4A2C020F5C0318FE4D807A5
+:100F400070F4C11590E4D90708F094C0C11521E3ED
+:100F5000D20708F0A3C1DD278E01106CE2C1C115D4
+:100F6000D04509F09BC10E94D2158FEF94E32CE08D
+:100F7000815090402040E1F700C000000E94F51C25
+:100F8000D0C1C11597E5D90758F4C03121E5D20782
+:100F900008F01CC1C43180E5D80708F475C07EC1D3
+:100FA000CE0190578115904108F078C1DF7073C170
+:100FB000C53AD10509F477C1C63AD10509F076C121
+:100FC00002E810E4AEC1C83AD10509F472C1C93AC9
+:100FD000D10509F471C1CA3AD10509F470C1CB3AFF
+:100FE000D10509F46FC1CC3AD10509F46EC1CD3AEF
+:100FF000D10509F46DC1C03BD10509F46CC1CE3AED
+:10100000D10509F46BC1CF3AD10509F46AC1C13BDE
+:10101000D10509F469C1C23BD10509F468C1C33BDC
+:10102000D10509F467C1C43BD10509F466C1C53BCC
+:10103000D10509F465C1C63BD10509F464C1C73BBC
+:10104000D10509F463C1C83BD10509F462C1C93BAC
+:10105000D10509F461C1CA3BD10509F460C100E0C2
+:1010600014E45FC18E0110655CC1CE019F700E94C7
+:101070005C0758C1DF708E01106A53C18091DA019C
+:1010800081608093DA014DC10E949A1E811102C0D5
+:101090000E94801E0E94B71E90E09093FB018093F7
+:1010A000FA01C23080E5D80721F48091FA0181600D
+:1010B00086C0C43090E5D90721F48091FA0182609E
+:1010C0007EC0C63020E5D20721F48091FA01846009
+:1010D00076C0C83080E5D80719F48091FA0127C09E
+:1010E000CA3090E5D90721F48091FA01806167C088
+:1010F000CC3020E5D20721F48091FA0180625FC0F4
+:10110000CE3080E5D80721F48091FA01806457C081
+:10111000C03190E5D90721F48091FA0180684FC071
+:10112000C23120E5D20729F48091FA0184608860F9
+:1011300046C0C33080E5D80721F48091FA018E7F44
+:101140003EC0C53090E5D90721F48091FA018D7F2A
+:1011500036C0C73020E5D20721F48091FA018B7F99
+:101160002EC0C93080E5D80719F48091FA0126C055
+:10117000CB3090E5D90721F48091FA018F7E1FC012
+:10118000CD3020E5D20721F48091FA018F7D17C080
+:10119000CF3080E5D80721F48091FA018F7B0FC012
+:1011A000C13190E5D90721F48091FA018F7707C00A
+:1011B000C331D04531F48091FA018B7F877F8093D2
+:1011C000FA018091FA010E94BB1EABC08D2F9927B6
+:1011D0008F70992781309105D9F49E0123703327B0
+:1011E00002C0880F991F2A95E2F79C688E0144E09F
+:1011F000000F111F4A95E1F700271370802B912BE8
+:1012000053E0CC0FDD1F5A95E1F7C076DD272FC0E4
+:101210008230910531F4DC2FCC278E01016F106AEA
+:1012200080C08330910569F4CE018370992701E075
+:1012300010E002C0000F111F8A95E2F7C8019C68F8
+:101240000FC084309105B9F4CE018370992701E075
+:1012500010E002C0000F111F8A95E2F7C8019A68DA
+:1012600023E0CC0FDD1F2A95E1F7C07ED7708C01FB
+:101270000C2B1D2B56C08530910531F4DC2FCC276B
+:101280008E01046F106A4DC0069709F04AC0CF71F5
+:10129000DD27DC2FCC278E01106243C000E010E078
+:1012A00040C08E013EC001E810E43BC003E810E4FA
+:1012B00038C002EE14E435C009EE14E432C00AEE80
+:1012C00014E42FC005EB14E42CC006EB14E429C091
+:1012D00007EB14E426C00CEC14E423C00DEC14E47A
+:1012E00020C003E815E41DC00AE815E41AC002E9AD
+:1012F00015E417C004E915E414C001E216E411C0B6
+:1013000003E216E40EC004E216E40BC005E216E4A4
+:1013100008C006E216E405C007E216E402C00AE2CD
+:1013200016E4C801DF91CF911F910F91089596E0C7
+:10133000799FF001112494E5899FE00DF11D11249E
+:10134000E60FF11DEE0FFF1FE25EFE4F85919491B7
+:10135000803E9105E0F4803C910558F5813391057C
+:1013600009F46FC048F48932910509F463C08A32E8
+:10137000910509F46DC072C089339105E9F0823896
+:101380009105D1F08533910509F44DC067C0833EC6
+:10139000910581F138F4803E9105B9F0823E9105C6
+:1013A000D9F05CC0863E910561F1873E9105A1F1BF
+:1013B00055C00E94540708952091FA0120FD02C0F3
+:1013C00021FF4CC080EE90E049C08091FA0180FF7F
+:1013D000F9CF89E390E042C08091FA0182FF0EC00C
+:1013E0008091FA0184FF03C080E090E037C083EE73
+:1013F00090E034C08091FA0182FFF2CF82EE90E05B
+:101400002DC08091FA0183FF0BC08091FA0184FD09
+:10141000EBCF87EE90E022C08091FA0183FFF5CFF9
+:1014200086EE90E01BC08091FA0185FF07C089E23B
+:1014300090E014C08091FA0185FFF9CF85E390E038
+:101440000DC08091FA0186FF07C08AE290E006C0D5
+:101450008091FA0186FFF9CF81E390E00E94640752
+:10146000089508950C94310A80916E010895CF93E8
+:10147000DF9300D01F92CDB7DEB79C018091F101C0
+:10148000843019F593E099833B832A839093E90094
+:101490008FEF9091E800815095FD06C095ED9A95EB
+:1014A000F1F700008111F5CF8091E80085FF0DC0B4
+:1014B00040E050E063E070E0CE0101960E94A10C94
+:1014C0008091E8008E778093E8000F900F900F9046
+:1014D000DF91CF910895CF93DF9300D01F92CDB7C6
+:1014E000DEB72091F101243021F522E029839B838E
+:1014F0008A8383E08093E9008FEF9091E800815028
+:1015000095FD06C095ED9A95F1F700008111F5CF94
+:101510008091E80085FF0DC040E050E063E070E09E
+:10152000CE0101960E94A10C8091E8008E778093F5
+:10153000E8000F900F900F90DF91CF9108952091C8
+:10154000F1012430F1F422E02093E9002FEF3091F3
+:10155000E800215035FD06C035ED3A95F1F7000061
+:101560002111F5CF2091E80025FF0BC040E050E0AD
+:1015700065E070E00E94A10C8091E8008E77809376
+:10158000E8000895CF93DF93EC019091F10194303E
+:1015900009F046C080910C018823D9F080910D019B
+:1015A0008823B9F09093E9008FEF9091E800815083
+:1015B00095FD06C095E19A95F1F700008111F5CFF0
+:1015C0008091E80085FF2CC040E050E060E170E0D1
+:1015D00017C081E08093E9008FEF9091E80081507F
+:1015E00095FD06C095ED9A95F1F700008111F5CFB4
+:1015F0008091E80085FF14C040E050E068E070E0B2
+:10160000CE010E94A10C8091E8008E778093E800C3
+:1016100080E1FE01AEE5B1E001900D928A95E1F71F
+:10162000DF91CF9108958091F001811109C00E944E
+:10163000360E0E94930E8091E20084608093E20057
+:1016400008951092F001089508950C942A230E94A1
+:101650008B1C0E9430230E9439110C94320A42E004
+:1016600061EC81E00E94B00D42E061EC82E00E94FA
+:10167000B00D42E061EC83E00E94B00D42E161EC0C
+:1016800084E00C94B00D8091F301833009F455C0CF
+:1016900030F4813071F0823009F48EC008958A30C0
+:1016A00009F47AC08B3009F460C0893009F09CC01D
+:1016B00020C08091F201813A09F096C08091E80043
+:1016C000877F8093E8008091F6019091F701892B44
+:1016D00021F460E18EE591E003C060E080E090E0FD
+:1016E00070E00E94EC0C8091E8008B778093E8001A
+:1016F00008958091F201813209F076C08091F6015F
+:101700009091F701009719F0039709F06DC080914F
+:10171000E800877F8093E8008091E80082FD05C0A3
+:101720008091F1018111F8CF5FC08091F100809329
+:101730006E018091E8008B7753C08091F201813A6D
+:1017400009F052C08091F6019091F701892B09F0C0
+:101750004BC08091E800877F8093E8008091E8008B
+:1017600080FFFCCF80910C0136C08091F201813264
+:10177000D9F58091F6019091F701892BA9F5809117
+:10178000E800877F8093E8000E94E50D8091F401D6
+:1017900080930C010C94D2158091F201813221F5D5
+:1017A0008091E800877F8093E8000E94E50D80919A
+:1017B000F50180936F0108958091F201813AA1F4BF
+:1017C0008091E800877F8093E8008091E80080FFA7
+:1017D000FCCF80916F018093F1008091E8008E77BB
+:1017E0008093E8000C94E50D089584B7877F84BF4B
+:1017F00088E10FB6F89480936000109260000FBEED
+:1018000090E080E80FB6F8948093610090936100B7
+:101810000FBE0E9488110E94360E0E94930E809186
+:10182000E20084608093E20078940E9419110E9483
+:101830008A1182E091E00E9434110E941823809165
+:10184000F101853069F40E94521C8091EF018823D8
+:10185000B1F30E947D1C882391F30E948B0CEFCF83
+:101860000E949011ECCF292F332723303105C9F086
+:1018700064F42130310581F02230310509F043C094
+:101880008DE690E02AEE35E042C021323105F1F0DC
+:101890002232310541F137C082E190E027E536E0A0
+:1018A00036C099278130910541F08230910541F091
+:1018B000892B49F5E6EEF5E005C0EEECF5E002C057
+:1018C000E6EBF5E0849190E09F0121C06430D8F40C
+:1018D000E62FF0E0EE0FFF1FEE5DFE4F208131811D
+:1018E00089E090E014C0643070F470E0FB01EE0F0A
+:1018F000FF1FE65EFE4F20813181FB01EA5EFE4F55
+:10190000808190E004C080E090E020E030E0FA01C7
+:1019100031832083089580E189BD82E189BD09B4C6
+:1019200000FEFDCF8091D8008F7D8093D8008091FC
+:10193000E00082608093E0008091E00081FDFCCFB8
+:101940000895CF92DF92EF92FF920F931F93CF9360
+:10195000DF93EC018B016A010E94040E811133C0F8
+:10196000C114D10439F0F60180819181081B190B53
+:10197000C80FD91FE12CF12C0115110519F1809127
+:10198000E80085FD16C08091E8008E778093E8001E
+:10199000C114D10449F0F60180819181E80EF91E4D
+:1019A000F182E08285E00FC00E94040E882321F3BB
+:1019B0000AC089918093F10001501109FFEFEF1ADD
+:1019C000FF0ADACF80E0DF91CF911F910F91FF9056
+:1019D000EF90DF90CF9008952091F8013091F901B8
+:1019E0002617370748F06115710539F42091E80092
+:1019F0002E772093E80001C0B90140E06115710520
+:101A0000A9F12091F101222309F443C0253009F402
+:101A100042C02091E80023FD40C02091E80022FD53
+:101A200032C02091E80020FFE9CF4091F3002091DF
+:101A3000F20030E0342BFC01CF016115710559F043
+:101A40002830310540F481918093F1006150710993
+:101A50002F5F3F4FF1CF41E02830310509F040E0E2
+:101A60002091E8002E772093E800C8CF4111C9CF1C
+:101A70000AC08091F101882361F0853061F0809186
+:101A8000E80083FD0AC08091E80082FFF2CF80E089
+:101A9000089582E0089583E0089581E008952091FB
+:101AA000F8013091F9012617370748F061157105E3
+:101AB00039F42091E8002E772093E80001C0B901A5
+:101AC000FC0120E06115710591F18091F1018823FD
+:101AD00009F440C0853009F43FC08091E80083FDDF
+:101AE0003DC08091E80082FD2FC08091E80080FF1A
+:101AF000E9CF2091F3008091F20090E0922B6115E4
+:101B0000710559F08830910540F424912093F1003B
+:101B10003196615071090196F2CF21E0089709F0E2
+:101B200020E08091E8008E778093E800CBCF2111F0
+:101B3000CCCF0AC08091F101882361F0853061F03B
+:101B40008091E80083FD0AC08091E80082FFF2CF17
+:101B500080E0089582E0089583E0089581E008958B
+:101B6000982F973058F59093E900981739F07091B5
+:101B7000EC002091ED005091F00003C0242F762F4F
+:101B800050E021FF19C03091EB003E7F3093EB0015
+:101B90003091ED003D7F3093ED003091EB003160EE
+:101BA0003093EB007093EC002093ED005093F00025
+:101BB0002091EE0027FF07C09F5FD3CF8F708093E7
+:101BC000E90081E0089580E008958091F20187FFA7
+:101BD00011C08091E80082FD05C08091F101811162
+:101BE000F8CF11C08091E8008B770BC08091F10194
+:101BF000882349F08091E80080FFF8CF8091E800C9
+:101C00008E778093E80008952091E4003091E500FC
+:101C100095E64091EC00842F817040FF22C08091B6
+:101C2000E80080FD1CC08091F101882391F085308F
+:101C300091F08091EB0085FD10C04091E40050913F
+:101C4000E5004217530729F39A01915011F784E0F8
+:101C5000089582E0089583E0089581E0089580E08A
+:101C600008954091E80042FFDECF08950E94A40E3F
+:101C70000E94AC0EE0EEF0E0808181608083E8EDB0
+:101C8000F0E080818F77808319BCA7EDB0E08C9164
+:101C90008E7F8C9380818F7E80831092F0010895D7
+:101CA0000F931F93CF93DF930E94A40E0E94AC0E5C
+:101CB000C8EDD0E088818F778883888180688883A9
+:101CC00088818F7D888319BC1092F1011092ED01FB
+:101CD0001092EF011092EE0100EE10E0F801808109
+:101CE0008B7F808388818160888342E060E080E030
+:101CF0000E94B00DE1EEF0E080818E7F8083E2EE05
+:101D0000F0E0808181608083808188608083F80139
+:101D100080818E7F8083888180618883DF91CF91ED
+:101D20001F910F910895E8EDF0E080818F7E808310
+:101D3000E7EDF0E080818160808384E082BF81E014
+:101D40008093F0010C94500EE8EDF0E080818E7FDE
+:101D500080831092E20008951092DA001092E10060
+:101D600008951F920F920FB60F9211242F933F9355
+:101D70004F935F936F937F938F939F93AF93BF9393
+:101D8000EF93FF938091E10082FF0BC08091E2000E
+:101D900082FF07C08091E1008B7F8093E1000E9469
+:101DA00018118091DA0080FF1FC08091D80080FF59
+:101DB0001BC08091DA008E7F8093DA008091D90079
+:101DC00080FF0DC080E189BD82E189BD09B400FEBC
+:101DD000FDCF81E08093F1010E94130B05C019BC77
+:101DE0001092F1010E94210B8091E10080FF19C047
+:101DF0008091E20080FF15C08091E2008E7F809389
+:101E0000E2008091E20080618093E2008091D8003E
+:101E100080628093D80019BC85E08093F1010E9414
+:101E2000250B8091E10084FF30C08091E20084FFA7
+:101E30002CC080E189BD82E189BD09B400FEFDCFDF
+:101E40008091D8008F7D8093D8008091E1008F7EB3
+:101E50008093E1008091E2008F7E8093E200809188
+:101E6000E20081608093E2008091ED01882311F00F
+:101E700084E007C08091E30087FD02C081E001C0DB
+:101E800083E08093F1010E94270B8091E10083FFA2
+:101E900029C08091E20083FF25C08091E100877F07
+:101EA0008093E10082E08093F1011092ED01809136
+:101EB000E1008E7F8093E1008091E2008E7F80932D
+:101EC000E2008091E20080618093E20042E060E005
+:101ED00080E00E94B00D8091F00088608093F00057
+:101EE0000E94240BFF91EF91BF91AF919F918F9131
+:101EF0007F916F915F914F913F912F910F900FBE06
+:101F00000F901F9018951F920F920FB60F921124E9
+:101F10002F933F934F935F936F937F938F939F93F1
+:101F2000AF93BF93CF93DF93EF93FF93C091E900FB
+:101F3000CF708091EC00D82FD17080FDD0E8109246
+:101F4000E9008091F000877F8093F00078940E94F0
+:101F5000C70F1092E9008091F00088608093F00034
+:101F6000CD2BCF70C093E900FF91EF91DF91CF911E
+:101F7000BF91AF919F918F917F916F915F914F91A1
+:101F80003F912F910F900FBE0F901F9018951F93A8
+:101F9000CF93DF93CDB7DEB7AA970FB6F894DEBF25
+:101FA0000FBECDBFE2EFF1E088E08E0F9091F1001F
+:101FB00091938E13FBCF0E94430B8091E80083FF27
+:101FC0001FC18091F2019091F301492F50E04A30F6
+:101FD000510508F015C1FA01EA5AFF4F0C94B224DA
+:101FE000803881F0823809F00BC18091F6018F7042
+:101FF0008093E9008091EB0085FB882780F910929F
+:10200000E90006C08091EE019091EF01911182608C
+:102010009091E800977F9093E8008093F1001092F0
+:10202000F100C8C0282F2D7F09F0EAC0882319F0DD
+:10203000823061F0E5C08091F401813009F0E0C0A8
+:10204000933009F080E08093EF012BC08091F40180
+:10205000811127C08091F6018F7009F4D1C080935F
+:10206000E9002091EB0020FF1CC0933021F4809107
+:10207000EB00806214C09091EB0090619093EB00B4
+:1020800021E030E0A90102C0440F551F8A95E2F714
+:102090004093EA001092EA008091EB008860809300
+:1020A000EB001092E9008091E800877F86C08111E3
+:1020B000A7C01091F4011F778091E3008078812BF5
+:1020C0008093E3008091E800877F8093E8000E947E
+:1020D000E50D8091E80080FFFCCF8091E3008068EF
+:1020E0008093E300111102C082E001C083E080937D
+:1020F000F10186C08058823008F082C08091F401DE
+:102100009091F5018C3D53E0950779F583E08A8342
+:102110008AE289834FB7F894DE01139620E03EE00F
+:1021200051E2E32FF0E050935700E49120FF03C009
+:10213000E295EF703F5FEF708E2F90E0EA3010F085
+:10214000C79601C0C0968D939D932F5F243149F7A8
+:102150004FBF8091E800877F8093E8006AE270E0DB
+:10216000CE0101960E94EC0C14C0AE014F5F5F4F90
+:102170006091F6010E94330CBC01009709F440C045
+:102180009091E800977F9093E80089819A810E945E
+:102190004F0D8091E8008B778093E80031C0803844
+:1021A00079F58091E800877F8093E8008091ED01C8
+:1021B0008093F1008091E8008E778093E8000E9480
+:1021C000E50D1EC081111CC09091F4019230C0F445
+:1021D0008091E800877F8093E8009093ED010E9452
+:1021E000E50D8091ED01811106C08091E30087FD2E
+:1021F00002C081E001C084E08093F1010E942F0BB6
+:102200008091E80083FF0AC08091E800877F809377
+:10221000E8008091EB0080628093EB00AA960FB6F5
+:10222000F894DEBF0FBECDBFDF91CF911F9108950F
+:102230000895CF938091F1018823A1F0C091E90026
+:10224000CF709091EC00892F817090FD80E8C82BB1
+:102250001092E9008091E80083FD0E94C70FCF70C3
+:10226000C093E900CF910895909375018093740114
+:102270000895E0917401F0917501309721F001907B
+:10228000F081E02D099480E00895E0917401F091CF
+:102290007501309721F00280F381E02D09940895B3
+:1022A000E0917401F0917501309721F00480F5817F
+:1022B000E02D0994089520917201309173018217E5
+:1022C000930771F09093730180937201E091740110
+:1022D000F0917501309721F00680F781E02D099487
+:1022E000089520917001309171018217930771F068
+:1022F0009093710180937001E0917401F0917501E8
+:10230000309721F00084F185E02D09940895089517
+:102310000C9487110E94911C0E948C040C94531DF4
+:102320009F92AF92BF92CF92DF92EF92FF920F9364
+:102330001F93CF93DF9300D000D000D0CDB7DEB78E
+:102340000E94A4040DE010E0AA24A394B12C902EC6
+:10235000802F0E949205980129583E4F6901F9018A
+:10236000F080F826A1F40150110988F78FEF8983D6
+:102370008A831B820E949A1C8160782F9D838C83A4
+:1023800049815A816B818D810E9427122FC09091C3
+:10239000DA0191FF04C08E830E9498058E8125E0AA
+:1023A00030E0A501022E01C0440F0A94EAF7E42EA2
+:1023B0004F21C1F029839A828E2191E009F490E0A7
+:1023C0009B830E949A1C8160782F9D838C83498116
+:1023D0005A816B818D810E942712F6018081E82647
+:1023E000E08204C021503109E0F6BDCF0E943A20BE
+:1023F000109176010E9439111817B9F00E94391115
+:102400008093760126960FB6F894DEBF0FBECDBF3F
+:10241000DF91CF911F910F91FF90EF90DF90CF90C0
+:10242000BF90AF909F900C94320A26960FB6F89406
+:10243000DEBF0FBECDBFDF91CF911F910F91FF90F7
+:10244000EF90DF90CF90BF90AF909F900895CF9383
+:10245000DF93CDB7DEB72B970FB6F894DEBF0FBE74
+:10246000CDBF4F83588769877A878B87DE011196A6
+:1024700086E0FD0111928A95E9F785E0FE01379625
+:1024800001900D928A95E1F749815A816B817C8197
+:102490008D819E810E9470182B960FB6F894DEBF36
+:1024A0000FBECDBFDF91CF910895CF93882309F45C
+:1024B000C2C0C82F823859F40E94391181FDBBC0B7
+:1024C00089E30E944A1B0E94171C89E30CC08338D1
+:1024D00079F40E94391180FDAEC083E50E944A1B49
+:1024E0000E94171C83E50E948C1BCF910C94171C33
+:1024F000843859F40E94391182FD9DC087E40E94FE
+:102500004A1B0E94171C87E4EECF8CEF8C0F813A98
+:1025100048F48C2F0E947D2281118DC08C2F0E9447
+:102520004A1BE3CF80E28C0F883048F4C77081E00B
+:1025300001C0880FCA95EAF70E94D01BD6CF8BE561
+:102540008C0F833078F4C53A29F0C63A31F083E82D
+:1025500090E005C081E890E002C082E890E0CF9171
+:102560000C945B1188E58C0F833108F064C0C83A85
+:1025700039F1C93A41F1CA3A49F1CB3A51F1CC3A71
+:1025800059F1CD3A61F1C03B69F1CE3A71F1CF3AE0
+:1025900079F1C13B81F1C23B89F1C33B91F1C43B6D
+:1025A00099F1C53BA1F1C63BA9F1C73BB1F1C83BCD
+:1025B000B9F1C93BC1F1CA3BC9F180E090E038C034
+:1025C00082EE90E035C089EE90E032C08AEE90E075
+:1025D0002FC085EB90E02CC086EB90E029C087EB04
+:1025E00090E026C08CEC90E023C08DEC90E020C001
+:1025F00083E891E01DC08AE891E01AC082E991E089
+:1026000017C084E991E014C081E292E011C083E236
+:1026100092E00EC084E292E00BC085E292E008C036
+:1026200086E292E005C087E292E002C08AE292E090
+:10263000CF910C947111CF910895882309F44BC068
+:10264000823859F40E94391181FF45C089E30E9404
+:102650004A1B0E94171C89E30CC0833871F40E9446
+:10266000391180FF38C083E50E944A1B0E94171C65
+:1026700083E50E948C1B0C94171C843859F40E942B
+:10268000391182FF28C087E40E944A1B0E94171C50
+:1026900087E4EFCF9CEF980F913A58F390E2980FB0
+:1026A000983050F4877091E001C0990F8A95EAF74D
+:1026B000892F0E94D61BDFCF9BE5980F933020F423
+:1026C00080E090E00C945B11885A833120F480E024
+:1026D00090E00C9471110895882321F00E94D01B82
+:1026E0000C94171C0895882321F00E94D61B0C948B
+:1026F000171C08957F928F929F92AF92BF92CF92B4
+:10270000DF92EF92FF920F931F93CF93DF931F926D
+:10271000CDB7DEB77C01C62E772EFC010581029570
+:102720000F70128111110E94ED1B0E94431B882320
+:1027300079F0112369F080E28C0D883048F082E056
+:102740000E942C1B0E94431B91E0D82ED92601C069
+:10275000D12CE72DE295EF70F0E0E05AFF4F0C949A
+:10276000B224872D807F072D0F70882311F00295EA
+:10277000007F112389F0002309F490C180E28C0DC1
+:10278000883020F4802F0E94D01B03C0802F0E942D
+:10279000E01B0E94171C82C18C2D0E941D13002378
+:1027A00009F495C180E28C0D883020F4802F0E94BE
+:1027B000D61B03C0802F0E94E61B0E94171C87C1F6
+:1027C000972D907F872D8F70903211F08295807FAA
+:1027D000CC2021F0F1E0CF16B1F01EC0112349F05A
+:1027E000002309F414C1013009F011C10E94001C3A
+:1027F0006EC1002319F0013009F469C189830E9478
+:10280000031C89810AC1112321F0023008F05FC145
+:10281000FEC001115CC101C1112321F0002309F4A4
+:10282000F6C03CC1002309F4F8C03EC1872D86954F
+:102830008695837090E0009719F0019761F047C189
+:10284000112321F08C2D972D937002C080E090E031
+:102850000E945B113CC1112321F08C2D972D9370A8
+:1028600002C080E090E00E94711131C18C2D1123D3
+:1028700019F00E94421F02C00E94AA1F0E942F202E
+:1028800026C1872D837009F052C0111120C18C2DF3
+:10289000829586958770880F880F9C2D9F70892E52
+:1028A000912CA12CB12C082E04C0880C991CAA1CB8
+:1028B000BB1C0A94D2F7C4FE14C00FE010E020E065
+:1028C00030E0B901A80104C0440F551F661F771FEF
+:1028D0008A95D2F7CB01BA01609570958095909555
+:1028E00003C060E070E0CB01272D2695269523706C
+:1028F00030E02230310569F02330310589F0682954
+:1029000079298A299B292130310571F00E94B81953
+:10291000DEC0682979298A299B290E94D419D7C049
+:102920000E94B819C501B4010E949C19D0C011239E
+:1029300019F0872D817001C08695882309F4C7C0DE
+:102940008C2D829586958770880F880F9C2D9F709F
+:10295000892E912CA12CB12C082E04C0880C991C16
+:10296000AA1CBB1C0A94D2F7C4FE14C00FE010E0EE
+:1029700020E030E0B901A80104C0440F551F661FD4
+:10298000771F8A95D2F7CB01BA0160957095809533
+:10299000909503C060E070E0CB01272D2695269529
+:1029A0002370422F50E04230510569F04330510509
+:1029B00089F0682979298A299B294130510571F0CC
+:1029C0000E94921A84C0682979298A299B290E9429
+:1029D000AE1A7DC00E94921AC501B4010E94761AF7
+:1029E00076C08C2D90E0FC01E05EF109E531F10547
+:1029F00008F050C0E059FF4F0C94B2240C2D0F701A
+:102A0000872D8F71112331F00E940F1A802F0E94A1
+:102A10006C135DC00E94301A802F0E94731357C040
+:102A2000112339F0011153C0872D8F710E94551A5F
+:102A30004EC0023008F04BC0F7CF112339F0872D7C
+:102A40008F710E940F1A43C01123C9F3872D8F7114
+:102A50000E94301A3CC0112329F0872D8F710E94EB
+:102A6000FA1935C00E94F01932C0112351F0172D08
+:102A70001F71812F0E940F1A63E0812F0E94231B78
+:102A800026C081E00E942C1B023008F182E00E94E7
+:102A90002C1B1DC0112331F0002389F28C2D0E94C4
+:102AA000551215C0002391F28C2D0E941D130FC0EA
+:102AB000472D4F706C2DC7010E946E060E9414199D
+:102AC00006C0472D4F706C2DC7010E944107DD20C5
+:102AD000F9F00E941F1B80FD1BC0F70112820E94AB
+:102AE000191B0E940F1AC7010E9497150E94191BFB
+:102AF0000F90DF91CF911F910F91FF90EF90DF909A
+:102B0000CF90BF90AF909F908F907F900C94301A91
+:102B10000F90DF91CF911F910F91FF90EF90DF9079
+:102B2000CF90BF90AF909F908F907F9008950F931C
+:102B30001F93CF93DF93EC01888199812B813C8196
+:102B4000232BB9F09F3F11F48F3F99F0CE010E94E3
+:102B50009906882371F0688179818A810E94151B0A
+:102B60008C010E94CA1A0E949119B801CE010E94DC
+:102B70007A13DF91CF911F910F9108950E94ED1B61
+:102B80000E94FD1B0E94C21B0E94171C0E94E02095
+:102B90000E942F2080E090E00E945B1180E090E096
+:102BA0000C9471110E94DD1B0C94BE150E940A1B2F
+:102BB000292F22952F7030E02C3031054CF42A302B
+:102BC00031056CF42250310922303105A8F407C0D8
+:102BD0002C30310569F02F30310551F00DC0803FA8
+:102BE00069F018F4803E40F409C0843F29F406C01F
+:102BF00093FB882780F9089580E0089581E0089587
+:102C0000CF93DF9300D000D01F92CDB7DEB70F90E7
+:102C10000F900F900F900F90DF91CF910895CF9369
+:102C2000DF9300D000D000D0CDB7DEB726960FB628
+:102C3000F894DEBF0FBECDBFDF91CF9108951F93F3
+:102C4000CF93DF93C091850116E080918601C8176C
+:102C500099F0D0E01C9FF0011D9FF00D1124E95761
+:102C6000FE4F4081518162817381848195810E94F0
+:102C70000F162196C770E9CFDF91CF911F9108956C
+:102C80004091B7015091B8016091B9017091BA01BA
+:102C90008091BB019091BC010C940F168091BC01F6
+:102CA00082958F7009F054C08091B901882309F48E
+:102CB0004FC080918501A09186016091B70170910C
+:102CC000B8014091BA015091BB01B6E08A1709F4EE
+:102CD0003FC090E041155105C1F17F3F11F46F3FB6
+:102CE000A1F1B89FF001B99FF00D1124E957FE4FF3
+:102CF000218172132AC02081621327C022812111F1
+:102D000024C0238134812417350710F42150310960
+:102D1000241B350B283C3105C0F42091BC012F70D9
+:102D200020612093BC0126E0289FF001299FF00D2F
+:102D30001124E457FE4F80818F708061808387EB80
+:102D400091E00E9497150C941F1601968770BECFD4
+:102D50000895CF92DF92EF92FF920F931F93CF933C
+:102D6000DF93CDB7DEB762970FB6F894DEBF0FBE24
+:102D7000CDBF8C0185E0F801DE011D9601900D921A
+:102D80008A95E1F7D8014C9111965C9111971296B2
+:102D90006C9112971396CD90DC9014973091B701F7
+:102DA0007091B8018091BA019091BB01009709F42C
+:102DB0006BC17F3F19F43F3F09F466C1E090B90150
+:102DC000EE2009F4C0C02091BC01C816D90628F035
+:102DD000F601E81BF90BCF0104C0809590958C0D8E
+:102DE0009D1DFF24F394883C910578F0F12C207F01
+:102DF00009F0C6C07C2DD98AC88A89890E9400162C
+:102E000087EB91E00E949715B1C0822F807F09F077
+:102E100046C0751314C0341312C0611110C02F7056
+:102E200020612093BC010E94401687EB91E00E9434
+:102E300097158091BC01D80115968C932EC0CD2892
+:102E400019F15F3F11F44F3FF9F0F62E61111CC0EC
+:102E5000809185012091860136E0821709F45AC0DD
+:102E600090E0389FF001399FF00D1124E957FE4F93
+:102E70007181571306C07081471303C072817111AD
+:102E800003C001968770E9CFF62E662309F418C1B6
+:102E90008091BC0181608093BC01F12C11C175133C
+:102EA00008C0341306C0611104C08091BC01D80170
+:102EB000C3C04D875E878D859E856A8B0E94D6151F
+:102EC0006A898823E1F16623D1F12091BC01822F28
+:102ED00082958F7090E0029774F08091B701909185
+:102EE000B80198878F831986DB86CA862C87CE0126
+:102EF00007960E94971586E0F801A7EBB1E00190D4
+:102F00000D928A95E1F70E944E160E944016FF240A
+:102F1000F394D6C04D875E878D859E850E940A1BDF
+:102F2000292F22952F7030E0223031050CF0BCC0E3
+:102F30009F7009F0B6C0805E883008F4C1C0C80137
+:102F40000E949715E4CFC816D90608F453C0F601BD
+:102F5000E81BF90BCF01883C910508F450C0F12C17
+:102F60007C2DD98AC88A89890E940016E7EBF1E096
+:102F700086E0DF011D928A95E9F70E944016A0C005
+:102F8000751314C0341312C0611110C08091BC01BC
+:102F9000F8018583C8010E94971586E0E7EBF1E010
+:102FA000DF011D928A95E9F7FE2C8AC04D875E8766
+:102FB0008D859E856A8B0E94D6156A89882309F4BF
+:102FC000BECF662309F4BBCF2091BC01822F82952E
+:102FD0008F7090E002970CF48ECF8091B7019091A2
+:102FE000B8019A8389831B82DD82CC822E83CE0135
+:102FF00001967FCF809590958C0D9D1DACCFF62EC0
+:10300000662309F49CCF75132EC034132CC0209175
+:10301000BC0120FD1FC0822F82958F70D9F0D8018E
+:1030200015962C9315978F3049F08F5F982F9295B6
+:10303000907F822F8F70892B15968C93C8010E94E8
+:10304000971586E0F801A7EBB1E001900D928A9503
+:10305000E1F793CF86E0F801A7EBB1E001900D9284
+:103060008A95E1F72DC04D875E878D859E850E94EC
+:10307000D615811140CF8091BC0181608093BC0145
+:10308000C8010E9497151CC0662309F458CF4D87CC
+:103090005E878D859E850E94D615882309F44FCFC3
+:1030A0002ACF811148CF0CC0243031050CF047CF16
+:1030B0009F7009F440CFF8019581907F09F03BCFD4
+:1030C0008F2D62960FB6F894DEBF0FBECDBFDF9195
+:1030D000CF911F910F91FF90EF90DF90CF900895C7
+:1030E0001F93CF93DF93CDB7DEB72C970FB6F8942D
+:1030F000DEBF0FBECDBF4F83588769877A878B8726
+:103100009C87CE0107960E94A916882369F08F81BB
+:1031100098852A853B85232BF1F19F3F09F063C0F9
+:103120008F3F09F060C037C086E0FE013796DE01B0
+:10313000119601900D928A95E1F76F817885EA8565
+:10314000FB85309741F17F3F11F46F3F21F12091D2
+:10315000860130E0C9010196877099274091850169
+:1031600050E08417950709F447C069837A83FD838B
+:10317000EC8396E0929FD001939FB00D1124A95744
+:10318000BE4FFE01319601900D929A95E1F7809322
+:1031900086010E941F1616E080918501909186019C
+:1031A0008917C1F1189FC001112489579E4F0E94B1
+:1031B000A916882379F1E09185011E9FF001112461
+:1031C000E957FE4F408151816281738184819581ED
+:1031D0000E940F168091850190E0019687709927D3
+:1031E00080938501D9CF4F81588569857A858B85F4
+:1031F0009C850E940F16CFCF0E94D2151092860197
+:1032000010928501E7EBF1E086E0DF011D928A95DF
+:10321000E9F7C1CF2C960FB6F894DEBF0FBECDBF35
+:10322000DF91CF911F910895EF92FF920F931F931B
+:10323000CF93DF938C01009709F46CC0F12CEE243E
+:10324000E394E8012196F8018491843740F48430B6
+:1032500008F051C0813081F0823019F15BC08537B0
+:1032600009F444C0A8F19CE7980F903708F052C0C9
+:103270008F770E941D1341C00E5F1F4FFE01C49146
+:1032800080E28C0F883048F4C7708E2D01C0880F03
+:10329000CA95EAF70E94F01B14C08C2F0E945512A9
+:1032A0002DC00E5F1F4FFE01C49180E28C0F88304D
+:1032B00058F4C7708E2D01C0880FCA95EAF70E9496
+:1032C000F61B0E94171C1AC08C2F0E941D1316C0DB
+:1032D0000E5F1F4FFE01C491CC2381F08FE99FE068
+:1032E0000197F1F700C00000C150F6CF0E5F1F4FED
+:1032F000FE01F49003C00E9455128E018F2D882389
+:1033000009F49FCFEFE9FFE03197F1F700C000002B
+:103310008150F5CFDF91CF911F910F91FF90EF90EA
+:10332000089508956093C1017093C2018093C30111
+:103330009093C4010C94BE150F931F930091C1018B
+:103340001091C2012091C3013091C401DC01CB0175
+:10335000802B912BA22BB32B8093C1019093C201A0
+:10336000A093C301B093C4011F910F910C94BE159B
+:103370000F931F930091C1011091C2012091C301CD
+:103380003091C401DC01CB0180239123A223B3231C
+:103390008093C1019093C201A093C301B093C40173
+:1033A0001F910F910C94BE150F931F930091C101B3
+:1033B0001091C2012091C3013091C401DC01CB0105
+:1033C00080279127A227B3278093C1019093C20140
+:1033D000A093C301B093C4011F910F910C94BE152B
+:1033E0001092BD011092BE011092BF011092C00157
+:1033F0000C94BE1541E050E060E070E004C0440F62
+:10340000551F661F771F8A95D2F74093BD015093D1
+:10341000BE016093BF017093C0010C94BE1541E0E2
+:1034200050E060E070E004C0440F551F661F771F36
+:103430008A95D2F78091BD019091BE01A091BF0104
+:10344000B091C001482B592B6A2B7B2B4093BD01B7
+:103450005093BE016093BF017093C0010C94BE15E0
+:1034600041E050E060E070E004C0440F551F661F6B
+:10347000771F8A95D2F74095509560957095809109
+:10348000BD019091BE01A091BF01B091C001482340
+:1034900059236A237B234093BD015093BE0160935F
+:1034A000BF017093C0010C94BE1541E050E060E094
+:1034B00070E004C0440F551F661F771F8A95D2F72E
+:1034C0008091BD019091BE01A091BF01B091C0015A
+:1034D000482759276A277B274093BD015093BE0197
+:1034E0006093BF017093C0010C94BE150F931F939E
+:1034F0000091BD011091BE012091BF013091C0012A
+:10350000DC01CB01802B912BA22BB32B8093BD012F
+:103510009093BE01A093BF01B093C0011F910F9182
+:103520000C94BE150F931F930091BD011091BE0125
+:103530002091BF013091C001DC01CB018023912398
+:10354000A223B3238093BD019093BE01A093BF013A
+:10355000B093C0011F910F910C94BE150F931F9350
+:103560000091BD011091BE012091BF013091C001B9
+:10357000DC01CB0180279127A227B3278093BD01CF
+:103580009093BE01A093BF01B093C0011F910F9112
+:103590000C94BE150895CF92DF92EF92FF920F9395
+:1035A0001F93CF93DF938C01C090C101D090C201D3
+:1035B000E090C301F090C4018091BD019091BE01E3
+:1035C000A091BF01B091C001C82AD92AEA2AFB2ADA
+:1035D000CFE1D0E0D701C6010C2E04C0B695A79567
+:1035E000979587950A94D2F780FF06C0B8018C2F73
+:1035F0000E949709019721F4219760F780E001C0AC
+:103600008C2FDF91CF911F910F91FF90EF90DF9062
+:10361000CF900895CF93DF93EC010E94CB1ABE01A7
+:103620000E949709DF91CF910895CB010E940A1B58
+:1036300008958091C501859585958595089580911A
+:10364000C5018770089598E0899F90011124262B69
+:103650002093C5010C940F1A2091C50180958223F7
+:103660008093C501982F977069F430E0482F552753
+:1036700047FD50952417350729F085958595859543
+:103680000C94301A08959091C501977081E009F467
+:1036900080E0089590910C01992321F090910D0103
+:1036A000911109C020910E0130910F01F90132965C
+:1036B0009FEF40E01FC0982F9695969596959F3066
+:1036C00050F5E0910E01F0910F01E90FF11D8770A7
+:1036D00021E030E0A90102C0440F551F8A95E2F7AE
+:1036E000CA019181892B818308959F3F39F04F5FF3
+:1036F0004E3041F051915813F8CF0DC05111F7CF12
+:10370000942FF5CF9F3F39F0F901E90FF11D97FD97
+:10371000FA9582830895089590910C01992321F0E0
+:1037200090910D01911109C020910E0130910F016E
+:10373000F9013296205F3F4F1FC0982F96959695BE
+:1037400096959F30F0F4E0910E01F0910F01E90F92
+:10375000F11D877021E030E0A90102C0440F551F20
+:103760008A95E2F7CA018095918189238183089522
+:103770003196E217F30729F090819813F9CF108260
+:10378000F7CF089581E090E0E0910E01F0910F01F4
+:10379000E80FF91F1082019680319105A9F708956D
+:1037A0009091D901892B8093D901089580959091AA
+:1037B000D90189238093D90108951092D9010895E0
+:1037C0009091D801892B8093D8010895809590918C
+:1037D000D80189238093D80108951092D8010895C3
+:1037E0009091D701892B8093D7010895809590916E
+:1037F000D70189238093D70108951092D7010895A6
+:103800008093C60108951092C601089580910E011B
+:1038100090910F01FC0131969C01205F3F4F80E0A9
+:10382000919191118F5FE217F307D1F70895E0911D
+:103830000E01F0910F018091D9018083E0910E017A
+:10384000F0910F0190818091D801892B8083E091C4
+:103850000E01F0910F0190818091D701892B808317
+:103860008091C601882361F0E0910E01F0910F0173
+:103870009081892B80830E94061C81111092C601C1
+:1038800080910E0190910F010C94451120E000975A
+:1038900039F0AC0141505109842395232F5FF7CFB4
+:1038A000822F08958091F101843021F11092DB0183
+:1038B00020E488E190E00FB6F894A895809360002A
+:1038C0000FBE2093600080E00E94320A83B7817FA0
+:1038D000846083BF83B7816083BF7894889583B702
+:1038E0008E7F83BF88E10FB6F894809360001092BA
+:1038F00060000FBE0895089508950E947B1C0E94E9
+:10390000A4040E947C1C0E94990591E0811101C0D1
+:1039100090E0892F08950E94D2150E9439110C94CD
+:10392000320A82E084BD93E095BD9AEF97BD809303
+:103930006E0008952FB7F8948091DC019091DD011D
+:10394000A091DE01B091DF012FBF0895CF92DF92E9
+:10395000EF92FF920F931F932FB7F8944091DC01E1
+:103960005091DD016091DE017091DF012FBF6A018E
+:103970007B01EE24FF248C0120E030E0C016D1064C
+:10398000E206F30610F4415051099A01281B390B45
+:10399000C9011F910F91FF90EF90DF90CF90089594
+:1039A0001F920F920FB60F9211248F939F93AF9394
+:1039B000BF938091DC019091DD01A091DE01B09177
+:1039C000DF010196A11DB11D8093DC019093DD0103
+:1039D000A093DE01B093DF01BF91AF919F918F91D2
+:1039E0000F900FBE0F901F9018950E94360EF894FE
+:1039F0002FEF87EA91E6215080409040E1F700C028
+:103A0000000087E090EBDC018093FB019093FC01C8
+:103A1000A093FD01B093FE019CE088E10FB6F894FD
+:103A2000A895809360000FBE90936000FFCFEF9247
+:103A3000FF920F931F93CF93DF93D82FCDE08C2F5E
+:103A40000E94920505E010E0E82EF12CC701002E3F
+:103A500002C0959587950A94E2F780FF09C0602F10
+:103A60007C2F80E00E944207D81302C081E006C08C
+:103A70000150110958F7C15010F780E0DF91CF9144
+:103A80001F910F91FF90EF900895CF93C82F8CE274
+:103A90000E94171D882321F08C2FCF910C94171DA5
+:103AA00080E0CF910895CF930E949A1E811102C0A9
+:103AB0000E94801EC5E6C15049F00E94A4048FE315
+:103AC0009CE90197F1F700C00000F5CF89E20E9460
+:103AD000451D811113C18AE20E94451D81110E947A
+:103AE000801E85E00E94451D81110E94F51C0E94E8
+:103AF000A51E8093DA0187E00E94451D8823A9F165
+:103B00008BE10E94451D882351F08091DA0181FBF1
+:103B1000222720F991E0922790FB81F90EC08EE0D8
+:103B20000E94451D882361F08091DA0182FB2227E3
+:103B300020F991E0922790FB82F98093DA0115C079
+:103B400080E10E94451D9091DA01882341F093FBAA
+:103B5000222720F981E0822780FB93F904C0892F76
+:103B6000809580FB90F99093DA018091DA010E94B0
+:103B7000A91E0E94B71E8093FA0180EE0E94451D87
+:103B8000882341F08091FA01982F909590FB80F95D
+:103B90008093FA0189E30E94451D882359F08091A2
+:103BA000FA0181FB222720F991E0922790FB81F90D
+:103BB0008093FA0182EE0E94451D882359F080917E
+:103BC000FA0182FB222720F991E0922790FB82F9EB
+:103BD0008093FA0186EE0E94451D882359F080915A
+:103BE000FA0183FB222720F991E0922790FB83F9C9
+:103BF0008093FA0183EE0E94451D882359F080913D
+:103C0000FA0184FB222720F991E0922790FB84F9A6
+:103C10008093FA0185E30E94451D882359F0809125
+:103C2000FA0185FB222720F991E0922790FB85F984
+:103C30008093FA0181E30E94451D882359F0809109
+:103C4000FA0186FB222720F991E0922790FB86F962
+:103C50008093FA0181E10E94451D882359F08091EB
+:103C6000FA0187FB222720F991E0922790FB87F940
+:103C70008093FA018091FA010E94BB1E8091FA01A3
+:103C800087FB882780F980930D0187E20E94451DFC
+:103C9000C82F8EE10E94451D8111C2608FE10E94F4
+:103CA000451D8111C46080E20E94451D8111C860DC
+:103CB00081E20E94451D8111C06182E20E94451D82
+:103CC0008111C06283E20E94451D8111C06484E2BB
+:103CD0000E94451D882311F0C06802C0CC2329F042
+:103CE0008C2F0E94B21E6C2F03C00E94AE1E682F44
+:103CF00070E080E090E0CF910C949219CF910895FC
+:103D00006DEE7EEF80E090E00E94EC2460E082E0C7
+:103D100090E00E94DA2460E083E090E00E94DA24E0
+:103D200060E084E090E00E94DA2460E085E090E0CA
+:103D30000C94DA2480E090E00E94D42421E08D3EAF
+:103D40009E4F09F020E0822F089582E090E00C94CD
+:103D5000CC24682F82E090E00C94DA2483E090E099
+:103D60000C94CC24682F83E090E00C94DA2484E057
+:103D700090E00C94CC24682F84E090E00C94DA243A
+:103D80008091E20180FF0BC06091130185E0689F84
+:103D9000B001112475956795759567952BC081FFC6
+:103DA00009C06091130185E0689FB00111247595E9
+:103DB000679520C082FF07C06091130185E0689F6E
+:103DC000B001112417C09091E3019923D1F06091C3
+:103DD0001201961788F72091130185E0289F900122
+:103DE0001124929FA001939F500D112470E0CA01ED
+:103DF0000E949E246038710540F46115710539F008
+:103E000002C065E070E0862F08958FE7089581E095
+:103E100008958091E20180FF08C06091110170E077
+:103E2000759567957595679521C081FF06C060916E
+:103E3000110170E07595679519C082FF04C060910B
+:103E4000110170E010C09091E3019923C1F06091DD
+:103E500010019617A0F780911101899FC0011124CC
+:103E600070E00E949E246038710528F46115710588
+:103E700021F0862F08958FE7089581E0089561E08D
+:103E800070E0F4CF803F21F40E94C01E819504C0F1
+:103E9000813F29F40E94C01E8093E6010895823F6D
+:103EA00021F40E94C01E819504C0833F29F40E9422
+:103EB000C01E8093E5010895893F19F40E94091FEF
+:103EC00005C08A3F31F40E94091F81958093E70164
+:103ED00008958B3F21F40E94091F819504C08C3FF7
+:103EE00029F40E94091F8093E8010895843F21F47A
+:103EF0008091E401816017C0853F21F48091E40145
+:103F0000826011C0863F21F48091E40184600BC07F
+:103F1000873F21F48091E401886005C0883F31F437
+:103F20008091E40180618093E40108958D3F21F444
+:103F30008091E20181600BC08E3F21F48091E2010B
+:103F4000826005C08F3F29F48091E20184608093F4
+:103F5000E2010895803F39F48091E60187FF6CC04B
+:103F60001092E60169C0813F29F48091E60118169C
+:103F7000BCF362C09091E501823F29F497FF5CC0D9
+:103F80001092E50159C0833F19F41916CCF354C0BF
+:103F9000893F41F48091E70118160CF04DC0109252
+:103FA000E7014AC08A3F29F48091E70187FF44C0B6
+:103FB000F6CF8B3F39F48091E80187FF3DC0109226
+:103FC000E8013AC08C3F29F48091E8011816BCF34F
+:103FD00033C0843F21F48091E4018E7F17C0853F78
+:103FE00021F48091E4018D7F11C0863F21F48091FE
+:103FF000E4018B7F0BC0873F21F48091E401877F30
+:1040000005C0883F31F48091E4018F7E8093E40104
+:1040100013C08D3F21F48091E2018E7F0BC08E3F53
+:1040200021F48091E2018D7F05C08F3F29F48091BA
+:10403000E2018B7F8093E2018091E50181110EC046
+:104040008091E60181110AC08091E701811106C0CB
+:104050008091E801811102C01092E301089584EE7D
+:1040600091E00E9450110E949A1C9093E10180936C
+:10407000E00108951F93CF93DF938091E001909129
+:10408000E1010E94A61CAC019091E301992321F06B
+:104090002091140130E006C0209115018AE0289F8C
+:1040A000900111244217530708F486C08091E5015E
+:1040B000C091E601D091E7011091E801811107C09C
+:1040C000C11176C0D11174C0111172C075C09F3F6B
+:1040D00019F09F5F9093E301181624F40E94C01E0C
+:1040E0008093E5018091E50187FF05C00E94C01E15
+:1040F00081958093E5011C1624F40E94C01E8093D4
+:10410000E6018091E60187FF05C00E94C01E8195EF
+:104110008093E6016091E501662339F1C091E601E3
+:10412000CC2319F1772767FD7095872F972F0E9471
+:10413000AF2323E333E343E35FE30E9413240E94AE
+:104140007C236093E5016C2F772767FD7095872F9F
+:10415000972F0E94AF2323E333E343E35FE30E94FF
+:1041600013240E947C236093E6011D1624F40E9410
+:10417000091F8093E7018091E70187FF05C00E9436
+:10418000091F81958093E701111624F40E94091FED
+:104190008093E8018091E80187FF05C00E94091F14
+:1041A00081958093E801DF91CF911F910C942F208E
+:1041B0009F3F09F08ECF96CFDF91CF911F91089549
+:1041C000E4EEF1E085E0DF011D928A95E9F71092B7
+:1041D000E3011092E2010895833081F128F48130E7
+:1041E00059F08230D1F00895853009F449C0B8F112
+:1041F000863009F456C0089580911501262F30E0CD
+:10420000280F311D2F3F310524F4680F60931501ED
+:1042100008958FEF80931501089580911401262F42
+:1042200030E0280F311D2F3F310524F4680F6093D3
+:10423000140108958FEF8093140108958091130164
+:10424000262F30E0280F311D2F3F310524F4680F51
+:104250006093130108958FEF809313010895809167
+:104260001201262F30E0280F311D2F3F310524F495
+:10427000680F6093120108958FEF809312010895E3
+:1042800080911101262F30E0280F311D2F3F31057D
+:1042900024F4680F6093110108958FEF809311014A
+:1042A000089580911001262F30E0280F311D2F3FF7
+:1042B000310524F4680F6093100108958FEF809307
+:1042C00010010895833011F128F4813049F08230D3
+:1042D00091F00895853081F120F18630C1F1089583
+:1042E00080911501681720F4861B809315010895AD
+:1042F00010921501089580911401681720F4861B0F
+:10430000809314010895109214010895809113016F
+:10431000681720F4861B80931301089510921301EF
+:10432000089580911201681720F4861B8093120172
+:10433000089510921201089580911101681720F4D8
+:10434000861B8093110108951092110108958091A8
+:104350001001681720F4861B8093100108951092B5
+:10436000100108950F931F938D3109F46BC008F06D
+:104370003FC08E3009F47FC0C0F4873009F469C0B3
+:1043800068F4863009F0B1C08091DA01817F8E7FB8
+:104390008093DA0181E08093EA01A8C0883009F4B3
+:1043A000A2C08B3009F49FC0A0C0863109F49BC025
+:1043B00078F4803109F472C0813109F096C00E940E
+:1043C000D21590910D0181E0892780930D018BC05A
+:1043D000893109F488C08B3109F087C08091DA01F6
+:1043E00081FB222720F991E0922790FB81F94CC0B4
+:1043F000853309F470C048F4873209F46CC008F4BE
+:1044000059C0893209F467C070C0833438F48A33E4
+:1044100008F04EC0883309F466C067C0833409F4DD
+:104420005AC0883409F061C00E94D2150FEF13ED15
+:1044300020E3015010402040E1F700C000000E943E
+:10444000F51C51C00E9436230E9439110E94320A85
+:104450004AC09091DA01892F8095817080FB90F994
+:1044600029F0966098609093DA0140C0997F977F19
+:104470009093DA0138C08091DA0182FB222720F97B
+:1044800091E0922790FB82F98093DA01992359F108
+:104490008091DA0181608093DA0125C08091DA0190
+:1044A00083FB222720F991E0922790FB83F9ECCF40
+:1044B000895301C08D5141E050E060E070E08A0115
+:1044C0009B0104C0000F111F221F331F8A95D2F7D2
+:1044D000C901B80104C061E070E080E090E00E9492
+:1044E00092190E94D21581E001C080E01F910F91C6
+:1044F000089580E0089580E00895CF93C82F8091BB
+:10450000EA01813079F018F08230E9F187C0E0915A
+:104510000E01F0910F018081813169F0823209F042
+:104520007FC009C0E0910E01F0910F0180818131BF
+:1045300011F0823261F48C2F0E947922811104C023
+:104540008C2F0E94B2211DC081E090E01AC08C2FF8
+:104550000E947B22811114C0C43179F048F4CB3021
+:1045600079F0C03109F060C082E08093EA0108C0B0
+:10457000C93219F0C83321F057C01092EA0154C073
+:1045800081E0817053C0C93289F118F5C43171F1ED
+:10459000A8F4C73009F046C08AE08093150194E181
+:1045A0009093140193E0909313018093120188E09B
+:1045B0008093110188E28093100134C0CE51C6303F
+:1045C00088F5EC2FF0E0E65DFE4F80818093E901F5
+:1045D00029C0CE34E9F020F4CB3421F56AE013C0D1
+:1045E000C13579F0C235F1F461E00DC08091E90187
+:1045F000882319F01092E90115C081E08093EA0147
+:1046000015C061E006C08091E9010E94EC200AC05B
+:104610006AE08091E9010E94622104C01092EA01DF
+:1046200080E004C081E002C080E0ABCFCF9108956C
+:10463000E1E8F0E080818860808380818160808310
+:104640008FB7F89493E09093890090ED9093880051
+:104650008FBF0895EFE6F0E0808182608083089547
+:10466000EFE6F0E080818D7F80830895EFE6F0E053
+:10467000908182E08927808308951F920F920FB660
+:104680000F9211242F933F934F935F936F937F93D8
+:104690008F939F93AF93BF93EF93FF938091EB0121
+:1046A0009091EC0101969093EC018093EB018111C4
+:1046B00003C082E00E94320AE091EC01E695E695A3
+:1046C000F0E0EB59F84FE4918091EB018E1303C0B9
+:1046D00080E00E94320AFF91EF91BF91AF919F91CC
+:1046E0008F917F916F915F914F913F912F910F909B
+:1046F0000FBE0F901F90189504D06894B1118DC013
+:10470000089570D088F09F5790F0B92F9927B7512E
+:10471000A0F0D1F0660F771F881F991F1AF0BA9585
+:10472000C9F712C0B13081F077D0B1E0089574C0FC
+:10473000672F782F8827B85F39F0B93FCCF386957B
+:1047400077956795B395D9F73EF4909580957095D8
+:1047500061957F4F8F4F9F4F0895E89409C097FB55
+:104760003EF490958095709561957F4F8F4F9F4F48
+:104770009923A9F0F92F96E9BB279395F69587958C
+:1047800077956795B795F111F8CFFAF4BB0F11F44F
+:1047900060FF1BC06F5F7F4F8F4F9F4F16C08823F6
+:1047A00011F096E911C0772321F09EE8872F762F2C
+:1047B00005C0662371F096E8862F70E060E02AF06D
+:1047C0009A95660F771F881FDAF7880F9695879559
+:1047D00097F9089557FD9058440F551F59F05F3FC2
+:1047E00071F04795880F97FB991F61F09F3F79F013
+:1047F00087950895121613061406551FF2CF469595
+:10480000F1DF08C0161617061806991FF1CF869516
+:104810007105610508940895E894BB2766277727FA
+:10482000CB0197F908950BD078C069D028F06ED0ED
+:1048300018F0952309F05AC05FC01124EECFCADFEB
+:10484000A0F3959FD1F3950F50E0551F629FF001A3
+:10485000729FBB27F00DB11D639FAA27F00DB11DFC
+:10486000AA1F649F6627B00DA11D661F829F222785
+:10487000B00DA11D621F739FB00DA11D621F839F0C
+:10488000A00D611D221F749F3327A00D611D231FE2
+:10489000849F600D211D822F762F6A2F11249F5730
+:1048A00050408AF0E1F088234AF0EE0FFF1FBB1F53
+:1048B000661F771F881F91505040A9F79E3F5105F2
+:1048C00070F014C0AACF5F3FECF3983EDCF38695FE
+:1048D00077956795B795F795E7959F5FC1F7FE2B9D
+:1048E000880F911D9695879597F9089597F99F6779
+:1048F00080E870E060E008959FEF80EC0895002468
+:104900000A941616170618060906089500240A9434
+:1049100012161306140605060895092E0394000CBA
+:1049200011F4882352F0BB0F40F4BF2B11F460FF49
+:1049300004C06F5F7F4F8F4F9F4F089597FB072EE7
+:1049400016F4009407D077FD09D00E94B82407FC24
+:1049500005D03EF4909581959F4F0895709561958F
+:104960007F4F0895EE0FFF1F0590F491E02D0994FD
+:10497000AA1BBB1B51E107C0AA1FBB1FA617B70785
+:1049800010F0A61BB70B881F991F5A95A9F78095A1
+:104990009095BC01CD010895F999FECF92BD81BDDE
+:1049A000F89A992780B50895A8E1B0E042E050E078
+:1049B0000C94F424262FF999FECF92BD81BDF89A6C
+:1049C000019700B4021639F01FBA20BD0FB6F89453
+:1049D000FA9AF99A0FBE08950196272F0E94DB24B8
+:1049E0000C94DA24DC01CB01FC01F999FECF06C05E
+:1049F000F2BDE1BDF89A319600B40D92415050409D
+:084A0000B8F70895F894FFCF08
+:104A08000220340AC20A9F0A6B0A370A0101C70149
+:104A180028080A03140A404D36392507D806A20685
+:104A28006906FC0515062E0647060102030405065D
+:044A38000708090062
+:00000001FF
diff --git a/keyboards/ergodox_ez/keymaps/bepo/keymap.c b/keyboards/ergodox_ez/keymaps/bepo/keymap.c
new file mode 100644
index 000000000..921a94d63
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/bepo/keymap.c
@@ -0,0 +1,311 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "keymap_bepo.h"
+
+#define BASE 0 // default layer
+#define QWER 1 // qwerty compat layer
+#define SQWER 2 // shifted qwerty compat layer
+#define AQWER 3 // alted qwerty compat layer
+#define FNAV 4 // function / navigation keys
+#define NUM 5 // numeric keypad keys
+#define MSE 6 // mouse keys
+
+#define KP_00 0
+#define CA_Fx 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Base layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | $ | " | < | > | ( | ) |Delete| |ScroLo| @ | + | - | / | * | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | % | B |E_ACUT| P | O |E_GRAV|Backsp| |CapsLo| ^ | V | D | L | J | Z |
+ * |--------+------+------+------+------+------| ace | | |------+------+------+------+------+--------|
+ * | W | A | U | I | E | , |------| |------| C | T | S | R | N | M |
+ * |--------+------+------+------+------+------| Tab | | NumLo|------+------+------+------+------+--------|
+ * | E_CIRC |A_GRAV| Y | X | . | K | | | | ' | Q | G | H | F | C_CEDIL|
+ * `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
+ * |QWERTY| |LSuper| LCtrl| LAlt| |Escape| L_Mse| | |Insert| | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ * `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
+ * | | | L_Num| | CA_Fx| | |
+ * | Space|LShift|------| |------|RShift|Enter |
+ * | | |L_FNav| |L_FNav| | |
+ * `--------------------' `--------------------'
+ */
+[BASE] = KEYMAP(
+// Left hand
+BP_DOLLAR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, KC_DEL,
+BP_PERCENT, BP_B, BP_E_ACUTE, BP_P, BP_O, BP_E_GRAVE, KC_BSPC,
+BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMMA,
+BP_ECRC, BP_A_GRAVE, BP_Y, BP_X, BP_DOT, BP_K, KC_TAB,
+TG(QWER), KC_NO, KC_LGUI, KC_LCTL, KC_LALT,
+ KC_ESC, MO(MSE),
+ MO(NUM),
+ KC_SPC, KC_LSHIFT, MO(FNAV),
+// Right hand
+ KC_SLCK, BP_AT, BP_PLUS, BP_MINUS, BP_SLASH, BP_ASTR, BP_EQUAL,
+ KC_CAPSLOCK, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z,
+ BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
+ KC_NUMLOCK, BP_APOS, BP_Q, BP_G, BP_H, BP_F, BP_CCED,
+ BP_ALGR, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
+KC_NO, KC_INS,
+M(CA_Fx),
+MO(FNAV), KC_RSHIFT, KC_ENTER),
+/* Keymap 1: QWERTY system compatibility layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | $ | " | < | > | ( | ) |Delete| |ScroLo| @ | + | - | / | * | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | % | b | e | p | o | e |Backsp| |CapsLo| ^ | v | d | l | j | z |
+ * |--------+------+------+------+------+------| ace | | |------+------+------+------+------+--------|
+ * | w | a | u | i | e | , |------| |------| c | t | s | r | n | m |
+ * |--------+------+------+------+------+------| Tab | | NumLo|------+------+------+------+------+--------|
+ * | e | a | y | x | . | k | | | | ' | q | g | h | f | c |
+ * `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
+ * | BEPO | |LSuper| LCtrl| LAlt| |Escape| L_Mse| | |Insert| | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ * `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
+ * | | | L_Num| | | | |
+ * | Space|LShift|------| |------|RShift|Enter |
+ * | | |L_FNav| |L_FNav| | |
+ * `--------------------' `--------------------'
+ */
+[QWER] = KEYMAP(
+// Left hand
+KC_DOLLAR, S(KC_QUOT), S(KC_COMM), S(KC_DOT), KC_LPRN, KC_RPRN, KC_DEL,
+KC_PERCENT, KC_B, KC_E, KC_P, KC_O, KC_E, KC_BSPC,
+KC_W, KC_A, KC_U, KC_I, KC_E, KC_COMMA,
+KC_E, KC_A, KC_Y, KC_X, KC_DOT, KC_K, KC_TAB,
+KC_TRNS, KC_NO, KC_LGUI, KC_LCTL, KC_LALT,
+ KC_ESC, MO(MSE),
+ MO(NUM),
+ KC_SPC, MO(SQWER), MO(FNAV),
+// Right hand
+ KC_SLCK, KC_AT, KC_PLUS, KC_MINUS, KC_SLASH, KC_ASTR, KC_EQUAL,
+ KC_CAPSLOCK, KC_CIRC, KC_V, KC_D, KC_L, KC_J, KC_Z,
+ KC_C, KC_T, KC_S, KC_R, KC_N, KC_M,
+ KC_NUMLOCK, KC_QUOT, KC_Q, KC_G, KC_H, KC_F, KC_C,
+ MO(AQWER), KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
+KC_NO, KC_INS,
+KC_TRNS,
+MO(FNAV), MO(SQWER), KC_ENTER),
+/* Keymap 2: QWERTY shifted system compatibility layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | # | 1 | 2 | 3 | 4 | 5 |Delete| |ScroLo| 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | ` | B | E | P | O | E |Backsp| |CapsLo| ! | V | D | L | J | Z |
+ * |--------+------+------+------+------+------| ace | | |------+------+------+------+------+--------|
+ * | W | A | U | I | E | ; |------| |------| C | T | S | R | N | M |
+ * |--------+------+------+------+------+------| Tab | | NumLo|------+------+------+------+------+--------|
+ * | E | A | Y | X | : | K | | | | ? | Q | G | H | F | C |
+ * `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
+ * | BEPO | |LSuper| LCtrl| LAlt| |Escape| L_Mse| | |Insert| | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ * `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
+ * | | | L_Num| | | | |
+ * | Space|LShift|------| |------|RShift|Enter |
+ * | | |L_FNav| |L_FNav| | |
+ * `--------------------' `--------------------'
+ */
+[SQWER] = KEYMAP(
+// Left hand
+KC_HASH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,
+KC_GRV, S(KC_B), S(KC_E), S(KC_P), S(KC_O), S(KC_E), KC_TRNS,
+S(KC_W), S(KC_A), S(KC_U), S(KC_I), S(KC_E), KC_SCOLON,
+S(KC_E), S(KC_A), S(KC_Y), S(KC_X), KC_COLON, S(KC_K), S(KC_TAB),
+KC_TRNS, KC_TRNS, S(KC_LGUI), S(KC_LCTL), S(KC_LALT),
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+// Right hand
+ KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, KC_EXLM, S(KC_V), S(KC_D), S(KC_L), S(KC_J), S(KC_Z),
+ S(KC_C), S(KC_T), S(KC_S), S(KC_R), S(KC_N), S(KC_M),
+ KC_TRNS, S(KC_SLASH), S(KC_Q), S(KC_G), S(KC_H), S(KC_F), S(KC_C),
+ S(KC_RALT), S(KC_RCTL), S(KC_RGUI), KC_TRNS, KC_TRNS,
+KC_TRNS, KC_TRNS,
+KC_TRNS,
+KC_TRNS, KC_TRNS, KC_TRNS),
+/* Keymap 3: QWERTY alted system compatibility layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | $ | " | < | > | [ | ] |Delete| |ScroLo| @ | + | - | / | * | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | % | | | e | & | o | e |Backsp| |CapsLo| ^ | v | d | l | j | z |
+ * |--------+------+------+------+------+------| ace | | |------+------+------+------+------+--------|
+ * | w | a | u | i | € | , |------| |------| c | t | s | r | n | m |
+ * |--------+------+------+------+------+------| Tab | | NumLo|------+------+------+------+------+--------|
+ * | e | \ | { | } | . | ~ | | | | ' | q | g | h | f | c |
+ * `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
+ * | BEPO | |LSuper| LCtrl| LAlt| |Escape| L_Mse| | |Insert| | AltGr| RCtrl|RSuper|PrntSc| Pause|
+ * `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
+ * | | | L_Num| | | | |
+ * | _ |LShift|------| |------|RShift|Enter |
+ * | | |L_FNav| |L_FNav| | |
+ * `--------------------' `--------------------'
+ */
+[AQWER] = KEYMAP(
+// Left hand
+KC_DOLLAR, S(KC_QUOT), S(KC_COMM), S(KC_DOT), KC_LBRC, KC_RBRC, KC_DEL,
+KC_PERCENT, KC_PIPE, KC_E, KC_AMPR, KC_O, KC_E, KC_BSPC,
+KC_W, KC_A, KC_U, KC_I, RALT(KC_5), KC_COMMA,
+KC_E, KC_BSLASH, KC_LCBR, KC_RCBR, KC_DOT, KC_TILDE, KC_TAB,
+KC_TRNS, KC_NO, KC_LGUI, KC_LCTL, KC_LALT,
+ KC_ESC, MO(MSE),
+ MO(NUM),
+ KC_UNDS, MO(SQWER), MO(FNAV),
+// Right hand
+ KC_SLCK, KC_AT, KC_PLUS, KC_MINUS, KC_SLASH, KC_ASTR, KC_EQUAL,
+ KC_CAPSLOCK, KC_CIRC, KC_V, KC_D, KC_L, KC_J, KC_Z,
+ KC_C, KC_T, KC_S, KC_R, KC_N, KC_M,
+ KC_NUMLOCK, KC_QUOT, KC_Q, KC_G, KC_H, KC_F, KC_C,
+ KC_TRNS, KC_RCTL, KC_RGUI, KC_PSCREEN, KC_PAUSE,
+KC_NO, KC_INS,
+KC_TRNS,
+MO(FNAV), MO(SQWER), KC_ENTER),
+/* Keymap 4: function / navigation layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 |VolMut| | | F6 | F7 | F8 | F9 | F10 | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | |VolDwn| | | PgUp | Home | Up | End | F11 | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| PgDn | Left | Down | Right| F12 | |
+ * |--------+------+------+------+------+------| VolUp| | |------+------+------+------+------+--------|
+ * | | Undo | Cut | Copy | Paste| | | | | | | | | | |
+ * `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | | | | | | | |
+ * `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[FNAV] = KEYMAP(
+// Left hand
+KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MUTE,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_NO, KC_VOLD,
+KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_TRNS, KC_TRNS,
+// Right hand
+ KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,
+ KC_NO, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_F11, KC_NO,
+ KC_PGDOWN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_F12, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO,
+KC_NO, KC_NO,
+KC_TRNS,
+KC_TRNS, KC_TRNS, KC_NO),
+/* Keymap 5: numeric layer, sends keypad codes
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | + | - | / | * | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | 7 | 8 | 9 | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | 4 | 5 | 6 | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | 1 | 2 | 3 | | |
+ * `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | | | 0 | 00 | . | | |
+ * `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
+ * | | | | | | | |
+ * | | |------| |------| | Enter|
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[NUM] = KEYMAP(
+// Left hand
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_NO, KC_NO,
+ KC_TRNS,
+ KC_NO, KC_TRNS, KC_NO,
+// Right hand
+ KC_NO, KC_NO, KC_KP_PLUS, KC_KP_MINUS, KC_KP_SLASH, KC_KP_ASTERISK, KC_NO,
+ KC_NO, KC_NO, KC_KP_7, KC_KP_8, KC_KP_9, KC_NO, KC_NO,
+ KC_NO, KC_KP_4, KC_KP_5, KC_KP_6, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_KP_1, KC_KP_2, KC_KP_3, KC_NO, KC_NO,
+ KC_KP_0, M(KP_00), KC_KP_COMMA, KC_NO, KC_NO,
+KC_NO, KC_NO,
+KC_NO,
+KC_NO, KC_TRNS, KC_KP_ENTER),
+/* Keymap 6: mouse layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | |LClick| Up |RClick| WhUp | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | Left | Down | Right|WhDown| |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | | | | | | | |
+ * `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[MSE] = KEYMAP(
+// Left hand
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_NO, KC_TRNS,
+ KC_NO,
+ KC_NO, KC_TRNS, KC_NO,
+// Right hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP, KC_NO,
+ KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO,
+KC_NO, KC_NO,
+KC_NO,
+KC_NO, KC_TRNS, KC_NO)
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case KP_00:
+ if (record->event.pressed) {
+ return MACRO( T(KP_0), D(KP_0), END );
+ } else {
+ return MACRO( U(KP_0), END );
+ }
+ break;
+ case CA_Fx:
+ if (record->event.pressed) {
+ layer_on(FNAV);
+ return MACRO( D(LALT), D(LCTL), END );
+ } else {
+ layer_off(FNAV);
+ return MACRO( U(LCTL), U(LALT), END );
+ }
+ 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) {
+};