home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume40 / netramet / part16 < prev    next >
Encoding:
Text File  |  1993-11-07  |  65.1 KB  |  1,414 lines

  1. Newsgroups: comp.sources.misc
  2. From: nevil@ccu1.aukuni.ac.nz (J Nevil Brownlee)
  3. Subject: v40i104:  netramet - Network Traffic Accounting Meter, Part16/25
  4. Message-ID: <1993Nov7.221259.12345@sparky.sterling.com>
  5. X-Md4-Signature: 8f323bc4d8a3a643399edda265f14199
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Sun, 7 Nov 1993 22:12:59 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: nevil@ccu1.aukuni.ac.nz (J Nevil Brownlee)
  12. Posting-number: Volume 40, Issue 104
  13. Archive-name: netramet/part16
  14. Environment: INET, UNIX, DOS
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  netramet/pc/NTM.Zip.UU.E netramet/src/snmplib/asn1.c
  21. #   netramet/sun/manager/Makefile
  22. # Wrapped by kent@sparky on Tue Nov  2 18:17:09 1993
  23. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  24. echo If this archive is complete, you will see the following message:
  25. echo '          "shar: End of archive 16 (of 25)."'
  26. if test -f 'netramet/pc/NTM.Zip.UU.E' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'netramet/pc/NTM.Zip.UU.E'\"
  28. else
  29.   echo shar: Extracting \"'netramet/pc/NTM.Zip.UU.E'\" \(41468 characters\)
  30.   sed "s/^X//" >'netramet/pc/NTM.Zip.UU.E' <<'END_OF_FILE'
  31. XM#$,VZ]!"MH3145M^SG-O%(J6$IT4Q,+Q<9F9LZK+**\+!MZY?)=_;=^8;XQ%
  32. XMV 7!;R"X;=R8N*X-$I.#@WD$Q<6V)5(PKH<:C=VM<SF?R8.Y.00M(45<]=, 
  33. XM,_8%?S]$/;0F_X<0J@?04N@"WP^JAUX^+A56#S71/F!@/1 ?6 \ ^1T4K ?A
  34. XM-M-ZP#VT'HZ7E-8#0_32>M /K0<HF1G7 \IPP-GMA]>S3H/D]<#KJ^%?E ^<
  35. XM=#'>6AA""GY^"*%W7:^X<(=0/L)_<"5I-G9%WAHB1)AWN,)C/L^(DIU\[2G5
  36. XMP9!^VL $12(FW.$*@!6$EX,]7@X%C"+FH"']9UU&^WG>C:6%#S2$C-YH-A+2
  37. XM :3=D9K3I/O>(F51.\A1R[.KRGBY7!F8YG"D;&N0_+8&HS IN:!04%W ^N5J
  38. XM)$A[P K9*(2;"T<?GNL7NA[E4L02QX\HQ.@/*ZR?DZ4RUCJN'5+(=>A)C((?
  39. XM<EERV Z1PW9P/YWM(&;;#(KK"#(?=C #+?CLVPKGA\Q7Q2K3#[EJ'2F$0I5U
  40. XM.62-<@G2!P_V3L,2CX1D]?1!=#K^D]ZW@T4A:8)V[5T1^,WM?A)\?23'&D)0
  41. XM+^%P.HO&?Y6SFJ6DP\V.AQVV[ZSD@B(=X!$:/.X0C$.2W4G;'4'*(]B$4A[N
  42. XM\CH6ZQQ"[8L<>HTXEQ:Z&^\2]=F:3_66.P@A\0<'E=,(UQ(.Y-WGY8?XS[5;
  43. XMHV$=/J4ZS(CEY'E=\/2B YT+ D 0(@ D:_ AX3HH!$W$!\%X")P210O"Z:JE
  44. XMEYYY,*[G$5SBJ&2</&0^A(?D.);#<61VJ.86\&Y &G44L?6V6U07FFD<X'):
  45. XM,#[G?*)O<0GA0V6V*D2^4D-I L)T32#;]M9KYUY)\6@.K E8= ':0VII2.]M
  46. XMCTB[KK8  D &)]$D+F08AM^P_;EF\5<V5E-#&@) IA%*^?]XA.NOV5>72OZ_
  47. XMP[/XDZ$-W&&K1'0UKNSU NOR=E>O=9$5KJBKU;]L[P@E1']%OX/>G_[2K@3<
  48. XM34-0HC,^_RW<7RIJTCS/^BOW=D/[3'O>KWK<6#)K,,+P0_K$[":V6/]UE%R]
  49. XM;5ZN'[+Y]OKU_ _HS7*N[?,ACF/34^X?-Y;S'(Q0#V>Y_U[CO3Z G_1*L6.O
  50. XMFF?$-VY<I0[-B.#GJ+I5G\.P_<O/TJC\^&=E&LUC/"(6<ZM:*\7@:LWX[KFV
  51. XM;VT^0,L$:=!#%\:*!58860Y[.B$\GB]ZFV6@2C'O$,2&A(3W'7$+6;[%^0J?
  52. XM_Y?FN8;4(%JIIT8?[]^-E#P./6)OG/RBP<0+!"J\-Q/<PN92,[>#7E0Q'[3C
  53. XM"ZO-X!(,T5+CG\9M4"/0RBP9H>KKS:2VG EJ%]&2_)\A32T71EA;PZ,J93ST
  54. XM1%H4@ [C*?L;XC0F!F_. "^X [\V2OOJACPG2]=7(5M"^'#"D&BFZ;1@7 <H
  55. XMMGC"*SP*B\13?JI70^*'\"'YJ=:T.)J.:1K+1_8=/A_NR8] :@[W"$RM#1A:
  56. XM8&8C0!-#,QR=$+(PQ6XT#I"%@%+4727J+[UGE>.$J?E@]K%D')7-69S .*RW
  57. XM&-$1X7GH:RXV-E,R*V2P3)2)A2"D3WB<LX\6$[B?[2[$?V)A.*(Q008,V$01
  58. XMLEQT4Q_"P3 ,O @?W"07]W22RWD);V]1AI*PP[9#%)UZ&G;0CU"'MU95=>"4
  59. XM$QX7*A0I1F $M<1A]"L/!JO&M(0Z+?D=_I=@'C[?XA/=8 F3/%PN(?"F(<1(
  60. XM5;M$L,D*MT."IHLID& "V]4Y@P[@+0_GB0;B(R@3>&A91".T^RG*<8E!_%CN
  61. XMNNA&(02HO*U^#<6 PQU]6L!!@]E]UZBTEM@#4V.UTA<D"T=/NL9?9&8+03Q*
  62. XM&+7Q:,8[@T%O^(8>3>1T)')<4=&(9JV(&_QA#A3F6J@M2T'(O4Z"D?-Q!8"V
  63. XM!R'RPIZ]!L>34AB+U[R #0JS/NL/&M'&3 96&TRAD2)'HC#3\:@UZ/9H!B@!
  64. XM),496L!$$)RI1N%F[)*QBS,J?>K)QH@/ AVWNF\>"@M!T60TZ(_;+19*K<]:
  65. XM V]Y2!46=9MTWC L#VA_+C3<PXU6Q?/;Z70[A7'B"!# J?H4$!0JEKS\6MFW
  66. XMQ8R!B&7@;*EB!SB?8]7##AL@>[!3JTY%V%P/E&,.TSK"0#0*-1A(.5X0!LY4
  67. XM6V&0.+<G&<XW=," ATBAE>O.1]86=#[JC\Y',0WYJ(&X!)!&.C "(A@(&4G$
  68. XM1RKRP8.=,H@   _GG;[4#><0"(%?Z +3FHHV$VP*PQ<(80,,;;%WN-^K%43O
  69. XM\%!QMJNG"/CPFA+<4X1TF2[@VSY\K;^TM& S@.IS^2"_ACC4-<H3X4;SN][/
  70. XM)AA;V?$ !>H:#8(#5C'Z.,/976K;7D8@?#>NVH7U-YH<$H]0%9)R>)[N6IK(
  71. XM"C&+*F #-Z@>NZ)W_4:&R",=9HA9O:;BW!S+=<Q >&,)P$F*Z("@".4Z5A11
  72. XM*'T)G)@((HT(0DHKI=^-C"&B$K)WNS5N);9I#XXH<?A8Y\8D5?#6!XNXM-Y.
  73. XMRGCT.@M)2BO*P.7@P?YX&&(JO]=JA99D=CC-H?$&FT@-0'4OJ%+?MDY3QR+)
  74. XMXY&Y!(20+S1P[_%YXWH(C0V@OM>5^V"3Q^TPK8\>)#]K O3A4L)B-A3+D8P"
  75. XM$+!?1P%P"!M56.VU)8)>86"Y1R4&DVBP&@,0B=6DP3H7*%P^8/!;["?2!:7Y
  76. XMV@ZL] '"=)##MS4>]*4+"N9PW48'AO?R7*=V@24_]2XHG$.:#$TP+[#LMWJ!
  77. XM KHU"A .3>4+2O16'ECO XCO8#@.Y7/1@RA7M>+G@N4^Y7-1 NN+ZZ"H?)0!
  78. XM^K'RP6+?5#Y:('TV'11%1"&T'XL(FOQ"$=$#[Q/?P;A)>5NP/IK@SJP),?=B
  79. XMJ<)<7;2!^A5U88E)W5'K;5$5Y3N8Q%*WL=R+?B,3DY*&W K!.RBG3W?DL!NY
  80. XM9W_ #_?X0_]0A*__@0CX"@R6,NC($(&TZU[;JD&$.SC+$H'HZ_;A.P,040$\
  81. XM"F*$R]^=$19:O5E?$:XE' G'*R>%\M?T:%L"H_Z6P.@I:_86I2 4<5DB+IBQ
  82. XM?$OLUK-5[R7V)WEA)@!D2#,R\,;  ,H*C$1;;"FB".P<J?EI-):\'($_X?EF
  83. XM(7?+; 1U!B!C%*SP4Y#.P&#]X063A$98  %:V2<40$CNQ0#(:<'XG$& C \<
  84. XM?V!H#<]D=SY+.S\\.3!J@04,HC858IKC304US3$"424B6,#EHY+1%\U%M&-\
  85. XM%9[B6C@G6+4[PC=1M*A]S=,)<XARH'$Y9UDRX;$<5P!OVRN\);1'6$-5D;#L
  86. XM08&1H%R(2 ./6<X3,0 H$QR.B6,*+U".YQ*45;"8>PUQ?0*!  !""&+8JHI]
  87. XMJE5!^)J]N*6:,ZS/DWXP$L2!K@G (N-*^YF W3JP@71>__/K<[D<#OL?=P2[
  88. XM?EZ!ZF:X+^^L\>%NL&9!''J#G4"&A&&)=B)%RMH)EOD8>(+(>X1XJNY!&6! 
  89. XM62=P-!C4(>BAN R$ :6)8)FJ1MDT*62DY"B1J\9_]GW<X1>IM^K05[9]KE;L
  90. XM$]^/QAU*OD<=@RZ..MI" $#XZ=  & H+_'A$-," "HC@,:&A%!Y\0(P)^#+R
  91. XM@W'+%01#A3GBTCQQ05!_!3X::BT Z/P#C(]0?AX"/I!F1\::&R4:/KKPT DP
  92. XM-6IL!4@!/@C" A'@@\T)U4H " A?H 1Q$NA#) #4HR- /T1Y #W)C<5N00L+
  93. XM@(@LXU]9IHX"2+SW$=07!2>8@'W ]&4HE.[@@4&@'A\^*N0E0"VP% JI0.>@
  94. XM"= J++^\D%@PHA2@.\0B^R9*@,)';8 $: 1N E9)@/HK"="0;G_<:G4&J7PB
  95. XMB):1 @L!J?MQA0"B]^T%* ;N3^UWV4>1_+"^?NX,ZA"_02E,Q.:Y-TW3J?-U
  96. XMUFUR;D]A7JI #]U0%[.J;SM$8A7FA&T'708H+L#V,7)+/#QP;JZ9G*+$/%"^
  97. XMU1_PLY<'+I1>GG_(0_YQ+? Z=-%3ZKRHBZ^5?5L*.7[^<6-<P[O$2%T84QZ<
  98. XMB46#B J%-"R)&U?\0,8%)B$PCVRWQBU^F-@<X?RTWDX*),@ZAXXRP#DHN@\ 
  99. XM+/Z0JG>8S^% WTILV&$K6T$;B+HG1J#4ZQ'T(@&H-$ T7^<6^' BTC.J6-<#
  100. XM"#-KD>V&304$@QD0)4%599 @H"49JF*OBT)!VAP7*%QK*P"*-I@:'XCL$^>#
  101. XM96EB?;CS:P6LU@?&O4#I 1#E!HH- &-N!"D W&7 L!=8:  1&<K"!F#[ JMS
  102. XMI$@A[ #L7X"S/!5(L$*'%C^$0@+.\W9(4(*C$@D$T5N^P>H<X3,@>"18G%DD
  103. XM 2\S- '>H70-+LI5K=@YJ S,J%E#JDSL''2%S;53@[3V4!J7F:G!6'MH#*\O
  104. XM5@W2PT=U?"9F#<;#1V] Q;;?EH<#9<QL9S[O]KT8RL HVN ,7S\;F,2D[JCU
  105. XMMMA*0"5V%M13$HM']">6NHV%5QI6 BXQ*6F8*'H@2'W/ SOL1NXI#;##/?YP
  106. XM&A!=7ZD!7O6U&E "L#CJ@66"8=4#IT45U -EQ!/30\?5!E=CJGK%YH3]+,MV
  107. XM-==(3ZAY-DRS $) @8G#Q8P.Q02*AQ(*IX@THL*AI*?PO#O*;%,0HX;HJ;=)
  108. XMD:_KU70@B0.7G7E8;H$BV\G/EN!.NH[W$K,-=DK)($?8.? 76!9X'A8N/1R+
  109. XMRJX#AT,AG .KN%R'*H>"WIS#)IR#6BK(Q-&>0GQJ,*G;4S9G;W@J/)@= R3Q
  110. XMD"J0 "OB]H?-QXPB[(Z4K"B0[+@](%%_#T@4%.C9&/.(6\CR(>Z5V(P")/1?
  111. XM0TH.!21;JN4K%;WE.UP7>RAP#]#U08 $G$C[-\HE$4BXY90_+--]&HTE+QOC
  112. XM:RQ (?DH=Q;*=PLXH4\D(*%BA.J$:C;/P*NUD/O%A\18(<&R0PHC)!@^7Q4A
  113. XM\S!"JO(+\4A_AX<2DATA(4Q+<":>D&A>(7!#%5";)X?>Z[12^VTQ./#X#1SN
  114. XMU:G5" [?%K#4B#*92/R7Z214+CAB?B2 3@O7D/*]2T3@U>Z8V:$I37&!,L#X
  115. XM 5AQH@D&( _! "4, \GA,3PD! R*&L#""&!A K#0"J @J!2D^P_YMD0*;] @
  116. XM\$(A39OPO0_? 0L&CEN  RP03!9BK61:A#UC*)AI)!,WR(#X\8< DS,=\D-@
  117. XMS(-B<"$9 O".)V (8?!JYC'+K%#$^*P?0$.= !9#^BP;@$2!P#@@:1IM !'M
  118. XM<"HI.$T%)K0!\ 8#WC: -QB$:P I!<MXH+&"#;(Q(RSA"! R#HX2P$,,CL4G
  119. XM)(VI-.,$\(P'Y>&!TS'@R* N:T,;"100ZA=V2\*KF\'\#O_'L8GG6WRE,ZL)
  120. XM0P:'^9J0BE-BT]K'D$TE*$9<U4"P8"+9!3J.  R -0T1Y<!),DP7-DCSBY&!
  121. XMJAUD]H,-1/%<)"((2N-?<(_K.#%B<GO8;1<5:T;,NL50Z1(I&-=#M9$7(3DM
  122. XM&*>4A%6)XR)2B:_R*5;&&+^3Q^] >/RN>J4< ]PY<PP ^QT<QZ16.^>U4K@N
  123. XM=17>N J.K! =0!2B TXB)I=Q:SQJ#;H]E3,+$#@J/E('"!#PMST0H3]F H@Z
  124. XMN!]OO_UWU.IV>,^J#6>-_86Q:+D7R#RLK_;9NJ%I>%@!RX#?IF$9XGW>C67?
  125. XM0!H&@E68 =$.HS:#= ' 3 9$91CU&$T>MT91PACW$U^1H3=R\;L>QG,"F)%J
  126. XM)%0:L5"=L:$6F&$AEIB<9!>1+@..X[,,*&FG*@-BB,WETH":5/:(C0D@.^BU
  127. XMWDZ**<SB 8LR<#G"&<_T-,/16WL:MRZ]*[J5_3C#H5L4^0@U:!% JO-QFD-3
  128. XM'_GB?G/:B_.QIQY"^!^M7]R0A]*((=Z'IH:C5!$ B$ AT!ODPP=N'PC*D81G
  129. XM&*R/&M@,H&A]I1G"$[I*!<5R)&U 6\RV(80XP2K9(#2;L@T&W8"B&QH!!DCH
  130. XM!C.*: (&.!PB@<8!)3B#%(JH@<P PBB"MX.P4H2".1R[4!@_4"H5(7U&K2(4
  131. XMSB$!A]IX1;" P'"7!  ,(- R"302$$8T\&X1-? 9@-A%*&V3PICH#21@9$QP
  132. XM/*,P)DIC,Y%K""H'Y:%9K!RP.#.5@];(C-4: LQ'@7P6,1\TT03,1V]\1@0;
  133. XM*FF8V!Z-^] 6LCMJO2V6$S 1"8QI."^QY=)YEY'$;Q0P4SWJM)_Y7-S.;Z?3
  134. XM[13&B2-C4V<0T%!+ P0*  8 !@ IBDT;%'MC\S(2   *,   #P   $%#0U0O
  135. XM345415)?4$,N0V$*>P<&&P:[#$L#"0<+"0L)!Q8'" 8%!@<&!38'%A<+"@8(
  136. XM"@L%!A4$!A<%"@@%!A4&"B4&" <8"@<*" L'"P0E!"4$"@8$!10%"30'!A<)
  137. XM&BO\_/S[^_L,"RP++ L\"RPKK P!(B,4%38W:(F:VSP%!A(C%.7VEO<Q8_U)
  138. XM5FY&_H]\UW^,WVTL/WIV47%1\?\_^6V]G8A)H[Q1M/];E?N/$__3:.SSL5Q'
  139. XM]9?OY=Y^^;F.\SKN8%14'#<NVF\^J^3?CS]*3HR]_O4HE^KY-M>DT2#)Y)>>
  140. XM1L*]_/)^7,N^47Z>ZW/4?^0']9_[SO1;HZ28@Z0\C.EH+X7;KFIE^86C@C^)
  141. XM'CTG'^%G_V:XW[LC7.=/W?;XX[SO?*YKN33[K*/[6+8[___$XXIP;^NUA/M[
  142. XM[8_G1L()_L:*"?S&C*7V8VG->8T__>MM\SG>'_5M_>T.V7ROR_J7_3__N)?X
  143. XM?4OXLE_SY\F]!F],QC>6P $,H3<>G41/3\]7>*,#KZ-G.^[J=?_D^SQI>\I1
  144. XMG%:!0XW/\W<LW_5W[O7>(MQUK#?IWLK7NEZ*WW+/JTS?4/_Y&G7]JCE\DV[]
  145. XM6I?M:OKU?ZE<B/5>6^*?[<9Y+M%?5%S?&W,9H'\6RK>V;S8_W"_-6VE?G>[X
  146. XM:ZGL\_)K]_T-?^7>;LI=W9YCN>OYA+^T[1&N.E:^5)X%X;/]YA[A]E@4VL>^
  147. XM7 V67RK=S_:OXS^HF^=?]TK\P+U%Q<U]J1C><H=&>O1_B7T4];"BXG4NE?8-
  148. XM-<9U6+[RF6<YGO)MEY6-*[Z_>1<5S]JQ,FM=I%ZNU?#%Z$MS\[P:UEGYOQ"%
  149. XM75[P7K998J7\K)__\[:0M:RENW'5KD;^C]^N9;F/7]HNU5=QG/>_9E5B'0[:
  150. XMH_YXD-S^XW[_1QYW.N->:_"V?^1!*\KOO%''G>%O=7\KRJ#]V]V4%M%_\_^@
  151. XM-^HG#@>]J$7%;N\@.:D_>(=^Q[LI MZ=412./TX=] >MT/ZX-_PI@U;O;;<%
  152. XMW]_K_C>,M]?Z[2B(WV-.?7]_,$[MOS^EVQ'[H?UVTCL:C/MB[W#0>4>M#_-'
  153. XMW5[[#=%$O$_S_W"</(YJ_G8X-MGWN$2.,FZUN\:_([G;B?T6V/XIG6[R[W?;
  154. XM1$MB&W,/QZTQZIO4Z?+L-H%WY"AO*XK:1]IC@C]J#;H]KI?]MSH</__WWJC]
  155. XM0=2W-WKEWJ[6T^IVH'YB&^SJ^,>=0=O\[2:V^-ZNZ(/X>R_IC=RQ^PZKP/)V
  156. XMV'?RF/5)0>\4%:NW4'D#>0 B</5R$TRNHW'.]?O'>68EMWF5."B_?M<D[']2
  157. XMF*UV;YRD=+R4L*S'PW15.=?./;[RK!66Q^]TG)34?UOC?I@H[QU>T?GXC0I6
  158. XM&-W+?D2LWVMCBQ1J,/J?SWIP2%B-&.'95CEGGI7L>*S&7B[/T/9F_F(G9FM,
  159. XMA/>I'@O;568D).K[FE<)2^0XO?_>,#FBL80KW2:/RO$UW!H3YA6\O3_-J9P]
  160. XM\%YB7H?-YS3K_LJ=+/5K5SLTZ+ON9F;57K;#XBR-DF"+V?G>MF.G&3P.55&2
  161. XM8U>Y=+)\G([N8<]Z3'BOL*W7L7S?Q]S8XB5\(]9GA"]K:-K/#49>[UPO16S#
  162. XM+9_B$ZXL?[5UV_@V)[%6R O-GU>D<HJW]^ISQ:E$V"]IM]<2T?LM+ A&)-?M
  163. XM;MP<YB"G',MV/W62!^4*$(^X-2)$;#C6.8455^>3WOJ\C9V;<ZU6*M#:QWI5
  164. XM#TXGRQ<Z"48T)Z:9FFM6[:'Y(0A@!.A(G$>A-[HY%TQM4FV0US#^L9VBV>_S
  165. XM]NO/\FCK5]'MAI)ZX?Q(]K.$,MK&ODLER47F7[5?J/A&R@WUISGWX5-2?LA#
  166. XM#OM$FI <.H?DN+"^RIT-=>@LDD-GDIP+?@@RZ^)_GM!><M-IKSJ?YNI[R<W]
  167. XM(1 "W^2(&+_ \T/X3K(R.^XDN2\XTRGL^R=L[0YC'8Y7#W(\YE6"N@8]CLE]
  168. XM:NNSG>2RW3T=8[07,UO;;D:M-WXK<8O 5[P)']8Q^GPOE8A/O;YQO$*-E#EG
  169. XMR;RBC< Y9[.=YL@<F<-V;()SY(3M-%?FR-Q0#0H%)3S VCUAAWVP>X;S>C3#
  170. XM+3CR8:?!^:K5*2PL+&'+LPI;,O N^"&7#2T_:T*!1W="T=+;7=Z5^LG_GO[[
  171. XM1GX;^3$;#3OL<U\7](ODH*2*2R7,'7+4-Y+\&RK6F;# .14\MX#P3\,J1?2T
  172. XM2OG'K8B#),2S7$1*OB&1YL$]O/>O7*B3]-R<O&RR4JM3;A]JXNWCZH?WNF&\
  173. XM_7XP<K%:4](GTO&X#H/;7L9CVT./QRX3(:TL4X_&<UQ=2<\E#!36E>BI,H-F
  174. XM5B*Q!B/*J\:RW<N\'207FCJ8>'*_:EICGQ/'B(0IZ!@0HS!%LR$&/7Q'O;>%
  175. XM4TCF,T<*V2L3_SZ1"/R0E=WY%X:<RTHDF*ZPU%#SO:[ZV7RO3O_M%6">@N:.
  176. XMO]#A#7N"&HE(1 0] X.IF"U\MJJK8(4?H<#IUC9'ZL"\=%=$,PX_%M,;22TV
  177. XM!*U.3;X99ZGC#;@-5\T'^U FKXW3EW>AUW1MN' NS,W/+0A&<JOCKQ5JRIC3
  178. XM$9,"QXMGM(;;W)PLI!N1=^E\PD6\CZ=YFANG_80FQ@F;JR_(%9VS6/R9SX70
  179. XMEW)X>*EK:8+UARG)H:?TNY';84]P;[D_Y+H6<O(O^( 2<=-+03O7[<<1YCH.
  180. XM$G.-9]O#AXOC3._/\;BO")+T>7XVQ[OI,=^/Y_3X61YO0]8[#E-)9%3.QQD.
  181. XME]T]'O9,SXGC67%0L"(.% IR+!OD<!2_/TX<X]G4:6'#V:E$QJP-\8:$0EK8
  182. XMW>&+6PB+#,(/U<;4V-/80D_<O[JQ;U2$CD]"I;DV-"C_V/78T21\I9+@88=M
  183. XMY$M33#X!XS&[:V;G!]&I[3GL'+$+RAH+YTW[O<1^OP#JQ&\)%>KB7?BS[%?A
  184. XM4RK@KL ?(@'^K)H8B:G3!$:FNKP_X0[7W)^M#NE2S<-+C$,3)((83@0'=C,_
  185. XM0U>"43#"*+4LVM!^,X&+"!SG\35.\A.>B-ZL;RDL0T!*Q=[U$#[B<+A4X/@=
  186. XM_EH*<VT./NA)C/I$O!%VV*&R#SS9\)P"FGA#HISSIV$!!2)0S!6IV.L9.YT0
  187. XM**5O"7LB&#&\%J:!LVWX:MNLX$(3I:Q$B=NZW^#V0 DF'O3,T7@.1L-E[WC9
  188. XM=R7A[D+I+78.QWM(+D]U+ZHE@R/"<V)8[R4#<J/]:3!N.-;Y,I'B^;4T&++8
  189. XMT1 O@T#<Z)9^>4VF_$X15%$YQ\S)C!&,O"XKFUEB'KQ X9>1F2DL-+M1S9)@
  190. XMOT)Z[S6NDP+75%+9:0Z&Y*K<SQS1%:.J;C!,@60?T8Y=#U,T6CKS04.,!O%@
  191. XMO,;)QV$TXK'L3Z&IV?RJOW!I^4N2?0&(R7IKR#E9PE(IA],C5"Z%F_!3WQA>
  192. XME4?+5I+84)JSNI?NH_"OH'J3DR(F@5.V0>]@3_ !K[DX@C#K/"]K81RYBU5_
  193. XM8>>AI ^84F7B<1KTK-B"Q<1 +CRM)A<^)JZE86MECX]HC$S$Y2H#?05-S/64
  194. XMUVJD&+F@HJZ<K2@_/TXP/F>B>&,_ZG"8%>G?/QCGYM0-WF@(;QP?I(64/"4]
  195. XMW!&Q?OY?(RY[/6(EW^$N.US7 G$="?QQM!6^UG W!E8.[[N-4[-R17R5='LT
  196. XM-TVW:@*EQ-6$'JP4%WJM*IK'F@G5B_!NBTZ;=TV%WX."^M]F0VR:I+^* C<R
  197. XM?9'XO:Z 5&.2-#7,J!$'/4BXPV#&_[-S-1^&3]2"2R,AO;<](LKJ0.T*WM27
  198. XM)Z3;EZ>T])^ZRLFN%><XU>&1GZ;=8OI(5H3^$A%M/7=ZO2O<Z:I[-;LD7.>.
  199. XMI>\;)SISG&SNSO"A?8MR^3IP'I;K)#=7X.Z[^XQ^(NP?4>3@^6Z!B?X1Y3K]
  200. XMD;2WM!2XIC"GF)$J1P:C@'?[VS*77,4K^;_:N.B%!R.F(S6R"?F?BWQXK/A<
  201. XM5OC@6^%]PHN\#R'Q6]7_"1^,D (]$:,%T_UG943L\7)&<8*RU,ODL?>9&?;J
  202. XMEX/Z-^N@-\BS[/YZ :PA*U2(V7T6(\,2! <762K/68NX8L?Y6O"N_(N8H[8.
  203. XM0F\>7FH?6MVBI+&?Y]V0A)VH)H2LK9=+UGH5@;'G%$#%':)2V 7 GU"HU8=<
  204. XMG& ZES(Y+>3AENF1YQ5?:[C"E<0YE&*;3$5*$^B!K6%X3X,A?!?:GBC8 &QA
  205. XM T[$!F^J$1Q;>$/Y.#+U[A!R(,'6!'-VW)B2.E]G'0%\F1!*,.'7;5YSTYG0
  206. XM,*)BA$H"D.H$QJXE6YT%):#.]IG9$BDA5)?4N#H.7DAT8M3A9C4Q.3FT D$F
  207. XM5 A*TR7AAZ7NXP4$'B+!9D@XFX.1?FHH:77%9XZVX.WI-(%2I-K#Q1XQB>4&
  208. XM!N.JCHG%U8]17Y79HW"1C<J$$R@84.&-2H*'ST+^!493+!_"L#+1M]6M-.RP
  209. XM*0PB],F>G0]E7>X1YQ*;K1!WH>)UN!^Q%S#PA<&][#N&N17$H22U%*%,ZZM>
  210. XMBK<JQQZ?3^932:FH@,N@>B^-/$V)RCK0;%S6=\ML6VP%<;9>%1QKV@XOF:SG
  211. XM5L(QR9\*GIV=/7ZU 2-/_U7$6>>HS]9\JK>P)U_G8BP2%7VY+VO@='>JA-Z-
  212. XM0H_:H9%=JC(.>AYDAO81<MWI%&A!]\26+U6>.2+/U$T1@>.P@^;E@X&^06?I
  213. XMPZG60A +*S@@68F%WL<L5&7Q= (86?1:D@]'<0 Z,I/QEOQL"?PEP?B;/?;P
  214. XMA0/>I@WW2WJ\.J=,!\?36*X(K/Q;;M'!2.F&*1W!SS:O,[9:!^NPBAV*Q+M>
  215. XM0'E(;?\ZW96(3:@+4N<4ZN*W*"DR!57%)&_6S12>XJI69^*"' 2W+;H7"Y)D
  216. XM\S8.QY>0I07C+$MQ7Q=7.J&[<[+M#MY#B/CRHMU%JXNL,'@FRG';4$. SXBE
  217. XM1B&2=K-.XFDP5GD,=-S^\%):,(YQSJS::<%XD@OQSI#S9WQTU>V/L?HUKL,'
  218. XM(W14=7VU3D1X-/(67@M$/ D/=%A8'%X*4#P!.ES&L[ ]DB?B]A"/T%8)T&A7
  219. XMC"ELE.S<8(P:B^+_,Z)3(8C $8__6\BZABUX"2NL24%!3-M1MT.(OW0*+?A,
  220. XM!^<NZU*8-<E7,LZ(GI^3Y219^><_"@]"U_RUCJIFB-O!H7VQA^N$TJ&XDF'.
  221. XM;('XV  GRL"=7,B@YVF)B(4H0./!@I&I Q8P)^"Q<R/,W-2=T@A\+B#A(WP\
  222. XMLQW7U&C84@X,QB?D/DZ@XMRG@KY@-/7A08,>G <7'A(.7$PN8D!<A-P1:M3J
  223. XM\I >CB$*&D<6FU'B*@P'BD\S$YO .%2:(SB.!B,PC:+CB+S29@6-6L=1($&P
  224. XM,?N:4VE7:%X70C,@?'G;(W</XW,E)TO"@0SAHUV9ET5$;7V//T#QX#7Q8$Q:
  225. XMXB-:PSN7+20+^Z8_A!1*EAT0UPURTXYX$-ST(+#3B#;SM&"LY52:&8I;F5F)
  226. XM5QT1L"_"H/D>##Q?@T$(&H<B4/ISA?ZX% <+I<:I8D.-!-FQNG/S\H)Q_8=P
  227. XM,%:9,)Z$^*>$.AJ5,\. +PLT9#">S6D_6_[GI5287< T%6BI+ZAP/>\:5YX/
  228. XM]#5.N0]\!.Y#T4##_ XAC$.@=8[Z>4=,:,I6V0X6VH7F.,Z+PXN*)=FYMRV:
  229. XM$]-\J6HL%7:5<9G(]OQQ''(5W#\;OE^ E;J&220CQO9,)VP/$%^I3H0"'>W'
  230. XM@:0,JI?I-:,_+Z'4)X E:?$[CYL(N'W#7'@0'(E(:GILF2G=^H2?>GT+1BQX
  231. XM:LYD1N[5I8+F;$,MQBT%SB2OTX[(<I:@-:(KN#&"38#/)0.OT@<Y#H63A81G
  232. XM7!J&4<58U?.]#'6J\9J"V@J-Y+IXMT!3HCH^GO(=*3M7%JD:KR6A;I7XRJ5<
  233. XMK[?MUP>HV0M(/F3SO0H5X[LKOFRO(RT&:W[():8D%!%LC&?SO'EKQ,L(E.IF
  234. XM+3N&7Z&=K]I*=+%6@P:)@(' P5 L.V2^]1D,&"=)6Q"U_H,Q#F@5?>]E?]31
  235. XM(. #,.=3-8+Q% _<.%5YRQ1W2 BD>-QAA^WJJ+E(0O]QE">1D!YG>"6UK/@$
  236. XMXS^) 6IE@@,U0:!QG.D(F5,Q"_.YV9/RJS7-@Q%D(]WY'XMDO^F0-V\U'V-$
  237. XM)JT=3_/EBIJ0<9H"HSYJF&%NMH,9N07W.'1#QT5N,*:!0#?"EX^T[M &RMTX
  238. XMHL[B#;2-@W!OF$D1RQ@6J+@24\@=$JM M(G=*%G!P> 24$L#! H !@ & "J*
  239. XM31O^W?2%0!(  .0N   /    04-#5"]-151%4E]56"Y#80I[!P8;!KL,2P,)
  240. XM!PL)"PD'%@<(!@4&!P8%-@<6%PL*!@@*"P4&%00&%P4*" 4&%08*)08(!Q@*
  241. XM!PH("P<+!"4$)00*!@0%% 4)- <&%PD:*_S\_/O[^PP++ LL"SP++"NL# $B
  242. XM(Q05-C=HB9K;/ 4&$B,4Y?:6]S%C_4G&)"?_1[[K/_-W&\N/GEU47%3\_V_W
  243. XMDI.&>:-H_[<J]Q\G_L&QW-MQ+W_<:.SS<AW5GWR3_%]^KN.\CCL8%17'C=M\
  244. XM5LN_'W^4G!A[_>M1+M7S8=ZDT2 )Y)>>1H+A+^_'M>P;XK=YGZ/^(S^6_]QW
  245. XMH]\:)<4<).5!3$=[*=QV52O++QP5_$GTZ#GY"#_[-\/]WAWA.G_JML<?YWWG
  246. XM<UW+I9EE'=W'LMWY_R<>5X1[6Z\EW-]K?SPW$D[P-U9,X#=F++4?RVG.:_SI
  247. XM7V^;S_'^J&_K;W?(YGM=UK_L__GZ.W[?$K[LU_QY<J_!&Y/QC25P !/HC4<G
  248. XMT=/3\Q7>Z,#KZ!'OJ]<MW9\G:D\YBM,J<*CQ>?Z.Y;O^SKW>6X2[CO4FW5OY
  249. XM6M=+\5ON>97I&^H_GZ*N7S6';]*M7^NR74V__B^5BZ_>:TO\L]TXSR7ZBXKK
  250. XM>V,N _3/0OG6]LWFA_NE>2OMJ],=?RT5H/S7[OL;_LJ]W92[NCV >3V?\)>V
  251. XM/<)59\J7RK,@?+;?W"/<'HM"^]B7J\'R2Z7[V?YU_ =U\_SK7HD?N+>HN+DO
  252. XM%<-;[M!(C_XOL8^B'E94O,ZETKY9QK@.RU<^\RS'4[[MLJ9QQ?<W[Z+BV3E6
  253. XM9JV+U,NU&KX8?6ENGE?#.BO_%YFPRPO>RS9+K)2?]?-_WA:REK5T-Z[:U<C_
  254. XM\=NU+/?Q2]NE^BJ.\_[7K$JLPT%[U!\/DMM_W.__R.-.9]QK#=[VCSQH1?F=
  255. XM-^JX,_RM[F]%&;1_NYO2(OIO_A_T1OW$X: 7M:C8[1TD)_4'[]#O>#?E)[^=
  256. XM412./TX=] >MT/ZX-_PI@U;O;;<%W]_K_C>,M]?Z[2B(WV-.?7]_,$[MOS^E
  257. XMVQ'[H?UVTCL:C/MB[W#0>4>M#_-'W5[[#=%$O$_S_W"</(YJ_G8X-MGWN$2.
  258. XM,FZUN\:_([G;B?T6V/XIG6[R[W?;1$MB&W,/QZTQZIO4Z?+L-H%WY"AO*XK:
  259. XM1]IC@C]J#;H]KI?]MSH</__WWJC]0=2W-WKEWJ[6T^IVH'YB&^SJ^,>=0=O\
  260. XM[2:V^-ZNZ(/X>R_IC=RQ^PZKP/)VV'?RF/5)0>\4%:NW4'D#>0 B</5R$TSJ
  261. XM=\W:F2&>&'K$UMMN059<_G4TSKE^_Y!8PZTQEW"E>\VKA.5R',\=[B\QKP/F
  262. XM"+!WW5GLPASQ;*4GIMGK\I =6^K7KG7$O6V'R>'FL4>5[]!$ ^?R7.6;Y>":
  263. XMD(?'>68INWF5."C'20[N*I=.EB.>]9B0/*Y-D\)LM7OC)*7CI81E/1[2PVOG
  264. XM'E]YUHK?$>.DI/[;&O?#1'GO\&1&?Z/B[>UF9S\BUN^UL44*-1C]KV\\.'[Y
  265. XM7B)&>+85WUJX2G8\5F,OEV<H8W9WL1/,-2;"^U2/A>VJV$ MVUY:R!M>:QS+
  266. XM"50PITP-,*%C8NR(, =3@CG8YEPCOC"U]@:MB,,WC!\G9OV.8/0B]N:SQU>R
  267. XMF_;CG'=NG&"$]E['(NU\+31WX56+6#N?ZIK_6:KGK67?J,Q'PGJ%]"Z L8\H
  268. XM95S]2F<G(U(7C$?KK/M#4.01?J'66CT8<=W+-F,H\\7NC>5T-;)>-L>NFHTV
  269. XMW5O;7([)=R,\I\-#:A^,H'35O5GW7KJ/0OYI_N]&[ R[O7YH!4X7XGJ\41E7
  270. XM;S6K52IE.>O&!JTLE:_K4Q4PKFU[V<4,^;^?<IY AF*U6@NE;W/GB&W;GP3N
  271. XM7BC;+N@DMZ,.I<_KE7<U(C)M>*MINNXIK4$RPXB T<9^U*[JO'%HO3]C7;M!
  272. XM_9IIG<\;_F"2$MM1\G^< ^S'\3Z#M.8M$2*N=T/\YP8CE\-GF#LG,S<W-[</
  273. XM'IV;EY/Y75[K*]O<*%MV>X/N2, Y^0U&-"?,-<WGK3(;52CV.==+/)^D)>1 
  274. XMQP ;UNKH-0WY>MDU F%D%"6Q%Z;"P( G[C!P1,<M!DBC?L14F-G_5,'YOWD=
  275. XM=; JR>?,=5Y\94UM/$GFHZXN/!S1XRMH[5%[UWLQ46*<D0NO%71UT5U=*OER
  276. XM%YZLTT7%\_2\(]SG5P_)4W'5);A1"J?FO^49_(B62O-]I@4>C6LV3>72MFPP
  277. XMWH$J-A3.6:\!=]5^(8ZG/ZR?6_!#$'AB7# 7J\%(YTB988Q7HB. AC0ZW&E 
  278. XM2=U!#VS$UI4?RC2R@9#2'T=MFPVDY 5M("(=IC: 18JGG/-:(<V@N=>_*_<9
  279. XM(D=V=;OJ*L)2\E<3+)^A%_XT2 3/)PS[NN>E>8OS9XZ&LA3S-RJW#L^TUH\3
  280. XMOQK!DH) 1"+7D1LBI4_EQF["\70*?DBP-M8X:7FC76E'900?2ZTPCMGS:\]U
  281. XMWO40/N( G=[AKZ5P8M&8PJ>TGX'UM2T\Z,D8N*27]B!$WO\S&)P"&'A$@U]8
  282. XM@&8*Y87&(#U[9R/A,/Q_" CD$?MO#^(>=KI)<H()8UO=L"?YS*<^$X1E/M:K
  283. XM>FCV'AT^^TA.YU#%0B+L4+7$:E@E:0&:1<<Z4Y.WT="]SA&%V\U2?BS6ORY[
  284. XM*1@A3JHTW+T8^QE:6B+",1KNQRHM=XG)%\DO$D<_R==9&0?5E(NE^1P7Z]OD
  285. XM#IMC'%_1JG\AU@\)HHMW):[&&&S2L'L<UKA 4U!5*W6=C_!I#K]JP*&QCA/F
  286. XMT'5ZYU58?;.?"-@F;]Q:.J*,L$"'!.WZ?' US4E.Q$FV3K/ &W;8!R[53G[C
  287. XMRJR&?M$&5= HT1K#[K 9/(8<JQV:;<QV2,HAF<(+P13IQ?G3L(Y*1+\']S7I
  288. XM<0_#ZM >$K!->W&?]3[+1WU ;M6WR?94M*_-B,LN<P6B$G[OI&UO "H;&$8@
  289. XM6<9S7,Q6W-\H19KDA!H2(9&.%K9XLT,E&/'S0G5Q=PZ?FYZKY"U6PO?'K8@#
  290. XM(8L*>#U)J+.=A$3:3QZ'3LS?Q=\[=UG2<W/R<D2&Q[6^"*Q9H5K?*2D_Y"$W
  291. XM63)%SO:'][IAO/U^, (0M(;I3<'#XVH,@ST^'L,>/A[33+2\DHRJC.;D4EW3
  292. XM<_&N.1.1:_14E<$U&%%8@Y'CJ<3"9(^G/=^N/*T>L'9%*>.'X1_)%(#A2.[!
  293. XMQ(?P52,=#GE0N(U+G@0]HP+%N,3(S<V&''SXCGIOB[=@^@>5>L[W3]WW!(%A
  294. XM!JOL2X#5PI#[]> K+JVAY@O[C'_QLZC;1,J.F]B(1$;V&6"M1ER79UL\!:68
  295. XMMF^:73<DS,&9BE^=3VR4$'_X?Y?V1D5CZNLQ&S=S2? M=+9;@)":G,0H#-<3
  296. XM@H8F7DCU]!+[_8(IQ" *8DUR<S7FAAFV*\F44J!!3]1B8.GXB&5-=-T>8Y.B
  297. XM."FOU4@Q<FWZ6(N!JI2]EC_5$W+Y@S>2%$E7P9\?)QB?\Q>8H+2#<4/@CH;P
  298. XMQJ$5F77 09VND2:34/,9WAR&.XOASL3:#F\&QYT>JL?4DG/I?,)%]-B%N?D*
  299. XMOT! (_0,9;;[,:D)1K!&XE(S&K$^(WPE3^FXIFO51[;PV:IF^!5^A )\@Z5C
  300. XM8%[ 5,J.PX_%]$:2=6O/HB0_'_"O(*K2FWY*&$PD$?FG7M\B7FBT!B,W)K3(
  301. XMHZ)(,%XME//1:9A!(^[C:9(I:^Z$)L;)Q"O]@ESET%NZ/_.YJ*64P]-3NY8F
  302. XM6'^8DAQZ2K\;N1WV!/?V*@BH3UJ4&'$.4-#]2SZ_\N"C'^%J+W>+ZPWK3[ O
  303. XM3'_(?RTTQEWP22A$K;]Y8,^UHI4=XSARB#6>;0\?SC,;]^=XW%<$W,_SE:W&
  304. XM0=:Z2XE[_"R/MT'F'<<T);*>]W&&$T=UCX<]<W/C>%9I*"HRCF$7Y%@VR.'Z
  305. XM=G^<.&9M0T0+01@AS!B4(=Z0X$O+:CM\#R'1<HJ80?BA1L*P''L:6U#Q7S%1
  306. XMXWH+G4Q"I;DV<*#_L>NQHSG8*AOA88>-9$E3HTX(1F:G-;/S8ZC5]AQVCM@%
  307. XM98V%\]+S=JY G?HMH4)=_!)_EOTJ?$H%?!GX0R3 GY4BINKJ-,$6H2[O3[C#
  308. XM-?=GJT-;5//P3?.,W@E&P0BFE=<@@&LF=A.!X[A!DI_PE':S)+DFB9A:UH&'
  309. XM$#ANPDNNS<$'/8E1J\0;88<=JF2#)QN>4\"4-U3:.7\:%E8D@AK<. /Z-*:3
  310. XM'P(AH%D<]D0S,;P6IH&S;?AJVRSL07.5K%R%LQ*K+Q6KP,:#GCD:S\%HN.P=
  311. XM+_MZ4(>#R2UV#L=[2#I?=2^J)8/##;\#LR4X5J/]:3!N&#K%CA0RU+X%LJBH
  312. XM*G%950IQ1="RD.HCJ3WN!NN+;S"V/0.][H@4CE,B#G#5@=AW1V%&'$;MC)/S
  313. XM/U.R$35U%&:T8OG(;V[J<>QNZ$Q<:Q;2_TJ VMDX8NTI7Z#NB,K*=S#2.49J
  314. XM-6]E>!1P&0^'G8@2T"L=J011GE]9!'<AB=J(26(P PV7)E5IY_ORV<L4$EK)
  315. XMR87EN]!&N\"-:LOA>J_D2([D$/C,@,FB?D9Y"=V*G)$QC,6@RBQNW'0@ ZV.
  316. XM=.K.P%J#49CMB(K01VR#O5GX.%X1<:(*6#CTN*%9)K^1H L64E59*Y:7U#"C
  317. XM2O>MMQ.&,.0_.]=#PM1EVVD)Z;WMDMQ:&5U6=84F7"<PYG(YG)LH[MPI3IDY
  318. XM>!JLU&5E-F1U.<V5X!6P^H0G?C@HW^@8VC@-0*8_A3DUZ6@U-"F=FIP!5:[5
  319. XM(\*'UNH*WT\E7O: M.9DAFJETD9%':A VOF8_;U>^;_:N(@]PM1K4DD!J-_5
  320. XM%,L,)=#^*"C1%'' RP 7)/\FX!< =@+ ,BB'<Z:_*@,>?\>F!+KZ;$U*Q!;[
  321. XM/%W\/9&C\5M;.%QEH4,'(Y0CJ00IH2MLN1CVADE8W)L)5907(_%80L?I'H*$
  322. XMDVA$QU38.648,43>3K<PY,P=0(NZ_/;;@@^A.3@OBO <CN;7U* %7)=<J5/.
  323. XM#C5X59HM[/#5U-E;KENH=@N0ZW;)=U2;R^?F6Q^'NXTQ2)HKXA^T&8<H,%)Q
  324. XM>'+6.K=CL6.Z0WCJ=(U(R375-N4JZ'2X'[&!$&L@>GF8W>'+H92RJ"\1;F @
  325. XM_-_IU+P4 &W8IWO<4PQ/2]@TS2."8<## 7Q$ 42"L],P;E9=5(BPPU;P**T&
  326. XM4:H3>F2JY G5(7!6KA\6G(<5,'KPDA1/!8[P]P@&$8]+SD R-N[OC]BBI%*!
  327. XM+^1K1"%?/1I2Z=5[%7Y$/-CPZ<,J8.T/ >0;_U!,Q&#[6,&!)L:3V9B%@B)/
  328. XM)P :XS6QZZ-<U4IDJ7Y+?K8$GY1@S,U3SC TY-SIN#Q%P:),!\=#I1T!3[V%
  329. XM \E0UZ@J[1%*&XL;>^)@!P6RHATJ+/)?H'E(V5*]*UQ#?U87" (%+)D#Z4S&
  330. XMH,@P=A]3<JENBY,+%[AKN'"OA12F"53Y'&>R5[#8]W6 VX-I.;.Y;-QEA<T@
  331. XMOKRLB#&%N"8=G^3':5=F#@C7]WA_ 02^  SWA(XCRZ[([Z:Q05V"(G0$%"'+
  332. XMB22$#VX&.*B+O4C95GX1*? KNJS/.V)"4_QE.UB60FJ+Z]H,X\9NPFP'#P9G
  333. XM6W.Q'U ^$N:93J*1VD).#7CW9<T[THS"$A3H)7[@1::WPB79@BC3">S9=[A0
  334. XM"]F-=37U#\9U6D&P9L?#* 4P'!BDOAX7,Z5;C#BR6 DM5"8FIN H,-22 AVW
  335. XMMNUE49&90?@S^D>TN!"]%C<G#-(5I]ZD<WD()?L@Q]W)N-:H/T@C9>:Z<;6G
  336. XM\2E9K9A*J\!4L%ZE\,L#:[G$TD.!OUHAA#0$8\P(1@U':,Z(TA%<7E0]+C,/
  337. XM99BMHT6)#ZGUNOH%/E,%L6ZD[2=Z]7APJPLWD,&'S%<1#,)_V9]"NF,%@CQ<
  338. XM;I*&D!?8\ CDA-1G,R#349&:O!"+(<UR9.+BIP#^BP9@]:P<^86)/N?[@_$:
  339. XM#2%&N81L2)48!^E"<$4,F5/<(2%V];B&'78!D2?X!,[-"?W'46^)Q/30L2BT
  340. XM:\HG&/])#&0WDTSQ56SL1].X04]Q)(0/51KQ"8H4J1JIMK50PWFMCX6HWP!!
  341. XM-D@1CH3D$G+M"!<J ML1;[#08*S>%*)QRQCU9CC^YBW>Q]T;2HBL]@TI=^K?
  342. XM2*=F_!8-G_HWB8O?H$1M9!Q;.M+F&$_A-!T3F)==GVE)0,5M8CU</H!$,,6)
  343. XM89*W0 + O#.^P]:O_QT7S=%<C*E-8KY,#5!+ P0*    !@ XBDT;5=\4'L\#
  344. XM  !C!P  #0   $%#0U0O34%+149)3$4- @$2(Q05-C=HB9K;/ 4&$A-$Q?:6
  345. XM]T>"!!D31O!F"9(JVCK).R?(H'7/@LPYLZ'"$<*GO9N&75O6;%JV94&:?2M'
  346. XM>P\=2E4G2*=E[4#ODW-!0AT"O<>.?5O7+=VT;N1WT[)TR\JISX>^A9M7;MJS
  347. XM:.F"1#DT!;4]:Y!B\^#7((7*?7O7#;0NRR*]; NW3OXA[S+'6@[U!EG5;5H[
  348. XMSGMN6CKO^ZT9IC]V+=NP;LE@L^!-=2C1GESICD'>1(L*K7JT)T@BP"JX2M9S
  349. XM_C5(NF^B#^TDFW9N6+%LFKV(<]-6S:-^-WUROYG4[RGUH3,Q;^A:[IGYG\+<
  350. XMY[8-RY;-O!Q!E0Q;!_W<:C=-[K-UT*[\'W-7-:_O+'B'3.-VGR2)(FM/>;)G
  351. XMSY-%3U#O)&CKEG;V?E&L5)HKI]549^IT*12C%W7392.D7@OR99MB+\OF&"R1
  352. XM8]@6R#!FB6007\ZQ>LP^QZX=OUPY4AU$?0?9MNX<NEILF;UX&34UFC\MS17^
  353. XM1(".-E70!16.SH:T,T'Z0X:D6[;9\AS?5*$R32JTITN77.JU6*YA&%_]^JP+
  354. XMY=/>4YTVT8Z=ZZ8,I9T-H;)C[X:E\X3:3@_)?A!'V;U:PU.(][%HFF.L6&X7
  355. XM=.0R3]645=:*"'8DG-_D%+^Q<_RVON'F4'V#IIWU#6$[133%>_$GX2>VW?P$
  356. XM]A0_)1,_86*W@\X9WVV^,.QMIJH^$W=.;=J3;M@YIE_D[X3-7>59I;G>T&/9
  357. XMUB5;IFY5/:17UYL[N6BGAQIE&O3HE"H%D-5D=(O#=TLYSX>YZOF)!JWZM>E4
  358. XMHD^0[I9)Q^H@S?5GS_=LS(GYA8ZG:&Y(RQ1QSQS8+<X!-'0@,)1"[;VQJO<8
  359. XM=4'/_)EU/L4Z,@CH 2G5&@E"\^W&247'+M,K[>)(!Y')CF)>1;'+AB7SJNGR
  360. XMK5@UU3W%F+)I4"B-(U4D&FM>:J@_3OW+X@FTDK3ZS9P3:-+E&&I%N*T#>2< 
  361. XMJMG,7_-@OJ5'2'.^6WF"S[B8KK>[ZJJOT)8)Y4C:VY89'_\B/XMFT!=ML<*6
  362. XM8;QOJ($7Y=;Y:3?JWQ%ZW!-MSYQ+XE8O-IKPC=8EFNJ8?4WWJQW<ZCG5SV69
  363. XM9:?AKJFLVKKAN$?PJL<8J>E,KW*1U)\*53J%S--&\7T0T2CF84MUO>72H8II
  364. XMU@A>4CEBS?R[,-*HQW,L2!UIV=\\!;.H8W^%.Z;+&H4\F2)MR^4(7X<;J^8P
  365. XMY[2G64SC+ IM2>B4+.Q$:*Y2+B1=)<\AQVT9/0?K<)S2?+L)HJI":%$TIZ)>
  366. XM<^H;]1WGE0-02P,$"@    8 _%92&U=V".BM 0  VP(   \   !!0T-4+U=!
  367. XM5%1#4"Y#1D<- @$2(Q05-C=HB9K;/ 4&$A-$Q?:6]T&""*Y'@IQ;EB[(M'!!
  368. XMNJW;5FQ9N0T58.=M\WZIWCUCRISI8CC..W&_W\H%:6;XQ;Y]2Q<.,8NOGMOY
  369. XM2H_AGF' ]5NW+?6$ZS?(RWG?P=]KWG?8N6O,$]4'/7O*K%G3Q7 .XQAB6;=T
  370. XM_M>]2E_[LLWP.MYNP[8MTZWEVA'><Y+AJ%-^$\Y*&;#/AHG>=\/F.8:++HAA
  371. XM:]+("A[MV[ILR8)$&X9=A76R;X+JM&Y!LDT[EP[Y3M!<SVF>/46&K3MV+=NP
  372. XM;LFZ##O6I5N](HHAOH5+-XW2'9:-$8MXCU%>RVYF?9\%T:_9LIT+\FI0JE2'
  373. XM0F%>=^ZU:9XWR#'HB^X>\S[:MYDIG2X:^GV&&6;IA@NGJYZS19.ZE+<<]05V
  374. XMOU%?\JO*!6Y,G+"3,0O'Y)]UH8_N.1,FC.H*>; 79,X:9J[Q76?JGK,W(MFR
  375. XM9M,4:=U"R4VGGCFIXFH05_M<%DS^FC$MZCF?L\^=D_?X(0$;EYLMW3EAY8QX
  376. XME->P<]_\N=(WFR;>AM>R+)ZE"WW=W73P!Q+":X6_-0)02P,$"@    8 %XI-
  377. XM&\]"&^XW @  S0<  !4   !!0T-4+TE.0TQ51$4O1$5#3D54+D@- @$2(Q05
  378. XM-C=HB9K;/ 4&$A-$Q?:6]U^J!!FS9LV:+$%>+4L6Y$R8(*>6A0LRI\R&"H(W
  379. XM2) @B18=ZK8L79!PPXY=8_QLP^9]6Y?NG.W2:5F[:=F"%"KW[5VW;,N6^=\@
  380. XMA[YM"\=[EY6#O,NZI2LG>E9UF];.\YZ;EFY>D&_-@@Q:IU@):S?E6N4+83EG
  381. XM?$$O:C/69=G&_"HGV].Z/0MR3_V*^E3SPBT+$N:-]*;N==T,Z[-NOOY8M&'E
  382. XM1+?@GRMW[%>R;K^&)4M6[E:975E05_LO]0W1IK?PGF7GSDG&@N_IEFLWYM8:
  383. XM\=E]&L9>+1-&\2Q3_#'@8^E^R;K-OMWQ'@,_98(4FR==:6LX[197YIG/^^[X
  384. XM"E;&5^#G^ JMP=6*[ROTH!RG_2L:LIKMFZZ0Q0#=*'&HNUB0/U.@!5[:FH77
  385. XM7(;4.'?]50^U?AL#+V(H2F]DLF7&7.N/9LBEOFF,&1\VC'JGT1XA2@!4YM:8
  386. XM-Z2$)+<F@^XURJ5+ERZN!E_&U: _I8N&WO8)>K*,/20PE=O@G0T*_"4!&OS?
  387. XM0 (092]V_0;O2@)D,OL*"4FF"&A7I&^0JB$ $\80H,\8 AA]2QE] \8:0*$"
  388. XMF#NH0):94H:E4Z4Y#@CDB)1WTPV31JQ,&VDTXRFSC')=9E1!$$:T0OOZNL0(
  389. XM+8S >!-:H?4  4O!^NZRILF)^G.G?>N&7\3//=@MX("CO.7N\ X-X!/*RSO"
  390. XM+R'+1;,=23(0RW!'X(.3$1M#,QM02P,$"@ &  8 &(I-&PN9U/ "#@  URP 
  391. XM !<   !!0T-4+TE.0TQ51$4O1DQ/5TA!4T@N2&$*>P<&&P:[#$L#"0<+"0L)
  392. XM!Q8'" 8%!@<&!38'%A<+"@8("@L%!A4$!A<%"@@%!A4&"B4&" <8"@<*" L'
  393. XM"P0E!"4$"@8$!10%"30'!A<)&BO\_/S[^_L,"RP++ L\"RPKK P!(B,4%38W
  394. XM:(F:VSP%!A(C%.7VEO<Q8_U)]B0W_[?F^V?^;F/YT;.+BHN*__\I_6[D*.-V
  395. XME+PHT?X?/LOSUV6;&\N\W>NO[=L?)_[D>[DWK^MH+X7;KFIE^86C@C^)'CTG
  396. XM'^%G_V:XW[LC7.=/W?;XX[SO?*YKN33K_3^ZCV6[\_]//*X(][9>2[B_U_YX
  397. XM;B2<SU'_L6("O\'DJAWUN_;?T%LP*\C7^-=Q@US^O\-K_@/F=/B.^N/.^W^N
  398. XMR>F@-V@51B@ ^?>YWHB'X1UJ@G?8_VD_@N![U*\:S6)V24D.7?%M_ZS<W-S_
  399. XM<?OA77OF<_GE)_P_FIOKNFQ/K78U?NW<XU?<B> U.?11?]3JM'GZ/Q&\D^5.
  400. XMG\8"U,/UYWDWEGW3N^U.>YU6:M_NX+;YO,,&?/?C+T_SO.D/[[1;8;8'(:+W
  401. XM_AR^T_I=6BJ %\:]-"JW^Y%$V>3NT.W)C 'WM*^0WF8O\?HKSUHA/^XU[HVB
  402. XM=I+:XG<F^'T=7L/7[_&?WX#*G^W^U6V?2X3'0*I1!)]))GCKX+B6ZSG]GHCT
  403. XMSXJQ%E['LA;@'9.JIO:[J7YOIO_=L[]#\)+.P^?K_]H>]'[IN3:)\3F7C]\\
  404. XM]Z9>JTBP\1)Q:9X_!&EC5*[\2^W9?BR?ASD>":LUU&#D] 0]AMMD=-R*.(C:
  405. XMZ[IG!;[H/*[7MXA+N-+](SSGC-@(L#],3$X.S>NQBK4\,LGEIJG"'.MUPWC[
  406. XM?9@G!N:1[ZCWMDC*,,?>5I2WTQKWP_P_0_EXDO(?)3M?)@;EI%_:]F7GZC_<
  407. XM2C:DV&^-8,;\)S _<2AY5CZ6/!Y%' ^'G8C]M\=V0S_O4A'WOQ??(]^W@W4L
  408. XM"V6:;_!#SR?Q;Y#]?+R[]9P)>L>&;VL\Z/N=Y.@]8CLFSEK:-[J?EX<7X(G]
  409. XMU_Q8#,# ;GZ;.YO_4MGNFRV1"7<XL=3Y6*_J<==_H^*5C^LAI%Z]US62_/!0
  410. XM\V7>Y&=-8#DR&!$>*NF^-\.+2&.(W^95?&".9#SD\%Z>ZX2\X#0B5,RNSXOY
  411. XMX!Q.'*GW&"0$?"+A-@29VO.Z_.;]:]#AY2_[/TV[UO[QE[VW;6 FJQ=F*E+:
  412. XM.<" 70<CU2=%R/RI5K>[^BQJ7]+J\IRGX"%PW0@^C7T^%L!3C@?L4"AC7I_-
  413. XM3I7?<-_:4;0!?<"9ZYV:N;'OKP/M>- SZ28(%>+<C^I/+*'IW\N:GUA*&B:N
  414. XM)#6R,<F5XD5Y&"\IPMW65;[S^P_$C5Z0*32[(]*WF4(QWA:B/W*"]'E9TQ*O
  415. XM1E;\#)@4Z?:XF2[!B,O!-4+[>WS^CX*HK9?@(I(%L!1#2\!]"?,.5U@K46B'
  416. XMO%::AH5_7.EX2BNBC%=25SEM>W95'"BJ/^HF]EJ0-L.<L#OW0V.T83!_'#5J
  417. XMYXTZ;@E_-#D4BM TJYO_ UI+/K")TVLF-9_7&SFE'%[E*4V"$9T&U[K#QK6G
  418. XM>HTOC!$6RZ=RA?>[6Y7;YI;7@WSQGTS^)>+_ZW.Y'(Y2BH7]'VVWE#^4G[&T
  419. XM:C6-,!GQ'<1=+BWAW,^NL?#W,9>;NM+$NTX@EN..2/,@V-8\1+51LSSW8/S%
  420. XM[=?U(ERE9ZM=?;;F4[TUM#K(]CQ8F!C(-^G9GK*4L"O@00GO:B.BP;XW:'UL
  421. XMR9D%;N7VW=B/^HKDO,3?]_$;Q-XNS6J_QG5G<5U[^S$-Z;WM[&JG 'T!WLRJ
  422. XMQK.IVS<5=1*C0'P.$;1G/M"Z:(<2'DS 353.F45472_8)=TP.>UN>AM6,&0J
  423. XMJAU^3U#ET:L V0=&O'+IC)VR:T?NEOY.2VZ!AX>CV;'P(.U<T[9=9Y$W]OJ3
  424. XM!ZF(RMO%FIC=H3G-D.J8C0%!=8,(6P]#1B[9@3 V,JUS)'U6YPFQN5P:D'>#
  425. XMD2I7B8YTMR0B2P5WSOUI82F+ETLG:=9*:-O!\4X=+2KJVM,'<\SGR16B?(]/
  426. XM;//K/A7BM-G;A2-^1T@:5$ 003^1:'ABTE4/$-L2D4E0J$,0Z= 1-R]#1_.V
  427. XM 1O#=7X+VF.YB^R+]=>0!B-\%Y?E<T/O*OLPN=0WL8BR H25AP3A->))&0<^
  428. XM!O*BWL@?C4?U#I=]RO)6\9ZH4 \6E[KQ/%5W%.^;G1WYG? J&/AP^Z8J:L ;
  429. XM; 6\(Y @$*HV+, _A@4,[6DCXF-8")9@Q0+S*!;"9G8L3)>%^PC@8UT#,_$8
  430. XM_0K+A1+[[ 9XF,]N(&%.VHFCT?M2,),%<RQ%1GC<S\J%P_RDQ':45E>""X=Y
  431. XMNTDN5V]N84ZB=ETN/]V/@8S82S3EJ,#Q7.SQ-W'$W5#U!:H1*>:=06_XAAXW
  432. XM[@1,):B=9\$4;Z)1%FM(NKO=&K<2VW'CYJ@>B?JTWD[*>,2AR-=KC.@9#T/,
  433. XMY_=:K="2E"Z.38B.,3M]VVW11A =2QZWPU1F0Q,]\+PBOW'CXC:1.8;WQDW'
  434. XM.13\-6YTFT.A/8 L42<3H,>':]J1/V&6,:)C=I,)N(P1G?5'_ @3'4)_Y$\4
  435. XM&]Y.3&V/.H/4MS,8$ET5&TYT:C%6;"S* +2@)IR-11F %M0$M3&B4]*1B6UC
  436. XM1*>D(SFZC449@!;[7&@;\SDE/$[;&-&-6T)TH6V,Z#8N/,>UL2@#XH(F(4YT
  437. XML!3C'-=&$!?TSW%M!'%!_QS71A 7],]Q;01Q0?_L7#<?J7@HI(_;F.*AB+Z_
  438. XMCU!@W1Z-*;B,=.5MK#MJO2VDP[.%&P-6VN8A*=&I<&,&;@$*(WIB: R9F(1]
  439. XM.Y9D\S:6F*2UVIQ=&QMV(_?LCD!MS.?5.Y[EV8B4@3/VUB 9*G*6@8<<ZQR1
  440. XMXZ$2?<<157#54-542JSC862 OQ@EA3GLO \!"13S<8M[C30)VV8T5%R!M.]-
  441. XM&MOU?K9&Y4_#TN#GME<'65=-BD-)9/FJ@2(%[TGSFPK\.,Q2X^2SF3 X<Y1#
  442. XMLKQT9TZMR(O?X8HFD3F>0W?DNCS+O-H=H6CB,B<3NM-UG[?&[<1)[6G<?J?*
  443. XM)I+E3'?84P\AMW\L"/3J7?5-6#[=07A "-9[50Q(E@^$QQ4/%E\JP" =_;+<
  444. XMB@=90J=-N"H>3NW@C -'=[%O0G>,Y93N$/HC=,?T1P5>7!S&>$BX$<9C<*.,
  445. XM![9.2(Y"8Y Z5#[D(.E.#<9T1[!<Z Y.H3$;#9KE,<$@( _>H3%!#<%R@3SP
  446. XMZ]Q<&U+>(MYUB\3Y+#R?SX?3'4[82%8+F4]W9)W96\"'^BXJDC$AZ%X!'^I[
  447. XMJ;!\NH.HWPA'%9:O%\ H'J=O!+6*=+DJ'K2 #_6U51CCP OX4'1'VKO@Z2X"
  448. XM/H+NE,!'X@6PC!<!'\%X2N C&0]2P(?ZT I4/N2@!'PHNL,1;4BZ4P<79B<C
  449. XM\ND"")"G$BY,6,9=SI '4<"'^@X2+)_0@-$=2=@( A^:S\?$#TEWFQ^*[N#D
  450. XM!S,_%-VQ4GU>]7'#123=;2R)S#&ZDQT%-GB'LI=PF1-I#>%&SKW8'6DBLNB1
  451. XM7$GH7ND D]:H=4#0'5MVLIGN4(*BR!S+HCL.U755H'A%D3F"[J2V[67W0^B+
  452. XMN,P)W1'NAX 14K"!U9*RB*"WE*',A")SG.[$FUBY0WH*B?J1]J)9Q.^C?M4T
  453. XM'@AA% BE!=A4/ PD-$:+ .N'>"X?$9MF/U*ASYO:[Z:V0R3LG()8A3EA:Z"Q
  454. XM@E#YH'W5K 7_<6+$Y/:PV\:!]^@?RU[Y_H1-S<G_&O^40#"=-?=_J-Q"\
  455. XMF?BB!_1:<0"Z,+P_].%=C@D(RO*X//?)"S/\B)F@\\'^O8^L[T=L0D"D\+'*
  456. XMXDQ<XD,?',][\MR<K0Y08"VQZMKV1*@7G),@]7<+[Z/!CEM%\*6KWP!",-SU
  457. XMA@ IVWE!N9&PL8&G0'#@#V;L3(CRG;H>)T.J[0G,%99GF%,L+B9\Y!IQ+A'$
  458. XM$N%L<1<6"!.5'*9&.%D?)D14$V1"DWHC=>N@@R1ZZM=:.I]P3B=X,;QPT%X#
  459. XM.SBPL(UP+>$08 J1&\\Q<G/[$M ZR?WEZYCE "L/ ^&PZ( V,A],DY\M@?!.
  460. XMSP2\IF?^8$QW4*KX]SK;Z20WU^TZO%;4Q0*!'+78643R2$KHVD.K T@C86F8
  461. XM @Q<?Q$[(0"$(GJ2MCL"T6%<3 B9*<.71SWJCUH=(B1XJ^6(: [!K D4U!!B
  462. XMUS[9P0D_G$CE U": )+K><OW5KV/1CBP0Y-F\#$U@4MM/L21"H9&&BAME,(5
  463. XMUO/7_*/@AZSL!7'AFE_'>,&]2/HG(( 7Z%NZZA&REZY[#25R(7G@:?5>Z*%3
  464. XM&&&_ZABKP_MKVWVSW&"'A4QL=O:ZE^XC(@!LM/0+X0)B-][Y* 4'/C?.?;WM
  465. XM3O$O.M?KN!;^@ZN9'BZNE^X5<) $0)3P4"6&L0^P6J4XC*@=VI\VZ W\AE<Z
  466. XM.$G7_@XI](QQNA)#L=6SD-AV@+%;S4M1"UO)K@EW.*V[O\=[71QSF,?-9JO#
  467. XMM;SFRQP'&D73ECFXI^1[2\$H'G (%TZ0\:0R@H#KAAEQV2/BQ#%=BY.W>(\[
  468. XM'A5(:__8F?\^'W7 BV#24L(B9EDO$7#Q^&>K6Q?<^@9[\J4@V)AXOO/ NS1,
  469. XM3:G*H9>=/DESOD[GLK86EU$F+TM$;ZLL(P[@">]W(KKL?O%],QV<92GEFTUT
  470. XMCBPMB">P(>=>1?&1\=NUJ/A>P0+<4#L^HJ=>F5.74R(CP@'2:8)YR,I]EBR/
  471. XMK#Q'G<L_H0D0TJ@HZ0Y02P,$"@ &  8 &8I-&Z&[3O/<#   52(  !<   !!
  472. XM0T-4+TE.0TQ51$4O34547U9!4E,N2&$*>P<&&P:[#$L#"0<+"0L)!Q8'" 8%
  473. XM!@<&!38'%A<+"@8("@L%!A4$!A<%"@@%!A4&"B4&" <8"@<*" L'"P0E!"4$
  474. XM"@8$!10%"30'!A<)&BO\_/S[^_L,"RP++ L\"RPKK P!(B,4%38W:(F:VSP%
  475. XM!A(C%.7VEO<Q8_W))"<S_[?F^V?^;F/YT;.+BHN*___);RMB&.-..R]*M/^'
  476. XMS_+\==GFQC)O]_IK^_;'B3_Y7N[MMWO)2?\Z*'[M:=Q\U]%>"K==U<KR"T<%
  477. XM?Q(]>DX^PL_^S7"_=T>XSI^Z[?''>=_Y7-=R:<9\1_>Q;'?^_XG'%>'>UFL)
  478. XM]_?:'\^-A/,YZC]63. 7;@_OVG5<R[4?'+/"4MA)&?U);HR,@O]4)?^/\&S7
  479. XMTSSOC_7K]Y:'_6,9W#%CQ1(X@!45Q_4=G41/3\]7>*/CKJ-G.^[J==OTY[D?
  480. XMC"-HAT>/VXH:1OX?'(U]*^W;L]QUVC5N7(Y>X(_/\W>LWO5W[O7>(O#<2?=6
  481. XMOM:5??]E__-*U3=4?_XO[_6KYO"1NO7+JKZ:H/U?*M?ZU[VVQ#_;C?-<RUI4
  482. XM7-\;<QFH?P"[?IWG"/=+L\1>F>[X:ZGL\_)K]_T)?^7>;MY=W1[HNHY6E[8]
  483. XMPE6_Z\+_61"^VF_N$6Z-Q7@^]N5JL/Q2Z7XVH/P_I)OG7X"Y\ OW%A4W]Z5B
  484. XM>,L=&NG!_R7T4=3#BXK7N<37+]=1_:K#\I'/.LOQE&_)["@Y$>;![S'?W[P5
  485. XMN[8]T%JWJI=KM7Q)^M+</*^&0"S 7A[NW.6K][S-("OIYWV)6XJ*X5K6TMVX
  486. XM:E<C_\=OU[+<QR]ME^J+.<X#K7JLX][08QD.VJ/^>)#<_N-^_T<>=SKC7FOP
  487. XMMG_D02O*[[Q1QQVHW_VM*(/V;W=36D3_M:@'O5$_<3CH175[!LE)_<$[]#O>
  488. XM3?'T[XRB</QQZJ _:(5F_J0,6KVWW4:(]WZO6U3\AO'V6K\=1?%U6;L=EB7U
  489. XM_?W!.+7__A21/^Z%]MM)[V@P[L.]PT'G';6H/N7N]MIOB"8:?IO_A^/D<53[
  490. XME^SFN$2.,FZUN]*_ [K;B?T6VYK2Z2;_?K<MM185)[;??*_?&MN]29TNTS;:
  491. XMD:.\K2AJWVJ/"?ZH->CV8%?UW^IP_/S?>Z/V!U'?WNCE6+I<3ZO;D?J);;%K
  492. XM_A]W!FWSMYO8XGN[H@_B[[VDMW6'[G^&[?@DO1WWG3QV?5+P&TE8.WH (G E
  493. XM=3-';%1$XS6#'TO-/>(:;EWN<F%!,*(Y]%5[D9S#V1SB66P.^BJQ'-RX7M_8
  494. XM#K+C&;^!#JI1ECWXI>%R\'/=Y>!-O1OWNMH<XHX ZR]SB.TZ:KO,_Y_%>N!@
  495. XM]KB7/VXT]OE@\9*7QV;%[?#&?D9<FJ?I(6K4!U\[]_B(DE;#2PR\VJ&K]]+V
  496. XM<$]:-IJGJ/@.#[1^&^LJPA-QNTV-CV D<]:[LMP1FW,M4JAP3S"IBYN]M>+M
  497. XM5MS<\"DI G=<] WH%L9M[1)VMO<JXO8ZUN4Y&O1F[[/NY J((>M?7(QX&H)B
  498. XM]+<JM[Y=*.N9UOB7G^K5^,=<;@J:(UFYGT:%\(QI)";-<%3_-F$XXO!MCSJ.
  499. XMIN;R''HPM+E.;$X3DUJ#Y!??E&SND91>8G+JRWG)\3X>91 U2N1QZ\7Q[X3I
  500. XM<Z/^"41F(FX518O1*G9)Z7>[0ZWC8D^.;N-.WA$M5A^O0!>/D?ZXW8HXZO;[
  501. XMK],5Z(D!=#I*['0(G"-V$OMOQ/:+>$_2@4Y?"GLEMZ$1'9]$AQV>W&ZWF)R!
  502. XMG%^$\<_F:@)T];\ 71U'DMN]I/$HS+?5AA[)=AQ);K=2@7Z_&Q7H>!;0\>30
  503. XMD\*D=6X1'\\$.I+PL&R))@;;NX\L,!SH9P =]WDZHS" CE,U$?S)X]8HRJLX
  504. XM+#K0\2CC=A3!'T7H),L\"= ]2DX2/)XEV5B+\ D1I.%9DHT$>DEKXN.2C44=
  505. XM#7H*\3#4S8'.DHV :%B69&/C, ;#_BMM/<G-S06Z2C:6/.@)'9Z5099XTJCW
  506. XMCCO);S)4< SBD:11BLSC4%@,XI&D4>IX:%VW[:ZX(ZR_FYJ8@G,".Y(T,M-O
  507. XMV9QD0KE8BH[V&[JIO\7(( 7'<]R/'O"45FA);USAHC3'DUN)6E_]9)#"K_T.
  508. XM43YADT%*4I30VN/AT"RLL>V:#%+&PV0TI^-6HLSG3S)(Z7KV,!?V)(,49;]<
  509. XM2J.J;.XDI&MWU%(-QYT@)V%Y$T=CBM8)][!!C^8X^C \I>V1J3S,)Q\VZ+V=
  510. XM3K?#\MF'(?]>F+UNY)Z)<JO;_A/_85[N-!/]82X?8(1_R,06SJB1B]D\.J,$
  511. XMC<E\GFF.06,N/T3[;R]NSD0A\7'+(07K9-S2*MRKR1A$O.5RL;:Q01*"/+DR
  512. XMLUC*XX.DX9LR=I1NM?J2QP=)@YZ,^#L(XY5\7(Y'\?V",WOC,%_^D;GE&Z=_
  513. XM0,1&[8QQ!+,WGH12</O&DX2+P#?N\K[]@8?1N.B-)Q'V'4%AVU2U>>-)&H7I
  514. XM#S.L=CLF5?E$)'7><3M9TE3Y1-+<TE\^X3!W-TSY1+#<*>-!'^;K#TOIC*-R
  515. XM/>S#5%ZM*_LPEW=D^:V6=-U"CH?X7<%"CH=V*7K#QD.D/'G<#I.OD.-AJF4L
  516. XMXY.%>Z1/!]Z[)9=(EH?X8M=(F9> >F<PFN ?*7.2XW^DS$DV7R)E3K+B^C4F
  517. XM\_3>T%M1NDEQ#1N3>5B<$#;&\E!GY!+I\@!SC^NH80-X\T$/R!S(5OWA- ]V
  518. XM5 T9CG.#=1,1PV-=PPR-^SRVV3?TT;"M9D/[/$GJUC [U>=*TKC/PZ:OQ:Z=
  519. XM+C"-^SR=%Y=MORM/XWCS*$K7;FK4N,VY\R;Q7*D:IQM3Y2R:6 ?<YTC#]XL'
  520. XMS.=!S@K$MLDE]3E8O@=80OI\J]JDV#]@-C=*$08?T[E5"M/P,9];I3 7'_.Y
  521. XM50KS\3&?6Z4P$POSN54*D[$PO:E*,8^%X9R:M'U>MD;@35V*<]@:VJ60.78-
  522. XM#5-8CEY#PQ26XZ5BK5%2I]4=]Z-V.P3TDXEX,)^;4CNN!$]DCAB''A<BP&4^
  523. XMR]>E-ZY!@--\$EK#>!'4>TY1-8OP_*1QN^US(0@POK>EZIW4DG;R&0+<YTMU
  524. XM4PWY80C0/!^*%Z(WKD& XWP=_U<H"F,1F4^4I3GS-(+8?=QK\YP:-9*AJZWT
  525. XMA8\PG&N_.QKW]76ECYC/\210RGX/5B-]WLZ;K'>ACTB?4[TWKGP4?C89>KL5
  526. XMUB6NE8/0^;VNW,LZ=3O"RR?@(S1?RZ^:QC*I#FRB3:PW86EU\,-I'C,QZ.3C
  527. XMHA^N\T#UG60?*_"'\SR:3,K<1.:Q]SL:XY+FN96;\#RTA*0,1DQO7Y.OTDV,
  528. XM;CY"$?$+WLY-=!X3=A.36(6B$I% )[QCF8C@FPF9#WEOETAH[BC =91NG^>J
  529. XM$W&?(_L<O\\4849',CBK<4Y\N2),H&S\K2*,K=RU"_?'8/A"V=!"#RU?^$J4
  530. XM&H["8Z"+4L.3NSU@_\X@E58.(AU&]"*ZCP<=6)SC<MAPH8<_&Q?#AAFTU;5I
  531. XMKCP-'QG;=4(;Z(9I&"Q';5Z:AGOV YO2' 89ZPP\V%"= 0*U[4&(O")LK#-0
  532. XMG6%NMH"-&.^O+6*C 0G[CJ!DQI/1 ))3BQ#"PD>B8L-@N;,\H36E]75N:9*E
  533. XM"24B:ID5;EZB37[E62MY%7<2(D6L3QETI*^*+ %O O0(T =HLY(9Z/AX)'AH
  534. XMR1&@1_ PF,:0?[=/E@:Z$#7.\_ >AVH<Y[$]YM6XSI/:[[J>PA:R95BA(C7N
  535. XM=Q3B,#?KE5&(2SJ_@,1V60DC"G&PFU:03RC$.RT&<JA\)13B8C=!$$(AWFF%
  536. XM6**B:/Q7V\90PF /^/!)+@,+H^Y(R*>,1_PDGN12C1 ]XV&(^7S+L(,]T55M
  537. XMA.@8C,F37+X1HF/NJ^+5<83HT8TUHI))KI9'@(X9GFAYA.C,8U"BA\LC1&?!
  538. XM,V!:C8$1_:$/XT$??$STPC6<Z-3R.J%.G.A$8V3BG3C1B<;(Q-C!QPPP Q6,
  539. XMZ+LT%F4 5#"B[](8T:F<1A@=G.@XQNB$T\&)7J""FSJXSW'"XRB-11%TV:>8
  540. XMZ*,T1G3[%$;T41KA4S"B#YX8T7'+RR0'/#&BB\;P20YM(WP*1O1I&TL:)HK1
  541. XM[NNAB:I7T6%@)",=.4% X5*^X'K+MF2C"2( \MSP!2 AB &WSM^O.KUE;I!&
  542. XMRHD1:C#2>'SM]V8(W6"?#&@4Z$E@WT1@RW?VM OUXL-:\'S>!^#9XE>I@%;[
  543. XMT$ FNX"=EW"E6^N,\0H?IP)MZXT* C:N=>'>6.ZEX+>M["7 QC\4/6PPSZ5G
  544. XM%8:1^6BP ^<Q!/Q7KF/1.UDK#H";/4_CQ#L_#5/(Z@+N!_%^_A,/:&$S]@/'
  545. XM!E6Z)U9A+(*Z'L:S%>!"BOY9%3 Z[\IX9-#3 CM02P,$"@    8 &8I-&YU5
  546. XMS2Y\!0  B0L  !8   !!0T-4+TE.0TQ51$4O4$M44TY!4"Y(#0(!$B,4%38W
  547. XM:(F:VSP%!A(31,7VEO=?J@09DR9,F"Q!7BU+%J1-D$_'T@69<V9#!<$;)$B0
  548. XM4)=2G>HT*%272'4L;Z)EQ[(-*S<LW;1OW<X%:?:M7)!!JX*$&W;LVC+ONXWT
  549. XM3DLG>J=U>Z9^)TR@OLOBI5N&?*$WZW6MYG=9N6S?(&^J0Z&^3 I%FQSZ%FZ>
  550. XM^'T63?]&.31%T)TSITP6Q#\3I-B\()V6M9N6+4BA<M_>=<NV;%D6[F5;N'6.
  551. XM#7EE:[IRJ%?TKC*O[3RO<DT'?K\UPW372;J\;C=!M<H7X')D6K-DRYKYFSU?
  552. XM\WG=94$6Q4JUJ%0GSU^6[=PRUF'N=KENN@>R E;'<&KUUZ93B3Z= KW:/"0K
  553. XM-B]_@[RS5=,="Y?K7+ECN<(YWFOINAP+TJ6+H:7=MVG&U_1_X=YVOXX-RY:M
  554. XM3)1UJORS;O3;78W&[;-):M21H+<;N%1U>LSYJJO-#+]*L77-FDVY0UN@K;3K
  555. XML'6__$GNJ%],B#E%L0XK1EEA$3>UP"^X(02AT7X-2Y:LW*TVN^X0#R6/U?]N
  556. XMTJ#GLG3SQ?+><W<$B<JS: \.U.K-V+9EN/UK73QG'M2!)N)*X!BKQFDN\Y67
  557. XM:DL8>S!Z3K%KSZ:)IZ<D*Z.;#.^VV#*GLR*W&ZD.4L[Z.GV*R?IGW]9!_>%\
  558. XM;H])JN=  TF9TXGMSQ'>8]"W':X[395"OA+CVX;%^^4+!MIGD0;K%D'NLRRR
  559. XML^?,O9.MV[9MGB,Q_DU&N>*?.XX$3GV? _3G?@&ZVX@;-/@YS/@<*AIUO4:W
  560. XM^DTZA.:XM'4;KFJZ-3?Z9JW)@(%^8[K[([L:"NQ#OJVQRX:IXLA:V+:[N.QV
  561. XMMYHSG!G 4-Q.*Y9K7)4NP\YM(P9"-Z$]IL>1[*KU.DR"L\@YB(FK3I+Q3'@W
  562. XMOQ7(,^Z81RUC -!@21#)#5&%UXI8P2_QQ=IOPU7G18GBF*M,,;V2LS(]Q7R<
  563. XMTB$?UWSH"?Z$_*!/WJG=?A.IC1)O3)9YA#=(/+S4>66,?3C6\'/V]=LYX M[
  564. XM3<?5+RZ:?>04A@'?9-:4'G&U"3/J1KS"4*8GQ!&OF$:E/FTB^L/P=8&^0+%$
  565. XMM2AU*G^G&K7)Y&.I/H%_D#1GR#>2WUC\+M*H6ZJB_B;DF7M8ID6=N#^*_+)%
  566. XM/7+%X'0*W-!AD-@@+LM!8#?,6?K-[F1GH<N@R:9!L:#\2?.8-67:N 5@X$\R
  567. XML--A-'N,6I?2=3)UQZ*YZNY[<B%"ZA/NETCP'9$ $O;"N0W'-T7P.2]MN64K
  568. XMV26^[KNC3KASN,DQY)_S'=-NE<*TGP61O6F=/:V0JDYEOQA6\>P!TF7T"B,_
  569. XM]3UW#?JEC_JZ98Q-QCT_VK0LNN-?RJQIHS]%<:9?)N%]@6)IBU.TKV--H[<O
  570. XMUQ]+9.ZM1IG695D7W95G-YR7N?%/@8PZA+D#&0A2H4B&:+:.;Q<R(K")T4$:
  571. XM4RU2;=-4 '':HDR=![Z9%THT\O^*ED7Q;%/<$E'.Z1_8=URW.2[G/,/?H>PB
  572. XMF&MX [DSW:KD8M/GAHDK7 O)\"&+3=8-2XG?K*4JJ7J8VT2<VB[F(S>=4F!2
  573. XMP&2W4>VP</8:OBYC9M%QF+&!UOR!,C$1-JVZ)0I"S!3'Q'\[A9>SV V7A6;E
  574. XMF(WT-.?FS0HAB.R<=%%@E73QY(_CS\N"94 K;RE#/&DCT]P+S&@6TRE&V7$M
  575. XMX[B<T8GJRCK-J:YG]=HY>6.A#B%YP[2#R&X:CXPI(]9E&BFGF8]38QS)SC*6
  576. XM=AS:!>,6('6;C1S2FX9T\[0>.N53D4Q<":QR:4<QY1:CJ%N$C5(F33:M6>_G
  577. XMO%^$ZYHPV2A_33;+E[Q459>0;WBN#6V. _?GNP%2.JW*E(DXHGE\TM!C8E0#
  578. XM4$L! @H "@ &  8 5 5F%^DAI9T"*   3'P   8          0 @        
  579. XM %)%041-15!+ 0(*  H !@ & -P$?QB(F%J<\A@  "5    *          $ 
  580. XM(    "8H  !214%$344N,DY$4$L! @H "@    8 :W2J%CHH)9A< P  4@4 
  581. XM  L          0 @    0$$  $1%5D5,3U N1$]#4$L! @H "@    $ (E92
  582. XM&R^BBI5'    20    D          0 @    Q40  $Q)0B]$54U-65!+ 0(*
  583. XM  H    & #A-9!>>I0V4T00  'H)   /          $ (    #-%  !)3D-,
  584. XM541%+T)/3U10+DA02P$""@ *    !@# 9JH6-LO<BOD"   Q!0  $@      
  585. XM   ! "     Q2@  24Y#3%5$12]#3U!94DE'2"Y(4$L! @H "@    8 \ECL
  586. XM%AZ#LOM* 0  SP(   X          0 @    6DT  $E.0TQ51$4O14Q)0BY(
  587. XM4$L! @H "@    $ 1K=R%C82C_C*    $0$  !           0 @    T$X 
  588. XM $E.0TQ51$4O151(1$56+DA02P$""@ *  8 !@"0B4,: J.&2$X,   =(@  
  589. XM#0         ! "    #(3P  24Y#3%5$12]40U N2%!+ 0(*  H !@ &  P 
  590. XM?Q@ 6 \/M \  .$P   0          $ (    $%<  !)3D-,541%+U=!5%1#
  591. XM4"Y(4$L! @H "@    8 PGQ=%1LZY$\V!0  40L  !$          0 @    
  592. XM(VP  $5,24(O0D%#2T=23D0N05--4$L! @H "@    8 XFIH%3:3@3AG 0  
  593. XM2@(  !           0 @    B'$  $5,24(O1$]33$E35"Y!4TU02P$""@ *
  594. XM    !@#"8648L:87U9@"  ##!   $0         ! "     =<P  14Q)0B])
  595. XM3D-(2U-532Y!4TU02P$""@ *    !@ =?$$9PGD1BH<!  #4 P  #@      
  596. XM   ! "    #D=0  14Q)0B])3E1%3"Y!4TU02P$""@ *    !@!Y96@5X*\M
  597. XME\ !  !L P  #0         ! "    "7=P  14Q)0B]+1450+D%335!+ 0(*
  598. XM  H    & .(^J!; OL#+OP$  /H"   .          $ (    ()Y  !%3$E"
  599. XM+T]55$-(+D%335!+ 0(*  H    & -VS)!=')UE&$@(    $   /        
  600. XM  $ (    &U[  !%3$E"+T]55$A%6"Y!4TU02P$""@ *    !@!1-Z@6GL-_
  601. XM;O\!  "T P  #0         ! "    "L?0  14Q)0B]/5513+D%335!+ 0(*
  602. XM  H    & %0WJ!8B.:H,+0(   $$   .          $ (    -9_  !%3$E"
  603. XM+T]55%-.+D%335!+ 0(*  H    & $V#MA8)$:NE90(  ),$   -        
  604. XM  $ (    "^"  !%3$E"+U%#35 N05--4$L! @H "@    8 $*&=%C5LO52%
  605. XM @  MP0   X          0 @    OX0  $5,24(O44U/5D4N05--4$L! @H 
  606. XM"@    8 ;G>P%,.3*P&8 0  R0(  !$          0 @    <(<  $5,24(O
  607. XM4T5-05!(3U(N05--4$L! @H "@    8 N7!#&!U+&]KV P  S@@  !      
  608. XM     0 @    -XD  $5,24(O4U1224Y'4RY!4TU02P$""@ *    !@ 0EWH7
  609. XM4*TVDE\$  ">"@  $          ! "    !;C0  14Q)0B]424U%3U54+D%3
  610. XM35!+ 0(*  H    & !:P6!@NMKMUB (  #<)   /          $ (    .B1
  611. XM  !%3$E"+TU!0U)/4RY(4TU02P$""@ *    !@!F7#P."J;H=L    !2 0  
  612. XM$0         ! "    "=E   14Q)0B]-05--1$5&4RY(4TU02P$""@ *    
  613. XM 0"'BJ$61Y.N9-,    @ 0  #@         ! "    ",E0  14Q)0B]-3T1%
  614. XM3"Y(4TU02P$""@ *     0"9:7L56@7A;XT   "R    #P         ! "  
  615. XM  "+E@  14Q)0B]/551(15A%4RY#4$L! @H "@    8 !$5E%63"U[-: 0  
  616. XM6 (   L          0 @    19<  $5,24(O44U31RY#4$L! @H "@    8 
  617. XMXUOA&!\RE"%L @  ^0,   T          0 @    R)@  $5,24(O34%+149)
  618. XM3$502P$""@ *    !@ A9^T8C>1,_R8'  #\#@  #@         ! "    !?
  619. XMFP  4U)#+T%335!+5"Y!4TU02P$""@ *     0!$:JH6O1.MKW0   "3    
  620. XM#@         ! "    "QH@  4U)#+T-/3E-404Y4+D-02P$""@ *    !@!S
  621. XMB4L8R!(QIIP!  "K P  #0         ! "    !1HP  4U)#+TY%5$)!0TLN
  622. XM0U!+ 0(*  H !@ & !JK0QC3ZR4Q(PL  +LC   +          $ (    !BE
  623. XM  !34D,O4$-!4E N0U!+ 0(*  H !@ & #QQ0QA0^B"CG0@  '47   -    
  624. XM      $ (    &2P  !34D,O4$-"3T]44"Y#4$L! @H "@    8 AW9#&EB7
  625. XM/]3P!   _PX   L          0 @    ++D  %-20R]00T)31"Y#4$L! @H 
  626. XM"@    8 &+Q*&.%&8EB* 0  ( 4   L          0 @    1;X  %-20R]0
  627. XM0T)51BY#4$L! @H "@ &  8 W&1/&FL8*=+3"0  Y1D   X          0 @
  628. XM    ^+\  %-20R]00T-/3D9)1RY#4$L! @H "@ &  8 76-L&+"1*. S"   
  629. XM,Q@   P          0 @    ]\D  %-20R]00T1"54<N0U!+ 0(*  H !@ &
  630. XM %E1C1A&".'R[P@  *(:   ,          $ (    %32  !34D,O4$-)0TU0
  631. XM+D-02P$""@ *    !@!G06P7IQ+J1I<"  #J!0  #          ! "    !M
  632. XMVP  4U)#+U!#24Y44BY#4$L! @H "@    8 33D-%W+XP5@[ P  \ 8   P 
  633. XM         0 @    +MX  %-20R]00U!)3D<N0U!+ 0(*  H !@ & .-T0QI1
  634. XMB#1UH@L  %TB   +          $ (    )/A  !34D,O4$-02U0N0U!+ 0(*
  635. XM  H    & #M]6QA@R(_"1@4  .P1   ,          $ (    %[M  !34D,O
  636. XM4$-214-6+D-02P$""@ *    !@#A6# 7_&F DG4%  !U"P  "P         !
  637. XM "    #.\@  4U)#+U!#4T5$+D-02P$""@ *    !@!+N7H7(!!1RQ$!  "3
  638. XM 0  #          ! "    !L^   4U)#+U!#4U1!5"Y#4$L! @H "@ &  8 
  639. XM?%.7&L68DM*-00  1O(   L          0 @    I_D  %-20R]00U1#4"Y#
  640. XM4$L! @H "@    8 0&!M%W8290\4 @  V0,   T          0 @    73L!
  641. XM %-20R]00U]#0E)++D-02P$""@ *    !@"LKF48(!/_SJ8!  !S P  #   
  642. XM       ! "    "</0$ 4U)#+U-%3$5#5"Y#4$L! @H "@    8 6&JJ%ENN
  643. XMK3I' 0  +@(   X          0 @    ;#\! %-20R]33T-+7T1"52Y#4$L!
  644. XM @H "@    8 R!:[%D%!+&8^ @  >0,   X          0 @    WT ! %-2
  645. XM0R]33T-+7TE.22Y#4$L! @H "@    8 <E?3%H9I:7/L 0  *@0   X     
  646. XM     0 @    24,! %-20R]33T-+7U!23BY#4$L! @H "@    $ EQG5%O!!
  647. XMI]Z+    K@    H          0 @    844! %-20R]415-4+D-02P$""@ *
  648. XM  8 !@!R@'H7R;M&JIP4  "C-   #0         ! "     41@$ 4U)#+U5$
  649. XM4%]$3TTN0U!+ 0(*  H    &  < )1<"CPGM)0(  +8#   -          $ 
  650. XM(    -M: 0!34D,O54107TY$4RY#4$L! @H "@    8 +$DV&D'(%93' P  
  651. XMB D   P          0 @    *UT! %-20R]-04M%1DE,15!+ 0(*  H    &
  652. XM %9P\18:W8@%; 0  .L(   -          $ (    !QA 0!!4%!3+T-/3TM)
  653. XM12Y#4$L! @H "@    8 NQ&]%FVT%V*4!   :0D   X          0 @    
  654. XMLV4! $%04%,O1$%95$E-12Y#4$L! @H "@    8 964M&+7.5-G4!   G0D 
  655. XM  T          0 @    <VH! $%04%,O1DE.1T52+D-02P$""@ *    !@"B
  656. XM>.P6L3K_<?@&  !4#P  "@         ! "    !R;P$ 05!04R],4%$N0U!+
  657. XM 0(*  H !@ & $>$1AAMTK5:Z0T  %4E   *          $ (    ))V 0!!
  658. XM4%!3+TQ04BY#4$L! @H "@    8 ,!*]%BQH!3>H!@  ( X   P         
  659. XM 0 @    HX0! $%04%,O3E1)344N0U!+ 0(*  H    & $^%:1C>LA=0P 4 
  660. XM / .   )          $ (    '6+ 0!!4%!3+U!(+D-02P$""@ *    !@#V
  661. XM<8@8ZWFR$^L&  !8$   "P         ! "    !<D0$ 05!04R]024Y'+D-0
  662. XM2P$""@ *  8 !@#P;%088UA5@,$'  #(%@  #@         ! "    !PF $ 
  663. XM05!04R]03U!$54U0+D-02P$""@ *    !@!I-! 7,U-RLB$'  !I$   #   
  664. XM       ! "    !=H $ 05!04R]215A%0RY#4$L! @H "@ &  8 )Z]#&$4=
  665. XM%]/,"   "A<   X          0 @    J*<! $%04%,O5$-024Y&3RY#4$L!
  666. XM @H "@ &  8 $0![%XB'TRQ,&   '$4   X          0 @    H+ ! $%0
  667. XM4%,O5$-04$]25"Y#4$L! @H "@    8 E!*]%DLM8]/"!@  ?A$   X     
  668. XM     0 @    &,D! $%04%,O5$-05$%,2RY#4$L! @H "@    8 S8DS&K+*
  669. XMH$Y$ P  %0<   T          0 @    !M ! $%04%,O34%+149)3$502P$"
  670. XM"@ *  8 !@#5B$T;]^[%@MP1  #\2P  "P         ! "    !UTP$ 4TY-
  671. XM4"]!4TXQ+D-02P$""@ *  8 !@#8B$T;TV<Y:F4,  #2*@  "P         !
  672. XM "    !ZY0$ 4TY-4"]33DU0+D-02P$""@ *  8 !@#9B$T;7/ML=2\6   1
  673. XM20  #P         ! "     (\@$ 4TY-4"]33DU004=.5"Y#4$L! @H "@  
  674. XM  8 VXA-&S4(W*5:!0  8 P   \          0 @    9 @" %-.35 O4TY-
  675. XM4$%55$@N0U!+ 0(*  H    & +B K1IQ)O*_:0,  ( &   -          $ 
  676. XM(    .L- @!33DU0+TU!2T5&24Q%4$L! @H "@    8 NHA-&^3"%#]^!0  
  677. XMJPT  !,          0 @    ?Q$" %-.35 O24Y#3%5$12]!4TXQ+DA02P$"
  678. XM"@ *    !@"[B$T;J0A8IFX!   M @  %0         ! "     N%P( 4TY-
  679. XM4"])3D-,541%+T%54TY-4"Y(4$L! @H "@ &  8 O(A-&U5:Y9O/#0  *BL 
  680. XM !(          0 @    SQ@" %-.35 O24Y#3%5$12]-24(N2%!+ 0(*  H 
  681. XM   & ,*(31O@9B052@0  %D(   3          $ (    ,XF @!33DU0+TE.
  682. XM0TQ51$4O4TY-4"Y(4$L! @H "@    8 Q8A-&\( (H3U!0  E0H  !<     
  683. XM     0 @    22L" %-.35 O24Y#3%5$12]33DU024U03"Y(4$L! @H "@  
  684. XM  8 )XI-&U1 'F"?!P  01$   P          0 @    <S$" $%#0U0O0TA!
  685. XM4E0N0U!+ 0(*  H !@ & "B*31O3%TF/ "D  .";   /          $ (   
  686. XM #PY @!!0T-4+T9,3U=(05-(+D-02P$""@ *  8 !@ HBDT;@\@_1C(H  !H
  687. XMU0  #P         ! "    !I8@( 04-#5"]-151?5D%24RY#4$L! @H "@ &
  688. XM  8 *8I-&Q1[8_,R$@  "C    \          0 @    R(H" $%#0U0O3454
  689. XM15)?4$,N0U!+ 0(*  H !@ & "J*31O^W?2%0!(  .0N   /          $ 
  690. XM(    ">= @!!0T-4+TU%5$527U58+D-02P$""@ *    !@ XBDT;5=\4'L\#
  691. XM  !C!P  #0         ! "    "4KP( 04-#5"]-04M%1DE,15!+ 0(*  H 
  692. XM   & /Q64AM7=@CHK0$  -L"   /          $ (    (ZS @!!0T-4+U=!
  693. XM5%1#4"Y#1D=02P$""@ *    !@ 7BDT;ST(;[C<"  #-!P  %0         !
  694. XM "    !HM0( 04-#5"])3D-,541%+T1%0TY%5"Y(4$L! @H "@ &  8 &(I-
  695. XM&PN9U/ "#@  URP  !<          0 @    TK<" $%#0U0O24Y#3%5$12]&
  696. XM3$]72$%32"Y(4$L! @H "@ &  8 &8I-&Z&[3O/<#   52(  !<         
  697. XM 0 @    "<8" $%#0U0O24Y#3%5$12]-151?5D%24RY(4$L! @H "@    8 
  698. XM&8I-&YU5S2Y\!0  B0L  !8          0 @    &M," $%#0U0O24Y#3%5$
  699. XA12]02U133D%0+DA02P4&     %L 6P!0%0  RM@"    
  700. Xend
  701. END_OF_FILE
  702.   if test 41468 -ne `wc -c <'netramet/pc/NTM.Zip.UU.E'`; then
  703.     echo shar: \"'netramet/pc/NTM.Zip.UU.E'\" unpacked with wrong size!
  704.   else  
  705.     PARTS=""
  706.     for I in A B C D E ; do
  707.       if test -f netramet/pc/NTM.Zip.UU.$I ; then
  708.         PARTS="${PARTS}${I}"
  709.       fi 
  710.       if test "${PARTS}" = "ABCDE" ; then
  711.         echo shar: Combining  \"'netramet/pc/NTM.Zip.UU'\" \(264641 characters\)
  712.         cat netramet/pc/NTM.Zip.UU.[A-E] > 'netramet/pc/NTM.Zip.UU'  
  713.         if test 264641 -ne `wc -c <'netramet/pc/NTM.Zip.UU'`; then 
  714.           echo shar: \"'netramet/pc/NTM.Zip.UU'\" combined with wrong size!  
  715.         else  
  716.           rm netramet/pc/NTM.Zip.UU.[A-E]
  717.           echo shar: Uudecoding \"'netramet/pc/NTM.Zip'\" \(192048 characters\)
  718.           cat netramet/pc/NTM.Zip.UU | uudecode  
  719.           if test 192048 -ne `wc -c <'netramet/pc/NeTraMet.zip'`; then  
  720.             echo shar: \"'netramet/pc/NTM.Zip'\" uudecoded with wrong size!  
  721.           else  
  722.             rm netramet/pc/NTM.Zip.UU  
  723.           fi  
  724.         fi    
  725.       fi    
  726.     done  
  727.   fi
  728.   # end of 'netramet/pc/NTM.Zip.UU.E'
  729. fi
  730. if test -f 'netramet/src/snmplib/asn1.c' -a "${1}" != "-c" ; then 
  731.   echo shar: Will not clobber existing file \"'netramet/src/snmplib/asn1.c'\"
  732. else
  733.   echo shar: Extracting \"'netramet/src/snmplib/asn1.c'\" \(18859 characters\)
  734.   sed "s/^X//" >'netramet/src/snmplib/asn1.c' <<'END_OF_FILE'
  735. X/*
  736. X * Abstract Syntax Notation One, ASN.1
  737. X * As defined in ISO/IS 8824 and ISO/IS 8825
  738. X * This implements a subset of the above International Standards that
  739. X * is sufficient to implement SNMP.
  740. X *
  741. X * Encodes abstract data types into a machine independent stream of bytes.
  742. X *
  743. X */
  744. X/***********************************************************
  745. X    Copyright 1988, 1989 by Carnegie Mellon University
  746. X
  747. X                      All Rights Reserved
  748. X
  749. XPermission to use, copy, modify, and distribute this software and its 
  750. Xdocumentation for any purpose and without fee is hereby granted, 
  751. Xprovided that the above copyright notice appear in all copies and that
  752. Xboth that copyright notice and this permission notice appear in 
  753. Xsupporting documentation, and that the name of CMU not be
  754. Xused in advertising or publicity pertaining to distribution of the
  755. Xsoftware without specific, written prior permission.  
  756. X
  757. XCMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  758. XALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  759. XCMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  760. XANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  761. XWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  762. XARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  763. XSOFTWARE.
  764. X******************************************************************/
  765. X
  766. X#define noTESTING
  767. X
  768. X#include "ausnmp.h"
  769. X
  770. X#ifdef KINETICS
  771. X#include "gw.h"
  772. X#endif
  773. X
  774. X#if (defined(unix) && !defined(KINETICS))
  775. X#include <sys/types.h>
  776. X#include <netinet/in.h>
  777. X#endif
  778. X
  779. X#include "asn1.h"
  780. X
  781. X#ifndef NULL
  782. X#define NULL    0
  783. X#endif
  784. X#define    ERROR(x)
  785. X
  786. X/*
  787. X * asn_parse_int - pulls a long out of an ASN int type.
  788. X *  On entry, datalength is input as the number of valid bytes following
  789. X *   "data".  On exit, it is returned as the number of valid bytes
  790. X *   following the end of this object.
  791. X *
  792. X *  Returns a pointer to the first byte past the end
  793. X *   of this object (i.e. the start of the next object).
  794. X *  Returns NULL on any error.
  795. X */
  796. Xu_char *
  797. Xasn_parse_int(data, datalength, type, intp, intsize)
  798. X    register u_char        *data;    /* IN - pointer to start of object */
  799. X    register int        *datalength;/* IN/OUT - number of valid bytes left in buffer */
  800. X    u_char            *type;    /* OUT - asn type of object */
  801. X    long            *intp;    /* IN/OUT - pointer to start of output buffer */
  802. X    int                intsize;    /* IN - size of output buffer */
  803. X{
  804. X/*
  805. X * ASN.1 integer ::= 0x02 asnlength byte {byte}*
  806. X */
  807. X    register u_char *bufp = data;
  808. X    u_long        asn_length;
  809. X    register long   value = 0;
  810. X
  811. X    if (intsize != sizeof (long)){
  812. X    ERROR("not long");
  813. X    return NULL;
  814. X    }
  815. X    *type = *bufp++;
  816. X    bufp = asn_parse_length(bufp, &asn_length);
  817. X    if (bufp == NULL){
  818. X    ERROR("bad length");
  819. X    return NULL;
  820. X    }
  821. X    if (asn_length + (bufp - data) > *datalength){
  822. X    ERROR("overflow of message");
  823. X    return NULL;
  824. X    }
  825. X    if (asn_length > intsize){
  826. X    ERROR("I don't support such large integers");
  827. X    return NULL;
  828. X    }
  829. X    *datalength -= (int)asn_length + (bufp - data);
  830. X    if (*bufp & 0x80)
  831. X    value = -1; /* integer is negative */
  832. X    while(asn_length--)
  833. X    value = (value << 8) | *bufp++;
  834. X    *intp = value;
  835. X    return bufp;
  836. X}
  837. X
  838. X
  839. X/*
  840. X * asn_build_int - builds an ASN object containing an integer.
  841. X *  On entry, datalength is input as the number of valid bytes following
  842. X *   "data".  On exit, it is returned as the number of valid bytes
  843. X *   following the end of this object.
  844. X *
  845. X *  Returns a pointer to the first byte past the end
  846. X *   of this object (i.e. the start of the next object).
  847. X *  Returns NULL on any error.
  848. X */
  849. Xu_char *
  850. Xasn_build_int(
  851. X    u_char *data,    /* IN - pointer to start of output buffer */
  852. X    int    *datalength, /* IN/OUT - number of valid bytes left in buffer */
  853. X    u_char        type,    /* IN - asn type of object */
  854. X    long far *intp,    /* IN - pointer to start of long integer */
  855. X    int    intsize)    /* IN - size of *intp */
  856. X{
  857. X/*
  858. X * ASN.1 integer ::= 0x02 asnlength byte {byte}*
  859. X */
  860. X
  861. X    register long integer;
  862. X    register u_long mask;
  863. X    int i;  char c;  /* AU: Handle 1- and 2-byte integers */
  864. X
  865. X#ifdef OLDWAY
  866. X    if (intsize != sizeof (long))
  867. X    return NULL;
  868. X    integer = *intp;
  869. X#endif
  870. X    if (intsize == sizeof (long)) integer = *intp;
  871. X    else if (intsize == sizeof(int)) {
  872. X       i = *((int far *)intp);  integer = (long)i;
  873. X       }
  874. X    else if (intsize == sizeof(char)) {
  875. X       c = *((char far *)intp); integer = (long)c;
  876. X       }
  877. X    else return NULL;
  878. X#ifdef TESTING
  879. X   scpos(0,24);
  880. X   printf("build_int(): type=%d, size=%d, integer=%lu\n",
  881. X      type,intsize, integer);
  882. X#endif
  883. X   intsize = sizeof(long);
  884. X    /*
  885. X     * Truncate "unnecessary" bytes off of the most significant end of this 2's complement integer.
  886. X     * There should be no sequence of 9 consecutive 1's or 0's at the most significant end of the
  887. X     * integer.
  888. X     */
  889. X    mask = 0x1FFL << ((8 * (sizeof(long) - 1)) - 1);  /* AU: L constant */
  890. X    /* mask is 0xFF800000 on a big-endian machine */
  891. X    while((((integer & mask) == 0) || ((integer & mask) == mask)) && intsize > 1){
  892. X    intsize--;
  893. X    integer <<= 8;
  894. X    }
  895. X    data = asn_build_header(data, datalength, type, intsize);
  896. X    if (data == NULL)
  897. X    return NULL;
  898. X    if (*datalength < intsize)
  899. X    return NULL;
  900. X    *datalength -= intsize;
  901. X    mask = 0xFFL << (8 * (sizeof(long) - 1));  /* AU: L constant */
  902. X    /* mask is 0xFF000000 on a big-endian machine */
  903. X    while(intsize--){
  904. X    *data++ = (u_char)((integer & mask) >> (8 * (sizeof(long) - 1)));
  905. X    integer <<= 8;
  906. X    }
  907. X    return data;
  908. X}
  909. X
  910. X
  911. X/*
  912. X * asn_parse_string - pulls an octet string out of an ASN octet string type.
  913. X *  On entry, datalength is input as the number of valid bytes following
  914. X *   "data".  On exit, it is returned as the number of valid bytes
  915. X *   following the beginning of the next object.
  916. X *
  917. X *  "string" is filled with the octet string.
  918. X *
  919. X *  Returns a pointer to the first byte past the end
  920. X *   of this object (i.e. the start of the next object).
  921. X *  Returns NULL on any error.
  922. X */
  923. Xu_char *
  924. Xasn_parse_string(data, datalength, type, string, strlength)
  925. X    u_char        *data;        /* IN - pointer to start of object */
  926. X    register int    *datalength;    /* IN/OUT - number of valid bytes left in buffer */
  927. X    u_char        *type;        /* OUT - asn type of object */
  928. X    u_char        *string;        /* IN/OUT - pointer to start of output buffer */
  929. X    register int    *strlength;     /* IN/OUT - size of output buffer */
  930. X{
  931. X/*
  932. X * ASN.1 octet string ::= primstring | cmpdstring
  933. X * primstring ::= 0x04 asnlength byte {byte}*
  934. X * cmpdstring ::= 0x24 asnlength string {string}*
  935. X * This doesn't yet support the compound string.
  936. X */
  937. X    register u_char *bufp = data;
  938. X    u_long        asn_length;
  939. X
  940. X    *type = *bufp++;
  941. X    bufp = asn_parse_length(bufp, &asn_length);
  942. X    if (bufp == NULL)
  943. X    return NULL;
  944. X    if (asn_length + (bufp - data) > *datalength){
  945. X    ERROR("overflow of message");
  946. X    return NULL;
  947. X    }
  948. X    if (asn_length > *strlength){
  949. X    ERROR("I don't support such long strings");
  950. X    return NULL;
  951. X    }
  952. X    bcopy((char far *)bufp, (char far *)string, (int)asn_length);
  953. X    *strlength = (int)asn_length;
  954. X    *datalength -= (int)asn_length + (bufp - data);
  955. X    return bufp + asn_length;
  956. X}
  957. X
  958. X
  959. X/*
  960. X * asn_build_string - Builds an ASN octet string object containing the input string.
  961. X *  On entry, datalength is input as the number of valid bytes following
  962. X *   "data".  On exit, it is returned as the number of valid bytes
  963. X *   following the beginning of the next object.
  964. X *
  965. X *  Returns a pointer to the first byte past the end
  966. X *   of this object (i.e. the start of the next object).
  967. X *  Returns NULL on any error.
  968. X */
  969. Xu_char *
  970. Xasn_build_string(
  971. X    u_char        *data,        /* IN - pointer to start of object */
  972. X    int    *datalength,    /* IN/OUT - number of valid bytes left in buffer */
  973. X    u_char        type,        /* IN - ASN type of string */
  974. X    u_char far        *string,        /* IN - pointer to start of input buffer */
  975. X    int    strlength)        /* IN - size of input buffer */
  976. X{
  977. X/*
  978. X * ASN.1 octet string ::= primstring | cmpdstring
  979. X * primstring ::= 0x04 asnlength byte {byte}*
  980. X * cmpdstring ::= 0x24 asnlength string {string}*
  981. X * This code will never send a compound string.
  982. X */
  983. X    data = asn_build_header(data, datalength, type, strlength);
  984. X    if (data == NULL)
  985. X    return NULL;
  986. X    if (*datalength < strlength)
  987. X    return NULL;
  988. X    bcopy((char far *)string, (char far *)data, strlength);
  989. X    *datalength -= strlength;
  990. X    return data + strlength;
  991. X}
  992. X
  993. X
  994. X/*
  995. X * asn_parse_header - interprets the ID and length of the current object.
  996. X *  On entry, datalength is input as the number of valid bytes following
  997. X *   "data".  On exit, it is returned as the number of valid bytes
  998. X *   in this object following the id and length.
  999. X *
  1000. X *  Returns a pointer to the first byte of the contents of this object.
  1001. X *  Returns NULL on any error.
  1002. X */
  1003. Xu_char *
  1004. Xasn_parse_header(data, datalength, type)
  1005. X    u_char        *data;    /* IN - pointer to start of object */
  1006. X    int            *datalength;/* IN/OUT - number of valid bytes left in buffer */
  1007. X    u_char        *type;    /* OUT - ASN type of object */
  1008. X{
  1009. X    register u_char *bufp = data;
  1010. X    register        header_len;
  1011. X    u_long        asn_length;
  1012. X
  1013. X    /* this only works on data types < 30, i.e. no extension octets */
  1014. X    if (IS_EXTENSION_ID(*bufp)){
  1015. X    ERROR("can't process ID >= 30");
  1016. X    return NULL;
  1017. X    }
  1018. X    *type = *bufp;
  1019. X    bufp = asn_parse_length(bufp + 1, &asn_length);
  1020. X    if (bufp == NULL)
  1021. X    return NULL;
  1022. X    header_len = bufp - data;
  1023. X    if (header_len + asn_length > *datalength){
  1024. X    ERROR("asn length too long");
  1025. X    return NULL;
  1026. X    }
  1027. X    *datalength = (int)asn_length;
  1028. X    return bufp;
  1029. X}
  1030. X
  1031. X/*
  1032. X * asn_build_header - builds an ASN header for an object with the ID and
  1033. X * length specified.
  1034. X *  On entry, datalength is input as the number of valid bytes following
  1035. X *   "data".  On exit, it is returned as the number of valid bytes
  1036. X *   in this object following the id and length.
  1037. X *
  1038. X *  This only works on data types < 30, i.e. no extension octets.
  1039. X *  The maximum length is 0xFFFF;
  1040. X *
  1041. X *  Returns a pointer to the first byte of the contents of this object.
  1042. X *  Returns NULL on any error.
  1043. X */
  1044. Xu_char *
  1045. Xasn_build_header(
  1046. X    u_char *data,    /* IN - pointer to start of object */
  1047. X    int *datalength,  /* IN/OUT - number of valid bytes left in buffer */
  1048. X    u_char   type,    /* IN - ASN type of object */
  1049. X    int       length)    /* IN - length of object */
  1050. X{
  1051. X    if (*datalength < 1)
  1052. X    return NULL;
  1053. X    *data++ = type;
  1054. X    (*datalength)--;
  1055. X    return asn_build_length(data, datalength, length);
  1056. X    
  1057. X}
  1058. X
  1059. X/*
  1060. X * asn_parse_length - interprets the length of the current object.
  1061. X *  On exit, length contains the value of this length field.
  1062. X *
  1063. X *  Returns a pointer to the first byte after this length
  1064. X *  field (aka: the start of the data field).
  1065. X *  Returns NULL on any error.
  1066. X */
  1067. Xu_char *
  1068. Xasn_parse_length(data, length)
  1069. X    u_char  *data;    /* IN - pointer to start of length field */
  1070. X    u_long  *length;    /* OUT - value of length field */
  1071. X{
  1072. X    register u_char lengthbyte = *data;
  1073. X#ifdef AU_MSDOS
  1074. X   u_char k, *dp;  long v;
  1075. X#endif
  1076. X
  1077. X    if (lengthbyte & ASN_LONG_LEN){
  1078. X    lengthbyte &= ~ASN_LONG_LEN;    /* turn MSb off */
  1079. X    if (lengthbyte == 0){
  1080. X        ERROR("We don't support indefinite lengths");
  1081. X        return NULL;
  1082. X    }
  1083. X    if (lengthbyte > sizeof(long)){
  1084. X        ERROR("we can't support data lengths that long");
  1085. X        return NULL;
  1086. X    }
  1087. X#ifdef AU_MSDOS
  1088. X    v = 0;  dp = data+1;
  1089. X    for (k = lengthbyte; k != 0; --k) v = v << 8 | *dp++;
  1090. X    *length = v;
  1091. X#else
  1092. X    bcopy((char far *)data + 1, (char far *)length, (int)lengthbyte);
  1093. X    *length = ntohl(*length);
  1094. X    *length >>= (8 * ((sizeof *length) - lengthbyte));
  1095. X#endif
  1096. X    return data + lengthbyte + 1;
  1097. X    } else { /* short asnlength */
  1098. X    *length = (long)lengthbyte;
  1099. X    return data + 1;
  1100. X    }
  1101. X}
  1102. X
  1103. Xu_char *
  1104. Xasn_build_length(
  1105. X    u_char *data,    /* IN - pointer to start of object */
  1106. X    int   *datalength,  /* IN/OUT - number of valid bytes left in buffer */
  1107. X    int  length)    /* IN - length of object */
  1108. X{
  1109. X    u_char    *start_data = data;
  1110. X
  1111. X    /* no indefinite lengths sent */
  1112. X    if (length < 0x80){
  1113. X    *data++ = (u_char)length;
  1114. X    } else if (length <= 0xFF){
  1115. X    *data++ = (u_char)(0x01 | ASN_LONG_LEN);
  1116. X    *data++ = (u_char)length;
  1117. X    } else { /* 0xFF < length <= 0xFFFF */
  1118. X    *data++ = (u_char)(0x02 | ASN_LONG_LEN);
  1119. X    *data++ = (u_char)((length >> 8) & 0xFF);
  1120. X    *data++ = (u_char)(length & 0xFF);
  1121. X    }
  1122. X    if (*datalength < (data - start_data)){
  1123. X    ERROR("build_length");
  1124. X    return NULL;
  1125. X    }
  1126. X    *datalength -= (data - start_data);
  1127. X    return data;
  1128. X
  1129. X}
  1130. X
  1131. X/*
  1132. X * asn_parse_objid - pulls an object indentifier out of an ASN object identifier type.
  1133. X *  On entry, datalength is input as the number of valid bytes following
  1134. X *   "data".  On exit, it is returned as the number of valid bytes
  1135. X *   following the beginning of the next object.
  1136. X *
  1137. X *  "objid" is filled with the object identifier.
  1138. X *
  1139. X *  Returns a pointer to the first byte past the end
  1140. X *   of this object (i.e. the start of the next object).
  1141. X *  Returns NULL on any error.
  1142. X */
  1143. Xu_char *
  1144. Xasn_parse_objid(data, datalength, type, objid, objidlength)
  1145. X    u_char        *data;        /* IN - pointer to start of object */
  1146. X    int            *datalength;    /* IN/OUT - number of valid bytes left in buffer */
  1147. X    u_char        *type;        /* OUT - ASN type of object */
  1148. X    oid            *objid;        /* IN/OUT - pointer to start of output buffer */
  1149. X    int            *objidlength;     /* IN/OUT - number of sub-id's in objid */
  1150. X{
  1151. X/*
  1152. X * ASN.1 objid ::= 0x06 asnlength subidentifier {subidentifier}*
  1153. X * subidentifier ::= {leadingbyte}* lastbyte
  1154. X * leadingbyte ::= 1 7bitvalue
  1155. X * lastbyte ::= 0 7bitvalue
  1156. X */
  1157. X    register u_char *bufp = data;
  1158. X    register oid *oidp = objid + 1;
  1159. X    register u_long subidentifier;
  1160. X    register long   length;
  1161. X    u_long        asn_length;
  1162. X
  1163. X    *type = *bufp++;
  1164. X    bufp = asn_parse_length(bufp, &asn_length);
  1165. X    if (bufp == NULL)
  1166. X    return NULL;
  1167. X    if (asn_length + (bufp - data) > *datalength){
  1168. X    ERROR("overflow of message");
  1169. X    return NULL;
  1170. X    }
  1171. X    *datalength -= (int)asn_length + (bufp - data);
  1172. X
  1173. X    length = asn_length;
  1174. X    (*objidlength)--;    /* account for expansion of first byte */
  1175. X    while (length > 0 && (*objidlength)-- > 0){
  1176. X    subidentifier = 0;
  1177. X    do {    /* shift and add in low order 7 bits */
  1178. X        subidentifier = (subidentifier << 7) + (*(u_char *)bufp & ~ASN_BIT8);
  1179. X        length--;
  1180. X    } while (*(u_char *)bufp++ & ASN_BIT8);    /* last byte has high bit clear */
  1181. X    if (subidentifier > (u_long)MAX_SUBID){
  1182. X        ERROR("subidentifier too long");
  1183. X        return NULL;
  1184. X    }
  1185. X    *oidp++ = (oid)subidentifier;
  1186. X    }
  1187. X
  1188. X    /*
  1189. X     * The first two subidentifiers are encoded into the first component
  1190. X     * with the value (X * 40) + Y, where:
  1191. X     *    X is the value of the first subidentifier.
  1192. X     *  Y is the value of the second subidentifier.
  1193. X     */
  1194. X    subidentifier = (u_long)objid[1];
  1195. X    objid[1] = (u_char)(subidentifier % 40);
  1196. X    objid[0] = (u_char)((subidentifier - objid[1]) / 40);
  1197. X
  1198. X    *objidlength = (int)(oidp - objid);
  1199. X    return bufp;
  1200. X}
  1201. X
  1202. X/*
  1203. X * asn_build_objid - Builds an ASN object identifier object containing the input string.
  1204. X *  On entry, datalength is input as the number of valid bytes following
  1205. X *   "data".  On exit, it is returned as the number of valid bytes
  1206. X *   following the beginning of the next object.
  1207. X *
  1208. X *  Returns a pointer to the first byte past the end
  1209. X *   of this object (i.e. the start of the next object).
  1210. X *  Returns NULL on any error.
  1211. X */
  1212. Xu_char *
  1213. Xasn_build_objid(
  1214. X    u_char *data,        /* IN - pointer to start of object */
  1215. X    int  *datalength,    /* IN/OUT - number of valid bytes left in buffer */
  1216. X    u_char     type,        /* IN - ASN type of object */
  1217. X    oid    far  *objid,        /* IN - pointer to start of input buffer */
  1218. X    int      objidlength)    /* IN - number of sub-id's in objid */
  1219. X{
  1220. X/*
  1221. X * ASN.1 objid ::= 0x06 asnlength subidentifier {subidentifier}*
  1222. X * subidentifier ::= {leadingbyte}* lastbyte
  1223. X * leadingbyte ::= 1 7bitvalue
  1224. X * lastbyte ::= 0 7bitvalue
  1225. X */
  1226. X    u_char buf[MAX_OID_LEN];
  1227. X    u_char *bp = buf;
  1228. X    oid    objbuf[MAX_OID_LEN];
  1229. X    oid *op = objbuf;
  1230. X    register int    asnlength;
  1231. X    register u_long subid, mask, testmask;
  1232. X    register int bits, testbits;
  1233. X
  1234. X    bcopy((char far *)objid, (char far *)objbuf, objidlength * sizeof(oid));
  1235. X    /* transform size in bytes to size in subid's */
  1236. X    /* encode the first two components into the first subidentifier */
  1237. X    op[1] = op[1] + (op[0] * 40);
  1238. X    op++;
  1239. X    objidlength--;
  1240. X
  1241. X    while(objidlength-- > 0){
  1242. X    subid = *op++;
  1243. X    mask = 0x7F; /* handle subid == 0 case */
  1244. X    bits = 0;
  1245. X    /* testmask *MUST* !!!! be of an unsigned type */
  1246. X    for(testmask = 0x7F, testbits = 0; testmask != 0; testmask <<= 7, testbits += 7){
  1247. X        if (subid & testmask){    /* if any bits set */
  1248. X        mask = testmask;
  1249. X        bits = testbits;
  1250. X        }
  1251. X    }
  1252. X    /* mask can't be zero here */
  1253. X    for(;mask != 0x7F; mask >>= 7, bits -= 7){
  1254. X        if (mask == 0x1E00000)  /* fix a mask that got truncated above */
  1255. X        mask = 0xFE00000;
  1256. X        *bp++ = (u_char)(((subid & mask) >> bits) | ASN_BIT8);
  1257. X    }
  1258. X    *bp++ = (u_char)(subid & mask);
  1259. X    }
  1260. X    asnlength = bp - buf;
  1261. X    data = asn_build_header(data, datalength, type, asnlength);
  1262. X    if (data == NULL)
  1263. X    return NULL;
  1264. X    if (*datalength < asnlength)
  1265. X    return NULL;
  1266. X    bcopy((char far *)buf, (char far *)data, asnlength);
  1267. X    *datalength -= asnlength;
  1268. X    return data + asnlength;
  1269. X}
  1270. X
  1271. X/*
  1272. X * asn_parse_null - Interprets an ASN null type.
  1273. X *  On entry, datalength is input as the number of valid bytes following
  1274. X *   "data".  On exit, it is returned as the number of valid bytes
  1275. X *   following the beginning of the next object.
  1276. X *
  1277. X *  Returns a pointer to the first byte past the end
  1278. X *   of this object (i.e. the start of the next object).
  1279. X *  Returns NULL on any error.
  1280. X */
  1281. Xu_char *
  1282. Xasn_parse_null(data, datalength, type)
  1283. X    u_char        *data;        /* IN - pointer to start of object */
  1284. X    int            *datalength;    /* IN/OUT - number of valid bytes left in buffer */
  1285. X    u_char        *type;        /* OUT - ASN type of object */
  1286. X{
  1287. X/*
  1288. X * ASN.1 null ::= 0x05 0x00
  1289. X */
  1290. X    register u_char   *bufp = data;
  1291. X    u_long        asn_length;
  1292. X
  1293. X    *type = *bufp++;
  1294. X    bufp = asn_parse_length(bufp, &asn_length);
  1295. X    if (bufp == NULL)
  1296. X    return NULL;
  1297. X    if (asn_length != 0){
  1298. X    ERROR("Malformed NULL");
  1299. X    return NULL;
  1300. X    }
  1301. X    *datalength -= (bufp - data);
  1302. X    return bufp + asn_length;
  1303. X}
  1304. X
  1305. X
  1306. X/*
  1307. X * asn_build_null - Builds an ASN null object.
  1308. X *  On entry, datalength is input as the number of valid bytes following
  1309. X *   "data".  On exit, it is returned as the number of valid bytes
  1310. X *   following the beginning of the next object.
  1311. X *
  1312. X *  Returns a pointer to the first byte past the end
  1313. X *   of this object (i.e. the start of the next object).
  1314. X *  Returns NULL on any error.
  1315. X */
  1316. Xu_char *
  1317. Xasn_build_null(
  1318. X    u_char  *data,        /* IN - pointer to start of object */
  1319. X    int  *datalength,    /* IN/OUT - number of valid bytes left in buffer */
  1320. X    u_char   type)        /* IN - ASN type of object */
  1321. X{
  1322. X/*
  1323. X * ASN.1 null ::= 0x05 0x00
  1324. X */
  1325. X    return asn_build_header(data, datalength, type, 0);
  1326. X}
  1327. X
  1328. END_OF_FILE
  1329.   if test 18859 -ne `wc -c <'netramet/src/snmplib/asn1.c'`; then
  1330.     echo shar: \"'netramet/src/snmplib/asn1.c'\" unpacked with wrong size!
  1331.   fi
  1332.   # end of 'netramet/src/snmplib/asn1.c'
  1333. fi
  1334. if test -f 'netramet/sun/manager/Makefile' -a "${1}" != "-c" ; then 
  1335.   echo shar: Will not clobber existing file \"'netramet/sun/manager/Makefile'\"
  1336. else
  1337.   echo shar: Extracting \"'netramet/sun/manager/Makefile'\" \(1097 characters\)
  1338.   sed "s/^X//" >'netramet/sun/manager/Makefile' <<'END_OF_FILE'
  1339. X#
  1340. X# Makefile for snmpget, manager, snmpgetnext, collect, snmpwalk, snmpstatus, snmptest snmptrap snmptrapd snmpd
  1341. X#
  1342. X
  1343. XSRC= ../../src/manager
  1344. XSINCLUDE= ../../src/snmplib/include
  1345. XNINCLUDE= ../../src/manager/include
  1346. X
  1347. XSNMPH = $(SINCLUDE)/asn1.h $(SINCLUDE)/mib.h $(SINCLUDE)/parse.h \
  1348. X    $(SINCLUDE)/snmp.h $(SINCLUDE)/snmpapi.h \
  1349. X    $(SINCLUDE)/snmpclnt.h $(SINCLUDE)/snmpimpl.h
  1350. X
  1351. XTARG=     NeMaC
  1352. X
  1353. XLIBS=    ../snmplib/libsnmp.a
  1354. X
  1355. XCC= acc  #  Sun ANSI C compiler
  1356. XCFLAGS=    -g -I$(NINCLUDE) -I$(SINCLUDE) -D_BSD_SIGNALS -D_BSD_COMPAT -DSUNOS
  1357. X
  1358. X
  1359. Xall: $(TARG)
  1360. X
  1361. X
  1362. Xgwmon.o:  $(SNMPH) $(SRC)/gwmon.c
  1363. X    ${CC} $(CFLAGS) -c $(SRC)/gwmon.c
  1364. X
  1365. Xgwmon:    gwmon.o ${LIBS}
  1366. X    ${CC} -o $@ gwmon.o ${LIBS}
  1367. X
  1368. X
  1369. Xnmc.o:    $(SNMPH) $(SRC)/nmc.c
  1370. X    ${CC} $(CFLAGS) -c $(SRC)/nmc.c
  1371. X
  1372. Xnmc_pars.o:    $(SNMPH) $(SRC)/nmc_pars.c
  1373. X    ${CC} $(CFLAGS) -c $(SRC)/nmc_pars.c
  1374. X
  1375. Xnmc_snmp.o:    $(SNMPH) $(SRC)/nmc_snmp.c
  1376. X    ${CC} $(CFLAGS) -c $(SRC)/nmc_snmp.c
  1377. X
  1378. XNeMaC:    nmc.o nmc_pars.o nmc_snmp.o ${LIBS}
  1379. X    ${CC} -o $@ nmc.o nmc_pars.o nmc_snmp.o ${LIBS}
  1380. X
  1381. X
  1382. Xgwtraffic:  
  1383. X    ${CC} ${CFLAGS} -o $@ $(SRC)/gwtraffic.c ${LIBS}
  1384. X
  1385. Xclean:
  1386. X    rm -f *.o ${TARG}
  1387. X
  1388. Xinstall:
  1389. X    cp ${TARG} ../bin
  1390. END_OF_FILE
  1391.   if test 1097 -ne `wc -c <'netramet/sun/manager/Makefile'`; then
  1392.     echo shar: \"'netramet/sun/manager/Makefile'\" unpacked with wrong size!
  1393.   fi
  1394.   # end of 'netramet/sun/manager/Makefile'
  1395. fi
  1396. echo shar: End of archive 16 \(of 25\).
  1397. cp /dev/null ark16isdone
  1398. MISSING=""
  1399. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ; do
  1400.     if test ! -f ark${I}isdone ; then
  1401.     MISSING="${MISSING} ${I}"
  1402.     fi
  1403. done
  1404. if test "${MISSING}" = "" ; then
  1405.     echo You have unpacked all 25 archives.
  1406.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1407. else
  1408.     echo You still must unpack the following archives:
  1409.     echo "        " ${MISSING}
  1410. fi
  1411. exit 0
  1412. exit 0 # Just in case...
  1413.