[comp.binaries.mac] Macintosh Technical Notes - 281 Multiple Inheritance and HandleObjects

bytebug@dhw68k.cts.com (Roger L. Long) (09/01/90)

[8/90 Macintosh Technical Notes - 281 Multiple Inheritance and HandleObjects]

Written by: Larry Rosenstein				     August 1990

This Technical Note answers a  common  question  about  MPW  C++:   "Why
doesn't  HandleObject  support  multiple  inheritance?"  It does this by
giving a brief overview of how multiple inheritance  is  implemented  in
MPW C++.

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

:#941-MJa,R0TG!"6593K8dP8)3#3"#Sd!*!%elP6593K!!%!!#SdFNaKG3%!N!J
#'e41,M)i-5j0G@adDA"XC5"*EQKPFQPdB@jMC3""%-S!34$+!*!("AQ+!!8*NJ"
"%")!"6Mmrrm"!2rr9dp54%e"3d%"!+,&qf@Lj@Me!*!'4Y)!N!BTVJ!!)l`!N!D
q2!!-!0!%)!!!!J!5rP[iMer"K$D-!-!e-5%49`!3C%c)-H%!MNJ!31NS!*i!32q
ir@-RJ*i!5J%%&%!a`+("K#&(FLaj8L3!%#FC!!+!S@#!Q`922$#+Y+06TdfI5Td
ke5#DKeF6hQ3K#!#3!)3UG!#J3$5!ZRrb!,"$'d$A3S8-hb*YqKE!#RB!)'LP!N!
!@J!HrUk9elBZJ,Mr!-6KZ,MMc4ib%S"+Q!2E!#er!kFGh,CMBJB*bIEP--$J"Re
I%Y$l"U8H((Sr9XL$95p%Y#!m)0#cpU11'RM3!LB%2CBMf3!0%JS%S#!d!"RbIXL
BpbM'2&!2QYc6FN+GlNQaMTM)23B528-j3Y(l*mCH+''2%R4j8%0j`ZE&NApF6T`
Xf64I"#MJJ!3@D1#"##DSi))--YK!FX[K4aBDU#A3c`[DFHFG2H#*PeXe3-!Qfbm
Xp!-$25qS38B-$da"`KGe#2*%(Hq`m!!84356`4cfi2&!%I9m838pF06M`a%rR2'
!GCrJ--pV0I4!`36"b!--2B'J`Z-YmVb6(!!5$1GF$3`)8"`Ar3&`4B0XYZRQQ`8
q+"`!D8j!caYe#"%,%,AGaX-(1J"R(jd'NA8!#)L#d-F1AbkA3%)@&05!QI`jemK
NP`)`b$pP5"V'R'QUN!#3!$*S!&,2%e2`U-F(4&$`KadCA2G1(IDS`-F$90"M3L$
d3($2,a!Qp#J!NCC!caRfr&&(%!r)d-m$6,b4"i`Jc*GV%%IF%iCjN`Jb4M##mPH
ST)1QL9bjcKfDk++0#JXT!$1-@ZUTVEiD+bLceRTVVV[5m`%,$YccK4LR!(1U%'K
m)-3$H`Jkjl#4)QG3TF@pF'bbbbljE,66eP%YVVVb#N&j"bHmF")iM)G"Z-10Ubk
Ll!i+-3!6b'[U%`Kr`'c$`6hmlVQJ1SFFT@)@ad*#T56jJ!Vh!$)202+!)BmKpGK
JMcIUGI[Y!bh-!mih4)Ma4JVc!#[cZdNNG1S8El6KR3%eV%""e9H(-JmX6XRcc`X
25)("GLJF!!-Ba9bpDJXRf"00!%43iE#MlkCJmpTYU`0S`!-AI&jkklAh(X12ZdZ
XQR#@E[VT!mT*mA(YdZNFZ[NeN!$BkT,1AM4C(eb"4KKdJ"#%('@!J%3BET!!`8B
C6iLK4KPMd$'(lflNF8FBHI`Jqj`1M)ZFlDk2&B!P68"a"3K$V,!##'1mi3BGBD6
Ka[0cP'&('A+%`3B)CH""4aR[Tk(qmh4i!`LN-3If&5m-FL!$qF`h$4#Bi3eb!-%
FkJ!(1%#3!!lZ1`-)QK#'-EJ[J(0!!`MJ))FhR+&qE@K$"Pf!U#Hi)AJ6()-)mlH
rrUN2"'N!)"U#*iBkT)%0G'L"qp$(KM$-iAR$+plaNVHmjV%3HMKmR`((%,`hQ!%
%a-X$%Bhi2$+8B3j8,&iC&'L'%VC"H-3c([+8alcHj4#,E'$$'mE!Zc&LmAPK!-(
ZP"Lm)G*KKhSX3aMJm-3Xi!N%`$-$r8!33"#SViTAr1-AqbK&iP%4Mmp,`aA6d,X
ld#piHCa$'YS!Kq10m!dIT0m1'!R)p*(bKiYNhaUqL$i%3T+9`D0Kr8$Ja84qdJe
84'3CiZ"$i#P3$-`,3ahLKdY(XV&j1(`Hm1c("LhQFBpUG%&b2(!l!"L#1*'54*T
k!8i!*-0FV8[62)+!4MibXBh4"-%bbf#'1Ya[L"cdi2VH%-)4P[#%B8KK"Kd)`@E
1)D$"QqBFERM00*VbMI1X*aZH5!9!cY149m6QmCkh3cE!iANNP"rrHVI$36U`IQG
S`dKjjcmh8"53!'lJA4f!Kp&fU['Gd"bP"H-([lBPp)YdN!"$'TVAdZIG%!e[Z!-
)mR")1VT"RXcNC"5ak%m6ST!!"AT-UNMPS-fVF,0lC"&!14f3!+C2P(-9k)3G"3)
3!b1N33i&a+SSJCR,$SV3I3@dC"ra'-FjeP'"4U5U4XZ!9DNqX+phd#([i(M25Y,
eH@eBCZq3!-PB[qj2J6H8C#!(q8385--*,*eI!mYh[MFmdhQeI#TPU@PC1fB@N!"
j(F-D("P"2`,b$()8JrdN#)F1J[*jRSbM#e+!U#(mEjKe''NeXFT8MpP[HRRS)[1
+5&-l)$!0B4$$4V(D@a5@BAp`aHTham$#4P,@JUQ%+b-&U0Na&2')6c4#3I-Ad&+
@33ITG%i+kK(8%-$!(Lr)`caHS4TM%1%HN!#S4`N#JB-3c!%HR`L#`-j`$bb!B"i
Ib-%m2J'$d)%9!#f)cR5U-f$9I+-1S["$+"k3!)3G8%!1hc*!$Kk!K$&SiJ02!,!
D1)!#$dYJA!a)e!MVS0fKiYGRSe1!N!#&R)aJ!@"Q&eKbSZ6S"JdQbJa%i&dB'(@
fdEe-89a'FX4D0l-A#*N+8kL[+8'JJM#NQC6(5i*MUEK++B2J"@CQ3KR1B$mb[dX
"![Ka4`#0"3%8qY#'6M5L&feS!"JKd"rK#+#G)!"+@lV5Q,kdTLX0!#e!'LN+#!!
Z-NhU6CYD8N6l-0"@ejm!k+#LZC4$#51SdL1'i3c"DfrEi!$,#1,kKIAEAbDIqXF
hdM'Ucj2'%)KAMGjjdEff&+a$br##hS*aYkCY)KedJ%8h[%'5FRLcI9h330recJa
[,5!VheMVJq)D"#Sm!aTk&lmbR,'!pDXbB8'!6$TH9,2[l4dGlL"!0VL2PVBepKZ
m+-%bf(Zpr2kf#*p0h5UHGJj2$%,ckN$02'"9XqL'Ul1RLd#@h[#09U3UHYFA5`%
5cjRDaUUhHjGbc@BERTb-(a[-S%d`h5i!#LL6pb+3!0DJH5m!X'jiqSSR6(`2&B-
R9fc[QJY[b4)8XFeF*XI[*`Gld[+"Y#CH'Z"J6jC@@Br6aMLLj$a#"'*`$'@A!h-
2ZE[j3CbbG%bN2E%SYMVdEJc6a1$C9`jH!,VFTNXmE46c5PF3@&HSf6fHA0dA6*X
V2YlcK[FEl+l*CTB8$[&dC@qE0mBR*Z'+9,q$82IhT6"pZ"2P6%@D!#f"50qRe,J
hGDE*CA6@aD$hc!Qd8bDGqq*V1[Le(l6aPfpThUmZ!1ETa!-kCS"+L%-!Y`#%'mK
KK@9Bk4k9Z!F8&J'M9"$!!T!!@!%%b(!#C8$J3P8iK0+'))pIV1!"18i4M`8(KXf
&3KlIJ$!Cm!"A3!@TB#)!PJF2%!3j)'&&XJ-I)!CMm!9h)$MdJ!Q28!F3-!r9NJ!
"m!"f!(3&i!"@3JmHF!5JJ'%DaQ(b!!kiNRhXjhk4`!K(B!mK!!LeF!p`!(lLC``
`8'%3B!-RS#d23(rf9`!kaQ-bpJ"Y-!Grd!CrS!F3%!YZd!"'N!!XE6!"*R!#8f!
P#9J!fN)%d@82F+"qpf!(##BLXe%$6p!'D[!+H@!!UX!&BS!"5+Kr+0##Z"),#0!
f%"!#bh!$pr!"GB!"$$!'$b!'[S)&'5!!82!--I)&8#L&CSL'N!$!Je6J!%9J$`(
8"R*)KiC)!5B`"hHiBhRS*6lhBB8JG'3K6Urc$m3!!%d`!+`!!!h3"0L5"%-!"ES
B!3(`$em#L`"3"E4SLlKi",V)Ld2JLrr!!d9(1qb3!(6&PN"0&e42ee,ap%H,4A9
10A03&6b4"84Mpe"ZX%1VTeFJF!HF*%*jP%3hG9S[p90'G%2)K!EZSd$&*Ne!*94
%&A8Ji)hbN`CHY$jBK95H0$pFK5K8)%"e)%BLPdE0T&$U-hFH%eRU*NG[-&Z,T9N
kG6`UY6iQpe3T&iiBC&p4C)kFT&FpjhTTNJ6P9!A2f%fVeNdLN!!%F'C[)c936@"
2*@P+FSD58e3'6TBpXD0@!1!(#bP2$XPi#Q53!&8RMLET2N#*MQr8N6M*FQ5!9Br
dM`j("RJN39D*2hLJCQA!3P0!36X92&6R4HMf3Sa%F&Yd4,38@)FP4iPeC,4$Hm2
(I-b(I,BAI,SAQ+8QCR3LC'4AC'1!Pk)6+8mNCAE`9R5`GBk(5JS%!P2`A9D!3%'
!!P5Q35pd"jR*"XQ9!P`'1D26!AD@QL$3QBKL"TNT"d%3CUBC+8TQCde'Q&m@-i3
jNdrf,K-JC0"f4#"!"8*J4'8J"##`"hif1N'@+)GTF)RTC$26Q%[fQ()3QEYP"j5
*+*G*"kmT"*bT2TjC"U"T2k0CQSX*!+LTQP,'QJldRE+CRV8TCEFjQmLhPi+CRjb
'(!K"1lbC*Q!PDUHh9)IN56695"LTN@idCl48Fc[%6-(*8b#!![8'!Qje"M-92$'
3!!)8QBji`JCNG)qXY&K$*%Jb9%[-a*%-+N%"K&,"3h$fT%",acj$p%!ca@pj)'`
%&8'D49U1"jQ5b6lD&6`SB!G#HMc%"C%f'N&LN!#MAeG3+XTi`I4if$@N'4Fpk,0
`ZEBl[G0"Pb5K84U8MRGGN8HNB#H@C$QFa4Nr3U!$1Y#GhdPF-!UL[#4!#`99!j9
(k)B(VQ8'CK!rjfC'"X8qeeP6PUGYRF9fqGKfecP8FHGip#0+0j4bT29apQK8IJU
Sk4KB-,"+c49"9[5Rh`9[e$1QFT!!"m1e6Gh%#Z8N#kf@!H!8!#L3!#EA8!p,i#0
8`!'c`!GUm!"1)!8Mm`Kh3!'!3$Mfm!eY-!82%!Ih%!@#8!F`B&V8XKUYm4Ua8Ap
LF5&Am!YjN!!!86!)r5!&0'CM1*D%)*!!JHj!"5"`V#LQBJIJBM!@$22`$p-!!23
J#Gi+##[J)f+!B2C`"rG`"NPL!)Pi""d!KQ(`"(E!V($3"3Y!J8bi(Gd"!A-3(Z-
"!AK`!(@M1$+3!!%@b"UZSBDri!)1`j,1X36PG!8!bKc$'!$[%!!j!!!(),-!`!8
"`!kq1"Q#-"Q-`,1K!!#@%"!&X"0Fm,-%S4(,!3"4N!!3Ni%*"Y%F-cZc0XX14k-
4&&!!9$"+Ar34&*!!("L`!Jl3!3U3!%mIa%pSd!#6N3P'Qa(ri!iFXE3!d,3UJ!'
i`MaSi!C$Y9Y1m'eIP,D6F3Nr'l3'-,3*)3"&1a"Xka!*`3C-#`#BN!!F%V!#mI!
"'d!%)L9(F,")9'#hH%Y(ph1@&A4"IJX!Pc#cCL)!)!!!2p#E2a!!fB!T2JZd3NZ
dDiX!rr!1(,%"MIZi!!!$+!!!0a!!XK!!m$#kJ#ZlJdZlL'ZlrX!4bp'dbC%!+5!
#!B!+aJZl!*!!+C[#Z,6hPm5RRi'*I%ha[AajDYfVI1"VI2H*[Z@EHhl*[ZPlDXM
4(,66%Ed`!1KJM,QiLlhiLd(lRd,6!26E6E3h[ZdE[ZFVD3IX[RS*[`YXD@PL!RZ
V9"-8ZXbdP[4dF0dQFBX8SBVjB3PmHr(V[J"FP-$A%I@![rU,M2blM2lVI$*j2DX
c-mf*+-pTC0,j,M53!*V@LChhSjd#bChICEP#06pNm*VKHADI'CVRQF1M-`,XfCl
LfCT%R!C'r*VafCY*PTVe+Cq3!1E!)pam-[$&(1%"$cbB)3bBCpam*8`"rIX233X
%LRUT+,T[,iGABTTb9&$&4Saf1K3mGCP8!e9%cE9YN!$E64e36L@3!#BL!!$,!!#
C%!"'%!#C3,-ck`F!)!JjQmNmql5@I*5CM"p233-XZ`!r!3"rB,Tp!31pq5L0$!L
"'a"Q8VJJ8,[rd!r'XEY(da`@F!$'090T3$mIB3(*i3!V%!-C8!#ZUCR'5mU0E-S
fF*5XR,U2JJ-!!!LNE-fQh!65$!$4r#K2F-fN(-kQ2!EGc-f2dLRB$!#GBXTkd-h
Qr#KmF-faE!#ch"He[,bhc"'N(,H1qlX[!!!4d!"'@UCm2%E'@mrhM,UfM-X*F66
qM!NVJ!"%X!"B4Mp@2%D[fF`!`!-!m(YTJ`8+[42jI,6lr$T0qlX5%32+r*dF,38
!)$PI!!"J-0+dh0!F`3'lqlYF%0-(80"$+J6AQlf6X5Pb8,LNd43#S"&8dG3*N3P
rLlfEFRZe"fS"i"*6)!"6i046X3$d8!-mm!TeF!K6i'&%53(%dFCd)J4DP(4A3$e
G6#LaNfSa#F)G`3qIX*`@%!"AX6dRh'S38&&9#9aF5U!H-kF+P$qCkd3+HG!+**8
BM9TPe$B4pdGUDTcX"*(%DCa#J&83#@ld"%'8*+80HN9lM0&p2+2Yme4je&d#9pK
[P%HE(6qCcA5YlABMkNCI1G[(DAUX63CN`%NYCDR"dm0"@UD1Gk4Pi0K4j&jei%9
rc%KPqMaR+MD@cGZeV8#RAF5PPaa(r@%J8%kckKc1q#j#N!!Q4e"16C!!*QT36R+
3!#D-8%kZ@"bS8%kZN!!Qd&"1hC!!*[X3U`(3DJB3Uf39`'SP!#+`h4N0@'a`Tj!
![AV4V9*rY($5eCCf0%6Bh@hD[DDpcCeSb8pU@D$%FeN3jlRhSeN3MP3+"+F)e0P
iHRDbcG`hapM$f8TDZU1@LCNV(Nq+h8B$C9l"Bfha!eLRP&i3*pXDMT`ahMXS3%h
`pPdSMNFd"H4fe0USa()mkR+XA8%P4%,BY6m`"dq"GFG`0P45e9d)"9iFLZ(#T%M
Ue8M,,!I)fD48YDGp+UU"5YRDf$Z%4craQ%LLrA%#41)hlTdj[Naj1T``IPTBjD0
5rT9lIZA0T%,!E8S1DR(DYNTcX0LDP,GaT%9PcN9c1H4@$R'DjGU'#NK*RY[#&&,
aXcklIH3p4`K&%bN)N!!Q,P"10*!!*MP36Mq3!#CS8%j[N!!QH9"1JC!!*TK36QE
P(1Id,Xr3DMX3Ud$3DRS3Um8H'J'J#,%kha3J!"S!6UKEefRb$),p2'H3!0(23h9
jK*!!@U4ESM3'114&HC4b6ZQM9[Q4U%@5idK*8dPAm993E5$D[24GlE2J@$90#L3
01`Q92PQ1NBf1CdTD$56R3U!'#15@8a"8H)*[&$498&"#9$4''I3m49!&9A!%PXR
PCaF$1B!$0d!qkX2Qr%0&@)8%CE$JlV-'DG"cUCJQR-#+!$!-i%lJ`0F"E!-#ZV0
B3G"h[H11LDGYFf!pJh,@-!a@!J!$5IG#qJ-#a!48f2K'6VQSpEj582G81ZAKA`N
m6YH2)XRDL,G'L+U3!)"%2(0JS2%N5MIj4%9J9ddHiCKe4HdiE6MeGqre2$[H2)E
(Ecm1kN)q@+51kSUqH2X6"Rf[FP81ANmN"(kAMM[d92JHP3arMSd(88&1h&Rk5XF
633X&i9V,8B(95%"1q86H5#BZN!"UG1U@hNDQTp[rq'fRG%4T-+3M(RLJ0+B'ej6
6TZUqe1EX"8L5A[XT4c`F(%'$e9P$%(L(EJCK-%YSadIaP%HLae*Lm%1FT%9#03G
VX%V)*%V36IU2(N@bcrbd6qQ4"%L-MpL)(dA@9I`i02r"`rMXYRQP*`@SUJq$"-S
*&8J6Ik#F,)+JjcdbJ185*@F!ElNiVU48`Kj)'RXeTI14SheAH@$EmrKq'!6iU52
,p[IFbH-,,-(PIV3q3),fD-i9U96GMpqN!3h5N!"kL5aC)BK#[[#S`LD4h%"KdAd
0bH$-NQULkKC9#q4('&!Ga4&HNN-'5HC#)&-&j2LG$0AR3!R`+%KD"5&p(,KN2m"
,6-%Jmq2`,4he4cq1c-jc$P'JR(3""NJ@8N#@D32%"T!!'!'8BZp#%PBa![ENFf8
Z1a)%5JSC5#ID)lq-"CQ3!(6D`'S6*[1)f$!NCP)#hj'fb8B#a*M8J3iB2'3)1NS
jCH6@e%%-Q1Fm9)aU1McTT&!f3cF"[BdED!(!3il3%HA'Ee6K'["YFiimBC%+!Te
#dKc!JJH*IT!!2TAbldj9C9Q&f+Lhd!%[#1@+'rh3)L%PZ$@2-ZACQ%iQ6#PL$aY
KRYlKM9B,f6XLb38@4MJ)CCaZS@&,,GpSJ(c"M$CDc%GFiLQGK3LSMfB6$M8,!X&
3pNl9iB!0)JC)P3`j1-@`p2dl(kMQM0YZiB83a00aP%m#FI++&VP6ch!6GVdji!E
Bi4h$KU#N5`NA4*&Pf!FFJ5k%$`rdPZ*aq0$0%R5(eZ@()$H!k!XcR@mTH),NIK3
8IcK4"'"#-&R&!9DpLd8@`!6#mmN!+f!#2!"qa3%N%3Bi!$r!$UL"2(!!S)(k'4M
Z34J`S5pJ"c#!(U)#I%J,h!-T!+hQ!2B""-BJ%"`!3&!#&!!AX!H`i#Kk$Q&3&1A
'"kJ'aDSF)))r)!EdJ"a!-&e!!-5#"@!"`)%0iK&`S("i!cB3!Mk"#l"A@L-B!),
j8'0Z62lC-E`%!UL"8Q!-3X!PZJ-V)-#T!9"3!Kl!&k!(iH!Hr)(#q#m3!"6J39$
!"`'KH[!2N!!!25J'cf!0,+(,q!LUJ!liLV#J+m,'mR!2TN!T5)ebX44aJ"G!XRU
'%1JQ"D#F"$MR%!V+55Y)%mZJR&5$0'%1bJNl5"2aS*cNJc4""LS%r*%r5X))hCr
$Z(m'Krm"3!+)!"NJHI!-TX%#DN!kU"j!)!P%JD`%*2!9B!!#J!)S8#0B$#*S9Xf
L"*fJ&*4K0J`-k"+(l-0%1c0"&YDEFb!1qF*@$"JRCJ(FKk53!"ceUb!`!0$`hbM
NK(`+$3"#GT-4)!h8BI1!)&JP#5bpQB*DG!Ir!!&*!!5S`aR(1j,"0!#%XB0lT!P
dN!"dSKmFmB+KCDp!R(*RGcDH"Y4h$BrIV4h1adrq6MHd9)1Y)ADT,U**d!hF!5*
h")I3'cc"%H-4)mN$[-CcE5SYNRSqP!)K!mY[X+@MG66R)-JC56PHj(M`QE(Alb)
)IEP*(5TpI%,JSASibCDUK)-2dD'f+6F(MJa-*![ES*b-Jc3a!UC#b9!B$5"NS!J
S3!CH`!jJ'9TXV`%"[JCpR!)*Q!T*i`cB)RU!,E6&*l!#C+"X--M,4YZ5Nj2K#!-
!(V#$3XN"b!!!D'3!!)F4TKV!`i"8GYT13S`11$BNaTU@Q(NU!k4*Vr@Z+&DGF1@
J1h**E$b9*p%%,0&6T(3+U4)GX%T*m#Sj!R%!!!0!#Z#$3KN!5!%!S!1+`##!"Y"
!!(`!'Z#@@)"1K%[A846+*4PB!3A"9FU!F&NINm"pM!,jm8VX4aAN(`(N'5`1!l)
i'-La-$0b8jM4#KHb3NV)DcN98Z@U"!#YXPS@"%J!&36K@L%&FmcB'+IK0!8bb2&
JEJdZjcJ50d!%*pXC`@jBTBFX+1F'hES0j,Z%TZh)4FNlYU+S9*R+IA#%`GdNHrI
JR0c#1CDFEF3a142R-iq*&Y%X"d@Pr#1%%J8"#@p$6K%U86d9HU*)QJG@36-HFlR
Yb5pCmrC-(3%TZ#hPL%`,b$iiS3"jQX-&lS%5-Q"G30+lF9#a6FZp!Ehh4MUK9!%
Ha15Y0#L5H4#cjNN+NM*[UB`UE[4b#XJ2i6TPi0m!%V)CNQS+fN`1CU#E0)"bXJ(
5a!XS*f6#18b"FT)&dX4mLa5D)%dBJh,#$0*%1#JRlk$9'#*)%3!m3+[THDa6&,$
"!#!(NNj`1bKX-m6GQVPdS!SEeU`b(h0VaK0[&%U)$"h!NVIND@+91f#26T4+NAZ
UMQD50XIC-B'ReZ4Z-STi9-2J-8mH'pX6*GL*%r*!j+)hAaeRbcJ,lJeFcHU*@kj
RJ[0M%)FYDE!mFZ*qCLG-(l,QLeJ3MJKa6*3)UCrHNe4ZZ!PP5$b'8m'&@`@Vb%q
h*%QB56d"*Q-2Nd34Jq1@)*)TE!%XFANfcaPLF&6)&ja,@+VVR%)-SM3"S"c`JkN
+!$L"EP)j)dHDm!(PK!LN#6036ZK!QKJ&X5G0Z+Th!3ciQhp$*h6Y3,+e'4FmhPS
HL'X-)"#UP3'!!!US"%%UFc)PTJ%pX+8f%[2M5IRZEi+qB-)i-@")H8`CM`K#0m$
cqqa)qLJJ289TkT*3-RVfcIFc*N81,0fNfV)cSq&V@5aJNTCiS`TQ33V9Mp5L+DR
aS)#bG!CF!1RVSYLSHpUi4YMdfNJ+`(Yk$kJp&!#LMS**B+%ZZ+BC*MDp"d"Vb8I
-IR0*kB%!'E$$QT5``5T[e)idNKK!!ek+Q!`Ub39rc!qbKhS1#CMFI3)(P'+4h1N
fEmNI$CP"U8fZ'hf8#,&+q"JI2XTqh#R9KPHS5Jrj)3[U((V5ij(LXQEJdk!HlQ8
q&La#8eM,+Ua`F4#'-%hS%L@pM4``K2H$hM'SP*RjQ1G3%5(UJ`Mbd3X#2r`Q-&9
*L!)&$&(0!Pe)hc558ARbQ8,*XV9"a-F#@3&B"3SB%Fpe6Er4m`Km)%#KAKXf8!f
N580U!55dMp64#cMF00mlP@kc*,SG$b25TIjG3h+"[18NmT[-Cq++T&KL(Ri('fA
8&"V02S`i+#IZ)%hFJh,5$eV0FQ5GTc-d#)"$i1dQ`FVb#2"!@N*-DJNVZ`Hfe*E
FdPZ#5h(T1XVPZ5`)kC)"V%[3d#jp`,Z-PmmKA+U`@l5rP"%c#PS,`,J!%p%NUDS
3pj!!HRlYqIJ!*pU0H0p&BD4Z$jk-`2q*46dI"p`hr8DC-*0+Yb@I8Nm#NPY84j*
0F&T3NDRj+#4i)S*d3ISa$X-J0mde!S4(FNr3Xj@J&+S$0j!!eB#qR$+`MKE*4DQ
X`F0(*6Nm`R51afZlIBE2J6!jjNN3*BN@-B3HKlD!!-dU6d$2,remJG55-TflZU2
1j"9*Nek663E)0%&dhN8LHad"3&3-LJ"J"AD#9K!&eK9ETLl4X3$S!%G!#!$J!@L
$lrS5QGT'S"N%B9"J!&p!AJ&!"Y!#l98$4-j"`3%-!8F`CHVT8Ji+&E"#l`0BX+p
&B`8SVZl"!S3"4i"S,'$!eY3Am"@+4Jc3#`RK,`)!'M!8%X*hX`(0+b')JB4J"+3
"Q#J!#S$Y-Edbd!)dR!+j!K!%4,'!"K)%LJHGY%`l4,GiQcZJ32'(il'a+R'%K%L
)1%Ua5K$JF[G$jH8!',#5ZNR!,*!!D8)4!)"hYJX#J#F3!(!J,[5Z!&!S)i"I!!f
))6%F"Le,C6N#+hX+1ZXK+!!T#`1kl,#3!!Urab!BK+*J"fM@kASb@IBYI&Q1N!!
"!-!G!!#a,)PQekGJb`CXcG!+,'YSRB$L-"*f'E(`CC%eQ"feB@D,!)!$b!XI,3"
FbKJJDHd##S!!,8dcqE0,)'E*V*QP#VqR+"L%[pKQ%d#F63bXl!*`K)"fCmrX8dL
c!+!@BB!!%!,JE*cYA4aK&EMA!0$)A+e6#,@a&J#i!&TVDl-XVP@eZ[B&m&Sm+l[
dE1'D#RdfGh%%6kDl2J!!%"ATmRHCJ*r`dj4E%0Ldc0C9)S!Q3!5J!"1J@B"fc$+
%+9XSI@e(q$e$bm15KAh!E)1@Xqd,d&DIqGPT'fJ"J,`&!26fGqQ&DC!!DH%FZ2e
CiTEFQY[c'QicJX)pYc-VhAVD3[PlG*FbZ,B"i#2N@D4`cja#Y%d)ZL[G!J#,Lh%
rJVCeC0ff62h'[p9`affj2EIQYDJG"UK`)EA#"+JC#K0K@XKV13!QTb$BZ3Xck(k
JTD!`#3!$m,P"YqIqA+!V9JC"d08+#m#8"B#S@a#SlY59ZPBhkf*Gr"TdQfl52ES
*XqC@ADkV-"@Q!'J!6PGKpP`'m(1&EX*m!%6h3SU9VT!!FmHZhEfkGeIVjYfYZhI
lVXip#%HhlGEG[eYhbflB[CCi0r(UAF9,GX8ZFNJ1JpIY)PkjLhD$,J&S!)6Jk(C
G"T!!GJp[3B#lPVF"r&aCThCp,Y!e[+"Kl@CHbGXA'!$TpEaUPqh+LF+lH'X[hf@
mdrC#AYj"S(P,,qmp[CkheJQ#b8PmJ5q&",e$0qQDAYC,H"f[h'@lVEFVr&fZ4Rf
VVr@p[YJhqfVIlFYpZkrhrElJpl[k!%"3Da@!2C!!Q2p!ebD%FXN'`!#aN!!"!H!
hLSNUF""m!"HSY30!9$#!4B!82J8"!!*NS&!ZJ+,39'Z'rr8"@!"H+S"'"J-DJCN
!$GkeA&+"3ZN!0!#Gi,mFB5L85dBJJ-@##-$!S%%$!`%Q!#m6!$ai$L!B!$##qXX
%+2#MhEp)!428AbK3+"X!A[M!"U%%1+k$!!3i!,bX!1m-&j3'ep%,kLm4+*3&3#1
)J45F$1S[%%$#3`%'ZijU8(pj!"*H`9*i+B5$qSX$N!#`$&B"M1!"!i!6A#jT!")
fX&,ipcL%FJN$N!#`-a!e3cL*YS$kb`)+j3'`Ve,B"-#XqSX#l,!N#!!@)!i(J*P
@,NP!S83!U1!#'`35%!$@32d&!BHB&J3!(J##!m!MU,mF3!"I"5PF%$E"3IJ"fp,
4EPX4N!!$$-)##!#HZ&aLJYp&!,J"!'!"T4J!R'*68(mT31T5!$$0!X6L8a`,kLm
%Z-9AJ3,XiJ$!#qT[N!"K$[1-&*[L!(!-kLm#Z-@H!%`-B`pE,JR!,FBE$'!BGi2
kHmS83$(@!F-iIa'!(X!2@(%dpJ'aZ#$-JrU,##K`5-$"K')Grem'))"lQK4Qa)P
K(0-$!B`(!X$i'3i#S&#1BhK3+"N!-P$%!+!%#)#!0SiI*J1J"J%!!m4K!F!AaV&
5,3"U!#(h"IIlIlP!PBe&bPJ@#`#1$!5J!#Yf!ldV(3X!4rar!8#903H[%J5[j2T
,#J6bKSA"k9F!h0PbL345e`1)44B!!`rDJ["rd3#m4!'Q)!!BJ"4m!J,!1-B'KI)
"H!1%V)0RJ&2Z!G3J+UZ$Q"#(!3!@Z-V3S&"#!,`JK8%$'EM+c%!Xi`1%["6J`&9
'"P8@)E#!-1`krS"6rJ&T@D#a-LPF&2J[!IJ"F&QJH64%N!##4m&G*JB#ZETbBJ$
`#Zlb`j`!lMFNQl,'2)l*!5[fD"TJ&`-!AA#AH8(UNJ"k34HEBJ"3$1ib,[M-faB
(D'CSF*GT`@If!J!!"@MQEA#ABF&RYUr#H$5EJl[-#Mic3C!!!*Sj(YaP92#CDe%
f(Xhmi#k6JXp-%6c!-$i!GaN8I'CV3#b'mBrjbjcJ-q-&eEb-1m"GaJ5TD`*F5YQ
mM&(!ADB%iIRFjQCC(!#XmPq'"+Q,!)J+i(`6!S!2F-Sq!!-8bJ[JAH&a%Vh2IeQ
T6S#Z))AKVa+ibqfBCS##!+!0"$%IZ-Z%J!*RC%iF!"!"INB&qcPS`FTrm!`U0(k
'!qlh"S!"!B!(V'8!b!9h'4"m#Jc!6FTb!#M0IaN25)i"X*CP`#+BC3&JFC6,#!d
!,J"&m-mjqLl[Bfa*PLYa0lM,F+"3BJ!$#`-UF6UibfbJ8%i!4k#4!d!pF-T!3$r
hk2%UQDhdADB$[fX!f!*[YS[0a&e@)1i90SYQNAb+rc)B5&dC`,ZLBe-X!2EDAqB
#F&S@#0Xb(3,ZXS9aVq"J,*4T&R#Ae4@fp*EdZA!&Vlp-N!"lY%2`c`*J8IF!F&!
S"i!-aXPh3!!-!Ia-"j5dU)J8#H&,#)#rh))"J!CJA&DJ+dq+[i`%+M8@aX!*S4(
pA`+JT02PKNi%lR98q`!mi(ieJ$!)!0K96%##8Id$XJa41,GP'3"`!Q,0!fEdKP8
"0jSMS!*G$3Z8p$[cc`"J@[rPUcS!b))8(V5dJ&LEBI@N!J+!)HM+fi"BYf(!J)d
a-$Fl"m5k$J-'AL!!9)%JTJ(%ZJm$J"!31Hpa!!!#a0S3lqZMCJi@3FXJ!m3D%Vr
+V&U*i3#acX5[dP9Qi3$!"iLePKB"F#!fdq8NHU2r-J8SP#,J8Q2J!hd*L$8%!0Q
N3!")!8%F$SJe23B!*1$m5Z%5%!$D!E&'!)95)3F!'$#4*3#aTY8!`!6)!)4F*Xc
BAhE*3GX(60KSA5C8J+lQ"iA5""`e+G`$")!0d0@Kf!6i!3'3!06SK!#`LZ9b5+-
!JS#6Ci%!q!2%'KMiC)`3P!h#Pad!j4)E`%X(%)*`3!VQfHAbBDU![jLXH3$FpJ&
+93@N5aI!Y!%!%[MEj+"3GS#L-,-"!"Aifj6kfP*,Ip#9mm$IjJC+qLXXjN)!Yhm
!e#B+R1"9DQE163"d!"N)dp%-&SpQ52#hUF([QPZ#HM4[JVm0$9)A#p!)3%!cQ`+
i$35SJHd1#H"i0-F#hJd0IYF+B+q5'3$`!Yl0$)`ha53"Q[NBm'jNm,Xk!%*)e+C
-'["ZBT!!ZJD!Q8M8#D%EG'iqS+66!VB@hrmA#h",HiZ"[d)ki0fmS&#fJ$(Q!!4
a#Z$GZ)"9VQ8TE*9V!1qQ"BAb"6#"!%!-"$%Di0h9'Q)@DA%C!1J!lfB&V*)k"q8
((!!!!Hr'd"$ciNVK-4!!'!([VXNIc3F-!#%JL0m"l`B&K9)$`&FA[3pi0bFSP"N
JGH(N(5!!$X$I*YrZp@L!k[#kI[q[4)1BY'!XE1c`5J$q,b@!i5ZdF@q!)Ji%)%'
KT!'%iA&695$!a$Q`Hrf0bCS*-2%%R3'm0DcfbNAF"`"`pdS2BV)BaJ*&r!G!!AJ
T!2+A"LMFC)#*!i*#+3$Xka*'#R!JMAGK8adTX(8H6jAF!&lZE*L0JBX#(f$LI!"
HTS"Da!B-0P%!!*5!LH-"0Pi8h)!M6`LXJ)N$Ja4ZcE"e*LrGkKX!&)!fU`$i,l@
'!!!:
---

bytebug@dhw68k.cts.com (Roger L. Long) (10/19/90)

[Macintosh Technical Notes - 281 Multiple Inheritance and HandleObjects]

Written by: Larry Rosenstein				     August 1990

This Technical Note answers a  common  question  about  MPW  C++:   "Why
doesn't  HandleObject  support  multiple  inheritance?"  It does this by
giving a brief overview of how multiple inheritance  is  implemented  in
MPW C++.

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

:#941-MJa,R0TG!"6593K8dP8)3#3"#T"!*!%k@K6593K!!%!!#T"FNaKG3%!N!J
#'e41,M)i-5j0G@adDA"XC5"*EQKPFQPdB@jMC3"fLf3!N!B$1J"fLf3!!Fi!J!1
A)!"`p0S!N!FH9dp54%e"3d%!!+,&qf@M(m5d!*!'4kJ!N!BTZ`!!56N!N!ERMJ!
-!0!%)!!!!J!5rP[iMer"K%D`!B!f-D%0)`"`C8a)a"8!"!!'*!5!K14)!!+d#8$
a,p`rF3,b#6!bi%J"&!-F#KKCXZ6)P#XI*L3cdQ#!Sd922(KSm+66N3S!C!J!b5Q
3!+G&X@T0D$$*3kpF%l)3"1!UJ"AX!'J!J#(!VArb!0#$'d$B3S8-lcB9LPHX-!!
3Z&*"#4H!LF*cjG@pLjFKJ!8!8$b1R"9!$a`*3#A%iBZ!RX+(ibDZHr)I!!B*+53
8`'(!AS'R8`1B31p0(5'aJ03,%5d)M`mki&%-Q*!!J8(9XJ-d5!Jl+J$9-Z6pN!!
ale'-HD!H0,QRjB3k#23Qa6TLJJH%-C!!k"R+%@UZ'(ZKK$e+d19"$HB*RD[fmU@
rrrm!"LMJJ!3@D1#"#2DhA(1b2C(JJa"'#'%$#aBR'aVkI*&!2bpXepehiBeA(J6
9!%(2$b[)m`X,rF"!c`YUN!!4``06N!$`44f#2&((1b`m!%84`@3`Kcei2&"%29p
833mFpIK`a!pR2($G*cM-!`Fp0I4!`36"b!--2B'J-Z3YmVbc(!!5@2JF!$8`X*0
UA+#fjJBC*N$20e$8Fb@+mX#b@frQd@20$h@S)4aaXDfT((k*UUEF6V$*UGS")&3
+3KmlR!PE!JPC8*!!TQUUeSKQS`)`b$pPI"S'ST)#i+#%X-BD+i@XbUC#3XUJ!8J
p6d`aT"iI%%("(hCNJ0dlGGLM!Km28%'2#B(3!m%p[e3)!+F!H2TSV@Z@3-mCp[a
44a!2b0$2!dbmNFH0)06RE""(h"0'HT-)-NB`KdCkh+H-YVSSYj0DHQQQM',Vk3b
ikXUVX-3D#`UbbM,V,,6dI-##!rGm)FBT`2!U""SI#2(!(SFLDM#r!(pU8+5b[I"
YZ10+H@kkkpE4EV224RXH*"k$,()51*5(3El&lIX[biSf8%$+P&U++DMAGMTE`VX
qmI%(j*)mh+C5(ahUTe%KV4S,#C8#j3-Uh!2)20$)!iBmKY4MJchHY&I[[3qd-!m
iha!KaKXTc&0Y`9e$l@m$N!"q$4D[8lc4aRF'e,!#"A,6(FSmX$JPccm[2#!&"Yb
KF!!-B"4$0l!YR'"20!%338A*A'HEY'PLIdVleapFJ8BBG)!3K"aPJ)"%''k3!-&
''8q)S8BCBp!aKqpZj(&('(Rmd-$Y!$KJp28!"f"*%e"F!F)3+k`!`KK[Z%&(''Q
imI`FCGK4KKaKX!&#'AM38BElDD6r2"e[!)%djV#qiS9"$Q3BArQQ!3)c[%%1)*K
$(H!!K`I5SAeR!%%6`M#'pJ&`$QJ!!4cNm)Bcd+m0EF#J#bVe"$F%6i*M##(qp-H
rp)%J$Ip$3r$%8)FdX)%1,@MIqGJ3KMNmEhM&1elbPYHm&8,[KZiVi"L#p`BcJ)"
iH4KL%Cp(KM,-BBV&+d-#c8$#0JL2H-C$R[+BecXFAT%0E(M$'(JRaLXq,``Jf&d
5JbG%1ZJ`Mf8)!abFQ!AEJ!"iCTJI#!!)J[44dBTqp#)ISdLm+GlaH@Q`BKTkGiI
j"3q2FdK$'q"`2"'q`B2cfm%LriLq8IT3NHYEJaI2Gm"(VM*i-k3I#,U)5%qkBBU
(,%-FHJLm")U"H@'S!raZfFJe0Zq'c`0HrGL3!%8mkM'0,PL1"ljQ#$Pj5K+YkS8
h!C!!M-2e5cEc#-)CplK%0N)6"-SXJaRUB$mKEV#$kRX$#%9)3K1'!B8BE1!$Q6Q
(I`C2QR1`S6A4@%ShaR1HE(!L&IiBcdCDmCV(Hji1f3#(jid`I[[VR3i&f8$kRD%
0)H9Grp`Jd6qkJAGe!*j&ejR'GMj6P"@%hrXFGe![dN%1D@MH5TpR3c5mi3iJb)-
KjqJ'H#jcNe#m)Mp,H%)@j2'S)*9$0Y%!J'df#LAMG%#V2M(19CLcHc%`3KVN3%#
VK[+AZ14J#0Y(`%VbmBj`P#-G%eK%U@+d$&D&UJ2cHSFFmZk0pD3NA*rA"QAflTL
)eD[q%QM$5!*5N!"14)%dR+"5q6'3!(cQHi-cR8I,TN*fQT+YBfAr@0FaV+'4%1c
M(mm34c(8,i*`i1!RRpG*1,SJ"C8DJ[q%@BH3!&,6UNUe@IfQP`FZ-Sq)-VA$!G-
3"M&Ne+Uj2@%Cp-G@Ufjh$#YN*'3VL%Uf,M+!PKd$%BhS4#--&(rr*'8CG'!ifD5
J(Mm0!3cXmB)mc1-9GM)'%Hl"Xa)%!JFKQ!-m2K'%M*hK(PJ!`6`qN!#$HA`#"V$
l@JZN3ahVr0G1hkL$+2`3LJFNB3F8N!$$[3b3!)-()'%-Q[M!%rLV"JkJ)-0SfKF
$"!D(1PJhU23eQG38)$#"*F0D*lY!N5d94cGNd&*Q)!,[`N!`)FZZDC9k'Z&Njl@
SbHi&!U2#&1*E5K#S)!aM(ZAaNU$B+DTbb5"i!CLC8)Bce!pU*dX"e4MR1(8!"f-
DijKkf1-Hq!KMC$Jq@CI2@VX%"+!EHlQ@!!i`D3&J`G+B[V5Q-jeTK6"$,31J"3!
Dd!4i*@%)8$Ke"!,`$aim4e)"d-&%F5N(%N)3T8B-`aQ#Pel(`H'9%0be#qQR2d`
feBpZR106RbH0)4#['VhVSRTVk9H'PZ%&ZIhLE8A,4$VSi)TZH%-NjC!!C[QkJ)'
qkjdCeNV!9ES4e`AG03K5H!Bdp!jqC6!M!HRRC-##i*KcV+KPepXl1Y`KJ'aShba
PQq`hG$'#CFMhHImYlK"+'lT8(1dFR"L%jY9KQRQ`UQAAcGCS2rH!+V@K'kXS9I+
U$jB"*&icZfh9F2H1jCEPYMXh#6mfQ#'ED!T9!"6JTZF%)!+-&RS!CJeap"8[Q2X
1kJ99EYMH*AIHMK8SBCQTc)rE6`ldR+8$Edfm025BL"GdFKkY[I&+X9Q%"lcJ'1K
j313DFRIbQcKNjiK)HPlaEhASh4LNQIB-ZTblriXj6C8i@LM@&DiJN!!Z8+Yl2,H
f$jJjEcbpl6h[0q3pNm`F+4cHfFVF0Nq-6Nb#&Dpq"k$UldaTqQSRaTQ+9[hJd5)
C53)%B!,H#m!*[`mqm)F[I1&r5Xqe8di-8UB&h1r&dBbS0+@*6rhL$rpDZ$r*lLP
0k8elRp2Hrj4!a%B9HR6L!68c3#9JFJY!Z)%F9PL'Pqj4LAY!B4%h5J8",!#*&8#
!$#HJ$"$!)99`#'Fc"#Ub!Jm`Bc"LBk-$"S-@#[,`$4q6!3p`"953!!SY`Ppjm!"
"N!!$$FBN1r!"BM!'Ah!(Sd-2Q2!)G3!"mp!ZM[B!GM"d"H!!AN)2(R!%S$"K&AC
KmJ!1cG*q!#L!NF!)4f!2)3!)YA!2F%"rpQF--!"K%'!$*b![$i#![l!#"8"M0XC
L$p!'Fr!(EI!(HJ!"XH!'$@!%iG)'%f!#*c!&AX+""5![40"FpJ!(rRF2GN"J*j)
LX&!$6p!'D[!+H@!!UX!&BS!"@pL!+2#$c4),#1!i%"!#bh!$pr!"GB!"$$!'$b!
'di)&'5!!82!-12)&BeL'HEL(N!$JK&6J!%9J$`$8"SD)L*T)!5B`"iYBBieS*N(
h9B93G+S"6V,KD0hJ&0YADGqAM1#(-VAM+2@e*Zc!G-L'3&$h8e+h8ZrN4iGeG8a
PFdi92)he3fEA8'kJ3kjR9b"`"jX83RL%4$8e@Lh98d9N3mH%"Zf63-J@66i&9%*
&G5$JMI'6"PfN2PCP9*dN2eT9+9333(834L@(4Xb%81PMGcE6@1d@4fr`@SGP@6K
e2#LP2LRA9#`AMKFNAe"NMTYN9d!AHkf5"108"8Rh9BXQ'b+3!!4UPQmK&9"03%m
P@8TXKT*59!E@SMe*FdjViJF,#8m1qAJ*C*!!@#H1*YNq3)Q1EY5412PbC'"9M[5
2%8F'Ga4"9RNrH%"QCE"#8c""148m9pG&kqC#Lh4`@Q4%Xp4AJa9(K49NMCCpZLG
pi0HAbBKpaDKpI+Q-K'PT9ZBT1fBT2ICMBi#A#A%b6V4NGV"@G1"eNAG+#33#8l"
G9R"!3B!#6CC",R3(RFN'aC8#""-lRY)"F0DD)"#DP@)'R5N(39"PUJN!4!CR4hD
B!)"P!i0RKE0PRM)"!M0Y4J3#9#!%493'3J!#H`#FXT1BPE+B#GHB5#BeN9PNNbN
(PAPEGS#CPE+CG$#E3J#Dk51DC8#DpA1DUIQB8X1DVVPNX0P!j'QElLNlZEPNZhQ
Ea*KlMcQBIKQJ@$!5)(%'!`!2SeCU4h"UU6B%UrB2PV!QM4)!Z+"k5@9)R546M)5
4'YP'E6C,1+G$bf5F1J8#+)"[)+"@Ca"6`4-$+8#4k@JEE$"'plK+Kb9%J44$Y,4
-(2QK%34!*K8m"dG2#H4dkb0%$K46rjB(a5C3%'4CS"9jP'QCkf0G`B-#GP#Pa`0
F%*QN%#3'6#Tf!p@MM`G-NNGG9XTadA-q$XGVZp-l('4**8UQ34Pjdd9j9cTfBNQ
@b+QFm#-%1U!$iNQH`$@N-lT,!C436K93H,4ZH+"DCQ!'m+0ZC843km1G-j9jhCC
CEjH2F-HG389h%)53!+&N3b`(@L*RMd39UC1DMRd&!kU8A""84C+kAI0'2ABU"hR
`@pVd0D``6V)!DaRJ63'!!Ueb$I@`"%9#"4``#hbJ"JrJ"&*`(Sp`"a3!#+9M$pr
3"P2`!(&`$e%J#(8!!k,&,RH5*hZ5)VqJ!`$!)9I`#hQ3!!"4-!Mp)!8Z"Q-baS8
J`),Z3!8JS+dL4Q)(J')U&Jccm!r6)"H5)+q!X!*&)JB%CJphF!pR!#8'd)P(d!&
c'!C2B!II#JGGX!!Rq)AFi4d3-!FLBKjiF!#@XcSbN!!"+BJRHY+(+Z)#*F15XV%
%ih3&VC)3D9)&MaB!1G#E4-X&!F!1UkBCJU!CM-#dS3!!%@S!5l-DA2#d"!%5X!%
!8C!!%*U"#3B4&3G3Y%G,0L""!39!"D,N45*"!FZ"!5[J!"fJ!2IN3IU%"JfJ'CP
JY4ra$qi`%PX,!&fV!KM3,-b$"Qi39,IP"1,Q4ALV'CI`Y&%lY5K4Y31aY`k4%'c
!Y3#!#FXK!5X3$aq`!83!8R%%"iT%"B9lZ(0N2fG*34E8Z!"`#@'l%`)!!J$`!e&
cHpP!+Ni,Y3%KZ3*!Z9Il$qm`%KZJZC`,!$!J'6F3!,)3!2!!ZirVZe,l%m+lYri
`%V$4YFZ4!#NJ!J'!#Y,,Z`"3+UH5ZF4SM!"DQ(rCRi,*I3)US)!CDFIBII(E[RV
jRr$,[Ri*Q1Ul[rHlM-S40PrM[RX*`2`EIJ1F-X4)[qXE`*S'Q2iTD3J-`BB*!2r
`D4d3DJPUDULQDUbf($2jDV*K!SU,9",NZXZdP[+NF1"@FBT%SSlj9HRl[XKS`4%
m`XjSP-Ma%3#J#!ID`3[k`3l+DK'U`lB$-#FMR5,NBp8j`bG$!kfjRGeT2pmTN!$
KZ9fM#e6b3`DcDCjU0jUPbClA+6XM%*rbHCkaZF9Td-@cDCpHjLRj@@6lHCqHBX$
kHm-*h'Pi6-&kM--!d!,j#`!Em-"l2+!k$-)3@KDGUUSlkQmb4eGebR*8`-CG[(B
j&$aeH93"486*j@fGqc8G-%iPd#U1!!#e%!!&%!!`%!#C3,4Kk`F!)!K*1mY-ql@
`$!#b,!M1m43dJ*Z6BEYr-,XS!304`bNL!!#!!,N"X41V!3*kL`$rd!mMJ4aG5cC
4B3%()&`aP3Ec)a)@X"`1X!)aN!!""5#ERLQp[jc-N!"K!lTXc,E,+6LJc,mmcj!
!d36[$!$Zc#P23-qZ-KPMN!$2q-`TU3))[j`UN!#K"rNFd*c#"mV-c!EJc#J"cC8
VcG5F%,m-Z*XV'5m!!"(3!&Q+TjBX4Y),d4*GZp%mc50"0KU0#5Z!!%5`!&%f2fd
X4V1TcJ$JDX[R&9KJdMp"dF0ld4,DYC+"%6&`cZ5*de)!!(Vf"3!!"Mlpc#NYe"b
![*,""8ap!#&YT8)`[Z@V'DFL"a*X`rClb*D@#Bj,[UIbQ!(!$kkKH`&J$PXaebH
a!&M#!kp3"iF`"6K'P"3J*dM-!%+3!%9-G`A88mHRX6f*)j22U"Up$!$mm!R3D3%
"`&A+J6dp#fX3-&&9b9Y[HU%fBkJ*K$qQfd3+1G)***8d69TNj$J8jdGpZTcU"*(
*ZCa#B&831@lbp%#69+BJDN@9601AE+6Xde4iP&d&ppPZK%He$6qcrA6((AFffNC
IfGc-QAV'63CNX%NVPDV"3m98LUH4Tk9PJ0T3T&jed%@C[%KiqMakqMH`EGh2R8$
"cF@SYaaLr98J-%l'+KXm-%j#d#T(-%j0d#TU-%jbd#U--%l#Z#DS-%kZd#V3-%l
Gd#Vl3+`"!'X'3+aLP4b0,3!L80mec9GXS+LUlAVVM9*qj($1eCCe*%6b$@ldlDI
A(CjSU8pULD(%-eN6YlVfBeNUEP3*0+J(G0Z,URE-EGikCpV)b8TYkU5DbCP&rNk
Nc8B"*9l"Nfh``eHQ9&i6ap`dhTa,hMXS-%hcYPe#INFbTH9eG0bRp(*2'R2'68%
N0%,8T6mcjdjp&FPU&P43P9d'a9d[+Z2"P%MQa8MS,!I0#DC5jDL3!&UVP1VDfYJ
lKcFrmBK)[#eb!H6M86kH8kj-M)UF5MjD9K@PE2k9P4lRc*4#fPe+)CTahDC+Fe$
DQB5iF*4&Ilj&FpRPF$jaPSAFQIT(BclG`I44m+-qe4hQ3%F)DZ)T#0!U,M"100!
U16"12p!UD$"1Ep!UH6"1JG!UQ$"1C#8Ej53ec`"V1d#X3!"VHN#XhjiD!D!)a0V
J&#!!'Z"0Y4Z6VI)-R2dmCe$6ch0eH)53!&PN@k%d"MI84AM%FNiCT9EjND4&NZ-
i59-*9qde8'h!flZdAHa6iPBP63NN$6X*P6jCMUZ0MRS+@Jc%k%+J"JINPP2`8lD
aEa-899"!3P-N4KMd2%93"99`"*TTjfSA!cQ!!cF`2ZPMk2Xc49D&"'93iZfc"QN
!G,hB+T`!M!!`$2VZi6`-!"h31##J1iF9")$A1ql)H0df"pE$+(l0M+%L!$$!G#k
82b!`6$k&M@lNP*lkm#NeG8f&8cMqPF!6GIdSNXDpH'UdU3Vj4m3c"aRk6U&dNdj
8"(*ejLY1@9E8MYCQ8i+hAXp6jFf6H2q@jEV1jArPkm*1kSkR2f'!q5hhjYcP4%)
3H1QS3ddPm9&TmZF)H3kejGl0TUjd2"#88#UHYKV99ibNjDr[jB`%j!+C4X%1kfb
8HY6pMq*Q5ND8"PEDii6h5ADDF%eTEF6H5iH1ARr%kY$2FX3$`a$d9jNe")3AkQB
3"V+dGR[d6RK8HLSP"Mkd59N%9(0J$DL5Ba*+e0[[5h93T2QG[qIRkL$*(cPpSQh
d34(T![jZL!--(UI[hAJHe*-#HY9A33,MK!UdLMm`6KE"eM-k'@"dKC)cF,L3!"a
A3LTm$b6j[CQ#qmK4aF-mbZejk,m,X[h8%@c6I1a%pI@9hQ)rN!$I(aPm0mH+S#V
mpfr53!CT5,`NPUL3!%VKATl8Cj0)EL#`9,q'P("N#68KGTi+#I+M'DL1i-JZ`5'
#a(3GN!#S-R)#$iZkG*m%H"3NV)+3!%31A+SIh1@PA"$j)IUF6J'F(d'QkXQ'+$"
1ZX!*9!dT3-UdJ@2c4ib!5B&i)FQU'!&k`VT-9ad*!L1&$"L1lF($"-$C1Rr&,CM
-Sf2$N!#@#4"m4pdQ'`@3!'*5"h"Jm)JKk)MPN!!4A3-*Cq#NLe&%#ZV`T*,LfN#
G#``hEU!&!)mi-NI)flmKKQX!Zc@kp(4&+%Ke#NPcB!iHT2Raqe"+aY09ND8BBU2
F3JIbS*VlE[-MLhb8lGBmm"4ZHcUcm+6d2@bdHAU(0cSYImq)&"GPZ1*'e(++KU#
YY(`M!D)(DpTR+4pa5DGN&L+3!$kJc6kd,!GN48%mBSF$0)JBZ&8a41&m3q#AmE)
JS30[Ym8D2K"FTe%mbF5T+eP%8DA$@SMhjS!E-)L46"jq%MMP@bU&P&NIEi5jI$i
mN!"ELSIS@cGQ%#&+&amLhM3L0TaeZZAM"4,l-9!`BN6TJ$lVD``VU9(+20ci%6S
CB!9-J!I`X$L!+F)!"q!(f!%eN!!($J!dm$mD`p"mS5pJ"c#!)k)#N!")#p`$+6#
ZjS!!D$r')"!F!%"3!K3!&l!(X!!X[SIii"8Ra`HS"YLU(###2b!'p)!F)$"G3!$
%JJ9J!F!"%KS5F-"dH!-f%!)qJ3Z3!!Yh)aJ!J[V`BQ)-!kSaZ`3#U)&5B!a#`#U
k!bYJ`kN"8&!#(X!AS!IKi"lmJFjS-4!!&("#8!!+5D&km!q3!!!p+!E2B!eiSGI
i#+U!$VL,X+!Z)NIdF!qQ3#N)MSSa&h'!&f#cKS-3q"S&B*aX10N3#XC*+fJ9bf#
F9)0@B3l'#6YS&I&JR15$9N%'kJ3"-N"4!JXTS-rSJ%K("*T!&HJ#C5"jm!bQJ3F
#38bS(SbJ%R5#[!3NQ"CJ!!+!!LM!)d`-)J"AjH)'jD!G4'%X$!`S%k(XUkbl0`%
!#TaXN!!6%'0Cr*FbCJ(DK`4l2R9"qY!eV9!l4S!d))M0ii&BP54JpQ)+DG%Gq`-
%*!%33"#E(1p)"Y0J%mk1P)%1Q!llHb0jX,2FPBRclr*1cDZ"&1rN@6bhFr[dLH#
jKkQUXje%1-9&-XQkQ6Xra)lFN!"lBaYXBMaD*(RJek`Z9j9&@)q-5L"N`2aeYR5
dMKVG!c%M,+H,(!mlirFZ(J5",cF*4U'2A!Jm@XmQF91[d21*1Z(@jZC!N!$"@@Y
L'ib6FG!U4S"@k"NKS`(NM"F""FM!#pJ"4#11"3!J80QSJP-J!9V"E*b"88-2i)@
mq!4@J!`)$K)CfjbEFl)@"B%"S)B-YbYejBU8(69JLNdTl`5HXKJG3'eI$$D*XI9
8"P$6C&0HD%`l&FY1&qE!'(T56kDT@EDR11B8aN!-!!'@8J9FaQ5Q*J$!',J'`-"
5HJm!J!C8J8&!$DMKA))"G6QJ')#lM!dB`&aH!c+`!JS#8C!!!IIb*)`"Dd!2,#8
(N!!%!)"F9NJIa)XJT@VBN!"V`N-qKj2KQl4-8I#9[$*AbSQYF+$BJF%N#Z659*i
%(4B!5%%M5cE,#6P0!3ab2-cELH-jMF30I-(@CNENQeAK)4i+[DNhF,2kBL&`#h0
L-T,jU$1&TkMI'c&a0`RLT6Jdjh#ST@hVF@B1b$&0Bj*&,%Y"35Rrb+#``6pLhCS
6LH*868@H**,QB9A%$-XXEi`56Mkp1N0(2)TdBcN`-`DZ$eXB3,VQEePmRi3-5"H
3!#4[3Y4bSh0[S2+jN9X)9B$(-&NV)%TQKX5cHC+N*00,+VD+'mNF!Z*$[NiC%$K
r4'k'T*PL0jH$'IJD$@#FE)"@m3,'5CZ3!!e6B*aNJ9E4i$b&*QJ9aQ#F-)0@%3l
'b6Z!0CUS8`3!$`"VVTlZ&!@(-!$)!DDch3U+hYaaZQBZDDM2CMDG6-Y-Qqr%'i%
5(d-(dU3YkCT@j3lB)af&8KSIX41D[SecVNcRL6EY@j%L(Zm`H-56e(Ei3NPhXS9
AN!#i)-jNCpXi6SPl!f9cI0+@mMRL-0R%B8XZ$)m%ZDCj#p&(VI%L&F3Q6T`F&8)
'+2ZXP6A14"85Qm&8T'&@X5S!e#e&NQ8b6hk*hlXN8#6KZ#@)"!aEJ&(-RYY6KL5
F&+)(jp+D!M["m)*Jc3dS"c)KV`)!6Z"VM%kTN3*DK3mB*d5J9CL"F8)(@X8SS$f
Y)PK*$@"Ji6$Fi9KXV8+`%EBrBYMb!')c$N8*B!`!"$"")iK4)C4$-3hS!6HeNFi
I6jTiMA2h!42013-rbQ5DH9p3[3dHl9G(d!F"f5PB-jH!%Y2MEr4I-IPbB1NQaCD
NZ3jAbf'*Nl2%'k@`#S+TS'3D68Q3!!F&P+8ci!*q(a[&4ZX6bTe#Y-G'8X$NUha
EVD(m$h8%62S+G0Nejh#d96i(5NYb)[fE5f82"-J!+3DQLSe9mD0eK*(%!"V38ZE
N6bNZpd0qr,h9BdMLT28V1+rdLKa2[QP,(1R,$%TqdYhSSe&S9F#(q)K5p804%6H
k)P9iL!ra8!'aP4k2)AFf14m+aA%pFl&F%CQ#@SVKLf1%,d4V-KFa'@lN3"Zi,3l
[3pe-fUFpJdS)54pIF*&DN!$h`6LIU8UU&#KJX$%6j[,lTP'48T6H0%c5,3d52K6
)#V!U8+#)V#jcqSfH"qF$!4P9fl#"DK"0'P),N!#KI)53!-V!lPElr#PlNbAVlAJ
8%6L9m4T5%X3Y3I(Id$iJCbA&%[-)20J)TGj3GrC9a-%iF3HYiKk-Nhi!DmDMlUb
GU8%!(!*m0`PkeNJi81M!B#*-FTNS3S)8`!IUNK3!!$UJ#0jPE#!!2J!0d-[68&E
aj8(`!Ic5A`)!'9"@"`!k%')-5T&&U!8JA(k*D5T9D!KlY,h,eMem3"IY4YH[SQc
5a1G1I'!$2D1jl`Ek'i#66*E*Uf166kNR48NeZL6PjMZPU0HdI"!5f`""m1$mk)G
mF*hbQJ$5*0ARk0P+BdVBMC[45N&P6KPB4iUNSU$@i"'PaY`GH6V()lP*[p$A3-b
Fp[5)N55,h013!!0E3%"VK5HMajRU2NKD5Tq1BR95H0++k%Qff5FcC+Y!1Zq*f`%
!,`!!h+8J%!"`)#mSV`"J+51!!2J(U#%[-!E'`&j(JM&l#NVV)5J!pGV+,#@f`!V
,abL`"3"J"iJ@lES@mY8ah0H4N!!"!-!G!!$-$)ZZ"Uf3!0)Zep3)#e&KDCb!03%
&!!!fbaEEM,4k-l%'cNC0pJ!-!#!'"!"8U@*4j3T!!4!!UANQMAB*p#YrVDrrp5N
XRhaT%#jMJ8d!#IBZ',-,-")kfS20X8iK`!)!9X!@!N!)3,""9RQ0K&8J&3*!-N1
b*f((,PN!i!+F,*40X&+@b&,C&f"P)Dc[NV!SJF*@Y)CJ[,*#9$KH(`!!h)S"*4P
-!*!$!9U0[!8"'QYQL3)#D!*%!!S`!D+&B@qXIpd+bfGT5)-eX3r-E)4#Xa,0+96
BN6!"h#`!8,5-PM)%KQNJBa8GRheDIKE3#PSIPK"!l8F3YB-fE"9D"9YIPmra8JC
b0J#)K!Ll&b,Y5CLd#H&iB9K#"J"JV3U3!,@8`FiZJcb,TkkMiqUcTcE3$PU3!+#
j"J%'F`SCNbY-J%SEE6@QY8d)!i!"K-jHb@fYE3"i!%XKBfE("L!)'%#jYEB$J0a
L6&mT!"J!XkZf!@!"3)Ci1frPE8'`Yr6fhYEEIAXa881lIEHq-YYZffZVEr[Y6fJ
!cMCMTPYcffdcjVF0Yqc@h",FI%YamDh&jEF9&q0Hh)+EElQ#VabhfREGENb2ffe
*VVIeP9aKifCFMQY[65jAS"A9eZ6#@hEE!!#Z[fd!KX$DYYZ%+h),!VLeYJ4!hGV
FN!!3FKYZcefi[iMJYYY#F(+lEEB9"$!AjE*FM8YeTkl"&3!0J1PQc+!l##5Z`qf
j#F$FKNkS@h5EEP(iZ3ShG(CGXbYcT@l'E,GN!HiDh&p*GqZZhEflH$I[kYfpbhI
lVYrpZi!hm!VH`8Yi#krK2Eb)0r%QK$%!!kM"Ned!l)TFrJ-UZhL[!4F!!pP#"J5
!kfJKUS#q4!02GJ$F#JD`#[E#UMLA4-"50S#d`&8VlHQp"L#JAbU!C!B$@X&13!e
d`&aLJp5E2GB#kGd,J%"I!J&,k3$XV!KB"'Beq*j,C0![%`##NJ'P0cB`!R1C$F#
"T9`!Pr(hMJ4-B#iac*0e!#9""%6I%V#jp#8mk*F93+(KJVH''RU"[Z3!kM*lDB(
SLaU5JEjN!jDb!!4IlBXDUS'qK!2jGrTUhk83$[3P(FLrh&F&X),E#`!3e,R%!rR
h,fKI(`$Cp#8Ib,r1J%+aheK$I3YQEmUjfYF%"!#-F#i"JD8m!*)J!&L!$CbjcL8
KX*3)!"@FKZMEb[#![N3%-*J@"!!H3(r$PljN"0FhQ@RIJL"UaN!c3!"2pJ&i""%
3"!c#!JJ!4IJD)!(*S!$XJBGY`SmK!2`#hBX#E*F#@'S@!!XrB9Kl,LQ"&qBU&%!
-"`$rHbiaJ4GfD%cB#3F!F+"l)`aZmJ4S3Jf[!hh*#Ea`jQ!!DYJ+RdY3i)9j!3$
3!@*B!"L%-F!-5)&N+!"A`3GJBE$5IG("Nid!a#"KdYpfDbkC!6c)[lp-qm)!!C!
!,aNa0VLqH#!!3!(+kbC+`VPN"TD5!5#$'@`35S!!'!cRNK6%BQS3!$!!qa8!H8$
h[Z",+aQ'X!"JZNBB!&aLZ4D((m-aeVeS3$)3!(bJ[#Da!+J+ja)@20N*J(R&llZ
ma[U5"PK+!T!!&Rl[2c!(!S!6k%Xl[!#`QJ9![J"J`aD%-C!!$EK"[d3"TL!!'!$
f'im$`"M!"YBA!$`!Ed#,!3$jR3(q1"ZJ!N[j!04"!"!!r"J,q'0X`!dX*33Sar3
A!*!!JBQF93%$04l!!!!16142l0%3!JYB`,(K$daN$a`"M*RfcCI)PaiMJ2EUDK"
"4Ki&%rN8(`3k2)3"`#[`amb!($cC#j!!HjXaC2M*ja)55'0MS"E%-!$3"40CLU'
*`"#'R6!!+!B6'4VB,JPJCh'!8iB'%aN'E'AbLJ+FmMDBb-"J+qIF0'b9cF&%KJ9
EQ5")!+FF$bBb)pM+6"B3@f9q-*'4`9E@#"j!$4q!LF`-YV)eb"CU@!*-C&U`PG1
#9jE$(F!I2`-SB,XQ!+SXbh)B"56N2M`E"LeEcX))Q4k6!pY&!%60A'i+!F!(q'-
B`!f'FS6baSP00AY,%M#1CI!%$J"+)#&Ii0N!#J+!0YM!L#!KHmb$S)k(F!#J""2
Cm3+!#k!4*1mc1-i6'34JhSXJ!'a`dF$+raJ#V!S-X%hiE`"J(IqB!ZJC!U!'jZS
UF'C"Lr'#Jk'X$66aZdc2ek!M%`$bkTh6`83'`'cK,m#!(P`2*M)['-G,c4JIKA-
*!iDb3c$+LRJLi`0TA09X3#)f$[piadJ&mPU9RI%&m-IEi-j+KG`VLCd`L*[)3-"
fC3"C`'86X5$lalK!402Kcl`!"!!1Q-Mfib"%KG1m'SE!DKE+E1&@`'BhBD2T-9J
0#GR,('F#!I!%r(%c)!#@FJ+3!!92N4$1K!!B!pS!'PK+$C!!ZD`!2dBFraJ*@-S
"%"GkFLL#dX$Jb@+!!59j%i&8H0,AJ!TJAJdJ$!+!+"J*U!%52'PX`!+fmk$P[`#
!%ccTE)!)p-`!Q-8Ui$b2"&5!TRQ!Q&CS1aS!%1U"b3qfY#(@[Vq-&XaTq1[eIUd
Ki-ISB%m2B`r`Kk0[$U8(HaS)Ga9H)!"8`3B@!R-D55[MckPp58!!!$lrQ!TBbK!
JeX`"+aDHFaS+@%S48#plX"pidYU!(1aUSM#!ipfF"J@l'Jj%"T4X()Ed2qB%ZjV
lDYrFA!VQY!P1Q+4!!%L"$I`1jV3ZPJUU3IZ@J!#`$qBd*E#8YTL9r@)3!+`p-!B
JdIaA!,#!2Gf463!&TJ'#fNhJJ$R0"4Jb4G#q58!!%)%j2C-0`kpZ$Gqi%6aTCY#
SXdGj0XIM3!!ikfY!QGQ#1Rl("X(9K)4rI"Dba`c#!D`iT`f!Ii`*L+m$+-LS!3Q
-l'c`V9A!J()"q4S!8)'963XXC3I)Pq,kUBeXE8!-`LA#p!ImZ"#XE&8p!-*ep%d
)N@"NA`-@)+EMJP%'!%RlA+)#b6!!UJ),F-UFB'6(!"BJ'36AFh$+Tf"N1`0ZB,Y
B!%J!!NjC&ScXCJ!"bRC*3-4@Z4GSE43J'9D!,dLB6KNCM'aX3!IUGP8J!8jj'Za
Y-L!C1J"#S0'3!-%EV'`c("*f!Se1#1PJEq1"*jX"k)&lMJf4Qr&+DC4JKEA[RUd
(+aYC"c)C)!!F`!Df!5[l2`-!$[#4SqrY%3)V1ed#J"I!"!)!-GM!J@"Ppqc9MC(
IFb-BfGZJB(1!`f`"mV8VfpN0Q`2!@Zhl"J*!+9MCX$M&qS!"!,Zr-39BfCYE!fJ
"P&fl9MBeX*3C`(DCBcXJVj8f%`$IC)0*#q5%3!$S-6ESPaa!e&!!CLf3!0Xh0X$
"8L'(DPpAflke`BqQ!BTKCTY9*Q#rF3$i[Sji'J[dE`"J+3@!1LM)3m&qNi!RU`%
mKIKP`'5JIFF!Ye83f*8'L0P`S(eR!eD`TGhCr0d,I%#%%`%+2Xm5G3URahLJA`S
!TN`#SQqq4!3L2#mb05E,"LK[[J3&pTZ$'bBh3(N6!LjShpF!'caC$J!b-r)42jF
83&dD-`9`Y!2!V@!8!F!+r!4XDl[Z8`'3!'86pM(N0d6a!,M"&NF6c*E86J$ZQa#
B,3Difq`l)@5!l4h(eF,RC"3F)1FQ"-MJp9!PSb!"9PK0Q!!C!+F6JJNBih)#"4!
%0D%#1Q`E6`JU3)mR#KD3!,@F'3YBY!QKURPB#dY8Ai"C5"3a)$!NK-X)!'K!m%d
)qHd)b1"`-!8!!*k"!!!:
---