From 854777ce41fd9248210167cd645ae40a72ef5211 Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Thu, 30 Jan 2020 22:26:03 +0100 Subject: [PATCH] Add files via upload Some small modifications and enhancements have been made. --- UltimateKEYS - 2020-01-30.ahk | 1167 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-01-30.klc | Bin 0 -> 68686 bytes 2 files changed, 1167 insertions(+) create mode 100644 UltimateKEYS - 2020-01-30.ahk create mode 100644 UltimateKEYS - 2020-01-30.klc diff --git a/UltimateKEYS - 2020-01-30.ahk b/UltimateKEYS - 2020-01-30.ahk new file mode 100644 index 0000000..5ff5af9 --- /dev/null +++ b/UltimateKEYS - 2020-01-30.ahk @@ -0,0 +1,1167 @@ +; UltimateKEYS - 2020-01-30.ahk + +; Author : Pieter Degroote + +; License : GNU General Public License Version 3 + +; Website : https://github.com/pieter-degroote/UltimateKEYS + + +; Requirements : + +; Keyboard layout (on Windows OS) : US QWERTY + +; AutoHotkey v1.1 (https://www.autohotkey.com/) + + + +; Dead Key : Circumflex Accent + +dkCircumflex := ComObjCreate("Scripting.Dictionary") +dkCircumflex.item("a") := "â" ; a with circumflex +dkCircumflex.item("A") := "Â" ; A with circumflex +dkCircumflex.item("c") := "ĉ" ; c with circumflex +dkCircumflex.item("C") := "Ĉ" ; C with circumflex +dkCircumflex.item("e") := "ê" ; e with circumflex +dkCircumflex.item("E") := "Ê" ; E with circumflex +dkCircumflex.item("g") := "ĝ" ; g with circumflex +dkCircumflex.item("G") := "Ĝ" ; G with circumflex +dkCircumflex.item("h") := "Ä¥" ; h with circumflex +dkCircumflex.item("H") := "Ĥ" ; H with circumflex +dkCircumflex.item("i") := "î" ; i with circumflex +dkCircumflex.item("I") := "Î" ; I with circumflex +dkCircumflex.item("j") := "ĵ" ; j with circumflex +dkCircumflex.item("J") := "Ä´" ; J with circumflex +dkCircumflex.item("o") := "ô" ; o with circumflex +dkCircumflex.item("O") := "Ô" ; O with circumflex +dkCircumflex.item("s") := "ŝ" ; s with circumflex +dkCircumflex.item("S") := "Ŝ" ; S with circumflex +dkCircumflex.item("u") := "û" ; u with circumflex +dkCircumflex.item("U") := "Û" ; U with circumflex +dkCircumflex.item("w") := "ŵ" ; w with circumflex +dkCircumflex.item("W") := "Å´" ; W with circumflex +dkCircumflex.item("y") := "Å·" ; y with circumflex +dkCircumflex.item("Y") := "Ŷ" ; Y with circumflex +dkCircumflex.item("z") := "ẑ" ; z with circumflex +dkCircumflex.item("Z") := "Ẑ" ; Z with circumflex +dkCircumflex.item("n") := "₦" ; Nigerian naira +dkCircumflex.item("N") := "₦" ; Nigerian naira +dkCircumflex.item("^") := "{^}" ; circumflex accent +dkCircumflex.item(" ") := "{^}" ; circumflex accent + + +; Dead Key : Caron + +dkCaron := ComObjCreate("Scripting.Dictionary") +dkCaron.item("a") := "ǎ" ; a with caron +dkCaron.item("A") := "Ǎ" ; A with caron +dkCaron.item("c") := "č" ; c with caron +dkCaron.item("C") := "Č" ; C with caron +dkCaron.item("d") := "ď" ; d with caron +dkCaron.item("D") := "Ď" ; D with caron +dkCaron.item("e") := "ě" ; e with caron +dkCaron.item("E") := "Ě" ; E with caron +dkCaron.item("g") := "ǧ" ; g with caron +dkCaron.item("G") := "Ǧ" ; G with caron +dkCaron.item("h") := "ȟ" ; h with caron +dkCaron.item("H") := "Ȟ" ; H with caron +dkCaron.item("i") := "ǐ" ; i with caron +dkCaron.item("I") := "Ǐ" ; I with caron +dkCaron.item("j") := "ǰ" ; j with caron +dkCaron.item("k") := "Ç©" ; k with caron +dkCaron.item("K") := "Ǩ" ; K with caron +dkCaron.item("l") := "ľ" ; l with caron +dkCaron.item("L") := "Ľ" ; L with caron +dkCaron.item("n") := "ň" ; n with caron +dkCaron.item("N") := "Ň" ; N with caron +dkCaron.item("o") := "ǒ" ; o with caron +dkCaron.item("O") := "Ǒ" ; O with caron +dkCaron.item("r") := "ř" ; r with caron +dkCaron.item("R") := "Ř" ; R with caron +dkCaron.item("s") := "Å¡" ; s with caron +dkCaron.item("S") := "Å " ; S with caron +dkCaron.item("t") := "Å¥" ; t with caron +dkCaron.item("T") := "Ť" ; T with caron +dkCaron.item("u") := "ǔ" ; u with caron +dkCaron.item("U") := "Ǔ" ; U with caron +dkCaron.item("z") := "ž" ; z with caron +dkCaron.item("Z") := "Ž" ; Z with caron +dkCaron.item(" ") := "ˇ" ; caron + + +; Dead Key : Ring/Dot Above + +dkRingDotAbove := ComObjCreate("Scripting.Dictionary") +dkRingDotAbove.item("a") := "Ã¥" ; a with ring above +dkRingDotAbove.item("A") := "Å" ; A with ring above +dkRingDotAbove.item("ä") := "ȧ" ; a with dot above +dkRingDotAbove.item("Ä") := "Ȧ" ; a with dot above +dkRingDotAbove.item("b") := "ḃ" ; b with dot above +dkRingDotAbove.item("B") := "Ḃ" ; B with dot above +dkRingDotAbove.item("c") := "ċ" ; c with dot above +dkRingDotAbove.item("C") := "Ċ" ; C with dot above +dkRingDotAbove.item("d") := "ḋ" ; d with dot above +dkRingDotAbove.item("D") := "Ḋ" ; D with dot above +dkRingDotAbove.item("e") := "ė" ; e with dot above +dkRingDotAbove.item("E") := "Ė" ; E with dot above +dkRingDotAbove.item("f") := "ḟ" ; f with dot above +dkRingDotAbove.item("F") := "Ḟ" ; F with dot above +dkRingDotAbove.item("g") := "Ä¡" ; g with dot above +dkRingDotAbove.item("G") := "Ä " ; G with dot above +dkRingDotAbove.item("h") := "ḣ" ; h with dot above +dkRingDotAbove.item("H") := "Ḣ" ; H with dot above +dkRingDotAbove.item("i") := "ı" ; dotless i (Turkish, Azerbaijani) +dkRingDotAbove.item("I") := "İ" ; I with dot above (Turkish, Azerbaijani) +dkRingDotAbove.item("j") := "È·" ; dotless j +dkRingDotAbove.item("l") := "ŀ" ; l with middle dot +dkRingDotAbove.item("L") := "Ä¿" ; L with middle dot +dkRingDotAbove.item("m") := "ṁ" ; m with dot above +dkRingDotAbove.item("M") := "Ṁ" ; M with dot above +dkRingDotAbove.item("n") := "ṅ" ; n with dot above +dkRingDotAbove.item("N") := "Ṅ" ; N with dot above +dkRingDotAbove.item("o") := "ȯ" ; o with dot above +dkRingDotAbove.item("O") := "È®" ; O with dot above +dkRingDotAbove.item("p") := "ṗ" ; p with dot above +dkRingDotAbove.item("P") := "Ṗ" ; P with dot above +dkRingDotAbove.item("r") := "ṙ" ; r with dot above +dkRingDotAbove.item("R") := "Ṙ" ; R with dot above +dkRingDotAbove.item("s") := "ṡ" ; s with dot above +dkRingDotAbove.item("S") := "á¹ " ; S with dot above +dkRingDotAbove.item("t") := "ṫ" ; t with dot above +dkRingDotAbove.item("T") := "Ṫ" ; T with dot above +dkRingDotAbove.item("u") := "ů" ; u with ring above +dkRingDotAbove.item("U") := "Å®" ; U with ring above +dkRingDotAbove.item("w") := "ẘ" ; w with ring above +dkRingDotAbove.item("Ã¥") := "ẇ" ; w with dot above +dkRingDotAbove.item("Å") := "Ẇ" ; W with dot above +dkRingDotAbove.item("x") := "ẋ" ; x with dot above +dkRingDotAbove.item("X") := "Ẋ" ; X with dot above +dkRingDotAbove.item("y") := "ẙ" ; y with ring above +dkRingDotAbove.item("ÿ") := "ẏ" ; y with dot above +dkRingDotAbove.item("Ÿ") := "Ẏ" ; Y with dot above +dkRingDotAbove.item("z") := "ż" ; z with dot above +dkRingDotAbove.item("Z") := "Å»" ; Z with dot above +dkRingDotAbove.item(" ") := "˙" ; dot above + + +; Dead Key : Macron + +dkMacron := ComObjCreate("Scripting.Dictionary") +dkMacron.item("a") := "ā" ; a with macron +dkMacron.item("A") := "Ā" ; A with macron +dkMacron.item("æ") := "Ç£" ; ae with macron +dkMacron.item("Æ") := "Ç¢" ; AE with macron +dkMacron.item("b") := "ƀ" ; b with stroke +dkMacron.item("B") := "Ƀ" ; B with stroke +dkMacron.item("d") := "đ" ; d with stroke +dkMacron.item("D") := "Đ" ; D with stroke +dkMacron.item("e") := "ē" ; e with macron +dkMacron.item("E") := "Ē" ; E with macron +dkMacron.item("g") := "ḡ" ; g with macron +dkMacron.item("G") := "Ḡ" ; G with macron +dkMacron.item("h") := "ħ" ; h with stroke +dkMacron.item("H") := "Ħ" ; H with stroke +dkMacron.item("i") := "Ä«" ; i with macron +dkMacron.item("I") := "Ī" ; I with macron +dkMacron.item("l") := "ł" ; l with stroke +dkMacron.item("L") := "Ł" ; L with stroke +dkMacron.item("ø") := "ḻ" ; l with line below +dkMacron.item("Ø") := "Ḻ" ; L with line below +dkMacron.item("o") := "ō" ; o with macron +dkMacron.item("O") := "Ō" ; O with macron +dkMacron.item("t") := "ŧ" ; t with stroke +dkMacron.item("T") := "Ŧ" ; T with stroke +dkMacron.item("u") := "Å«" ; u with macron +dkMacron.item("U") := "Ū" ; U with macron +dkMacron.item("y") := "ȳ" ; y with macron +dkMacron.item("Y") := "Ȳ" ; Y with macron +dkMacron.item("z") := "ƶ" ; z with stroke +dkMacron.item("Z") := "Ƶ" ; Z with stroke +dkMacron.item(" ") := "¯" ; macron + + +; Dead Key : Cedilla/Ogonek + +dkCedillaOgonek := ComObjCreate("Scripting.Dictionary") +dkCedillaOgonek.item("a") := "ą" ; a with ogonek +dkCedillaOgonek.item("A") := "Ą" ; A with ogonek +dkCedillaOgonek.item("c") := "ç" ; c with cedilla +dkCedillaOgonek.item("C") := "Ç" ; C with cedilla +dkCedillaOgonek.item("d") := "ḑ" ; d with cedilla +dkCedillaOgonek.item("D") := "Ḑ" ; D with cedilla +dkCedillaOgonek.item("e") := "ę" ; e with ogonek +dkCedillaOgonek.item("E") := "Ę" ; E with ogonek +dkCedillaOgonek.item("ë") := "È©" ; e with cedilla +dkCedillaOgonek.item("Ë") := "Ȩ" ; E with cedilla +dkCedillaOgonek.item("g") := "Ä£" ; g with cedilla +dkCedillaOgonek.item("G") := "Ä¢" ; G with cedilla +dkCedillaOgonek.item("h") := "ḩ" ; h with cedilla +dkCedillaOgonek.item("H") := "Ḩ" ; H with cedilla +dkCedillaOgonek.item("i") := "į" ; i with ogonek +dkCedillaOgonek.item("I") := "Ä®" ; I with ogonek +dkCedillaOgonek.item("k") := "Ä·" ; k with cedilla +dkCedillaOgonek.item("K") := "Ķ" ; K with cedilla +dkCedillaOgonek.item("l") := "ļ" ; l with cedilla +dkCedillaOgonek.item("L") := "Ä»" ; L with cedilla +dkCedillaOgonek.item("n") := "ņ" ; n with cedilla +dkCedillaOgonek.item("N") := "Ņ" ; N with cedilla +dkCedillaOgonek.item("o") := "Ç«" ; o with ogonek +dkCedillaOgonek.item("O") := "Ǫ" ; O with ogonek +dkCedillaOgonek.item("ö") := "Ç­" ; o with ogonek and macron +dkCedillaOgonek.item("Ö") := "Ǭ" ; O with ogonek and macron +dkCedillaOgonek.item("r") := "ŗ" ; r with cedilla +dkCedillaOgonek.item("R") := "Ŗ" ; R with cedilla +dkCedillaOgonek.item("s") := "ş" ; s with cedilla +dkCedillaOgonek.item("S") := "Ş" ; S with cedilla +dkCedillaOgonek.item("t") := "Å£" ; t with cedilla +dkCedillaOgonek.item("T") := "Å¢" ; T with cedilla +dkCedillaOgonek.item("u") := "ų" ; u with ogonek +dkCedillaOgonek.item("U") := "Ų" ; U with ogonek +dkCedillaOgonek.item("w") := "₩" ; South Korean won +dkCedillaOgonek.item("W") := "₩" ; South Korean won +dkCedillaOgonek.item(".") := "˛" ; ogonek +dkCedillaOgonek.item(" ") := "¸" ; cedilla + + +; Dead Key : Breve/Special + +dkBreveSpecial := ComObjCreate("Scripting.Dictionary") +dkBreveSpecial.item("a") := "ă" ; a with breve +dkBreveSpecial.item("A") := "Ă" ; A with breve +dkBreveSpecial.item("d") := "ɖ" ; small letter d with tail +dkBreveSpecial.item("D") := "Ɖ" ; capital letter African D +dkBreveSpecial.item("e") := "ĕ" ; e with breve +dkBreveSpecial.item("E") := "Ĕ" ; E with breve +dkBreveSpecial.item("ë") := "ǝ" ; small turned e +dkBreveSpecial.item("Ë") := "Ǝ" ; capital reversed E +dkBreveSpecial.item("f") := "ə" ; small letter schwa (Azerbaijani) +dkBreveSpecial.item("F") := "Ə" ; capital letter schwa (Azerbaijani) +dkBreveSpecial.item("g") := "ğ" ; g with breve +dkBreveSpecial.item("G") := "Ğ" ; G with breve +dkBreveSpecial.item("h") := "É£" ; latin small gamma +dkBreveSpecial.item("H") := "Ɣ" ; latin capital gamma +dkBreveSpecial.item("i") := "Ä­" ; i with breve +dkBreveSpecial.item("I") := "Ĭ" ; I with breve +dkBreveSpecial.item("j") := "ij" ; ligature ij +dkBreveSpecial.item("J") := "IJ" ; ligature IJ +dkBreveSpecial.item("k") := "ĸ" ; small letter kra +dkBreveSpecial.item("n") := "ŋ" ; small letter eng(ma) +dkBreveSpecial.item("N") := "Ŋ" ; capital letter eng(ma) +dkBreveSpecial.item("o") := "ŏ" ; o with breve +dkBreveSpecial.item("O") := "Ŏ" ; O with breve +dkBreveSpecial.item("ö") := "ɔ" ; small open o +dkBreveSpecial.item("Ö") := "Ɔ" ; capital open O +dkBreveSpecial.item("s") := "ș" ; s with comma below (Romanian) +dkBreveSpecial.item("S") := "Ș" ; S with comma below (Romanian) +dkBreveSpecial.item("t") := "ț" ; t with comma below (Romanian) +dkBreveSpecial.item("T") := "Ț" ; T with comma below (Romanian) +dkBreveSpecial.item("u") := "Å­" ; u with breve +dkBreveSpecial.item("U") := "Ŭ" ; U with breve +dkBreveSpecial.item("ü") := "ʊ" ; latin small letter upsilon +dkBreveSpecial.item("Ü") := "Ʊ" ; latin capital letter upsilon +dkBreveSpecial.item("w") := "Æ¿" ; small letter wynn +dkBreveSpecial.item("W") := "Ç·" ; capital letter wynn +dkBreveSpecial.item("y") := "ȝ" ; small letter yogh +dkBreveSpecial.item("Y") := "Ȝ" ; capital letter yogh +dkBreveSpecial.item("z") := "ʒ" ; small letter ezh +dkBreveSpecial.item("Z") := "Æ·" ; capital letter ezh +dkBreveSpecial.item("à") := "ǯ" ; small letter ezh with caron +dkBreveSpecial.item("À") := "Ç®" ; capital letter ezh with caron +dkBreveSpecial.item(" ") := "˘" ; breve + + +; Dead Key : Acute Accent + +dkAcuteAccent := ComObjCreate("Scripting.Dictionary") +dkAcuteAccent.item("a") := "á" ; a with acute +dkAcuteAccent.item("A") := "Á" ; A with acute +dkAcuteAccent.item("c") := "ć" ; c with acute +dkAcuteAccent.item("C") := "Ć" ; C with acute +dkAcuteAccent.item("ç") := "ḉ" ; c with cedilla and acute +dkAcuteAccent.item("Ç") := "Ḉ" ; C with cedilla and acute +dkAcuteAccent.item("e") := "é" ; e with acute +dkAcuteAccent.item("E") := "É" ; E with acute +dkAcuteAccent.item("g") := "ǵ" ; g with acute +dkAcuteAccent.item("G") := "Ç´" ; G with acute +dkAcuteAccent.item("i") := "í" ; i with acute +dkAcuteAccent.item("I") := "Í" ; I with acute +dkAcuteAccent.item("j") := "ij" ; ligature ij +dkAcuteAccent.item("J") := "IJ" ; ligature IJ +dkAcuteAccent.item("k") := "ḱ" ; k with acute +dkAcuteAccent.item("K") := "Ḱ" ; K with acute +dkAcuteAccent.item("l") := "ĺ" ; l with acute +dkAcuteAccent.item("L") := "Ĺ" ; L with acute +dkAcuteAccent.item("m") := "ḿ" ; m with acute +dkAcuteAccent.item("M") := "Ḿ" ; M with acute +dkAcuteAccent.item("n") := "ń" ; n with acute +dkAcuteAccent.item("N") := "Ń" ; N with acute +dkAcuteAccent.item("o") := "ó" ; o with acute +dkAcuteAccent.item("O") := "Ó" ; O with acute +dkAcuteAccent.item("ö") := "ő" ; o with double acute +dkAcuteAccent.item("Ö") := "Ő" ; O with double acute +dkAcuteAccent.item("p") := "ṕ" ; p with acute +dkAcuteAccent.item("P") := "Ṕ" ; P with acute +dkAcuteAccent.item("r") := "ŕ" ; r with acute +dkAcuteAccent.item("R") := "Ŕ" ; R with acute +dkAcuteAccent.item("s") := "ś" ; s with acute +dkAcuteAccent.item("S") := "Ś" ; S with acute +dkAcuteAccent.item("u") := "ú" ; u with acute +dkAcuteAccent.item("U") := "Ú" ; U with acute +dkAcuteAccent.item("ü") := "ű" ; u with double acute +dkAcuteAccent.item("Ü") := "Ű" ; U with double acute +dkAcuteAccent.item("w") := "ẃ" ; w with acute +dkAcuteAccent.item("W") := "Ẃ" ; W with acute +dkAcuteAccent.item("y") := "ý" ; y with acute +dkAcuteAccent.item("Y") := "Ý" ; Y with acute +dkAcuteAccent.item("z") := "ź" ; z with acute +dkAcuteAccent.item("Z") := "Ź" ; Z with acute +dkAcuteAccent.item("Ã¥") := "Ç»" ; a with ring above and acute +dkAcuteAccent.item("Å") := "Ǻ" ; A with ring above and acute +dkAcuteAccent.item("æ") := "ǽ" ; ae with acute +dkAcuteAccent.item("Æ") := "Ǽ" ; AE with acute +dkAcuteAccent.item("ø") := "Ç¿" ; o with stroke and acute +dkAcuteAccent.item("Ø") := "Ǿ" ; O with stroke and acute +dkAcuteAccent.item("8") := "♪" ; eighth note +dkAcuteAccent.item("*") := "♫" ; beamed eighth notes +dkAcuteAccent.item("'") := "´" ; acute accent +dkAcuteAccent.item(" ") := "´" ; acute accent + + +; Dead Key : Diaeresis + +dkDiaeresis := ComObjCreate("Scripting.Dictionary") +dkDiaeresis.item("a") := "ä" ; a with diaeresis +dkDiaeresis.item("A") := "Ä" ; A with diaeresis +dkDiaeresis.item("e") := "ë" ; e with diaeresis +dkDiaeresis.item("E") := "Ë" ; E with diaeresis +dkDiaeresis.item("h") := "ḧ" ; h with diaeresis +dkDiaeresis.item("H") := "Ḧ" ; H with diaeresis +dkDiaeresis.item("i") := "ï" ; i with diaeresis +dkDiaeresis.item("I") := "Ï" ; I with diaeresis +dkDiaeresis.item("o") := "ö" ; o with diaeresis +dkDiaeresis.item("O") := "Ö" ; O with diaeresis +dkDiaeresis.item("s") := "ß" ; small sharp s (Eszett) +dkDiaeresis.item("S") := "ẞ" ; capital sharp S (capital Eszett) +dkDiaeresis.item("t") := "ẗ" ; t with diaeresis +dkDiaeresis.item("u") := "ü" ; u with diaeresis +dkDiaeresis.item("U") := "Ü" ; U with diaeresis +dkDiaeresis.item("w") := "ẅ" ; w with diaeresis +dkDiaeresis.item("W") := "Ẅ" ; W with diaeresis +dkDiaeresis.item("x") := "ẍ" ; x with diaeresis +dkDiaeresis.item("X") := "Ẍ" ; X with diaeresis +dkDiaeresis.item("y") := "ÿ" ; y with diaeresis +dkDiaeresis.item("Y") := "Ÿ" ; Y with diaeresis +dkDiaeresis.item("""") := "¨" ; diaeresis +dkDiaeresis.item(" ") := "¨" ; diaeresis + + +; Dead Key : Grave Accent + +dkGraveAccent := ComObjCreate("Scripting.Dictionary") +dkGraveAccent.item("a") := "à" ; a with grave +dkGraveAccent.item("A") := "À" ; A with grave +dkGraveAccent.item("e") := "è" ; e with grave +dkGraveAccent.item("E") := "È" ; E with grave +dkGraveAccent.item("i") := "ì" ; i with grave +dkGraveAccent.item("I") := "Ì" ; I with grave +dkGraveAccent.item("n") := "ǹ" ; n with grave +dkGraveAccent.item("N") := "Ǹ" ; N with grave +dkGraveAccent.item("o") := "ò" ; o with grave +dkGraveAccent.item("O") := "Ò" ; O with grave +dkGraveAccent.item("u") := "ù" ; u with grave +dkGraveAccent.item("U") := "Ù" ; U with grave +dkGraveAccent.item("w") := "ẁ" ; w with grave +dkGraveAccent.item("W") := "Ẁ" ; W with grave +dkGraveAccent.item("y") := "ỳ" ; y with grave +dkGraveAccent.item("Y") := "Ỳ" ; Y with grave +dkGraveAccent.item("ä") := "₳" ; Argentine austral +dkGraveAccent.item("Ä") := "₳" ; Argentine austral +dkGraveAccent.item("b") := "₿" ; bitcoin +dkGraveAccent.item("B") := "₿" ; bitcoin +dkGraveAccent.item("c") := "₡" ; Costa Rican colón +dkGraveAccent.item("C") := "₵" ; Ghanaian cedi +dkGraveAccent.item("ç") := "₢" ; Brazilian cruzeiro +dkGraveAccent.item("Ç") := "₢" ; Brazilian cruzeiro +dkGraveAccent.item("d") := "₫" ; Vietnamese dong +dkGraveAccent.item("D") := "₯" ; Greek drachma +dkGraveAccent.item("f") := "₣" ; French franc +dkGraveAccent.item("F") := "₣" ; French franc +dkGraveAccent.item("g") := "₲" ; Paraguayan guaraní +dkGraveAccent.item("G") := "₲" ; Paraguayan guaraní +dkGraveAccent.item("h") := "₴" ; Ukrainian hryvnia +dkGraveAccent.item("H") := "₴" ; Ukrainian hryvnia +dkGraveAccent.item("k") := "₭" ; Laotian kip +dkGraveAccent.item("K") := "₭" ; Laotian kip +dkGraveAccent.item("l") := "₺" ; Turkish lira +dkGraveAccent.item("L") := "₾" ; Georgian lari +dkGraveAccent.item("ø") := "₤" ; lira +dkGraveAccent.item("Ø") := "₤" ; lira +dkGraveAccent.item("m") := "₼" ; Azerbaijani manat +dkGraveAccent.item("M") := "₥" ; mill sign +dkGraveAccent.item("ñ") := "₦" ; Nigerian naira +dkGraveAccent.item("Ñ") := "₦" ; Nigerian naira +dkGraveAccent.item("p") := "₱" ; Philippine peso +dkGraveAccent.item("P") := "₱" ; Philippine peso +dkGraveAccent.item("r") := "₹" ; Indian rupee +dkGraveAccent.item("R") := "₽" ; Russian ruble +dkGraveAccent.item("s") := "₪" ; Israeli new shekel +dkGraveAccent.item("S") := "₪" ; Israeli new shekel +dkGraveAccent.item("t") := "₮" ; Mongolian tögrög (tugrik) +dkGraveAccent.item("T") := "₸" ; Kazakh tenge +dkGraveAccent.item("Ã¥") := "₩" ; South Korean won +dkGraveAccent.item("Å") := "₩" ; South Korean won +dkGraveAccent.item("``") := "``" ; grave accent +dkGraveAccent.item(" ") := "``" ; grave accent + + +; Dead Key : Tilde + +dkTilde := ComObjCreate("Scripting.Dictionary") +dkTilde.item("a") := "ã" ; a with tilde +dkTilde.item("A") := "Ã" ; A with tilde +dkTilde.item("e") := "ẽ" ; e with tilde +dkTilde.item("E") := "Ẽ" ; E with tilde +dkTilde.item("i") := "Ä©" ; i with tilde +dkTilde.item("I") := "Ĩ" ; I with tilde +dkTilde.item("n") := "ñ" ; n with tilde +dkTilde.item("N") := "Ñ" ; N with tilde +dkTilde.item("o") := "õ" ; o with tilde +dkTilde.item("O") := "Õ" ; O with tilde +dkTilde.item("u") := "Å©" ; u with tilde +dkTilde.item("U") := "Ũ" ; U with tilde +dkTilde.item("v") := "á¹½" ; v with tilde +dkTilde.item("V") := "á¹¼" ; V with tilde +dkTilde.item("y") := "ỹ" ; y with tilde +dkTilde.item("Y") := "Ỹ" ; Y with tilde +dkTilde.item("~") := "~" ; tilde +dkTilde.item(" ") := "~" ; tilde + + +; Dead Key : Not Sign + +dkNotSign := ComObjCreate("Scripting.Dictionary") +dkNotSign.item("a") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("A") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("b") := "☐" ; ballot box +dkNotSign.item("B") := "☒" ; ballot box with x +dkNotSign.item("c") := "©" ; copyright sign +dkNotSign.item("C") := "¤" ; currency sign +dkNotSign.item("d") := "†" ; dagger +dkNotSign.item("D") := "‡" ; double dagger +dkNotSign.item("e") := "…" ; ellipsis +dkNotSign.item("E") := "℮" ; estimated symbol +dkNotSign.item("f") := "♀" ; Venus symbol (female) +dkNotSign.item("F") := "♀" ; Venus symbol (female) +dkNotSign.item("h") := "♡" ; white heart suit +dkNotSign.item("H") := "♥" ; black heart suit +dkNotSign.item("l") := "ℓ" ; script small l +dkNotSign.item("L") := "ℓ" ; script small l +dkNotSign.item("m") := "♂" ; Mars symbol (male) +dkNotSign.item("M") := "♂" ; Mars symbol (male) +dkNotSign.item("n") := "¬" ; not sign +dkNotSign.item("N") := "¬" ; not sign +dkNotSign.item("o") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("O") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("p") := "¶" ; pilcrow sign +dkNotSign.item("P") := "℗" ; sound recording copyright +dkNotSign.item("r") := "®" ; registered sign +dkNotSign.item("R") := "®" ; registered sign +dkNotSign.item("s") := "§" ; section sign +dkNotSign.item("S") := "℠" ; service mark +dkNotSign.item("t") := "™" ; trademark symbol +dkNotSign.item("T") := "™" ; trademark symbol +dkNotSign.item("v") := "✓" ; check mark +dkNotSign.item("V") := "✔" ; heavy check mark +dkNotSign.item("w") := "☑" ; ballot box with check +dkNotSign.item("W") := "☙" ; reversed rotated floral heart bullet +dkNotSign.item("x") := "✗" ; ballot x +dkNotSign.item("X") := "✘" ; heavy ballot x +dkNotSign.item("y") := "☺" ; white smiling face +dkNotSign.item("Y") := "☻" ; black smiling face +dkNotSign.item("1") := "№" ; numero sign +dkNotSign.item("2") := "½" ; vulgar fraction 1/2 +dkNotSign.item("3") := "⅓" ; vulgar fraction 1/3 +dkNotSign.item("4") := "¼" ; vulgar fraction 1/4 +dkNotSign.item("5") := "⅔" ; vulgar fraction 2/3 +dkNotSign.item("6") := "¾" ; vulgar fraction 3/4 +dkNotSign.item("7") := "⅛" ; vulgar fraction 1/8 +dkNotSign.item("8") := "⅜" ; vulgar fraction 3/8 +dkNotSign.item("9") := "⅝" ; vulgar fraction 5/8 +dkNotSign.item("0") := "⅞" ; vulgar fraction 7/8 +dkNotSign.item(".") := "•" ; bullet +dkNotSign.item("-") := "⁃" ; hyphen bullet +dkNotSign.item("\") := "⁞" ; vertical four dots +dkNotSign.item("|") := "⁞" ; vertical four dots +dkNotSign.item(" ") := "¬" ; not sign + + +; Dead Key : Broken Bar + +dkBrokenBar := ComObjCreate("Scripting.Dictionary") +dkBrokenBar.item("b") := "ɓ" ; b with hook +dkBrokenBar.item("B") := "Ɓ" ; B with hook +dkBrokenBar.item("c") := "ƈ" ; c with hook +dkBrokenBar.item("C") := "Ƈ" ; C with hook +dkBrokenBar.item("d") := "ɗ" ; d with hook +dkBrokenBar.item("D") := "Ɗ" ; D with hook +dkBrokenBar.item("e") := "ɛ" ; small open e (latin small epsilon) +dkBrokenBar.item("E") := "Ɛ" ; capital open E (latin capital epsilon) +dkBrokenBar.item("f") := "ƒ" ; f with hook +dkBrokenBar.item("F") := "Ƒ" ; F with hook +dkBrokenBar.item("g") := "É " ; g with hook +dkBrokenBar.item("G") := "Ɠ" ; G with hook +dkBrokenBar.item("h") := "❦" ; floral heart +dkBrokenBar.item("H") := "❧" ; rotated floral heart bullet +dkBrokenBar.item("k") := "ƙ" ; k with hook +dkBrokenBar.item("K") := "Ƙ" ; K with hook +dkBrokenBar.item("n") := "ɲ" ; n with left hook +dkBrokenBar.item("N") := "Ɲ" ; N with left hook +dkBrokenBar.item("o") := "Æ¡" ; o with horn +dkBrokenBar.item("O") := "Æ " ; O with horn +dkBrokenBar.item("p") := "Æ¥" ; p with hook +dkBrokenBar.item("P") := "Ƥ" ; P with hook +dkBrokenBar.item("s") := "ʃ" ; small letter esh +dkBrokenBar.item("S") := "Æ©" ; capital letter esh +dkBrokenBar.item("ß") := "Å¿" ; small long s +dkBrokenBar.item("t") := "Æ­" ; t with hook +dkBrokenBar.item("T") := "Ƭ" ; T with hook +dkBrokenBar.item("u") := "ư" ; u with horn +dkBrokenBar.item("U") := "Ư" ; U with horn +dkBrokenBar.item("v") := "ʋ" ; v with hook +dkBrokenBar.item("V") := "Ʋ" ; V with hook +dkBrokenBar.item("w") := "â±³" ; w with hook +dkBrokenBar.item("W") := "â±²" ; W with hook +dkBrokenBar.item("y") := "Æ´" ; y with hook +dkBrokenBar.item("Y") := "Ƴ" ; Y with hook +dkBrokenBar.item("z") := "È¥" ; z with hook +dkBrokenBar.item("Z") := "Ȥ" ; Z with hook +dkBrokenBar.item("1") := "←" ; leftwards arrow +dkBrokenBar.item("2") := "↓" ; downwards arrow +dkBrokenBar.item("3") := "↑" ; upwards arrow +dkBrokenBar.item("4") := "→" ; rightwards arrow +dkBrokenBar.item("5") := "↖" ; north west arrow +dkBrokenBar.item("6") := "↙" ; south west arrow +dkBrokenBar.item("7") := "↗" ; north east arrow +dkBrokenBar.item("8") := "↘" ; south east arrow +dkBrokenBar.item("9") := "↕" ; up down arrow +dkBrokenBar.item("0") := "↨" ; up down arrow with base +dkBrokenBar.item("=") := "↔" ; left right arrow +dkBrokenBar.item("!") := "⇐" ; leftwards double arrow +dkBrokenBar.item("@") := "⇓" ; downwards double arrow +dkBrokenBar.item("#") := "⇑" ; upwards double arrow +dkBrokenBar.item("$") := "⇒" ; rightwards double arrow +dkBrokenBar.item("%") := "⇖" ; north west double arrow +dkBrokenBar.item("^") := "⇙" ; south west double arrow +dkBrokenBar.item("&") := "⇗" ; north east double arrow +dkBrokenBar.item("*") := "⇘" ; south east double arrow +dkBrokenBar.item("(") := "⇕" ; up down double arrow +dkBrokenBar.item(")") := "↲" ; downwards arrow with tip leftwards +dkBrokenBar.item("+") := "⇔" ; left right double arrow +dkBrokenBar.item("\") := "¦" ; broken bar +dkBrokenBar.item("|") := "¦" ; broken bar +dkBrokenBar.item(" ") := "¦" ; broken bar + + +; Dead Key : Greek Alphabet + +dkGreekAlphabet := ComObjCreate("Scripting.Dictionary") +dkGreekAlphabet.item("a") := "α" ; small alpha +dkGreekAlphabet.item("A") := "Α" ; capital alpha +dkGreekAlphabet.item("b") := "β" ; small beta +dkGreekAlphabet.item("B") := "Β" ; capital beta +dkGreekAlphabet.item("v") := "β" ; small beta +dkGreekAlphabet.item("V") := "Β" ; capital beta +dkGreekAlphabet.item("g") := "γ" ; small gamma +dkGreekAlphabet.item("G") := "Γ" ; capital gamma +dkGreekAlphabet.item("d") := "δ" ; small delta +dkGreekAlphabet.item("D") := "Δ" ; capital delta +dkGreekAlphabet.item("e") := "ε" ; small epsilon +dkGreekAlphabet.item("E") := "Ε" ; capital epsilon +dkGreekAlphabet.item("z") := "ζ" ; small zeta +dkGreekAlphabet.item("Z") := "Ζ" ; capital zeta +dkGreekAlphabet.item("i") := "η" ; small eta +dkGreekAlphabet.item("I") := "Η" ; capital eta +dkGreekAlphabet.item("h") := "θ" ; small theta +dkGreekAlphabet.item("H") := "Θ" ; capital theta +dkGreekAlphabet.item("j") := "ι" ; small iota +dkGreekAlphabet.item("J") := "Ι" ; capital iota +dkGreekAlphabet.item("k") := "κ" ; small kappa +dkGreekAlphabet.item("K") := "Κ" ; capital kappa +dkGreekAlphabet.item("l") := "λ" ; small lambda +dkGreekAlphabet.item("L") := "Λ" ; capital lambda +dkGreekAlphabet.item("m") := "μ" ; small mu +dkGreekAlphabet.item("M") := "Μ" ; capital mu +dkGreekAlphabet.item("n") := "ν" ; small nu +dkGreekAlphabet.item("N") := "Ν" ; capital nu +dkGreekAlphabet.item("x") := "ξ" ; small xi +dkGreekAlphabet.item("X") := "Ξ" ; capital xi +dkGreekAlphabet.item("o") := "ο" ; small omikron +dkGreekAlphabet.item("O") := "Ο" ; capital omikron +dkGreekAlphabet.item("p") := "π" ; small pi +dkGreekAlphabet.item("P") := "Π" ; capital pi +dkGreekAlphabet.item("r") := "ρ" ; small rho +dkGreekAlphabet.item("R") := "Ρ" ; capital rho +dkGreekAlphabet.item("s") := "σ" ; small sigma +dkGreekAlphabet.item("S") := "Σ" ; capital sigma +dkGreekAlphabet.item(",") := "ς" ; small sigma, in word-final position +dkGreekAlphabet.item("ß") := "ς" ; small sigma, in word-final position +dkGreekAlphabet.item("t") := "τ" ; small tau +dkGreekAlphabet.item("T") := "Τ" ; capital tau +dkGreekAlphabet.item("y") := "υ" ; small upsilon +dkGreekAlphabet.item("Y") := "Î¥" ; capital upsilon +dkGreekAlphabet.item("f") := "φ" ; small phi +dkGreekAlphabet.item("F") := "Φ" ; capital phi +dkGreekAlphabet.item("c") := "χ" ; small chi +dkGreekAlphabet.item("C") := "Χ" ; capital chi +dkGreekAlphabet.item("w") := "ψ" ; small psi +dkGreekAlphabet.item("W") := "Ψ" ; capital psi +dkGreekAlphabet.item("q") := "ω" ; small omega +dkGreekAlphabet.item("Q") := "Ω" ; capital omega +dkGreekAlphabet.item("u") := "ω" ; small omega +dkGreekAlphabet.item("U") := "Ω" ; capital omega +dkGreekAlphabet.item("1") := "¹" ; superscript 1 +dkGreekAlphabet.item("2") := "²" ; superscript 2 +dkGreekAlphabet.item("3") := "³" ; superscript 3 +dkGreekAlphabet.item("4") := "⁴" ; superscript 4 +dkGreekAlphabet.item("5") := "⁵" ; superscript 5 +dkGreekAlphabet.item("6") := "⁶" ; superscript 6 +dkGreekAlphabet.item("7") := "⁷" ; superscript 7 +dkGreekAlphabet.item("8") := "⁸" ; superscript 8 +dkGreekAlphabet.item("9") := "⁹" ; superscript 9 +dkGreekAlphabet.item("0") := "⁰" ; superscript 0 +dkGreekAlphabet.item("-") := "⁻" ; superscript - +dkGreekAlphabet.item("=") := "⁼" ; superscript = +dkGreekAlphabet.item("+") := "⁺" ; superscript + +dkGreekAlphabet.item("[") := "⁽" ; superscript ( +dkGreekAlphabet.item("]") := "⁾" ; superscript ) +dkGreekAlphabet.item("!") := "₁" ; subscript 1 +dkGreekAlphabet.item("@") := "₂" ; subscript 2 +dkGreekAlphabet.item("#") := "₃" ; subscript 3 +dkGreekAlphabet.item("$") := "₄" ; subscript 4 +dkGreekAlphabet.item("%") := "₅" ; subscript 5 +dkGreekAlphabet.item("^") := "₆" ; subscript 6 +dkGreekAlphabet.item("&") := "₇" ; subscript 7 +dkGreekAlphabet.item("*") := "₈" ; subscript 8 +dkGreekAlphabet.item("(") := "₉" ; subscript 9 +dkGreekAlphabet.item(")") := "₀" ; subscript 0 +dkGreekAlphabet.item(";") := "₋" ; subscript - +dkGreekAlphabet.item("'") := "₌" ; subscript = +dkGreekAlphabet.item("""") := "₊" ; subscript + +dkGreekAlphabet.item("{") := "₍" ; subscript ( +dkGreekAlphabet.item("}") := "₎" ; subscript ) +dkGreekAlphabet.item(".") := "µ" ; micro sign +dkGreekAlphabet.item(" ") := "μ" ; small mu + + +; Dead Key : Math Symbols + +dkMathSymbols := ComObjCreate("Scripting.Dictionary") +dkMathSymbols.item("a") := "∀" ; for all +dkMathSymbols.item("A") := "∀" ; for all +dkMathSymbols.item("b") := "⊆" ; subset of or equal to +dkMathSymbols.item("B") := "⊇" ; superset of or equal to +dkMathSymbols.item("c") := "∝" ; proportional to +dkMathSymbols.item("C") := "ℂ" ; complex numbers +dkMathSymbols.item("d") := "∆" ; increment operator +dkMathSymbols.item("D") := "∇" ; nable/del operator +dkMathSymbols.item("e") := "∃" ; there exists +dkMathSymbols.item("E") := "∄" ; there does not exist +dkMathSymbols.item("f") := "ƒ" ; f with hook +dkMathSymbols.item("F") := "∎" ; end of proof +dkMathSymbols.item("g") := "⊂" ; subset of +dkMathSymbols.item("G") := "⊄" ; not a subset of +dkMathSymbols.item("h") := "⊃" ; superset of +dkMathSymbols.item("H") := "⊅" ; not a superset of +dkMathSymbols.item("i") := "∞" ; infinity symbol +dkMathSymbols.item("I") := "∞" ; infinity symbol +dkMathSymbols.item("k") := "∋" ; contains as member +dkMathSymbols.item("K") := "∌" ; does not contain as member +dkMathSymbols.item("l") := "∥" ; parallel to +dkMathSymbols.item("L") := "∦" ; not parallel to +dkMathSymbols.item("m") := "∈" ; element of +dkMathSymbols.item("M") := "∉" ; not an element of +dkMathSymbols.item("n") := "ⁿ" ; superscript n +dkMathSymbols.item("N") := "ℕ" ; natural numbers +dkMathSymbols.item("o") := "∘" ; ring operator +dkMathSymbols.item("O") := "∅" ; empty set +dkMathSymbols.item("p") := "∂" ; partial differential +dkMathSymbols.item("P") := "ℙ" ; prime numbers +dkMathSymbols.item("q") := "ℚ" ; rational numbers +dkMathSymbols.item("Q") := "ℚ" ; rational numbers +dkMathSymbols.item("r") := "√" ; square root +dkMathSymbols.item("R") := "ℝ" ; real numbers +dkMathSymbols.item("s") := "∩" ; set intersection +dkMathSymbols.item("S") := "∫" ; integral symbol +dkMathSymbols.item("u") := "∪" ; set union +dkMathSymbols.item("U") := "∖" ; set minus +dkMathSymbols.item("z") := "↯" ; downwards zigzag arrow +dkMathSymbols.item("Z") := "ℤ" ; whole numbers +dkMathSymbols.item("1") := "≠" ; not equal to +dkMathSymbols.item("!") := "≠" ; not equal to +dkMathSymbols.item("2") := "√" ; square root +dkMathSymbols.item("3") := "∛" ; cube root +dkMathSymbols.item("4") := "∜" ; fourth root +dkMathSymbols.item("5") := "‰" ; per mille sign +dkMathSymbols.item("%") := "‱" ; per ten thousand sign +dkMathSymbols.item("6") := "℘" ; script capital p +dkMathSymbols.item("^") := "℘" ; script capital p +dkMathSymbols.item("7") := "∧" ; logical and +dkMathSymbols.item("&") := "∧" ; logical and +dkMathSymbols.item("8") := "⊗" ; tensor product +dkMathSymbols.item("*") := "⊗" ; tensor product +dkMathSymbols.item("9") := "∟" ; right angle +dkMathSymbols.item("0") := "∠" ; angle symbol +dkMathSymbols.item(")") := "∡" ; measured angle +dkMathSymbols.item("``") := "≈" ; almost equal to +dkMathSymbols.item("~") := "≈" ; almost equal to +dkMathSymbols.item(",") := "≤" ; less-than or equal to +dkMathSymbols.item("<") := "≤" ; less-than or equal to +dkMathSymbols.item(".") := "≥" ; greater-than or equal to +dkMathSymbols.item(">") := "≥" ; greater-than or equal to +dkMathSymbols.item("-") := "±" ; plus-minus sign +dkMathSymbols.item("_") := "⊖" ; circled minus +dkMathSymbols.item("=") := "≝" ; equal to by definition +dkMathSymbols.item("+") := "⊕" ; exclusive or +dkMathSymbols.item(";") := "∵" ; because sign +dkMathSymbols.item(":") := "∴" ; therefore sign +dkMathSymbols.item("\") := "∨" ; logical or +dkMathSymbols.item("|") := "∨" ; logical or +dkMathSymbols.item(" ") := "√" ; square root + + +; Configuration : Right Alt on US QWERTY + +>!+a:: + if GetKeyState("CapsLock", "T") + Send ä ; a with diaeresis + else + Send Ä ; A with diaeresis +return +>!a:: + if GetKeyState("CapsLock", "T") + Send Ä ; A with diaeresis + else + Send ä ; a with diaeresis +return + +>!+z:: + if GetKeyState("CapsLock", "T") + Send à ; a with grave + else + Send À ; A with grave +return +>!z:: + if GetKeyState("CapsLock", "T") + Send À ; A with grave + else + Send à ; a with grave +return + +>!+x:: + if GetKeyState("CapsLock", "T") + Send á ; a with acute + else + Send Á ; A with acute +return +>!x:: + if GetKeyState("CapsLock", "T") + Send Á ; A with acute + else + Send á ; a with acute +return + +>!+q:: + if GetKeyState("CapsLock", "T") + Send æ ; letter ae + else + Send Æ ; letter AE +return +>!q:: + if GetKeyState("CapsLock", "T") + Send Æ ; letter AE + else + Send æ ; letter ae +return + +>!+w:: + if GetKeyState("CapsLock", "T") + Send Ã¥ ; a with ring above + else + Send Å ; A with ring above +return +>!w:: + if GetKeyState("CapsLock", "T") + Send Å ; A with ring above + else + Send Ã¥ ; a with ring above +return + +>!+c:: + if GetKeyState("CapsLock", "T") + Send ç ; c with cedilla + else + Send Ç ; C with cedilla +return +>!c:: + if GetKeyState("CapsLock", "T") + Send Ç ; C with cedilla + else + Send ç ; c with cedilla +return + +>!+d:: + if GetKeyState("CapsLock", "T") + Send ð ; small letter eth + else + Send Ð ; capital letter eth +return +>!d:: + if GetKeyState("CapsLock", "T") + Send Ð ; capital letter eth + else + Send ð ; small letter eth +return + +>!+e:: + if GetKeyState("CapsLock", "T") + Send ë ; e with diaeresis + else + Send Ë ; E with diaeresis +return +>!e:: + if GetKeyState("CapsLock", "T") + Send Ë ; E with diaeresis + else + Send ë ; e with diaeresis +return + +>!+f:: + if GetKeyState("CapsLock", "T") + Send è ; e with grave + else + Send È ; E with grave +return +>!f:: + if GetKeyState("CapsLock", "T") + Send È ; E with grave + else + Send è ; e with grave +return + +>!+g:: + if GetKeyState("CapsLock", "T") + Send é ; e with acute + else + Send É ; E with acute +return +>!g:: + if GetKeyState("CapsLock", "T") + Send É ; E with acute + else + Send é ; e with acute +return + +>!+i:: + if GetKeyState("CapsLock", "T") + Send ï ; i with diaeresis + else + Send Ï ; I with diaeresis +return +>!i:: + if GetKeyState("CapsLock", "T") + Send Ï ; I with diaeresis + else + Send ï ; i with diaeresis +return + +>!+v:: + if GetKeyState("CapsLock", "T") + Send ì ; i with grave + else + Send Ì ; I with grave +return +>!v:: + if GetKeyState("CapsLock", "T") + Send Ì ; I with grave + else + Send ì ; i with grave +return + +>!+b:: + if GetKeyState("CapsLock", "T") + Send í ; i with acute + else + Send Í ; I with acute +return +>!b:: + if GetKeyState("CapsLock", "T") + Send Í ; I with acute + else + Send í ; i with acute +return + +>!+o:: + if GetKeyState("CapsLock", "T") + Send ö ; o with diaeresis + else + Send Ö ; O with diaeresis +return +>!o:: + if GetKeyState("CapsLock", "T") + Send Ö ; O with diaeresis + else + Send ö ; o with diaeresis +return + +>!<:: + if GetKeyState("CapsLock", "T") + Send ò ; o with grave + else + Send Ò ; O with grave +return +>!,:: + if GetKeyState("CapsLock", "T") + Send Ò ; O with grave + else + Send ò ; o with grave +return + +>!>:: + if GetKeyState("CapsLock", "T") + Send ó ; o with acute + else + Send Ó ; O with acute +return +>!.:: + if GetKeyState("CapsLock", "T") + Send Ó ; O with acute + else + Send ó ; o with acute +return + +>!+l:: + if GetKeyState("CapsLock", "T") + Send ø ; o with stroke + else + Send Ø ; O with stroke +return +>!l:: + if GetKeyState("CapsLock", "T") + Send Ø ; O with stroke + else + Send ø ; o with stroke +return + +>!+p:: + if GetKeyState("CapsLock", "T") + Send œ ; ligature oe + else + Send Œ ; ligature OE +return +>!p:: + if GetKeyState("CapsLock", "T") + Send Œ ; ligature OE + else + Send œ ; ligature oe +return + +>!+n:: + if GetKeyState("CapsLock", "T") + Send ñ ; n with tilde + else + Send Ñ ; N with tilde +return +>!n:: + if GetKeyState("CapsLock", "T") + Send Ñ ; N with tilde + else + Send ñ ; n with tilde +return + +>!+t:: + if GetKeyState("CapsLock", "T") + Send þ ; small letter thorn + else + Send Þ ; capital letter thorn +return +>!t:: + if GetKeyState("CapsLock", "T") + Send Þ ; capital letter thorn + else + Send þ ; small letter thorn +return + +>!+u:: + if GetKeyState("CapsLock", "T") + Send ü ; u with diaeresis + else + Send Ü ; U with diaeresis +return +>!u:: + if GetKeyState("CapsLock", "T") + Send Ü ; U with diaeresis + else + Send ü ; u with diaeresis +return + +>!+h:: + if GetKeyState("CapsLock", "T") + Send ù ; u with grave + else + Send Ù ; U with grave +return +>!h:: + if GetKeyState("CapsLock", "T") + Send Ù ; U with grave + else + Send ù ; u with grave +return + +>!+j:: + if GetKeyState("CapsLock", "T") + Send ú ; u with acute + else + Send Ú ; U with acute +return +>!j:: + if GetKeyState("CapsLock", "T") + Send Ú ; U with acute + else + Send ú ; u with acute +return + +>!+y:: + if GetKeyState("CapsLock", "T") + Send ÿ ; y with diaeresis + else + Send Ÿ ; Y with diaeresis +return +>!y:: + if GetKeyState("CapsLock", "T") + Send Ÿ ; Y with diaeresis + else + Send ÿ ; y with diaeresis +return + +>!+r:: + if GetKeyState("CapsLock", "T") + Send ý ; y with acute + else + Send Ý ; Y with acute +return +>!r:: + if GetKeyState("CapsLock", "T") + Send Ý ; Y with acute + else + Send ý ; y with acute +return + +>!k::Send † ; dagger +>!+k::Send ‡ ; double dagger + +>!s::Send ß ; small sharp s (Eszett) +>!+s::Send § ; section sign + +>!/::Send ¿ ; inverted question mark +>!?::Send ¶ ; pilcrow sign + +>!1::Send ¡ ; inverted exclamation mark +>!+1::Send ¹ ; superscript 1 + +>!2::Send © ; copyright sign +>!+2::Send ² ; superscript 2 + +>!3::Send ± ; plus-minus sign +>!+3::Send ³ ; superscript 3 + +>!4::Send £ ; pound sign +>!+4::Send Â¥ ; yen sign + +>!5::Send € ; euro sign +>!+5::Send ¢ ; cent sign (dollar) + +>!8::Send „ ; double low-9 quotation mark +>!+8::Send ‚ ; single low-9 quotation mark + +>!9::Send “ ; left double quotation mark +>!+9::Send ‘ ; left single quotation mark + +>!0::Send ” ; right double quotation mark +>!+0::Send ’ ; right single quotation mark + +>!=::Send × ; multiplication sign +>!+=::Send ÷ ; division sign + +>![::Send « ; left-pointing double angle quotation mark +>!{::Send ‹ ; left-pointing single angle quotation mark + +>!]::Send » ; right-pointing double angle quotation mark +>!}::Send › ; right-pointing single angle quotation mark + +>!;::Send ° ; degree sign +>!+;::Send · ; middle dot + +>!6:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCircumflex.item(key) +return +>!+6:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCaron.item(key) +return + +>!7:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkRingDotAbove.item(key) +return +>!+7:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkMacron.item(key) +return + +>!-:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCedillaOgonek.item(key) +return +>!_:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkBreveSpecial.item(key) +return + +>!':: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkAcuteAccent.item(key) +return +>!":: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkDiaeresis.item(key) +return + +>!`:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkGraveAccent.item(key) +return +>!~:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkTilde.item(key) +return + +>!\:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkNotSign.item(key) +return +>!|:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkBrokenBar.item(key) +return + +>!m:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkGreekAlphabet.item(key) +return +>!+m:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkMathSymbols.item(key) +return + +>!space::Send   ; no-break space diff --git a/UltimateKEYS - 2020-01-30.klc b/UltimateKEYS - 2020-01-30.klc new file mode 100644 index 0000000000000000000000000000000000000000..3283045bba0de1ed18ed8aebaa5ae7cb665a81fd GIT binary patch literal 68686 zcmd6w3AkNZRp&3@KtOFr=HXR<8lX~@|Fwf}AKa(da+-;}+-->!xK@y_z#tX=Pvy*_9%E!s1DXKGOY?zPn?&)K`T z*te$a`sLO4+4r{@`3Ac(YO~E~=Lg5_(`W6|yz)W&_HtD>lmXl$K*dp=2&{!-?HTN{_M5lAZT7b_-dk^DR!mE{ z%Erb|ZjLsBh43+F-#BYm!nZazervYlTT>=IEF9mSZT$9@;kR8nT-C3czYW4(qupQ{ zJ5pKpn!)4DW?_ZPgF7lI7wq{ZgRAUss_H#cR(jmt#V1Z%`%jrYoU7iOs;pt5Dr4^h zAAiv8yh*TTaIN*dXW0L1?A3zV(i&?awA7kPd(g#fd}E#2!y5bJ1K-i}NuRkS=;^$k zt_*wHSjn)i`WLSk;@P6v7_QBpv!faX_L#1wDl6MLxZIxY99(bpfhPA=mPHGks$Lzk z8sjsMH*KMRFAttrz20LsN{fXh?&wLGw{|)>wDY-YOgflkK`qzY_(5&5hNv%Ugx&%T zLf5Pz>V;>El}?&!c-TgY1C_KG1@~2b^^nzckJWOoNsM09RJYMFbE@i>7$5QZwp#Fd zti_B;hnlb!cm`QFR%NQiV$^4G`03GhI&3}vkm-zVg%Nt6%@i0bN~!8CbkORE@o1fW z9<7Dv5xNmnn+2=dgCz z%P!M1dO2)<&K}TPo9*}c7G^-yaDO%0tsiVLX;2T=0ney&)W$7jqm8T!mE3r5!RDRz zI_#|U&fbPm$;S-%5j(2d)pZX4X1`emYPj7b^LE3ChLJ|HV%&hdloih?>w-O#eQc=o z4@=o#vNr2_r(Kgi6)a?%*#yQyNHX6tYQpA^n0#mrcv1&!gj#1K^wi+VR(`;~k1?rf z{6)K>ev^HZ76$n_3!q2%xVf>?Las4-1ZzzFjE+V7D=F9`APM{t^bJ@8ZR%?KAF|Fj zwvxV6YGPdN^}SLLUEgEf7p+dHHUGskwl=ho>weT;v+mT?Xx(qLn!%3H*7Bw&seS&| zWcAPAoKyp7)dME`KJ#2O6SzJwC!y}p$|mcRt`)pqGz;-D=jiackLp*O*LBclCbW8< zVW1t_HU5Xq(pu{M6=M**5zYYk*7nMV&~MptkjmxuxlB?|htwNQ&MfuOY9xaEE5k8~ zZMn1RW0?8t^Ptnq@wzVYKI@@-tKNyv@3B!O_f@ot&r7J+wf2WHj633@W*bbhH6{ye z5_8hChOc~_TyGEg#%A~eNU$norntj*&{dQYJFFjx_Pwz5+ zr`xLZJ!%A2b3;{AJiBxFDr*F@Dg4LTp}#rFD1O6);}<`FA?)Yw_P)}NMrqU@X1F8v z$Fb|y;j64YkI#-)k=kUv@5qGOa>R(!-ccG zaWrZV@zKH1-kISm*WL#6)tK$VGk7SI+1|kkZI7StuRVC_@Mw^sfuDc~W4yoI^et)w zv9(7jm?IUTY^r=N^ugJ9wjrJ^RL>A`P8S*49O)vuWn|6h2s1m@etfp{_#5;6A@l4p z@*;{VKL;O*Gn?0x-&<#`c%brC8B-v4Qbwi7ws^*&E7FGk%Ba+9(R7WzRO%OgtLqnY zM%J&#t+U~&ZHQ-!NxwONQ%2I=8qS~X)-gPOTc!zY}#Kd$1O8@`hEj>gQrP-HLieA4dQP8un-W$6_2bzSS~YIHhS^?r^4 zJ8h)N*3X;>YL1a^jg2p;IqU{~7q3+FmFg3WAn@7A<_%_rvzEHO`Q|Kg{(gJSVMA9> zXs7%RHG#~>uBwL61S|rtq>1G!USJQ(nb>~P?V3w6)qez0{T{)E0cNt1B(QwvG>9Nn0zC z|36yuJNoqbNv)orU!AtfNNBaT)kdMVFh4yhv~|<)Rn`{fH;zeoHkoZbX+qoL=P!h| zWEJCm+dLzd+7gA@f<;|ZX#peH$>A$%3*$S-cs|1?Ces%88T21Dn)fB_usLbBJ&-*_ z-AfNDzsowor`%h~irSqTzRDKhD}-19nY2!OC$s>5esva5MsHY)#A+4dg~@E7okNWw z_uw8mTN$%8`p9%dH`A40C@n79yZp>z;nl!D#+np%Twv9RIl1yxT^l>>I~WbHBSI@H zs3S-_?1AWmEq}OLYv4+!%MAG;3+35Z$ph&(R?%vfc_yt^b0y3z8tW+s%#Wjvxef*i z#zjf>x~PYZuFN-Q&Nfz~w$}xtz3Q?#YBgKsU{x2q!<9Tlqszt0yGGVg8Q{z9HI34S z>eBc7CaosNap-B1dQ+9(LkrBtvkmbK`!rng1S|6Iugl=!IjY4f9F1S9lb;s~k))vMbSj$qicWN?i zac4|_S^4=3p)K|FyQ3{ps4c|ebD=F*8eU~>VYH*RIPOgni_cAHTm1a$v^8for098c zcR>F(>mpHWh`6q`KSmU{4PRxgL6g)Po=s+B*G{N4etvaYEA!o}?U8L1XbZc^*VuUG z+QK-FS6N%=v(y%zO{T5w6Kac}zYy9|Uz)5(mf8}9+QR6B-P^RS)5BNN)=D*ML0d;x zF@8{qflFj?e|sMg5GW(zH)8BpVaJ+xFXN~S%&ucao>dY z#n0C@hMom~^BU7h*R{BgIA7&_F@~|0@Y394^PR}ZnR=cSJ385ermJUOf9zm_hG;E$ zEkzXCE^_?X>5IG+vbm*ST(3<(&6RP$YR8r~3N-@_xMsM=bC117UQoL6eFf7spLS)q z&V-&sKbUjdF7y7lFADxS?tX!e*n-G$z+e2A)Rabq$;OpZQ=(8)@Eu)Kv;;*kn9pD% z(^W1}*0UJ7^<9So(VkU>ymAWkYBTw=v{~bv7?;(?aEg29=fsCLp84Pnb)+rhc=g@9m>&8uOOZOLB4G! zCGU-6f8ZW^jtaP^jQ93jW6$n1D(^g-v-^L}+Ng`WrdBNfgZqXM2QS$JcL?!5C0qqP zY;(-s%T-&GjeCsN*?longFmo8K2Uc1@D8*oV~t+LnKQv$N=!saWd2exQPz*Sc{n!0 zCegnr=Tb1&+{5KWSwH4XVj>epCcJIRdGBDNtRHi8wH5@;qII0P9LztnXMCWnA9E&{ zONoj60OkBI!9-a<=H_9RXoIyCd|cN3STG+Nbw^o0=1gK@{wEWw@Rai*!9-a<=H}tb z(FU_5%ot=I59XtSiL!ponZ(4bOeS`^QqD&P6J`CFn`0GX*;?M2CxZDG_KXjd^<&Ni z6Ft|N@YX5kZv+!%{g|683&I}0>7>t_g1IT`jN`k(NSh-yS5CWh<$ZvY)2$a4tyS79^B)kv0#baCni3F=@HDXPzzjuY!cKF49aQ zN#nR{oTTpv63V(r?lHm>LoSjs$zyzQkm?@esGi^NSjSRl!@6h*6vi0o){#Q zb&+NgN#oPrAUz>SDC;6|?n3QoS(Hh0*VREnSr>`(7D<{5G;i$=63V(r?mxpak;9=( z@}EBwq`LoHw*vQ?LBiZXlDy_m2dVBg*GaRLB&Z!d9g=W94z1vZAfc?QcHDvRv4${#ep{$GK@dKFs5qDM=T#sYb?&ka)Dqpg$NS1i3b`HG*6xdpkL(vxfQ330-N>!{5q zJY?SQY4eG%v}_^HmqNC0(VpFA<93smh}@KNDe@A(Xy4?c^b+A|gAY$ObF;sQ-3wyM zU;IQcOMkJ8>HF=me@Ua@9~p_g`;yRMDd*8)?MJ0t8ukMa6GG# z4{dKTi1&&Z2xaP7?J~|JqDJiPLA+-WQPzi;J#cxJOF_JEST)M}5VI#PyPON+eS(Ox zK16!t)T3lP8pQiXtx?v8NY9)^$+#nk_X#4(`Vg~+E_+-K;{Bu6DCqFdJaZu~*9j^rO;ZbXp^&!qAqP*l?L3~&cQPzj3sDh_^vCm*!VZXj8YK^i! zL`4@IcS%GfLE=;pQPzjZCGTy-WKK69z9iQZ~6&q*8A&)I(Z%dKpi?czg5WpRK^%1!p~Y5V`O zluv>GkNJ_iXQ&lLC+p*iWppxHht*x*V;Z!HdZ1#O*%-g;HNGk8pvZwIudxn@5@;(| zMIBHkTe;aZf%6ieMVzRI8CEM@ibfQ*AzmQ!`-6$He$35w4cZIW(J1H5!Q2-1f-*5j zbuB4HRFt|eh*t#>WqpW@cwo~U$ta^Do}ED~Bc3i9F~*Q6|5B09jv$tiPdm{gAk6t{ z8%01@hRu`_P&?5hArLhpDiXRPh-D2B^4NQ5kBahciSewA z^18fv#d{nz$W**{I+$g=*Tv+T3u?Z#TFWI%nwP6YT};MAU~Wls%ojtOFKc18 zw>Tpr64e(!5yY1Uv0Qg*C-U4C5@kc!-@z7tMG#Ter^Po_`Xf;`gmV>1e0dO2)`!TI zF%Y+=tf5xM-W0@gWvr`hR;m%4Qfe&!=aBM8TbON{^b>4I)L4Fp*&^%x${?0&ZEZx{ z>jC{ShoDsoWh0&wc3x&9+KD+Uq1IMb;@Lqgvl8t@WhZ#AB>RoB6JLlKteF9iVl+#^ zvoGBbZOc;ZGyN>pG9KmH6?EqmMD}cndqgeEXdh>XXI{=mV0}lUHZl)n4T6O-S#uN1 z&#Z%uC{Ojr!TQ5sE!Zc<(Rl71YMA#~{YudOAZR!zY#fc*2hg^pdLq-ndOkmBC{sPp zneU366HbGccZjG2JN+2l(<1ml*v|`>ZldBjn&9amSWmR2dj)}n^-xvluanM+#aklwrr}S)}?a%r50!~JsvW&p8MZUL~E`7YPUxDgUlmZC}*6jMbXj!lN{>G!H9E+Z(JhN^4@}l^FE{`RvDnRr>5rZIRbv)DPsX zuLP^~)|*(_PnTyPKmBB|N7g~TWMPdvzeCHD>SC<4%*tFp==y2uT`i$<)vK~)=_$CZL&dI^dF@+`DvF1 zt@P8HY1va##4bnBIO{~pBTf<6*di%*}f!Sc8Y+MUy zU(=&_4uHb-db}D$dAmvAAB;>9v8IIPiv;-Jx=mo zl=0scv@+x0Ow0S6G_xq%zcXlMw!fJs?~x-3^#)IoHT`nXP^MOBvJZKW`TiYvie&v+ zuu#^`@>5sQr{vZCZLq!)taiDu=YqfLRQCWdtMW8gW)|{-WrC zmO_@IhqJ*dqlYFIv-s-{wjZSZ_4hE#P9B*w{qn1z47QDTve+R zk!`1iOitts1n(l>^KwNHe>c2~rW(rM&wjf6{r4M(kI|NE_V^)(X6v@x>-I`R*bj!^ zeLG|S<4y(q79yzb31@#_HYcmHX` zfbTpUF+$(x?0#3&2y-LW>har&*wcVD`#e&gw@)GVk*uC)+>)#g{xq-fLm?}6?BUlI zK^VQtHd~{>8U{WEOWYAx$bPqGJNUA^!uQ1$O8<6L8`D!Ky+~>wF zOwCPS4$|)hDeLuowQ~fKB6O-8visb~M{70ZQ$c%W(CRuw&xKu{wY?~$@{9@eUhZjv z1?Bz1D?z=XN86vX_Bd|yG%WVg!T5bHurcP<<+Wme6ZQL}t@S7^ZnCQ?#>jiO6k|L* zu3E+zqphm=0zQZ50Tf?6EJ$U1F-r0bFmkpU3yy~-mO}T)A)Gh6hs|eOIcDWISA9}F z4I>q_yVY`YE*+u?YWKAvU1ruTW|W&_4cW3{jdj5-V~x>T=bW(oDMcEW2dRuSMoGS7 z32}z>ryWbvK|)>>bz0!?ORs#ijTI{}o*@aIHc9(~RC?c|B##s@(y3=CQaBvFEw|1s)l3eJ-xBSt zh+s>aFBK8IG-RslPP79-a}OK)HI-qIhyB1LSDs_}+r((qyn=uc_>jqpa_ld}ziM^& zzi};DsQm8-#I@@FH;9v6%e`}4OSUWT{K0Xpx_3VLwcK~dwUl3%@BW~;R^4}>{95wt zxr>k%DbN1qX#LW&AGJvN^~_3;B)|StkV?OPl(b?qFtdAGQvLrSddbV9{(02Tc3$@C zTg~e6OW9bJ;$5(egn1RTr&dz`M_lDyA#c7)y$|%clI~FFX++eFqLh!umD=lYyPel^ zI!UiP)cFg4WGYVizrpO5xX#sj4E#KwakU=v(9nImtaqB8kC_kUGl|w^c%~_3)w;|> zg4r!=o$G5f$N?*6&>GEag4-_Zvh8EelKR}qGkPhhR%(8sr&ddDDu)@4lADrDZgUNR%_#=R@~p|AtL8?FU*+ zvshb9iW7+t!^7jjb40vdrxU4HV^*PD|I427fih*|urr8kw_1-#{ghSO!nPp&VvtbQ zMe@}r#J0+aEd}XYQ@eDNeB}uw#kO-n`j#M}tV<@YgTW&6=}2D+(wfNKLr#&(EQ2zE zqx$387_Xq&`IB*ld&d<@S^HnXqhze=$=85&u&w{pp7DV))nQatkCM^WBJB*)uLTKZ zT_i4`x?Sr;kC zm5PNFSMG?~p{$FPSD6%pD~_BC63V(r9y8+95Rnu!e$~FuM;S9VjZN?w=&_2VnDMhg zDr3e`lE;j=n_hFHV#X&&?Mj)jv-ei>lHu!O#IMhkiXeF}32j0VRy*4VIk$cE~66Wdt788y2s^kkji^pMoD>fOEMv6%szP}>WZ>13&|^6k_oF=BpnVC z%DPA%bE91qo1P2OQ-XxDE|N#oAZf&z57Lc6LRlBd<4V}SNQx`}&c4q_8CQ;K+~Z2D zU5cc*^1lbEj4MY;9#>*7zwBRe<+Gx8rA*`Ol)ugjznd0I`&T4+Cb*@9y4YoM%)GrZQ3h_Fs`zPW$e;3y&qm)Unqk9{2yX)SDe~jzY?`;_Ehq|+YJ(611oelpGtooe| zqb%-MX8jdgYrpb82dkXZ^4`iW{c^38e0eF_yZleVFXy(t{OKxli8T{?#MH%>Xuq2- z_HlB#%K9I-_!ny`r)^F~B<#^Dcchb}IpER3IT;-6&&E27ugGC7p-w%QxbR`&edGuo zGORw_eV*- z++(q;6P8+1QO_Lri-_Js;>Uwn_NaDZj#Je(@TExnau89bQKg-j<5dxN2JurtL|GqV z-WjMIg;wt_i5UWAeTck^19MKxT^vEgdR`x5j$_r=703Q%)VhpgyYz@?h`BQn70>== z5X*SBotXW8WoR(=u&v>3^MSHHwe~e5-@C;T;y@7LXY+xwK1BByK~$~fFaFOU=6obh zen7?%zBWF4soiyUt~vz*`zGqEGHCa$_U9Q8`H(*z?OxA9<}2Xyms+Gz?w@GBqVAL4 zn(}K{hoR2j5LZN5KMiqKg_omMU3i5g!e`{8?kTp7D%pz_5&j^F@D}-~`-pAC>>Vl+ zk$3o#sCDTbw%cy@5;gM4OMGz?3uuMgr62N7j` zh}ol6Z;(fedxrTaJ=*qKyJze74710|v&B8be3YJTJJGZ4*ypBPDj2k$w}*_)49u2I z^KU+Pu5JF^U9I6`$4$SiyK-Kdg?~TfLz!CTSg?IQ&$F*cnteYOq;mEhCFNOHIzug} zvp)$E%DQFp(O@ZQA2TaSzZxWzb&>K6ChOG<_UAz=XRy)Qr6xkt7q~qeKIu{Ee7+WA?KpSFXzoS zxyAn1o(7%>SpWX^-rwg+CBDCqGGt5f{Wr(;=j_VR3C8n7CIdV*j1Q3L)ZnXyOvqYO zCiy9I!F*pZcUK-J&t`WTqSO-+?QzwT^2s8;6s-RctnJmza+iG;zhmf`Go z?SSG+Wu5xTyGi9fWKtEQ9S!P#3|X%=d9eE!HAh^IeXTq<413))GrGMkB(Hr(@ZK4` z-BvsNrpU>Pf*p9+(Te>}&f-2<%BD31?UVhr19@O`S ztVgUBAQO72+u?C5xzqMAvqYMNmr`e5eYcq0!wDvS_sL^1*ad6BP1aG_%2UDlV8~ORIEelE_1|lN*F%z`%)LSSNRW10Pr&^i$D(f7 z&xQP_Yo6W;Yp2%yTCm;{thyA;4%WZ<`5xcoIx6Lt|E6`+55+Z`cc4#I{TU-hK3foN zOldUIYDM*}!NduLyzc=SwPR+9(gpkoGL*mgKT)H%1!I5pO=QsAW=4NigXe$OX`fyt zjjJovnYm(39>1h%e6t0)Nc<3>BB)fRQV=oMUH}Cai!Kk}q>&QJL~n(wGO9Fo63u5pd&;x79;Y4x8n8h3}QmAJ-3Y1Q6e z4AMJ-)c5W)p8r-Se&TKr!D5Cp$NKPg*-p>2XMD($@1MWVr>M8(4-T9DPnoq-Z*D(1 zZ!Zr7-X!Jv!;lMQ^6fE0iB`|oi-ha|NxvKb&+z$KqO=bNc!y{p{$GK z83UZyt+u;0NGC$$DC;75#sDO>-H{+24-(3{NV7)ZnGLha#%~MKbHg%G)NI7F5Js~?ljek8zDC;8SjDhro>;Oq$3lhq@NE$cu7zbM<>3Q~y zk8(u9_|}wZMGWRTY8xr{+iZrpZr;W?_sK@b%RGx~y!`2qXT@3s{vDzVp2!977v2W^ zGx*wghS!MM&)YTOpwp^ zocZC%R;s0$=>SnPtTG+TK|~~jkrNpU#2{@%&nw^rE%|^L>)0p0Ct3^lS))Ik8A^s$ z^Ai9hAI565eWvYQCCwv!w2j69Mf%&Lw)?93HMKgWEL)theo0lVzdEWsyF6dXv-=s- z0Uz9dG&%;zqss(&bmIx~QCp9ql7hPUZfoCt?)mNky1dFk88wf~@c8?B)H_ z_h4hr(%7s#%g=?h;3Dsb5t@6wI69Yepzp*kdCIm-%G3Uug`@*zTz)F#gGaSwvYoKH zqnFiZRL`ai$j8E-Xu;cf%;0Iww@LQ=H~r-<-zLCwC#I4bWE zqlcjJazn^^zvxY;P4igOLtBmZZ=TS>aaVcXjlub_J>%oHss(ZC2gW(B!{w11{dL?9nW5PIU%!JQBJ`f#Tc7d?vdDxRGQ?uUlbPMM`*R_>N}CUM~hQeO4hO~F0f zTi%VPhb%8zhw^Hs*c{xC^pd8y}6J# zb1}A1zp}Hf!F^h9?xq?Svl6+|@A}|Ay*GEZ;47 zp1ea`=K_S*bV^G4f�^=Wc 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