You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by sc...@apache.org on 2007/09/13 22:20:21 UTC

svn commit: r575436 - in /webservices/commons/trunk/modules/axiom/modules: axiom-api/src/main/java/org/apache/axiom/attachments/ axiom-tests/src/test/java/org/apache/axiom/attachments/ axiom-tests/test-resources/mtom/

Author: scheu
Date: Thu Sep 13 13:20:21 2007
New Revision: 575436

URL: http://svn.apache.org/viewvc?rev=575436&view=rev
Log:
WSCOMMONS-245
Contributor:Michal Stochmialek
Quick Correction to BoundaryDelimittedStream read method.

Added:
    webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/PdfAttachmentStreamingTest.java
    webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/msg-soap-wls81.txt
Modified:
    webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/BoundaryDelimitedStream.java

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/BoundaryDelimitedStream.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/BoundaryDelimitedStream.java?rev=575436&r1=575435&r2=575436&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/BoundaryDelimitedStream.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/BoundaryDelimitedStream.java Thu Sep 13 13:20:21 2007
@@ -254,13 +254,12 @@
             boundaryPos = boundaryPosition(readbuf, 0, readBufEnd);
         }
 
-        int bwritten = -1;    // Number of bytes written.
+        int bwritten = 0;    // Number of bytes written.
 
         // read and copy bytes in.
         do
         {                                // Always allow to have a boundary length left in the buffer.
 
-            bwritten = 0;
             int bcopy = Math.min(readBufEnd - readBufPos - boundaryBufLen,
                                  len - bwritten);
 

Added: webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/PdfAttachmentStreamingTest.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/PdfAttachmentStreamingTest.java?rev=575436&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/PdfAttachmentStreamingTest.java (added)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/attachments/PdfAttachmentStreamingTest.java Thu Sep 13 13:20:21 2007
@@ -0,0 +1,63 @@
+package org.apache.axiom.attachments;
+
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import javax.activation.DataHandler;
+
+import org.apache.axiom.om.AbstractTestCase;
+
+public class PdfAttachmentStreamingTest extends AbstractTestCase {
+
+	String contentType = "multipart/related;type=\"text/xml\";boundary=\"----=_Part_0_3437046.1188904239130\";start=__WLS__1188904239161__SOAP__";
+	String inputFile = "mtom/msg-soap-wls81.txt";
+	
+	public PdfAttachmentStreamingTest(String name) {
+		super(name);
+	}
+	
+	public void testStreamingAttachments() throws Exception {
+		FileInputStream inStream = new FileInputStream(getTestResourceFile(inputFile));
+		// creating attachments using that stream
+		Attachments attachments = new Attachments(inStream, contentType);
+
+		// getting attachments as streams
+		IncomingAttachmentStreams attachStreams = attachments.getIncomingAttachmentStreams();
+		
+
+		// getting first attachments after the soap part
+		IncomingAttachmentInputStream firstAttach = attachStreams.getNextStream();
+		
+		// coping contents of the attachment to byte array
+		ByteArrayOutputStream output = new ByteArrayOutputStream();
+		copy(firstAttach, output);
+
+		// reading the message again, getting second attachment using datahandlers
+		inStream = new FileInputStream(getTestResourceFile(inputFile));
+		attachments = new Attachments(inStream, contentType);
+		DataHandler h = attachments.getDataHandler((String)attachments.getAllContentIDs()[1]);
+
+		ByteArrayOutputStream input = new ByteArrayOutputStream();
+		copy(h.getInputStream(), input);
+
+		assertEquals(input.toString("UTF-8"), output.toString("UTF-8"));
+	}
+	
+
+
+	public static void copy(InputStream in, OutputStream out) throws IOException {
+		byte[] buf = new byte[4096];
+		while(true) {
+			int len = in.read(buf);
+			if (len != -1) {
+				out.write(buf, 0, len);
+			} else {
+				break;
+			}
+		}
+	}
+}

Added: webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/msg-soap-wls81.txt
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/msg-soap-wls81.txt?rev=575436&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/msg-soap-wls81.txt (added)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/msg-soap-wls81.txt Thu Sep 13 13:20:21 2007
@@ -0,0 +1,178 @@
+------=_Part_0_3437046.1188904239130
+Content-Type: text/xml; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Content-ID: __WLS__1188904239161__SOAP__
+
+<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" mustUnderstand="0">uuid:ba50231c-04d3-44eb-b01f-c3dcc1f63408</wsa:MessageID><wsa:To xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" mustUnderstand="0">http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To><wsa:From xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" mustUnderstand="0"><wsa:Address>http://www.eurobank.pl/serwisy/wydruki/1.0</wsa:Address></wsa:From><wsa:RelatesTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" mustUnderstand="0" RelationshipType="wsa:Reply">uuid:96144820-451d-11d9-834f-97eb4a63d5ac</wsa:RelatesTo><wsa:Action xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" mustUnderstand="0">http://www.eurobank.pl/serwisy/wydruki/1.0/WydrukGenerujOdpowiedz</wsa:Action></env:Header><env:Body><Message/></env:Body></env:Envelope>
+------=_Part_0_3437046.1188904239130
+Content-ID: __WLS__1188904239162__SOAP__
+
+%PDF-1.3
+%????
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 4287 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gau`X4-(Yt%F4-<FE...@F>G@tOmM^mTbu$jYTE4cUN7s$&36&g^G:C:+`$U+nf2UdU?pa+p\gO.RMDrqZ*Q%s@d47rUe`Gk3WsjUQ!Cef!GJ]dY+Cs*<J85Q:BH#GnmR-@4UV7bsk:2eBt%]p*8$mn=9FR!f/QW6il0q>Du3\4*q"oD:nP?_8DQG[YjlVf$X9.'3*GW1X+$rV]Mi8dc^G+.-:Sn-M<s^Zc$R[rg6.^ES'nPSQFnpjBsA$U.A]I&HFt9?G$OGEj(Y!.LcbH/YcS%nNT<)pO^0?qpk\W)2W+[_GgQ*$DM4bTp)#%$4[>?5PJTU#Dm"j_t+Xp5dtS^Q+V!i#5Wf\*FqJ//PuVBPY+sko#u_-r)'q\qWT(kl&=eiD`teq?-Bo?Yg_0'>dW5F!m::GF0Hd?%8K4:Z(b6;iYJQo%Teoo@RUa`TCiW/pHc^7%$.4e*"kk7Z$&(4(tje$:9@Tgof0cku!g?4r:-+Ph&0:Km$(;S*feq)N2Rqan;a)mp7(B'nSHdPVBOI)<-Z%!dp2@&3=lGiIJi16YPX<eIdIcW<UF9jNboLP?n#/&<^CX6Zjf"?,2Il>lYb$gW/MpL*@2W^W,K_]Imr-_!;pn-NJb#Tu!]cK0X8k<.`M]<#RZK%YYso6,SH(hurn?;(&BI#2OPT)05+P5\\A!$tYp.nm*k+R"I!%?N+>l_[%>CGLmTbMK.(YNJ?j\`6keC`Ij+kiS7pH0bgo>MBE9%1O>k_.>#oPGX`X,PE'UM'#u$r"V^'o8(Q/]GX]6n,g#s%G8&i5I[979bUL]J2!/:ZbX8SA37nj1U9lQAfI_/^d\A@YHj_Kr#<_O'G0J>td(:R0Ga-;/M05!\T&oF]s3Ii0Zcqh%_PJjidon91c+63!@V!nMF4qb<EXa!ePg]f#:>][;H+)KqQTW3Ng`u'l?;i?`=gJfZd#O.GE4\-I*]8gPM"c"%N&V;HO?oeY2k\UF5(uWDao.2
 J#m<Rq...@FG4pIjKkaHp>=QVoRa=joG6>%sA`i[\;Lg2op;]"-7H[kQD7:K<HKskdF4Om:&#*^uLE<TNEdVc]1$@]9E8tM&(5TEOO>$ZfZ%'P=s`7[#_>6Nn0(WA.aUUa"9*N[jIF'4?#R1W'X;OjdViA;tOUEe'q2T=<bPS\e?Fe"+DkBDQu+mBgr0Yuu&&"F8h9\8e4<H:()2=o`WR+W14%sGpSd#'h7G3f:T%iNuZ]/9/0jX[F=;f-qCAs;n!3;7j&Wa-qI;((4.-CB8Rf[ImV8Up%Mrq54*_"<S-5Aj*64:pWgZdR`%01%d=ef;OK27^th-%)b.eS=jg<F,9d][@sSJP8A-%]bA1+GXqk,n1F[bb<tL,-[s$2_]fA5mqt.Fgog25Hc9s(3,NCa]HpKHH?N$j\$Y(W/cY;n70hdQsj%b_5<SOOlfeu)rkb=gY]!gcY(*Q.;>:&-K[#YRC+gL.u<O1$"fFd0qF#mVCTa0BAH,9jtkS_\Prs#fdWR(\k4d@e7R('ogSK)bbZ.[rjKj\l)@-8hjcG[!+@i\4A73FpM<L]15J@#'Eh1WOCN]6!`&!t#VA0G;<fUS0T#uj]rl'9D.CmHR:QSt[Wjs19N=o,7<&7e-+\1A<BN![R$OH7E49rh:HY
 4CORG<T,[:KVc`pqdc^Q?fPK71#B>2;"?M\iPAk==B/t/?@U^jKU*DDl#^Mk\:K/`k;dAcu<-9F(Z:V,bC0QJ.2(h7A_N$F^009nYsK9Qq2=pcN8T:BaK`jg^54]?%I7,F5^.!4Da\9GLY$@27fVBg;nZ)MTpBN]S[NF@(Up^0qHU<[acRi7/c)/Y:/qs#Qf]8Q@Eci@q-J(/V:2aL_=ek)D+J=S#Y^"9I?V'e#uNr=25<-6gUM^<*$A?gEUAa/\H9$sI+AQck_jd\i&_oD4[ZH?/5Bb3BhjsP7%oSV]93@AhFN5K7R3R\l7Qki;H\/n8\$U8]f#a.19H'Wg9C#6V/lGV9s2`sF^mZ$V^'<*J%)ntGs?b06Cg^W`J_Htp=Cs'CLB;er#a$0Cb9;d/<W(=YO,Ka!i@]TUC#daY9G!ZXO<-j`Z^=A`0$>a^P[S+ZQn^>oK`$e0MIJ]DXkQjB,RWJe\XfQEPWs8URE\c%LXoel\43\*ZKJeA3:fI"E.7_Y[#ZFIL=M'.rnD_(CNibp_RP`O8Br1/dm(N?kS*31@LP2\%cf`uc]BMGIWkU7[;;$!%;Z(?5;#t_oYr)EoL\dOi^.`ef^o9F=:2&k],5.73P'2sC2@NSe`>d%RH#/9^T6dkHa;[Q1*n5gXI#Q'S3n<il._,#pg-KLEPEVk<-dfb3OhEjMof57IijdZU0ut0/;fZ,UCkcSY4akOga>DRA))eMc"!*G.%$p/%=u-RfYId%\8mt#:gKbpBdo#u3<Yn;RRD*MZYj>4#M$j31XOcVj7_7f*g=Y\-Y_UD3Ee*FZ5uU+9D:+i\n=NM(;q%P7\2FPZGu`NDZ>@>&I``JOXl9)>fr3X?*bCd,)^R28/\'pg/(MaMV-!^6i=XNTop.cAGn8.02mGS3lboW4`k;&d>JZ^_9nP5J(u0pAM:;+uE&L-:kLo?g'b:$_RrT@>a'6Nh9no'`l<_hK)n[Pol14RX\c$#;29@&qo#
 _?Q'h[*@+"lO\<^>...@KN>e/8-Vdi4jGKDuM\gNlnkd+,,96V`RU;l-]>c8I+g%-X\B`,tk`r46ZunlQ`kf/X2p-N>hlUc/N79Y/apPd$HYAa%Z``&r8>9>D@b+b(db5Q$RVOPEOl8#(I/\u)ncB&\&e:^8_Z<Wtj6%(MZ^bL\.=U$D(al`.<TdK'6UXKIgoJ`*L:[+?MN3g)H&0-'OLpeA/q&q`EU:_h'g5q#?>MiHf1C^>Co8!5pe.UKnX#7,R.C2OnaU@IEK.lB)I0FZ<5J`C2H,uW:L^jK3cs;m,[6i(G`^U?XS7(7ru/%f?Ku+LgKL8%$<CilC)ZGc3G%+4HPIQ%Y1cIK=,(U5UGZll[H9k!TP%e0VErA@[gT@0'a^^af*`m3`@=5bZ:uQ7P@,a?A(8.u`,tq%B1.SXeio>fMP(5u;:#NI6l+LX(nV29Q"9-sf"HWaS(.errD=JqBYX1#Jum;#<r7<G=/s\'Aao&C\``9bWNo94X%81qd485BLiC!ATr\r3H`8pL2L"DB9U4Xt#\>Sp\:2j#i`>D-?<rk)\Q</C1fDT0<h6uf#!R&O_I))mZIe\bdWoIY7aWi9mhJ;YaS5QP$"`*($V^Ib40Z3JpPVal,$!`L__6,m9=I]7Bn#Wj*
 \0^M`[AT:?-o.f0RNAWmn2ZW(Wu(@5WCgu"7">Ie(ba8@`[j^$6S*h@L((,\l85oa\!<BW...@i1XEQena4Lec>VKjQ+Z$4>!m`u*Vi#,*8fhoesq4mF@kV16B]@1.2#G0N0R+N['=B5\=QfL4U!5l@k\NcG)0J2#5D#3`"Q8eb.,/B12o)0'$":D\d>X.\4r<t2$qOMa[`_Hb9=J>4\qU'QY.B@qr;"3T8'kRRbr)3NG1IgeT+iu:%-8"b3<Yj9>VU))RaMe!d9^lns-J?&5@OWf\'f_LI%op5T(Q!\tn^\+dQj8BddGs4"~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 595 842 ]
+/Resources 3 0 R
+/Contents 5 0 R
+>>
+endobj
+7 0 obj
+<< /Length 1857 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat%%]<3)...@Z>RW0(Z7"gO<,J`Cs'8,;U.?X"#sRrA94IZ9W4N1Kh*"a[;"MO#9p/h1R3dMG/0K,B#khNQs:US7/j#W@DBI1F"U-d)?4&=J[b636th[PhJ2#)DgK@,R2`8%(FoY[9<Mc2Q*c3r@@(^&`dm>R$(4>Ff\qZet(`Vd[Pm4@BoC6USh8Pc,*T>]?-UVA3cP@:WB^]"1doeg&6c,lZ^,nX&MAmXWdKRWE!a+#ulde;=u!pJ:m:A0XX6esn<K1+S[Yr/&C3NLRYe/I?,&6V6J1#,\f3lPS47FC(Sh1E*R<&g$<"akuA.s%480$lOei`p-s`j*@k
 7bS_J>D"lK,C,HfC%L.7NG[#p/eeo\V]RS]O/pWlO`1U:F)dYHBMQZ2JN7OXdk!jWh-Zc)I:4l$6P5^-=9,0+)D<qD7BoP+:h:+i:o;LG-MN;dbIB#Y[?SaP\8M-S'bN;!9H%O!Jc%kS>N876pcKH]nCXkBEg!rjD%R4@/nY*&Apq.(CO"25:Rb5+9^</sj[D`OA/)rc7ffOfL\AIjPNU;t.cG3_;nt=Df(_ij;<glkar('\HPA4@@CHB`2$P1%O]KXDTl,7Sc380IKFj=9J=d^[enu6q=Fb+]jbIW+kE8!/0]U.L9(EVM9F9%BA)si6BjZuIRrOIR&.:I7maWA(!b](iN"!s"\cVM6#n,Z6c$]eXXE/B8dp_0)8)G=0lda,T-AE?EG]NNn[BYS'UV28Wt6%@,4NVWH^<k.Zjb#4gEi1=6[E+t,T1f$6dEdd3V%aA4IYOK5:R>+(U(f=P53Ze=+\"n.Vo/]!89TB168a+;j2MogfLSgNt(@e3gOEDcc3Osig_Fe/rXs>k`mLd)`ma2UZ+p;A>_0M_?b@'oBjT36)8jF+9+?2L,B`'A*=+g/'*ojoGff5tIh!,f=*2CB%M:25sFRY6#ptJq/cAcCVe-mC"!pE+iZ*mr)niV86E"W9^jJe1jMa=SF2(G;O9/?<:A^</F$s!VZHMXuQ\^\T*,oVi/;Ru]l(\%3]@Le%cQ(:6Tate8E_b12?96%ncEuB53S?;ur3aE0FqgbJO:;(p'NIOEf\^\Q)p,jD/4HuFE9@4"$2BqEO[.sQIac#_p2_(Y/`.6=aGbJ)U%SrK9B?f\RH]JX3B[ia5:dgh'6?/AP$r_Dl\S8f+HnrHmHt<'F\UEI#FiXN<)`mE~>
+endstream
+endobj
+8 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 595 842 ]
+/Resources 3 0 R
+/Contents 7 0 R
+>>
+endobj
+9 0 obj
+<< /Type /FontDescriptor
+/FontName /1Ef905Humnst777TL,Bold
+/FontBBox  [-143 -235 1272 1005] 
+/Flags 33
+/CapHeight 693
+/Ascent 1005
+/Descent -235
+/ItalicAngle 0
+/StemV 0
+/FontFile2 10 0 R
+/MissingWidth 500
+
+ >>
+endobj
+10 0 obj
+<< /Length 6763 /Filter [ /ASCII85Decode /FlateDecode ]
+ /Length1 8696 >>
+stream
+Gatm>$Wn+pffj%\cKtMP0"WYW/1Vi/+L56/O>>Z-.5?Q*;,gA0?AM)#BN#SH>-/PtC=!eb9I-tU1"9I8-;D`R%44s%=A,_Me/2u.ejN4<60@P6SQW`3H2RR;cd-QRLY^WDn+eU)pO6a@(a5\@pEL^oc<S"9;Deb\+G@L`Z+kC0=iIE"L`jY)Ju`^!F-i3T<2de[,TK&t4Lr,#W;,ilUk\Ve_FQ24(JO/QD@$1M7fW%:KhG096Rd!2#34e"Gr(B"*0^g)qjLeh;7'jtf!*K\U[WKgqunD<Fb>bshL?LD:-]4,N;hT2O?)-]q'/e76E$TOA5Ur74\*Dt8SUCna!4@TK^p!\1CZiF>7'bjf-YXSIci(I5\N/>iMQDUWC>@;/Z;/":n_VgEf`n#X0;cp&h]gqEX:2$)c<b7"m7J9L78Ip7X-L"3<V3%01AOekCdVi*X^q\mgP%BKk*98\"fLA*88LDnXU4$_DMQq3fF7["eC.h<\7hMUFeemaqIgK>eUC'MH<UW?\`5!"_]:=@j5!1l@gJt$b5fd1J;0+.b>n-)+LU2_A"g8WDF?C^_1B-+YC>b*kfea6HAn>$=W!a;8cZ1iRI_70>)M*/bMMg2Epf7e#j+%?;o=VMf7.[r+X`fA()EqU=\4)1at!9h7B#/kbuLr;.`o%:UR#0OkZM*4D6/6)I)oHR@d%KH2!8SdghmdIeI3rdFt#;*r/`_WuQO]n!H04cje=jlu_-YWj1]HRt'94T=_gGh+'mE`':QjZdDFs%")X\QpKW"X@T<-;m<XfTseeK2MR7R#/Arjq+K<;T/@-0?ME,3s*k"D3:CJh:JWbDq/:*r7;r-FgG_oF^@815R7.QggZO]1kH@i;Di=GVqm]E;4m<;ZITS\GIb?[2hlee\J)$Ij<b?C$T!>%Cr-@c9re"pNkKC'CpA!g]V3e<broC`\Y?ut/nZ"6J5MNE@i74]7CJ1GDe\>o;PPXAG,KII*l)iEAekSf
 KH#i?>SDF(rIlqj)bSV)lpVSfYYKJSjG>oW4otKVPlpE)lqLlG@7uHK(b!5,=0"En.fNU_Xr5H0!^)m5X8*6,$3S>5Kq;ot+)>(8pD"XA%a-1-8_`iIOcdjkKi3ILCb99`$S1Rnu+EcLoh5-<ehDodj95WP(s6O*=pu9Y[?dG>dO^Ik3^c:g-A<DPm^r7NCp[Z]V4[nI-:O1oT"A'sH4O8!aI#b6;@,L73jWahVh]RS8MBY0+7JtUt#A.+_(h.sqA6U=<HH>AKO9Ztg59_B0%g0+8<=T,6;bqp`%&dVhA//XR[Qb1.$/KtG<tWlqJrg#i1RpkSQk,qm+VWYW"P9%"ZPHpL.t#VLmg$\:[XKpY&@)BXqc\Z)iB6l?KH.$(El,M\[0VIW#e=tagdEP)mMAn4iua5*=Q6Xajd5T.!&6]8MSs8;Uu>8S_+5i)kD16)'neZ(Gm'EO[5]VkM6\n#1<hTO`CZJ<-6$XFrHN/S4)djcf^bcMdY.P7QLoB_g@rGAa1N1s-/*3U__gq)%T/Td7W8F^<pdLi3)YG=BY;h*)i^"Pc!b'H)DtBKJuI.,[0gO.]4Z:tAsqaEAi0e<C1OXT\LhE;A-c5-/CiC0,B*]bbDl(4;Ut;$SWA!akoGcS7]qCfW<#f&!>6cK.`L>-&BUcW)$HGF&PS]'N_\n^=NjsCkl[(.NZA`G;.=!D2lr*+=<W,q37s@Z%^=`SP]TcV4ZFcHfP^6/i-Ln8Y1N<``OM65@#_VC"mtr]LgUV+lA0nrHH3r$\b8W=FP2PBhV7p]X@Xqg`8A;QHrpYTI"goQ3oiW&V%=Ub.Y[CTEL;SP0;9R$r!.a0SUeP,b_1#"ggrYY$4Xokb&H?2A2,=<njoKSU>9GS-E!c<VSpJ>,RhMqkVh-#a7HeL%s`TsgqUW'qOEG#3FiY+7-j';oLZ\2(Z6`eh<Cq62f@$H2f-3J@oF,KZib?B<j?b,'WtQlACCi3K##17)4QRm?ui
 `-jo<l86-QRh:Y<q4`/6&$mD*-^>)R()JkN<59dJpP(25@KiJ(L12IE@>V!<-prNE?L(6WR-:>*<kP)p#?*]8!2o'G-",0ndIR9U27<DWoA!k^RbV!$62%7aB$NCX2;#UG"iI8sRp!H;0i!+ZiSSWHiB(C40AfU.5C"7pC_!`.aKl0!udkFSDL\`;<3Bi<JfM9")Y_Cg*;o.m6LTbrl)O;U2.H*G73=a?Q=c)ZX)n\f+lMFaoa<MDsbi9="f/-V&sXYQD,!n,($LrnX8A#.'j\31Td[Wj#q;r#!(*S6?Yo:bRD>O8H0U%CiQ77T4`.pj!Nd)bN3))fPWi=j"=73SU#)Lu*G.9*>o[NP&fYlZsV8<AYo2UQ?H>'.Ec(I1K/KOD<-N35F)XtGZF''omI"M+=r*07_Jf&0JsRPng!KuG+,B6SVNb4FjTCtjW\kQsMfR9n$V%ZW!4<noBW[(JnBUj:3tr:nAr^op0mkRf6FgME%Dk]K:O#VcSK6tFZ&)QfmG?-NDC"0?5F6u;0Wljs0'(l&-+1.k:*%gfu[QbA?Al)1`6/bBqIHK?&5Ak+AN.fG/=e'a:,KQfN5=M4>JKrb:Z(NL5Y:R7`Z<X\"^UP?iW6m0_8+qf-_LdZeBh@3?@-MGml;af>)Qs)^J4*KB7WRtM#s&4s<=unY2PWY+.?0Ui:\+5=Q4=N5iLCTS@pL1aA12'c2E'T=X:5KJNS-XKkC8#[H6sX_,G<*5JPG8pB."QrBoUVY*/H)>u0:(MX''.MH;9'SQFc<I`715SHq3qcp>S\VEXB$c@D%I,-fgICjC'*J@s#9#pNPl`k`7iJl0rYp:BL(9PKsV4JD/=M4V6A&AMN@@*T^%@""&2G`(Y^J9[deLI4h%2n'-H'Apin&U2Co+HJXT12$eO-"\7[K%JM;c&ap*FbUu*q^kZ[ip-$gq*CbUSVeJrOl7a:H?@T][.nKJbD^6c"t+E6:`',A`Ih&;q:AR\DiLW
 ]M)'spGJ@3FX5gg%BV(:cZPq0mc/g^7Ps9O`;LWut.@*hlSA9+bY,mS%ZV$.=0W$%Fd6g^ZVC=4>?7*N;)D4'-[5dgl<M0Jc#T,Sq4b8];'F?U@jk$@PY&2<UMJ`P<A1/p#d4F[+7#!7`:V/=UFSY=1-4c&G6(;A^H7:eEFoE"LAbIfj]\idbFa@MuuAT[)5R\r1I!Xb5!9_!)%Q76q[KM6bkUN8B0R2O3K_MG=]MWkJBV2'kE1S*UFCcT-4:phiLlM]Y)=rRpJ.B@).?c7`NaHMGS69aa=/P)Iq0\2h"]&Q7I@VIk(1C])CHbF\V#f>#H)Tjk5b2g\)+DO)_#D9fRK*ae+:7R!GO8#TI_(a'&3d`;e>\cO(AjnqRo^+<*gbG9BZC9%V99I^YpAC^:1.4mfK[NJEL<9^dHc'>sU?a0dGB0h;F7"@-0c=H:eGEI8/^.$elRce>k[]ROm[&pnXa3uP(nXFtEPm(U$#\qhO6V$2rBn#ZQY1P_7n7R=%?f=e.LUAt[+-lRQSm?G\#BZRHg.>=&I"pFnC#koM^IZl]]'PYd%6/`J^m=A<6]JAp7Pu)U.rYR=g1lnQY8lqico_'&$(P#5B&u+<dh7^siQ6$aa_gZ*AEG]'MN0an36->hn?-^6+uW>eg$P*"9L`iMW?&VgWYL.Qq&kV:]gQ=;ZoX:1E+X<<Zm$9g/4.f+?pRS!ClH?'T&rd[&M1:k^O5r/rO2"EmtX\epgIf$_<g^apO>8El3s7=FK@EJ-7QS]JUVb%6Ik5f:tLD_&D*gME":01qV8$SLNRo<BN$D+N6[;J5^ia=l25,q#D2\,C7UZq*+\kN/E^)E%R8,Ab+HD*NMZM[.3Af2F]iT_B^S5?X1a[#,d1jZFon[9+V(m3'Sn-6`K7p/<uM7@aj<#(-53</E=,[([/h<XlsKl7X6i960qXmt;5,)&^%O:$UejX$*II^n[.W"6mC8=K/Q["GE6+UkEee%MYM"tp%
 i&QIURKQ_;'@OBCAasg7D5:FWW8.s+BQ/Uor%tm5'e^@D5F(<=H`JV?2PgkPI>p!o;"k^s5$<4BrGE%_7%%)-[`fkes#SO6aA-5NoLrepIMG47G$FleF?l3)76"DJ",g#\_>s*#R*hu';T_29W(2U>)c.PA,\,BS\)9I:1cX!6npebU+BnpZGk$^q\^&nqr]lkN`A;lGN1aV2/DDV37d(8GV5S?Is"0Y7_ZZ@\N$I9dfK@^Kcpo("JV.6S_*+K=q+DA/6E?rPsOjL<5K$e!<GG'b;_9U,qqRu-$H'O_\LB%*YtWPOSdi%n?AZXBnngCgI]*R6]`I&T?oARr[,*KQ<:ddkKbLU64o3?**B&#e;u.('M"jtIh@$!OFUFEOX^om8cc`]H;uM_gHoW/C*lB&fa$C=Ii!WrArq>3M^UDY;.Bn=;Bk:D)A#Eo/u"=QVI1%m:D=%i<\'t^GB2L/=78JT71"MF&ek=t7B)<K*2]S,#>*04U>8:,593&'jC-!2oWdpXfXlUmbtGhOh<rOp"090t^?eqNIWb:M3>Lj52(b=\lP],:-)LM$/QfAfhp[(7S^k17BQ<#)lXpQ>V[XZOZM5`IS+Z-cEu-rBXYAuMTQ'Ut!GIo9NT9#oqm^T>^EBQq(2/RK%\5#&MG[1XXd1BD5'>KRr2$2n#kZ1s22VcH@bdM#\t``H"G#6jW[o\:<i([Jo;_k)X13<m>I0f*H"X=/c/+ea(XNOC^US<2m_c)sX"bBVbStb?m;Fn'Q\X#_pD5DQ]eXcLd.0OGc^cn,n,pSR3us=b'mhG1!)Yl5G>6.[ZHJ6uUduI?-$dA0^hViH$8%c>N'sC5'Q&ub`S[X/8TLHW#2C<1Sg\/5bS>TY`*g$NZug70p^_Y8,]lOr1Zkcb\n'C_BB3u`TA9;B$!c0UmOddAqAGddS+Q>riR4#\:Mm(;54@1ZR:h<&mpDcDRXh,V^mjZS/3j/kXh]FKBWdSu<&lZQKnk@A
 8Z3#c!NSX8&rkVB'=k>Dc4seC6Z7K"3"EP%]$[T#HX"0f"'8iPd-h9*?)tmb-ONu`8P=N6SQnEahjXG#TsSqaHYg=!pr3J$qtq*8^JK11T(hI?E_#j10KSMo[m9f@OVVM`mLeB!78Yib"\OR0#JpWh'e=Z::Xp*1p>&qMK:7P""UEHT&?M_1"B,*7m@0aSoB:gY(TL^K)PeduA5oVr)WplKna5gl0\CZJ'W9S$=a2H]^;pQ^Y7DcpPA&G2`(3Cc88K8]G&RH;6)OO#JVB)Y-eW2019\Y1lVDZ0gC%`2K&<%;N$J;[oH<;NY6h8DX=9[ZH%+pDlWt26]R@2U^-W?(rT2g/gj",5*tM)8Z4Tkj[H&@PreA.qDtq96QOWZ_ebjU,W:\U]^Fk2R)RLV3m9Yc0f6:`\;\e0$Y:el@bF`j4*W%k+Hp]TZOZ.]/OdcY:+s:dL"-.`sMK/Z7]4)@3llEcCYPAlnB[g_&66d90IX9ufPV(E'qPdke,EeX'l/jV@+eE7F(@K?4S%STKM$mQ/560CT^/hrJr81l7'8qm:@LPQT$JeL2J]UKE>r6mf1WJ"XQp!-cX=-+@E-*2h%s'cVMQYgVhtcb5[WO*m96&56.?2$pe?IJ&rBf>%reoC+NL[KIKB`=,,@dSupU;E/*'3MEc$r>KSm@j)+-nWjaQTqe:40-A]+pJ=W%+#!fe9\72)(s-:CZnjXMon?S<W!-oIiI-Xe__e'#-hiaa508>$*[WoN`*p^m[;,9r;Zq:+6<FNSUD/)QTTI\9k4oB-77gkPhU>`qF>%>Y+q_Em#R?A*FfZ#KK&J2!1*?hnEXc[V\>NrQ7Xp3S`NT_bhM);"N]DIsl%_6&)Qa)!GhQgA)aTPb3O)ZA,@IY3&;T<"7I2#+;6amd?QtfMTuiLCM'l>:E'HR<FDjIt]<.'$QRE.,%:ie+007RJ?68='?'Z^8OkPp2@NK?+qO[<o$=b?/K!/7,*RH`2QY`)mL'
 3du1=%hmEjg9>edl2cB/sQT)*f*j\Q^D<4P\btLM9TL((3B4OQ$`mgdq4MYZ#7Zr3BM%RiP/*Rj"#4l:jDuu)1mb/?<Oop9^@SfN:[#FG6&-Ffq3]@>/'M/\R&LN@Iak2*BJ(&jLpt"=b2ET*mmCeW\l^qFpo].*SpT*+RZoBjTj+l;d&$5]la.$f7X=7Y>(-FL.4Rp-B-N/LHQJA3Cq7j(:;"i,1r$fN&F2hj'`#Ea>7c_mFA'X^()d\_PN1N(ZFF)=Z3>4jk<-C^G;fR]gbEF-735u/tP"7L*L5Nt77'g#.S:%euQkfOgjZQ!bha^L51D3.@IT<;1!<3f@DWGDON5rKpG-@LHX202Bc-n2/D-;#H<&7:N5?]pYI`^-^Q1J>:GOf$oZ.=+t(]i"u$N4Kd%L\K;25)??e7=46aqLQoFr&Du(h/&68I6_R!7mr@[!2"_Hd%;_!YL31m0E-^r3KpmMG<Kpa8u2Dq&Hq24akEG=AKIUlZI?>?@QBUroC%3<4k`$%b#XHs#GP"[\dEXboZc3j.jW4ZY0H<@.dVi+\KFWqs5dW.h2P!$8!nloV)N9CX`j>K!DEgjdDOdU[>G]Z,)G60uTK;f\QK[!4G6jcb=bu-<p:S\u/1nf9j'hEjT`Af%h:R6e;@7&Us!1gKa:6c'qd1aBQ2,kP-]L4P!cTrTRmHnRVJ=<sNGX5[u(;P.ur*GbTu)W^9P70\1I06tT>@1j&8A^5jO^HQfgRYh^u4\WH_(q9s@bB4`_D)8GdWp_djUel#o]mh!$[%MWEiqam@IZNK=dkWgkETNo?6g@U?FdI"XH!TJS/F*-1X~>
+endstream
+endobj
+11 0 obj
+<< /Type /Font
+/Subtype /Type0
+/Name /F17
+/BaseFont /1Ef905Humnst777TL,Bold
+/Encoding /Identity-H
+/DescendantFonts [ 12 0 R ]  >>
+endobj
+12 0 obj
+<< /Type /Font
+/BaseFont /1Ef905Humnst777TL,Bold 
+/Subtype /CIDFontType2
+/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0 >>
+/FontDescriptor 9 0 R
+/DW 0
+/W [ 0 [500 0 295 295 705 946 750 963 681 571 609 720 569 568 733 291 631 525 503 559 750 615 513 601 643 699 622 395 277 592 592 592 592 592 592 936 277 550 562 483 863 456 544 622 296 522 500 592 592 ] ] 
+>>
+endobj
+13 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+14 0 obj
+<< /Type /FontDescriptor
+/FontName /2Ef953Humnst777TL
+/FontBBox  [-134 -235 1229 995] 
+/Flags 33
+/CapHeight 693
+/Ascent 995
+/Descent -235
+/ItalicAngle 0
+/StemV 0
+/FontFile2 15 0 R
+/MissingWidth 500
+
+ >>
+endobj
+15 0 obj
+<< /Length 9672 /Filter [ /ASCII85Decode /FlateDecode ]
+ /Length1 12540 >>
+stream
+GatUW#sa_TfDiP12Z(W*_^Z'>+E",&P);#`Pma%T\WE9V$K=B)\=pI!TdcsT@,ccoKM$oH/uXT*.B+%2Tq=t1Dj_Og0;9ob4T*NRAq1K7YODK;QW]]$cL7?OmdL)!\PEJUKOh"`U=$K#c(45`hh!I)6qp(*?4\o&;VWX<+r2?q2LNY$Bj*hsZ+GAl6B^"-"aq((4auCiI7O]pgB+-C/A.[RiG&Ys$DV0Kh!Fj&H"\TgIt8/kQo=nMj14>d(da`7]H/%OIf9c2Sp[0q"/#+S0e7R)U*EQf]h3P*%M<M2^>-,;i<PgUB1Ok5:ejc-LUp!L<:H2ZOZ\Dc1nqp,Lu4>b(;(6BS)EaHZ7Ct0)u^f!+LI@qTctBZ'7kHc>u;lV#aq[Ld2o:r[:@LTEQilVN_gY##o1>p#G97ra&j/b0L?X->!eiL&Tf'4c$7,cKD**)7SECC#d<J:j=YnZ#KimSenuTgfY0mKO+qF+p".K?&PjE4;,e[\Abr-+\6^fb)iA2_i:S*)_ec<c7A8G!n@8iZQGJs+XG=RX7iOknE'8B,pmPU3U13%a&b+Ju@(-XRP,oI>6kR(p8GF00T?0S:l&/q>NSN2l'Lrn5?u`p&-kSp=nsmp^^5C-n'^=9c."g/]&<;;r#=bTSh4\L)P+Z]KJQ7dU)j8*cK@(17-:7adVi6p9j_.VDf#J1<&\[LLq:a1>mp9ECY*Ur^gN:/W5&Sk/7Amkim?.58If0%kMdDk35*etBX50WlHB0QSg7QoRO!k6>g?`0/V.\!0+3tF#ZtIU_MT'Y$V(&%FS]eeFrH?Mm0gRg`pM9G9h$+[\p7?ZcbEC;g:]?s?O4GSrZ-:NA-:VP$4umhUghlH,`I/QsI5bU3]+7fn(/F+,HmAB>a0G=Y19O_,VI"N@B[Bh!=T:HqqM:TXJM3b;V[Zo-8"VHW(Yf@eO]-,$p^[>k7JqlVVOLA5hO)3JZV(7&p2Oa0c=`%6/]1="7J3e\]k'-
 @2K!&SC?#1BE?>\$oHJ?f-a-`IB2(@\4B1Wib<>i-p4tLF(7eOkGD::NFCn.`o<d]Vc]\]Sl<6Ws*R(Oto\n$nUE5aS?cYDmF=j3X.*\NRdA^G<7ug)8Ci(U"^&'mRMXU8Ho(oR83qDHeYpSe1?%`#]:,W'O*-Aj\V&TBQmTWdt\iSBkoC;4h[JjGAn+^;?UEb4\(S)KAk2W!gIMt80Im/4SB?,/,3t9tC[=<)Pn<,0T"qL>+ARG)nqbJm;NXd(lP*haog[MkrqTD1nrTDSJ-!&Pl.ISQ&h"CSmEkKD)cf_aPF2%pf$oN'hU'f>@<W&#pTUgGPab+U%)]n?N4S9>N[6K&uju1?#e%1#N\aj9%d(8HH>P.]#lej=j2=9+jfQCQY.hBjRVsVqj2jY'OnE&[^(RE!S>GPficm,GO4T6)/1U!PLV]XD#Tt)\V/tO7';RV?3=egm:*SJ,N`/2FBS7a(1*Xs%\W-r]4E8]SQee78/pH%YO.Ya@poj(c[kEhg9G?4L@\M@^jM>8gcdm)7S8A!H,frFhUEmD(^nb_bY(Ok''W27D;9ujRF#Ch5GC>@[@>FqE9Ll4*=QEiZ\>=+hZ>h_A*-GAK<h,Crcqo74GMn\U(,dt=$0Y]QQ>'bVkXAOJ4XGE4S52>\MOLYTP/'k,:lM1@TVitc[C\d;$=oIDGUkF`3)1ir::?^g0Eo#8JhuB-AG3j&1`;SPd]?c0(]s]<VHW?F4`8o(]<g9K,[466Il4\O#F`Pe+ei,L[D8CYGr]YDbm;Au2rUmY:ir8ml8k/"`kuZd/qU`g14?[SA`;JP2afYfBpdZ:$W[23]^0Y2^eMBF"Uc^g2Tlos@5<>oVd#GAO?1*aF^X[hV;'`u5&@,`oG4&SK\[;B@QLV4tQIp2*g=[/K6dla'@Gg(?4C#MXXk5h_5PnQKr8p!6?,r=jRh!ZYp]\0K!K\sr(_-2+)8P+5pXr>NPQTBa%p\H%,8]!Z0FW2%Q4;
 'n)9*0m.H!80ShR;jUrn4-'HqU+(oIqnN.h;aeGP8eFuVfL\;i0T+[)4Ek98p7)THe72]t+H7P`aeaLD^'f=!BY,@p'Kit$gu^-fs^n9FRqa:ke'DM)p/#(4Du17]6>p[/)-#GDneNtsr(j9&Q-(QsI?Hl-fs1ORf%)'M6>N!6Fii#42B&FtV&pqu\'/I]]K!Qd$'IXuFT-pX^G4LQ.;"6L0EP%7:MF@bhnQdQ^kQ37Z+q-p>Q-DMgpM\4"81rV3iP&MD<0TBJ*hOYZ+lA!0nK#=rXq8'mUHl*a"@gCdBp'=o$g+RVsXt=\T)nOB@86YoH)l'JqZd.I01G>R:^Q_%dU2`op;@3M1K3r;C9nH%ZAb3f[3<Y"/9#I9'L6Z^5.>Jb/@lY;ue!R2B*q!jX^%bs*I1FAimE:?7(UF^CNTLdg*_C;4>>SlgIAl&uY&%!RF^`9eVDEH?ZF5A1J.--[5%p+]%JKJ&R?<N\Mbne)-u"AS/(JSCKq.aSp#K3W`I^`:QI\D1fCB'(QH-ghYfVn5[;YMa,t5PnY^?a.XL!S!(;GA2Xk=W@3PaW%$1)-o`P+foX0klm*gk7*1[i/7K9Y?D`-Iu(7=B:[0+j(pXcnJk9;?+iCU9(6-/p>jr(i)dl-J7u(btRHcQg6#Ar-)(aQ7:f_WHj6h/+2OK7_LTaN^NU[902i8hc1%qP?$&_%0oXXR5?*d+oS@]BDV_MlWgMB`/%AciJ]fKXR7t]#n]om(LiZ;RKbLpR%%h[6cKGassPL9MMA8e2^-)?W62EHZUC4Xfe@MrC2e<W@9"5BFfc'&S".B'PV?62&_r".Bl,KiPn1mE%2SKQVi:aaiRuM`4o$;X)Z.[&Y1EQLN5kT7;"K$Z$)k!\2O?0f+qnXqSeNC*`='9bL\FAnXfqS]@o%*.,,]/:opcNG&t"#.htO+MdAuL+2XU,\Je_'VDp-ee4>R)N>)h[DeO)tYa3o3-8?K7Nd(\O%Whp9k)
 @U1^@YI$7;"<j6AM!P"p+ln+;h1'puq>4B"t%ACfJ?bgY_?t<5S>E:9E\$c*hdM,o_RJ3C3nP(W`a"='NspZ;jGJ][-nl!:9)I>R4k4@Fdeu%'3^WWD";0U,Yg[H=a>9ac#*\0F?5_d?b<FPTt*ZYhgR+X$'8[A7rT`PKD]X_V&E5U6ZjK+t')^i7s!@"h/+Pf+\!L,_*0PD&Z\Z`Eg.JjlWIPf_]nio]1Z%If0#r_`ujVSah9%VF0h,>%52%k(;)tQ!D<Y'sQ6(jd]@EWK`W6%UR.WdGX-_`=I-BG$n>n]ea96@rLV=(';tt!PXN=M7ZFW%4K;c<JeapEVp$@2\$ii5)6=PR"?j,VeH\N@mT51RF!K?+U^sLoE.ol)DV[*'9I1#ALPbZ\21XTMbN2'*>:0P0VJk*3t:W%aNJ'#$J=7M'CJlPO;KMQ!4RI`3V9c)KI%8#'T@"8Qm=gQ-9qA;BNR*!BP0u$\jb(>!ibT*7n[@EUoJYdn,+qMBj>L$?-7%OXjC1>57S%+[AJB5^c=/<Ze>E1?-,[N3BpRiB5mC9@IqS\G/N_6Ae,j;&`Rp=A15M:6'-nq"Z@8E,]5q?R$1olK1!SU$$;87-^1UY^eo@rG&0hac>>JAgpM?HFEZB8/K8bc%UZn56[gNFb0l>KW<_k%bE'u;+.>.Hh1>0q/P]Ri1VqZ.mB!PEkk)E4@8?VPZ*idVXB`9["Z)*sO>AF)pl0SGC#N,l(#o^k+eV22Jb"_WY@!'0LonA6"LD5B?S:O_Rl`MFCdsk*okIO)jH,[[X9e,in"4p`TR*LQS?HiBS^L*5do$rG8uL4/I!&UK$nC8aMlI#C?<03'mUC,$`b#OXKOjke'$nTsn74XGR6SpY;15Bo0V\clR,q/"\Y<Lj+)E^cgosCFp-!G)V3&&5"`,;9B^#;K+j^M82e"*PR@F;H#XEm&.$;#CN\ti'X,(8acY?M>;2Mp"R%(h/ok`T<gY4nd:X?s(^
 V.@1_NIKGU],Uam`jeM[8:i."GgSK;P@c.CTLRk1pfTKONU0A-Q>W'Q)Kpt&CNX51N72D2j3Q=$F>q1".Q$>5Z9a3<]`X=Yc1'(%Zt0UQ1:ZKkU8Z]b2`^7d\:@#(?$MK5>45=&U2rlg?8)GLjoeY(\2(ZQ8X6#!P<m7nPQX\1djO*o:pFF]/3YlkC@bB/Y-mgF@nR/lK"Sb^c4Yf%!Y+1i(Q2RYWQLm\j"]@P=*=t0.pR%2rndXOrP/1Yd3Q'F>c%t2K%0_T'ZbW)):B>!tW7E7*UUX2T0fNdZobIJ3<tb4r/0#;+h[%/Rc_bTTt=;)p'D+H+@J[kW`!='5<1c8.DNnK6i_7@@/mc;fW(b!H<u%%S:&mTU,H/4Ktleblm+0"<ZoBc2^Ga5cHKh20,@rqfKp0frhB^qs&2G$L*Mb@<49c5MC;S`:is/q6DYGKn&-uMU1NK)-tPVb.>qO.iA.G0#bO9GGAsBdA;q+392]<a2>gW.8am1S5d?L)$i.GUuZV;!\]ri=C4G%]GC3Uk4Wa`kolds861kW7WSqG5`PG%olO9eMO>%g)QK0CV)Z2!obWH4*XMe^nre(gWF7c6kj[YnK6A8qaQS?\C7elui@2l/H\>g$/>-%=(1J?ZnZhn9(c2F5X[^IuFWN)3Eo%5flA]'u(Hnu,WqYh[H(5BQHe#qrcHpu-k]Yet,8?l8Xj]`b<af$Ng490\QOb,uGi7#HWVd81faH!pB?tpPqDV$\5C12bfP_9qNrJhn5)7B7]Y.qE,=/hKpGt)Mn1-ae&WS.%#rpA3&NN`BE[:<]Nbh0)F[AP"ZMW25f,urLOel/5PWjICP[T")b.W.'I^XS^j"9&hIOX'jk,N1_qo.ZFhd.qlJ"YGf0=bYQ-[9g'XhEq$Gi@mqEb4(_<(^2d(2F>lN2&Mj.6!Go"U,G1L18Z7hSU];hPjQs_2[N=>B=ZdZ/L^3q&uc!c2l3OU_A/>rW2Fo:q5HT'B>t9
 Ge8HScHP0qUV#D!,"5)O0n1i`8bLrK@EeN&U,4<uX[T"=#ViaiJG!>KBQ+$@T=`I>^'JPJ70@@t=JrLi)'u+Z0J$+C1)VbHB\-=-IZnUS7BA:mSR%u2YSD3gM;.u!Cr1pj6>WjA_\0TUeohJup]HWO#O%!/NJ@^,Wjes6O@U..0Q;VL4o's"$/5bn![:)J:EX@2Oma5s3K]Lrqld%FM0dV''6J4KU\p+t^.p4H4jU(G)H)>[_9OEsP#fZ#["Ka"7]hkq8?(MQ5DlEE3@d%DD*I_pj%U8b$`%M>dftK%MpCT\<]([h^bnGieb[/"Ab_fJCY9tAo\!Gr5#]9^`gVU^^`g*)C3rlX5XWns]1lp>-6PuQ[\b#7F0JbreL0IUWWX*UK!2??O/uit?>`4D&WmV:).H!QJ6%7+UT7i]01C[;$bh]fr[%A7Ts,sp.F_4r6n[M%aL65;;W8DO`!qaRE1i:8Kej')*=CLo>=andYFsTT=iHG.FcOT[rhS6ZKo+iC%EpE<?(K-f10VI`:]q!V>,dM6!#`XLc$Ia,^PUG:;gKf,DDoZV:nTV%^uhq=I@rXLX<Z+jGGU31#ES9m3:4n\rShF\:0PrF?2hZqSbsg_fq\#HD\g_2;S2\ggnhE>p$M5LEM#\6B2*_7Z;6N>hU[-=qG!KHii#gM:h.Vp#`*-Q8PVm/%qSWOe8ch$8Y@CEV&//3<8gT;T^uK*l;8@u%`<Ir5Z$hs^ra'=:l6kAH53Ya2=WXpkg/^q4ScV-TD%!7$DPFM1H6gg7r=#"'aLq+\7!gL#/pgHB]R;r:e;QJ@Q`!sa?Q8f2D;UrQ@U+bdk$Zg7^@"oc:nfQ\JR;0-Wq>R&=*b/6/?XjaOAhJVaFUSBh-$+B"qa?+El\`$acA[,E7PkZ#l+I8U-[$'t&Erk34,F5K[K";M9=M\T8*r#^g;l7/!'\>K$l+#;,R7XI'3B#'!U9i"H+6&fK2DX#IDD)P#9`Ca.lZK$Ei
 X$NAV!W[%O%S!6igB$,tL./Z.A74j'Jk\8L)Xtgu_K)\E)62V9_qI%g9/b!W800BbWdd5]9s6I);/M&0Z&_X>r=uQbno-@/l8u56.,:l)g.A:9Q+d+UZ7QD$dKN#tlL)s]aNm@W&3Wi409hjdf\MV9tTtL.bW'N;%fVG^(*bg4!7NJWO^r;1Ha)O!D/TraK!f19QJ$O6fZYduBH"+1C$KW]pWS0Ma?Gj&<^qVA[.I%R"0:OoEgeGi3eJp>*C,l%Hl4Z2KEjk!S16=-j*G5!S%+&]U]<J)s,D$70]>+EH%(F)`KFHgsE93SEgi%/YR>M1>cCT<mE'BM/F+rEOr;Q[H*f3CWrI17*KCG5sf@J2+'[*_&>H5S"b]E8J6S=S&(_rgrYW>l9&1flES;'g4+M6*^]6MRkP\,!)'t]n96?Ebj3$?Q_Zq5-M28u>mkM]$^[7?>1+`Ld`]CfCcBABNHRF*&+?FEn$!OeBL)CCqZn"fj.X1Fr&s4.(h#Ta_'^YQGkQu$J?>-2`M\&J!b'Q.EpO=kp:;t9`Tfr47$6AZi7$J0Ujmt_e=\*sC1&p!@kn6A/%:+E!%a_Z!P@Rq;>.Zk:6DX=V(QtgT*bSct1TVFq97#K0CGSOP7Q*3<j-Li0S4).O[#H5@uF)+PYIIK5$DrcMif_i]P!NT+M@DYO1F,2ZCgtk/VP@=tOlU0FS7i0,TH.i6ffhD.Ud6;lQX-0'@7t'"dXXu]Qj[$UJI(\f?V$fMK)5gdk\%V;L3K9U1.QrI0'YE*c@U-<YD/2N7\ge91[W#_fX]Uj>p%.6HJ'pGeEANKcEGh)9f$=%oMbD1U`2Ya=7-i`.9Z)PK=f+s2qqKdFZ8_-6GD,Nkf+L<fI>-+aMGDKe/[Q26FtI$j+d?%R:7f4_H8&P7Ec00k^)(S*c$tn&nq5=/b'o.02Kcq#Yt$=1mi"3!d?k?piQGVH4kMTYRi)[Aq-lQQRmk/%G7p/Jecu9*Mc38/f2l
 IG,d(_^LCX,?:Wfk)4t54B#pEl:(n]H[0OZs6N6b,a1\#[L57spA4VhdPDqoB8:c<[L...@83L>);8drNW7F.colkZk[*GfL7<kF=hr.6a?`4FQ,p0t$c:4c27cV(8"l<KKi@,,%IpTJ2<n0M$Q1.[@!W24Gce9Wt:B%,>_PG/,TSJC@(bK3R2D7NT0Q$H@8,2%P6gTD)HC1&,:nar$HKM97g/i)"qjJo%6YSK\;LYPRn8uLd`>h,kS8LfUfKO2,3Ak-kQe!ZWB'Pq(/rfE$S4^
 >WrW5?A$<n.K!cE,&LKp%B/4B=G]-B/t6<V]BsiBdI=.85HBrSC7tLS1Vl#2Xpq:dGXi$8`AF2PPD0Egke1H<*Q_1_Mk]N-!%md<hfB@2`$K1BQ1.$T1Ptfh+g!\UsJGK![??PZ?16biBWk%3EI5%$VMLK1B9u#2;PZrQf,\QlNhLZi,G3"iqQ4[^c?nh.9cX$JqG[7AWi'Y^aBkX@am<8i7T%;:'CMr)^p_AeM*W]?FMr@?uGH95Hh>NGEY<M.VRD/7:XSc%Bi(p6..qOg%g@Z'RlFj%1.M(/C%*I7)JVq4<QR`7r8j@d[]+-Gs*OF+kap"L/Ij=U:PU,'GYp+A]Z(Y(+!(d<B)N'8Z+Q"r1WER9WlR,(LDKE2$CYrY#V9>%]n/82aZ7:u]GT.?*$?$u\n9`s6S18Y(X/cne`/GBI!LJf".lR(Bjl1OuF`8TUfE=1t%oloO=*=*9fr\_e&r5)-h\?dLq#J)2e3@oDAb&Pr15e:CfAYCh.^?UrB!-hDBD&Ds,LdmP?a4CpAnIhW!m?U0,nOA\`67=pX<lN/o><k34Q^786LZ*'<l]Hr*.5P-)rWo`OQem@2p3Re39326imF]&KU2RB.pdfY6NTZ$G28OL[hS/9Mq&^\pBl<Pq7*a=#oTWIe8j&6?^7gpBA@.B7V3[1b>-@am<4fn/"_BS@BkV):l4<`kAS<sWG^-;=EUN0TipA.6GNYYDU)X:I.?'FfdXhMef+K5)l&:5:1ae`nFpF1t9^r`QBf/.r:I=JSnfR)h!Ets$4:hd/,31I*,GUGf(9Zo`'0J)Y2GR)MWa&h,Q0^Hdofdlj-g+([lD?,T*^>qsTK@MHUA;#P2$+eJX`p#?q:8N'-ob\X;*bs1V?TeU'F/KqLE?V.t8.DFPLR<2nF]c1u7R#=*(N9YWk=ubpi.ksfKJ[*mhMT>hZ@fG,KlaZ#>.>9"F&VlnqW$\I+7>%O"mj&:L_i#s"NsbKYZMV`^b1nf7
 c7sGeS:=*9L,dZb%N6Eko#0pQk?b4KiP<K.oT`-jQJkY:IWgh#qM/(hUm9$8FEJ(RQCP/T)RK:4?7lP$LZZ>Xk@O'^1i!i&fn_N*QQ[cP5ol\glpYLf%_7AeW=(;Zepb:i#&"c8kYVq&3Dd3l'T?7l`4o/_pO!Z,-[tQg-\!ZIU<.eObkH=_+s_NOS)B`.]A2o*9*NZCl@i/@[`QKVu[BB"!?8*mJ7c2RYEZ-_Lc5)q,R'`E#nh*.HGJh_-7a/]J"Nf/&6=`LrGB^;>Z5>RR?``dGJ&BFq`D1m$Nb/$&=_L58Xe?"q'f+!VfI'$\&V2_!ZQD%2F&'38L_S/*R3,?).ASE+H_mM7s8m:5/ZNo`[?YQ7/E1<[u2iG8r6YAL,07;?m:P)Kh09cA0R0SP#cVkK:#8r^Kqa!D)o#cX@@C:F_T!\W@*lqe*ASneX*]KaZ?B!1=mi4W""`7!X]'*tf292"61NF!nWM<-arODIInZ_1tQM3jYFW6^[P!0T/ZJXEJ7EJ_c:=]?F'F7u.Ku*g&e7<nTQ'%&ZoYP9lc7Pm4#.:1%cP$Pd]K6H3.j(e5V*n+#LU;U$qi(VWFECX2HcWA1?c:+<BM;hj(YotiFM"LX)^1=XY40'Y03r'RfPF#X^=')5!bmk$*#r[*>RmTWTjB!t#al&L`=^Q?a*\_l]9@K#XB9Sm#[k7_<E%[09eJE-[*NsQh*^%6s8Vm5@#<k)lko+MiB<ES;Y9C1h$s-rmY#VY/\!sdIQ(S(LQJH#lL$j[a~>
+endstream
+endobj
+16 0 obj
+<< /Type /Font
+/Subtype /Type0
+/Name /F15
+/BaseFont /2Ef953Humnst777TL
+/Encoding /Identity-H
+/DescendantFonts [ 17 0 R ]  >>
+endobj
+17 0 obj
+<< /Type /Font
+/BaseFont /2Ef953Humnst777TL 
+/Subtype /CIDFontType2
+/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0 >>
+/FontDescriptor 14 0 R
+/DW 0
+/W [ 0 [500 0 287 287 287 537 527 811 360 366 596 586 250 574 574 287 574 574 574 524 469 464 514 596 586 883 514 476 287 529 277 527 660 419 501 250 574 574 337 269 535 464 732 705 609 576 250 574 574 574 570 586 469 419 686 586 596 299 287 575 283 945 287 524 915 589 591 477 631 710 353 586 323 323 586 464 480 503 689 469 ] ] 
+>>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 2
+/Kids [6 0 R 8 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F17 11 0 R /F1 13 0 R /F15 16 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+xref
+0 18
+0000000000 65535 f 
+0000025008 00000 n 
+0000025072 00000 n 
+0000025122 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000004450 00000 n 
+0000004556 00000 n 
+0000006505 00000 n 
+0000006611 00000 n 
+0000006836 00000 n 
+0000013706 00000 n 
+0000013852 00000 n 
+0000014246 00000 n 
+0000014354 00000 n 
+0000014573 00000 n 
+0000024353 00000 n 
+0000024494 00000 n 
+trailer
+<<
+/Size 18
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+25225
+%%EOF
+
+------=_Part_0_3437046.1188904239130--



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org