[comp.binaries.mac] Macintosh Technical Notes - 285 Coping With VM and Memory Mappings

bytebug@dhw68k.cts.com (Roger L. Long) (05/13/91)

[4/91 Macintosh Technical Notes - 285 Coping With VM and Memory Mappings]

Revised by: Craig Prouse				      April 1991
Written by: Craig Prouse				   February 1991

The purpose of this Note is twofold.  First, it describes in detail  how
to use the GetPhysical routine.  This routine is critical to the support
of alternate bus masters on certain machines without Virtual Memory (VM)
and  all  machines  with  VM.   Included  is  an ancillary discussion of
several closely-related VM routines.  Second, it reiterates a number  of
issues  important  to VM compatibility and elucidates some of the deeper
VM  issues  of   which   specialized   developers   should   be   aware.
Compatibility  issues  are  especially  important for developers of SCSI
drivers, NuBus* master hardware, and code which runs at interrupt time.

Changes since February  1991: This update incorporates new issues  which
have  come  up  during  System 7.0 beta testing, and it also attempts to
clarify some issues which have proven to be particularly troublesome  or
widely misunderstood.

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

:#P41,M)i05jcDA3!8dP8)90*9#%!N!4@1`#3"#lM8dP8)3!"!!"@1h*-BA8"!*!
)!K*86Lib1$8Z4f9d8'KjFfPMB@aZFh4KE'`ZFfPd!`#3#@"4lJ"GH3!!B,ZD!jS
"%`!H!!%!N!0J8JKA6e*%68&$33%!T%VPJ+4+jBm!N!DjqJ#3"P@e!!"S,!#3"YP
1!!`%@!%J!!!#!",qq`GJBF'%ZH3"3$!aSF@,'!%)X)J%3%H,!Z!*!2+2fcph!ZJ
*N!#5XDA,Pc"MbTa*XkA"K$FcLM)$!%K#89J!12JRd304!1b)"Y#9FD($R$NaLN)
&!-*28aU2'T@B90l5TNiIiR4j5SJ%@$pa%9#Np@MAVaLG-LaSEN$8!04UZJc3!&6
!K!S58LMBB-aI!)%"$*Ba3JD1'MT!J"Mb"NiD0fG!A%P$"`d)+de!K(&$"N56-Qh
Hb-PM1J`FbjMR*"J""m3E-b"La$LFH$"GZaIakYeV,N"LLb3m!Q!$!")!@J#`!H!
A!%3!)J(3[+`5S&`!)4LjPiX3`+mJ[ic3K`*J+@!"N!!XeQZUD-"LP)4q-4NmRP!
mLiS8&%"&'Qf8-FF!LM8!!!C@L3H!H#XFB)%#6B3aaQ9d[$%('Rd"N!#*I"1GC"p
q!'#L!JB28&('''LiNFBBBE!"JK0[d''JAjRiGFPkl4R`AN)#a!I!I!Mm`ip&c!'
3!*q#%U`3c`FE%&''(@@`89NCFS#J)SXZ`LMM&(@mTKSG11TiJ%BDJ3!!$QML%)!
dIM@L(R[Z`3GLNHpBY!'*Q#J)!`S!`"$!+J(!8bB!1p,TSje$KZL24I8T@D+##D3
J3J#S((T*R*`#-!K$+66fQ!i*8!CECTYepPPSSj9f@QUVYIEDC@I-SH"K%KJd@+j
e)@642lJXGeef`r'98+3-#!B!V`0XG"%5`Jf(R"46TM&('D@*N3HT3mJ44KUC35(
('h9FQd!3F-L4KS`aj*!!3``+)U[X#9HS5iH0ES#J,EIHJJZ#Z15DDd3CBXK44aL
aY[[ZVI)UYQ`!G5(iDl#3!%4EE!-E0H`Ea!2`"d"b(6(R((658@FGGYU"4!F9D*3
"!Kaeb!'(KLlI"N*ReXjBSmXjdh((E@q`3BB,NKQ4KKacd-%##*b"3)D"BkJVKS&
-jrXd(Gr+L-BEGpcm"JMPZYbCbdH833F8D13aaiXaJM"Z(A4F9JE4@U+4mpYaZm(
c(#"%c4RE-QCiFmXJc"(Qc(,3B4YZ-GSSKaYKf+K[Z5#d%8E5@2,p4VjMB)ReCC9
ED,IHI0r"fGC`IhBd(3I,q+TUV+%!@JULN5BD'c*DcU,FTCqq+Ye*Z$%''h8mA9V
1Sp9q)Hi)XdD'Y@18ZrEQLaFq*CCY$dmc'hQd)%H9N@1lUY[NjQdJh91XZ$NC5cI
p2@IBfmKh'##i88FE8fGTXl@'8ddJiPKcJq)%"jUq[D%0F)KF'X5`,Xk`TP8JU&)
G,N5'm2&Y$JHX'@l'jV3bP!%1@"SIrqT!0C[G`@iX+K`),a5M01K"I%qMNT9!L,6
#S8jSqR*C'1k!X,P*KM))9#!$fH"!TXfKIr2lAJ6RX-)da)Kl6%2JQ%DM1$1STS-
b[&)0E6D&)8`K#8j6&j@3!,Bd*p4"#1954HJ`Pb8d))`-22cHdL!iKMFm$33RI*&
R$1D'q5N13eJb'"`'5+#j+FJ$#8Q@`kDJ5!X!`!Z+T)!!5+8Q5HiJNJ"Baa$FL"Q
UV8ei,KYB`3i@Upbi+`D4B9R1`P4"b9fQMM*6M3AV9iDZMC!!DRP-S4ZTC-!#JDd
fC)JCV8!`"EACU!dJZ)%,B*!!3kcGc%"j1m-FEGHd''&302G#c5$j*VMK)5`0CQ!
0"Rejbp+Kd$1lG&QkhN#PI!PZDLp$@0bLa`D%3C%1Ea-$'`b83GYNbA42Jf)EV&8
(dQ3Z3hCd332fT%J'k!S!(F!NAr+N-F*30*(+iNXm$S0*$K4KM(N3JaeCdi4b+Dj
XLN1EfJ!AVi3ii+&m`3"("4-!Bb3"0hNJPfL8'--U9@DBCN3MhmU!K`6f-3h8Jj%
Fb0!l9BQ"FTCMiiE58*XV2ZplBe"FJ@$e`$&dlSJJ3!%4QK!%fX%SJ82mQi'QH6b
FkM5G%4bMdcERXTl1X%!#p'F[%aLhY0+"0I+,*KjpKbiil,-DI-0U'I+UZp'Y&34
%A)2B#&HK#`P33jj*3K)Z9$YA@3K$Q!@"CYHfY*c@!34`,5JCb#8''j%"LQkSdB[
%0dkA*FeERFcK,T%U"lTP3DF$23-D"PLP`"&1UD84A$!4k,6)d3qdSTQF'F`3`XL
"J!3`J-%-XX[GcJkZVXkY'ZE#8"VAJ""KIVaZGQdJ"1l#J'l5Z))EkB"Be*ThXF0
XfIGq-!d3Q,Cb*KA0(0EJAh)KV8TQ81K-(FDAj'JX!2bi3R'A0VE[eCGqHZ[D'F*
!6RGbc3h4i%ap[E62mMS0HTZ,faRU%,#AT@eYAK)0'FM`2E!bd8)qe-am"fIG!Sf
'Ek"E'`,hq8`jY!()h0aaKIIfXTd*d)QiHk#qr,8e)S0ZUl!$RPY2#pFbJ'ZiP5[
$KV8P2r&L$AIL!ahp+J[D$BPfXfPBQK@cG*QNMDCc&0iaPQ0eAr4klEZ6J8)9[#Z
iS&)1G$llfV85k#h*dF!d3R$ED-jJS-KX!E[Zl5ide+YG)hMDdeh`lU9K3)0--h2
6f+A"$$i0DVTp&%Yj`"PQ3'#'F5'6JiXYMFf%-"S#"q(2(*cD'5lMSPR[ZYFJL(6
1$(5Y*cq40GVm+p&il3B#4hV2cRX$e@+V1$XR$Qa2PT&ephNjaDADe!U@!%BGpJ+
(,P+L$@#)aJ63#LTmVBi)A1`F`NIV+q*X$RQZ'3d911Xj'"-eB,Y@NPf'lG""MY*
i99a"QiD#*M5K#V36R19Umd4!`q(&J!Xc9m0k3ZYbd)e,MD0Y26J(fN'AITmm!j(
Vq139YpK+`iiaH@R-E"ALQ13llMLE,q[Q1Yla@JC+!GeBjM+FKhcR0EjJ!MX(f6H
mB3e$aB1&k!$&b%k@iDL"AHKUBpTUm()0XEe$[ZEXhc+JGqQ%`qH2kaNhkZ8-hiB
e@j8!LpXEIbq[JX1J'Ac@3bdAZ!l98',bc%Y%'0@pMeMd+3fpqpr[N4I39VT$#aS
ZmcH)S@h@*8%-B$#%dZTdY@kSKZ+81PQ6%`lU2Hq-kp8jVUpL-%YEEehAVBjeE"T
4[DA1lZL(3$Ij,YEMY@If&98$VXXmqf@TSjmGBN6#U['ifc06'Y-8GiI&$K!0Ea-
ZS2IY5lRhNHj)GB1V35VVc0`0I((M*36r'b-HUJd%P&DF'J*FFX@9[64%Y8*dS&!
-J8J!J%PLi'k$S3DB4!S+#!#V!'rbYQi83!!p`(5&%c3Z3e5G-dMTphYX*hL%Td5
jY%F&T6RZ4&QI4A5Hm95VGd"Y-('14c@`Gd488fKR"&AP&N)S"dH&*aP6%!Cj)'G
A9'F"K'IAGhMfa8YfG58QCJGTm$4I8fXFjM*Ri#eLN!!rH(416R-rF$!rq8)JB8"
T95-ip-0*Vq8bC5GrZ2-'-eJDE#GlLJ-cXA3YaGFbqI*I*!B#Aq!%YB3%V8*NTU-
ULbF(+aCae81&"6)&,P3'TRGDqDF[&N*Jp10d1MGM8@Gira8fd@8$1+"G-,!d9d3
rRJJ$-X"-JqJCT)J$Ma%$rf*a98"KLTBK2"9Hd#@(pN8Dqa4`TR&a,i-PFhCNY50
M2!G@jMF(k%Fp%'4B1-BhVI4FPa9GX&4M-d-D`r4a+h@*a6J(G'0SI01$+VFd@p0
pBl3dUl9Y0C*`ApH,9A"KQ0Kc'hFU0a-'qR3qNR&6KjFP0*B'FT9!0MJr9M*VPIJ
'13Gkl`K@YAC!J2BkX9)K$iFP[+L)9SL&@RL1I-0Y))"fA!0XI8Gh2+-i+(!C6j0
QUcFDh*B#E)9j"2Pd"iPNCBJPkD*hj68r,TD0"VQ0VSB(MJ-j@[0'+KFkcZ1&d68
eB3!hi&3(-R*@V2-paf-jC0KpZ'-EF,-fGf4D@F*kCS#8824%EKJqTB''4,D-@1*
'AqJfAkBi&M)ZaKKhP9%pP68(D*3C%&3MqP8i",)ZpX3Drc0&J$FkY8)hFFNhAMF
ib+0%4)92U,&h*cCG,i+8!r3eeK)dr&C3q`4@QfK35"0!bG8b4k0EB3#&SfJl923
L9-9[Bp-'#T8R"KK*!E!!M43!&F#D+[#D-`"['r9JbS#"-i-K4V3dDDH%-CJd193
i-5-fAe0r3XJh0$G'LQ1*0aPe0hK[UN'0kh10)+H0d-Nh8c0RkR3j-IGGYhDFE["
!E,#6r2C8I"09MN-h[jCKY&C3@I@"JAFiBd+B,SP5+J9M-E)d*IKlUa8p%CGQq4)
m91Nb3jFK'l)d9K!dpq-b9T!!"2"e"*DR02heArXfK,B"5SGRGLjMHCYC9flBS!+
N3*X$AfKd8QD6Rb'(2-4dF-Jd"EFaJLkM6-a%AC&6R0j&2eD`1UeM'Q%A+cDkP-D
T,eBhJ*)KApDe@U)e9rf@*F@%1FKN!m[N!RLJ9q!N@Y@!6"M*4m@@'D$"A`UL!K3
)!,r35!#J$*Jd$Jb`%B-a$kcC!kq*"2$QB"4B(NQ3!+Ai9dqP3Am$KLe,-c8``SN
&"%%Fe(!)XcXfNP8iDM-FG+#KT9QFe80Z!hrLNb'@-3EF+"RiHChl'9ei)cH6'JG
eF$6LSbf!"UPapRYd96d`0kU5Bc0C+6b2jic@`PFX8UT5*RHe3@,Lm`8-Q3G%8+Z
4Nd)S3!*"!!-e-!3SZB9kp(XF4(jLibfe%6EC!PL%BcPUF%8&4'+CQQ`V8T6ANS'
qe&Lm%kUMUN5EDT-bFMhjNSVPXbTj4M1KXcZNXi3k"&Phk9T0LN`fikXr#Uc#5JF
Tp$rl&+$(Nbp5m!40S'!f-+CQB+CbJ%R1B+EG`*Sjm*T%`*Tmm*U,))%,*NP!m&Z
R"51Fdh(TUTmbSPSKp+6("!*5qPj9HN8Ukk3ZQNc,&&I(Gd,(9d!jXk8&eDA4d((
r&Cb+Sk4QF$6#HAFY-`B%&RJHP)3Fj+pF&D`h*V#HSDZr4l#*+8$BBRMrGM25QV9
$YV@Ze6jrY("+a(EdBhNBj!BTDD%h9"UFb"RX@CkS)hiRZk*m%j20TMLE!d9XecQ
*mbhj3UlekUkT!aTQqhYmkhhHp6fL5UT`1)T4DEK8`kA$""UDU&1Xa'p@D8"hp%i
ZJhG#*)Lq`d'SkPfMP3E@ad%[5k9iT"T#miJlT80Xi+(CGShb9$hpphZ3!(ZZPIS
em%5kI@@kUV+MLG1M[qTG,)Y`-$Ti2dQM$$ZQ"2#!"i"*$@#Q')"*(CX3MU3*V*N
!VdN"(PY4-S!%3I-m!QNl61#'Dc"-bfX&Q8-jlFZd``5)ZQJJ,A@!-"9[(aX!Di#
mV0-fbiXKia*-Ah8c2d0,A80c(8J(Fa!09DDqFQNl9Q+r!LPTZ@8c8*LmEB0YF'F
J1U4%'#Qk"Z3'@ANYTC'+9BI"FTQ,D8JhpIZq'3b@Y-HZ%!aS0NaVYYBhR$4XXmB
CJVQ5f0Pc`D3ZXlDm$MQ')D4&*0T(4)1q3M0-%(6"0*`C(6c!ZI1[SM&G+j,$icJ
q6f00Jd@)FX"!FKFVZ%9TQS-E$AI%ZJ[%QH(%XdU!(dXB%hL!JL%!Q#$&&1aG9Ma
-$BF#Pf-EBU,#IhD'J9J'Y#1T"45VmENj@6FmjF+2LJP"NQSKH%G%'b)q,'a&-F2
!I2LV9'ZVHe3q["-C)1$(b`Y"-rbV+FP"dfJJeIM(ReU[JU0DAc-fi8V(k3G`)&!
&EM$"V@`l`Qc&[dSh8##%+V3L8)C0q2*iY30BKD5%%kaA9ZbTNkC")LGfZ'LKG5!
'eb+UhJG&"AA0-ZX'fIbX9DM"P,CqX'DAQ$&c(5FiV-c&9r6+A%bd`rPjp34+e5U
0ddR,e6PV`Nc-q*`Paqbqb`ZSi,U1[Pa`0@XiBT)ikHQB9%9Nqb4$EGc#9qaG%d`
V5a1$+65B6824!(64jCR46AFpE0$4dB-dbbI1-Ih%CH`CAc!&icJ%-A0lh[8&5"#
&CF$6-YeE#U))BdS(CMS)Q23)CTS*Q13*CSS+D@UQli"*p2#DHU`B!5!*VmN*V!N
+VkN+V2N-VlN0V2N0VlN1N53!Hp")!Q!)EGfp!'!"!Q!*m(C4@dd"!q!*INc&lXc
0R%G+9-4b8%XicpLk1lE'6*ClceGE1UY%S)10+0XDPS@JRL%&3F!UYS1,X492FL`
Dm3Q&Ir9lHQ0lcI0R9R*jG#XCUZ55IM02E41(Pp0lrFP([JG)FL")K&3J5r0*9*G
!SEeer&K%'d)Z1)54m(3CIq19ZFfeZadQ[CeM2(Z4kEKL#&2B`6ZFhq0pZ+9p%16
3F`[G[*fHc1b'-DhB$"H&D9Jp`Lh5dpaFcU6*c)DV`kME[!h$qj3Paif8T9&M3Qe
pCeJPfC,00J2#)2!%kX`Depa`rEP2`aBhPQ-MX19"629Rm03b103Cj#*FIrUYR$J
DV1(JA*Jc'TiYkP-J3+Bh4$4XpGLNS%dVF2Gq#(b$K(0M9&G!EX40Ar-cFN"J,!a
"PL01i1)L4dZbA+HA3C49K91c0"5-GjCM-0TKMX2E,5$KBP2E594AC8"GZfhI"94
3F5-Mlah%&a3'e2AEAp0`B`0Bj**#&PNrkBLFp`GA*RcL)4bZ@$0J@pih6b3qlcS
eQGFq+EKbNC`[dJ"%I,9!$96DUH)C6e"K)#!P8%Ke4#"'QD1kj#hG,F!%,MdCGM3
hdl#rj8Z"!J!"-`cBM&dp$CFcX,*bBp4kq4,53@bNGG1ckILhV$&R#Fa"UhlR"$k
T"CTANmfT-U,C6I#RdII5Aa16lC6$3Pae"5PZ,FR$#TND8$KV,%b0AraRd8lC,)Q
6VQdh,VQAJjYAE,H2Bf41cFVFFF0[Br9VadMFN[cKJDVRqX9`!3C2p+14D[IE@$0
2NjU-I@3hY6%e2Z0"qH+FiQBli&l%r`MM((6%0QdcKT0#bH2,*5SCbraYM%Si8l0
EbiFEqMab2E2QB5"CJ1DGEZK%qYT`XH8',3!M,%+2JPML3#C&jej&9a6[B2YMAXk
06&+RXI#DZi"*d#)-(B-4),-FcI%Fd6%Ge6%X+@-4I*((V'N*9i!`A8SUK8A2ES#
4PU2b(,5EJ'GeKB02Qb0ceYTMA0cI1+6V`hRLf1bqRSb(SL(1$%VKV((Dc0Bm+5R
hK4b3!(*jN5[bpkX"2'FEZiQc4p"%F*Q"Lacd2eZASEmS"e#ZS53lR'Yc"NE10RP
e4Ha+DmiP)d&f28S%)`URq,p(2hlM5f0)Z-*CU+)$US+$cPQ5c3hhXiGr40r%2A4
M"&Q$SlNmc1QV9j6T[YdF+mk1918#4A4r49DFCZQT)BV$QE&9,JV@8!q&!*Md'al
6p#)$p58cp5L$%9IrX30!$F%Mjc*I3)[9`CX6FF#mC+EGl%aF1$`d+`)jfJidibj
*b1#P,'''SY+"if*6BjK-2rB43I$!!dY#0-m[rCkNX5l@&H5S4d2$Y4Q-hF1da%H
V-hbR)i4%32%4@l+%F1YDpfM,e#khmE1'5I0k86%UHYdX&UDiJ&1!#8#0Kc0`3%S
8f&JG&f0K*8rXE#I9-,UHb$$*@el#Y`#AmlEJr&a83S*Y3aPjY&*Pi("$&ZY4f%B
8CBRr%SQ54b"4$ErYP6JLdC!!'Sb0T'0Ep5kqP6Qjj2p+@ahaEe9MqK#49V+1DSa
MkQMd!`SQT5G5YcKF(4!r632A+3krjrYL46IT1%%`9Ja"G*@LM"h6`!h96FiT$Xb
&'CC')Kaac)`#4L9i3UeJA,3c!jp*PVbi,NGGQ*c0H"ll4Tm-N`JSimCGcU!4VN4
i%)qR3C1-MYM3*KiTV&``jcCl)JKTS"hpU3+DP%C$Jd#!0,!rNSB-p*F#`H'5#f3
D@iK)hBR!*m,MSJZPd4[UBJc-L"aNhYL)ReXUV-mLT4l&-IVXh0I`Gip3K#5@&SJ
Ck!BJ5MQCc(C)`aS#pe"F"qPmHX-C%UH+pReFRGRB'T-V5eJ12%!JlXIiU$9T)0F
3%G)Kp!!!6pKV!#!I2+"q`*T+`'YU0c6P"l`Q*F#D[X"VBN!dj4l!03(3eM"LA4-
!&fZ2"3'iaJ6DfKL!Dfd!hK`,#M3!@!(6N@`SL1%3`I&ablLCES-QPT!!SIdVbP"
c@%bji%milf@-#bKN2",C%E%@4FZPD4&c)Upm(ML59),3ck%9)X1SqSkA3f+C3Cq
i,caiaML$YiJ9Dq1&k*83e%rS8JK"Jb8Vl+@M%)Gr&J[f)#)[T,b`J62!I$S$-VP
iUQMKC#MD`dk%@JB%!9q[#1B,Z4G(V)C8T#&*aVTF3U+SBSbL5mSqhJI+E+9m%B$
dM58cC2(M!b%D,#'-E-D68`f@3d0"N!#FXDT!#Vk5,2GN#Q80H8CeD%jPE$%2li2
Y-fB'6ji(Bk)RfZG+BD5pp"6VN5bL05**KJP&VN)C`B9P[(pc5*idTRSL"mcCYFK
+E'"T8+DH%`NTS65a)FM0a+bk!cKbb"))m6"p3bh4T0`S)e#KEE`-VSSe$#CF"-T
XKa4d9'i'9A@MVh%9PFJ9%8%rDCdJX'i6Ym`9U4)KLh'TK"$"`8H8)p2k9Fh4jN#
9Xc5F`JCfK(&AJc3b0fhA-L6GfYTQeB2K,6qp0$m8eI0KMe$N28T)B0BilTCRd)0
qcQVXXK[AcYV26AYAMLh+H,4K8UMqPB)"$a"a0RN[!1!$@&-,H%dVNDCF0HmP!!C
!@a-(F-dH4*)"8!BDb3#!!r"Q!Ib[8C!!'1Y,ZK"$DLc&iC9@mS'qaiCC+X0N-UB
BjpKL6TjSX!0[)!TY(liaYaJ(@ST+-k-ilT20G9Vi'5G5Nd8aB#b0a$LTm-fBM)c
q4kG`T4Q8Mk5,Pa-`%53[3FSmZ6CH(!U)59l1jMf3!'k$0C)A('KN&Ncj0Bh9SRC
1f'emITX5DK85ZK%*[D!!'4HAUXP"UC(QGVV8R!4Y0bMAB,J8Ce[33"fB,LA'0XJ
9,+IQYNppF6YV!jVmQD0P1e6NFf`iEUFkkU9m!A1B6IUaBkY*@D3!-`@RP-8G-&0
dE6#N[iVL!)`2HK`#6q3(N!#krSAeP-8#Z'GFaAme$%Fb,XI8#NJ!T8!b#)%ZYa1
aaNHcMH0#4R`mPp&&[XMN%(VYNYhJ5hh*,a@29l'@XmC3rC&00dKZaUU8Pf-+#5a
-,A%12FLZXKFKKl&eY)B$i*i'ZVXLTp()4,P*G6NN@ESC8`cJ!C%[C3(qQ*jb'(m
N3qUG$',K%N$!!%!(!+!"N!#9)j!!")B!&#LDj1%IY)F&F!NajPDMPdi6Nq#!M5N
&HJM`N``S)!L`!I[$0aEDJq4LK3b$++1pT5%UjCj-!8-2)XDQ)4N#-!N)f*MlNMX
j`B@B'I5JJUNS*J"Z0NbHi5,HR@#K(cl['(QjZcQQkZA6"!!9!&#H5PZ4-+&Q`K`
-@f"MqU&bP!le82,3F,@KYB89I%3)pmeU-%H+jMJ0&8PCb#MP!YNRd3$T2"1GP2I
B#506+%LYSKL,1bB"c+A1H%b6)9fZ5`E6!0c!(AZAkHYA03$Y-#m*`db%L%9JBpU
EM13a)3[#)%-Ld`H1R*,TZ0K1bNb09!FZ#MhYS'iJBXam+"'Je%&%TVNFB3I$@$H
1mij9!EdT0jr'pr"bLm@b[$!E4MG3`#8%Mh"3ZBfZcC(#2*R[!'Scc!@Jc8H4,4f
'44b5*R%`Y-3K+38`53RBQ,DcmVJG(HPMmJ@mc$)0J!mXLc'9!Fc8#)!hqq#1H3!
NT6L-!'T-F,JK#&5ljER-MSLkj#Mpke%m'%'J0@@%e))GT@aBR6+M9+pSSGqB'Z9
&T2!5(dH*XSi!%P!4*!4Q#4P!!eS!'UXFS8k[c!!Ci%5E4QTi'X!MAc$4+UT93Kd
4SM0pj!L03I883XbHik!epD4@k"@hQ#A1j1FK3fKXaHQ`,p-#9)2l6+,#4A(%d49
Bj)KJHHPX+HriQ,!A-LlZd2'C!i1)AS9&Xp&pMXm@ID)3C)Tb85K+#jI'ppJU@LL
AKDZFKNqSLJVG4T!!XR`X4#5k*9T%b)'&,U-aa)!CX$3iUEU!!jmdkUJb$#6--J3
1Q3+d+!mSQ!)k'+VAN!#F!+c*"EbQ5j*4cLG%[!"6S)Qd$D*BS"V0,c1Q$fKfcTY
0J)&Jj"i#(3Q,Xj8'J`1P-K$dNP3alHmNZAfBdM,8lTPf)!$C!F!'5-PS)D$*TNX
M#Eb!*j!!NVb4cdPJ#HR@h$Lc`DTD%Y@!NIlZ'fdN`A'-2",G%'CcKR9!$VihdQT
I[CU2+ZLb25Siieh`BfC*!QY$(5dNAk4aA%0dQ31@)bTa'()4qR!$Hab4CHKVf&-
FCeYQT(9T'PELkJLQ0+$beTDB38S)!`3`a6*`Epi)m"KM1R*9"4F`-aqr"LH#NB)
M%R'3!"bC6MFE-BSkeB1$l&6Kp5XI*3S3(1YNTdikXN*1ke2JmKb%#m#XY!,a21L
(J*`J13b#A#(AJ%*+C1IBEj&$0E3FCIGp4PI-%+IT9'&&NE`6F5SHES#4hf-T34k
cQYhD3"(BE@'P"G3!'1"bmJ9ekL0$5N6DdaUdq[`AN!$%*,kdVJ'!"i"*1X&8bhU
[+45d05F!el*!@b-$F)d0L%r@4!rfjEhl5(`MQrSR,'(*i&!2`d8$dl+eQBYk)AL
4438"6'!)!#A4m"ULjCq"+cGd0H43Ul9A#jEh3B'hcKPTQcN`$N1(bQXfed)FF3h
8CqmH'U!*V[E&ZV'M2ZJL@e3hI9ibbQBa%e0'0C)V`+TD!bX&hCh,-D6'hNF#0eV
,B#d0F3%Qmd$`D"UfN!"jH4%`-JrCA3V"EB[3YMJj(8U$*&XBrA1Pi3hL%(lRaE)
+G+8-Gm3lqTk[KHA`*`i495dNR!!DSJ)9ibFhFkr,0B@`-&a$%$'(KV)Cb3-@DFI
[p!A+KTdT6p-,)S)"-r8'-%Ni-&2`J$ACJYG8$&L61RK0mQ#e#SB#X!VDRaeGN!#
KN`h`%T'L+JCQZ&SRp8JB&E,K85Zh%YR8Nf1`88'"+i#[#XBhS4Uf-Dbk5Nl518V
$Z[Y!0J0'XV!Vj(E1U"RB*`64Vl5p3TGA3m1E,9%UB!Yi+b!'!NaSMH!f,L28Y)"
&U`)3BcmX(5#c%SlBB4EP5S-eMD)l6K+f(6fUm+S',%%FcJfk)$cTNcPq@93P(#p
3[EiNc2GcL)LC94If+,U#,TGK1MBK`b%[1Q6ki+8Ae`ZM*4&4PT8"J%bFdNDSb0h
YT,89N!#l93Y%*MK%%YY`*@P9epB62FXRDBRi3+TIJil9$)5efC`SIA@c3SfUHV%
YXJ9eLYlBERX)4TE1h39Mri@kX"bViErk,5FeB-1)*31Mc3d[2M(D93q(Nq$k(1M
4Ah)jkR*8H)Q2-4`e4M4X'#-dIT6T(P3ipr#(LJpkj$TG`+*Y!5"!d"B"ff&Sk3#
L"3'K"M(DV3jhY3M(BQ'ciZ22KL("#+dJ*3H4V5VAqU3'iD6k(N[6b+T#,H[)(Ch
D3XKN8PPD[5HT%MDZC9Z`KTl0)A+6QlBXpYVRM"#%68R9j$Am@S"NRL4(JDKj,J+
N9X--D@4X(q%iUC5996A9*Z"Y%GP8GC4B3JQHPRklC14QZQf%kQS,BBRlQM1Fl4Y
D'U02E98lPQT1jZileDXa0fIi1r3B@'-'YH5-ZddeK,!m9Ad#l*!!HaN[JX#%LI&
66jL@AU%I@8P)pGR+35'hP0N`[-2S#rD@Hh4i@820I84A+BVf@cURR@iBSd'h9q+
QaEIF#L0&Vl#lJh-&3$hAJb9DMXSGXDKdJeTJdZUb0C26RpP$pc2"cXdM#(G49NV
bQQZJP9d3Ud-Y[kcCe#'$"d[%%DDLB*iH4)aB3l)2B"*@N!!!+JN!)!Dp!3#-Jm6
J50a"E`J!di$p"J"[d"X%3!CJ[`+!"04ICM!Pm8%M)3"1FXNqc3,JQTBX#PK6LU%
!i)")8J!BLIFU!&f!!FI%"i`(',!ID#3&3"()a$XQ6FG8"#JJLNk)0,SmB%aI#Zm
mRTJ%"B6J[M+#030KHCK`P4B&-cL`9QRKlK5A$B"13F49J)'HLS*FM,L"H$%k)P,
D-LhKbb((KhSmUlL9k@!X$)iI9b3erXVFmcf3!!DV$!f2Yh(PPGT#M2l'jXJH"f6
4(GfDKfBk#Gq)3bdMA%PK8+LSUR"$j-$3G)p0!J'Q[,MBlb*9&`4,9$TF`S8N&8E
5`K2clcD"MPD+XN[CpB!1pE&FNdL)N9$DQ,"[M@S&B6CL8J6`EMXCM,*h&B%LdIC
@SI$SV4ZfTChe$)2"c5+a4(8c8)"ie,q)ZPXR3cejLQ-JPV&L&[3[TNJp#Q%i8Fl
KRk&V)eT2AHeP3L1%@+lH%C93hh#bH82+%AmEc98d8+DhL%ma4RX15URV-M)YLk!
CqD+%281qkVKi&VAF3N%$LQ66&L#52NLZF9bT%4YQ88$$RC!!$M*q6d*+&$A"B@a
pqK1K"#3'44qqNPN)GNC1DQ4LL'MB+UINSB`9"adQB$j5-P3@af,ij!SqESV09KB
@$af5,f!4Nm*)F+@H%3lC'Q$[-&25&ka"FdA0B[Si"8!b1-LZJiXpMI0iiDK(jYN
mA+ccq,0UD(G0dpHY-5C@l$DFI`aa(0H`p6fN0PEi@R'#0FK3EK8Tk@LGf*jec)9
VlLTZ1P`$*SmFQ8c'r("5KT9B!STF#ceUV9`'8Rj"G`5EkY8VGA*mNU3+8X8*$e,
,*paS4T%5`BIJ"2508pm)2p(GEGdD[@b$h,J-BAQ"llM6LF,*kd!4,&Z`qKa4X4Y
Sc,i9BQCL84p,+6T&ZT8&i4,I8BUf#bHZ%TkB4GU1aYa82%-T+M@A13E,99c-C($
'8QN"M+DdA8(G1()!T+6U6cMARC)dcj!!@amCI(Sm,D5dFC'DK9jPB#Mb,X%3)&d
6)IcLJKaEMUXQm)#Ke@l9rTSbI8db1F-e+j((#dqH5[jDBDIVp4aR@Q6(C1G)jQT
#i"jEYfiMK(MNMLNJF3iM%G&-2*j#XbHQUj*'dNNq9&ZcD&4c*9Yq9A9iX*4Xm[,
&0Eb,F`8GG4[kp'hSQfLf`N#SRaKS6k`8lFKb(UlV13Vc4ThS'a1L2L5Ll)NDfk8
KNfd%p#l1EN3h#BQiH*)iTQ01AG"Y16NlD#C(4$[clb"ea43&+iX4X)+(F"&jG1N
dl%bI&hFDbLSdl9mb@M%-!"6`"-3!D%+9fbGf`8&qGf,fM6Hm8[3ME'5*-U!'[PL
P1Llb4&f3!!%bP'BhC'B`YTr(KD@pRAJTQCLZ54hB"P4qT9C"NK+C!5'L8(BHUEb
Y85$@kFpBd[T1aFT9@BGrLTY!3SDBGiE!!3aP`YL`re39(%3DT'*Nb6H[aEHCH0C
L$55$rK)M2!Ikb##VkNlMN!!F#Idq8hIbH(TjIb)3Z)%PkNZVQh8jSf!N4$03Fk-
"2R&c0b-2J""3e`C5)aP!cE69MRLA525Z2TjeS5Y,jfYJYk@LF'AISfdbaA%%ipd
UR9AH-9Pe)L[`$f[)E+)2mA*G(4pKqU-P$5*i8"ee4lZNl13G+j91ZUAV#UEVFqU
jbN!4$X52'H!i3Rf,Gajkdr3DJLD)+V+h"THC%FH@qNdGV11`BYA3f6NZ+[h&2Y"
UY%D-%Y%J0N`(!XKCpCR246"aD'NbK1[d"V-fZRY5-JbUKlP0iT[Kq)d*8B"dRHF
j"X@Lj@8qZaH,c"C)HB3,@5!Fca(NBL0M`JN4q8)qZ'-GS%BIA4aG--%)KLd$2jT
h2Xi!N!!+8,+2kXpUVmBC[UlKNFR@'Ik2rD4RfaGLM3S*6)(YeNdiK@VS(Y5NHmr
M2EIkX(0*MV(4Q3TX*MD[,DXh5bSD"3f)-j%KP%L!#"!6iCSq@!I(NEV2pPUk`Y1
FQKRF'qRDq$V629jVmMA!pUlm*A6`-#D"a6Gj#@SDRLa(Sc5NjS5iGI91ep8E@mL
kR0`S4rrD"q-B6h0%L66YJ2KGbMDQUb'%UYNYa3!RYU06kEj+*L@$e"$Kf2XmTbl
pcMMiF3)!6Q"#kDh"V0U"@ampaX`KMcY8'BKFPl4kDU[33*aE-(@f,IF$hMDLQG4
[fY!Gi"XSJ)NiXlBKHkT003`#T)%e()'e*r%3QpR)'K1A*kf8PU-$B,63[Q-N)!!
S[H13!"c%hp2,Q5D$kJ8(3+$Jd$E#H9e9#S,ifS3S"qC)91*@`!E9eP[J,DpKK#r
*TqaiA5KB+,91%q#X`5FN4"DlM+0&C*3Z`V(JQ5(Ql*-V"hlFM['3!-G3C&9*E3C
qZTAdK#f#D+DmS+Af[+U`(+[N83Kjj'"G0QDI#NIRJ"cU3RL"Z("P432T3-BGeA$
LYI#VmX@iaab"Ne()2'p`#5iVMmNk*9L8fq1864ZYQh($#MrGVAHBG$ISeVAF0`i
1#Jm'%r6Zk2,&lqfb[-dID*CP&5LLX"e8D)Kr4f2qH4pH*+rj'9cCC(SRH-ZhDXP
SE0Ui3CCqkaY,3bID2D5K*&SEh3T-T*!!4C2GT*Pp&BcbHSbERd3HA4DjYQJ"M[c
c3(+[YE$GH%&@DA%Mlk`b)c!&5(6FQ&@@MjhjNT-U$IPi#qGR`bX-la1q0kQm'a9
*Kb-kYb)"9Zl+[I"J95)QV"1LB6XZLF3d"cFNGkaQAJ6l26+LA[iqIm%"G`H!19"
$HhJ&G8QiL(l)kri%-)-'+QGTJ9YcQ%$T#-[jQHA!%''9NK0$36jpe!8bVSE[Fqj
U+,F$jaJfbQ6RHM["94M6N9h(6m$MC[4MhKfk2l1U(2RcVMV#5@Ia@ARpITlV4hC
DFQ!2e`if'VK*mreVd&P@pQTbh$)'GTe9!H2-+S@8Fi(C"'%1V5!bM[bIPqM(Se$
8K(F1dT+%#V5re'KkRh2eN!$D!ID9K'%46)3ae%Lr-b45djDpFC&PebQD+i8j61i
pUj!!+L2X"rjSBPjmJ8IUi'eJ94&2-4"&$[DqbU!K9P-j6$rAHQ9b`h))lY,RQEQ
qYq`*LUBq'%3p#$2#QDqGd&349M)%#Kd6Xb)b(%4USkIIJjjd+4!5Jf,-(*-'&!4
S"$[PZ(f,,,UF30,RQ1B)VU6Xj3N%U3B'-Q-%+Aqm,qh+EJ"f"@i`"hZU,KH'r@H
RG-m30J5Me&jLP#C,J'djqTqp4H$i'[U'q!@GU"6YE+'b'lHDZ63NYYZ#9Y0b@0R
(a@1Bk(3Kd(*@)0d$(CCRLidFjHX[9f'+#CLReLYV2c11ack@!+J!lBq$P-#3!'T
!HKSh`f&2ZBSMR*EK88eFX)2Z%h4%%Se)9jGL@mJKlQfi`9EMB-Gfk!rF1#!+K-4
JU-%dSXHM'q0LrSMC(UG*9bfS$Q`2)9q!@PbH+r)&kJAmQ*[@"kQJNA(VAC!!#V@
)!j4"c"%0'&8j$FcF0TK"(G*b"R`"+F9jJhrVP,2BD[Gakij!D49E,'I!M(8R'm4
la6YUE"[b'K41PFd"GEH-2QVK!4D#$(F-RYrlh#l89h9F[5-6pJi(q'f"K#IB%BU
!KTNhe)ZAlF*GB@A`NHp#pPrNRVDeI!fGB8qHHDKdENA$JSK$GNJH2@94TSCNN98
@%fY)@J0-JYD'C$RB`2-Q"Z#Mc`A8SfK@K$QDk@p6ZTApi)qm'bp#+M#IrafUme5
!1k6%9"f2`e6$,d!CX6Z&ak8hkSLrY%Gd!U+5i9BZSG1A(#C[`IM@!0(3QKKN'U[
bp(cGH2(6JYK5(V@iRGT3Dm90mEdr'BkrLckj)X!Tjc@j8RUSRc$)CDZ'6,bmKP[
KdAS%F540FjSTDNPI``3(NUCaL[TLM36m,aR#A[reCRpD2NaMVlH$[GM$'KXjY#L
N[h[TENlF[e5+1GefJ(Ha'@r``#LKIM[,Q%K"Bh[JjTTTC"'@pJa'NrmPe10lN!#
Ela4XY"r$Y)C@*m,qM4HLI[bAQ)+)TR9)lPKP85@(j!4f'((!6&AJBRS&rTF"D(m
lajJRF110[-N@M$[U`U1VU-Gd,ZfT4%"Vkc)(aN-N3"2N4a(JlS5&M(jNkf'bVDG
cJ&PY-Rc%fK2+2BHfq)X,YQ0Lf"Vf5BI5qp26H*41PhP)-c'h,N5,%dJ#9-"L`Mj
NM[CbB6*(C+C+*-0Kh4d%G(B,aY(d2B3XHNZ(dL&)m+KbR-l6b4"3pc5L*V[mAp0
!0lhEe1E!X-6DX5S[RUXl+bA6-N`[A@q#Z'hHirf+f@&Aiq+M4aL%H2$bqZCXM)[
N$b5FEU09L9NES'(fDjAXqDq[ieMAGTbJq'Db&ZB)TIGEqpSh`+V#YLiMHXNEI#'
eF&L$C2NJHNA5jq62(pdSIc@69-mpAja83q@-S)E8%"m$21e+KP4h`IIblMIZ280
@!`lBNSikCfVM3"mN%$YPZDYibT2K2dmkb"[f4ahb-#-HK`YAq*hh3dUSa!DkFq(
%h3+!%bc2rl%8e3N`q['U8E28jA&aV!%,3f*43!9($"32#AGJA%5#Y%a#Q"PppG2
aCJUJ%Q'IX9lARY!J''9'EeR03Z9C(mYI3UBc0$-Xa"Cc14KhKKXm)A#&)8DH)'I
jc3p(4-[Mh1Kqa9h#PFR`GJp@$+IHj(T8(TrNk-N9V4e+C@I)0MV5SX3,#9%Z`iB
("H!6Lm[ACZ(m'GVHK6"1A60,e@X!+pPcNN2d4"jj-keIR#5jM5&8c-3dq8dhbXc
#jjAT%$m*I33hi#JU9dGMLV9LUCED0Tda-aMCmG0aj&BHh*5hkiN'rpf%Xrdp%06
%jBGr4(cfa40eqa`r8D!101*`-Im&1N4rY(rT"AiMhBKpd"`[&3"XI(90!2#`l$%
@J!*LIm%Ejm$r)JCJ)(1IJ6)D-$(#'aR$`N4i*Ya2Bq&*$JKFIdFZT#5jAF+&ke9
k33m*'*H*$r@D5NF0V8$l"RAK$QeAP"18KRE4'AZ,Gc*ae8*c3+BAR[!KS"lVS-l
a)CdH@FHYm#+PB'[`N!"F*5C*1U+NL$Jf%X@91QK1'eiZ+2`"0$dF-S6,lAFi4#)
i6T&PMGm+C-,30c`H5,CU@6QLAe)5k[a)BiS(i%'PB'D+-+8XM!*Q#PQM,,J#CNS
YJ%RN!QC+-!$SQ6Ub`""Jqh%18G4I!8,d14MJe4G)L!pFAq"3524GbKmBD1B8$QM
1')6*A"$L(ZUKHYJVKe[KpcK-A#*&kU#c5$TX6M`BlJdXI-1`TYhS3m'Hd!"hb#X
"PNAS2dKNGd3ff1L*&[28AV(,P8QS$1Q`0!`)[X44Z1GJ(3U+%-!%c#0m6NU#M+3
M9S"9L"9L(BZAh2%de&(64GEL@%e39dieFce&1A6$%%"Z5%YKN!#'`XYN1Ac1F08
EG6NE)30Nrb!2BBM``,D)$kE6d@8cH#3ahfTR&lS-"39p-dLmBfc4,(FY&!p[!$3
3hD@&X!rHjRMm-[86"[*EC9TkJea4N!"9+U3Bbm3'8)D%NHdKip!1L"'e9"DP-EX
1(%Fpp#G$98P#&defUKpD)JD#IXDI,l(jh)9I%I4A914!ij5T3Q)-%dd$&*,3a4e
KbaFJ*AJj9B#MCJ48I"[8AL-!1#"-%LbJC(%e%J!'SKcLKA*!FiJP2)Fr6qB%!qB
"`J2iX6Qd5GRBM5*(C#$%L6Kc[*%3HBAM0D%e3#X#UBELb%d6$hIiN8%bdJ`J*cq
3!(,'Qq&3RZ""(84[#)HiKUUKbd$DF'mcd[jd4r3R9S6ePYjTK&r1J5LVI##chCq
"$h&[@"VZB0dpL(J2J+A,k4d08IH%@CNT%-"e+%Nm!B55P$"J@#V*"Z8J6cd"jJS
ddHG3L"pC4aKGG&J5AB`c%JD$L+%k`af&"RI(4#LL(A"4e%Q)3E!3qJS0H2"*+Nm
H%[@XH)#lhK@A@,b(NNX1FITa%%%!%4"T()AMhBQ8I%3m3Ye!-@XN0X4IIP2jG6E
j6Z[6C%3cciceP2S9*30L1[5Xk'%V@dp%qLdINSk6+2pCCGI2HhF@XQCCaPpQ6V%
'GKdbX@)C@lG&q(!'*(9-b33"'2jr+T1'%S)iA0-EBZ3P+Rkh$CBiR9NrfCfQ''P
m(U3"3%')b%1E`dT)42!589iHU1Zj"[Z4hM!f9#E!M)K41S`*RN(%NAl)1,KEGcG
[e!%+cK6(NdK#2K%C*jc3%!"A0653!-3'QJN9%eZ%90-5S'%8RS+a(AX#C!`3KTI
Q!$FJ4FI(d"*)$51A!hR))S`,f3rIm!8m!HH4AX(T@3RKbKjLKUKX9-Fm0%diIQ1
,0+-RJM059e,A'8j$-4ckJ0JCEFX,dm@(S)[("`5a,Y)-+8PY0dZi5UpDq5DUj4h
fBP2)0`%D8YTlFL&5$`jEQ%8iB('ASGf"+&'-MTV&H1LJDmBB89%IkLXbAX0'3P3
IMjH3!'&Bl$V*9TMJdH8-4"MABEbe61M4(R)ZTSX8RPXSVi5,j5'j'$"!%8'18QJ
f-)8mP-X3NJa#aTLQYUE*(kQ"Q,2GJ)-5N!#)BhmX+pF%"d&%)3`NeI&`3@JYNB&
+@,4!*J2)VH!%M#Q&J*QLJ5N,MS#C3JPJ%[r!Dj*C83!"J2ML[33!R"90SGEFMH3
!Di)1[#EZ`2I$-B3r0p2pCXfC2ca65q!c!8e#8a"!0"P05&-!S$3"!$U!feI8Z@#
)'Z'J"1)62NScp0-&2#q#b2ANT4mh''(J!RKh#3#"%Z"B9!S+Jq*,*!&@3-6er!%
cG9hq)`28!$H!CFF-!869`a!B1KU"dJcE36hP&@BEReLAq)PTf6Ue1qTUQGE8F(b
i4M-$c%!GR@e@R4Cb#Je[#"SS&MSSE-0%ZS-piR1*b9@(Hm5%apVbb([4(2[(aGL
Zq!k4%#jLU,3KEiKLNc-J3eP4mPH69$B0KkPbpG'*YXlL"Q!)*r#%1`Mp%$MDN6T
$8r9MBNHV5#9k92d*"a(4K(!e5e'5)IL"!Pi'b&6-%Fd*)VF$(LfCbF$$U%f!je8
&1+0-+Ij,3m'Q9!9cLRG($pK1`+-J!cBKJ6'L'E!%&R#h!pHN8H%D)*BdFrA*$Eb
Ak[Kl5@+BaH,&90%F4mZ+i8a4$eXJRk&(&5Q8i1maQmPe$f2MiGadEi#'-03S5M-
eQIb!GfP[*5$4k$[%J5+NUJ9"-'2DBkTPRhePT&q#9`aaNCT4pd"c2!q24mT9DL'
4Z-'VB'r8"S&(cA+BH%CT8(qL%a*G(b-1H6")-jQ@(#3Rf8%$B[$MEaKEF"(ST'P
a)RCN@k*F@'jQiMV#9$8FD9%TGUdNB[BH*e*M26kCR4&L`UPG`a8NL4VFNAm'ee9
*MPefL9SNpe`TRq50YIJ-4p$3lUA",8BYRH+3!!4mI@'I$BFe%8V[NIhJZTP48XR
hB9h`4ESDij'h83r5@Dm8l@%NTpijp*Ym,CF"P#20J(m9dmc5!#%Q"3)8F4D0,NF
$J'*RJ",F#0S%!'J"BdT%-54p8-U#R(*#BJ'X53d`6,%QTF"V%S(3&(hMhFJ1Y$8
"f%PN0bS'!X!"aL6"!#UL!)!&%!%2@i1)4c!c(j!!2l&KZ!KjNHcPMB%!Me3edC,
!0pjLhj11m$X[MKQb1e`2Y!6TG0'N%)B+$,NjiKjm`hrK0")Qe3DbGRh"126$X('
*V@E5RGL459U*AFL3!&,f1(dYQ-h`b(J,Cd"IpAJJ4Hd1V6)(4!reS%IbL6dkldS
0Y&4*@qmB5p8km4)RjHqK-1T)N!$0MN%VmKLc6S`3UT&"**AIFZ$eCcG@X"6P@5l
&Kqp384TNbFl+!e@q1&,P3`HA(6P840I"E%"GH`Y6TbQ42VP2l-&*B'*Z""Z!'q4
@0+83f)JXAY,!'fR-d3Vp4@i95GB'pC`6d9%DF6hFbq&9K*8+aX@(5@`X3j)J`*V
B!+m*$e!5`6AbC$&P$Y`a*B$PH+2j$T+8%0!da&)3daR3!*3$-"6[Y"jS$!-!-E!
mdAk&#UJS"ad-,`iRiP2LF2`Cl,!d5&+3!04&14+ZHSN*(DIc""#fMKq#,@b9JBF
3XVMF(5"6M"(14590#'6d6-`qR!RZB4Nq-F"-JC@5h)(bQDa@3J4K8G3H@A!T*YU
N'6N$LABG#MZ8'5#A&Z8f3LY%!e5@Ca$Nf!k)#eZT5)Bb"F+Bd64m%4C(R`1S("!
+8-paii%9RG&lUF%e&rTL1J)+k3pPBBp)M`8j'@5jN4[B!*!!aQ"KDr85C9"E10!
`15(2Cm*Eb&li*9ULA,SIbNPfb5#Z2"bE'&8pp*Iq'c*a!FT$f#0aC9JXNe$-26*
,cMNejMYQKJ`BkNJ0XHbKN5c-@[P8aCE@aj0&!"P9iFVRX[lT&FfN)SPld"Ue40r
`LN&F-0Ci#FX9FD`"21(p'8+l$1K930`'Z!(S)'Aq'EJ0+85DP$-BLJXb2[4EIpM
hm1b!Lf,Q"`,"D9Li(qi!Q%"[C*qRaBp&&bI!&k%&&!%RJ,"MB&!GS-2RSNafM1U
(N!$TB8PZY8Fp35!d5LhQAN(8&4'1'kdPZc"!fPLBm@3SBB5$dB#Cl&+QcMRJ#5C
CJX%!)+Gi,`-!D99-e3&`@"P`al`!hQ'@-##8*4!%%P!P`!%A8P!M3$aY@3)6i+H
K#ZaM%p!!c!'(J3Q'Ji8"hKdH3#JC$QF!'j2$i#)!SaefJN#4%36)4QGQBKfQF!,
+#%4L"Md5DkbApf2)S8j*"PU6(b4qJ*(pfJM*62!4M&fL!C10'HZQP!I-9$+caTU
C,`"'(eA0mRJKNS&BBPKN[MKVd1@6q9!G%!6A"Vae"Yl#90%1`C[C9aZ"l99r%ec
,mJ(1*C)1XQ-BmM1A9&Je2'SIHq(Ab+&T@SX&b88q+#6la1!"imLC&i,MXJCTQ3T
9q1$%b9kqMTKdMNdZSF`9FE3BA1NQQI&Bc&`5KlGfD4jM(HAA%2QYKQI4ZL!IN@`
k&A'*8Z&aj',R*R[9M&b4E#HHa"Cj`-S%`6@F!BAa9FAN+i$Ki+FZ3"'Q#M[M0a`
j%b2`aP,4E2#'VSPE#J,GjXJK&P)0KDA)Q8R#1&cBdd"RF60V)5KaK5@C&m59K`C
++Y`QN3LcBB$5Kf3CPTKrMi-#`8YJ9Bl3ZePSL6jDapJb6ILB8U3d!aY5PZbG(F!
D#*HIQbm80bJ41%#)UGEjQ8@)8e)D3TQ2PmNB28J1VK%bmJF0'aY##[H0@5kbPpc
cD$3"NBE0%0f0ACNKb'-A(5eL*B,8`p9F53M"ZAMdQ3RIYaPSXR64"I$*`K!4!i@
qSNkKK[fE!bRTS#'m5-X&I$jH$XaG0@lL0QY$c-,IM$jdQ6kR945GkbCUTSU"RN#
QLmCeeJaHTiq*98LHrKrQ!`$'Lf+'Yq"cF8B182JRG`fFL969@!C&2Ld$DS)e[6D
r4f6$c%9h@KP$*N$p#j3LpX4NU*)mT$hBGcT9IqHk3cQF9(jR)m*cALYJ%b6S0*!
!Kac'Lp$4m(1U#2@CJS`,TC+D3C28@K'@6b8C&!'L`rK3-ICkb*&SdNX`%!X9R)8
EE'A44&HRkf'CK!1cG1%JREe%3M@cFAGmJ8fA5$`8)m#[N8aYEc)#+T@MR8Prc"E
P@V+9$3!G8&[LB-56UC-)6$Qh&Vdb&&D41@#`*-U0-%A39X60D&JeN!#GUD4JC*i
D#0"TFPR*3cB&KT3'*'G")AXjQC49+k4MZ"lqd)raCdKT90&#HID`32P#qmMiP3%
p(5jj6hb,j-Ad-D)BCEK"$$"m&Tp@N!$9LH$8$C($K4'9T*`[*c,"GUJC&'86P9b
#8KX(hG!%l%5#@9H'Vh5I[dF-)!2S&DY8L#RHK#[GRTN"B@e$3X8h")"`Rmj(QH'
+%*r9``M++ZaG8dH1J3*J)-L3!$F@06"UX48*US)fQECSIKPe%)F4c+Z$c6!Er#8
Qp0(3S1"'*l45@3R0#Hra'YdVdfLN)A)L&pl&f$0-b&B#A"#Dp39,pK3r'P-4'!5
Hqk2`G58BQmZ3!)rLRj4Q-8I6S8e[!"af"kJrP)$)%L-GBk)K$a1bk8-F"-"JHfL
$U'"B%BaNCEjIfP&pQ3BBMDVT2Y%1E@I+X`TK4D&GXl)9jM$ra8$+M&)1!FL2%FH
p%A1!+J13!2jkQS0A%5CNF8)9r5NjK"kIL(Za0%#MJJ8(34eTQkB5Qd3jQ'`%"JH
MLR)aJ8F'dEY3PhqPPj&(K4RmjRpS+2Sc+p0$4iXk5bd'9XUb8Cf&c,Qj&Re'"DD
k@@CX4f$&bmE$M#%'LceS9PNGlqFqXG"C223SXYN!'4A63mQb9(3Vqj*`JR"LK"q
Pc@F2-L2bdqf`VK392QP5!C4D(pAHbIJChD6TKCFKkHK+4eQji+SC@jN@VP&K0Cp
e"*S4R`JNVqM'@+Z&DdmIjPDA'ThN!p1biVb,)T`k3F9CS*JBcGKcp+)F#98K,#e
)%DJla&D&!AV!hdDCZR`f3d'kQ6jH#Z05@MrF$pEMB)Qjq4X,c'hDEeS,rmb&SpY
SE`I'CK*qS!lAfZ&34Sd*5LLJ89KLNYQS,*DN6&HD&ZB%CbULkZLN59lU&4f9Lb!
pmKY6D4-M"PaX*5*0&!8S)!-!&9"hUMpE`%kAL,PSe%Ah33$pPHhR6RT"&+D@e,F
5QrjUQ*XdN!"V0*CIT@PA)QNaG"bI09$-'&c49hQ62TNf4MDkMUdC3'4qY&RJ!Ep
0B4UYBDGc9fP!!Z3!Jm0jHPd)!6N*B[U6,UC,jh*6Kr+#GaP8eRdN$5e!pCLM&Jl
dk#m49V#PP-1Lk$*N8aP(&bJR85&"TIIaa,bSNGNNKUV8U$8#ZSDMIQ3NJ("&FEU
F*%!4X%lP5F83R48qU'K0R@5!81U8'eQhGBH#@e+)p9&BVUJNJ""`A4SqNK*ap&+
D)DkIZ-,P$*k*#&!T9(iJ25,!#B&UGqX#(8#1j3YR9f9!dadTH!p')URfF*TUqN(
SP*9!"6INM*jK55TUm@9!%dhUQ8TE4+QN8Vj!b&aVT1PB#6Zi(),4e%"c'4Kf5$1
@[#a8H`F[NVV)9UHF)%T&hD,Rk-ACHaQVNe3M'R#fP6'2*TNcZ%I5Jm''Ym9DHDI
B!8(B8hpS1V)K5#T5CC6ADBCGZDM3")FC"T'#Y%NBA+6TkN-4![`D+X+3!-&[X"d
`8R2)a"3'd@ErJQZfU`k$12"Vb+P4846d9HiI&""G'6`ZNRG(&+@@SM"jSE@M6cQ
)X"@#3@JF&c#)pp'CA3D,PbJA1Qj!qTePDN$%1MhH69BYY"JfJNi#RcdV"%+"`*5
!FZCHM-!Af3YS`&mNLGTHB!NkDTqdEp%K*P&NRC!!b3#mF6T@&#*!!T!!2[!-S9S
ZKQ)&,#c#$T!!0Q%5iG13!!3#B")H31TBY$)C4bYmK3EJV#DLXT!![3a*(!!Qi3)
N!!R!r66j')Z#KB%h)LQY1DZb3")056'6XV!"J+hi5)pNmJ`a(4!Cd,ia"a8&f!U
fYLq93IXQ"p`aEj2HLLip3FeAb%%pB"YSDpEU-2b6MX6-j$!S!(TVf'Te`!%iDdA
a!85Z#B")kQ#fQc%'9UUdfTeMbJ`3ZGC5A9r(F9*KTGp))1Sm+RpMSJVcZGia)i$
H5VVkHM9PV$#+c4eHLG+UK8*%-B$XUXk86iE3aNLfLR%J8K+C"k#YDD[$d%mk%RQ
M`m!!*!"aRaa!d*8"P@[S#VCUVQZ*9eB&S94D)c1cL5Ki5Z[I@P%B!!R!aM8dB+%
0`'"38G!&L)(0&$)BMZA2cP6e*!3HJ'6!m53X4i$)U3ICUj3'fKST*!"$%Pp3NIk
[3p)(B,rDVeA!&&!%Y(*8J(S*F&!"dJV!!F[d6SF"!+YC!3%(l!&E"B`jDX8FB1r
CVhZ!pH!b%!&83#Y(IUKb!4EE!F'k"N(!@dPNp!(lL`AV5,4b'DaNX!Hd2k1@6M9
(3KkjPAfQfaKU,"+cSe'""S2VU#IRf")9QBm%`iU[#B%-5aJ-X%dXfeV$$J&2J"-
`"9!"-H`k@F0+"QZ!LT!!01![D3JMSKEe!0I&k1&H++drDa5V@I%&"J%"UeNT!$@
X&4!%5!&CV'E9!@baSJ%B5f6BVj'"(PX'++eN3!8l*'N!H'`B-%0ZXC("$1QrUV'
142fkaBB"IU`B5ld#9f[2hEI)!J"1E!L!aqiiHP"N)!4B(H5''k#djJ'#V'EPb0D
`9X`6X!4NX*iX+&XVAE*1,!H!apS"KK9LaFSQ1!VXEJ2,$NNBeaEEN!$@X*&"qc,
Yf"XULTG!"5"MZQXTkdL8!(JXHl4a[@SKRJ!4c&Db!S65fSCLXN25+C["PQ09bLe
lpiNC@-)ZZmBf!,ZV%hX$e,"33-)b""3"4%!9)!88!F4%VK([$!&Y!"P!b'!LL5`
qBHqp3G)X*BXCh(dTJ0++Yc+bK%%9S-`+"ALX%&!%%%e13"hV5-#cH#`)%-*5Nhf
A%U&54RYBePj*qiPc5&ipmcA!X0#Q'r[34V35EGA3h%J12JpECk'Z%@I8Ih5A6)p
ATQ3!`cUd34-H@`3i!83!mLV5'Nm(,303`bUd$#e0q`)8XRiX#+!$N!#aIXJGi-H
L!&dX0"(*0L)"EITkd$+c@f`5B!6NXC%G$q!$c!K*`&9)"5!"0ffbXG$ZNZ6X35[
,4V5l+*@!"!3eK)`I'p8HY)4X4)X%c$"Yl5,ceZkdCfdKHmJHY9KYrZ)&L,11K#X
5d8+bLi`NDp55X5M&8rY#e,Aj5e4,EHkd@HK"b`13!,5FE1%DBr#e+b`XjF+@!5K
!e@V+h,8%VG`@dBD`9`U-K$aXYNRDkN@89NL)$!J!`akdSLdH'm)'Q0[(dT!!dQB
0M&hU)Z5-D%VP[-+3!,Qf0'fM'G&DYH%9M269KV9!,9RV1d'f$3!8LmeU9KmX54[
#mM2Cc+UMI!f(X`D-"-1LU`4Yl%M5PV4&,#Al06&(Dp++C'DdJME$r@3-pUDFDpX
!h"kdhUedUbpN-qp(bmF!fCP6JmUKb9+JGCIH)'lQ&4!%+,3Z&#HS'EPB"QLbVqe
1qfYmYl6XBC8Pm,Ahdai3)9P'I8#B0d1b!)4YrL,*4V8K,8%Vh*+dUH`UbpHL!!d
ZBNA'aKB1EP5E"NbehkeSFG8k!8p!f"ILDJPJV4-JeJDe!qeckdL3!,%YENQl`pa
2YPF@DGq8Z&N#$+Z'lV343)YldqDd&#acHmeQXLdZF6[M(VFfER,Ed2i(1fd[fq)
fT#i!`q-#K&emV5'VcjDe1qd`fZ0bZ9iZ2kXiK,Q+l4p,dfUc*#f4HpM+13iZB!X
!+!%pVQD!"(5em#b*@mYQ#5IZ'j!!iS)!*N"BJHB5-6'##k$QJJ"D,3M!@%dk0++
95p0'!AQZC1$-[NTj3$5ljT+aNZ`6B!CF9FJBl8!%`)l%4#2Lk9BFriS3B-A3$KK
A$2#klV3fEU8ld4TEPeb5KL`4F-IA$q-bL!!0U3MJl4#&1T%5BEmQZ!4YV*[RKV#
rLUSl&S%!LeD"b$m@Xc(#-lXDD,TZ)VDTEAiJa+k15aL8Xd-5"P[TbVPmV4i%kKT
(Pbid'eD#YYVZ+L[VJJ#!eHIe1-K4jHkd'eB#'NjUPL$60J#JDlTEkCDdTT%Mj0e
NFCcDkBR)4(PKebm,``Dbc'dEF0!Z$C8ZF5[R"VS1,Sf,h)ke$He"kqhZZdE!%b!
&9!e23jA#ec)69!#0H#NC1p*ZTM[[YVULlK0!drUkqklpHJ@!I8M!22,L%!%Uld&
,kEDm"fck3"V-XrAXb+ZZE!(FE"I`jEBN,!"l"23D&(L!d+[Q4V9V`%&,!Hbl5bj
0Z`&![8b!!R[MNVAjVK-EDE5m)H`18hXPAQ$8ma!rQLTbEVDVpH+m)@a-aHXP@ik
$Q6LC#)PJKCcEXk5EqSVC1b49!&![6Q[0(V363*klj#UY+bjc5mVZY)p'Ma[#BS$
*Mq99i)&)ri89Jq$5Y#&AP([9IV)D52+!!N"I[`SKFq&QZ'%X9%Xl8,NI,'RVqHa
%Q#mA%dJ!Ydh!3C[NIVGr,jP,d2)&qbT"k`#3!,44ld(l!0#q9@m4d!!mYJ3Yh5$
IIMCkd&-+6M!CUK"BBIGU9PIYGa[#*QrLilAA05",eXSUSH$e-hX6Zf[CaJJr`(Z
ldcCDhkh15`E`[2DXQ&[!FElla)CVjj+c@fcVZpbq[Uk[YVX!e,",VN+"m"+ddKa
b8$K@Fr'VrTE0jE[`"Kj!1`f1')'k3Ff42cV6GB!46!"'3-`3FR+(*KE1ZSCq$!"
`3L!!hlm%m$@A1#B%,N!TN!!kqPkQi#Q'"V51a-2VQ!3X$8S-YBJP,+eU+`+f+dK
0'V!2f3([9L"`Jb*D@!(a90m%CEJ30JfeJ%(%$&m&#Z``N!"%*k3%`!*[`!9+Q)T
Ca-#qa)1b0+L@TFd4-+S%&,b$$c`B!-%1Ja#X,-3!,6!(E!3R+*q"kqLJM-"(QpM
ai%8F`e2b1J@V`-[#%&a+G3PYJaLU5V&5d'!R"8Ze*,-8i9",(6qiP2PdakJ!'[!
DI%VY$#"!Bf!$a!",X1MJ-J3"I!1kG+[N6Qi!qVUl#Sje!H(i[Z+r"6!fCa'S!2B
8Ll*h`PYC+@kJ)QJGI!1"JX(42paG#r$9lT+VV#CXJ+)'#%-Rh++N4SN+U"0,(*'
0-"-,%H%%9J&21cZe"!K#!##QL!!@35jm%I6#6-"@%c4P",e`8+")(--B35mFb2)
!-N%[l"F!`aP"!(!""!IAX0@6#`F!`R""d!ec`lK`11`0Lm-"`!5!%jM$ih!k$!k
V`pY`1d`1Zm2Xm$XX$mI$p2!kE!pr`r$`2(`2km2`m$jF$qI$rc!r,"!(a!5a2f`
3pm-)m8"m%#[%r6!kA!ica""a3C`35m6cm%!F%5r%&(&'M"&[a"1a2h`4Gm3JX8,
X%$[%)E&'h"'2a1G`5P`3N!$%(h&,E")("pZ`)K%!b-3d-8j3%aF%0r&-E"2[a$J
a6k`6pm4!m8mX&1I%4,&2A"3(a8Ia8'`8,m9)-91X&$I&82&6,"8Ra95a8e`94m9
Am94X&@r&@$&6A"'R`bka4d`2f`3&J6!!!&$$$J&'i"-%!14!!+!%@!6Cm%8`"!!
!!m$T5!2!"!M#!#!'R-9`-6*-&a-#aM![6"Fl"p4`9H!A$`#b!!"`1LB%hA"#N!!
AJ`-!J!b!&am%kNCKh"M6a3I"AE`-#mB%J%pJ'I[&")!BF0F%`hka!B!26!HNF6-
-!"`!p)!aI"NM#"5"Dq`AHcr'-$Sm$%m%-S8*B"(BaKB"E1`$b-DU-3+J"!3!d%"
UI"XV!"S!F(`FQ`!#32GN'+['$!#EX!braJF)%5!!&-H-X9rm!!`'dl&f$!)3!'#
!FG`E!`!6!##J()r(%`!M%!#FaYQaDP`"!-EGXAYF-@J$iV&M$!"F!'V!H@`IA`"
fJ!#J"p6(Q(%'!!rSa`(bN3!0YmHhX3BJ(32)#))'J"hB!3`b!,!"-!Aam@fm!4J
$!i"ZM##2aai!1d!J)`JH!$i`!&!&'l*p,!,i"4AbH#`#X!)#J)EX%L!)*)!d`"H
Ab*Ja#G!DTmMfF3P3%'!&,`'#B!*J"CqaDQ`#)!-I-J"J!P!$"-"[6#-M##Z!ZS%
MBmBVJ!F`!%J%5c)!m!*B"8mbJ[!#F!!e4B3-!iJ$46)-i!iX#"&b$&!IC-N!3!b
JEMJ59A)-!#LJbDBS!2$Q2FHhF3b3!"rV!'8b+I")6-Bb`%D!&Xm&Yl%-N!!FX-P
dmRJX!q$*K$*e,!0!!8@b$-!&!!"RBj8X!kJ#!-$&9bMEac*!AJ!$4-Jc!%+!*Xm
!9S'D8#9[&dAb$!!02d5A-QBm!iJ#TE)V!!"`!*bb-P!U@`1DeDMX)Ar+Tr'MA#A
6!&4!N8`$K-H*XPp-!d$)D$)0)!J!!2l[VU`2!!!(FUU-)03!$3ZDA!1!"i"#P9`
$j-I5XKd3!1M*9I)0N!!FSmNhJ'iF*0r'0d"(!#j6!3)!Q&`Pk`$4FS5X!`J"!X"
Ll#`cbh"!NF`$m!%'J%p3*3X"[%#4,!33bFX`Ef`I#`&j!DbF%!M-Q,%3-##Mb8,
!N5!C9mR%4j%m"1$*YN#%2!3Xc"Bc2b!!H!)4XK%`(k$*4S!T)!$N"99b%[!ISmP
*J#%3!"6$9E)5)#1Mb8U!0k!B4mK,3,+!*Lm"'-!!m$$2bdl!@i`Q1`&@!!"3,I2
-IN#4l!3S!J%!G&!P3`'r-CS-"Ec&22+m$!9Jc$db!!!&(!RMmRJF"AJ!!3"58b9
,!93"QL`&d!)"!+YF09-"3A2@E"p6!Ii[QN`&%!)"30&F*9X"'`'DE!8i!!+!&a!
KB`(-!CU-"H!"!J#MA#9V!3"cK+`&8!-#3(KF*AF"QR'%h!8!!H[`[1`&--TSXKI
`+,2-NR2B(#&l!@5cc&`PJ`'53*%-"RJ#!S![%#'2!BmbQX`LB!S4FKQ!*EI1()!
!3#4Ab@F!19!NR`(`3!!`0&2(DB"-J5DR!55!!)"19XPV30'-*Um"LS$X2"Ql!5c
"Rq`A#a#emVcX"L!e4%#%l!Bi!d@b'k!0#!$*FC8-"pc)%A)F3"Hc"&8b(F!5S-P
dJ"F3ed6)GS$YM#EE!32bTP`PG`e&mKh!!J`!Tf@9[!Fib4(b(S")"-aqm4iJTZ$
*"h-!(FLLbAX!(#!!(-Y9FKmJ%D$*IB!r-!!`!K&b))$8S-Q"3(XJ,e2(J3!a8#3
(!Y#!!%!*4-L%`!&03X-"!`#PA#8M!YpbK)`)Q!!$!+U--#-)L`!&$8#VaSX!*P!
Eqm@,J*lm(a631(4aI%2IaSX!0`!!X-Ic-L13!"HJbB`!C-`Q9-Q0J%aa&d24aA$
e$%8l"bibGG`)9-bq`EcF#-M+Fc*el!M3621b)c!B@-TLp'qX**I4'Y3'l4Fl!T6
b4e"'5`6"XQVm#&!%Dc4er!JB!A5b(KddEmBZ`51`&k[0&X%M!"J2cB"d)Fd+'-1
*G%,`#!3,PR)M$3!m!Q$b@laZC!53!-"rS$GIdKJ"*(""@`550#63(K$+SI3L,5q
(d[6a-Ka+RjCGG#Lp,#25,N%N!!`R"jcd44!*m0'`G%X3#IK12h4JE%[2"lPd4K!
*Q-8ZXL3G#3"06l3[E4&)!QU#r+a-*`55!+-F6'-%NN$E$%Ul"*)!B!`N2G-!J#4
J$$$5f,5-,&28dXZd1Q!eAp-Y`55!*`[1h23NJ05-dqddUka+Z`56J+Y-5Y26(M3
"h8ir#Xkd*%d*R)l&Y%Y!#I6+Y$3h63Ri[`&e5d!*F-c0XMqG5U26'3%PF&VbdH4
d3P!*r!H4-MGG#Ic('E8NA3N3b6Zc4ldXcp-YJ593(e$8h,3P8!`VcLRe)Xe55p+
A3,+!1F2838&)l4*F!NK02he6-`9bY#50#@`%"M-hM3Rmca!e4Q!L!!#pY%mG0#I
62[8Bh9#l"*L!V$a0A`5BJ%63+eI8(J)IV5YcdjN!Ua`8B0@C`,,m9A26QX$jA&4
I"*U!hQa*Np983G#-9@X#Mi*Ec8e68q"d5l!*K-GcXL5p#E3(Dl9H$4NRe5i"@!-
!E0@50#HJ(4JJh$3RB!JBb@He4F!*,0)cG@"p'NI@,8%R8$f,bYad*a$))YD5G#G
`,*28'8%R-%D[dCde-`!!9$f5Y#G`&`I9U6APh&JR"*l!S`a2TpCUD2I-6AX#Bc4
6l4*i!Ymd1be*I`+1a"606Am#Er&Xl4*m!RXaD)d4I!+q%k%X'(m#J$%KM5"m!PJ
"Q[`**-D5Y(hm#CM1dM8!m!P!aSMeFrdSG0HJJ*TJ4Fr,S%!JQe&6ak"!BVaHqmA
VJA*3*BF#(F%f64f(!NL0F(eIQmlC0@BF#XM+hA8Si#(Vehka++!Q*0-!3#k`,&X
%')!!!!:
---