AaBo]d-..1/509BoHH $ d H?HHff@  dY Footnote TableFootnote**. .  :;,.!? a9 3 a9   EquationVariables\AABBCCDDEE^F`FaGcGdHfHhIjI  AQBZC[DOENFQGZH[INM}p#Y>M <$paranum[1Heading]>N ,<$paranum[1Heading]> <$paratext[1Heading]>O <$curpagenum>P<$lastpagenum>Q<$monthname> <$daynum>, <$year>R<$monthname> <$daynum>, <$year>S;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm>dT"<$monthnum>/<$daynum>/<$shortyear>U (Continued)V+ (Sheet <$tblsheetnum> of <$tblsheetcount>) W <$fullfilename>a9X"<$monthnum>/<$daynum>/<$shortyear>Y-<$dayname>, <$monthname> <$daynum01>, <$year>Z ProtoRevision1.0q[ DocRevision1.1\ LastRevision951201EF] <$filename>^ <$marker1>_ <$marker2>`Pagepage <$pagenum>aHeading & Page <$paratext> on page<$pagenum>bSection & Page%section <$paranum> on page <$pagenum> cSee Heading & Page%See <$paratext> on page<$pagenum>.Dd Table & Page<$paranum> on page <$pagenum>e Figure & Page8Figure<$paranumonly>, <$paratext>, on page<$pagenum>fSection$Section <$paranumonly>gFigureFigure <$paranum>uaghAppendixAppendix <$paranumonly>moi Section Name <$paratext>Rjsectionmsection <$paranumonly>kChaptertChapter <$paranumonly>lParagraph Number <$paranum>mTablen <$paranum><$nParagraph Name <$paratext>opage number only <$pagenum>A9QAreaPPAinaQA PPQTOC>QIXraQLOFQLOT>D]apagaagkre&i$p)rappaio nurep>upponiopt>eanlhanl ah  a nratgru$xtvabewaxyz{|}P~aPQIXO         !"#$%&'()*+,-./0 1 2 3 4 56789:;<=>?@ABCDEFG H!I"J#K$L%M&N'O(P)Q*R+S,T-U.V/W0XY1Y2Z3[4\5]6^7_8`9a:b;c<d=e>f?g@hAiBjCkDlEmFnGoHpIqJrKsLtMuNvOwPxQyRzS{T|U}V~WXYZ[O)d--dl/Ve1HH HH 6^7e! HH;HHl fdQ1BHHRHHl HHS JHH Me! HTHSHH I KUVH I Kl H I KV H I K UTUTmMiNovember 10, 1997Library Version 1.0M/MDocument RevisionM 1.1MM HV % HV eUUe" HV 'HV l H$ ( H$ UUe" H$ *JH$ l d6d,0HH- HH--V-`T1TOverview1 UU`U01.1UCore X Protocol Support for Keyboards1 mb$UU`Ubr71.2UXkb Keyboard Extension Support for Keyboards1 1.2UU`U#1.3UXkb Extension Components1 >UU`U$1.3.1UGroups and Shift Levels3 JUU`U1.3.2URadio Groups3 XUU`U1.4UClient Types3 fUU`U/1.5UCompatibility With the Core Protocol4 $tUU`U%1.6UAdditional Protocol Errors4 UU`U&1.7UExtension Library Functions4 UU`U1.7.1UError Indications4 `T;2TInitialization and General Programming Information6 UU`U!2.1UExtension Header Files6 UU`U2.2UExtension Name6 ,̪UU`U,2.3UDetermining Library Compatibility6 ڪUU`U.2.4UInitializing the Keyboard Extension7 誜UU`U+2.5UDisabling the Keyboard Extension8 TUU`U 2.6UProtocol Errors9 UU`USu>2.7UDisplay and Device Specifications in Function Calls9 `Trt3TData Structures11 &UU`U*3.1UAllocating Xkb Data Structures11 4UU`UU33.2UAdding Data and Editing Data Structures11 .2BUU`U ?3.3UMaking Changes to the Servers Keyboard Description12 UPUU`Uil33.4UTracking Keyboard Changes in the Server12 %1.^UU`Uro#3.5UFreeing Data Structures13 &1.q`Tbr4TXkb Events14 UU`U14.1UXkb Event Types14 UU`UT%4.2UXkb Event Data Structures15 IUU`U 4.3USelecting Xkb Events15 n UU`U4.3.1UEvent Masks17 xUU`U"4.4UUnified Xkb Event Type18 `Til5TKeyboard State19 تUU`Uzi&5.1UKeyboard State Description19 檎UU`UDi'5.2UChanging the Keyboard State22 UU`U 5.2.1UChanging Modifiers22 UU`Ula5.2.2UChanging Groups23 F UU`U&5.3UDetermining Keyboard State23 UU`U#5.4UTracking Keyboard State24 uct-`TUU'6TComplete Keyboard Description27 Da<UU`U2$6.1UThe XkbDescRec Structure27 haJUU`Us<6.2UObtaining a Keyboard Description from the Server28 kiXUU`Us F6.3UTracking Changes to the Keyboard Description in the Server28 fUU`UA6.4UAllocating UUand Freeing a Keyboard Description28 vy`T7TVirtual Modifiers30 EvUU`Us,7.1UVirtual Modifier Names and Masks30 b HH/enHHl yped~a125.l Ul l `d2.anngHHrmHHl g KHH THH ri`U2Xk`! HDcrHerv2HH I KeoaH I Kl AlH I K cptH I K fiers30UUUTUThMMovNovember 10, 1997Library Version 1.0M/MDocument RevisionM M1.1MTOC-1 H6~H61H66H*&f  H*&f H2XH2XQ'o  'o /Ŝ/ŜQH'olH'olH'˚ KH'˚ Kl H6WH6H66H'o bxX H'o bxH2XH2XQ'o Y 'o /Ŝ/ŜQKH'olZAlH'olH'˚ K[H'˚ Kl UTH'˚ K\ brH'˚ K nM MUTUTmM4The X Keyboard ExtensionMRunning H/F 2 1H!v\3KEm H!v\3KEH-H-RFootnoteH1  nFootnote o 'o  J co. QEp ˚J co. QEJ czJ czR TableFootnoteHA q TableFootnoteD~rD~HXDDPX˭ Es PX˭ EVUQPXUQS@_'rvL Et Al_'rvL Ee9_'rS@PXvL Eu PXvL EVPXS@_'r˭ Ev _'r˭ Ee9UQ_'rUQS@L\$$wUTL\$$H-6x H-6_'rȀ; Ey E_'rȀ; Ee9 _'r S@PXȀ; Ez PXȀ; EV PX S@PX˭.:{PX˭.:H-6|H-6l  l 9e!6openObjectId <$relfilename>:<$ObjectType> <$ObjectId> eTD"<$paranum><$paratext><$pagenum> UUeU˭"<$paranum><$paratext><$pagenum> "UUeUt"<$paranum><$paratext><$pagenum> l U/E l U/El l RTable of Contents Specification_'rd'r3UQl ul ul l u l uV  _'rXeV Level2IX eVE Level1IX XeV˭ 1, 23 %eV$<$symbols><$numerics><$alphabetics> :eWLSymbols[\ ];Numerics[0];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 EeV <$pagenum> ReT l EYm E opl EYm EllRIndex Specificationdn> 4ram>l t<$l l l  l  s deT"<$paranum><$paratext><$pagenum> l UE l UEl l RList of Figures Specificationd5 l l l V˭l  >nul  mbols[\ A;eTO;"<$paranum><$paratext><$pagenum> l U6E l U6El l RList of Tables SpecificationHH HH114m>1UUdU 7.2UModifier Definitions30 UUdU77.3UBinding Virtual Modifiers to Real Modifiers31 UUdU(7.4UVirtual Modifier Key Mapping31 UUdU$7.4.1UInactive Modifier Sets32 raUUdU$p7.5UConventions32 UUdU7.6UExample32 EdT8TIndicators34 ifUUdU8.1UUIndicator Names34 UUdU%8.2UIndicator Data Structures34 UUdU8.2.1UXkbIndicatorRec34 UUdU 8.2.2UXkbIndicatorMapRec35 UUdU >08.3UGetting Information About Indicators39 UUdU%8.3.1UGetting Indicator State40 aUUdU$p48.3.2UGetting Indicator Information by Index40 UUdU38.3.3UGetting Indicator Information by Name40 HUUdU-8.4UChanging Indicator Maps and State41 1UUdU178.4.1UEffects of Explicit Changes on Indicators41 UUdUio.8.4.2UChanging Indicator Maps by Index42 UUdU R-8.4.3UChanging Indicator Maps by Name43 UUdU K28.4.4UThe XkbIndicatorChangesRec Structure43 UUdU368.5UTracking Changes to Indicator State or Map44 UUdU7.18.6UAllocating and Freeing Indicator Maps45 idT9TBells47 UUdUme9.1UBell Names47 UUdUca9.2UAudible Bells48 UUdU8.9.3UBell Functions48 UUdU$9.3.1UGenerating Named Bells49 UUdU˭*9.3.2UGenerating Named Bell Events50 UUdU-9.3.3UForcing a Server-Generated Bell51 UUdU8.9.4UDetecting Bells51 ormdT 10TKeyboard Controls53 UUUdUIn<10.1UControls that Enable and Disable Other Controls54 IUUdUSt*10.1.1UThe EnabledControls Control54 UUdUan$10.1.2UThe AutoReset Control55 UUdUan&10.2UControl for Bell Behavior56 UUdU3&10.2.1UThe AudibleBell Control56 UUdU K-10.3UControls for Repeat Key Behavior56 eUUdU'10.3.1UThe PerKeyRepeat Control56 or UUdU%10.3.2UThe RepeatKeys Control56 dUUdU M/10.3.3UThe DetectableAutorepeat Control57 UUdU9.L10.4UControls for Keyboard Overlays (Overlay1 and Overlay2 Controls)58 UUUUdUBe;10.5UControls for Using the Mouse from the Keyboard59 medUUdU$10.5.1UThe MouseKeys Control59 edUUdU)10.5.2UThe MouseKeysAccel Control59 rUUdU O10.6UControls for Better Keyboard Access by Physically Impaired Persons61 KeyUUdUU&10.6.1UThe AccessXKeys Control62 UUdUsa)10.6.2UThe AccessXTimeout Control62 tUUdUna*10.6.3UThe AccessXFeedback Control63 UUdUut#10.6.4UAccessXNotify Events64 UanHHHHl UUdBav710HH HHU0056 d M0UUdUeA;10.6.5UStickyKeys, RepeatKeys, and MouseKeys Events65 ls UUdUay#10.6.6UThe SlowKeys Control65 UUUUdUBe%10.6.7UThe BounceKeys Control66 UUdU59%10.6.8UThe StickyKeys Control67 eUUdU5210.7UControls for General Keyboard Mapping68 UUdU%10.7.1UThe GroupsWrap Control69 UUdUce)10.7.2UThe IgnoreLockMods Control69 UUdU10*10.7.3UThe IgnoreGroupLock Control70 UUdU.2'10.7.4UThe InternalMods Control70 UUdU.3)10.8UThe XkbControlsRec Structure71 UUdU.410.9UQuerying Controls77 UUdU10.10UChanging Controls77 HUUdU310.10.1UThe XkbControlsChangesRec Structure78 UUdU310.11UTracking Changes to Keyboard Controls79 UUdU610.12UAllocating and Freeing an XkbControlsRec80 UUd U310.13UThe Miscellaneous Per-client Controls81 kyKd Tnd11TX Library Controls82 UUd U.6=11.1UControls Affecting Keycode-to-String Translation82 UUUd Unt 11.1.1UForceLatin1Lookup82 .8UUd Us 11.1.2UConsumeLookupMods82 10UUdUr (11.1.3UAlwaysConsumeShiftAndLock83 UUdUhe211.2UControls Affecting Compose Processing83 UUdUkM'11.2.1UConsumeKeysOnComposeFail83 7.3UUdUup11.2.2UComposeLED84 UUUdUU 11.2.3UBeepOnComposeFail84 UUdU10.11.3UControls Effecting Event Delivery84 UUdU!11.3.1UIgnoreNewKeyboards84 UUUdUU.11.4UManipulating the Library Controls85 UUdUonA11.4.1UDetermining Which Library Controls are Implemented85 cUUdUyb<11.4.2UDetermining the State of the Library Controls85 aUUdUon911.4.3UChanging the State of the Library Controls85 udTol"12TInterpreting Key Events87 UUdUs112.1UEffects of Xkb on the Core X Library87 nUUdUg ,12.1.1UEffects of Xkb on Event State87 UUUdU8512.1.2UEffects of Xkb on MappingNotify Events87 8UUdU212.1.3UX Library Functions Affected by Xkb88 UUdU11+12.2UXkb Event and Keymap Functions89 83 dTkM13TKeyboard Geometry92 osUUd U 13.1UShapes and Outlines94 DUUd!U13.2USections95 CUUd"U13.3URows and Keys95 UUd#UEv13.4UDoodads96 UUd$U.1*13.5UOverlay Rows and Overlay Keys96 UUd%Uip.13.6UDrawing a Keyboard Representation97 UUd&Uet%13.7UGeometry Data Structures98 lUUd'U713.8UGetting Keyboard Geometry From the Server104 rarUUd(U%13.9UUsing Keyboard Geometry105 hUUd)Ura513.10UAdding Elements to a Keyboard Geometry106 nHHEHHl ,12dU8UffHH HHU33ected by3UUd*U E913.11UAllocating and Freeing Geometry Components110 Td+T9 14TXkb Keyboard Mapping116 SUUd,U9&14.1UNotation and Terminology116 UUd-UUU#14.1.1UCore Implementation117 UUd.U13"14.1.2UXkb Implementation117 UUd/Url414.2UGetting Map Components from the Server118 UUd0Uar314.3UChanging Map Components in the Server120 omeUUd1Us.14.3.1UThe XkbMapChangesRec Structure120 UUd2Uth014.4UTracking Changes to Map Components122 ngUUd3U1;14.5UAllocating and Freeing Client and Server Maps123 oarUUd4U.14.5.1UAllocating an Empty Client Map123 UUd5U$14.5.2UFreeing a Client Map124 12UUd6U.14.5.3UAllocating an Empty Server Map124 UUd7U$14.5.4UFreeing a Server Map125 d8T'15TXkb Client Keyboard Mapping126 UUd9U+15.1UThe XkbClientMapRec Structure127 eeiUUd:Uen15.2UKey Types127 T9UUd;Uar'15.2.1UThe Canonical Key Types129 1UUd<Urm115.2.2UGetting Key Types from the Server131 mUUd=U;15.2.3UChanging the Number of Levels in a Key Type132 UUd>U!15.2.4UCopying Key Types132 SUUd?U15.3UKey Symbol Map133 g UUd@Uth(15.3.1UPer-Key Key Type Indices133 .1UUdAUng)15.3.2UPer-Key Group Information134 4UUdBUan15.3.3UKey Width135 gUUdCU1+15.3.4UOffset in to the Symbol Map135 SerUUdDU?15.3.5UGetting the Symbol Map for Keys from the Server136 UUdEU14F15.3.6UChanging the Number of Groups and Types Bound to a Key137 UUdFUer=15.3.7UChanging the Number of Symbols Bound to a Key138 aUUdGU&15.4UThe Per-Key Modifier Map138 UUdHU@15.4.1UGetting the Per-Key Modifier Map from the Server139 dIT'16TXkb Server Keyboard Mapping140 '15UUdJUic16.1UKey Actions141 UUdKU.2'16.1.1UThe XkbAction Structure142 1 mUUdLU*16.1.2UThe XkbAnyAction Structure143 UUdMU516.1.3UActions for Changing Modifiers State143 SUUdNU016.1.4UActions for Changing Group State145 thUUdOUey.16.1.5UActions for Moving the Pointer147 UUdPUroG16.1.6UActions for Simulating Pointer Button Press and Release148 UUdQU.4A16.1.7UActions for Changing the Pointer Button Simulated149 5UUdRUym716.1.8UActions for Locking Modifiers and Group150 U14UUdSUin616.1.9UActions for Changing the Active Screen153 UUdTU15<16.1.10UActions for Changing Boolean Controls State154 UUdUU15016.1.11UActions for Generating Messages155 HUUdVUet;16.1.12UActions for Generating a Different Keycode156 UUdWUkbQ16.1.13UActions for Generating DeviceButtonPress and DeviceButtonRelease158 UUdXU16D16.1.14UActions for Simulating Events from Device Valuators159 UUUdYUSt?16.1.15UObtaining Key Actions for Keys from the Server160 MoUUdZU S>16.1.16UChanging the Number of Actions Bound to a Key160 UUd[UUU16.2UKey Behavior161 UUd\Uin16.2.1URadio Groups161 16HHt PHHl onsd1 59.8UHH 014HH916''nging thn'UUd]U16)16.2.2UThe XkbBehavior Structure161 rUUd^U@16.2.3UObtaining Key Behaviors for Keys from the Server162 HUUd_UetL16.3UExplicit ComponentsAvoiding Automatic Remapping by the Server163 WUUd`UAcF16.3.1UObtaining Explicit Components for Keys from the Server163 UUdaU16&16.4UVirtual Modifier Mapping164 UUdbUorC16.4.1UObtaining Virtual Modifier Bindings from the Server165 eysUUdcU60K16.4.2UObtaining Per-Key Virtual Modifier Mappings from the Server166 a ddTUU%17TThe Xkb Compatibility Map167 UUdeU16(17.1UThe XkbCompatMap Structure169 UUdfU?17.1.1UXkb State to Core Protocol State Transformation169 UUdgUL17.1.2UCore Keyboard Mapping to Xkb Keyboard Mapping Transformation170 UUdhUM17.1.3UXkb Keyboard Mapping to Core Keyboard Mapping Transformations173 UUdiUB17.2UGetting Compatibility Map Components From the Server174 UUdjU.3)17.3UUsing the Compatibility Map175 tUUdkU517.4UChanging the Servers Compatibility Map177 UUdlUg 717.5UTracking Changes to the Compatibility Map178 iniUUdmUen:17.6UAllocating and Freeing the Compatibility Map179 dnTr 18TSymbolic Names180 UUdoUbt'18.1UThe XkbNamesRec Structure180 SeUUdpU"18.2USymbolic Names Masks182 UUdqUif418.3UGetting Symbolic Names From the Server183 UUUUdrUom318.4UChanging Symbolic Names on the Server183 e XUUdsUur#18.5UTracking Name Changes185 UUUdtU P318.6UAllocating and Freeing Symbolic Names186 UduTKe-19TReplacing a Keyboard On the Fly187 mdvT220TServer Database of Keyboard Components190 UUdwU T20.1UComponent Names191 UUUdxUG320.2UListing the Known Keyboard Components191 74 UUdyU.320.3UComponent Hints192 iUUdzUG20.4UBuilding a Keyboard Description Using the Server Database193 d{T>21TAttaching Xkb Actions to X Input Extension Devices198 UUd|UA21.1UXkbDeviceInfoRec199 UUd}UL21.2UQuerying Xkb Features for Non-KeyClass Input Extension Devices200 XUUd~UreR21.3UAllocating, Initializing, and Freeing the XkbDeviceInfoRec Structure203 UUdU SK21.4USetting Xkb Features for Non-KeyClass Input Extension Devices204 ymbUUdUSe,21.5UXkbExtensionDeviceNotify Event206 ckUUdU85321.6UTracking Changes to Extension Devices207 eindT8622TDebugging Aids210 dTeyTable 22.1TGlossary211 HHbrdHHl s1H'˚ K t KH'˚ K U.320ntUTUThMz*The X Keyboard ExtensionM  -=: d-Leftd.1 XRightsd/2s Referenced06cecd1.21NoNumberg d2/3asTOC ted324IXd435 ILOFzg,d54InLOTtctd607 Sd768r yCd879esmbd98SnD@! Body. @" 1Header. @"  =Footer. f Y CellHeading. $$ fD YZ4  t)#define. f YFootnote. Y  TitleBanner1. f YRequestCellHeading. CCf YC U BulletCont Bullet Symbol. 6$fH] Y5@NumberedIndentH:< >< >< >.\tIndent. f YH Legalese. f Y  CellBodyCentered. f YCellHeadingCntr. HHf@ YZ ~     2 V uzt l S    .f CodeExampleBody. ~6f Y~  Definition. fp YEquationBody. HH6f$c YZ l ~ f          2l dD V h z      Extract. ZZ6f$c YExtractContinuation. 66f4 YH ExtractQualifier. H6fHM YHNumbered2IndentH:< >< >< >.\tIndent. 6$f] Y 6NumberedIndentHead.\tIndent. 66f  Y6Indent. $$f@ Y6     2C iV z      . Structure DeclBody. f Y CellBodyCntr. ~6f` Y ~  f   2 V z      .b dFunctionArgDescFunctionArgDesc6.  f Y TableFootnote. $f@ Y 6    2 CV z      . FunctionDeclFunctionArgDecl. f  Ydy  CellBody. C6fS YC Step S:.\t. 66f  Y BodyTable. $$ f\ Y H 4Heading FirstBody. @ Y C right footer. fT Y  TableTitleT:Table 10. . fPY TitleAuthor. Y  TitleBanner2. $ fHQ Y $f2Heading H:.\tBody. Z6fM YZ NoteNoteTextNote\tBody. Y  TitleBanner. f Y  5 CellBodyList. fPY SubTitleAuthor. C6fSE YC 1Step S:.\tStep. f  YH Diagram. HHfM YHIndent2Indent. fPYAuthor1Heading. $ fHQ Y $3HeadingH:..\t FirstBody. C6fB  YC U BulletB:\t. $$f  YH Body. Hf\ Y H GlossaryHead GlossaryText. ? Y?. TableTitleLOT. 6f` Y u   2 aV z. .  s    . FunctionArgDeclFunctionArgDecl. $$f  YH FirstBody. 6fHQY $1HeadingH:\t FirstBody. $$fH YH GlossaryText GlossaryHead. f Y  5CellBodyIndent. fF! Y Figure Table RuleF:Figure 14. . $$f Y H FunctionIntro. fKT Y  TableTitleT:Table 10. Y. fL YCellHeadingCntr. fM Y CellBodyCntr. fN Y CellHeadingf. fM  Y>  CellBody. $$f!  YH Body. fO Z KECellHeadingCntr. fP YKECellBodyCntr. fM Y  5 CellBodyList. fN YRequestCellHeading. @M Y f right footer. $T Yf$ . 1HeadingTOC. H$U YH P. 2HeadingTOC. lH@U Yl . 3HeadingTOC.  @V YLevel2IX. $@V YLevel1IX. @V YSpecIX. @V Y SortSpecIX. @W Y  GroupTitlesIX. @V YIndexIX. @ T Y Paragraph. H T YH . FigureLOF. ? T YecH . TableTitleLOT. $  Y$ . 1HeadingTOC. H$  YH . 2HeadingTOC. lH@ Yl . 3HeadingTOC. @!  ActiveTOC. !aX7 ڝ! ڝ" 3ڝ#YBitLabel 3ڝ$YCallout 3tu %Y ArgumentText 3ڝ&Y Bullet Symbol3w'Y BigSymbolw#(YEmphasis 3))Y Run-In Heading 3ڝ*YDingbat 43i_mF+YLiteralCommentTO, EquationVariables#-Y Field Reference 3).Y  Figure Labelw#/YFunction 3ڝ0YHeader 3vk1^   ImpliedKeycap 3vk2Z  InvisibleKeycap 3vk3Y  Keycap 3vk4Y   Keycap Small 3[5Y  Keycap Table 3[6Y  Keycap Text 3,f/7Y  KeycapInText 3)8Y FunctionDeclaration 3)9Y  Node Label 3[:Y NoteText w3;YPath w3<Y PlaceholderO w3=YProgramn R3i_mF>Y ProtoLiteral 3yc>?Y SansLabel w3@Y Subscript w3AY Superscript#wBYSymbol 3[CY Tree Cap 3i_mFDY Type Name w3EYVariable Reference 3ڝF[RedText 3tu GYNew Term 3)HY StructureDeclaration 43i_mFIYLiteral 3tu JYArgument )KY  tu LY ڝMY tu NY [OZ  yc>PY ڝQYHeader [RY  [SY Keycap ڝTY ڝUY ڝVY )WY E Y@YYY Y@YcYFYiteThinYu MediumYentDoubleYYThick@Y Very Thin% ƧYYY:9Format AYYY666Format BƧYYYdb39n6D Sequence Examples6YYYIIYIIY Example Keys6YYY6YIIYICenteredExamplei $YYYheProtocol TypesYYY :9 Compose Tablet 6YYYl Request Typesy|y[Commentz FromProtocol{] Open IssueAQF nABCmpsDE_FbGYeHiIYiad YBlackT!ZplWhiteddA[Reddd\Greendd ]BlueYd^Cyand_ExMagentad `Yellow Times-Roman Times-ItalicTimes-BoldItalicSymbolSymbol Times-BoldHelvetica-Bold HelveticaCourierHelvetica-Narrow-BoldtHelvetica-NarrowCourierTimes HelveticaSymbol NarrowRegularRegular BoldRegularyItalic i3Z!xC(\KrٶA IJ]s6z7 uDÆSP9:~JLؠQU `nk#IjJ țx+WSj.pٕ+]ChA!9-u0m;)_:q$XP bcNغQmM}Kq'R΀E1m#p8UDq EΎ]ɞC