aw0g+@andrew.cmu.edu (Aaron Wohl) (02/11/91)
On the problems with MacTCP crashing your mac. Here is some info on a bug in MacTCP... Aaron Dear Apple DTS: Here is our record of the problem. As you can see we have been waiting for a fix which was very close to being available on 4-sept-90. Aaron Wohl and Jack Stein Item 2613239 4-Sept-90 06:32PDT From: MACDTS Macintosh Developer Tech Supt To: A0376 Carnegie Mellon U, J Stein,AUC Sub: RE-MACTCP 1.01 problem TO: OF: Carnegie Mellon U, J Stein,AUC, A0376 SUBJECT: RE-MACTCP 1.01 problem Aaron Wohl, Carnegie Mellon U. Aaron: Thanx for sending the bug report. We have verified it and reported it to engineering, and the enginner is very close to a fix with the next driver. We will let you know as soon as the fixed driver is available. (In follow ups please refer to "EM 07785"). ORIGINALLY IN: 21 August 90 TO ENG:23 August 90 OUT:01 September 90 TIME: 07:06 AM Imran Sayeed Developer Technical Support The content of your link dated: follows: ****************************************************************************** ------------------------------------------------------------------------------ Subject: MacTCP 1.01 bug in UDP_WRITE Open the MacTCP driver, then open a UDP port. Now nuke your appletalk router (reach around the back and unplug the local talk to simulate). Now do a UDP write (syncronous or async, doesn't matter). This gets a duplicate IOC debugstr from MacTCP then crashes your mac if you continue. We where able to reproduce this without any other calls to MacTCP being made (except SystemTask() doing idle). Aaron Wohl ****************************************************************************** ** This may be the same bug that causes domain name lookups to get a duplicate ioc when the gateway can't be reached. Here is a simple program in lightspeed c that can be used to exibit the MacTCP bug. To use it, run the project file under lightspeed c 4.0. Type: i<return> w<return> w<return> Unplug the local talk and wait a few seconds w<return> At this point you get a duplicate IOC and your mac hangs. Aaron Wohl (This file must be converted with BinHex 4.0) :$NeKBe4$8#"LG@FZFfPd!&0*9#&6593K!3!!!#GN!!!!!#618dP8)3!"!!!RC(* -BA8"!!!!!!!!!#!J#NeKBe4$8#"LG@F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Lq!kiS[J3'!! !!!!!!$b!!!!!!!!!*Yi!!!!!!!!!!!!!ia3!!JY0B@083e"LG@FZB`!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"849K 85d&)6!%!S[J2bk,i(3)!!!!!!!!,j3!!!!!!!!G'!!$DL!!!!!!!!'$a,e3d!+% #"*XdCp$3Q31R6"Nb)-D!S&0Q$Kd3F15m15-R6*Z*EbDQ'E1'64i3BZUF!C('$BJ U4+#!Z#-R$8@@,TZ%'80P#*5"+PidD$#Lj4JfGFL8!F($)TNdEebJm8(8+&+P6#h @G(0'+Y@LESiQA5T#*dqI3pkdDI2'$C8m$HG)&9%el&@b-+&!%6*hD&kSF-4J&,1 M`4`dEq4FP&2'c"FhGGS8(S-QM"`35H&m5@PQ5`dBS,X8RN+(X8FST6'6dDbeM-I #,5q@N51RF!-iBHD-#F-'K*dhD5#fbC2Ab4XkDFcNJD*a$)S'#4+3!$EG"[APc00 GYf%"!RU#1QlQ)(6c%-6Ka,,YP(&$*ke5lYjr"bFBjJ`E&YkeeKPc-FQ3!#C35&% '(1J40&)EF$3aaaNT&)DEEVcj"Ta`a-9N((,+-IH'FpjPGeTUf*@Q(Ac4J5IH'H4 "G*jL)*5K(R[ZP8&L![*"T%*ppq9AfRlpr4IJJ!@UF'###kE3`"i0p$(8#%UCdG* 565ca"4*26%%&#R$%`!)F-Q`j`jBdT!!##PM'`!-2-S5j!TBbR"Q$$5QX#FF-Cq) 3*aaK$K838$29G&-BUX'"d8jVP%%(8%,9f+G0CAb4'3Se0YL!SM3akZKUN!"1D#5 5#9J8"R)5h8('(%@`*mG*$CQDaaBbL!CGUU@Y#N-A,V#ahKPdS0%$$B8P!1ZT@mc U!KbPpB##G5Q)B-BEEiM3kkqVaN#VV9cPfJ--ckiAkaE5$PXX$%`8"J))#E444KY c')U##B'a!!-,+,$4&S2Lk9(''fCJ+8B+NSj,EQ!ZM$%(&*Cjj%+kET!!i3*ME&' %a"X@JG!$#&&1@H@9-FL!!a-Xb-$a$$9`(!-6rBlVUaJ"$ea`'`H[Tc$$aj8"4B% 6j`#DZ#B$,$$"(E'-X-+L$TcDa-H@PJ+lfTk+mlmSllabb`N(M%BC*%d4QF3J8#& &&88XIA,+2"[m-p4N-(&VVPK$'qbdCk1"mpG3#@L'%j(e`*KMN!"*0K$6+FIB3ej Aq&R'f`#(5&d2QAh4fQ[3*8IQE(,dX&GDTVl"aVVY'K%%%e-8`@m)eiU*T-QqEN9 ([L*8HT-CBD4K+d4M[)(9a#@3!-'&'b+`!(Qrd6&'4aebZ2'fNUA(KVVU5lfaaZd L5+TN!hX5"!*ME15f&+#CQ9FDGBK11L&QEV4Ndk9`C"UFT)U#*ciGj*Y2aUClPhY ZZR4J,SDlm-V,93VehTY[B2`LA008eV1!QBBL#aZ$(B43"c1B!@Z*ii`!`IDd-4b `$!PFB!20B$DA6+arq%*"""YB-VLp3@jdDi2G'[1Bb%a3B(l,Li"XCEd*'NilL&Z 0iN6%Z!3i$J@3!*1F%#KA'X[CM`@DijcR8J!k')JZIX9M$qUSjjTdJB"eVLY2l'B (JYSa6hHdi9d#I!FmiF@2H"Na(JT%3%AVJ8"jEe`HlT`h&%@YVhf4+S`G`mHq4dA U5(Xc&lV8aDll[5YHmq*I'Z`93J#@$'"3FB*(C$Bd%)L!#h"`34,diUbpr6#)HhP #USkBa-jp,R3J'0fr6)Hk0k6ULUelA84NYa6DN5&hZqX9'B1(-b@0kfiY9#%Nhc! %&,T`+1-5*2f1H%Mpd@Z4rY0A!2HQ-`)Dc)+Z3D!F&-K!"d*3Ka+NjJ$$aM*XIJU $fp5J!cZ)04$QDi4QH13i+hK"&lMK1-PC6R1`KS,Li$0$c8R"F2b*)AeZ#'I9*+F "XiR"1U4,$N6i9"LX`dpNb@!'#*eR!Ff*3(RYKJdc8mbe-ZU#Z$8QK5[%fc((9Fd BaQ3)&m6C*fNM4#*Uj(+&41,Q6-P%9+SbLUGE)dHAJN9CEV'@AE`P'1A!ZefDF9c 2'eIL&LG-P0f3!(%XCH8DeaG(jY'a!C5a$!M1B+J[M+%0C(#IT-*k'E+blkaTK9m #f)U5"R)V0-r5UJK5FJBI@&*52XbA@qH!!XkNS!IA)TPhR!S#E%'(XCaC@f'HTbL iIN&HVP5V(VpR@Fb@6kjh3%-@8D!eVMda1R5P6!rFDPDdSJ#`REU$65L$!XUFGUj Z2%%F6U!$lic48'AX&@kYH))dm0DhGh`8E"-J"Y1X3ELl)HiGMKZG"##[IFYYVQZ HkjhS,Z8%GD"ZLF,(4q`+PlR1&@k6`P!(0Y#KYp90Sa6A#*ieh2-1,SRG@X+3!$! 3R+!%BcM"&fdVA1)TkAQa!8%E@ZH'e`)5U+Jc5dpN`YH*913LDN")A9ehNECdF3i IrZ)A[N#%)&#K##0Q`BLTN!#%*U$i#i#9Ee"&N!#&0p4"`@%ib4hiHa%kK14R%jN DaD4%*5Zp&XF@$%P,JVb8Si)%")!b6@r5)+J`N!#"$)bC`abmQPFeLS!+)5N03XK kQ9`YKDrF)81BKE`X0XK,YPbCjAi60JFGF2P9HLhZ#I`lA6l[fF`Z!3mFN!#b%M- EC%-4SJ0[j0Lm,XpA"$0Th88!CBBbh-%m9'[,U*MXNK0-pmjc4HYPQIACb6B!!J! 06@&M9%03BR9R,R"bDJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!8&*25NY"5%`"!+,i$YZLq"f"!!!BlJ!!!!!!!!rV!!! !!$"q!!!!!!!!!!"RDJ!!"!J)i!+*J"B1#P3'K`i)1h"f0,$b*!Q4,e#S5!%KTSi CL@cHZ$N$BNiD2@8N0QJ5CJb9)9!kRR%"4iiD!35K5(QLC%N3*%`'!N""%)"1RMk "#L9+X-HMSP#KLX,RB&Y8$1lNL+66!f),(ah0I*P$*i`F1LZD(2Rba%S4+9+U1-% BK)K%%!rKI"A6FNd2&&l"HKaEpZ`+NbK6h-hlG8`G19heJZhE)XEL`(63D,h6)r2 Qbj)p[lRcT@BD1f(SP1NFF!#mU,"Mbjj0ZlEYflKckpl0ZlI[hm#$#ap1[,MaimL 6+er1[,Rcjp#M5jp1[ATbHJ%4"(5$"aN!0h'dJbF@X!!DU$*UHj!!$3431`RI``- *#1dl('T3`81)6b%qK[JFa!G#I!H"4a4i,-3(3h`da)G$I$c%0api4-5(4(a-a!G &I&6%Kd9mA-3(4RaNa(FHH'c%"dGmG-5(4hama!G)I)6%KdKmM-3(5Ab8a)G*I*c %"dTmT-5(5RbXa!G,I,6%KdYm[-3(c(Gc6$M(IQl)`8emi-`)!$m"$D3!!!NN)&" !rk5TCTT6GB#6"QF#m%%D633a4)F,X1356$+j-%DBSf6J5J1"$PTS!`$!L90!kY3 j"")"++!R%Q@%38BCFXa"8!#M%'(0&Ceq'ZS9!&J!`+)"m$!&&83N%F!"C*'4aKX ZR#G3TpANJDZZ413+`(qSUUU4U`L3!#9('L29#S#Q!B5LcMG"1!ZYY%%!)%+FFcV Di34k[J6&%'qddBC)913"4aPc+#Z3!,2Lf-+ZZqUd@bUfD94"""3E(Q![[N)Skf@ $!B&*TTP#VERQ+#Z))XU[Ta+NMlB!)0#Y('(!SDN,ALiB%$i"P4QR`@Tf5Nk,r5d +J$e"1$&&%J!3N!$bbJ#%i596!'!AQapa%U6#TK%6d%BBb1)e)!$QqDC!,+`BS)J 3E@KMJa"Zr122L!$B!N,66-$JJY4)!0-1)0"!!J)3)Q!0!e%qG2de0*'J!)35P*` 4%#G3rm-2'#4SEAIAjB$0L!aEmi0%-0)%)JdM)!3Ka(NSM#h%N34)%68r$,K"TYe Y8!-(!5R-K`%FB(6HmSS3*0J$,%hEF!B3T*[q!`"1Y&+!-&3mmN1%"0a1Y"1k!)! 0&Sm)FBEZ"[!1!$2!#krl!FB$Nrc`%5*J2#h!5bkeh[kJVJd-E3$`Ma![Y+!0%l% ES!V`ZS-K[2'12+pl!-B,iRk%!KK[ar`!$'#m'[J6B,`A`)YG!H6"K'pJ!""1m)) 6kZ!%+r`$(d)ia3YF%,(B08!H)2K!#i"JY`PfX!A0`%Eja!'&4fc`J4l%4rK#@$j eP"!%PN2!#b!`YKPkN!!IXA1!$%#`0A`NF)%0Y*[@)XBh3!5K(GV33M5!d3)SG$" `jC-&m'i)!mXTi!A5Dd8$p(($mTh[%C8M@X6DS)%ZYX)!QJ$H%"&3a#-QFBP#J-3 2'GJl"["1!$Li)bD!k%"r[)!"Y`X!2C!!d!CXJ#0f'4!$&ai42Qf))BV*5ehGTKB 3-&aYI0K6'pM%4MDcS8f6E(-E!hS8%!'dJA8!+"d!6THk-jLJGDYmR3"TadMab3' 5Mc!H$4Tjbc-+ShT4m`IfY-Fp6$6bNEi%(L%0L8Mj23)&AjKM%0AaalVG65"QZ'6 @!JG+5,J0ER),!"0Jb8URQ8%J2N!!IJl3JK4ai)%`5"%03)#!3)#*!6hJS$cD#3! 'r)-Hm33!#qKTchlQmar`S&SfQbB(%%!!'Ujii0K!3"3%R&!G5J$%'iMJ3@U+M`S YI#%33!#&(Tc(Rrl3CLDpYXP[8Z)0'&!R!!kJ1`)JBA,,2'3V-U#'*l`$!!S`J#X )iNpmk%dH8iLD2*3!"$0!3U'A&)0$)IV2L9EdSKRGD%FE#G)cZ[!4%bhT5D@QdUh jSjXZKDP-DBUlQqkYN!!kjDP2J5T8S[j6Er")+N+CkY5kZ3--'#MV2pc4cE%KB%F (X*ilp1B1BVE"'pEMKplii9J!q%-5d*5Q!lR)!'fLS+40Ji(8`-!!F"*JV8PJ"`# !J$fpqS1[k,JN&%Mk!K3-J"eF$5PBJG$%IqJ$KViY'bD*`J"34X+`L-fX!KRS3-' GB`!B3-+,#"!qE*!!)hB!d-*"+CRGUaR5"&"!J8qS339'q!!#35![)hK!3l-GS," [J`4-9@S!q"jfTUiPE4#Q3B9&`1!3qqd[$!bK9hiSBA*QS%8ZPR%'"23JQ(Bc!bK b'MX"U!0i"F3!-$6l$h6mFBeY4+)5QHK%IN63M"I-i!NK'$9lM#J!*K#X2G$k0NU N+!!-#'-"aZL!&4&9HcBijmR#p#%!`'$(!###&+`JK3$-k!Y43Y1#E!'9r8#C)2q BFT8"F'8T9fh,AIDHPSYLj5L,qFYNjV+CXiaQJT3Cbf0fXjVKh1D![0R,9%jcQ0Q FCcR[1FjfRM1H`EaQ3+G5d'IZFk$rA'H'-6V2G6M$'FTJ,B%5j$pACJ!2*P@T5fA +"c`)`)-U+@J#5%!)G8J$'mL3!$Ji`)%0D4K$DQEPKQ48!0@UCR83m-@%(rMkG3, a8X3'AC3Tj3`!90-0!Blc"h)%`'3")dLbFl0Xj!aJf5EM'+Ph8qhL%#%)!KK!cT, YBkKX+#!$iX$l8J%2!LKJhHhf!,`*))0j1f(HK*Jh+HCYM(QE!pi(N!"hK!,!ES* dZbJ(0lKeEU-!![4R0JSSXJ%)-R'#(%"M3#812B5!"`8SS421-"j)HfF'&[!J#8i J!KCi9`!h(%%Ire#'#4MamRmJ``5%-*iClSJ+hKR!"-EMK[&3)6cTTJN*EfJC%Ul `2K(Si"qbi0d!"1'%@ZcRDJ"JJa-JN3Tk4!%I#[!#cZkSM`BV!4*R1'epLPF(%1" !!AJ`!`0-VS8R1+%),#F!#"K3Fc1B!)&eb!)MHI"Y+LMZ$+N!"3LZ3&)4i#%"#!" "!b#4L*SliHqJF%%U4Q(b98PK#V`MJ$0UES1CQec*45#I,JMJ#a!`!33%1)-GG4% !@a"!f!``!cfFS)m#U#')fJJ#2K)!!4%m!3iJb$`F!J#0#'JK!Y)!4K$d!3!*`+% !QDr#)j!!IUT8A'+1,XL8(2ldmJ+i``5i8!!IA["f3*K"!!'X!a,1m8!I[!!!22K kf-'J!-&M-4@PN!""S!!%Gd3#Cd!%,qF2Z'!#L1"3Cf!1)[!fN@!'&,3I`'"b3b! &U4Gk,(!'*'"rq1GkX#GlaS-(YdG8ZKGkd-!l!F!*"I3"rl"!F2!!UC!!$#c("mB M2DZhHfhAFH`!#LA3H%JJ!KM!Id'!$K&$"`&!#"J!$F)3"FR`6j!!J!M3N!!)llG !ej*j)1#$)"!!S%!#)J!&2[82`!!#6r!ie4F$DG!bT3)+YhB+5,#'RI8%U5!2-S! ",1J**)!&e4!-0)!"41J'-R!'&L!&3A!'"Q#)Ck!"#b3$+2"2,)J,db!&MIL)ZdG lL$#*P3L*Y1F)dk!+8J0%Y1F%-T!!![fN"'ZS!'E!!93J"'V!!(!`"M8S"8*J"[L JLA38!&3J$DN!!!k!Lbc)"VcSLl4S"J5!Ld03$a!J!,i3"@C!$3`3"VGM"Xj3M!D J!'T3%&)M!b'!"8%J!RV3$h`J$C%J#8U!LhI)JJj3"-S)!0@!$Api"M)3L!ES!)C S"K6JL*`B!"B!@2TiL3#!$Q#J3jCS2!P92,3(!G,3#0-J#9L)Kl4hM*6BGZ&)3cV 3$a#J"%F#!'H!!Sii&'FJ!L4!&"L3!!9#-!6YN!"+di#%"&!0@5!$r(!l3T!!!4+ !K$d!Nq`@"8&J"Za`K+YeJJ(49-D`3##J"rc!$##J!dFT"rr3)KSC%'H!!Ej!&$e J"K*J!d5"!V*($8-J#j!!8`B%)!*%i6*)#!4!Z9TQB!e&b3qU3&)ZNdS`%!cQS!3 `)!`,j(mm-!423!4&m!-(N!"i))!4B1F&p,4!+'#8GL!#G2!INk"D1$!0c'#B4ZN &`J!QC21('(#Br'!'dN!*NQPJPEPD)[#(##!*ZS"$RiN$SAQC'+#3!+HC4h@JQ5D `QU1*!34J!)(JCU,i$k*3LUHBLQD!N!$rJ!YJi$qkm!r@-)`13*4IF)Gr#!YBF!9 4U!p+)$cqi!6`!!,m%*M1L3'`J!R5k9[9H3EAQCfreC`Bm*a3S`#3!"!%E@!!d!! %3I!D!J!$%%#Hf)PZpdGGe4+@pbG$Ak"dja!K"f%#!B!%3N!-`d!8+R#J4B!-a8! 04)#J3L!%`"!-d#!)"B4r)[!"4,QI,p#I)[#I,a#J0R81-3!l[H1#h`!!M0#K(pS b)GSb)aSa*5UJ+@SmI0#&'rUL(YTf)#UL*'ULmjHM[F-#23UM3#UM3QUM4)UL+YT 220UL2VT!'D8'(+!%JI#+4!!)4"!)aJ-#AlT!A@Sm&Y#PBeS(@US'#M#Q[@-!C9S (,K!KhJ0eJ$!'"R!Y+l*!X(!)BX!!J"!-5!!%k5%%3$#S#b3,IUS"&'5SJaUSJiS %4q!$!##TMK!--2"H4b!$c&-("4S!iS!)iT!!#)SU"[J3U-"`#$)`!-)!$#i`!*, U$-!JUG*`#'93QS)J"J53!+C6!!4J3!iiShpHi(m'i*H!q3&b!`#ZB!*!i(m,!)! Qm!%JX!#f*39(m!j(B+dkF!"JB!(%DUb+Kk`"J3M@DJ!e!J"ri!rDGhqTB!S`m!( D364Q`!e3-*M28!5DF!5V#!)$-)![m+bL!!)6N!#X@[#[UB"C8`!#5`!++E"m4%N !SH!"p*5X3S!#5'#`!6Z`!@%$#XZ[J2@YIaQZb5S#eMT4G*UZ@04i6*!!$F#3!(Q E&`A0m!rDN!!*a'!#i`3rEEF%5P!%aJJ+)l"!S2#M-X!$l$B%qU!23pNlD$#dG@L dqi!#aX-&6$X26XX"aJ-&6%X26LXpe-G4NCGd-R3H1"&jH#!!TJ!($"!fX)!,!U! +CN!#aN-'6!X2aN-%6#X2aX-$8kY,@@Xm!a90G3!$c@)%*)!%D+X%CHX)DN!!TH! "B#!!%5ZiS(!%-)"$Z3!#b9#j6T!!$b#J$!XNZ+&J"#*`(JJ3Y)),!NN`Z3Y8&%6 jG2L3!(D1)dGe%#B%B4!)S4!"S!aFeJXd-!"$&4!F%!$#i)Y)%!46F#%"S3GeGhF %B3K,J()9%K#5F!9-m!4$3"#H!,e&"J#US*GmbBDf8(M9%K")T4&63"$qJ(SC)K! +-!9Cd!6R+a!@-!41B!4(%#BLX$*D8!4KiJ)CQ(UR%J!k3!4#8!Ah+`!"!%$Zf`3 ",!M(4K"L`!-"8UHYJ4eLX!2DPLB"X3!F%m%2Tm%!d!!G%X(r3F%K2#)A,$!Jl!! (FF(B)3!VI#0&-3!V[#-)Ym)r8K3"N!!QrH%!Vh("i)!Qra!3$M!N&r`D*Z`!4A, "5*M%4h,"UTA%5A,"j(!U+i`I%8c"&HF!iJ!!%BaY+l`N-lc#6A,$3qb,6e)8-(c '$Q"QVE(#aQC`+d`HDVc#hM('E-`-8%%!+e`I"&%!EE!'BB!'E"!!-J!#!K00B@0 83e"$EfeYEfj8HA"PFbjS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!"849K869"6)!%!S&8V5+(Uhd%!!!&q!!!-f3!!!,3!!!G+31q ,Y`!!!!!!!$mk!!!%##L3!!P"J`&PY,'eE@&$KJiM3TciX1,##8h#M+%b"-U3!$G YfVaa3b82R$*cA+!43*!!5K%X9*T!Q3)LS%ZB-QN5&&KcTmqI!8&9@B%N))0X!32 iX8K4)Y1R6U-fR3U9UY5U@+pUY8U4B0%%68CUI!1dV&Q#"J!3!-!$!)N!h36dB1X @VPbK4!-Lb+@A,`!$2!BQ*4J!)3$$-J#XU%IMJ"D#(!!N"T!!8`T""32DrI[RXd8 ,!Lp8J'L3!+"*Q$&8KN!CmUC0QcGZU15"8fD1#c3J"LBB!S,1a$)Jb*3aNmC0'MT T)-i"8@G1'6)GdFKj8qF-'TTd3"K%U0!&`34!J6E)Q*%KR$abdYM-'331($BJ'ED "8iG1'6NX3#4a-mB&L"JjF1!B5"4%%$CX3#4GZP*1aDYfAK*XS1*&J`BMdTKa)p) -##T)NMKCmQ8)AVem4i,imS9+&LK&TM!qc*90(C%JH%LND"'0$laPq1S&%A"aimH 4'B1S#eUdQEZPGbD%SVB-R6Tbh)"J+(*PbCJJjB4aF`CN#aNcB#L21E-QaZ2*DH4 BEAG%hj)J5d+CHFEYR$P"%m3)AcV*LbFJIX2KlRdPDlcAh@5()b3-'5CKi"54)bF mG18`"&@D'2D")"mGGl`KaaSJM!%45@IJ&JC+%&%(hdMBT8HII81iBFBCqr8(e(m `M!I8J!8Q3CZ$(LSP)B@kA6@6("CDKk&m'MVa4SFIKZJIFXV*)+"!ED6aA8PRD%@ EJL!`%F5+$lSS()`Jb-JNDcD5K'-DF$$aKRdq"NAL$%0@b4q6[mQQ%!KXI!N6P[( 09amC3C!!3BD))`)*!`eP@NRMEmA4J4*a)0KhCdAZ94GRJa$*0`D-3l3j"j*j*JG $$@@bk#L94MBS+C)e,PU5(@'`NFCpSCe""aTLkQR$K9U#T'NCMkEN4K&i'%N(H!Q 3!(K$Q@l&88G&1E&SKUQ2VR6(54L9NHXFJbBjDkd9`RQMV)h5#L-4Ee6N"KfikYU VRMKNQLfeZT(4l8TZ[*'6XlU'HQekEXa4KaNNMC&'D(4)84&0FSa4dEL@jP"Q5IE LQiDqr0Bf"m!#Vd6('b"3*)FC#VC4Ql$%bKXV[D5D5XB8G,J94KY3P&aTL6$!QL' d*VGaPXPNj2%%4@kX(%--,Z-i,Ba8A&@N'a1q4(#*-[5FR4XKRbV%[5RMq9m--bJ 0FUQR5N(%&$mQ&`-09Sq+04PAE0eeL@"RQH%E1"X44KT3NA&f$$9BlD"$`j&"44T YP)&6UekrUMD1C06ae-*&6r('''[B"RL*0m!Q8)K-1YJE#'E-T(&*9Z9@UT+Bem% 9M)Q'$3HhhaSK()Mm26k$N!!R#J6&3BhR0$(&E)3K4h%G8H`5Ab$Fm3,&QBGa4Yr IJQVYae`53DccB,DqmJaNaKi5X590D+Z"lMS-"d4N++rS[&cUU,Va6C644TK(cf" $QHf#d2G$FZ641`Lr`e6mmIbq92%D19PHKVJN"Cb8JAhYqjAeaM#F%q5N19DT'1e X!i)hi+X&"l+3!0@)eVFTj1&EBF"$L%$`1"UBb'i(38-Ch&B(0Y$KE$4)fZ"!dLj rfFZ&fePF#DXf3qiji@4PQ!*FVP,#Y#dU$&9"``rlKX$rd+"Z2@aA%1V94#$43(# ,)S-Ej)$!Sp%JFM0-!%kHB)Edd5m2--6"AASSK#a3)68aX-%9RU!eSJ3&GYB63ak XXK+,IF8')"$$56382!@pDA`IDq-E*I1k1GE4MJRJ8jRdb-H+A38%V`[N),P85$N FdQU+6)d0D1"))T3&+1@Dj"iVBNNDM9+61H&NJMbT3Bp3T#mXUCG5j!16-D""Gi( m!Jjf3"k"i+!&JXb*X)D$%SpBb*B[8BcS*R8'AZ,[*R,)L4Lq%%GL@Lq1b"cN-T2 R60C!%jI6h+ArfN5SEEl1QpClA6L9@3GQRX4qlcQRBY`T!`ep`9"bJ+Ie9&3S1l8 R25Z4Cc*,e`"pqJ9QGAL82`&+59EZJ5#Lfpj&JF,2JYjT"cra*6!VZJ8DG!'N31P $S9#U8Llpdk!9R30+'rS4A%*8SRFJ`ab+m+hkJ@#MkDbQrqD!c4G#K6LV%UMeMUS UM&J`N!$h-X-P@C-!NG*)"3Q!3mQ8QS$5I)pcPj`B92%e9EXN3+8jh@P2m`"5QYj 5-6GpS%jj@M,l!9@A3S8*849Ne&3P06a,pDY6r5+'U*D9)&CG69Dh#YLZ#Z5Vh`S Va3T,eUZD9D@H9'YGfqV3A&,6QZa-dY-U'cA1eP5DH!8Y4**%XTL9pLkG$8dG0*D %)63"#NfB`aNf!j+0(UJ+@ba$#V0b%fJ"ef5qc-Tkh,@i0l$KZ-*0EXAi#YhKBQj erSS$'9K!N!#(i8CJ"Dc+#Ym@YkbJK)Pi%&JdYbY"1D"X*Q+!5KZb8U3M%HGQ-1* Z!R)(VGVH0VHlr3J)HJ!#'p5J"M1SfeQeBP[FkTDh-qhX0Z2ScqpPdl4[I@M*)TS 6rd,"AaE1b8CE+eb8P3ar*5[aDa2J8S#bDA'P3X)ES)95PiEia3aN!a6i@Q-i[24 1YAQ)9@4-Bi,BQ+p"GPFCGRaKJXL@YJd'-'pV%f))Bc5e3beU"E9UUe,9L3aXf!V '8"T8e4++E6$bXTh#l+%hV&LP(JBaMqILeQMkj3P6'#%+9)$R%19`$&&,!3T5!0, 14Jd%HilDR`-pk%+IeLp#H)0cKDZE28GkdX0CG-N%6HJkip)1EcJ9SP8!kP0T@Jk FELX#!JG94&"33LjSEfeYEfj8HA"PFbjS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!"849K869"6)!%!S&8V5+(UiVB!!!&q!!!(f!! !!0d!!!5LbjP@C`!!!!!!!!#E!!!%##L3!!P"J`&P!$#`-)!"Ka!C5P`S`%$&K4J R'MK3K3J8+%*FS"&!N!"+%5a8QN#C!S+J5i)IfJ3dL9)PbjFiFq)%9@8&NS!(X!8 -i%HRdD0$!4!!N!"JD&-&3k%b'$V9`9#V%SCQ"H!"!)5!&3Mq@j!!LYqI!&8Jp## S+@!%)`%K-"YDaH9!Y2j@SFdj3#!!U(m9!CMUmQH#*QrFK"Rc"UPMP`bA3J%!)N! h!@XR9llFJkI2J!-kJ$B48%#BJ8Q()J5`@Z'+HM3)%!E!!B"#!$DP%&3`S0frIbp EZ'!$,e5!D*!!S!S4+&#%Z%#6J1!3%'6+Q%RM*JfG0'rFc!(aaJ`)1'(NK'P6KNi C15$%X(NcCJf)-QlSb%P6CU1E-Q8LNJ&KjJe+Je"!M!R$KXfF"Je!+!8aj!fF2$2 2S+%$)JJF1'c+-(h6"NiGNh*BJ%MLCS`,%$&bi-$4!NH1J8ZV&J84GHT'1692fXP *X+'+&dK(4*ai%`63)AM$Q%b3!%!'M!D#*9,8#P4+Q6"N'$H1!AR`C--(KCL4BjP 1(6PZ'X[S,,N`d#Xc&cHH`CS`jB1@XiDC8iDa$"Ue2`0Y%JC2%bT9TU64deY'MH# Z$`kK`iBi(YmjN!$5b3-RTm5AEZUd!3fPb0kB651#f%-3+"(&BB,)Q@Q(+)JHD&Q d2jKN5"-SPSe44KTlND&I!QcX4JG3jX&%&Aife&$$$-mPd-F1JD9KKKZ$J8!&%NN iXF3A3c5`AAFGJM6(8'b!B-FEDHb%JJT!1I('4@EN!B8F,+8!!JTp65(6C@e!)4- )GC!!!BH3!)Qe)9CIG@L8aKNhl63('Mj49FCjG+4AaT1-'BP5(Ec*m4iGBBKjB!* cb&6('&6epjpPF'3*JJTTM0&9%h1FN3+'*R,RR8F[a[JMMI`pd94A@9f8dBiprYL Q('p5"44'F)Ka*kCLr!PC'8D9%5L+ha8U)k*3f)LMMMb1i513!)`a5D5B5#STkdK J*K$P(&0@#F+9GQlTS*HjdNVQ5@HQ+G1DNeBkPRm!PP'R(&6KU5FFI2S*k)Q$ZJM MU8!PS5KA@*@%N4Z3!,SUUCY`NXITTNjeLZ%)-*'KSAD#$UDVP&6Qp#Z@e1UUj"I 6dV&Y[YmefqjKLCQ8d(UD"F566d)eV&8B(0)&kQ@m#8@88AF#PJ#YQXNaKKe#e'' ''4MZbfZr1khNaKN*Q)bbbQB`!92,0GkS)DXX*H#'ccQQfr+Z[IS,E-!VX3K&PLf ,UCQZC5BV*SCpN!#(f'81#p(bU0dUE1P"8p6l-(XZ*fdP`(68R*FF"EDF"KaIB%D '(#@AdFD0C5$a4TY($e``BhMYl6$8"%QYf4eNc(%e38+mmBCZU6%f"KTPY$5&H$X dP$E-rfE*CVdkcd`('P(,02@aCX,hH0C!PFeK3Ppcfk(Bj!8ii&jR-bCa6bMK*5# "&fFX"XiRD@`DDKiAYG&I"#%0qY*YAd65%er*6EIGH"1Z0ppq!akpi++lEAJC6e1 E1NSPRjcbbNIckb[e0EZ2FqRa[c`rfk12N4%C9%J$5B3d%MLXMc%JB!cVV#B6V18 ZFlY$RpI`45U2i'iib$PEp15R0,BPX!fQ83jcY&Fh-Y`YEqF,Rm%5TcV0,0"e$@` !l!jbR#V3MS*KBpIBS2!ZY&dZ*!R8c%5+%J-CE+')AH"CSKC9,NHKUe8*`!J6'h@ ZPP%[L)c"L'AQ8!FfV$!"2f5IC[$d"LH-"(d0C!a"VMJeM&M"-QC`!ZI8b#EqD8D +F*4M'cT(4cCUCJacm&,,EP@N&LB`58XDdNMi5-FSR@XpIEQJG#b@%$"DV'9XdL& jC%H'5[+'3jL8C,5'acXKZ)f8C3LP*M&S3e-Q!)4eD&R@!!Q&N!!X8SEZLYIA!#% K#NeKBe4$8#"LG@F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Lq!kiS[J3'!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!Ti(bY3!!: