UlH X4   X 01L.textX .data X XX@.bss  4.loaderD.B(= ,|nx|#x|+xb,0AA 4| S*N!A98}{x~xH` ,Ab$H?A| @__start,M H4N @__threads_init|!HAf| FN!Ab ,cA| CN!Ab,cAl| CN!Ab,Ac| CN!Ab,cA| CN!AH8!@}N b,AK A__threads_init@AF2_1|`aA!!HU,A;8`H!`;,@x; ,@4,@;`,@,A\,@(,A88 8aHH'`8}88HH'AaP|eyA8?}H'A,@x}PH'-A,@H(,A0,At,@c8`H'A,@,@؀}|@@,@,A,A8|H0`8|H4`;`8|H2`},@},@8x`4T~8!p}aA!䃡N H| @D(,Ap,OA,t8 H0%`8 H1`;`K\,@sAt8H/`8 H1`;`K$Lp@T8(Ktt8| H/`8|(H1]`;`K8bt8c H.`K8a@8Da@DHA,@Bt888z PH1`8zD@H/1`8zH0`8`H9 AK@bt8{ H-`HՐ},@8{H0`8`H8ɀAKH},@bt8cH0m`8`H8AKcbt8H89`,@Kt8 cH7A`|K\8`H8AAK A main|`8`~c88!D@8D8@89HHA|}y8bHt@`,/A8| $,8,A8A@LcH0)`cD8|@H-q`ch8!`}N 8| H+A`ch8!`}N 8|DcH- `ch8!`}N 8|cH,`ch8!`}N 8| c88H/=`8|耡D@H,`ch8!`}N ,Ac8HIAch8!`}N A GetDisplay|!ĒAȒa}&,Ԓؒܿ;;;``8! LHT$P0D@X<,(48@T:;B"t;:$:::W:~{.(-A,,@};|AԀt,A(;B(A`HA,A`w,A;@,;$ @HA8cH1`8}HA,AcCH``x~@@x,A@48TH4=A],A8cCH3`,@8,@},@L.@` (:A8`cHA`8wHA|c88cH/`},AcH3`,A8`d8-8_(:`(.8c@(:,@8.8cX,AL8H3y`(8`$8! |AȂâ!ĂЂ} ؂ܻN 8hH31`K@Kx8wH&`8wH*`8`H2A}K;\8a\8HAK8cH29`,A4c8/HA,@cH9A`8wH)A|c88cH.U`},Ac8.HiA,@@}X,A8`cHMAK8@`cH5AK``cH2`X|P,8A|c"8H1`Kd|c"8dH1`KP8wH%u`8wH))`8`H1QAK4;K8w@H%A8c8H-U`},A0X,A8LHqAK8HaAK8wH$`8wH(`8`H0̀A}X,A8LHAK8:HJMA,At88w |H$`(8`$8! |AȂâ!ĂЂ} KPcC8:HIA,}A} 8K HA,@ 88|`H/`,A8cH/A,A0`H`|`4cT~ H.ŀAKb8t8c@H.YA(8`$8! |AȂâ!ĂЂ} Kd8wH%]`ccdH ̀(8`$8! |AȂâ!ĂЂ} K8wH%`A8wdH&`}HmAKcCH-AK8 }H. A|zy@L8wH$`8wH&i`8`H.AK8`H.9`,@c:K,A8w HH%=`8wH&`K|8w H%!`KT,@ }K8y @H$`|ې.8y tH%`Kbc8H-`,Abc8,H-`,A bc8H-m`,A bc8PH-U`,@ PKbc8XH-5`,A bc8`H-`,@ HKLbc8H,`,@ XK,bc8H,`,@ LK bc8H,`,@ LKbc8 H,`,@;|A 8yH#`8yH$`KW:808@|{.HUA,@@,@ $Kx8y H#]`8y@H$-`KXbc8xH, `,@<;|@W:|.K$8yH# `8yH#`Kbc8|H+`,@ DKbc8hH+`,@;|A 8y,H"`8yH#}`KW:8|{.H%`,@ (K8|{.H`,@ (Kd8|{.H`,@ (KD8|{.H`,@ (K$8y|.H"`8yH"`Kbc8H*`,@<;|@W:|.K8yH!`8yH"`Kbc8H*e`,@;|A 8y H!u`8yH"I`KtW:848D|{.HA,@aD8(A ,K<8y H!!`8yHDH!`Kbc8H)`,@;|A 8y(H `8yH!`KW:888H|{.H煀A,@aH8(A AKcH A,T~>A@K$ AH uStrCaseCmp|ܓ!Aaa9a쿁!`aW```|8`H qA|cc*chc8cIcc,``}!AX```cHA,@cHA|@,@P@(,A,@,8`A8`X8!P}N cHрAT`>|@@KcHAT>Kp AuStrCasePrefix@AF27_9|!HKAH8!@}N A$uRealloc@AF28_20A L| N A L| N A L| N A L| N A L| N A L| N H @strcmpA L| N A L| N A L| N H @strcpyA L| N |!ĒAȒa̾Ѓd``,`!`[@8T8 cKŀA8cKA8cKA,@ ,@,A; :::8Hc8b,A8\VK9A:v,:A@``< {$0g,,~R*#4}AH:A|@Al~<0,A|(@cC|.K]``n8t8:H`bFa8 a`hcKeA~<0,A|(@cC|.K``sb8H=`bFbg8 a`hcKA ~@:|@AР;|@Ap,A];:<;c:c,8 0A8L,AȪ8dK}A<{$0c ,A|(@cc88 8HA:w,:cA\```{$8@ c4|``rHAs<: :~,A,9},@t9@a8H`,`p@8a88K)`,,@l8b8a A0`K`!)8s:3,b8A~HE``ec8lKA~<$,@cRc8a9@bbHY:|@A;Z|@A8cKA88!} $!ĂAȂa̺N cc8b$H``vKTb~K8s8HM`8 T`ecKAKĀ8b8a`Ku`!8a8b$K]`!K8aH``qK$,@88cc:HH``e8aH88H)A,Aa8:!hccH``e8aH8AAAAAAAAX`AĐhaxaPȒ!pH@aTDAd!tAĐ:P:p:a@:A`:!c`,At,AP,A<,A(,A,@8c#b8H:c#8 0T:T:|8.|@.}@.|8.H;Z;:,Atw<$,@(8!!}AȂa̺N 8a|c84H Ac#888bH:|c#cg988||H큁8!!}AȂa̺N 8K8K8 K8 K8p KA,@,@8K, @Ȁ8 K,,A,ATT:A(+ @L~,@(@,@K(A@ܐK((A@(@Ԑ,@K,@8~ KA(8~*@ (\AK݀A(@T (\AHK@K0!Aa8!N A PSLabelKey|`a```a8 L`c!KA8ccKA8 ,cceKՀA8|ccKAX8!Pa상}N A PSDrawLabel|!ĒAȒa̾А```{!8`8̐ah`Kڵ`ccc8Hȁ`<,A lpT}8(| ,T:|2T>Ap|@@ ,A ,@ h;`8pl? <;@,tT:8@|c*8P9B9}99:a}R|R98f8P}Ra8fa})R8f:!x8a|;!8ya|cR::!ap|dTe:|Tc@:|atA|̂!x~;XAԃ;@```Ȁhl|d|@8|(| @@",A@;`c;@c`0|H);{";Zcc|(@A܀,A ,AĀ$,A@ccc`4|H;;{c$c|@A؀~<,A<8 @cH 8cKAh8!`!}N 8hcH 8 @cHK8"c#HܵA|{yAccceH K8}K`ccceH K8c#HiA|{yAccceH K8}Kq`ccceH K~K``e8xcKAK8`8K@|K,c8KрA8 cKA~,@8 cKA8cKA8 cKA8cKqA8cKaA8cKQA8cKAA8$cK1A8hcK!A8cKA8\cKA8cKA88cKA8cKрA8cKAK~Kq``e8hcKA8 cKAK AIPRA.$PSProlog |(@$|0M H @ PSSetFont|B`y`8c8d!KՀA8",c#8cKA8$8c#8KA8P8c#8KAX8!P}N AIPRA.$PSSetUpFonts|B8`y!K!A8 c#KA8 c#KA8"hc#KA8"c#KA8"c#KрA8#c#KA8#Xc#KA8$ c#KA8| N@P,8A808<8a@HGA,@cc#8@HCH 8;Z@P,8A848 x8a@HFA,@cc#8@HCH 8;Z@P,8A8888a@HFqA,@cc#8@HCQH 8;Z@P,8A8<8 8a@HF!A,@cc#8@HCH 8;ZA N@P,8A8@8 8a@HEɀA,@cc#8@HBH 8;Z@P,8A8D88a@HEyA,@cc#8@HBYH 8;Z@P,8A8H8|8a@HE)A,@cc#8@HB H 8;Z@P,8A8L88a@HDـA,@cc#8@HAH 8;ZsAx8,A8P8 8a@HDA,@Dc#8@cHAe8`8!|Aa!䃁} H888`8!|Aa!䃁} N CCopySetLockControlsArgs|epc``!T>`| A4@08;h8a@|#x8\HCiA,@H(8`T~@<|yA@;h8a@8|#x8dHC%A,@DH,A@P;h88a@|#x8dHBA,@ c8@cH?̀}pcA8`x8!p}N 8}pc@088`x8!p}N 88`K8D,@ccH>m8`x8!p}N A|CopySwitchScreenArgs|`|gaA;h!!`,p````AP8@88a@`H=pA~p`AT8|cx8HL8pAl~p`A$88|cx88a@H@=AHTc~888a@H@!A,@lc#c8@H=HT>|` @P8`|y@@AT~88a@H?ɀA,@c#c8@H<HAT~88a@H?A,@c#c8@H|` AX8Ā,@(cc#H:i;T>|` AH(8;T>|` AdHA\,8tA88x8a@H=A,@cc#8@H9H 8;T>|` AT,8xA88P8a@Hpc| @@D8`|yAP88a@@,H6%Acc8@,@H3(AP80| @,c@cH2ш| @88,A,8`x8!p}N ccH2}8`x8!p}N 8| Ax8!p8`}N @tKX8(A\K T~88a@H4AK88a@@H4ـAKT~H4ɀAK888a@T~p|x8AH4AKt8H4AKd8p@T>|` @`K ALCopyGroupActionArgs|`;ha,A!```|``!Q@.8(|4@cH084p@T,@,8@,cc#@H0y(AP8$| @Ācc#,@H0E| @88,A88`h8!`!}aA胡N cc#H/8`h8!`!}aA胡N 8| AlK@|K`8KcccF8Hc`dc#,@K,@cc#H/A(AK8epcA8K,@Kh A$CopyModActionArgs8`N @CopyNoActionArgs,A88`N H.d @ TryCopyStr(8h@H8X9 `e`9!F|J|2| @|gBA`N N 8`N @X tbGetBuffer|`;h`!8LH0A,Al8TcH0A,A 8c8@H0A,@@8(cA\TXT>@8!PN 8`X8!P}N 8c8@H0A,A`8c8@H/A,AD8c8@H/ـA,A(8cH/A|`4T~d,@A\8(cA\XN c8@8H-5A,@ @Kp8cH,A|`4T~d,@At8(cAXN c8@8 H,yA,@ @Kp8cH,1A|`4T~d,@At8(cAXN c8@8H+A,@t@Kp<88`X}8!P8N 88`X8!P}N AXkbLookupCanonicalRGBColor|(8h!@8a@,@x8H*A8a@KUA8cK-,@$X8!P}N 8@Km!`X8!P}N 8 TH* AKT~`T0((+@$88a@8A8H)рAKL;@`(@8a@Tnp@4,A88 KcccbH`qK?yA|P(8|48T~*@x8c~||@8l|Pb%/A8A:@w`b@HA8~K$b$KVY``w8~K|K8`K(8h`@<8TH9Ac8!}A!a컁N 8HAc8!}A!a컁N `cH%;@; `{,A@A;@:@K -;*@Tc>K\W`bK ClXkbVModMaskText|,``!A,8A(;8@h,A@W:,|(.,@ @8`K;}Ac8h8`}8H%AcK=-A(@9c, A9`8`KI`@H8hadc8$HـAcK8H|8!@c}N 8`K٭`ad8H`8cH8!@}N AXkbKeyNameText|!ĒAȒa̾А|y!`@H8h (A88bX888|c2x|8!N ,A ;;;`,ALc```H ŀA,@z;8(A;{z;{,@,@8(A|;c,A\:t;@v; \;n:`f:e:b:r:Bh: 0H =Acp8,AD`,@ԛc8!}!ĂAȂa̺N ;( ( @;pK( @;pK(@P;pK( @;pKp( @;pK\(@p;pKH,8LFA;pK,0;pccHMAcc,A`;{,@K8bh |0@A88X8|2*K`c8!A}aN ;{K A XkbStringText|;X`|`y8h!`@,880KJ-`h8!`}N DLH 1ADL,A\(Ah8!`}N 8h`e;0808 HـAch8!`}N 808h`8HAh8!`}N A XkbKeysymText|`a!K-=`,8h@9X88d!#8eB( 9 88cAĘ(@H{c~c};_,A0|@AlH ݀A,@H};,@cccKX8!Pa상}N ;},AKH A,A}H aA,@KeBd;K<`~K0Ac8h;`;8`(,@;8X8!%c`| @9 }Ec@4`:FccK.`|8cK/AKhJfccK.Q`|8cK/AKAxcK.%`c8cK/]AKT A XkbAtomText(8X,@8`9T`pf8 ,8OA |```C A<| C |"8dPPN |"8dPPN 9AK| @ XkbIndentText|``!`~`K.UA8`|8`8| A(X8!P}N ccH%`8`X8!P}|PN ATryCopyStr@AF41_14|``8h!a`8 ,c@dK݀d~T>pc| @@T8`|yA@888a@|+xHA,@4c8@cKy8`8!}N 88`8!}N T~88a@H!A,@K888a@T~@L|3xHA,@cc8@K8`8!}N HA,@Hcc8@K8`8!}N pA\@4K8hpcT>| @4@K| ACopySetPtrDfltArgs@AF42_8ĐA L| N ̐A L| N АA L| N ԐA L| N pk=@!k9J}i8A,AP8B8} P8})P},P@} P8})P},PA})@})PyA}+4Uk|Xp!k}iA ,8M 8B耤0|P8})P},P@4} P8})P},P@,|P8})P},PA})(})PyAH})@})PyA}Cx8tT@>@N @ strcatT`,/|fxA80AA,A`,AT,AH0}@Py=`01k@&}*X8}JX}@XK}JH}JXyA}L4U|`/T,/|M 00AHAA,,M B@$, &M B@D, FM B@x$D,,/ /M B@LM B@@&M B@4FM B@($D,,/ /K8N @pstrncatؐA L| N |fx|#x|3xH @bcopy @memmoveܐA L| N A L| N A L| N A L| N A L| N |!8HX``}Cy``A`DHLK=a`DHL,@X8!P}N 8H``K<9AX8!P}N 8!PN A_AddIncl8`N @ XkbMergeFile|a̒В}&ؒܿ`````a!8 88a@K%`;"H;~:::,*:yA(+A (|@8~,A(+A (|@~ ,A(+A (|@~,A(+A (|@~,A(+A (|@Hx|xTz`(A`,AAb,A |@DH|88,Ac,A 88|/A,A` ,A`Ac (@`|,A`|$,A` ,A,ATA,A,A8`|c 9@T(@8`Da@|xAlrA |,Ac(@V<~ @$| ,Ac,@ V~ @$|,Ac,@ V~ @|,@VvV>|` @(|,Ac,@V4V>|` @|$,@V~x:~|8A,AsA ,@`::c N@,@(bc@$,ApcK`~cW>| N@,@bc@$,A(cK`~c sAcH@y@sA8|y@;s(@ W1A8W(@8|9As(@8|9AWW1@8`|c8c|8|@@;~øV>8| NA@r@ s@~ MAr@s@ A`r@@s@As@ЁAs @,@88`8!|ЂԂâ؂ܻ} N 8cK6}A8`8!|ЂԂâ؂ܻ} N a88,cK61AKhc88@88H-Q`KHa88cK5AKc88@88H2`Ka888cK5AK8,b8c@K5AKc88@88H3A`Ka88cK5eAKd8b8c@K5MAKL8c8@88H3`K,a88 cK5AK8b8c@K4AK8c8@88H4`K8`8!|ЂԂâ؂} N cbe8pK4AK@cbe8K4uAK(cbe8\K4]AKsA|c@KtcK`~K,cK`~ KcK`~K:K\8`|c 9@ p(@8`Da@KdT1@p(@8`Da@K@@DK4DK,,A,, A8`|c 9@K8`Da@K8`Da@K8`Da@K;`K8%HN!A,@c K8%HNA,@pcKh8%HMA,@4cK,8%HM̀A,@bK8%HMA,@;:K C XkbWriteXKBKeymapForNames,M 8,TM 8_8HT~8| |0| 9A(,TM T~|0| | 9@,M TT~|0| | 9AKN @XkbEnsureSafeMapName|`!`c,(A\```+*+?,AL((@X;;+/()L3OFӂA (,@8`A8`H8!@}N |@A;;@Ԍ(K((()AD(/LFA88cK;,A 8`H8!@}N ;K;@lKT A0XkbNameMatchesPattern}&,,A0988,A9@9 A,A,A 89f $/ /.A,.Aa@|A(@`A`A` ,/A,8@@d| 9@T(@\8@$8`} N 8I8|x} 8`N 8`} N 8| 9ApT1@p(@@(88`} N 8h8|x} 8`N p(@h@(88`} N 8`8|x} 8`N 88`} N /,@X, A,@h88`} N 88`} N /A4| 9A @K#8`} N C8`} N `AK, Ax`AKp,A$K BLXkbDetermineFileType,8`| AT>`@8`Al@L`c@,| `c@`cL `c N N AN | @`cL `c N A| @`cL `c N 8`AA| @`cL `c N AAtAx| @`cL `c N 8,A8`8AAdA| @P`cA| @4`cA N `c@`cT>| @`cAN `c AAT>| @`cAN `AAAT>| @`cAN AAAAhT>| @`cAN @XkbConvertXkbComponents,88| @$,T>`f@88@HTp T>`@ 88A AlH `A`| `@\`@X`@T` N `@T` @P|` `@L` @H`@A ``N | AAA`N AAA| AAA``N @XkbConvertGetByNameComponents8,AP|@@,ADT8# |H@A4A0|B$q$,@,A8`N ,fAlU*2|X/ @A,ALA4}+#|I}dXPfAUdc,c|B| |"A,A9 f9H,A}i`j ,@09)9 C }c }`xx8`N f}8|`@@U#:Af ,A|8`}`xxN }c 8`}`xxN ,AK U+|XA9`K9dK9`A@K @XkbLookupGroupAndLevel|`a`!,`A,A,Acd8 |@W:AH|`K A;,8cdA`; |@A|`K,A$,@A,@,At8cc;,A\;,cAH```KiA;,;AL8;ccc|@A8`X8!Pa}N 8cKcc*;;,8ADc`KـA;,;A8$;cc*c|@À,AhKcX8!Pa}N AXkbFindKeycodeByName8Td?8,A8/8A8_8O+(AL8_8O@( ( 88c;@ (A 88(L*A``N 8 8@(+L0B+AA 88OAB(OAA``N ((@8@(A(A 88@`8c (AX``N ,A,A8,@4((A (@ 88@``N lf((AX<8 |(@A8|(@@<(@A4(VA,(`A$(A8t|(@A8v| @A 88A( A(A(AA|<8|(@A8| @@`(@\``N 8]8M( ( @(A8@(A 88@(A8c (A``N @X_XkbKSCheckCase|`;``8`;!`;@K``e8,cK"mA~,A,@t8hcK"AA8~K``e8cK"A8~K``e8cK!A8~ Ki``e8cK!ՀA8~ KE``e8cK!A,@,A,A::c88K!uA8vK`8`ecK!QA8vK`8`ecK!-A,@,@Dc8|K!Ac;:,A|@Ad~ ,A`8c;,ALc;cdc&c8`Ha;;cc&8cd|@cA؀~,,AX8c,;AD8c&ccdcH;Z;cc&8cd|@cAcc8Ki``e8 cKA8`8!}N cUcT8@cKAcSv,:CA```~p,c| @A:|8A@,||P,LFBA8\KMA:8r948KM``occ8|.Ku`8`q`K}`8a`gcb&KA|@@8c8`KŀA:s|@A c8KAKT808c8|0.KA:c8`KmA:s|@Ac8KMAK8KAAcTcUK8K)AcTKc8KAK|48K}``e8(cKAKD8 y08cW8|c(.K``e8 cKAKX A IPRA.$WriteXKBSection|Ԓؒܓ!Aa쿁````!K`;`o,Axc8Ka``f8LcaKA,A<;;`^ :zs :@:#,@P;;Z |@Ac8aKA8`x8!p}aA軁N ``8q8Ky`8`p8q:1Ka`W``fb,Ah,`e@Dc8xaK A;{:R|@A;;Z |@@DKc8@`K̀AKc8aKA:R;{|@@K88caKA,AK A IPRA.$WriteXKBOverlay|!Aa쿁`````!K`8;b`q`K1`8`scK9`b%8`gcbfKA8~K-`b%8`fcKA8~K`b%8`fcKmA8cb%KUA,A/,A,LZBAT ,@ ,@lc48|0.KY``f8b%cKA8cb%K̀A8`h8!`}a컁N T80c8xb%8|8.KAKt8|4K`b%8`fcKaAK<,A@t~8Ka`b%8`fcK)A ,@ ,@Tc48|0.KQ``f8b%cKـA8cb%KŀAK08 c8b%T8|8.KAc48|0.K8~ K`b%8`fcKUAK88~ 0Tc8|4E|`cKE`b%8`fcK A8|0T8|ccK `b%8x`fcKՀA8|.cK!`b%8`fcKA8cb%KAKȠ ,@  ,@,@,@l8~Kq`b%8`fcK9A8~KI`b%8`fcKA8cb%KAK0T8|08|ccK`b%8`fcKŀAKd|48K1`b%8`fcKAK,|48K`b%8`fcKmAK|48K`b%8`fcKAAK A IPRA.$WriteXKBDoodad|!Aa`a``;`}`!`KЁ`8P`xccKA|z@|@A8K `8p`ecKuA,L@X8cKYA,A;z;c``,WAc,@8cKA8{K`8`|`Ki`c8`fcKрA;|@Ac8XKA8`h8!`}aA!仁N 8TK}AKlc8KiA8{K`8`|`K`c8`fcK)A;|@@\K8pccKA,A |@A$|@@|c84KрAKh8cKAc8KA,AKTc#KQ``xz|@@K AWriteXKBOutline|!Aa````~!`avAK`:b`tcb8XKAbKATp@,A8 cKA},Ax(@L8 \cKA},A@(8@b8vK`88`ecK=A,},@dA4ccz888c| ZN!A8cKA8`h8!`}A軁N 8KA`8H`ecKA,AK|K`8 <`ecKA8vbK)`88`ecKUAK8K`8 X`ecK1AK},AK},@t},AK8 @cKAp @,},@<},AKT AIPRA.$WriteXKBIndicatorMap|`~d;!8K``e8,cKEA8`H8!@}N A`WriteXKBAction,@ 8`N H0 @WriteXKBVModDecl|9B9 9 !,(;`T z`A;0;|X.`8@@0888`HLD8!PN 8, `A i| IN!A`cX8!P}N |N 9"@888`LDH8!PN 9"@tK9"@hK8cd8KA`8cX8!P}d8`N 9"@Kh9"@K\9"@KP9"@KD9"@K8 AXkbWriteXKBFile|ܓ!A`a``a`};!8(?K }Acc8cfccGH ,:Acf8ccccGH ,A8cfcccGcH ,@ ;H0;cc8cfcGcH ,A;$,A<,;A0cf8ccccGH,A:b8|cK Ach8!`}A!a컁N ~yA(cfcc8cGcH 1,@T$,AKTb8|cK AK A XkbWriteXKBKeymap|ܓ!A`a``a`};!8?K }Acc8cfccGH ,;@:$,AHdcc8cfcGcH :,A:cc8cfcGcH,@$:,A<,:A0cf8ccccGH,AX;c8xcK Abh8!`}A!a컁N $,AKc8xcK IAK A XkbWriteXKBLayout|;``a`a!88K ɀAcch88ccH),cA\c88cchHE8t,A8cK qA8`X8!Pa}N 8tcK 9A8`X8!Pa}N AXkbWriteXKBSemantics|!ĒAȒa̾А`da!`,`A``A#$,A䀙,:@8cKQA8yK``e8cK-A8yK``e8cK Ay@,A:*:,Ad8c8``K`8:`vbK`b8`fcKA:*8u 8|@A8cKyAy,A(8cK}``e8cKIAy ,A(8cKM``e8cKAy,@0",Ad,A\:y08:wK`b8 (`fcKŀA8":|@A8cKA ,Al:y,8:```wK`8H`fcbKQA8 :|@A8 cK-A$,A:4:c:8K]``ec8$KA :`+(c,@:U:%AP`8$@KA8cbDb89K :s+|@cAc8(KaA:$:|@A<&,AT:8cc8c&:0b``KQ:&:0cc&bc|@Aܠ(,A\:c|c!@48a`cW48|Km`|@A ;9:`ad|@88c:;`ad@,AȀ|,A]|@A|:|cЮ,A; |WX:|Ю|9@$;9~,@d||Ю|9A8a@8|Ku`c#:8DK1``ec8@8 xKAK ;Z|@@XP,A8`Lcc8TX| }]N!A8cKA8`8!|AȂâ!ĺ} N }br8:`|`KY``ec8K%A!\q,A|Ȯp(@aT,A@D:[8}c|T>(@|99@@Vg(@|8U |0@}@ AL```9@@|HU (@|0@AK,:`AP!\8|bT```:s|0|89@,@Vf||(@~ǘ0A:`p A@} ,A4W$W ~8c4|c ~0|9A,c8KـA:`},A@c$,A4d|".,A$\e|Ȯp@T,@p}|`T2,@,A(Ah,A:`c ,T:~c"@`}d,c |c".Tc8~@A:(@:0c8 8KAV }:9}͢(c|8c|h| ,A```@o8KU`8`ecK!A:}(c8c|p| |@Ac8DKAh},c|T:~s@0b0|T>|@Ac8KA K8 Xcb%KA:}}9(c|8c|h| ,AL`@9ccaK:}(c8c|x| |@Ac8LKA}b0c|T8~R|T>|@A$c8KA Kc8HKAK`c8@KAKLc8 K}AKc8dKiA}:@|`8d| ,Al:s(```@ls8K5`8`ecKA:R}(c8c|| |@Ac8KŀA Kc8K,cC88|0.K``gcbfbE8 KA}c|Ȯ|T>K@cC88|0.K=``fc8bEKŀAa\s|ȮK:[4K8cKAKAT`:c8P8~Ky``d@cH?A,Ax@,Al;`}8aD88cH>1AT`:EcD~H?}A|{yEA,;@A8aH; 8;8c```H=рAT`8{8H8~|cK}`88L|`Ke`;ZE;9;888aH|@cA@;|@Ab8!}a컁N ;@|@@K88b880888!}ba컁N b8!}aN A HIPRA.$ReadXkmGeomOverlay|``a!0``8P8d!AaH)5aA!`|8a@8c8H< AT` 6c88PK``ecccH=iA|}y@AHABD@,,/AX@,FAA,c8!Ѓa}N cF8P8d H I!AH()A!8aPH7}c8!}aN  Gc}H8!ЃaN ,F@@ H Ic8!Ѓa}N @ܰ H IKcF8P8d H JL!AH'A!8aPH6i8d8P}c!AH&ɃA!8aPH61}c8!}aN AReadXkmGeomDoodad|!ĒA}&a8d`;!@8x!Aa쓁H%aA!,Ah@8@|c@H'`wT|>c8@H'}`xT{>c8@H'iTv>c8@H'YTz>c888 H:A,@ x,A,@ @; ::```~9@~, :Ac88H9݀A,@ c88H9A,@c<8H9A,@<,AL,A@(@ (@ (A|@@(A |@A|APVxV <`*c::8aD88cH7!A,T`:A@8aX88|2@K`8ah88K`GpAtc:ad`20|9@(cD8He:,sA,s|@@}c|||xGAT>| @$p} |T884|P 0|(|c"|+x4}c||` F}c|cEpA} | @@ET>Dcc|)`H8A,.AL@hc:888aHc```H5A:sH(@8aH88|@ 8@cAĈGp@LEpAW:'0D}cb`3c|)8}஀ah|@9A,Ax::s8V:(0|ƒ:R|eP|Tc|p|c*fET>D|@@H|)րsh||@9@c |ƪ.T:|:|2HshKh}|`D}c|cGp @;:::;|@,@p8c8aP8`H3ATd:@;,P|*cR88|8aP@A|$|Aa@($8! |!ĂAȂa} N c8aL88H3IA@Tc:L|@}|`M}c|c}c|`@|cKcbEcH5aA@Pc8`s``8cH2AT`8@:8s|8:s|*@À}c||c`EpA K<(8`$8! |!ĂAȂa} N @$} p|T8|*|P84|c( 0|`x4}c||c` K88b88$8(|808! 8`!} AȂa̺N 8x8dc!Aa쓁HmaA!|qyA}8x8K=`@`ds|@Kp88b88$8(|808! 8`!} AȂa̺N 8088(88! 88}f8`ЂԂ؂ܻN 888(808! 88}8`ЂԂ؂ܻN 888(808! 88P}8`ЂԂ؂ܻN 888(808! 88D}8`ЂԂ؂ܻN 8xc8d!Aa쓁HuaA!䈁x,@A|@,A ,@|`K 8}8xK`|dK8x}8K`ddK888(808! 88}8`؂܃!aA軁N C IPRA.$ReadXkmSymbols||y!`A ,,AA8`,TTAԀ,,9A,| ```|@A8cC (@A,Aq,AK`p`@l(A (@((LD A$H8!@c}8cHN cH8!@8c}N qK]`p`@(AKH8!@c}8c0N f<8!@N f<8!@8cN })B@T```|@A8c|@At8c|@Ad8c|@AT8cC |@A@8c|@A08c|@A 8c|@A(ADKl<8!@|`:N 8`<8!@N ALIPRA.$FindTypeForKey|!Aa쿁;! `@`~c,@H.%A,@c888H-A8@,@cH%8a@8Tx>c8H()|8aD88c@H+ A(D,@a@8ca@;`|A8``c8dc8T;Aa쓁HaA; T,@Al,|"@@@8aH8 8cH*]A, A,Ha@,|@/A,T:|`#PaHA8}@`0|x@|HI 8c|cNOJKKLP@؀a@8!}!Aa컁N 88b88088|8!}8`a!AແN 8|8TK%``yK88b88088h8!}8`a!AແN 888088!88}8`N 888808!88}8`N ApIPRA.$ReadXkmIndicators|ؒܓ!Aa쿁;`8d!`~D8`!Aa쓁HŃaA!,`A 88 8,D|DA4cH)1A88`,@|K]`d8a@88cH'=A(a@c8D@D8DH`zTy>cD88:8H#ce8|cDH)A,,@ 88aP;8fA:cH&AT` 6P;aD|8|@8D8aPTUVWX Y Z [ \ ]^_Ah,A J}L,A<```~9@X~ֲ, ;A,AH|xHaD8!}܃!Aa컁N c88aH8H%uADTc:H|D |`| J|cJ,H@| |cKH8LcH( AHL,A(|#x| |cK8`8!}!Aa컁N 88b8808T8!}88`N 88b8808!88@}8`N A IPRA.$ReadXkmCompatMap|ВԒ}&ܿ`!`8d;8`!a쓁Ha!aH|zy@`,A@888cH%%A,@t|8`8KQ`d 8a@88cH#1A(@;Za@c888H C,@$8!cCA}a샡N ce8cH$ՀA,@|(cA<; ;|:8aX88cH"A,\*aY@Y;Z()+@ (@<8H8 A(L0BA@ HtH,8t\8:c:8aL,AlAH!A:N,A(;Z8|48T~8aLcLM M N \|@Ac8`8d!Aa쓁HiaA!CAtAT(A0(A`,@^,@La]Y,|@A8T8TA؀t Hit ,]A::,cA8`8d``!Aa쓁H aA!aH,@(C8a`K A,@|`:]:c8d|@8`A;9X:X|@ZY\A`,APcC` 8!|܂؂} N cC8!|Ԃ؂Ђ} N 8`|8Ke`|dK8`8!|Ԃ؂Ђ} N 8b88088|8!8`ЂԂؓ} ܻN t8H8H=t,\A:,88aPA:c8``HA:P,A8@cH 8@Ty>|(@,@|| cHu8@8Tw>c8Hy|c88b@HA,D@,@W`||c|cA\`{88c``HA;Z@(@D8|8{@A8c;{8K,;`A|88cc8c;8c`HA;{@,@x8|@8|@@8c;8K,A0`00`0a@8!Ђ}!Aa컁N 88b880888!}8`A!ܐa컁N ,AKp88b880888!}8`A!ܐa컁N 8D|8K]`dK 88b8808!88}8`!܃aA軁N |@@|@T88b880888!}#8`Aa!N A IPRA.$ReadXkmKeycodes|ؒܓ!Aa쿁;``~! 8Dc8@HA88,8a@@cHA(a@8a@88c@D8DHɀA;@!@(;::@aD8D``9@:(A8T:|Q@c888HAc,@`~9@H~ֲ;;Z(AaD8!}܃!Aa컁N caD8H8d!Aa쓁H̓aA!|D@;~ֲ;Z(@pKP8|8HK`,|dAĠ<;;Z|x~ֲ(<@$K888088!88}8`؂܃!aA軁N aD88cH|DKhc8DH,|:d(A ;Z|x@K;Z@K88b880888!}8`N A $IPRA.$ReadXkmVirtualMods|```8!;88a@;`cH̀A(A@A,@4|c@8ccHA|`yAy||}AX8T:|Q@,c88HU|cx8!p}N ccx8!p}N |z8T:|Q@KcH!A,c8Ah|`AKX8cEcH̀A`yK<;`A@,@0K AXIPRA.$XkmGetCountedString,@ 8`N 88HH @XkmSkipPadding|`!H-A,,A,Tc>A8H8!@}N Tc>H8!@}N Ah XkmGetCARD8|!|cyh`A| A@8!`N 8!`N DHL|1K]ADHL|cy@h8!`}N aP|0P|!8|)|c2K`aPh8!`}N ,8`A``KAh8!`}N A XkmInsureSize,@ 8`N H @ _XkbDupString,,A@ 8`N H @XkmReadFileSectionName||+y89`~``!A8,A蠄H݀A8a@8c8H}ABa@D89 8|0@808@d\aF|P@@T(|@@D|X@@8Te:A8d|(.| N cc8K,;A,A`pD8c|@@$h8!`}N 888a@K=`80D8h|Pd8`8!`}N cc8K,;A\,AT`KDccK,;A,,A$`Kcc8K,;A,A`Kcc8Ke,;A,A`KccK,;A,A` K|cc8K,;A`,AX`@KH888K}a샡8`N 89hh}8!`8`a상N c88cH A,8c8|@c@`A4``cH݀A;8~;8|@8A8`h8!`a}N |yAK A XkmReadTOC|AȒa̒ВԒؒܿ```!|#x88@8PK@D,A|8|@@(;;`},CA,A;AH8b; ;:0::::c`c8H A8aH8c8HATr8aHLNJ|(@@L~0|8|0@@8,| @@(|@@(C@@;{|@Apc}8!AȂâ؂ЂԂܻN AcTc:|.| N c8K,@HL|@A(8aHK6`Lw|P;{C|@@PK~C}~0|x}xL|@@;{C|@@K|c8K,@KTcK̩,@pK(c8K,@@Kc8KI,@KcK},@Kc8K̓,ApK85K5i`wKPKՀA}C,AK8808b88!x9 8tc}N A XkmReadFile|!`fX88aD8HEA98`@8X8!P}N 8`X8!P}N 8emD|@AK AXkmProbe|`!Kw A88cK9A,AcKM`H8!@}N AT_XkbDupString@AF29_18|`;`!;`HA,cA8;;|@AX}c8!PN ;|@@K AXkmSkipPadding@AF30_13|`8`!@8(@(,@,Ap@ 8`8!}N 888a@K2)`8880}e8!8`N 8`8!N HA8a@8c8HaA9B@B8`8 !D|(@8980@F9J0|(@@t~8d8H| X@@`>| `@@Tc!Aa쓁KჁaA!,8aH@KA8!}N Gh}8!N aD`8}808!aeN AXkmReadFileSectionName@AF31_19hA L| N lA L| N pA L| N tA L| N xA L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N A L| N ĐA L| N ȐA L| N АA L| N ؐA L| N ܐA L| N A L| N A L| N YB?ـ 4 ( @(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos720 8/2/07 13:09:21@(#)89 1.1 src/gos/2d/XTOP_R7/lib/libxkbfile/src/xkbatom.c, libxkbfile, gos720 8/23/06 11:42:53--w-r--r-w-?%i%i%i-n%i%i%i%i-o-R-s-w%ipspsXXXxkmxkb-if-kc-lc-lg-llallepsepsepseps -eps-fitnonenamecode-nkg-npk-ntgnone.xkm-help-full-grid-mono-nokc-pict%s.psstdin-color-dflts-diffs-labelcommon-synch%s.pfa%s.epsstdoutsymbols-level1-level2Ignored Exiting Exiting stdin.psExiting server%sExiting Exiting Exiting Exiting Exiting Exiting stdin.epsstdin.eps Removing "%s" Legal options: Cannot load names Ignoring -R option Locale not specified Using %s, ignoring %s No output file created No input file specified path names Label type not specified Illegal group %d ignored Illegal level %d ignored Illegal count %d ignored No output file specified No internal font to dump Cannot open display "%s" Unknown output format %d Label group not specified Label level not specified Compiling %s, ignoring %s Ignoring illegal value %s Using "C" locale, instead Error creating output file No root directory specified Cannot load geometry for %s Grid frequency not specified Illegal frequency %d ignored Trailing "-n" option ignored Trailing "-o" option ignored Cannot open "%s" for reading Couldn't change to locale %s Trailing "-if" option ignored Trailing "-lc" option ignored Trailing "-lg" option ignored Trailing "-ll" option ignored Number of copies not specified Trailing "-nkg" option ignored Trailing "-npk" option ignored Trailing "-ntg" option ignored Trailing "-grid" option ignored Multiple output files specified Trailing "-pict" option ignored Changing root directory to "%s" XKB extension not present on %s -?,-help Print this message Internal Font name not specified Trailing "-label" option ignored Cannot load keyboard description Unknown label type "%s" specified No level of pictographs specified Unknown flag "%s" on command line Cannot open "%s" to read geometry -eps Generate an EPS file Unknown pictograph level specified Root directory (-R) option ignored XKM file "%s" doesn't have symbols -synch Force synchronization Too many file names on command line Illegal number of groups %d ignored Illegal number of groups %d ignored Multiple root directories specified XKM file "%s" doesn't have keycodes -level2 Use level 2 PostScript Compute defaults not implemented yet Total number of groups not specified Unknown error %d from XkbOpenDisplay Cannot allocate keyboard description -color Use colors from geometry Number of groups per key not specified Illegal number of keyboards %d ignored Couldn't change root directory to "%s" Output to X server not implemented yet Label level must be in the range 1..255 Cannot label keys as requested. Exiting Cannot label keys as requested. Exiting none,name,code,symbols -o Specifies output file name Compiling %s, writing to %s, ignoring %s Grid frequency must be an integer > zero Groups per key must be in the range 1..2 %s was compiled with XKB version %d.%02d %s was compiled with XKB version %d.%02d %s was compiled with XKB version %d.%02d Output to an X server not implemented yet Output to an X server not implemented yet Couldn't read geometry from XKM file "%s" Legal values for are: Number of copies must be an integer > zero Number of keyboards per page not specified Cannot allocate space for output file name Cannot allocate space for output file name Cannot allocate space for output file name Server %s uses incompatible version %d.%02d -n Print copies (default 1) Keyboards per page must be in the range 1..2 -full Print keyboard image full sized -ntg Total number of groups to print Couldn't open "%s" to dump internal font "%s" Usage: %s [options] input-file [ output-file ] -kc Also print keycodes, if possible -level1 Use level 1 PostScript (default) Cannot open "%s" to write keyboard description X library supports incompatible version %d.%02d X library supports incompatible version %d.%02d Error converting keyboard display from %s to %s -diffs Only show explicit key definitions -lc Use for fonts and symbols -w Set warning level (0=none, 10=all) Label group must be an integer in the range 1..4 Total number of groups must be in the range 1..4 -grid Print a grid with mm resolution -fit Fit keyboard image on page (default) -ll Use shift level to print labels -mono Ignore colors from geometry (default) -nkg Number of groups to print on each key -nokc Don't print keycodes, even if possible be "all", "none" or "common" (default) -dflts Compute defaults for missing components -label Specifies the label to be drawn on keys -pict Specifies use of pictographs instead of -lg Use keyboard group to print labels keysym names where available, can -npk Number of keyboards to print on each page -R[] Specifies the root directory for relative -if Specifies the name of an internal font to dump @(#)80 1.1 src/gos/2d/XTOP/programs/xkbprint/xkbprint.c, xsample, gos720 7/16/96 11:11:28www@@stderrstderrstderr---> 0x%x switching to %s switching to %s switching to %s Warning: Error: Fatal Error: Internal error: Exiting @(#)79 1.1 src/gos/2d/XTOP/programs/xkbprint/utils.c, xsample, gos720 7/16/96 11:11:22@ , %s%i%i%i%i%i\(\)\\%c%d%d%d%s redrowrow, %sbluepts (%d)blackwhitered%dgreensave } { blackwhitesave edgesgrey%dgray%dGrey%dGray%dblue%dgsave /%s { mark mark mark } def } def Symbol} def } def } for } for NoNameNoNamecolumncolumn%% %s /C%03d green%d & Ҡ end restore %%%%EOF Group %drestore Group %drestore grestore %d %sF%d (unknown)(unknown)copypage showpage IsoKeyCapsIsoKeyCaps grestore IsoKeyCaps } ifelse IsoKeyCapsLayout: %s%s rotate (%s) show %s rotate cleartomark closepath landscape? 0 %d %d { 0 %d %d { description moveto moveto moveto moveto moveto %%%%EndFont newpath 1 -1 scale %%%%Trailer /kbx 36 def Groups %d-%dKeycodes: %sGroups %d-%d%d add exch 11 dict begin cleartomark cleartomark cleartomark %%%%Pages: 1 %%%%Pages: 1 -90 rotate 0.25 setgray %% Doodad %s %% Outline %d TX TY moveto %%%%Title: %s %%%%Title: %s /landscape? { %%%%EndProlog /FontType 1 defcurrentdict endNo font dumped %% Keyboard %d %% Keyboard %d 0 0 moveto %3d 0 lineto %3d %3d lineto 0 %3d lineto closepath fill 0 0 moveto %3d 0 lineto %3d %3d lineto 0 %3d lineto 0 setlinewidth %% Begin %s %d end readonly def/PaintType 0 def%/UniqueID 0 def 0 0 moveto %3d 0 lineto %3d %3d lineto 0 %3d lineto 0 0 lineto %3d 0 moveto %3d %3d moveto %3d %3d lineto %3d %3d lineto %3d %3d lineto %3d %3d lineto %3d %3d moveto %3d %3d moveto %3d %3d lineto %%!PS-Adobe-2.0 %%%%EndComments %%%%BeginProlog %%%%EndComments %%%%BeginProlog /centeroffset { %%%%Page: %d %d %%%%Page: %d %d /kbdscale 1 def %d %d translate %d %d translate currentfile eexec/reencodeISO-1 { /kbdwidth %d def closepath stroke %%%%EndPageSetup /GX exch def /GY exch def /ItalicAngle 0 def%%%%BeginFont: %s clippath pathbbox /kbdheight %d def kbx kby translate kbx kby translate C%03d %% set color ] def {restore} if %%%%BeginPageSetup %%%%BeginPageSetup %d add exch moveto %% No label for %s %% No label for %s %%VMusage: 8064 8064 currentdict /S exch def /WIDTH exch def %% Draw a %dmm grid /ISOLatin1Encoding [ 0 pheight translate /HEIGHT exch def Helvetica-Narrow-BoldHelvetica-Narrow-Bold72 254 div dup scale (%s) show 1 -1 scale %%%%Creator: xkbprint %%%%PageOrder: Ascend %%%%Creator: xkbprint /ury 0 def /urx 0 def %% Begin Section '%s' true 0 %d %d %s %% %s true 0 %d %d %s %% %s %% Begin %s %d labels /isFixedPitch false def %% Now draw the shape WIDTH SW sub 2 div false 0 %d %d %s %% %s false 0 %d %d %s %% %s /llx %d def /lly %d def 0 devheight translate HEIGHT SH sub 2 div /realwidth devwidth def kbdscale kbdscale scale %d %d (%s) centeroffset /FontName /IsoKeyCaps def%%%%BoundingBox: (atend) %%!PS-Adobe-2.0 EPSF-2.0 devheight devwidth gt { %% Done with keyboard %d /FontInfo 9 dict dup begin/UnderlineThickness 50 def dup length dict begin /realheight devheight def /version (0.0) readonly def/UnderlinePosition -100 def %3d 0 %3d %3d %3d arcto %3d %3d 0 %3d %3d arcto 0 %3d 0 0 %3d arcto %3d %3d %3d %3d %3d arcto %3d %3d %3d %3d %3d arcto %3d %3d %3d %3d %3d arcto %3d %3d %3d %3d %3d arcto %3d %3d %3d %3d %3d arcto /%s findfont reencodeISO-1 %%%%DocumentFonts: (atend) %%%%Orientation: Landscape /devwidth urx llx sub def /devheight ury lly sub def %%%%BoundingBox: 0 0 %d %d %% Draw keyboard full size 0 %d pts moveto 1 -1 scale 0 %d pts moveto 1 -1 scale No internal font named "%s" Current internal fonts are: %%%%DocumentData: Clean7Bit /pts { 254 mul 72 div } def { 0 setgray } def %% %s { 1 setgray } def %% %s { %f setgray } def %% %s 0 0 %3d 0 %3d arcto %3d %3d %3d %3d %3d arcto /mm10 { 72 mul 254 div } def true 0 %d %d %s %% Doodad %s %!PS-AdobeFont-1.0: IsoKeyCaps/Weight (Regular) readonly def/Encoding StandardEncoding def%% Done with keyboard/page %d true %d %d %d %s %% Doodad %s false 0 %d %d %s %% Doodad %s Couldn't allocate black color! Couldn't allocate white color! false %d %d %d %s %% Doodad %s false %d %d %d %s %% Doodad %s false %d %d %d %s %% Doodad %s /%s-8859-1 exch definefont pop /ury exch def /urx exch def /llx exch def /lly exch def /devheight realheight 3 div def 1 -1 scale (%s) show 1 -1 scale 1 -1 scale (%s) show 1 -1 scale 1 -1 scale (%s) show 1 -1 scale 1 -1 scale (%s) show 1 -1 scale 1 -1 scale (%s) show 1 -1 scale 1 -1 scale (%s) show 1 -1 scale { %f 0 0 setrgbcolor } def %% %s { 0 %f 0 setrgbcolor } def %% %s { 0 0 %f setrgbcolor } def %% %s /kbdscalewidth kbdwidth mm10 def SOLID { fill } { stroke } ifelse SOLID { fill } { stroke } ifelse SOLID { fill } { stroke } ifelse SOLID { fill } { stroke } ifelse SOLID { fill } { stroke } ifelse SOLID { fill } { stroke } ifelse kby kbdscaleheight add %d add kby kbdscaleheight add %d add kby kbdscaleheight add %d add kby kbdscaleheight add %d add kby kbdscaleheight add %d add /FullName (IsoKeyCaps) readonly def/devwidth %d def /devheight %d def /kbdscaleheight kbdheight mm10 def 0 devheight dup 2 div add translate GX 0 moveto GX %d lineto stroke 0 GY moveto %d GY lineto stroke /FamilyName (IsoKeyCaps) readonly def/FontBBox{30 0 1033 1019}readonly def %3d %3d moveto %d %d %d %d %d arcto %% Scale keyboard to fit on the page { 0.9 setgray } def %% BOGUS! %s %%CreationDate: Sun Apr 16 22:14:26 1995 gsave translate rotate /SOLID exch def /Encoding ISOLatin1Encoding def /kbx pwidth kbdscalewidth sub 2 div def /kbdscale pwidth 72 sub kbdwidth div def /kbdscalewidth kbdwidth kbdscale mul def /kby pheight kbdscaleheight sub 2 div def /kby pheight kbdscaleheight sub 2 div def /TY exch def /TX exch def pop pop newpath /kbdscaleheight kbdheight kbdscale mul def %% Determine tangent point of first corner S stringwidth /SH exch def /SW exch def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /pwidth devheight def /pheight devwidth def /pwidth devwidth def /pheight devheight def kbx kbdscalewidth 0 (%s) centeroffset pop add kbx kbdscalewidth 0 (%s) centeroffset pop add kbx kbdscalewidth 0 (%s) centeroffset pop add kbx kbdscalewidth 0 (%s) centeroffset pop add kbx kbdscalewidth 0 (%s) centeroffset pop add 0 devheight -1 mul translate %% next keyboard /threequarters /questiondown /Agrave /Aacute /F%d { /%s findfont exch scalefont setfont } def /F%d { /%s findfont exch scalefont setfont } def /F%d { /%s findfont exch scalefont setfont } def /logicalnot /hyphen /registered /macron /degree /adieresis /aring /ae /ccedilla /egrave /eacute %% Resolution is 1/10mm -- need pt sizes for fonts /dieresis /copyright /ordfeminine /guillemotleft /paragraph /periodcentered /cedilla /onesuperior /germandbls /agrave /aacute /acircumflex /atilde /parenright /asterisk /plus /comma /minus /period /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /quotedblbase /quotedblright /ellipsis /trademark /breve /zcaron /dotaccent /dotlessi /Zcaron /ring /plusminus /twosuperior /threesuperior /acute /mu /Ocircumflex /Otilde /Odieresis /multiply /Oslash /ucircumflex /udieresis /yacute /thorn /ydieresis /dollar /percent /ampersand /quoteright /parenleft /cent /sterling /currency /yen /brokenbar /section /ordmasculine /guillemotright /onequarter /onehalf /otilde /odieresis /divide /oslash /ugrave /uacute /ISOLatin1Encoding where {pop save true}{false} ifelse /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft {1 index /FID ne {def}{pop pop} ifelse} forall /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /F%d { /%s-8859-1 findfont exch scalefont setfont } def /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /slash /zero /one /two /three /four /five /six /seven /florin /quotesingle /quotedblleft /guilsinglleft /fi /.notdef /.notdef /space /exclam /quotedbl /numbersign /bar /braceright /asciitilde /guilsinglright /fraction /fl /endash /dagger /daggerdbl /bullet /quotesinglbase /perthousand /grave /scaron /circumflex /Scaron /tilde /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /hungarumlaut /ogonek /caron /emdash /space /exclamdown /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute 8551A6FE281A24F7FF33BF71784C08FAF0BEC6A24D2D9612EB9369F0F90A5C3A4CE0CDDEA2B6602004E0E71429DDD22F439E984BA180E326344321F3E6F379F332FD065A9AF79BA836D33A465E4D52132E403C31712D939E800A492D5BD1B69A1D55092933BCD8CFB7BD6A7B1E8172AFEBBE8CAF0D3B5C9BC9BF376DC2A6CBA5BA6C605BF0342BAB197654B1472A5875778372A6407275CC2101D85C5E0C44523258E0B2F6F1FF7C1F4CDBE7CDBCF7FE819761317D5CBBB0AA8568A4F610A7ED75840096F2412D4EDAE38A49301D06C0AD8D577018FD86E93D124E6DFA543F66BDCBA8EE83BD7BEAD8EB002A92CF1325702FA1106CE5C18511F55CE7014E345978915163CF281F100E5E19F6200EDEC562EACAF3962204C68432B46E9AF33BAF22E995C2F23E0431EAA01028A1028A3B161DA5CC9D3CF8D8D28E3D39021C19B764A39F0FD70E85ADC704255AFBE9C86F6BD855B80BA9BF7A0FEB20755847948576CF7C428960B3C73E52315DD854162F01CAAD32D1A07C07E879AB0F152EF3760D33B0B8D68D7A0E09E9145C0DF114C6CAEECD6465173DF643FF820944A3C1DD808F03B79B2900BBCCD33550C677777D48B9BD3B727849563C32076ABD5A74E54421912FC0833B178FE21C6B7C6DEAEED50C843AE02AC024187CE9E15E7CE921AB0E8FAC03B2EF345D361E6BFEB0F030CD43355AED642EE478E257B2D06E4880C531CF4859A76D7B6EC1C331450084E78EA4C88AB0555E7D3B486DC0F93AF35A41D9313815B951690AC587FF9D39DF68AD050A91940B73A54E93F3AF3BB3B3E15FFD455EF337811B52450532A4A9BDF4CD0A1120874DE11BC9F8F7394AB45E434E2DEBC4588AA1DE3AC2E31EB7AFB4DA68E9C72FF1318AC06C2324B51BD3911BB3E64237E46D213D348C9611C1D32A3095C4AC75513189B26F6A85171864905B5DC60C151A4BDD182B0BE8C416500E3D46F6680214B33CCDF1CFF844EEBAC1CB63D7608EDC2B5A7F955680D5501DC2E3014212563F713F690E6964998A1CADFCB5073630BCA52FC3DDB9B3B9BDF9CB7CE9735ADC3B5E1D6B6210B33A1FC400B0392EE750598D7AD3978FCDF244D8EF20532C9DFC5DB04775CA3D5BF3823DA096C5FAB0AC9E89227D13951380189A3AE6240C6AC0D75E21AE7C82E4164334ADA23FE21ADE74B6EFF0C51323DDF81D85D36F0441F3ABAE00B94A81F3EAAA860FE8881191FD60B98C4FEFEAA1BB0D1C6F6EB027EEA34B722AACD0E9DDEF644EAE74714CD8ABFF98D847CEAF1E6AA251F894A8DC3F5AFC0FC1B2197E940B4D473A3890674DE22BB9126D90A7B9F2C957A936CCEBE6406D5803EEB28A2F429466426ADF1559A9C6CDE09F035C7E9D79B54792A7CF42FFEF9C3968CBCB5185CEE897ECBAFFB11AA4D6BC1338301B9EB2BCD4A0CE792F3209A75C95FB448EEB460B7178223CFA97B547547D4CD37F2898CCFBCEC519E6C1363119C5B005C3EB38C2F7D54B2711FACE82B6DB16387F3EF76EDDA4E1C3042D2F82EE0448BE80623558FB7DC4CC6F95FE735EA451E0F3C298E84E83357FF7163B8939D5B5F4B22ACC78FDC62272A317BABE200DB627A7D2231D72555D7A06ADC228D2D9138D228A92395B4DBE7754E6C944EEAD5E95334FAF3F2888FAFE14C60FE19823A3E936A908180CD1C3E3E829DF1E98270C47A2352FA9F66C80ACFEC4FF572E6D41BD4C3324F0AEBA8DC7178820253F86513622A670D4CD880597667D05EEB4217D871D17700F5DF41F3ECAF271FFB35D34F6FEBF07644B84B2458A2AED9D9E85CE5EA8FA9D3E12CE0E92D899CBC468BECCF6F9132A68C1F067CA0260196965C8814957CF9CF2EBCC4427B031B58AB8BE9C6EC8E2D406EFC85145A5A614C4EF911CD976127593BAFF46EE074E8D4791AB00B750BB17BB8CD0EE7A5A6C64AF8E1F59E3DCD87AEB1ADF44F9B644A4B30E7AE35A8749B2612BCC9DEF8AC9B4FA7B3FDC67ED1D817FC6CB32DD3811D0720B6D45C9FCFA7954C30EBF1DC58F9B0069931500648F0D1C0BF83E45E08522EEA6533E00CE023D23C2F5718ACAC657F76557B2B6D980A6DF58A3A22A752A9D6938E2267AE85BF94D94E24DB2679A2191B8872469C0A7B4008E2239FC7FD65AC2DCCF87031757611D0B6BC2F90B91E9D097FB07C6C31D6699809BA46027BA8BF0DD4F4911C3F8F9A45993F19319BEB3CF42BC25EDE305BD1EA1244BFE062800EA8E16E3893DC59E552D0E13704E1F8B3278396D6F6A11DC6F8625E6329E1BB89FDCE310CCF08D1946239A563FF7D6867197E78129D91BE5C1C61D4FBA7F90E270AFEBDE6E60E09B56348C71058E9FA2646B8A86F35C3979A123A49EC3D0FD488CB2F5ACF1D3088706E2BF31E2A8603F3FC4F2D4879F118A584F532CDAABF2A5E8069F69444818E4A510AD4D5EA007D27E590176EB6B5C6A676AB2113324BBA8684FE9D6CE31653D763BEE8C6A2111E957D7FF83232DEFC94056B1A6A0834C1C5E5B8C32FF5C0E1156E31A3726649839C36A858A7DCBFC523C4BF9E715B1A964A33BB82B2DA197F3EAD6EFDD8B27D38F7989E097046DDF159188E431D1FE927CECD187F751BD425F63E4F6774A88E53980F706202F0EF89827D7AD153D617FFFC3092679061B9D40EB6E730E254A952FD27C6AF464E9893C7A3D43485865629D72323F52B177D0F264428D37E1F57123F52B107356C8B8F82BD131B73C42619791E589D3CC46DF65889F0D68CB0E2726F89DD4A935FAC17E007AFD3775E87DC4F0B2A154743C3C7FAAFB4F3C248948B02A50F1294BCB125D472EF44797210694EE52ED647972585096EF4AB914D033123CE6F7BD7FE8B9F73BF0F52FDD8EC6C9979E96B47BD8C2F2ADCB420A723F55341CFEE2351F5A81D0565995BB1CE047667B8D992F98D98F6EEA1710A96731CF2350E92810E081EFC5197ADD4BAD3D1F39721F0AA5FD0CE3B57518ED0942D775E0732ADB79EB2C359B648DC937D4371BC58654B5AE4FAE3D9816EADAE629FE6A7265E62F6F9D9CF7E954BF764D16AFB7DAF32596EDBFF141CAD0B7435B6CBBFA633EAD6072242A3514F815810E256858C9B884408683E2667518A6AE13B946A722997F5E906FEF0796908AA196DDD7A1D094488E883B9E942A322E2C7D48EDDC55353F07747B63520264F0DC09C55DB76104E03C95B392B019AEB84CEBC86DF52782B5DDD1DE2AF49B9EEB12E2FCDF150D7CCDE7E2A8AA7B6A7096E2523565DCB2516D216DA76A14E8719704367749C9DA3C0991FB850638EFFEC2AAB75074FCED82C1F32F5709BEA7DECCFA6B11015858B9DA957FA94C1DC10F3588948061D9A18133ECB9FD33E098CB982E7EFAFDCE42EFAEB46CD931C4061D881CC5467BDBBBD04DEFFA91445E0BC2264630EDA1127AE6C68ACEFB5D97074380EE73763D3757B6FE283FC8537566AA35E5C116487B3E7E38202D4716A0036C07ACFD54E066736E1F96E466B1D9F4E3D332F68AFDFD1CE473561117A6B25B2CDD597F0FFBF1717DA5F38C7FA88C89BB04B756A8B6D15530B9D4FED94CB7BC689939ABF9E039A8B6A6005711599FE62DEFD20BB32B9D7955E2862CF70BDCC552A15DEBBE3C8FB6F5E262C567D1206E97BBBA06AA8E9DFE48EEFD014E950C04E21E26D8E68D58EED0A62F5E58A95ABB584DC4BD3713366EDEBC55AE8FB1945096BD923FE56EF2A120B3B626F5C003CFC5BDFB070B70F6547033D2265C604C427D1D2200BCAC51DE3E7FE9DE200A987072BDA316C75109106C806E2A639E1FB113CF30DED85351DA5CB1355D361CA025183AEE36567C4A8F570C70F4893FADBB2255F7B492ABC83213B54F162D8971EB4E5388CCCB4D83FD37BFFD2EB55423FF50C435CA62BE8C3B9F2879119A24A50829A69837E0EAFB1BEA0B509A54CD7029F3D1EDDD790AC4B82130C05754D2E260F06E2E676708D48CA94A7C655C36588B93B1D8FAD063D716D8A72D46BE475F4843C8315AC6D800B85834F75AD70E70404A2E2780901017489ED3A36288E803AF935F1990CDC06EAB81FE6B3D4CB80D9061D325C912339561EE17D572A2C342B37238CE656875528F48E80BEBC19E9BDE56CDA65F388483C3A73E7CA7C7B073DE643BEBD08F10182A813CBD30F504C064654AF74B9E8C443870A7187DA38A27EC957D259F6F727D1218FD5DAD0AB3A0F654C0C06B5CE7720933918C9551A2206CA5418050EA0108F66AE8AF9F98474BF9735F49E4A05E2A001B659C637AEADB3AC071DEEB68CBBF532F009CD1A9871164FA0F09FE55E4B56DCE68F9765DAC0CD0497C46C2832C7E6971F108C8CDDD10E94ABC1DCED238E660B91F8561B1049549C626F10267DB45863575D5992AB90B43E4EF2F82BFB3E5C81CF180C989EB94898877F3B065A1463EDA899712880E7400F3287ECD7B80F29E3508DEFC0C119789899D520C6DAA060576DE7F8EA48FAD1EAAA7769A9038775829A0FAB7A4629E735F4D32CDDCB81AE1D909C2068C36D6A5FCB9E172B220DC35A7A1AE5650536C96B7A76F777F7593F7415FB20CC60DBD8C10720B4AADFED9443E0085CB3801FDA3536EC42033FE1B107965F6E4FE703E1B0988BECC59F91E72DB6EB3195176DAD3BAB734E7EEF31EF2F2ACF6040EFE49FB479BF83A955EB84EB5C865CD49912B7D5DA2FC2CDE55624F80B3D23CDAC025AC28EE363407516920B2BF7473BFC061702407E8228F0C9A929A54C1526C173A76744EB706CFF7A4D07A09AD09D6D31574042DD04EB9B8B731EE1A93129F161361EB321FA24BFB33DF690F56E789DC9C3EA33088379E2A75A060674E2384DF17E3032B2A650914338F1C8618885299CADA420BD5984205B90B7447907F9F1548AA05C7C8D6625EEEDB0ADE7DC28B387ADAEB97EF36A57C71AE6AA07524FB1597EDF32E36FE357CD3AD459EB614DC01BB0ACBB798EE8E847B4D1F389E75ADAD0878D09AE4EFE9C88BE371C99161A5B4FDE4175C94D6F3CFDBA861573F13FE543B3F022B19496DE0D576C76E256530D4494D7C88F9F6B77C54E27D01B02EC77B89B7BEE0315D7EA824E90B04341AC8D23D24ECDED98C21DC4AC9FA672950D90C6F22DFC5970EECA5A9B0AB2A50703F1F0EAFE9BA50968D01CF29A26E8DA61ECB20D8848B5D13C1328F95B8516963C21FF3D35E8CBF40A0A1802CB0980C44368E563B3CFC66CF39F96240CA07D01A4B63CC80361EB859A42D27969E08E1A324D366382E5227A8DF4639304901958A83B93E168E709B9A3B01A5DF227D026D317AE5A74E291A0AAA5B4757CFBCFDF513344E90155C8038C3D5BFFF301103AFB1EFAD0873AD5ECBDDAF94DC5130CB4AE36A57C398147DC12F54F79B5935EBD8B61E59EA9007AB5509B87A982CB2FDB09F2CDBB9999FC9B6431C534FC8BFC5B681092D99AF972815F436CE0EE102DF6846E7EB84A5750ABC79FAB0AA3FEBDEDC54EBC205A0511870F6AE6D37C81A2601690BDB98911D64D84AD154152AE131810F85821C4F2C3C05F59DE17E67EA98401A585099287101C1C95EBE3ECF028BCDD5BCBA1136869F8E518152BE454EEB34F34B6EC4734FE6C562A227BF9BBCA8661F2ACC204C9272B9530FB49D1BA84FB9CA9DCF365BDC57739A5712A53429DA22ED24B0FBC0BB38C0D73654271EAE00D3830B2A67172682020BC20637ABF30F200E0DE76CD12C95E339CCC5F62DF6E0572784410E1DA428EB5D34B8014B6475B5EC1D427F9849C3BD626A3F56C3EB3A0838110756F5C6E305944E5F42D3C37B6830041E637C202018A9CDEA58CCA8E586BC79779A82642B67BA03F48152C521B147D68FF52843D623F2DFA562DD05F094C46EF05A102717E00C38631DA09739B57B412D0EA6D17847A4BC9B5C56692CCDC78E32D71B68D2B274233DEB63CEFFB0704E15A869C0EA62A562A6F652ECAC59632EA2A4AE1CE24210AD7820AE57A4CC2FFFF97E2C516DBB7515A61CC95B3715205D11E3347B30896CCD3C5262A498C7FB38952CF569766156BED8B5F5FC804C0674088E00CA8CC35A5ED23CBFDC39867D90590601F7D5CE0B13A21F297AF7C323FF418670C3ED76A9E1F47B24473A19E345241A0BA804DF96EB5B525C86940B90A5D09635F82A22B03C67F975B05FFFD6A91FAC4546868477E865C5663C6D3F9DC0C041C5CCAE8B24FC0585989679ADE6E4B47B9A4732BDDB3F7A7CEC62B6D113C229A28474601BD84E7D699D78788BE3B7E757222A6C63BD35775B6111F584084A66981690F7B3B964473847838A572EFA5FF79E680DA838D8A75C895E335A3E68A7306F88FDDFBA96676427230D64F5A9AE513218789050379812F43B1AD7A9B7C1867363C8E51A7CD7498ADC89D8A3B523E40A849D202CB939D8DCF1F1ABF767DD7106F80F6D08ED45235F9DDF810F3E37C311888F300EC445D2FD4628E4A309ADC941D67F3281471C6F2BCBFE32BD962BFC5F40CECE29CBFDA22B789EF88660F1C3F44FAC57083CE27A13764B328DC286D0C37AEAE647B7CA5985A09673B032B34214223D7549B6B76300326FDB2C66AA89640007EB6032CC6A2FB9D61347952AD3ED0A9D0F9889E004EF5EBACCA1CFD9C948E0377C29874546338E5962786BE164AFACA506A8A13669F77AA351A4CC2314291E1B04F0A8A498E05138BE6B5FE2680D0F54CB40D50785D40F23A53A411150EC34B702642BA3F2E1853BAFC6EBBF157B423FBB18F6D5BCE1955E2E8B783F44312B05FFD359FF00BA2EC1815E2092BF4931E836DE3B8918DE90EB21D0A3B0D67563723E4C60474B68AABFB3628BD5F168774CD21A3531754DFC9CD4F4DE13EA2AE551D17A85A009B4E4015D137BF1303C268985668192CC8BF8BCB0603B55E9B0594AB12777BBD65CB6C547A4BCADE881FB5FC9219C0D1D6ED38BDF82D5563E05EC9BB1B5571989000BA2B5E39BFBDAD09419B8A5CDF30266A54CA194B4C5DC22BFE34E5064C3A025CB6ADF4E5AE66A5A8B179A46FCCE1CD1AA88B98BD3BDBCAFBB13829C5F28CA91CBE69C7EBC0CBC8EE69903445465213D2165241691A68F251E5E50F149F9CBEC53AB7F6D57442056D06FD08C1C9CAC47DA2DD4B4102A831FA456F9E75696394575A230EB12059E13AC0505748FE675563705C7D8B757E62399E3D9715A2535E88BEC0C083E256195A2BDAE88F970A8AE15D4FE13885D5AE5024EBB60EDAF7CE0D1032AEFAF852B62C3536BAD01A873C648D2FCB5CC4DBC8E72C280901FD80291CC179F4DD896E9EEFDB746C56D194978600F20E85F2A3A80F4C422DAEB567C5CC5361B4387530F86D0D3D6100685F30F274B895AFAA871891BC2645F0C33AD1046FBB8BD202FA0578430A59C8F609032B1AC55BF146180B97C73033ADEC767E1A66487CC709A296E6F47A709D63B76D8FDE87CC9D271EFBCB2B61795B9DA375A707DB621B74D3ECC4B7895B65D08EA0836B6168F66637D5C52CC34F27A08A33083AFB20B3C2AA44B258F02F8B90F328B7747F29F760A3DC6E411532D251F7DFEED0EC492207716EF511B25CDC477C2F16B66F5C196E22B12AEA03F6EEF8FFF5998C700758F35E01DEFE3CA69A1D04B4344440EE96A61D7B2EE41F411013746F6134A26251D92BC34D4A5B3D242752EEEE1A9F4618180690C042501AE97A3330ECA396FE3F26CD27BC7E69EE57067A64049D1CB6010DA78EABE831EB58C9D65E45F66452DB082F6A163916A9E3C178424A9D5EF30DEB6ACE4C56714AB62D76576D5AFCE4E3B85DB887715EF4CEB4AE3F65AA654567C5032B3854D9CE71ABF84EE72D321CE7CADA953B46CC7554A76534D1B4E1EF5EB5B316B22561768894355C7488C7A2098BDFC3E2E4598D81C3E54B64940350A625B25CE8D7AC5632C785E52473CAF62A521E9B1F5A69494B3ED5AF8A1CA1F8C2F1CDAC0B09E535AAA8E8F2DA4187D48CB6BDFBE46C74E4985450F3BB4B2D5AFEB2C39B3D0DE4335D5FA728AF0424A6B92CF631D25747265632291C813C2E3FE6DF152F88388ADCC411D1147E79CD8F42F43E65B1F628C04C73BBAC4288681193BDE7294F659353B0DFC9EB47988E09FA957F9459B844324A7BFE9DF0308FFDFDA3B09D04BE4B53B53E79FA3E359B547B1E620B486124477D6F5CFDBED07E1ADA5373F28311F7D646E00385EBF4ACC7F97BBE0D38730236B03968176800A9B77B278D01433DD59101416DD276823560A0D6F0CEA5C7DB02447BAF113A14F175EF0C76CDC53B33ACD30D15A4F04BAB43B0770362BA094751C179F99B75C17A98BE2F578F16C765C8E69B5BADAEBEADA801FBA618B16E7CB1A0BC08903D9A3B7C80046FF74383C8D114C08635E1AE6F7A31D160885A50BFB0CE5D95284262769FBD60301FA55CF4437106CDBA0FD4DBAB88E6B033DECE23713A08DB472C877C617F1259EC9284CE83F2AD3C5E449112DA2AEC5F3A2B67EA2DD50C162B2317659F1DEF5A5925346AF796F743AF986298D2806C9AD21E138C675E1ECF4C4281038EA71301C857910A4D2D2EFFDF3DEBE8AD13554A693C0F8A307B6A12CE3BEFB007875104FCD54E3ECFAC68F6B4C341342D86C55D5ED3E15103A7A8ADF2BF865164B2CFA5D80270AEAD3EDA2308CA8D39D0BC180C6AF19E5B2113A401D67FB8365996C07F6DACE02F8D40D593EF1D09FDF23CCE07EB0D7FE2AF470053C6C330AE096093BDFBD8001171584979B4B62B07C16B9E48DD16BE2D0F92838D3714C6207AAF4054576895067F6A16B9924ACD74FA517FD0CE7F385C3B8CADEC8AF14B6117889BB8A87998BE5D2CE825C76B83160FEAB166918081FD7F7429AAD157ECD554163FAD079DD7B8F215B914BC6AF1C0D703E39CEB78E1EAB249F595DBFA22CF82D20442360FCDAC67A548E9E51603F74E778072DBF6F71A91C02D31274C26968CCE4CA30D6D4B0EF9BF8E5C0800B4DF35E0B37D6FDD807CA3307547646AF7B780B5148D6630EB11E1C8AB22EB488DA8A75C43F0C4EB1ACDCA00B1E4BEE10262C8F099D4694EA649E9973EDCB9682E8E5CBA4260B428E7A2A5CC995F5BE1347CF37B7B749F3B66AA45A57740A8610901346375CA3286C87EB2C357F45879A60DAE7390E83A4623862766014998513C5873CFEAA6A0E601AC2B3DD723D570E858D5DC3203224A6A158408DC5517916992508C9F44492C7D67B9F8B7FEAB2E42CDF6711C251E497444D0A895F3EF7C2E734BFE16DCE2C9758A958B22493B184DD5738F29F7CDB3FC225FF8C608F009C24DD75A045830838583DB6A8E5411C847BB4C5C373028F05F3939AF74ED6B4FC2AB2520D443AFCAB5CB9B2212B523AF44F152A43ED6D5EF79F9CD3D9F0F27AABBF489141AA784D8FDFE2681AE71C6FE5A1407007B28F92FFDFE9E2572C14D3715FFE9ABE355D836B2B49CC1F20AD2E6124BDEECCFE629AAADAA9F0D4C8844235CB20429D07471CDC848243D185AADD3980292B93FFC607D0C519B2F3390879E95E994A9FFEFE66DCD565852BA418CD8C9D0C848162BBC5487B58C8809BA65C7AD1DECAA91FA370870F01AD641E9E9236B951F684D4767FEC64696C7D83E49C841A0304C14C946ABB82271137095F2DB04B02676F40CB838746E40D45702288746F1339928F70B355B84E66FE1B09EE0FF59592A105A5CBE8BF3D3B7DE0C090C9E2D6A4576AB2E39831D3EA4F52DDCFF62073E5E00D0FE76BEF1DC2AD774F60085871B516CB34AF222F71078ED4DDCDE2FA99AF6402BCA28362748C6761C8F173C4BC757C7B3D48C61B339DB7F070F71401B6341C843A34B570E49A019D7A8E2993D805D50C6C8B16B42BFD72B7896E44C498AFBFBD6D97487961AB646A060DF7907ECA59BEC1A5778D5DFDC71F6BBC51F8848561F6AEDF33E8D095E8419F83F63F973BAA1721A754A49D2D6045B9D527C613AC0864A87122A2A561D7C238AA4255E9F23B90769AF35871F6FB5A4E089751DF62AFBB9C73ECF551B255AD4577A73436F1CB1FB8FD7339A6F3CB35310990E9E72CEB6F919F1055BC771C1E90BA75B7CEBA7972932A33A929499030879C592806C491BA2552A6AD21235101C5639F4E2BF3BE1273F70A066749DE6B01B7B606E938F55648385ABDDEA9F4C7EC08A0348C73795689C812C58AFC865B2A8DB0D031E69C23E66BFBB7200EB207E5A922E44191262D9A7043BBDF22C4BE28F012CA7DF1C473C00D76070D49FD2140B35CE5621114B5A62AD7DEEBB007D72BCD07C1F7B97D31EF381FB0E38C15A85A2561194F6FA933C6698CCE07859D29E7E9F28FDE58078E3B3654422317AF59617E4E6CCAF3DE902B98DA088D19266AA88457169BE37F770F20C2C98147F17CB8F84DEEBFC9010D7EA5F8BD43FD16ABEF0EF2EC6D872CD9AA9DC7A0121536A6158FD6F131C7F61975956C27B42FFE4BA0AC507A558B0C6A9BBAACEED7343322FF6E198F3D839B535C22BA429513CE5F9D1D0D45B428FDC72A10D1B35AA9B7687929DBD72E137E84ABA45D2588EE8F1B34B77A3FEEEB77539C813D401CD5E9E1FAF3AF061CEC302A0F59371EC40154C36247509AEBBDE391BE0A26666D1538223033DFA6E6E7BD9C73BF677E4B693A82F02FC39A23B957F6E543E838E1046074053414D0589A0455FD02AEE95E9F3F92D89957A212BCE644EB20DDDE639595308F159AAD3C5E7E260A38B2CFB5B113F441769FCBAF88F3BA451E8A2C9C8D35BAFD851A7A4EDBA0587506D65755BF09502908F9A49F71CEE69512EA49C1509CE9D3E0B9D5936C10DB21DFCC85D70B9F84DAB0590F85DDB7ADE716C4B01B50F79BCA32EC7F4CD8871007777B8A4E9F0016C725E9DFF8B6518D8D362BE2CA33E5DE9208F3A7102B0B03FBFFA836D6D22BCD4D5EDE958A513E1EC8AA07DE220875A9D387E1DD6084C7CC0CF687A0BCFED60917033820C1C32B987DC81BDEE6593B0C7C7CA61E9B7EA3190B8ECA8C576C3972A32FBDB5159DCD2709EC37E26D7E3EA4CE80B958A8C4DA9C31A49D5A261FBD5600BC760D8926D35D2EB7F6DF2B03B96BFB959331E3263D3939DF8E90265E78CB344C2A26C772BF181BE88D4EF52C768B7B7242A63F6143A90D9A58A9A631B71B0E3B2F1D769DA37712747A6EB962CEAE0BEDE3E1E8AF54BF0A125F71950C95C6BF00E9A1338933ADA6B6C0A36123E0B19C98BBB6A256BCBFAB649198F16AD9A97F9AC8DEB71BC414FE7787630EE20CF5CDFA8B153125551BE4E2AF7E2034287198BF5BFA020F711ACD733240177ED50369C489CD12A7646BC23C7ABA23C6BD876E5C8E58C9EC1A966AECFFC48303F3D5A992DB07D771CAAB68845396BB4C2D62BFCF8E83ABC4EABC844CBACB83DEF961F50B3E0E6A3B62D221075B0418E9ADB715E41B89CE64B968A05608D74918A613D3BFCFBF2DC8545F2F674F5079746450C4B6563A73B3B54FAC871C8E9B5C2F18264C24244C80A831D7730C7A900BDBCA48F86DABCACBACFCFE013A5A17E41AABB88A9175F933D0B67740AF818CE62B3D94341A4A574567BB0EE15518D2527EF12C87DAC85525C1957C82BEB03F6A11D271759E7D7A37844805F1536A06ED298ED5183B9CEA79A985A4BDD151BC7A1C7451D1A1CC6FAE40705944BEE06778917F5518BFD7F9193838FE6D2A7FD3A4A85BBE51C6344303866B6F136419DEA368CEC9E3A417E7D746A616A1545C17E5D079D5A3A44EA47F09BD384822F7FAD9DA7B374FFD7F8C2835EEBC78DD73FCC1BD92E8A08DE9508B60B26BA5E4E8B78918F8CAB2CE6F8BD2F278A9829038DDD01F54BF34454556C65E72B0F3BD3914F1DBD18B75F7B8AB7094982A7112BE3270DCCD71767EBCB3EF4F890E649934628DD7CF94B136F6519A018F25132437F358F45D41FDC9CEBDBC908C6A676EB509166654674F785B20B6E5B78FAE2887065213B3722367DACE7B4E5634197C4DBCB7559A44599269FE33C515444A8B23A568253F684148084CCA02D97DACDDD76BE161557335CBCEB7F169B947DBAF91F4FFBF67C9366607DC44EA5A009E33083F2FA00CC2DBE6DC22A8D9AC53220407054353C28520C1DBAFB1EC685F6B8DC947D2980E66F32B39FE4304DFCDDD716091058B0A5DA0CD976EFFFFEF5FB319763ACE0D8C35018A5D6F96F9D35CB937C0CA376D5BA86F62CEFF2D70EE7C8B267C8EAE3AE4B5967D3E9621E4877BB51A4644C824586C2A259AEFA84989E818279D2D0E0AC23DABA22917C435AA185EEA4C1E947C6B521F50298AFE02A430C23639F4449C6E41B6A8FC76124A079407DF62EA10F42122BAB59346FDA72D33AAD31221A692753E4E7657F35BA720517DAC4402C348C371F08B4754CE237D36176D7EB6D4D556BFB1F9C9F8A66054CBC02E3AA7A92AD773142AD76CD0AA011A995EE454C578A9E9BB264BAB094E1C8E48D1A1E623990F534E80C09D10602DDD9AA4D9F44027357D5BA825ED3BBE12CA7E2F28340DA18D04CCE3C6A847026EA23B46F1F7B7E3D22AD6C120E1521CC29EEA4099FF437EB15CD35F83A6CEBD6A294598B4A7D722FAA3D39FA555C50BE2E278F70C1874EFB0507E8115B76162E81E86FF60088B022B7BC956F89DF766F2C63B58474DC295DDCC98CC388E0D37672E158EA926B3C761074ED40A2E38071EF978D761EB724B94BCA71524341B1FF4FEDA4F17437506B13971426C03203BA8EE82A69111F328509170AACBC96B1D2A0B1502E7CE6D0F95FD29251351DA875F8FBED6E9C663ABFAB57FF0F91648E8067BE92F40EEFA8C2AE667653EABA645F0AF86450C4C36B85CE4DFBF94ACD273F7A1EE5FCDB615AB50007018E9BAB2A961CBDE51B3AD043A85E66C424AB842FFEB7968031AC54CABEE0A08C38B4F0A772A3DBACAB794373F0696D9BA1CCA4312B827F28D50DF0EFBB82507DD8CB846F388D9D69DB05C19E622B2FB4BE2AD7C54B08DEA4D4CB5F62989C792AB3D7AC8B363B805A247C27127CD54D70B894570F7DA2520E6A02435023F26FB5D13F0B8D1A1BB69212E210917867309B1D48495D1A663ABF0262DD0FE1C8105FCDBA4DDA22BB1C287B693F84A8EDF318A5EFD561D1DF0734BA2C5020CBA32BCE27B5554E54D7B7A8C613EBD1E41A94B04ECBA8C2AABE8DF9B488BBE70C62A2045D0D46B261211089ECC559AAF2957692D8E5CA2FDF25F13E65AB33187C6CCFDB55C58F5BF1EF6A042CDB055E313CF08A6999A3F88BE516D9F4A9B4A2D99F1CE911936779D8F03E885FEC122CAEB9A97D78D4F1F5D9EDD57AF4F41DE07DB4B3ACBA5E6735A2B8EBB85CE2578314F35B3B43B0A65410B351E492467B86FFE5A60841629117DC763AC625067620F8E3FCD17D952A39E672B2E1D9F56731D1E1CAFD23640D9C1021B860564AE989ED5E8352001A5B197AC2443DE09BF95B6070F9A3AE17B12B6E1B75E01E9F8175C702F45DFB9D175604C443BBEB7C2B7EE99F3FFCDAB2A4E3AA51FCDF8D2FA67490C6641CFDD550E88A603FDB826E832C106AA61479FD85B0A035824BDC794F2477790477E3677DA097EAC6C8C45DE026B414400D1EC6A3E4ED461DF192A3A89DE6E767A1A9A878DD4314F3E38D6E7C87677C1D2FE98D442CA289F46C9A716B12E37EC75EF9831F035D8509A408730CACF274B6FE231652507CBDE35D8340BDE2F69A15F2ED25B66AD68469542DEC72E5A14F86CAD9CC8587838F280EDB4F32AC53FEB258C257ABFB0C81A6EAC90E948960E21AA8AF075FF9BC1D13C50AB3BD7D1759F6AEEA4E7F7DE5E5BB0434756B1F5E0496B05945B0F9155AC425D0E0431FBCFFD0C0506FA6E286B9723B13CDBBE6FCC18FEF2E5DE04133FF174D54296E7066799B093ED977ED9EA37E2212E83E7C49CBCFDDFEE65E3D4FE075BF8520580843F4888FD11B41277E2DFA316A9F4982E505D366A5189DDCCB37239C92BC5252E460FD9F2CBFC6F4583FDDACCEB96C32693AFC996457B031B34349CB55E4F71573576C09670E254D3504316DBAAF665D21202AE48916D56AB9C4096AD13D6DCE51FA775ECEFD1D22550904CC47A74478389720E2D210AA902D7CBF9AC73755686836CB2E7323BF4E2C5DF03A46DB006DDFA195D3267DD36A22E06B2AD2763E424B9F7F6A4B3DC36F7251D337B8886705554B821A877FB32E2E5C716532C1A985A0F99C0AAD06B5DC2A0532D4E7CF55151ED43F3FAE3F376B398C09D66791A30188BA9286749206FF8C8C41EA2DC056F153BC85D12295BBBE0296AD10A88EBE4FC352F064CC5E60CB4AFE4200D05C5E4945D283ADC3FC16FB7AA36013BBD0FFCE0AFFF167B402EB614EDC0A308ED5EDF5CA03EB979C37B23FC01592CF70C257AC64E0466EFC998408D428B5D93FB57BC00CAB2ABED6F0555D9CBEFC6C8467BFB98F1E42E0EF8A54F77C702104B542C717B618DA79646E86A009B7295214E40F8680B5CD41E6319B745B944D1AF55266DABD86BFD3D847DC3A7D5A30331516C5028C092F75EB61B98E5734A547B071D635908F0BEEC2FB47A46029BD02786E7EBE4BC203EC0923EC7C038CAD1B027C02A039BE44A2DC3C7C5E262732353ED6D83286B2276F2E65CD8AA44A90EE406C2C0C41475468B8FEA435A291ED723574E37EBC592E76DA9E8697F4FCD0E773742AFBB5C14E23761FA091734E09B31FD456927E8D5C39470AA2E14FD0E2A1E13304373EC68BAC5DEB37A55B3274BEBE457996DA6A306DF4A70145D46191FBDC5D6BB7190C62772705078F936753C47D00CCD06DEC277F5338AD7C56A39504374C4D39FF5E95108B8D017103A767733F4D65DD1432A4096B9442FCB09B103C4BB7E7B2BBCDDFD587A7DC22C78E1E84BBF9560609360FEF653D0729A876AEC64F36881A9483FCFD8205DB0B6950778FFA5BBB874133508F6882AA1069E61D1A39194C80738DDB20973514B48C7B50C6AB6AC618239C303852B7AEE4A5113B2BB1AA6A0D41BCEF802E0D8EFF42FC8861801530382B77B0A26F06500878F626AD1DCA73A5DC27345EF6B7AE1E85B5CFDED866B787E269E4E95718ECC2EC4B7C261164E9CDEE9B5686A0D935F317C8F334075C345A32E28C0805A2BA682FA41887AE4E23057092698B9405B5CF484ED5BA02668B0A2F09628398DB6A4534C483318F71D7516EB642981E943511F96DC908E974843026866ADBF2A9EFFF6538773A1A59F1F6DFDB1DA693DF5B0C23F408B3A682F090D19A815D95D2EE4EBA4E8F6AE75DDD32929887EB43318523C10BC35F866BF14C1B3E5C075DB7771B289BE06A53B7565B29F568225F3B69E8E2672B3617ABC92F8BBB01548B42B8D0D47A2915D3274640624653201A844A211AEBA3BC6F3988B14EA6D3F89E2A53C2B553F020BC4C2AB5265B456AF637228841286CBCF9A93F322493206F875A8DEF842D01B9E07552FF4433DE08CD2C46E32EA02BBBF3C0B4CFA5EFBD19DDB3BF988147411147A106D5B666B1864E180C4DDEF18F0E66CDD5DB39249F6E10AFFF3B2B192C9193618CAAE8A50D0C72ED1077C33E67A5925FD02E8210E04B6FEEBC6CB4FDEF5BCC5D6ABF88863D1E42DC59453F487E02AC5D1722D7D870EBB783B908002A9E9CFC47AC754EAB85D61EC085C54FEA4400B531B4C36F97E27E78580668DBC4125DC1C441E6B3D7FD289D0565B6D5DE088E48D80A76EBB439F3F03FB590FC132106ABCDDADC3940FD001CCE367BCAEEBD49CBC57E6938F3A4D9821B5C7322403BACC60A78CAE26FA098BC1F52012F92CCA2E85D5CF1FD3CB2CECD7C645F3E24079E15C45AF216A04814F80B25BAC12D025432633C436D3331E4D8FBA8D1FC95608890E53BC69655402BAAD8E88507D2CE982BA2C24CE8A7A01B97EC86E52ADFFD35DE000B1F9977B3B123D49677F340AB462DED0BCD7C8D5CD4BA4E112F3139971E0677F2C2D88D5F8622B52871D320B9E34518C3E7C060B8461F1211762B56844C0D348ABACE0FDC8716315D9AB730DF074F42447C41537159FB79061E74902C4E61BFEF401440CFF106CD2971BC74DDA112D2A8E6A59722B47549893EF243A8211EDF7237DF8D45F56113E46B0AC603ADC964CAC9B484F577111D4FAF3C31A274613AD058328CABC7F321687E225E36537C72ECF4C43391D2B8F17BFA585D410DCD6D4E84C585BE2D2C2B3551A58BB0B10A81B8972AF9FBAD462224F6FED35B0F57806319951FFEE953FE2184CCF54731CD6606144EC572A76F62CE419179936AE6B24E0C3B9244FF1BC0F534EC0EB2D5275D87E9347DF1E8432519C83D254170F7B21F7B9E0BE588EB574D1BBB9F4CD0473E7AFEE4A550D69F520F0D1E9CC5866B43EC9E27B1C9F9D4A37B54122DF8C2CE22862A38932EA8E732AC1642585D2563601A4293EAB25AB35303A2CA6F850CC815FA24A5B80DA3548455AB886B258F12FC52830BEDC453C3E8391B69F6E00DF827559B157FC734FB54BC8AC451CA23633CC4976B3357793C35B8C14C8A1490FBDAD0D6D7D2BCCF71085E9274BCE1622879F82F574EDC1BD5A88CAABBB5E15FD44E3EB69B79EAE8648AAB84B9AE531D5C696AEF9BB35A026D0B9512516718B31090C850BC4C041F1D01465164747DD814BC45272DE42799DCF2F835E6D0EB976A5B9B31E07D63461BD3C675FBE5F7465BEC51173C943CB98D698B21795CC5FB41A47854CBBA11640491F44C1A696A0AD80FD35E36572A6FF65AAEC73BF545AF00CFAC06E1A78BEB28D003FDBF9207C5B592DCF2919193A791FEDE7E751390047DD54238EDC19052708381F696C087C1FA7D2E06448F3FF878E86D99CFA0467D96DF999BB090D82BE3F395C0970EC9A23DACA7A2FE18EE9850B408AD5C5314A38FAD60192B4F07B511A043B4220F2E3B9A1F74B497DE545438F8437B48314036029E2C6661D8653511C21B3E962382A34173700B99854F2310CCFB2646DE3C7DD4FB322B888D79C5CFDBCDB68B89DE05A3260EC18BBA7FECADF417C874409E5846ADE168023A8165AA8A948F3857AA715041A6FBEBDBF40A439CF55E70093154F5AF3BA90D8A2563B61761F60E8B5654C84D20FA04EB95BA34AAFBF0AE9EEB0E50EE7694C03098EC568584EBD7798B9DB8EE7E5D3F9A2A6E8B1742EBC126E0C9E8C55FCC4C017C60EBB908D5F0F9B92A837C20FBB20AF9030576F9EDB97A57549AB6623FAEC8BF75A85069AE33C92EE2C9119A4CF364E8F2DAC4468B203E66071176A23DD98DCB5237672CA50C8A9ED0898450405041B1383421C909C92D548673A3A94E9DAB2AB08575975FD2297D1ECA68286DA2B09E95D03F06D17D14012ACE1852C9664B0AA99F64BC55018A7237704D17EC9455842D3659896152045133C67F9A12F46E3B05D69C206D5571808EA0444D95D8427B282859292DB31AF512BDBF1A15DC6A05D02A7F2A0D51E04E4BC9CABFF499D4DC2BC397F807726D9FFD40D9E36E3193AA8E65827A626D43D5CA27F8DAF41DAA6A9E4CD9495D43A120E1EB9B78168B190157187335B7EE425632A03FFF33FE55A1F4F5D96353AC4A6E637081F690E649E8BF1FE69547292495C8D6352083BAB6F8DDBBB50B48E31AB2BEB12F11215716823CEEC1406816C3705CE4EE32930DDDDD5127B591046E27FA7FFCEDE0DD5F16CF8ECF50127B0BE0CA98A0AF8F28E99E8A6974B13A9D69240D682C10E6965A71550320DD26FB5E898F4C06B44412FDE481912C14973C9B1FB868E4BD8DD81E9215DE5B2C84EBE93844CBDA786E821E8FBE69C25C64282FC2528D45E9B724EF11E6D194713D39D1900BCB0E9BBB5510D2441081E3881A8CDCC30182B865494ED6040CC8187BF3B20E4148F61702EB447B1535798904343C5611BA28F898ACA1949B28ABF5458744683EF3EB1AA18C4B764CA98B73D0AEF7122F341B8F9E9A304A3D819A4C49F049216C6AB965CBD407D3A534AECB8B7705A43BD7E418488E4C1C19A142F386BF5322918780CDF39A2711D6C9FF6BD899D287470A2B87AA7C2437B4B7F8D186B54145EC21F873D4B1BEF7FF14F498B178132B3BFB74335FED1B975C8219F2FE0065B3696F2E3A168E219B448918F312A46444EE6FD462DC08DB22EC1BED4ED5EA93FBF8A681955E51D1B8039B9391194E67C70036CD068071AD868BB5B45F10912CD6D25949FDC7C51CBD656CEB590F2C54E67226DD0F19B7B14453B787C8799DE89D0F941E47CB7BF7F100FEA8B5D187C3E44452971E1F33C60132A726E171263EFADD47FE84A894913F71AF59BE6B73B6078D5CEAFC0F3D72DCB10CC0C2BF54845DCAC4EFD9767E2B431287FAD4C05F60918600084312713E10B2B321226B955BC3AE74B43AEF3EA37F43DB39525DB9C1739EDF7D25D3EEB71153E95FACCEC05C247E33664C7AA8B104FAD1B4BA2F6D3236FB07E4FEBC6F636203C5E9ECDAEC157201310B1BF51D2976217EE528613630A2C1C56E4F827B8CF47E5CD91AAE8A1CC47843D08A5AFC1644998062F6C3AAA1B9092D97E701D52B53C5F77F2B9AF0A76C93A593727CD6A2851FB9D1065964C6EF0B5009DD08B11815EBCA4516F1888F063FB0912037EB8D9FC4886A6445BE0873662FF74C59E137841DBE0A2173C828CA9DF76E6F6C5B630F10924F0AF7E4AFD9853C76043E1A0C55C4DDA0163CD06B051F83455F30EF5DA9BCF0BA71C4F4A4D71B8CA485792A228B687D34BC2C80C102B8083CC805FB03CE6319E8C627023B5A0DB6A6384BBCC6AC5B7BA398287E512411B67E72E9C6CE6EBCC47A28A54395E4860727AD0C79C95777613A2DAF1928E4B95A8F9E9FAAD9DF1321033BE432783CBC2078F89997213AB237D36676C1B37617ABF888A598CAC6BEC05422BB463EDFA5E11980B0EBAB802CD03156DF98271059E7BDB02D3A3EF6F75EEEA351BFB253366B7082F7AE932EC46112E01943A7809DCE78A92DDD559678B1D5701FA861C49219594FF4B7C63AF3D658B1ADF4D659059ACA3AC0DFF1E0DA318209E725EF806DFF5E2D47FC76CAFA6BD1A97645F0CA52EE5284106B6D1C8B2246198C0A7932BAFD403A188D2D39D3B0054BC086F6D7BE59B8042D3B872243C8B477D2A910C8932AC875664BF1F148966BDC4E2AC635A1A5E59DB8BF2B8E2ECC85D7B1F7880BF3B078D31F38EDE7A722B8C480B6A545A39562923B41E62D5650149D60B0C20B6BCC2E9A9F406450C1A3C90E95F9CAC58638D40E6A4377D3D47C5070C91A0D64F100D81BC33B1AA5A6EB9EECF9B0144FAB645447E819FBB5F4939083A9E645CACA8713D78F45063D65F72BA855D19C447E4072098ED86F488BDF4DEC0A8DC30E5AD5B21A7F9883E14FB6BF17E2FE5029330BD9DFE3A3D56C9D2FE34D4C78FCC8B958CE633C991FDBA0E06A2B6C4E69CAB13620E7F5504CCDC233360D5894CB8AEF84013DE33ACED887ACFA18717F8845591C34D3744F7162B667C321E16A6281DA03C0DE36B0BEC4F7B9636924617FABA609608DBE48AC0BC832DC1CB969E3E361DAA5BA62A80624BED309BD04F04F46C5738A741ADE15A69751F425B1AAED1CD5F5235A1DC3353F1C9D5DFA400682D1B04C958D2383BF2C80CB45F0995AD23A1923B4A617C13A04FE97E881F960DF582C39C0F4EB2C02602A7FF2EBB047372B6988E5EBA8F41B9E1F1608BD2C71A84EE0B25D25962BE1BF87DC82398B0B18ED800062E6B45D0D4C4CCEC520FD94DCEB2F399C3AD660A0725BF85AA56DAC7AADE17FAD7A934AC7289CAFCF64A43ACCF8A0A47CCF444FB1E830B24612D6F508592B9F07E283B704ED442075870458649A2D61482D8AFC9B5F43618A2F4F9DFB13B127DFA1585EDF934C4F4BF51A125091762BD34450C347B3B9CB88B3CE0EA90EE6CE998165217D2DB6D6976935FFB4A35D0EE99B8B962442BD351A320D71C58D0C1A047D80C3163852E5FE3A16CE0D7E6A1EC067089B2D0D03EB3D9F4813EDA1B1B9FEFCC8011EEB70940D682EC62B723FF26A04DE6A516E7775B71C9A3C563C3BF4EE671D0EEAACDF187668BC86E55911DC7BE8425E7CB9A895D5B9FB90C7C148218667456817E567486104F3CB1E421461113602E38E953F8B7ACA8354E85495595C0F30ACD4F924CFE0DA12F045F3810DBEEC977D49EA63B7FE2F93167B4A6E4CEA100423BD27005F76D0AA5DCC47869E59C16353CD84D9D8D02A655F1B488396D11D115B271D5B97E7E016565A36DDA1DD0282E6EEC10121EDF5448CA1DD9F2933CFF7E356597C2CBE16449B629753B149AF53D88D997684EE98CF80821E8DB271E01DC15E7AD4550BC78C86D3325A3E0CED5F5A9458CEE87BC16C916521EAA41ED91D777B050539F5348A9847BA7791691945732D716E8FFFD8621DBC710D4C39CFB5E18C07B19F48EC6814A197877ADA88E633A727AA35A7930B5A6DF71556D057D823A07DD309BCA55493B8807D8F4C76311BECEF5D77B623858CC32FD04E12BFA5D004554D43A19EDE6BDAD4E006D67202EC2B583F23152376A73B4D52583D6AC9367577F3ACA9B924A306488D119D1808CA4656EA10D4D42B17E0BC15A057F89E582929DE1F7367A237BC7EA95FE8C8CD2AC8A06435A311494BC370A43E225D620AC1F48A931D33A5785C9795E65BBB98CA66019572F315CA8336CC38CD979D180D89CE8A4CC5DDA7A3C3F5C6F6CE063BE9939E2B732735520DE754AF80C087DC94FD6253300B89E22D09FD10F11143B598030428DAE88C9343645030D8AFFA5DE6751236D6646589F076715F457A1D15B2F0EE1E521761A6D23971065170E7A2E5140C76C23C762ED78423CE29379D98C5222C90ABFFF328CEC87C4324F52C4687772E68435A64A0292FC2E7CE785F838831FFDAEA085CEC705C560E23F25B6FB9DB6EBED371A9F1CB457AEA3F9C60BF102EB619C609C41F3CBF2B081D96820DF6D8F12C043BD40932BF9DE476B2EE1748FFED74FBB6BB8326CEF4CD5258402E145163AC998C77726B8ED31755FA19846A09C26143574AC668E9942184ECC8322C4249694117089E2AC0D072425361A4BDA9BC11BB5EACCAE2638B0FDAB6B4AEA9507C37BF3CE4C8697C621597601FFB94540B67292DBE25F79CDCB5972EB5E8B03D77E90D5C9DD7761DE25F45B4EA9DEECB28BA0251A1A719ED84CE5B71814354FF1E3E054262B71E6EE6C2B60D967D1A9830265C646CB0B337511BE220BB17317446601588BB0524D53A2CCF43A94FF8F4C9806ECBB7823787F46715A6D9E112F27AD921A757C26051DEEDB6CC4F1D5963D180E963FFA6F36836C0FD66B1FA60EC5D70DCB3ED642F429191C3B1658ED2D7073EC47B21B308667EC93231D5FCEBF63479289BD8E08CD21C4C66012172C7054E86FC2EB5265828CDADA449E72087BB4DCB2C405235592E5DD7C887090857D2327110E3771DB4543A8A486FC9BCEC1F50F78335D4B1A04D32621E9495721ACB4A5195EC6EF10753B14265C090A5D64567A643130897FACF00E0FA475899BFE626BEF8E774979890CBB171FE97816599534D5C2C7B96A1B41F1A59A0DFE1518C54623976F413E08382835605FA4DF9518B225165C66BB61CC7E46C42256534F015F26FE787497E7260BBDB17A8D083731E65B464A5A0B3F16995ED0528F4A7616DF2C44B0E6B7E90A92F9A14CA69BC849DB7B521ADDB970FCDF8984CE098E2C652AC96CB59C71578E85EC2B0ADD87F320BF2A83E77C038F74279396F17005B601B9CF4286CC69D0B00819B9249434A6ACA5F3F6945E3D0A9D3E62AECFD4397B3F057A3972517B8636C626A38F386BA8A0DD685E2860B66A0B3DFE5BDD87B0B9E898ECF1F24290B1E2BD87411733F44E6047190D02666F5D7D75BDE78795F686450E79F165E3CB5566CA9D17693B27FF1A1ABDBA23E738BF958A856E2E165B012E69B0BD3E22A71923652E5084F578CE7FAC7B8BC46F41002A12510587C0DE7D7E53632A832587D44112FF1FA66331D5085F1BE7F54E51932EADE6F765F4D7FF16F1CF67E6993B90132713AAD39C379BFEC0F3CE1127EE761EDD918F4FC6D6CC183E5F70AFB3C3F3C02D53D4213B41C82CD692D68948A1CFC1657F06271A488F4880ADD0B4EE4BFEBBA0D4050E5B4FACE27EC3765D7B9BBA2082D7781230A458AB4FC52C59D2B8DE84692A29A498DD7F438FEBAEA30F0A80A0B0CF547DA77AF39F28AE909ED2139F1221133DB88BE9C6B16DE70460AEEFFC6D35229777C7067B792E6FEEF48750B4A9DCA2D61A92A25061E3B3EDA05BC3BD42BE7C13BF212B0E3AA1874D89A85BC500518B766A9A8EDCE718985195772449D6970CF847F4A8DC01775D12B9F9C8B40C47363FDC0D8F68BA45E6919BA5421D36A8CCD1769E78308693D27BFC7F723DFD6D268EE5FE334C0C929CBE1355C5C297095E77D8996E704AAD3BAB62588652B4A8768FE1050447FC10D71F5A3DB24F824BDBA467AFDFF81732CF78328C6AA22E214F1484B2DC246963894CD35E912D5FB5E51E74969B86AFFA9D043C1830B4EE0A4C072DA401DF440DA4890548AA981C19765EA4667D65AA8A707B170E8A1BE3A7131366FBEE56D123852FD358A0BC43FB5C50E22C2B6F59FC68FB72A2C649247FAF0F64FB742031B2A4FFB2E693628ACF301F154A178E9E22BC836BECF61510FD366A754CDEAAD91C645A418775F4036DFD66F904FBBC935B531D42477D0C976F7C683805896BC83C69EC553276820393EE06FC1A944C924F8C931A4CBBFCB25DCF0707B3DF6CFE1129F3E4CDEDB00D97AEF08AEB689AC30F97B418148E036AC1F626BB4A71F01BE5BF68FB270CAF57320D1A0B7C14EEF27026774F2586868ECB6EACC725F63C66007EC7A7FDBED5C979B8994AA7BA32381C50FBE058282569AC6483996F2069AAAB017B712EE248BD17621812BAF6AE41B39B490918841C7E0386CE8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002528C98BF5E5C331048E0000000000000000000000000000000000000000000000000000000000000000% Created with FontMonger Copyright (c) 1991-2 Ares Software Corp. All rights reserved.@(#)78 1.1 src/gos/2d/XTOP/programs/xkbprint/psgeom.c, xsample, gos720 7/16/96 11:11:15/Notice (Copyright (c) 1993-1995 Erik Fortune: Use and distribute freely, but preserve this copyright) readonly def 4 ;X -X p ' 0 1T $ 9 : 4 ,T /8 1p 1 ) 0X 5 ) ( =p : ) ( + I I J( Jl J J K8 K| K L LH L L M MX M M N$ Nh N N O4 Ox O P PD P P Q QT Q Q R Rd R R S0 St S S T@ T T U UP U U V V` V V W, Wp W W X< X X Y YL Y Y Z Z\ Z Z [( [l [ [ \8 \| \ ] ]H ] ] ^ ^X ^ ^ _$ _h _ _ `4 `x ` a aD a a b bT b b c cd c c d0 dt d d e@ e e f fP f f g g` g g h, hp h h i< i i j jL j j k k\ k k l( ll l l m8 m| m n nH n n o oX o o p$ ph p p q4 qx q r rD r r s sT s s t td t t u0 ut u u v@ v v w wP w w x x` x x y, yp y y z< z z { {L { { | |\ | | }( }l } } ~8 ~| ~  H    X $ h 4 x D  T d 0 t @ P  ` , p <  L  \ ( l 8 |  H  X $ h 4 x D  T d 0 t @ P  ` , p <  L  \ ( l 8 |  H  X $ h 4 x D  T d 0 t @ P  ` , p <  L  \ ( l 8 |  H  X $ h 4 x D  T d 0 t @ P  ` , p <  L  \ ( l 8 |  H Ì  X Ĝ $ h Ŭ 4 x Ƽ D Lj  T Ș d ɨ 0 t ʸ @ ˄ P ̔  ` ͤ , p δ  < π  L А &\RtRtRtRtRtRtRtRt\RtRtRt\RtRtRt\\\\\\\\]] ]]]$],]4RtRtRtRtRtRtRtRtRtRt]<]DRt]LRt]TRtRtRtRtRtRtRtRtRtRtRtRtRt]\]]]]]]]]]]]]]^^^TTTTTWXPWTTTTTTTTTUTU@TWTTTTUUZLTZXTTZdZpXDZ|TTTTTTTTTTTTTTTTTTTTTWZWWWXXWX X,X8W`WlWHU|ULW<UdW0UU@ULUXUdUpU|UUUUUUUUUUUVVWW$W0W<WHWTVVVVVVVW`WlWxWWWWWWWWWWWXXX X,VX8XDXPTX\Xhg4gDgDgDgDgLg\glgDgDgDgDgDgDgDgDgDg|gDggDggDgDgDgDggggDhgDgDhh h0h@gDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDhPh`hphhhhhhhhiii i0i@iPi`ipi__`` `8`P`h``````aa(a@aXapab\btbbbbaaaaaaabccc4cLcdc|cccccd d$d<dTdldaddddde0|+0000+++++++++++++++++)%d%s%s%o%d%d%d%d%d%d%d%d%d%dallall+%d+%d+%dallallall%s(rednoneLockMod1Mod2Mod3Mod4Mod5none0xffnoneMask0x%xbasenoneMasknonetextlogononex=%dnonemodsnonenoneTruebluecyanShiftTypes0x%lxXK_%sAnyOfAllOf%d.%dsolidx=+%d,y=%d,sameblackwhitered%dgreen%sMask0x%02xLayoutKeymapNoneOflockedcompatPtrBtngroup=,y=+%dgroup=,!samekey=%skey=%d,mods=grey%dgray%dGrey%dGray%dblue%dcyan%dyellowillegalvmod_%sControlSymbolsExactlylatchedXkbAXN_ILLEGALXkbNKN_outlineSetModsMovePtrISOLockPrivate,!accelbutton=defaultreport=,mods= green%dmagentaGeometryKeyNamesNoSymbolXkbSI_%skeycodesgeometrydeviceIDslowKeysoverlay1overlay2NoActionLockModsSetGroupXkbSA_%s,affect=%sgroupsKeyPress,button=lock= %syellow%dSemanticsCompatMapeffective%sSKPressmouseKeysXkb%sMaskindicatorunknown%dLatchModsLockGroupTerminateDeviceBtn,count=%d%spointerscreen=%dcontrols=,count=%dPermanentmagenta%d%sMapIndexIndicators%sSKAccept%sSKReject%sBKAccept%sBKRejectrepeatKeysbounceKeysstickyKeysLatchGroupLockPtrBtnSetPtrDfltmodifiers=modMapModsmodifiers=modMapMods%scontrolsscreen=+%d%sSlowKeys%sOverlay1%sOverlay2KeyReleasedevice= %dallowNone,VirtualModsunknown(%d)AnyOfOrNoneXkbIM_Use%s%sSKReleaseaccessXKeysaudibleBellSetControlsRedirectKey,clearLocks,clearLocks%sMouseKeystype=0x%02x ILLEGAL_%02x%sAXKWarningSwitchScreenLockControls,latchToLock,latchToLock,affect=lock,affect=both%sRepeatKeys%sBounceKeys%sStickyKeys,clearMods= ,affect=lock,affect=bothXkbNoModifierXkbTextDoodadXkbLogoDoodadActionMessageLockDeviceBtn%sAccessXKeys%sAudibleBell{ 0, 0 }overlay%d= %smouseKeysAccelaccessXTimeoutXkbSolidDoodad,affect=unlock,affect=unlockradioGroup= %daccessXFeedbackignoreGroupLockUnknownDoodad%d,affect=neither,data[0]=0x%02x,data[1]=0x%02x,data[2]=0x%02x,data[3]=0x%02x,data[4]=0x%02x,data[5]=0x%02x,affect=neither,data[0]=0x%02x,data[1]=0x%02x,data[2]=0x%02x,data[3]=0x%02x,data[4]=0x%02x,data[5]=0x%02x,data[6]=0x%02x{ %3d, 0x%02x }XkbOutlineDoodad%sMouseKeysAccel%sAccessXTimeout%sAccessXFeedback%sIgnoreGroupLockXkbIndicatorDoodad $ h  , d 4affect=button,button=permanentOverlay%d= %spermanentRadioGroup= %dXkbSI_LevelOneOnly|XkbSI_%sXkbAllNewKeyboardEventsMask x | l | { %20s, { 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x } }  <   ,  4 @ @ @ L L L X d d p | 4       @(#)96 1.1 src/gos/2d/XTOP_R7/lib/libxkbfile/src/xkbtext.c, libxkbfile, gos720 8/23/06 11:43:16l$Ddd%}; typesdefaultsymbolskeycodesgeometrycompatibility include "%s" xkb_keymap "%s" { xkb_layout "%s" { xkb_semantics "%s" {  xkb_%-20s { include "%s" }; Default types not implemented yet! Default symbols not implemented yet! Default interps not implemented yet! @(#)94 1.1 src/gos/2d/XTOP_R7/lib/libxkbfile/src/xkbmisc.c, libxkbfile, gos720 8/23/06 11:43:12, ,{ %s%s; //, , ], ]%s, }, }, ; Any %s}; }; }; = %s }; %s; }; }; %15s%15s}; }; }; %s}; ] }; , %s %s}; }; }; }; }; approx= }; primary= , %6s=%6s/* = %s */alternate [ corner= %s, }; virtual %s,[ %3s, %3s ]%s%s "%s" { %soverlay { , color="%s"xkb_types { key %6s {%s %6s=%6sxkb_layout { xkb_keymap { row { %s= "%s"; xkb_keycodes { xkb_symbols { , %s %6s=%6sXkbWriteXkbFile %s%6s = %d; type "%s" { action= { %6s, "%s", %3s }; xkb_geometry { shape "%s" {xkb_semantics { %soverlay "%s" { minimum = %d; maximum = %d; xkb_types "%s" { XkbWriteXKBSymbolsXkbWriteXKBSymbols%s angle= %s; %s angle= %s; %s width= %s; %s angle= %s; , XkbWriteXKBKeycodesXkbWriteXKBKeyTypesXkbWriteXKBKeyTypes group %d = %s; %s color= "%s"; %s shape= "%s"; %s height= %s; %s color= "%s"; %s XFont= "%s"; %s text= "%s"; %s shape= "%s"; %s color= "%s"; %s shape= "%s"; section "%s" { keys { XkbWriteXKBGeometryxkb_keycodes "%s" { XkbWriteXKBCompatMapxkb_symbols "%s" { %s type= "%s", repeat= No,%s top= %s; %s left= %s; %s priority= %d; angle= %s; alias %6s = %6s; indicator "%s" { xkb_compatibility { repeat= Yes, groupsClamp,%s onColor= "%s"; xkb_geometry "%s" { width= %s; alias %6s = %6s; virtual_modifiers preserve[%s]= controls= %s; repeat= True; %s offColor= "%s"; %s logoName= "%s"; top= %s; left= %s; vertical; height= %s; %sindicator %d = "%s"; modifiers= %s; modifiers= %s; locking= True; priority= %d; top= %s; left= %s; width= %s; height= %s; baseColor= "%s"; labelColor= "%s"; xfont= "%s"; // color[%d]= "%s" !allowExplicit; groups= 0x%02x; name[group%d]="%s"; virtualMods= %s, // virtualMods= %s, key.color= "%s"; map[%s]= Level%d; xkb_compatibility "%s" { interpret %s+%s(%s) { whichModState= %s; whichGroupState= %s; interpret.repeat= False; virtualModifier= %s; %s type[group%d]= "%s", // type[group%d]= "%s", symbols[Group%d]= [ interpret.locking= False; useModMapMods=level1; , actions[Group%d]= [ modifier_map %s { <%s> }; }; // End of "%s" section indicatorDrivesKeyboard; groupsRedirect= Group%d, level_name[Level%d]= "%s"; interpret.useModMapMods= AnyLevel; @(#)95 1.1 src/gos/2d/XTOP_R7/lib/libxkbfile/src/xkbout.c, libxkbfile, gos720 8/23/06 11:43:14111122$10000000000000202<2H2$@(#)92 1.1 src/gos/2d/XTOP_R7/lib/libxkbfile/src/xkbdraw.c, libxkbfile, gos720 8/23/06 11:42:58@(#)88 1.1 src/gos/2d/XTOP_R7/lib/libxkbfile/src/srvmisc.c, libxkbfile, gos720 8/23/06 11:42:51KEYPADcontrolsXkmProbeONE_LEVELTWO_LEVELALPHABETICserver mapclient mapXkmReadTOCXkmReadTOCXkmReadFileindicator recphysical namesReadXkmSymbolsReadXkmSymbolsReadXkmKeycodesReadXkmKeycodesReadXkmKeycodesReadXkmKeycodesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeyTypesReadXkmKeycodesReadXkmKeycodesReadXkmKeycodesindicator namesReadXkmKeycodesReadXkmGeometryReadXkmGeometryReadXkmGeometryReadXkmGeometryReadXkmGeometryReadXkmGeometryReadXkmCompatMapReadXkmCompatMapReadXkmIndicatorsReadXkmIndicatorsReadXkmVirtualModsReadXkmVirtualModskeys in symbol mapReadXkmGeomOverlayReadXkmGeomSectionReadXkmGeomSectionXkmReadFileSectionXkmReadFileSectionXkmReadFileSectionName@(#)98 1.1 src/gos/2d/XTOP_R7/lib/libxkbfile/src/xkmread.c, libxkbfile, gos720 8/23/06 11:43:20xDt$T 0 0 0 0@ 0 0à 0@ 0 0 0@ 0 0 0 0 0> 0> 0=@ 0? 07 06@ 04 02 0 X  ( X  " # # # #  x  0  ` $        $ (H 8 H UP@L@@+@7@D@chdir@ unlink@ malloc@ calloc@ realloc@ free@ exit@ strlen@ fopen@ fprintf@ fclose@ isdigit@ strchr@ P@ toupper@ sprintf@ snprintf@ fflush@ __flsbuf@ tolower@ strncmp@ strrchr@ isupper@ sscanf@ isspace@ fread@ fseek@ strdup@ fgetc@ isalnum@ isalpha@ isprint@ ]@ __crt0v@j@errno@_iob@@ @ @ @ @ @ @ @ @ @ ,@ <@ P@ c@ {@ @ @ @ @ @ @ @ @ "@ 6@ F@ V@ h@ |@ @ @ @ @ @ @  @ @ 1@ ?@ M@ ^@ j@ @ __start  ! X \ d      "+ "+ #+ %x %| Ҡ Ҥ Ҩ Ҭ Ұ Ҵ Ҹ Ҽ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | Ӏ ӄ ӈ ӌ Ӑ Ӕ Ә Ӝ Ӡ Ӥ Ө Ӭ Ӱ Ӵ Ӹ Ӽ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | Ԁ Ԅ Ԉ Ԍ Ԑ Ԕ Ԙ Ԝ Ԡ Ԥ Ԩ Ԭ ԰ Դ Ը Լ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | Հ Մ Ո Ռ Ր Ք ՘ ՜ ՠ դ ը լ հ մ ո ռ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ր ք ֈ ֌ ֐ ֔ ֘ ֜ ֠ ֤ ֨ ֬ ְ ִ ָ ּ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ׀ ׄ ׈ ׌ א ה ט ל נ פ ר ׬ װ ״ ׸ ׼                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ؀ ؄ ؈ ، ؐ ؔ ؘ ؜ ؠ ؤ ب ج ذ ش ظ ؼ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ـ ل و ٌ ِ ٔ ٘ ٜ ٠ ٤ ٨ ٬ ٰ ٴ ٸ ټ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ڀ ڄ ڈ ڌ ڐ ڔ ژ ڜ ڠ ڤ ڨ ڬ ڰ ڴ ڸ ڼ                         $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ۀ ۄ ۈ ی ې ۔ ۘ ۜ ۠ ۤ ۨ ۬ ۰ ۴ ۸ ۼ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ܀ ܄ ܈ ܌ ܐ ܔ ܘ ܜ ܠ ܤ ܨ ܬ ܰ ܴ ܸ ܼ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ݀ ݄ ݈ ݌ ݐ ݔ ݘ ݜ ݠ ݤ ݨ ݬ ݰ ݴ ݸ ݼ                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ހ ބ ވ ތ ސ ޔ ޘ ޜ ޠ ޤ ި ެ ް ޴ ޸ ޼                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x | ߀ ߄ ߈ ߌ ߐ ߔ ߘ ߜ ߠ ߤ ߨ ߬ ߰ ߴ ߸ ߼                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t    x |         ( , 0 4 8 < @ D H L P T X \ ` d h l p t x                      $ ( , 0 4 8 < @ D H L P T X \ ` d h l                    $ ( , 0 4 8 < @ D H L P                  $ ( , 0 4 8 <                  $ ( , 4 8 @ D L P X \ d h p t |                             $ ( X( \' ` d) h* l p t" x  |      - .  ; R J  ,     +             /          & 1 $ % L   $ ( , 0 4 8 < @ D H L P T X \K ` d0 h lH p tT xU |= Q S > V < :   ? I F G  C D E B A @ 6 P M 8 O N 9 7 5 # ! 3 4  2      /usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibXt.ashr4.olibX11.ashr4.o@VPDxkbprint/5765E6200/520 ___strcmp ___memset ___memmove ___strcpy strcasecmp __mod_init__malloc_user_defined_name setlocale XInternAtom XGetAtomNameXCloseDisplay XConvertCaseXKeysymToString XSynchronizeXkbLibraryVersionXkbOpenDisplayXkbVirtualModsToRealXkbAllocNamesXkbAllocCompatMapXkbAllocControlsXkbAllocIndicatorMapsXkbAllocKeyboard XkbGetMapXkbGetUpdatedMapXkbSetCompatMapXkbGetCompatMapXkbAllocGeometryXkbAddGeomDoodadXkbAddGeomOverlayRowXkbAddGeomOverlayXkbAddGeomSectionXkbAddGeomRowXkbAddGeomKeyXkbAddGeomShapeXkbAddGeomOutlineXkbAddGeomColorXkbAddGeomPropertyXkbGetGeometryXkbFindOverlayForKeyXkbComputeShapeTopXkbAllocClientMapXkbResizeKeyActionsXkbResizeKeySymsXkbAllocServerMap XkbSetNames XkbGetNamesXkbSetGeometry XkbSetMapXkbSetIndicatorMapXkbGetIndicatorMap