[comp.sys.mac.hypercard] ControlLock XCMD for trapping keypresses

taylorj@yvax.byu.edu (06/10/89)

The denizens of the net have been clamoring, so here is the ControlLock XCMD to
make HyperCard generate messages for keypresses.  It's in a little stack that
explains how it works and does a demo.  It's only 15K, so I'm posting it to
this group instead of to comp.mac.binaries.

Jim Taylor
Microcomputer Support for Curriculum
Brigham Young University
taylorj@byuvax.bitnet


------------- dissect here -----------
(This file must be converted with BinHex 4.0)

:&%0[ER4bEfa-Ef0V)&K$683ZFfPd!&0*9#&6593K!3!!!#TM!!!!!10S8dP8)3!

"!!!UBh*-BA8"!!!!!!!!!!)#"NYPH8ecCf0dV!!B&[T!JG%13)(4'%#"d5K1ZJ!

$6VS!(Nkk!"S!'"F3!"9GqJ!BJ6`$2!%%!#3!!3!!!"JA+P0838YA58a%!3#J+Gl

&S)Ga8`!!!MB!!%!!!!!"h3!!+!$SABk`!!!!!!!!Zd%!!!3)+"!I3B-"I3!JSX5

)'B%'AM"i33!9,""6)+!!%1'-!`B"rC%*U%1LJ59PmM5CFfD*!)*6U!4CFL8*%b)

%"HB%3+"9`*JcDpl-1A#R8D-#3+A`9L`J%))#E2cJ!@!"+NkS4+(b*2%&MhpJqk&

+jD413c-5F'aNJ!N0!!6LQ-!JJ)3)$J"PmH#YJf&M"#N%cS!3FZE&!#4Z%D"UTH6

$'3Q!cd$S`3H!!J!@'TiK)-80jV+8!IMlE0DKLc#Z8&P#T3h"0!!(-#*q5p'LB96

E8&e#-)NJ26!1!Q)CdJ3Rb*e"p2ecjb41Fc!""6La%K#%C`3-S!Km#!#ApEFJh!S

!!38'$a!J!%&K!150'qk)31!4S)N"+MC[aU`"B1"-3"c*!5$(%2S!B%)NbB#!`!X

!P1)"#"HiJ)J)5!4)!5JZJ2"&#20T!S!!)5"$(h3!+!%'!MRKTpm,#I`!!!Kkr#1

2%j!!`2#"#&rmm&4J!D%!3`6X!6"!'`&j%'3"RQ%'3`S!1)$L@p`TJ!!`!$!``e-

1P!8'"[,4Cjq+qaN3C3MSI%JI+"miiB@'6lc$Na230"&%%NkJKej!449d%%%+*D!

"2`0S&a!(!-JJ((%i"A6CF8G90B4lG-Ma"KY-j,F'!!!i!$#&5T!!*Im5rM0(E!k

pJ!!3"!3#F5$%LaF$"&4`"U*'!"Z`"83Jc@2!$aJa&JJ))DA,P!&%!!)3FfB!%$C

a[Yc*XkI2Rd#$#Ke+Y+M4SdL6+Ph+Y+R6Te#M5Te+PHV-N4!4!4!"3#YA4)K%L!!

V&T%U%DV-SQ@QDSBUYQlGUGUP5LjGGlYfZF1VppqZIqlm!KDFm1mr3"!%J!L!!!J

"KC!!ri@G2&C%""&%%&h16!`3!c4$"-!`%3['J*!!`"Jd8J@!YHZZ)UT8PSe)GTA

DXHpddmflfe@-UUS%(ejP!#%N-"J)#""!%*%F4!3a$i#)JSJJL)+)S!!)8"!I#""

3'#H#!#-k)LjJJZ!,%#)%ka!J!P3#QBa%C%J`N55+8a"I+L4$`6T!J")3!3S%"!J

3)!!J!!%5X6D69M-GeYf&J#$!J3M"!",!JaB#mNpi#1#$hK'2A#"#(,m!m-X[X-3

)bcprq0+&+%(-T%mp1i)#KBm"J3$15989DH545#DTj**-0ZRNNd@pi3B)Bl$aaKa

P6%&(''1XdF!B8Y)KaaYX-2&'Pb#)m)BCCSM33"PZN!""TC9BDXQPP`$Nd8!,,Hc

C!JK8S*('(#$-X5@DB,UaC4TZ%"V'P&JB-B36,!!D"KYV9(U(S'1J!3+MG*3KKaP

FPN%S(@q!d!5AM&*ak4SZq!NS'Q93q8BEE6a+"U%QJ'"'(@k-38FD8K)U4KP@h['

TSU+51NDYGk4"KkI6eKVTT,(b1DZeNMS"3KeB1JV#'9D+F5N)GS3K4aTKL-&'V5H

iLUQ@EmJ4aKPPR&$TY'r8FBDRdRj+D+GPG&N''E+D85qkPkC"KV4jJ*!!4lq&SY%

['h+km3BG)&`DUKbIdN&SZQc888DfI@UE"F@j4Qb'('8J'c'iY9B,`VAHkYVa((1

Fb@kSFL+4"abLbVY'S@1X#iI)XM)UFEmJ[h((P)EH18HP%pF"3XXJ12%%&FY@@3F

C0G2DaV+&(VS'SCZQdDQX@4H+,"XJr-QSf!qlF8DDFk#KEKPhr#f##b#XV$AAF)6

"-`K5JM$YS)@Z58IJ--Z++Z29bR'eifrJQcN)d8lEX4X4Kd('`m-@qr6KB85FkaT

P9!V(Q(BiI,$MIY0K1Df-VhX'SqIfA)FFciiZ*jK`j1%l'KaV2'caIi-`ZkQLfR%

`bV)L%BEe[J+E6!1bfSNQPR68!3IiMEp"Y"[LHdRZ'qE5E65ppZ*ED49BbQ%&QA@

d88B$F+J$af#`V-[0$eAeUj@fNR##XmeKH,9+3X8Z4JBhR)"MIZ2HjFL3!+V(E8i

-![bHS-Lf06M933MU!U!!3E#rN[Q2#@@`(KY3-)-8&$"9q"09#r[h[c5B!AHeXTl

QL$8P(S!J"Lk3!!%3hG#!4mhK$U*+8k!J9c8d"BjYkk*$U+B%,NEY6@K%Nm-3e#8

R*-T!"+#6PUH%d3!4(#%0h$-I'KFQ!LV))@)"He3H!TF(0rN`C#$S3CVH'%FiS,&

D8cT$ULcQ[cI&k90QF+5Fe!HRpU&[5P@k8TE8eS$ha3m%1G3IraVC0kQ9d!dR6'%

!1EE$&mB3@5J)C5[,B%03T8TD$6!$S`D&"U0*FNkDY+5X8$J(Ya@`@D@b&DjdaD[

Z"5YeM3,IVjj*41PCc!ePm"rEkV8V%(LcERp+P""&"S)Lk)d0[(4F'I$!-9YD8dV

C0&8$B&Bq18c*D#L)JDDi1BF8r")1eicR(+3*,'&9FhC5kPH`DJ93H2S2RBEkTVB

3UV'#QZUGf06Q2-Y3chZq#J8bN!"G3"mk+$VB8+*rSZI`'J@#%caK$5IS(3K%05D

3!'Pc$[Ik(jcN4&'&&ZqE3!fU8-(C-HPG59T`V"90&iE+0K`,C*!!@j-Cb#HV06'

166[e)TAmCLpK4G&TM&VP*3Y&Y$!F$8Z+HY42L6U(XKl0R14+CkMB@5N1AY4j)&#

T26%U8"9b$*mcU"4DYl63@LVUPVVE+9R,B0DakY)0[$3D8,@955bTLP9ZN!!X#LL

*66Q&3B#h#X2c,X@'22KcPCE#&!TSB0M,i9+aMihXU`K+cFEGJC[f#KASi(!fP-U

0BhIJEDAdbY,J1T!!Sa[YD'VAJ))DD)UhrP6XEH9!KYcq,jF&K5DkhZ#f-X""@Td

#!DDhN3!FpS242j0YZGk8(AM3-Pk-V*G4hk4"HUK*hZ5L`3DA'@plS2Y)1h(h@I0r

@J-D053`EFaZ!eqY0EDAh`!NHJhU,KbTXqK@r0fJYBRm*iHFYq&PMGB0SKhHT$pI

+YqN9F6h2C@,1@4Leq-5"KN2f5a@6Q!dQEX"5"!#!*J5K)*!!33SJ5J)!3Z3J)-6

S#%DB!3FSp@3D)R'bP+G-j5TEqFT1!J36NP#3!*%3Q5CB-3N4(!5!PJbJ33&!J8P

fNS!MI`6,4C%)&)*`K#)%T-eH$XJ!pT!!NT!!J)%#LAJ(0cK"Kf"JSaFG#!X'lT!

!"#%J`3k!1!3dr1%'IcJL(pA`!bp'NBG42'!E0$K-*9)!La9%SKc95!%[3,#$+dK

M#lDi4k2`d!C$r--9aP#$1q$-kellqYI!$VD`KdhXBK[lf-K1YV+AcHaQ1r[Cd)k

fY+G0l@TEfbFD%F)5MM"Q!(!N)!aS-N`fSZ4[%`!!"S#),9c#P3pTa!-!)!-!DK!

!4`$Jh"N"`!!%mK%*B%60!PJ1!$i"J!i!J"d"q!DB8h,Z"%#%!HX-3a[Jm+k,F'8

!!VG#`3%!L3!dBq%BfAH#!U,MLbJ"h4r"`,d"-!-!M'!a!D%#-8$1!)K!`!Q!!i%

3"&MKJ$5Z$Ih#8KA1TdMahNURM`3kcBDZib+`8e3LTPX5h+!`SS"$#$k'!VM&[HD

-@)((AJIl%33bF!"m)5LF#-%!`$'%!!$#!-T41``UB)!"c'3!')!(21+aMdFmJJ-

mi-2G-j!!LF)(Ja('B)!Cl+!)'Q!!!d#J!!4'%!Bi('!%H%$(!B5!JJ`!!J-'Z$X

ip"k23$aL%)cJJ4N5F3%'%+!3[`K%l%N4#,A$J`)i)%!%"P!"$""!%A)B3!c'i3i

I!!!2!aL$!+"4"4h6BJ"#%)FdJ)%)!mJJ(#)!aJ4-)i+E8)!(!a$"mLR!J!()!4i

#!!!B!R$q!4&J!"J8S",S"F)#)!'!"IrK(3%)rK#")SGXK344ijQdGX@ri&J!DYa,

k4JF"i'r-%4#ai(B!F!`"3!k!X'rj"Qif4`6Cp!Bq0b9+*h6RmdFf8dVN"3)LjMp

A98+"P#BF#(4ZJNJ0N!"H0T1#Y@*9+RJj)N![F!!#,rJ'ES*DG63dYD*(Mk-hU`-

#kk!3lXJ-ZRR)#21L$(4K6Pa0EIH-QL5)QC')QD+)QEZ!Qb))P-mK43)5#%RH$2j5

$UB)C(BL&B6)QCA)Q4k-QE1)Q)e3VE6!(Cr",2[4,)9J'6"F3&bG`rK!!Da!!84!

!pN"Qq5Cb%&&b%-%9"#"`rB"b@UF1M'J5MNKb'"%!@$!%68!%)$!%ElL&FUKR8d3

SRaL+))!#`*)#9Y)PTm)l)T!!KA!)!V$64i36+,9LLf5#Lf@!4i3L*DAP+`Se591

#669!%-UXLBEQ)B'6d35[N36I6"%-JLRC&+(J&-h&3"fN!-d!%MTGc,%8&-qF#6j%

$501e0Vl#+$Fi*Fd)!P"3-Z%5!L"`"E3b*E%)1jj&1X#B"iBb*V#64U*M-f#b6)q

8Lk!%"@R%"R3c"TpP@@'3!#Dqb!C,%)`Sf$pSG&-j95N(Q5X*'Bb'mJD`ibMJk$9

J%`CBj99Ni!)")3#NU#K`b)9c+#9Sj&[l@)B9qBqYq%I!XSm(idmaUB9af)95GC0

%pC0bU*1P5$F+L3*r"*4Ni%m&KNP0HC%4de30d'"rNM8J-`G*N`C,8bP0*6"P')q

GSLjFmM'ra6!P8bX+!c)fNiZr9*&B#3$rd!p1N!!'q%)h8%"6HF!#$F#"L80HrU-

S+dL+%bG!AL5B56"aSX)ZG%1+$PN'q0)!CK)RM6-&9h!$$3"AE+!VEj)VDF!'1S#

#FF!!%G3!VA1)#EZ-#($3'H-N2T2KGYr-bYb*&Vb)UD&4&4k15E)P0(2-`B!NZaC3

qQ#4DRD*9Z4L3!#4T+S56#Ph$PmJLMi!T1r8#6B3LR913!!FJ'5S50R9M3$L'Xc@

Ymbf@4BfV+)T1SdGTFbI53cZf)bGa`d%SZ$&bij!!PE)`'c0Hd@*CL$-QZX3aZ(N

fdN)i5I"$FE1%Y4)`D#8R+ML4F(!Pp%9')I#"YL+6C)+9'GN'&bB#j8N(4#JR#YP

86i9'*Y!VCCQLDB)#+0UK92!'3m"9+0"80Y3V)T!!!Q$i5(BCM"i"$`$3!Um!#J%

!T%*+T%"+J&[R%KraE8TkEZN@%1Z@%ZdQF2!QEr4QErLQLI`@%2jf%3!RF!4RF!L

RF'pf%3hhF"%hF48ALIU@F4[AF4phTK#aLHZ(%5GR!#QhFLhhFKmKFc3(%8J(S8%

(L1F$!%lh-9%(!P0AG81"$N%kT""aG9QhT#Na*%FkP$1jP&k)P%6&"N4L"&*3"(B

'%40J"$"6+dmJ"QT3-"`c9*Z`#V&J#Sp3"f,3"G8&#)V!#)9J"fIJ"@#`"RZJ#*D

!#Br`"h(J"R,!"iA3#)j!#(%3"PX3"Qp!#*[`#VT`#kU`#C,3#)@`"m1M"PqJ"HT

###*13!!Q@S!Kd`!9+8!4+d!9im!LKF!UE%!KTi!9HJ!CiJ!L2d!L$S!GfN!!(J'!

)LT!!#)1`"rDdV-5U#C0J#0jj"QT!"i$!#*0!#Bd3#(aJVU,J#V+`#TM3"fB!"QP

`"i6J#*'`#(e!*R1`"i%!#(C!"P&!"$j`"&m!#*c3#V"3#S`3"eq3!!9Id!CmX!L

@X!QC!!Q(m!Gm)!L0-,6''JKem!CASJG)'`GMX!9GX(L*S!QN!!U6-!KiB#Kim!H

&3!Km-!GZS$&bF!H4TJL,m!LBi!QJi!QD)!QpLJCHS!9Fm$+"3!QL-!UBS!Km%!I

*!JL&B!L$i!Gp)!L'J!L*N!!)KK!)IN#iLa!*Nq#YI%!(E-!QDa"!Hb!)K8X)JL!

)K&!)BaX)Ha!(D'!ZC,!'G2!(LJ!*Nr!)KB!(ES!'%&X(K#!*QZ!*R(!*Mh!)Jd!

)L'!)IE!ZB`!'(!3)EUX*PR#aG+#XHd!)M!!*[lX(&!F(HS!)Pb!+TG!*M-!(Bd)

(Hc!)LD!)KA#jDGX(K0!)PG#mb%SUC0!'B4X)I6!(CX!&@Z!&DV!(MV!*R$!*JJ!

(C-#UH(!)NL!*L4!YCE!'GP!)N@!*M`!)`L-)r*%+SK!*Hj!!"PpJ9RU3!!L8F!Q

3!"!)F!#4D(!(fJX+Qk!)FH!&9R!&BM!(*IZlGd!'@*!!"@4!"iLJ#DC!ViG3"fT

!,(J`#)e!#CB`#C(3ViP`#)6`"hK38h@3!!Gp-!L-@`JY#`KrS!Gd!!IGZ!H&m!L

@B!NRL`L6H`QAi!KqX!CF3!99!!C[N!!(I`!)#+X'V$X)P+!+[6!-YS!*GD!&6+!

%9Z!'L0!*Te!+Ph!)@+`(dYX)L*!!XQAJ"9[!"Hk5[CF3#U9!#Tj3#Bc`V`!e"XH

b"R@JU`qF#CjJ#Up!#l&!#ScJ"PH`E8M`PhQ!#,S,#LJ-#B$3"P[J"%L3!-Y1d!9

RX!E+LJHkHJQR)!ZhB!ZY%!U9N!!)IN!(ED!'Ch#mBk!'G5!)MS!*R)!*MZ#eFL!

(6q`(J9!)K`!@jEX)MI!)Ne#XP,!)I[!'C3!'BD!'Gf$!Pf!*fD`ma+J'CM!'R5)

(IC!!#*1J#88V#(@!6[+,#*M`#CU!#((!"8qJ"&%`"LCF#Ijl#C(3#)Z!#)*`"fX

!"PQJ"@,J"RZ3!!L9`!RA2!Q1`!L*8!L!J!Hf@3EIk!H,3!QFm!QF3-q)-!LLL`L

+B!Kq%!GLB!95B!9PS!H4F!UhX!Zai!Q)8!Gqi`AhmJCi)!L-m-&JR!M&b`CbV$&

NmXaN)-f&F!QPd!U[d!UR!!UB!!Q,3!KpF!GLmN"fB!GhS!H*D`L,i!L0F,6"j6"

L)!CNB$&kd-@A`,b1B!KAV!Gq8!L+d!L3!($%M)!)91`(Hb"iKq!)N`!*Jq!'@E"

Y6H!&G[!)B@d+NB!(Be!&6C!!"%M!"&B`"M!XdjhJZid3#6SF)kA`#+*G"8ZJbeY

`"R%!aAl!"h[J"iF!fk$`#CR3#)+J"hS`#)r3#DNJ#l5`#TN`#2$6"3Mf"j!!X!Q

G3!Q$!!GLm!9SS!H3!'!+Y@!,T9!)BR!%qS3$#DS)U,!,-')*Hh!'q1X&CX!'F'!

SFk!jH6!)N3!+Vl!,[5!,Ql!(AD!%2X!$N`,4J'#kFU!'D[!'IG!)R'!+U!!+MT!

!"fM`"I4p"ij3#Vc3$-p!$+[!#(!!"[Pl"R-3a3F,2eU!"BV$#+F!$-q!$+e3#'#

3!!3p%!48B!HC8![*i!bp`!Plh!4)X!46!!CZJ!Gp!+jZ-(($fJQ`m![!)!XID`C

@d!4+`!45S!9Mi!Ch%!L)`!L0-1D,S!KXb`Jl$3KmN!!(HF#bLN!*RP!+hIX)IK!

RB#!'Cp!'F@!(F[d(J5#kKm!)NT!!#CrJ#GVG"PS3"93`"RT3#Dm3$-,`#Sk!"Nk

J!bh`!Me`NB6!#DX!#kQ!#BNJ#)KJ#DF`#l5J#T5!"el!"%'J!cX`"%p3"Rc!#*9

3#4IlY2fL[SI`f(i3ZB0J#&2G#DJJ#lEJ#TeJ#(TB"QJ3"hVJZB,J"mKpf,5Z#CJ

3#BA!e&c5"Rj!#F1q#T5`adS3"%"`"&MJ"Rr3#!FG#U)J#U43#UC3#QDY#1RL"$m

J!bpJ!d$!"'&`"iEJaC8!#BT!#&EmcBVJ#**!#8Em##FYjZ8F#4pm#C*`#(QJ"Pe

3"8r`"&+3!!@X+JI0rVU9J!N8E3KiN!#jdS`)Ri!,c#!0al!+jUd%1I!#02!$6%!

'Ib!*Rc$)R5!*!6m)KD$6')d(DX!&8V!%5H!%@U!'I1!)R@!+UB!+SX#`I[F)e([

ATSX(5LkpP*!!#CY!c`GV"h)3"h%`S@k`"VCV"K!,"e'Y#!T[#(V3"XGV"MMm#EC

3$-L!#jT3"eB!"#k3!!+BcJ4RF!LK8!Zrd!Za-!U@X0L98(L5)0eE`!4$`!-qB!4

r6!L8m!QM!!VT#JKk!-95c!L0[G*KA`GqS!MEQ`UU3!UCS-j2Lp9TB,X&dmQIc!K

$Q`N4,!HdXJCiS!LH)!Zq!!bcS!Pq8!C5J!4$-!4+i!9j%!QS`![&3!bjN!!+Pl$

)Gp!cDd!'DF`%5&!%3f!%6-!&EZ!(MD!*h'[@M8!)N!$p"reqd+)3#[q,#(j`"f1

LaBC5"fpY"h33"mem"QD["VXG#)G3X)@J$jJ21'!(!J%Nq!5Z3"Id!PS!#Jj"'l!

#55F!(i!!HB!5U`"Y3"+#!&JJ$BX!,M"dMq!0h)&Qa!63`"Y+B%e!#55!*-!%XN!!

'mS!Lf!5S!"E3!PR!#TiH*I!lND!5A!*-J!NU`50B"%U-%!M"3I!(P%FcNf0Y3+X

PP'jNf!)"r@)R6m4e@3*38!T%J58B"'`!#b3"(5!$CS!1)!*5B!dBJNi3#i+"-N!

'[Q")53,L"5c53"N3!f$J#h`"-!!'aN#H%hf)!"*N!LTi#P$"+5!&S8"Zq8!J5,S

135*JH)[!%'Jq13!l`X#G-`0U!1K!,DL&YZV!(F!$HS!2J$P+%!TD35h)"EBJ&93

#22i!'V%#if`%mJ!Ji!CTh#9V",eJ'c3!Ck)*2P`Mi!"`i!bE1#N`"+5!&U)!9b!*

H!&R3JBbe##3"*ZJ%S+"[VEqie3Nf!E@EC`L[SQ'dS@%'ZS!9J!*1`!P%J5U`"FD

!@&*b#qi2J#ZSTE!iJ5[`"FQ!'3b$9h!*3"B95!*"B!G%[LL!"J+"*9!&Z5!B"!0

Gd!Sm`50`@YA[#h#",D!&#U*"e!*Ei!XJL`)BrNi",I!&`f!Br)*EX!Sm`4VX!ei

[$XJ"1j!!Y!a"%K-%%m--H)%XF!@``"B!!iSN$`3#MqLi"X%J1!52!!E5JPm`$(a

",2J%L!!1E)%Pm!0SJ!b`!6mJ#AJ"26!*8J%[3!E,J"MBJP(J#24!'NKM6`!PD3%

`S%[@`"ViB@IJAl!"CNF))S%R8!@dB"I`JP`J#e""*iJ%2'hcYENr%,a!&dCX!f6

JEQ@"DI@0-PBL+(1lVZF0-8l![8T"+-J%(c!1N!!",6!&SL)8F'&[`!r)+eLJ#k4

F,ZL(ML"PMB%X%!@8`"%i!NJJ#8!",1!&(SDHiiL#)"&%JN`J#P)","K[Y1!9R)+

F0ard`"eSFhhJM8%fc"8AXi!9S!*UM$0@N!$XP3R`)6&3"XS!Mj'#5-!(d%!@H!*

)!$2ZXMF!##4"+(!&Y-!@P%90S!MDRKMB!PJ!#fL",d!')"BED!-153fJJI')"VB

L(JJ%LU!5J)*8%!YX!5ki"4e,&&`#4L!)pS$ANhpmMJr`!B$eAF+!&UJ#8N$4E3'

iC`Jd35[`"FS!'M`$Be!,3%%LL!0G`!NBJ4rJ!i`I&QJ$cA%8b!*H!!ai35`)"C!

!B*f0JImi"DD!&6L*,Sd0D!`Y&JFQBGSkE1b,,e+i9'!+4S%R!'&TlBVC[ffQ13`

&A,-$CLYeiDmXN!#hjX!JX!5T3"FJ!fP!$D""-4"`pUS+')%Ei!+5#!mJGh*J%B`

#AA'!-Q%%bm!@VB"5LXD'A!Th!&3!6I-!31!*+3!NJ35)!"&2$Kj!!#cX`##D"+)!

&[X!B))0Ld!YJ35L)")!J$T3",R!&F1-9J'4S3&R9!3%b*X#M3e*@G`#i`6C4J!T

8!Bhm"*D!2V)dKk(2)''r-'cGi3rd!GFS*Z$!l,!$R8X46)*13!T5!5Y3"D,JEr%

"%B-&T-!6J!*83!Y`N!#rTJFr`ES,K*RJ"Zid3B!K%0FHd!0iB%IHLMA3qV,L[e!

$9Q)MbV9!3!JmBPf6"*C!%h3#hU8*,"ECQJ10d*hC`6c%V"b"*H!%b9!8J!*1B1Y

i@R"4!f3!$1#V,M(0BQ)TB!9ME68kJMrJ"Va!&%!#3'!(p)!KN!!%V!!E%!5Bi"8

FJf[`$F+"0NJ'[bm3V!%YJ"b*3"!J!Ud-bHd"@*B*1N&0H`5'i(+jJ4p',K1"*5!

&'h)$"S0EJ!SZ`@9MD%3!"mb!'U!$k!`8%!0aS*p0JNd!#N,"*pJ%&ZZQrB&H"`J

)35*BNcbcEi%#fMF)l!!Dk!*8!2X4!5'!-C[!&X"pK`$1N3*6B!VkJkdV"(k!R8b

SHP%(p-$!UQZ4i)""!NH3!!J%hTSE(Q*2IF`"2LHf2"iQF)B3l%hH&R`@-ma!HIb

8K%Z--3*(3$JYQZ-#A4JL%2#ma9@qc*cMSPpji$kk!BHd"VjM!-N$IX"S'Va*B-3

F`8k$R(D!jpJ"60J(!)%JF)Q3!%X2V"4m0X$i'X6U&kNb%V`YGNF+4-(2"'106H"

"0Z5@"r$!(4!Jq3hXM8he39lL@KpBL3A[R'8#J(B*BPFL&!4)bcAD[rcfp8bP&Y-

FPK!2Y$Nq%"Y0jkpMA)XJI"DXi98)F*S6V'*r)(dL,Yq'h#*E(qKeIZ#0QFl3*3M

qR"2%%+*b2eSpl4RCiUF95jm!0&6f!IhT1q(D*F`$I-$2r6NVYZ3fRpA,!hUJIrT

2$(%K!'Mkl!j1-(5eaF*P#-)C@$J%KS!3i,43q6r9*q+#RqTcJ,V2b2AR3PHSl'e

lB)q%6T%ar`,@(LLGp*0B`Y!pX%,I'+$E9Bp!%P5X5Y!j$CE)G)1R`k@KNXl&Vmj

P-J5@NL#Ym3%lJ2qF@Gp%!f[J5Yb"hcBrFkJ'(9f-mbib2%D!&mYRbeUIb2)1c&#

HmIA#([D-Dhj!F4h#-BIQKYFJJ&`a9)dD81fC#GqRrdbKqP%Y3Y$qk6e(eqJLA@-

,G"(,#p&#A@,`3ThGSEHj4Z082J)@(f#KImk4#X&$LNK&U!iGS'N8A-L"i8PHm-!

HB)Z,kmaj2M)k[$aTr@bN11f9RXp)UMrKjZbJ!cD8HqV(BaP"ZDImV+$b8h'#88-

33JF")'LJlC0laXqK#6plh3@eS(m1M),3X@8q!3%D6CCD"*H56Q&D,BPT*pfN3T!

!JiDc-pF)b'K,9(2)FRU@$dc)2GmR+1fGD[35mNmFfNd0!680"+*bmre1,@)*Qq$

L2!3J9!M@6e&j,0NF",fNKA3)eNm"ZNYjD'`%G'!KK0+[02V@,Q%%ICm,6R3CdMX

U+L1Rb0KQ$b5Z#Ci@'VV1k2T8TRrJKbk#99VQ%J(j[+2(0)eD9'pf1NISU-5QKN+

,`$9-H%2pA&X8U0Cd2aV8C%T21bMi&*mZ&B6D8dpk2f'S!ld$8"@U2P"#HMS6+8G

&TXJYUr,35jT*0bUa(*S$P)!H9'm@[$ST6&fI2,4r+Xl#"9"$k&F9URUdrV(60hB

qSqFqjDG`E9Vf[&hPq9TU+p@K-C52#TjIecKGDM%pSljYUrSkaZNiKpHcf`0i!&b

!2Be)ANCR(`fNE+ekaS'jL3F5k2FXAdQ-%%!Zr6P$G@TR,CU(J*`4cMTD#(5SEr1

P,c'a1B*qGG%Hfhj8Si[5%L,3P-T@$GG%aDhdck+@cZrC@0eU81@KJM36qVQD#PL

a+3h9TS+R@Rl3TFT8V9K[diqAG,Qka)(D30PF,ieFRNZRN60cUX51DH3-RT0eXrC

6K%T,C5TX"!3m,jbj92)*Z[*R+!fZTrAA!933DNcA((#eV-H6%2br`@RA,TTSK@b

pdhG19@p@,IHV@b@SQbq#-PM"5HB1ThN&NPm2DXf1*cCFKq"SPD%9PA3@cFA&Z"$

"VM1Q*l@G1P2mb8bakRFYQQ&ZYRT1i"8pIHGVr'fLbkLHZ8A`12R!p!0lP9@Zb9&

%k0K5jqr-UAN9S3T6BVT82q`-K@X)&,8f6N9JBZXVDGfMFh@Y,PAA+P1P+SiYA"'

eI,l5&pT-9f`,E9Rf0DZUf9lk2RmT@!fVf$@aVP!+'LUCkB+,TQ"fbYV4$iYE3qH

LI)d)pA3fehhkCk1Xd5aRe-X4e&CdQQ$(UZQ8VU"eece"-D%4jqBH#*b)-,4Hf$R

3)X%Md*'@0,@DlXi%+eK4kDkLSaI0%,K@l)TFYkS2ID63N`ricN8CBJ9VQmfSD$E

&YPNYUe4&D+k0Rld1Zf*8dF9"UDRj(,-@P+l56h`U92IR)1fHAR5%$Xh!+NqIVAB

9SD+@II*1jCTM5q`dpEA@GF9@95D,12Z!4ff4Nr#@MNi*fJI#DVYGTVe1KA,24jY

+qkSLf(@+00TZehaD3'QY9"fNPa4q`PPP5M5ll8SYR'KZeh(ATeVr4ZFJCD%DG,[

5cl*U9*0UDd9DA`X16-l[Z#,Ik2CXYf%eVDV9q!T%+4I#N`53!+!4h0[$bQqRTip

NTr!fhV*3RSG)59GeEE'l9$qqf`Y+CdYS-m@U%"5HeMp!bf!CDm(LVmGeU#C3cj8

)bKR+I33SlA'CfafjcFV(M@fR+P3YmY(qbA6,f4#G"**!dDUd2E"2H8C)KBd#0ip

Lf,"R+M8L,SfU3rH!%P+5b`L#D-@+KJU2adV8hJC2$fJIEEHXGXi',f,D9URT)M@

@b96RBY6lL6q0C@6PY0GcFR$4R`T6'@NM*9fTP'f06iPUEPF+kiZ%9i,2a9'k0PX

MJHQ&ZLZhmTC38'VeJ'[`*+@L0lcZUY*EX6TR(CfQE,9mL6QlCY'SV-,&Z1D$$6b

c,p!&##*#l!*eX$c'J6Z3!,J#A4"PNbIhi&'#@NF**)(#)k2KXmcCd5)S"c)A((4

RIDd0T+e,+fMakDM-V+B5e-T4aAE1-%%Qk)&K0q""1kSEpLEK'iJ$fY6U6Fq`YeN

jiL"3"*(J%Q`#6r!*1S%QZ!59i1QL198lIcQYKQ@l8X,6EJ`S*JJ'V,-LR"JiiEC

@"TT@XqSHNDaYYp,@!92U"r4V4%@Fkr0p+XlrCr#bTH9cGqq1r9%#qUJ(''%li`*

BS!S8K&rS"H`JY+5FP91,#Tj#8!aR*p1MNB"3EP%#4i$AZ-X!DaIG83ddLLfk6*G

Fj13jZ4A!IM-ajUa`S"$PR0CAj4DXa[9A,@rUT+,jl`hZ06)!#5F1(HLXhkcT2S+

dHAHV,p3p"),!h1T4[qXqfq`E8jr+GU"Hem3DCq0X3I@Z`cA333*+i(ic3I0X")r

,acVJ0Q!9e`$3kEp3$,jZebU'34PTI*f[!IACjB%X4SR63"U)K(ZZF`8k4l$B61r

8ZlHLY3p%eP&+2#XTS)@[M02%lPH!qN'R+e0&V+55YiM(V&LDe)GkG@2!cZ4@!MD

Cm)!Jk1UUQe6DSY82($bP4*2$&@MV$ArCF@VQZ[("RF15S(ep-5)D#43Y)M"rSlK

faFXZ`!@k`!D,`SX*Fml2+UDi%PX3rAJ$@*CjJNd!m4M")6"GcmYKJ!&f$+cXB"E

9aT(,ZXC3))PZmHmGd)3%bf34-De(dM`QY8[!8$H*EH"T$%rKjYMlBDBi$ILbMBK

!D@Ue,(LYq)JTfTBS$YNDr`@TEjHRYP1G1h1P+H2UaP4f!hGA'mY6S5fNeFJB#rk

e!El%*Ri(Y#5E81bACY$YDPhpR)"YA,VAi%eI)kE)$KG&KE+rEDebiF*C@k&R!hf

mY2J"Zef('d(Rl1PNV#ZeVaj1miXXKiIQb+BIeHf5B-meB$&`19fP&rJZEel4QNp

aDkPFPJl1`DP)KkaFe@G$9DBCYHG0Vm6A#6k"2QCHN!$!(a0"@FZ3!)Q43q+iplG

(dZ+cPCNPlar3R1&i'CGM(UY`&bSc4D%CYDcHdcIV4heSJ`8,X,N-rmq%ZNN4U6F

GSG"Z&T-*m@J'qLE%FJ2iel*bd@9l)8iR*a@KdP@9NP%UUfURlR0GYdAA&l[@2!S

hVA'pS*Z%Y4[[@5Z@8CmbAefPDMN5peY+5`l,TMI,S0d@Y*VB$MTI'9IME+9`c1[

YjV*RpNlaGma1PY6AZF3K'%Zrk2plE6U3!!H#2#+Dm&5Z%X1iT2JU9NihF0r@,D[

YZe"ek!TCJS9SVkrMbX-!UfGJi`d,aDLP)64cMK@b*8YD5i%TY06,ZqFBMb+hl)T

"k5l#(CBq9JlN[pi-#DI`hhfhQ95(aXqekN([SP5f`ihYiUkjYFYfjA*@2U6ePHa

5@P2CQ@ra5kaVN!"!ED*H%fYi"kp1fm[%-NC26[&Bp[k&,p2'X9&aTY,`@@5l``m

GR&*2L*lF(aL*AI+@YXpNXbI,cpl'6YUS#&Cbj1X4-',r4G)1F195K"NDh6Djbj`

%'A6ap-"lH(Y',Z&&fABJ!Nji+(U*$@NYY(&9*$IVV#$h@2CEqLGLK4Fj!mGJGff

Q@K4,L,dC1*Zb&THM[XdUDSUYK)JUUSD`b&,Qd5PikLam(E"eP%T$6l,VJ2'MBD[

(L$E4ePE3U89HlQrVI,2eqM*R[TaeefaCpQd3LEUd)f3K*d5!GI%M2`4QK#BmB*E

`5MCC'K%$N8L2&D+Y``#hGLI4@NlS%QUG*XSe(YK4FU*J@!cDBP!Daa')5(0!#A#

64d%P@)!FH"1G)P@-!Ar0!VkeL#VBEMJ`'@`p-5LQ3$H+(Q1J!3`++5!e"JE"6K0

6"lAN#M'4"YjeT4!"8X"8$$6#`M'XKl#S&d&S'[%1%a9&V!Sk`5D%`QP)'(I#4$C

+@3%ZDJ3AYD!B`$P3d)@*!5m!"8`A%V@#ARDY1"T@C3c-Q&!aF@`fBm(CSN-0Y+#

MF6QB5"XBf@+T'!eY%##eAEBldYP*'`5)JA$pV6Q-GhRD$H"UXi&K3A%LaYEQf9i

EQi$YE#ffbAE6KKNhQb"j#UNY5(KfeCEB2q4S3$kZ[83Zc0C'fMr%D"2ZX1e1)!+

J#!)U%$*-J%!K@Nk!Sh")aJK6c)%Uk3)!UiF!!!: