[comp.binaries.mac] MacTech Quarterly - An Introduction to Object-Oriented Programming

jim@b-mrda.UUCP (Jim Sadler) (05/28/89)

[MacTech Quarterly - An Introduction to Object-Oriented Programming]

This is one of several articles from MacTech Quarterly; this article is
on Object Oriented Programming.

Copyright 1989 by TechAlliance.

--
	jim sadler
	206-234-9009
	hpubvwa!b-mrda!jim
	P.O. Box 3707 MS 6R-58
	Seattle, Wa. USA 98124

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

:"dp28#jcDA3!8dP8)90*9#%!!!!!,'d!!!!!(cY6593K!!%!!#aYFNaKG3%!!!!
!!!!!!!)E6f*UC@0d)%pbD@9ZG'9N)&"bEfGbB@eYD@jR!!2rr%UYrraR!!!YD@S
!+T!!I!!YdaB$&J%D!#S!!3!!!#eTK&G%3Nj08eG%!3#IZ#hMS'rG[`!!!!!!!&J
!!!!!!!!!+qF!!,!c!!!!!!!!RicqD!!B5,"J`5I8$#SN@!93!$i$'ciFD)9I`BS
A,6SBH%8"!)%!V[JS+*,N5!JFR3"!'G),!"dF-C'8bB)M-C)h#3BJk-6C`J),J`S
G1V!(Z"I3"%!E`)m!$UB$P8S"i"$!cTeNL'VGbM8S&64TjS!))iG1QM&XbS!BmJC
1(MPTcU#K!b*'$K`j3)M*!i*+Q6&SJV"KNbD-Qc&P@)`&-HC0'cKek*54`rK0fmP
Kc0STi`+%B$BJi-UP)eC1Q6Q60j2T(#3bQMGba**9DhS1R$GZjU34NaD%'GJJk+"
4'fE-Q$TbL[0pBbEim$58jp34dbB0(FPN3,6*2,N`QmiJRX"*ibB0EV&Pm-#TM6S
lQ6FJh,bKkqE[k6PNdl$KDhVpk6*Zd#AF'kL"`&aII`8f@''(F3B##%lJeX*kc&R
R'4a`p&B(DT5G)FFEGF!KeREmPE%HHA593BCeX(QR(AG`K3&DB`''3Ck+)!aR'RQ
q!5HI'bddeNBENihK)Q4bh)ED()T4D%FDC1!BKQZ`+@B@(@NTCPKfN!$aGPCQjVR
"Q'NVNMD@D5#FNFCQER6f&A&NN!$"hPKZF2PDII(9dBBBNaRBA"2&q38B#&(83CC
NFZ`(`Kb[eF&'GM,1!4qIDDi*S!iJb*!!!``J6(%&#$6-)%Gf8p"K@KPd+#B&J(6
JTYJ9B6"+hKQYLJR#A6$88-1$IV'"+3Sb`'"$#Lh)8%--,G3J`l)002[%%e"JqLB
)4N5'R&Ur83DSN3%5L!B)4*5a'4YY%4PJ!d')Q85!(j*4aaKQi4BFI%q)SFCIG,6
`"&bXiJM&Kak'-H5Xc6BJaCCm-9%'EQ54iDbpq,E3BVpF!TcF`'kF!3)EKTeKk"Q
RJ8!'GhS9YmDmcUR&X@4ej@!$$#H)GBGeh`UR9T6MPXZURbP[h2((DNf44KZ1KY'
#$6ISaGF5F-dKQCK1j(&''!h6QGd6DE@Ja"YS'!CZ''L!GU$0%-*f4aPUHXh@Bj(
0ZPDrFR6@"'bdf4HJJ4$$+c'r!H,)FFC!Ld8H@R9%fHPfJe%KiaSYi!#$BN1XX),
9iH90&a5aML&MCdLmFICQFLK@4i$k'HL'SUBK&U#L0KIiYmGKJ#a@ejZ&CTqPf4&
fA@mq`NHMEP%Q&kqBX5jDKh9Km+Ebcl'(R1eB'"+QqI!LLeX'ZA#B5jHm-dHTk)C
5eJR#EC!!F8bCN!#3!#%kKjYJL@8UJ'3SpYVRNbN@&JKa($r''SS#e['X,M#BhE#
8"m8iS3aBS)*LeM@'cKK'2U0$6(DX)c2BV-&TB*)AqL,6TcZmTN#i8461VUHcZ`(
S54pbJrC!F$maa!T()C)Af9i(Y-VG#ek@@J[P+)Lh'qCVBRfVf"X#KM'0YHS0-j*
4@V*c`!4f5M*`k%`5K0#%("92HJ"UMh2Z*aR!b)GFCq#,'6l8"JJKN!!+P1ZDE0`
!`3C0d%`SBP@Bh!FI*d&*,4BU(K`1a6-H"L%*@!$"#D'$Qa8qMiGJNBXJa3H&+Ea
!"T9KQrSk)`6pJ1B)h"(,JCT`PJp0J6Pd8D0HbJ!Jr09K2MMLN4$b`,,Y6%d20eT
8'2,J0Z&NKS9dQGPJY21'fVA+6fESdaXXYlFd8+ak1F[HcL6&KVDGCbbb'H9e1MK
,P*A"$'BiLc&AajF4BQp4E@QI@DD(Si$"!5aMQ%-,A+M&-%6[5m-6#`T@+4NFi#!
&!E`#cFDb5q(FVcjhB")ZAm3A)4%RQY**8Y28mX[YZ)%[YK63F%#`,44jbiUDa1C
NF$4-(aEcQ"3LBR8b0LmNLZ9jqE11@L4&T1!-c8(6SQ(cE)J[%'"Z$TS$cCC`+CE
'b+%fYkQ6fpbC)AL'#CNN91EGMXJ'a@`V#"LbBZhi9-S`f-&'(&0HMbJ6KMcY5CM
0b8-Cb,)q%#!K$h#Bc"#UYP-HRM@YFP!F'diQ8j!!XI!`X,Q0m"Jkd4-G*JdC#YQ
"1KSa)'*RI"B6f%M2`"Va@8p-C+YSYaM9&mZ`33a[`%0PDN5HfD%SSh6UB@(jGYJ
SkHB-E@V!ZVBSQl+FT6GR!i%Z3C-HJF@5E$4#$"bfeac#kXf`1!VTa4Dl3c1C4NC
Td%-'aF3MXJPAX@kVUeVUj81ECQjc),L#@QE,6dQ*,#c(QB0BRSSKa8!eX'Ya62S
Q%c2S&A9k4afM`-T`"`YU5AaNie0pXJP(ZYM4Y$ellT!!*K0!G)(VQZ5acP'0m5$
YlY+$Yl3CFc9*61!+8D5cqN'RKTBK[Q!31rDMbrfk+Q$L%QP!l`%MAcaiPQm453k
b@ib!fcXb1R4eTc)k3iZ%d`E"G@XaZXPBEj`QKhI4i9U-8@,i4!X[pK%(Kmq%DlD
)0%(LLFQh2b5YP0i*AhR0CLb!-DCUP-CN-k&'U#3PNRLE4dI6%8Fq0SXE#&4,[1#
Jp8ZJSC!!"*%M)m31FEM4CCjGT61SiJh"3*5jD8kEP0J"amDp(bV1YfTmBr(PH-G
Sk$%d&f8LXT!!6)jQ18eRr[@AX0`X-edPXT'[eGUE)EJqm8YCRF'#'6N!CMR0dE1
+@%dj-d3`RQG5baL1HpL''JD`4@-CfBL-Qc1`$UdiSV38)GZq4D+`N!!l+r&NHSS
Ea-L"fQASmI8f)l0pKN8kJQh1r,DBXGN4YC3m)R'MGbJQ#'p[9!41VaY!KjVp+!E
,(`fLRc&-dYq%9l"LLP)fbd05,-X-RGm#N!$Q4*6X8pZiZ*U%kh,,QS6QN!!0i"B
HRkGAG)BbhSr)Cb&JM`EM14Apqh33lHZ(pPbEA[pkMMcc'TB*#QE%L,GRP"iPZ6*
@5rKmh()"6&HC!hlB%JFDF$-&cKcbi,4`qrP*!+C$IAdcZT&TVmp-R31QG'ijaR$
Xjd6bAhRQ8-DGSL9@2YB4mKS%!K58kN2fa'GI*[TfY#ISf'aRB64rCbSMhl9RdRA
1,CAS1II*r-q+lG-[*Hj1kDc-iT@'&"Yd$"FHpe6*f6RaDmMJiemkh-QFTP'XGdU
d3E@"ELam$'aXI,GJCJE*Jkf`PLm-k)cCVkGRMhYhD)qBDFZGq(L-jQh1*JGIJiD
TLUF,i`-DfThrNMc($r#(i"VU0@D(6l3c$fA'k"Jkc8G(C6Eqm!f$'-((AUqdT`Z
I0!HqJCUK12T"RQ5iE6M6E#Kjq8F("E3S(%BBf43bmJCjE8"MTa%A9UCjj%*pcY9
S,iBbZF8UHf8kBc*@CN&5eHBja-0Pba8DQB&qYL3Qk*-@,$0)+E4#2-*LJd)fSj-
'qD-@m(G8Bc044#8p)jJHIm&"kp-X9,"e4B!(!K0BBX&J)#!%e`4lh[-N*'943)F
U@!9De&96LLBMLK&Ec"&-P+&em+%EMp%EY6@'kECd)HGd*"94)*!!"b!5E,cN0"Z
6"QY`2@*N@i4"&V*&-iSK"T("Fh!Q9AA6'+L9A&)L&RcL0Q@)K$`$FVXhF,h(@'C
%-f#9-J@bL'Pa8Sl52lJaC@e'0JUAB03c0N@Q&Ski68e(JE-L2bd(1PBb(0hN1q6
5Eb@#'R[5'rP9"Z%((($h"NE#(GNa-m+"KSqSKSc9!'qP9Q`P2XNS"fXe+NpN-Tm
R*T6b*24eL!3iKRc49Bda'2L#JleP1E,aHL3&Jbjf(f`'KhXNAMMb5e)''fANE6B
@Ee#@'kMRF)IAM-m)+@K#''j3KpR4+L!6CiIA9E5@(,D'"YXS1)1a)DB#M)GR"('
"C$%33'b4'hIdK4-PKZLP15$NF42eH[ARKpFK,iP)8[l"MX%)&KS5C"UMM`h6AN,
`)3(&8*E9'9F`(04f2iqe2FD"(!,99@U'(hCeFM[c5dGAA9dRH4-eNieRNdJN45"
j2b1Q&j&4+iMQ'mEd+)S"Np"iCU5h'#)JNUK""#!S!YU"MRD&P"1eFre4'h+dKK0
&NPJ*(!Ii+&+C-QMb6j0bPI+bP"UT&NjCNbAeI$VC-f-*)Q9jPQQjCN8T&QFQ)%B
h8I@""pY6GXde83G*&VHfK4"hH2ldH3A#4Ab((+Ca0jSc+SU"+Jh8!%E!LeG@GZk
iIC1K+,VfFd+TPSNa8%3MKl4$()e*P'V40A@5&T5"!XEN3##3!*MJBjChi!CS5Ca
NB*b(ad-i"4HlP3*Ee61f8@VC0!CfPPBm-j60NjIb%C`c*Ch8H6mTZ6223cEN#6+
[U"EaQAaEG3F0!d0`i"`I8JH+4$DEQC!!Z&CQBM%kCU&69P5FIA)r[p&e!54CV8*
C9'"CQ+9CS'C-N!$j,Yp52%d!)"Y#1IT8*id(6(eL'1IA*rGA(AP)'CKSLZ(S85&
R@Jl)'QRT"R@3!*8c)k*hi(kK#'ZE4RE9452cb(!D%h3i9KRH@)mjYhQBTQRQD#!
Dac)b0&&"ab0!G4ifD6Z)X5C$KCiJ-fdJX#l!SaB3kLhc@5#AeRQCeQT*jShZm@S
+*LqkjLkeBC(RNC(F5AXM!idjqKil@M`&''l(Y"Fp-k&)9+&54"Hr%aCQFL$FL%4
TSD3(%R42fU-K3fJe!aEYYQNm*+3lBaTUiQALSfV`JQ5J'LCJ'JCa%UGZS"MbD#2
e4Kjq1L,9p*YMXDV$dfG"KkNrQLC[d!*KJ*mP%UUY+M,*S6'R+UVCi5'HBc[%fKP
&)'PlU+2[PaEDde16-D6ma(Ndik5I1@`FZ*XVBKX%)Ul*mDIL`k`lfUH0Kj1(56D
'HPQC96f)-P)K`iCGaDilfT[bGc2R@U`@!TE4*!*b%UaS@CmS3cEkLRVk@QCD@JD
@iRMdUCZ88ab0bPbNF6dH"am&Zk-++kZHNdmdNjPU%Dm91P$X55#kS9@r"+iN!e$
6kUF%ZSI$f+1XkQFdGkpGdkqfZL)DGCSUjd'P9*pXQMS3UaUGmCSXDS4Q'',ZTb3
VLiZq3fc!fE!l9kRR'Nhp+6i0Dk@R%93&`TCU3E$RHV#kf4N4)KQX5$qK%hh9Xh!
h1kHmpKla-4rm&)(EfAI#ehRXpfB"U500L#Cd'iJTZ',lK&[UTB+Z"VHMq++MKBV
"TBSNY9-bLPS&GSA`BPdie@G+L,QAFefJF6pC#"V#q#fRH%cTm65km8cEB6KLkc0
3pk9K#Qk#4"D+BKH1delRe4YVXek8N6T$9"jkd)i6a@'celH0U(Z3!-Yld$@jS`S
LSi%brl95'VSB%`H!ZQ1irP4R$eNQBG*RFTXFS*&idD#j1H8Qm&%F+4J@Q4S@jK8
pDY'l(%3Cj2%NKq8%G-Ja(kT2CB%'mhPAE0)UP(%JSfXPm,'l@6SFE,#IPXTDm8&
IX!XlXMXYSZJLr!D1$Taiq2PjEVS@ClGSP,2"Gk9J5X3AJDSp(#8Q#0aH6"!@MbT
*NMHeiGSc,B`IPB9%Df!GRI%%S105,69$JMDFa809BQ)D#pH1m0'TTVNc0NXpaH1
jjSYGkC)G'e*,%`A&Sa["321qk#@rL)*45)8p5hDk!VH$4L8[mN8Np58(*j065d4
4aA&HX[@C(X+"LX+4"SLKfZH,pm%chY3@EP1QP'A'A@D2RL%qmV'M@!bkP%0HqfQ
VNRDd12*BHK&T`H0HBd@kKeZml2)'lL+Tc8%&6F!%83`D5C!!"(2FBY8UU!%L&SZ
mZ6SP2ZLM(b(Mb!'8"#)Q1,*A&SBKQED$A-2VYUqF8qk(ac'R&PQX`IX83YX)!U!
M4K#FZPNd4f"kIr$LY2H68Lc$BHb43q[QADhh,GFV"J&S`V)4*dKFbM6l,Gi96$Z
UGM(fZY)&TQ6c'bbASaU$'[8S8,&9KVFe8G+-NDbVUPP+0XNFa"C)Y659Z9Qm8a*
@bFCN"RHmEZXfc(ef2q!6N!!b6$+f2'F0!-98!'e*b#XK55"dF9VPmCfpc"M%ZCE
`NF8miV)GU$%@(ES5Hk[H+bq1qX!l'R3#+*jZ2-C)GmJ1qp2fL5,YmLii3UKN8iG
jX-ECXA-lCFm4@'l$Q'U&9kTSmXcCU"pkq%YGPFA!1bU09G63TT@aSDLi-D64C+0
I0F$0%A4h'CC2UMR8k'T[4bBrqP"R3Xi2+3F3GGD$dd`VdR!%DAdLh4P9F$Td1)L
`3ATVDceY#k3eCG5!D,H3!1c-qE(5He3@53ZTRQ2&Q+H9e`2Ce5HECddLeC2A`0Q
0NGUi1,YV06I90rG-34ekU$*kCG@K+-DQ'Bdb$8`f&SYc+*!!TYdk"pV*KNPCf@G
Yeq-c'91'HP3GfP'i4S,%Y1Ledeb0akD)fZ)C*AQpA!9'"9230H,C!`Y0"`f3!!"
QF%#@+5hPl8jPX!2VE3DNCJI`EGlcAGp#!#*e)RBJX#V`3Ym*%,jU336R5Z!'$J*
&N!!FU+(J-bIEC0T,CB!#!0AIA3IJ!Ni(+8$Im%2I(qhG#-J'hM@p$SYpkpFJl(0
,lR[De@ACUShLRGFcFqepDGRE13GRk)IBDC@db"&RpfA@i[QN-Xj$08ijSZI*Y0T
0If%qDJ'c4mjkZDhNLj*@4[+G#6Y4PPdmCl0,a82K2h9(Gh9m1*,NT#IGS)h2F0L
LS%ACQ@[C41i'ahG5C&5Sm5fH,6S@Q,8CD)Y+EP[Nb-HM!)*+hqGK9Ti'CN",FPQ
bGplG,blBBY,CV$)FZL%EC[$&69d'6rhBk5H%8Z$IC,$K))$HRSX#j+hI+9$I2+a
2C#!FQ,)ZNJ%bFN$JCX$$5!#aSr(UI52V%-l(G(VJ#4iHS!-A8G,V1GXTU-)@hcB
C2#`M+0",V1lUXa[VNd(J[A6VF6%AZNlYFY$K$I$K3LL4E[VTA5IUT'ijTNlZGE,
KU9lJ%IlVi",X2$`Ca,lIi%jR$YbLrm[M*D[ZS9j6J#iEr64485iqCLi@PPVSGUl
I3VkE*#PVEhXMlV0eUTV6EY"R0Ij[`hj(eJhSC6lPN!!L2Z$Yj*U%*c"VjUK("H+
q42iZk[c1GIflS()qI(4HI[$DmX`YRMX&j[9qd`JHV$FqHTh4!'qbPf*aRS44(Ej
-0Ql0*h#p-GC$iXPEAB$HYrF)FlD$FNTU[&SdT@T4I`F#a8BY1)jh5bmrmTi'E2b
+bAT)XQP#,Li%'QJ[2%I9fE`PBr-'($0)"`A'flS0!NSB"%([bHkAJ-GZPl9GEjp
j2h1I5Q,#8SkHm`lLpi52@5Z#J),Ej,04C@mr6,UUqA3[Thbddp[")`+@P@l[E*i
[pk!rJRDIFb#`pk[mGF1$HR-rJU32mZlAZQT4@r#L+)44KiXK(h+!1,%0liKr'04
6ZQjfhET9qhXhX5J@(r1P(3ij5V,9H8r$6mffcMc9m#XAJ8[Gc("P(UZKEf-DQ1&
2h4V6SMV3,!Yqk[,Y!Jhq3[60*fVL"ZYGrkLai5KJ"KMZ[hQlHaIrF&k6qAPhi2k
K$I+`hSc!a5J$"T!!$[br!!MCDTdGL(Eqb`*LZp%`!1X%L%YEC`'28+2c`c0D4qr
$ETR)EF%RN!"A'Uj*$#0YMm+UDDUHBHED#lpM(e3*%If&+A'*Z*UC!f0HS`"T%rr
LD8j-RlKYRD))-!%MN!$+"J9TLRbC+mlCJ6F!N!"SS1kl*8@'G"!*'[8$`Bp938#
#ScPdP5Z3!!5S!"*)JNX3A$`"%*!!$"LF%b!#aZ1RJ,UE*NI34"IdC(PJKc@(aJ#
8GT2A5!r[a8)BXBe#GelA&&##6,#ccCF[0Q*)A2UkCbVLXbfY)j3P&Ylmihr5Er3
NQEYQ1qk!pUXU*bA0L4hipqk3!)cmkh'B8!(Q[rhRi#!J[V!lL0!&!-!jf!(*!)L
E&SV3#&+'3jJ'fG1K1!Y&)e(`"I$KI1CB94PmSHIkVD1ECRh5PilV%cq`H*!!Q#+
)+JK-XaJ#a-CYH+k4PYlB&1'L@YQ"r*34IZGMHSD`FP[%crKPXDX5)j3(Qj*TNA"
f94e9p@r+$MXX$1i3$X&$+ZD5mY5@U"TCE-%GN!!lJ(S'i[&$-Sb(R%36hZ#,6XD
NbJ-AVcU!*b,aHJ$EGPTZQ@ZRQ)BMmffLLASUD'eTU1@NUK+EU0l4J`p$4pBp-"A
KFViI4B30"F9V8)SSN4!K%U&bBk*Y8HLTUV(JL%"B8")`KG)4"c4a)2KJE$L"UJ[
R[#i-8LHU4K2$B'6$)1i8RdLZ#S5"#d)65LI#(J#e*D5@LkXTqj!!c!a%,H'`"Z&
TDMrh-(Rd"XB(qQ")2h4c!J,DS*kVdNaFe')`La*(,D4&VF+6+"&PF!**J*5K!,2
BCXi6PY&1[#JY985qm"'c("5N!qhP*9T%DFKbb)R#LiS3c-#j+eVf&62AAPb,#1r
9M,r&)"NCBeIF6EKP0Y!&&1!&Y"1F'8&mL5lmYPq#&qN1A'`[4`ii(,aT-`pMMA2
T$S32"EJ!lB64Y)JDZ(k!+TI&2Le#'ehJ@A4Xd1JcBSZYG1D)(X&,FfkM-4J1q9*
bGSBPF8KlCABdUer5q1kLFmb,QUdG9N*if"P6"64"DCUY,VBC)dFGEC`E)idJVm#
``l(3k2+EI#0`B8!+E$KT%3&9)30-!!1aZ!P)I1(Y%N#!h(#bN!!#LJ8GJ0iJha1
)-aX13#l)*Q-"-5!)S*!!G3%'D%J)U3&ah9ciN!$S,3E8!!$Ck&$N@0L3!(5!4HS
h&i!!2C`(,"MVi[JJVm"h%Jr,@%N8aS4qlD6@-Nl@iXcM@h5R+R%eimA,lJD&i$i
$#Z!JQZ8&LCVA'EJ[%`5d'%@Vq#'`cQLXD6Y-a%fM6BMp'Tp''h2$"qLJ'KJBPU3
FMR08ch#!L6J`"IQ5c**`$Y$,Ir8-,rJNJ!1F4*1Gjq002p8@L#J&8GNq-8*+4BF
kJ%fdLAX#$N`2JYh!fHA!2"*U$%QkMbfb0NJa0H+0*YPi8B*pE!M24")G9JjkFK$
-XVQaD2)$Rp33)b8*Tbe#LNp*lqi)0VYT-)[RLEP@ZIM3!ali3BGPT`3LXZ(aF"Z
+SC113GLm%)%b2b6E[J1988*-r-#6Fk"!!c&d&0),ZX%MX@6hd0+TY"dT4Dm00pa
JTc$5*B0A+bm#JVmmTbEBK*kMF$L3!-)m1[%8m(U'%K%CDl,J'FZr*`llJVVF+DI
3iIdKACPe*JS#4)DMK2k-*Z9B(h`1IV#)[b5E$$`4L#M%6`QF+&XV1rL8q[#lm%A
(k!eFlRVS&$TArAJ)CX%hFSB*+8bq!Zb!hJpm6a1&#UM,PbFMMJXC-'&Qk&Ve$1f
)+KdQ@B!Sm#'0X8bpm0JU%GR)Q*9KfA9-H2%aGj0e)L@DjVK)LS[(XZ#$r`PEe5B
p-+VXk-R8`Ne8)MQa@#,$H&RiM%2LBPqMXBSYZM$P"*!!3"'3!!*PX!M!3DF'e6B
0S`""S!QJS8#[58)))LRdGDB`AB)k#&NM'`$q1j!!Q!0&4-!*1!GC3)H%%X,"FGS
k%mRK#&`5D*Y[-fl#`F*jlkD&bV-N%C!!4TiVK*P0dTT@'J`h,Bl!"6m*NQJ$U%Z
D(&0,d4jR`c+,f2A3Bc'%GSR0JrN$)qB$h*0&mqNGcGHj-IY%kTLGDD%c$)'dB,X
'8'LkET632JN2p)2(%*daL682,f!eLNH"rG$#M```,8FMXEJM1AIDcr5kDGSQEM3
,4`Ei(X3RQ@1h4-F3[[Y4dc4-6A-r3#afLF!QZ+'Ff@6!QI"RT4'b%I6(P)TN3L+
bTAJ88"`"$H$B'$J[FL114C84)bB!i6r8+J18HJM00ABbA'9NF!aJ`Sd"8'[&+Qi
D8pa6iC!!!r'DR5E)0T3)'Kk[k%00RjbB2P&'Gc*i@r'Pb"B,iMDmRXJT#fdZ",f
A%H3UdF3-UN'1dEh`S0VRQS#$[K-NA+f&+Y%c*Lf[Rh6!%,-RY#!`a5$Zr"D$+a-
eUJiS"Y0b-Y6AICJB!S9SX!'cJ&jUJb&5LpX&C!884S-L9T%JS3-0T&1%L"Y%8XE
+S$L9"F,fF-53!&'9IN3,-"9F#Zc%LT2"KL3EAj!!SM9dlF'2Da&"(fK8-3f%`AU
J6`TN0+Z0(m)he'L%XV+C9V[qD1X-T#UdjX"-'m4*K553!0Q*I'U@*#Vhml9+63R
E,'`#&D'-qX-qj`m2(*TA#L14XqbeREa'"MdU4!*9j-45m3qK84AJ%0-1ZK8(qj3
@,Kh+3'#8BeKbXK@"G3a&RQQPqB3PN5N*ZTrZ"qq,II[T3,LebD#B'Tj!L60$F6V
@$Pr6&,q1f"#6EXZ49XNbiJQY`rC6QaU$IA)A$VV1R!bD-Jh0SL)pL,k`Zq!*EX!
8*kb%dN"B"89h"VPS#j4M44a2p"$!fJ`q#UC4#eX!"r8NfYT!!*%"i+%[Q+AMS$d
`KC!!JP8)Edhq0KlKKT!!`ckP(1I6#Z)ida!ZFF6cF#M)CQAN4'R6!'C!5U8#9X#
Bh!&-m5ri'0T46-*'HPb3!)bDYGS3L+!-3FH(ALGB'8"SJ!Y)!&3J42NT6*&6mG(
cH%[rJA3iVp"cE-S(Q#K(FM3)eB#M1J5'a*E!&'Je-K8S%39(`3b`FA[(P&`+SC!
!f#FrP*!!@#%4TYVF"K6KIN6!`fX$I1(d[3HGaIJ3R4GL&I[""@K@Y14G8&PpF3-
RS&rT1Dr)5mQT*$`b&dmbq"X(&KYhjJZK*$Z`Y&V5FUV,!JX+iiIDX1`8-2$*I2S
)q3ad1`p8CNHCq2@BSqp`5)l"%1&*UhJS3)Y!r8aI*K!GbVD3!#Lce$4d,FI"I%c
43SENVKqPL+J#*pl%[[+!4)99!)%#Nm'mhE6A)iHBC2bj99HP4YL9j`&3(DJF)df
,4iJZdD2#A5J&*J86ii)[q#&[P#mS"(0BFER-UC!!dk4j2"8&H$86N3Ar6*C[!6k
%*++`CPk8Kp#lNGS9h8CrkN!KJlZ!$)jj5ar5IYU`P)&SiG3Z+HB#"Q)SKL5eiE4
135)(Mj-q)A%ii!EJN`D`2(rND[eB1UUfNY$`DQ@f+a'e*)JPV8SIJpG@+`kq[$M
LpIl)LVp%AZX!5&`m,a49QC9@9$r-S4cG3lZ%[G+&i'H(&X@`J95+39dK13TAN!"
dBM-0Kl%#,*!!5dVj2(%+J-J2Eb$)"GCk!b+iChNNKr`68&U)IKPKCfZK@UPkBQF
!c+3U+F9N(rT$*JjQbEAkL$,bURFd%dC+I"$-6%MPRNI(FKYZEf&&2b1lr2TXGR!
D5,Eq1*3""Dm3,@)9(dK9U5,$8%JChP(aFaXRY'TFKY"RMjV&&0!6fm%L+U&TX8(
8Kf`TVMCTC'`Mr1)BB!00JN2c*lP'SF-J0@H&#,'X`(#05Up'iq0LAYY+MAYNQ#U
B-f3#Ad5BU3rf%EP@S#MK81JDNZ@Taf-[8GZaiT)iN4R5,(Z@ibK(EDBb'K[Vf&R
")6PB22"9#X@A&NY(h+938Up'D551dNC60MSSbck6EqPV"QQBK&'25,VBZ!+k3X)
1frY#GB6&'SjE`McPd(@pHm)Y0r4@YX5H2S6b')I0BA"8@b&68"*AHL#e4iAMXSS
!dMR5L[2jYb-'ZrB'8A*1DqTB`%p%FFDbNl-JH0"0#l`mCj+-T5)&4&`F'X!eZPq
'3VJ3hV#0f)$0[%-UUM"3"ZDhD[Z)Q4KR!8L2&BrM3KL'Pm,c5L([Eie6EK'K[SA
*bLcG&XJ4)bTTM!S6Q`*Fmd,CAX5*)N@,KlLi)fk%c0c2RH,)X#5BR4&VM6aB@C3
4E9Y+4F3MZqbpZVf+5dQYidD"3kJ"G23CVBPU89*5JaF24j@p9"ja2b8&FQJr2$2
PME*1F9AE$eX`(#e-$#!N[R$+0JYE#bejlRkH2L6B",CKCb!#9J9+V)8IGcp%b3+
0DZ)SEkRE-&UJqU%S)f9C$!8-J4qAGe!2q``Ab@6EH!EaiSX+!r9B[EP"N!"N1lS
`VZV30!%Y1dG[c5(GQapdeLdaZUUYrM#rMPD%SQGk8fF#CXPePdNK8V[1i8%"R`i
ej&MYC(F!3a[!!F1LlN`""lb!mkk1Z,crkrY'[9fVZmM[,k)Hi`U4NL3%a02QJ!V
kBZJhYeDA,-EQ1N-$cM33Q$Kk&VQ!1[k#Bc!A85)F*XC`aN[NEIAB,GrLSTC4ZV"
ia8G(8eUN%IEShSMfAA$+KPKG9kBje$5RTGUFa(DC2@L!aAK&QePhc&)HB!-,Q(+
BZP(@I3Y'*I%5N!$RR15"CM&2@%NCb$[,LC1F@8PK6D(!hh"Pa'4I8-NL)1IkeV8
5!BU"RZbQ+3JDBX!-U&ZJiRh"K8*m&h"!NqJ--D!LXH(Y@aEJ-#8f#`)&q@+G*H3
#&)-)k&!f5MEJB4p5$Up[+32%$T3+I0#f4BK""5+f!BT"#B`1YB#l(2(iL#)J!!I
8J"D3!!-NF30!!9iB$1YBF2%'[["Z@J)!`K2$ZY0,2Aj*682&dk*h+Dj8[)S93bZ
@!BS"Gpf!*S',Cm!-X!%YB!D%LJ+$J-Y9'%l!@83bN!!(aF!%b!*Jmm4Qb8aJNTD
bM$fC8KX[j"3D6a4TA!fTX3#caJJ8'lH-(-Z01m--L!%d)"`E#h)mJ@&`"'l)VDF
1YDdPm10!J",Sa1P0AcbLTNT`0-BUGD!@K9&dT9N5,CH3!'@i)![N-'"Nh'8$'$)
&(XB3q9e)C-9!NFZ#4FE))Q"9r"qY`MkA*p`j$ISiIYPFPV%Y92%rGQB"14[IK@e
mL`fb$!$(hRLZXZ'lm`EJ-&8'Mb%L%+X"XP!I2(&1BR'M1',Si@2#N524$d$&5D!
)U'ADHqQ3!1jZ!K4mS4BAj""C,'!!1EkqF0J86`'U)aPk6%TZ)*li'5X'8jc&HQm
leTm"lM`f#-KKhVjB**l,15!(Y)!B!!0Z!$QqXA-J$'0Q9r%e0R%3`-P8)$RF#$R
3AKMY(8$&'MMmNQDa%!3mX2Np+J0a$LL-DF++%@J-3-3c3-('jD8mPbRcC$DUcH*
Je)Q%X6!Z(M5k(mIKTf"@[K"Z-N3a(SekQ5q('i(#3$#b&Kj1`QBSKiaU!bLUcQU
f4&3*"DQAq@9QYdRl5DaUBE&CLYKJ(3E8%-"!IFB)N!!,BKF'1-F6V(3!$)Q3!*[
h`f,AjMAj6ZCj3)9Hc!!DR0UfDP,PN!$`&"NF8MZBLI)&'FR592!&l6X&MS"f)P5
$)kr!KVHDcrD)@G"#1R&"Fd336GZ8hrFDAli)Q'fFS9F`#JB#`!&@)3F!!(J3""4
!"3!!&J!!A!!!J!%!3!J!!#+J+a#&R6!3"N!K+0+VB#!S!#UJT,2#5VJ(!b%#()#
"X!%D!CAf"!-"",#$,'d4!-!)Q!8$J36dJ)&J!NE!3$J"$f!J%!Xe$D-"J!VS"J0
K"D5"JG!#JM3!D!&IJ%j$!cT0$J#!([$6J2T2rfNk!!!)pD!Ze)!D!!#&(Nd!(!!
"@!N!`"INk$[GT`'!X4J)-Q!GB1TfJ+Ql0!i3!!-""kL"JC!!!bi"U3i&!i%)6)&
8l4)!J",)"30"#4L$JI!%I!)!H!,2J&E[k9XG$@Me0+$9#H&@`qNmJ+L*0D%qeJ$
J$56VJ6#R$3*3!!)!3!"JJ%H0%JB!YBl8LaS!01S*-"#)0!!B!"QJ5'Z!)Vd"LR3
4+0+%qP[AJ5*Y"iSd)5M54eT4Vi'"F!#`0!")!&G!5DpU!,#N"m)#@!3$`3%BJ)%
!!H`"`BE5!%!#R))pF!F#LZHi!f[J$T!!JBEGX#Gfa3B!"S")FqY[R3#+0!-SdJZ
J5"2T!8!30VE#(JJ63"%-K!S!"3D#"BJ$!q%#q)+"N!!"XJ'9CJ48fNS$J!m`"V+
dTJB!@RSJM!"C),6"Y*FH"N,l9h[TF5#djd'BIY3!J!4-DK+!!rD!eElDHi!1@'f
YM8fk0MBK#!e!B`q%"`!8!N!!f!JC'f@,E,8GYGZdQ!l6)`%!Q!!lADE*p!mJdr[
D"+!"-Md)b,3V)00)@fiM!c+G$-Md1cM6(J%!S1Ncc4*33"43dc8"!"#,1$!NfN!
FZ0bB1h06lXSp&!B!N3lEE*YX@i@c$3!fpTTfdpaJ),aTe9d292FqL0-XB3AFD!#
`!LEe#SJ"FIS'a'NR,DIMp+Lqdcrk6Y[T&J!6lM5d[Y0DJ%lRk6X0"Lb6ehlHei%
1H1ed$3"!GqNHff@EG([ZJC!!YUqhpfi"B)"1jqSl[DYI3$%B#$(!&'"UN!"`U5e
e%X$8V9S'1'NC)!F`05A!e+`!8jp[5id0-,8j`03r@`CXD8[0U3&!$CJ&@rYU2qr
R[EA"YYJ'!+,EE+2Y"lkp[IF"$p9%qP1(kZ#0!dj!U'E5!!!(P)&3rEYa`,`'!$R
!%T!!DP-0!(B!#LJ+5U!Sr'm!d!21`8$`!9AJKKF$UefjKi3#[pT9))G$!#)G!Fl
f"2!(mL##NqlZ[E'YpmC@iKZKJV-%(l#rId$("J!ri(&Mm8F`%(i!*"J)3D!"$!3
K8!05p93!!+Tk)"J")6!3MN#`9J+h)&EMJPJ0UeheV(E9af!J,!%6S-Fp1!"B!Pr
mMdF#0Z)'e)!K0q4Mi*!!Ui&%EKb-!a0IfbZ"L"Ya*!l&[IF5L!4k("rSmA``%"4
'*cF$RC`CG2*Q-"#DJ!dSjESE!$3"8&$+868!F!*6qT8MJ)(J"!)",4F%Y0T@ifS
m`-YlZ5r[jA3!$R#"S,#a)682L!!!J"BmJ&NZ!$)!&#J"3k")$qa[6D3I1D5qeH2
l#HcU*p#VEl8dm0A!HJqF!D[GXi@d16rRjh`!620LMK+1H6*IjY(DQ82c)Nd3J-*
'@0F$i4rSmhh1crq"YVCmHB!!$!G9C3!k5lBk!0*"$!ad-U!!%RT#AqJ)J*cP@6K
6"Ji!3!F")b!'@(3mL0&PJ%A2!bh!(j8""(!FmS9)9`#P$l*BKl5!!",kP8J,qK`
!I)&q6Y2hHED@eYND!P#!E1d,*!"2j`!m(3)!K9N1!(Bk%1M4%-#RmqL9S0541J@
ieViJU20d%T!!VB%"#I$R!%!0e25D6V)(3J,3f'HE!J!!EQ!!3(94"`$)B!"dG3-
!YA-d#KJ!3!&M6h1aMJ`53#bI!'%GV5F!SSlA(B"Bj`B$i)S2J-4Y!%)fMJB!+-!
!I1c$MJ,q`3$B#!1K!``%Tdd2#),"4ZIHB#H!DT,pU!X!!4MB8hU@Gfb2%,)A1`"
`!0kD*b5%VSi3&!)&D0Q)2A@r""EZ"+J"-$$V1Z'f'`3"S0X,`J$Sl33"DZrfi&l
2Zc9"D!'9qJR!D9EZbVheb@lEDVS&d1R`EF#00KAAijJFQ`0V!#!+!-!S!!#N!!#
8!J#J[Nm"!%!&!#!9!!"93"!fZlC@e"JE!)4f!&$DUrGTKq#3!&S#R28ERD0hG)r
qdABDR3YiG!jp#J!!:
---