chg: [exportpdf] Add metadata, bugfixes cases (too long values, sanitization), links to misp instances

pull/350/head
Falconieri 2019-02-25 15:49:53 +01:00
parent ee2a2f4af7
commit 2adac8f0d2
3 changed files with 677 additions and 843 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,391 +0,0 @@
%PDF-1.4
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
>>
endobj
5 0 obj
<<
/Contents 26 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
6 0 obj
<<
/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
>>
endobj
7 0 obj
<<
/Contents 27 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
8 0 obj
<<
/Contents 28 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
9 0 obj
<<
/Contents 29 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
10 0 obj
<<
/Contents 30 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
11 0 obj
<<
/Contents 31 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
12 0 obj
<<
/Contents 32 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
13 0 obj
<<
/Contents 33 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
14 0 obj
<<
/Contents 34 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
15 0 obj
<<
/Contents 35 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
16 0 obj
<<
/Contents 36 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
17 0 obj
<<
/Contents 37 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
18 0 obj
<<
/Contents 38 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
19 0 obj
<<
/Contents 39 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
20 0 obj
<<
/Contents 40 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
21 0 obj
<<
/Contents 41 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
22 0 obj
<<
/Contents 42 0 R /MediaBox [ 0 0 396.8504 612.2835 ] /Parent 25 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
23 0 obj
<<
/PageMode /UseNone /Pages 25 0 R /Type /Catalog
>>
endobj
24 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20190222095950-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190222095950-01'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>>
endobj
25 0 obj
<<
/Count 17 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R
16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R ] /Type /Pages
>>
endobj
26 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1591
>>
stream
Gb!;d9lJcG&A@C2&D;s\5V.[4,%[F&2JJ(#]#ejM*Z!s.Od/=gChI<,7fWFIA<A(l=K/]pXrYRFE6'tVL,5V2K]*m(s7q8.G;Jgd!taC$G"Y(u8S4U9qcWPeeFmh_XR4u;*2V"V@Ajc-)*n8$BRZ)sJkY);R=-<ddmj-dSAo;b7R7D7Lm!Jo0TPYTc._U^cC^I9ShtN%rd]'Z#+i<nPH4#-b8H/YA[*P2ACWT=$aM?CpLI;?CU.)GkfNMXnuC!AMO^%!I.^Ig`B5j?H,JQO_kaV3[Vdh%>p"u9;'T8T]Ns'GCf@L&0>e+4W)bBbi+SQ5D'[g77egONb+ONT`%`a8MM[S9+:+.F4cQE!=t1Zlhf`[B%M*sg<N4BEP)i)ol"F$e7\_^n(,][ja>'Vs%h'IJ:#ote"[<E<U>5tOg2F#Z=9JE=N$$k-br08a-bI.l]SXHO:7KS@R7RG`-.$CsI82+r^0I2_XGOj/+-HmHcs>lBi1J=uM[^a$6tIoBZRh*HaCHjL61IZ)^I@'39bj.=@(-A^\B,19RPq'+!D!#LgCug<TPo@(!.P,gc9TDM0sDgA;N2uX2(dq4Oh9=V@3hoMc7o_B"rIP&*5V,b[4I'B#sOXo2`++6j#4NQMekb\ii/jr]hi?l?=:bboY_;"84U]0GCJ@hHb7M%n*>#MLFq^3i"_Vubeb@Z`KJWj-E-KEG(CTST56gN!2fhr#Ym#n=3*,:'\m@i=/8?_V.P/#H2ghp2e;>XSl"IO1I<>+<$%#<a],RF:]jr3)p]6NKmm8%oC8\-fCuskj&"\ge^0%`E*G:,c3S<bO=&>#KM;Bb(q5mX&_:/so!NImM&D@o;[#;fQjWZ^eUU""4k_&]PGIGqJ(Bjd<DBX/WZ8#YG"HAd&^`hTpjDdLJ=_r(Kq;oTQLc&@]@k]qc/Y['qtrRI_u)hWNo6gj(,P,ujO^p28"GcAg+VSkG.71k87(1^;D"@_Nc_cgJPf,/L=,Gafq1GQNXpRoOU9uW&P5PO=$g>jMI]&!b1h[#<$arjGt'/RG"l[@k0Zqc;Fkc2CrWmb^cEa0);J2)UVjn)Gn1Dp,Zk1cZ$n[uVp:EY"0SleN,iDgnMoXXIIuqa>b5i974W<55IED]\8ArE'[q4eka,fk[_2j^W7e^qd=^i^*Hu%k7-AcfBYmp,&.(56oGkKOkP7m4\\=7ekIKj(V[hnAnGR<$53r+2@Cj-*]tJ=)odLYrD01\*OUP%Uq+2q.dQ?6t0RtuZ)3A\P5iKVo`0A06NfR-P]EGG?0+_1F7DaqP0AVl;7U`QNNDLUe#'jA7e[/TDjW"dREF*5BFa73Rm>]5WPJusKFRi@]MQs`!VHMW<.1j`3lP*Af/Y7k7,W'Y+!d%ui.6Oo)+B"cGO&RLt,LqYI8D,G]86N%oCSY"sEk.U@=-%K1`(foNF)k3]mc'#PH8?6W)l;H^o.@8)6WFqmKREb9;6@nt][p?ZG7dSNOmDK@b?(u)Ve#7rHmL:a9(l<.=0aTZAFH.<,qF%/p85r5Z8/=gn!&2G/$hk9p;g0Q199L(M**(3ZV'XTaA[+7X5kmZ4=)A]9$Ha8Xgj3<M>d\%=fOp~>endstream
endobj
27 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2120
>>
stream
Gb"/)gN)%,&:N/3m'Mro2e1:GnWoS,36l*`8Rg:KqW&HKKIk-U-mW>'J):DU;PYnf'((XIes7u=@^-.C$XaJo;]tk0eaG0qGWg_TG8)HXi>AMt"UmW4gYq)fTP@n#8_([YG-o[t#iG?dn+[kN[CNi"@1!8+2].!riCi5/-\eV6)6p0])$e1q2Pl'M4>rD'\[ZG\-6Q!\UN[PY<9V%^5<.6*Lds8'apuF'']Ir-_NlUE@GaM)?ci7+_KB\@URo<,".+8HJ=D$#2oAsn]:()7\@+bL!#FZm-lB]=fKSn[6fI1b<EGN*l+.nc+h^a`GH35=]:m[->oV6J5W^:B$LFq%oi*15HK(r0g'j;)2q)KgHI_d;P\20HC/]m4@>l8D_:Pk4hUFQn\o"oS9F8,-jkYXJ]Td/Ig;6$m,a!Y:Pf6-FZ,ClDZ@"<7Q>i663$_stN:1"[QoX#m2WqL^XD+:tXY03Sd89;?hbCdGKKZ9KrEH<HP6jeX[4((IG:[WTnrWLPGn(WheP>R.*4t]eE(o9XC'uW5Qfhj#>/Y$5f?j@e-F4Jk:?10CfFGRL%C@Hc:Wlg07tiFX/AauW1<cRXPt<SASS(R@oAZdW_`U(kKR-.Q*mLum$YEsbDP]+Vf4-t*KsKjGSle$SV5876S7QsXb/B1s1<cq%Tq\<!>JR+R^]O?<91*$OHS5hGE;)>j/F:E67tP;:Rr\+S,=X5F=(gQDTo3lDMq'0q;!QbcO+i?TJo?#Ub8+\".r&Jhe-0_Gf5ht[(e!1A*7UhckK)WGP;FUYCf?iDBL5T1F+o>"iHc?JJo5OpTi-(^leirWBttC0ZQ<:u_4\b!*)$R??f"E;10.T3c"iY>Z;h8'1=#Nm17o;TZ8?IlhgZLiq5#sn9DqMI>LlBG8SamP5Odjj^_SPOH!i_7jLB1.IUIL4be$k9?.Z7!QGAi)4`38;[b@^[]Ig&$<]`/r[cQ#kC+$U/M;E=um8d,Qn'WaLBJ`A#D+*jE7ND/bi105.N@8FoNnZptQplL;f6^>NgD;`WXiNX!$+(:UX,20AD:F9s>8rQU73WXR67QI?!TB>`6Eu/$U*Sqqqm!M*G6gE()[-b8^(8da6!rl7iZL\GYcY:]T0OI&%Fi+decETp,"l%=(m':5#E8MAAeW?E:)5Nb(Q>V7"dr'3#N,#l-*[PYM+/d/K`jjgJ^-Pr/]0)=PVA`j0ImlcR:W9c1Y'>/[7,g2^5hm'%&O=i;C[;I%qd3kLfst97*/=OCW[0-iC,G`-+;nQUe8g$C'j"'..ULV`S"f9X3=KGq&&`l_$MV&E=<$[)-&("^&jf2P`!Nu0+`]e0LUD\O!`.e53-gCNYTl_O>s;Xcf68P/FfEc"S\\ujAmKokK"M&9p-$ec?Y-Vis85riu#>b.>^+Xqb0:)dqPOqZn\imV+*q)8Maiu@I$l.BM$cZT%F1,G(SD=_Z<MXAA^/s&=4N'1']TGo*J1P$=PgS0hq^TTKUjPN+92pVfI>\3J-q<-<8j494"E+7O=ScR4`O/+]A[O;!B.a"e;*2`(133H+5,K\7CJL,jl',\lRESZR2>%1HAXS)9R%\7\($]=$doA:.Dt58Y7+EXhmXuiNNX;R\UZ56Q:ebYoCm=A@=0"mocVS/+nCQ;K"C%>8>bu7QT/dYjGEE)Q-aD[[h/;m1aB`r4u+Ps2[g'Gtt--HRj5^^J\]4m&JQ@Vh\H!=:]OlmY(:'@_M13pngf5*%-d<7/FM"hH+tm_R!q>U%7=U[sWt)nePcCKCTfE#rT3EqE06Ph(t9nEN,5N'e'n_RDiaKmBKsd6s@2,hLf%+0!Ec6gMKilqngC8f6%&iU),2TT0Afp5!(uWIt%=[h1q&0^V%(d-rk7-LT8"sfYWh:V<limjQ@M)$`Oke\"\YuDu5rdZ[UWH3mX5Hq?^*IH+"DD%BNLs=K<G4DFs4m\>\RT]Q!E<$Pt,GF5cu1'eZ-R=L`b(Xc^X+/7G=DF5_Et>YeG2NmH#-*"S+8>,?4@jCLO+GaX<42="nT=ap$X"aSb@,3&Tj`SEDsJ#AJ%4anGW8U;@@9dL+E1B3`8Uub66_O;+;>s<X\dZ5FB5G.YO,`cq#odM0`T1jI[OkgME++MMMi#`t2`+8~>endstream
endobj
28 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1271
>>
stream
Gb"/gh/AcR&A[3%=,_7$PcM`grIfUCV9*"i:$#VNqn`^_91$gWMok)Od_Gb3FtcbGfZ&q$2dg..41dR9_p&#](ejnEoA:YopqqYA(Dnh,-N_L'"6TcV4/6_h\V'r@k7[@8YC#fg&iR%pc#!e),<G],:'rB@GAt9Ho6N=i8hX,&-76SF,nr>*#\0'3ocmu\MfB.i?AmQ8VIra5PRGE(.`!5S'FLSd,:%tWfaN>B5#&o=8\20oABqZXLK"Jec)UN;:Pnj_F5KHC^uDtn<t@%Tbgn]h'^XL.enc(5,/Pq6:p1kUaX8aP=-YFt[W(Z'VK8tudDD/XTt._i>-1n?`=8psJ,T?)dWMbbW-n(Ajgpdu:ukR2FPY8_(?Q-+f0-`!$C-mK<&'C(b]V83Rj<9Q$9diQ,tYMfPD_O0ob]h8:X_FYld@<+qap+6?F>/Lq`"p-0'Ue]Nd!RerR@"4pClq7;l-k_ViNj&%8DhYhs9mW#Vi"`$P95B"-A%_rZ!)>_a>/sBcU<eQ,%MWD[c`M"_P*uS9J>B8I8"U.C%/HZET0;;g!!.Biu4VIpX]#NN^#i90J7*3q^(ja<I[jBLBLS\T1TW-74%PqDjg,OFH/KGoc<32t,T]_n@3t+7>jZ1fhUXpInA;bVID("9sd[D+KM__3@G9f:CQQ3YIq(*iA3VDJ&U1=/t#fG[-]lQEN6V;SIdoj&p5gQ7<7VUainGZ?Vg]'eXKVb4R_k]2u/\$GY#t6J[)jNuc4[)mR\+%Sj)+<Agdum;A"U[jiTdqV2YG<[H*M\095$9(8A#@mo`\4gCE$PhXqj:[gQt>E-dC9lr6B]/>`$W-i4BnQrWb!7\%`pS"1m1/0pj)h,jcon^r&TjAhV+,kNX6[nAb-FjpZW06p_<HKsIoE"e3J4Fd<Gn_VUo2=+m]O(MbIc.?8a!Cl'Em?>YY?^i!kF5&A6Ne^gf7?t\RbJs>DCoSQ_AKI27U$_)29&/p@mh<"<g8dGBk;.Y'bP\`eVg/e'F(m29e/tU_\Z"q.Ni2neNg1-6`VN4##H<bW!MM^K?E$Z.P03PWg<pid'a".q'%SAl=k,bjo((0g@8b61!sb-bJ^/be`h>Vp=)+Q\4Z)=Ld@_$Q'JV@9O2jMfC?'Q;gX";aj'/bem&Y'f_'jKA^aJ^b@@Cmbt&^GK^r2TfC4lE']=:`aEiZK4-`L$IaT-"FZc=+\->KB:gnF'f7@IJ;XIc?HUc]F7=FnY>LrEh^p_')%LaEehdB<W3bnM7+h2<4_!$8ZcZP9~>endstream
endobj
29 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1144
>>
stream
Gb"/i?#S1G'Sc)J.uqQm5`5)Ei`u%+&4-ddDAY]XiiI]Sl.U6Us.7\UC"&&p-:D>/d^<k\A,G(BY2;`Ma+3.[bC>9\JEI#ZqO.HF0Sk9O,%9s^?4ED4-]`4S1lq.lqfnH5:SEU\>%n"r&[B'%_$#eZ@i5,o_39$)A"9F[bpd)8hu].].n2PA4%+-s.L%ihB4oLMN`$jMnqa"a!1+"Z=br\0,k.b9-/<m_*e\tA1oO`;HS(Jdh]E'M4CRSSP]jNdgPSghGnDYK_Vsd*2/:m^Aa>dKI4[^f-h5f0#XME4:_)ZJi95m:lrcAR'kMT5j7t0hf7?dgnl73YbCAttAQD\mqIipie3jl$EH5d&R^Y\hTL"Lc,hkn-YaX9?>._')ZjParBuS3HSstS=8V_S.d\2=EJ!8.o1L?=:fa1^B;^aTGkNgW.U[Q["]hHknI(]<I7.r`9il"=D:/@4uq8eSo,b0m1&f)K=T/iB"?9ZargCG`D-)K&>n*p"f+k"8`%n)9I",I2ShDiGTYUiI[ZJERR)T1aT84io1('-7M;?0oi!7NG%YZ1g>q**&A+'5rsH>qi'<Ft)i<KJ0OcKjsNb@\k8O]cqI=QR\CKVU$LE4sTn\qQo*WeI3K(k0.rL#LW6<>^1udQ\\bVqZ&=VRG7EjQ,^Oo!U$eWjbtOggFJ<6VUs"kd$:A<sBgjLXpKI`dSUM)KA7,)?Wk%5I.C&DdjqL>Gea!@)=J*9X6^f[DOmM;QFYLl"#CC]Zk7?gaTX<n,qYA.%P"+`9HB(8`Ea]aQ<bA&uLkaa&fVs_%KrU7$/mo!4Id#h'0A)>nFYpcYeC=mg7haHlms0+k<afA*jI$Mt)[Y4i)JspB9r:i0g!oU5S6eZmYX"&=`u2&7#.(i+Tnh_0^e&6#\tDGQntHmi$%s.u0#V"RcZR'>+^)0C<R5RV.PS-hr6(SEVX30)n[c`l,RoYCQ/\rW]_ETt5bo$T`-44:La*/\+.uHVs!!4f!G?pqD10gAo7f$"1m)NTSofi%*0-E=Y;)*l3nEc`[.t..-3UOT1%`[DsFHfEse2UL,MZmXd>Klutgd5Y?nL&f]GU)Qs;$LGl7c\LZC@YiQ(rBk>X3*W9/DFR@JZ$X7KNcK;Q?F7?g5s(;GZD_cXFhZ~>endstream
endobj
30 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1266
>>
stream
Gb"/iD/\/e&BE]*;\7S#YCK^rmmrQo]8$k8L10?%^#tTb'QLd_DM*?6;0HJARH<(i4#DY]-oQ>rO+3UB57.uVOagd12_5jDDS]Yn"pU5B.L*hJ/Uh7q/nXQb)iJ5L2AZ*bT53Co#f@)iAWQq3X?Wu/P0MOdD"3N;?IXrfnh<dR.6*P?OX[CmJ<8I_N*@l+6gX@?mH*[]pQCu=dTd*cX8le?M,c3@grPWmYfH2CST;>*S]#+Y\Oe$U0<:XV^2uNGpG4GTp358lD,<L"o]9k!VB2P7`ur3p.^Q`LDIi?'h=\h<X@1GpDAK+]1a%<e(\5C`GI%6l$QZ_J]=U/=]"YaqX*DV$C=uhiMk2O@,7D#e\<F=>QQKC24km1j4B^0P/%4kjl4!Va^>@*ol23"K='33SfBgaX1L;PSfBeu<]*WNBRf1Y#NK,0K)M@8)MbWl`_"Q#[B!Zo@7*2PXg4e'HeZ8B>p<%ki-h\#5_=)+$Lr^VV-Us)OP>^i9FP)e_,<XBQ0L"h0]4!80rtP?U$]PK+:i2<,IJ`UHh&tt7L4c:AHpX&G-_*m`'i&3daD4e#d_6i@cmfVRM!@5dcuOe=`*PY&hQ>8glLoZS[r3@SWt34r?Fdh_qs0N*/>ha6:T=#t7iL&8dNg38>%t&!1>T$9ANfXhZGuVFb2+D1"n>B-.!^l*d\H/Ws*$LeH_8TZ%t?U=L,3)K/0>U>T:`B7O.</UW//6Vat"L[Gn1I-KUDt9F0;rNMO;2*"1\JsYH&C9fh?99A]hfWfXtcq#IV+l+?8tkA&tLdOI=QPjAKK\*p0H@4SCIiGY\7%`&$ntI%()&1X<r=M>pBC?R<ek#B5A%mg??Q9`0Bpr0J)s^I8'*PIr*AJjpI2HEsf=W=7?H;59_Q;]\pC6aXr@ZH>I9pY"LI7#1l\`;d#ks![LWphubd^B?FaJ)^J?r"#J6"ecZb%l*0A5#2$Jpcn<K4T$!F7N[<s3otF*j[fi@el#CP6ASqZ)"7#EJ:tq*JcfpWP""(F!3@h2M2D7>!WU!g1[s9cc$sLeIV@a@`;daQa&Go%19/4'ORN2ud)>rsaFB`Ts!@4XN!nj#:l#gcPTopNcYmikJW:muTtO!a[mh'4;:ImaOd/UXp]$aD,msA(nS[@d1Z<g4>:bit^DoEF[eKg`dJV$><$$:ok-1c`$s5M:24juTo(9T-"0;gF']aZn>YLiaK]WQUNd?`L>_!jb.+&?O*L!YO`7NHoefh[IQa<o_J[!BaB7&!]c2I``Nb]+~>endstream
endobj
31 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1235
>>
stream
Gb"/igQ(#H&;KZP'Ei`g%3UDC)4iJ06])XJd7p1go=.N!c8HUh`P-b7n&gel>HqH9M[em&Chc@urh3pf8N&8"T<MYA"_6H7g%1QG5dGZD5b-L)=8([%p3sHY8-WO?OUpdD>'Ln$Ef3t$A,mTNhq3=m0(cVhrg(g$XZ!np_t7/+_82d4VFYb.+fkJX\'g?>pA*n=ea-T/7@Kpu>R>MR"(\m/Q"Mo@ZnRfukFW9U&4`:ekW;Lc!o2m/XS9DGdRS"5(5'-^<Nl&-T5i!@?h_6g%6@UFkP7b]Fu>(YNBt@F_s4CbS(P^XmdJq$YM6LfK/jDh#iP%,pQ!;kqHpE[np9ib0/(lL4C)i]!QW_>EWh`OCukNYY<S'>C`3!5JOr"NLR]cM%D`lq.6*lPM*=2Cie+X*":-.W'Lmsn84smNB;Oq3;87/g\N#.S+sM8dg%ADgNh>.&-hk(h[N'Q2%K/qJ^R]@JBfCu$>WiqUm+"lfDA;uGcah#V$ak-%roirgA>lWe!*]XE$t?kUXB/csW<oVD%lIdf>'Vce2RR9OpVh/uq^-\qB(h4;]b@nq7+)O`B=a+*[BoX%f+B6'W*%35i9:Qu7WVH^!=ikcT%C/qraD<[,MW4akoCk.50=9%ZHjOo*U?%L0$&P`Kd*$"8V/?(F[F7bU`s[kMXUL!?esMoD<,ThpWM*Nq6O#fn,DbO`[@)Cop\a&n@:n)\Po:q:0%hPDAJ0.DE0-"1@J;qq`[@"X6cl0rX#L&H@tp$6/+uH@RQ$?*&n1c@]5qX.:UjTTuWs*<M$7%KI1=cTSc>U\Uh1i=h2nPIF"o*C29k?E95Kg:g:W,11t-rXkrOqr$R&.i4o1Frt/f%J)gP0r"$>78)!4QK+AtkMiIars,I'AiP3l>,"7,e7\k>A=;O[U04Fr\1ao!#,#8eqar2DGAEu+e7^M'g'Iq&#A8M0n.f>W6T7R%>;gm[3S8.t?r',`37VU84ER["2TVFiQn\=V/nc(`LpXp9X2NtO0Q4ura!WbZ2-VP/Qk`W$`,XQ[rAqNW\7VN=JE!JY^S/_LC!rdgqBAc"&RK(:0rD;O(j8Ut9'?5@sDh[M)p8T?:Z15U!^[_=dr.boK2bIXc]Yl(2F`s0>'L_/ebRbpZY@Aj\BQU5F(haHQN*m<N$^E/prP/.dr]_G&.lh#5FT/<Cmf2=`r;ZeH$$ml^*Imj$T]]=4'm2]^Y+D/-od!oPHA<N1`uZ:<p+N`g1Q2~>endstream
endobj
32 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1186
>>
stream
Gb"/hbAJ7X'Sc@.$3K%^!G92iiGFuh;R@k+-;h?%3M`-0Z5Z;/iO:HdHShKcOtAtX`1X9N3@'+QkCEJB+:th@@Jq&[6MrMNcX28('XK?@>8FR&`Qtm4LWMT/!ouCopZK_&\=^XHQE7A;!*WPHM:k3hc1b]@?Hf"C3km/noY",1?jK?&eIb>'nrqY!@0PZ^n*>nRAJo&UOOC7oj?s(qY*6rQ-EYbF=;INYh[`V&kFf^bXA;Y:)@]%/3$k5'8ogK!d\X.fG1MF*8tjk)q_2_]gqE,F%36?h(#o$^&p?-h=j97^.Ruq1bhJ!=O+*KLY-)^?=uG()Fm6ob!t"A+e@kYPpO9(M,N\/srcWbP440o#]2*.fr'I2Y_4>$E>IJ:NG-tGJbN7Yu/%jbBYC2)1f?"grm3ar&M=_+?(q-G%]DX[*r+sFIqrrfqnFQ/lO%LKJ"0PY%fT@a8Za',2TAPV*C^'S1JV/FD%Qi'0NCkP^3O1DD;^)>%;FlnTLW%#sPVR@+W(`M),\5%M9@s3VWKT4].dn7TlRtFC?eqK8qo=t(Ng*"3s&S"F-S=ZT0VVRSHAGU[f=t!_UVqZ\?G%+uY0rbs2uS1e$C"R5.!t5-:g/:?bWZAu<Zcjo!"8lg4tkNc?gX]u45S=q?[hJs4hRKF3^GEbbNjB2AspS]\:5)!6BVP3*Ti#T-P38_D[60`8_Xc_TSE.5p?f%JNRuo5[XZ!`_FH.:je[1CVZo1,)pZ5n+OCS<`(nDa608829>u:tI)Z".0FnpIK+'IR%Oifad3;**3G2&@5Zql1Ce36AcPAQW<:lIgR,j"n`^@`C*NMZ./Zg)1h['8(Qo"6h4Nr;^](3W,rt5/fg2Os$EoWE`ALE_Ro)BZgs-oM$5HgiS=8[Q-pc$J!\Y.=%/u"EJBO$KW;AY]VV_"#j2C0"F6BFAXZFR:Slj!GdJZj:n:BCKojVdQ++3$NY=7KYfrs8P/=12O+Wc?=L,8X%mJ&QoVs&nj+\t?GYVqctK&Y/"6"[U(76J#dL&Td4MG>[N/QDMi6Ue\4#,]&Vt"Vn9$rs@U*R*L53pFuR]Y'%86^Z,8Irj>P`mN4PJAbX#q$#RY2`IGl,=n#cf!Tmc,A$Ql5A=4R=@$OVm8mdlhY[,:0>-!)D5%1l<9=M.!5D:(W`W$Ue5O*gB-f]^O;s6Dp@e)`Y**2&~>endstream
endobj
33 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1340
>>
stream
Gb"/g?#SIU'Sc)T.gYJg.j1.5LS)35\olXZFN`qb];8%JEGHr(j.sc20C;/neB,!JW9YEO?ab&%^-4XnTD&Ho9AcuLlPG6P1aUIT!Wc&n"T^mmRJoL$R8,q@2A&]7D'JoJHo_Xr6PsRb8:q%qiqa[`0$'IVSkS%(l*L'%k@p=SC<e5@j@CQF'S,^!5G;+4D$9\*Fa5^P8p;.E:b!q4>*8oLAL,7$#rPrq$09:]a."o(]r>4-g)`jQoh[uVh8IuT8q:bNCbrK`P-Tng;H7e1-:P)8qr<?Mo'l6i=*6e5lfpW_M8ZJ#dH`Li:lq(*d^Xju]m95(cXh+&Ao(E3HF8;)h5lT6\GfY2XU6r91[1:5dD\eui008RR4Em5KXYV@$QN9r=CgTS<#+ka.O(.d9(dmB`Ja'DrANJDI!</up^ucijmM<`/s$Y-Zb'=R[\P6dT@>h87TQKo0,F(m<Fs_en'8#a4sI>b[o\&3]pj4VKW<q@X;>YuruotFj["SMKo\dfk0e7K3g'M:HTbu"EiHP4]QNi#>!@r(mX1Z`+4ZMaRck<8b?=7X$is?"_&Aq-:uGo2d"%h4\O:A#;I6.n4+K2sr+p#_+Laer<SdbVlRm(8YO9fWI<A7b25T$R^Sft5'.VEM-r$YYobX<Zr;Gr7VX<bLM5j"P8#N+BH!TF.(.^r,+<dWu84R56@AO`17qEgbecP*7$pZ$;<IiWGZd%b+Ft*k%>:T*13;tUM@d=df1\]pE[@H?fX%9rlfXVd+6>5&.rt589i'4bFPDQ5rbiLTUn#RN!5N712ruh+2\b=5`TOm,tErap%["ukFA2,F`jgI_R5]^_8#a"6#1$o>0`7=p]/U5mR39's;n;g0MJ:G9Ts4eTQIr0Ks=g`U24nrsi%,FP.mMWU$Ge7V`b4o'#)r\OG4rXHTc]hl_p&)X<cK>N6.Q&1BnLscU_*d0g*q+8Y`RUmPja6"bC3DO?FlL0&ZPa&K`uCKa]6Ao"*;$Kk6\(dNmpfrOZ>d/8!e2j>oC]BGRLQL.dgJNcOoRY^qZ/Nr7[kto<J0S:U:P/;>ujqF#1]uQ3c@icX!-HHjUgq$rU:#Fs7>+Gd#RsUi-f(JHOM7K>)%W?69CB6D.FuHdu9('EjPXM6r1F=QbAj*rrh4rm:"\\PDoG"0;F"="1am]nojj3g#"i.42d[QjM'48PRPFRV<_=8-Y3fdZ(-b.'e9P='[MD1dP1&3((=\@OmAt=BH.6EqS.l,!7V)f#I3/G#dr%lUN%-16aq%`dUn]">XIS3;OK4DNQ,B`%StP5/:r7!^-N!2B^:labG-f&jkb@B#$=iTgl?jBeGKB9Hj5TrO/i~>endstream
endobj
34 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1447
>>
stream
Gb"/i>BALf'Z],,'Kab[RMgrFBCC-3-0_eckq+10fA5!"-39<^CtIRY$au/XJ,i#U)io@IUa,9!^Wo..-S7Ssr.XO5?P)eqPY>Bc!@6-a!)GVCr_-Wm7t6N,&L9WN&U[\&f>>E:3n6n3bm6SW2Qt2D6,r&&14;rq0/adL*eu2R7[ep<aG<YR"eZ^oA!h/OX,HhiPi-/Pa_SV;?Q8\.2at!?\a(H$YF'"ElkSNKmY"I_WR@;!IZD9HEA)rt$(2.C$qYu3<?V*q;6!K5!T`eB_bSA@h5O[Ob1]T]:K-8YK+_Z7P^r."W[DLb/^9`_N]e]b+g3>XqnL1N:#J4EN9JM/C,6'L'Ej>7ESQM3hnK'Zq_GiV1\ODKJO6q"6JYgAV(0toa268dC$-+G%8XKS+Yc!1KM.V0bQ;o*%[L6kV<MBQYuI+5l?BZB(X(@bc>GFefPW-eL>>p\(L_GtkJYAq]Cg!ri_<f1]"#YBCJhWH/f*EGW6@-9LX#?iF)m>N2qM-GY'fl-O?`\Tn/jtdDJ#3IS%^0).8P@%8l00&"]1Wk_jE:%BF%MYndUVMa]W3j)BF&,c5B9?c)'OGjI!Cr0.+;rID$DnG992clqaX6;YZ23R*Vp!Zrd@X.J94..+HPd4$13[\S20W]7F!Aq\"B]'Hbp[-^3<>g[o*d\m?2r_Tl)p>YO_A4A:b^J!YN8T);1UWL88:.MQMp9\LtjLOu`HlgkMDm!AG<8W&s7D<RVOs8,[9j$uKeOp\Yn+fQ`:r%La.+LbqR>Z=uR0$VM-Z9d%CEN'Ab-<LYoV)#h*!F>r(Cb63baoF7":^(N\4l*8)`!M%i!$q+pO>+dO"VNDu!6K\IBibqE""(6)k_&a]k)"XWFZPr`!$nC[(Ed-HpJD3$@K]\&4<;OBJ><R"o`c])o@IpSDSEIqahiFK'.V6if!tKNH)0!F\NI`NYUjr9(HW7a/ESkcb\6Gr8FSsm>t`=j1?hUhYN$MQa+Bs%(i?cpBQD^F]W_d5p;%tu5*rE*D-L"--a\2G)VOFF;6I=NKZlb01oS2`VDq(9OYW!.P"8SjDub[j-<KN\EG5Xf%AHZ6;2>ERLl*T_,J^;Z2M_EGTA[MPl2_mSEH"/q#B1Nqi<4+]3TCDV8g_gjQZ-BN!"K)j4ATouA;BUTIpq-:\^,dMpS\0/P%mQOKh)\WE/QHe""ub=?9k;Ln:EjL$\14\HjheQ-h)_,(jSFEOD+8*EnFWr$o9!OAEMq0!/=qEj*s,]d9H0+SbYMjAj2g(b_NaDXh[.38Bc&r@8I9$F'IU&+SgUCJTncBqJ8i=D_4Jn+Mk!P\3cOLG\2cI!;$CfkgUOI_LrEdiJcLu*Ets.P]2)XBVU5?,%0gQ7j#*m5WK;3K[W8DS5RP2:4Z/Q):-"IdX#[2k#u6LhD(Ao[YsZ>H9ruMk\E*9["`PhHLpAsmpu&$Vi%1<~>endstream
endobj
35 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1439
>>
stream
Gb"/igN)%,&;KZH'U\-ERi,*(G&bZ1%nW[i:0TYLVRJP4<[(\'/B@;8(QqIS9I3kOfqe=<B6"#(Qb_V\#`94_So"#_kCe4I+leoJ0MWqu@@/:-r(:9h7NY)=$R^mN/GssHg<8oRO?%h,)@0j-?Xto>B8h:4-?%#eft-g$C8WW.C!IE3+@=5@1!5^[;/RXZ)Th1"bDXbJWl67b+`frcOGj3C7T)>fjdI\6N-tVQ?R_8p;i,B%,8DXPDT5ZsB6qboTm[d>S8;Qe>#g-4X[=,D"JXM-W-'%MF"UF4QeDo0m#@Rl`:?T4:#kBSe5$OK/Dm&@HdDA;rMNk#F*hM8E7&V6,"D"6JOkDJc3+h(UJm%#lO-[O?9)rB$XLV\\M15qG@E5.X(WH\_pQ?C_>^kcX.#qie%_^QgJNtd4VZ!AX</^SjNjGf\J!u3*)H0@E29TRGu]lmRNZO5#$Tn[2nRBH%-uEbjfgo_']6o`]6r@$p"aAjS@Y1i,i9_-fM=S!M!!@fd@s#-.)*/g]-h$%PrLqP':99$^<W71L/=cn@A6AWf<9]'Z(<3ugYjD,*M8E>_U9:.F."iJ1Q4q:(0/FPCJ&l.e7mJh*D#$1<.Mu9n:P#cMoG7)(N.]N3*b.*5C:<H_qrWR2NSJ_duUd)\L03JH'`s_Std'$E/XNS?EL6[)WnrB@;B\":M?qLY's`(4!PX=b?ma=/dCldC<;seF-9^;]Pn4gO'8k\O[eJddmAkB;HljABAD__Yjbghl`H/Zd#t<t%U@s]bPC.p#AL\p+&A2Wdd[X]?ln#GGuU5mb'O\S4'-)+:,$CW6>o7C*!"ukj]cT&8TWT8,s1?mc&fA+6dhp%+`3JKBGdBtr0P'H*.$Os_\;jk&TD_@0:;^drr=]o;/n$Hn,i$ErcV';*Ba:9?I2tGZk$KiV[M^K(Ne#\(S%e!jW$$43Zc0H>stDG?8u4=?@5qqj])pnRm-8CVu*?aZ2qeV.PS46pO<;MkTmJt!!AaoZErfG]/F+PS\"e.0Z1Vb^Kdnt?U#WnDf9RcO4348okLb;ZeR4rj'k'-j5)hH>\;6J#tBV85W'U5A1O6/m5Gc(W!6S,$85ol04]bQfJ$]EJ-L2toEceuQl^d257Ag-l<s^'=MQn2!Q3;ABj.-3NC?/I3@nQ#R0=#DK%?rX7<"9-AgAj9R-.5T&.0,C(HY?K+_'rHn4Y(W"]JAI1f["#i==0nO)"dVqU2g3l:876TaIh6/Ps9Rd5"ut88!U"?82`uX[T,[])MtR+HM!uK5'0E35EGi@+`I0%cB$k6T[7u&Trhc'q)=)Af-(.i%T]!dfbFRFQZ"Z#7:&L2;Hpl8f'[aE1mgk5_'i!i<f"*'U=W$kCpft_5]R=E&941VLKNWTWMKtZddR!I(C_eJRuh)T:o-&>a0G(cb?4JoFsIN*l/Zlb7PWj%1bpfA,~>endstream
endobj
36 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1466
>>
stream
Gb"/hD0$US&BE]".5]L4DJ&=`8unl&CX]*.:8b3-P3H1B-eTb-,_5:WgK/od]5up>2l)9N0K-XL:<W(jpA[J]6IQIHrq\>m57^<b'bFb`&.)a)AFKhL3TtnVXXoD2?!5h9q/dD?L6+FY>%gY2f)LlKR%+3T8-\P)i7[\Wk@pIWm>U2#39*C\R0-9Or:b4VWR=?*^WnHXPB<(SKF=1UaplH0-*okrZX0f&6360HleP!3^Bf(0;7e4$4*Uh@bnF@dSDI0+[[Fr],;c5@(X"X_lK*u+TBkgC[q)^:C]>+sH9$pfNl"qZ=sSl;jFWo8R#]3qZ7,=929i0We-c9knl=MmXF8\bE913)rBectfpf%a?ScUj,U<?abMYU<Jm8g<GrKtC1_a,o(h2GDARHc5A&'mu>Z!m'T#L76SqS@riFVYSOm340b!;@M&qjbSq/bE6(RH/JKoc\[2q],)ILM]F2/Ts(<BB!.WmYZ-=/4a86VAh83gCb#c@jmSo?NB!C=+ks];'r.BXSZTEj>C!J)9YOgt^uB_qERf0jWF/m\f)o*0*AcBZ9GpM&kEtL\!\8TL'e,h/Abp8!jk]@Xe**3-[Xb3@0TPVqTM4Vr.6^*+aFEOpf!OOBdt#^\2[oaA(=qa&T`C7jIT%lut;h<e`G%c&drX"#LE_)//t2?(F1:dDRKi2"=jc@-]B%7U9&?ph@"#%GfPYO<7<cXR*q=;R<Q1BX+u8\+aj\3iI`d*Ro\1%\D<r1&Ji!UcPn1a?`e7e_@RJrDLD4C:;s-<U':/qass/$LM)1RA:]97V.U,SKSNC'bu9\%4r#WZ7Z4&)]e!n?%e.#m']f"^0_\=XnU/mE<!AUUT#h9&Os\(;#/lZ)N(^j(Tjq_8f(,\iPl2$FQ&Y\%$P.F00Ls.@`/gl,qrBa&<p*%*47tL*=GS-HND^,jGTG06l2p>`3rEnq5%qte^+Ve^-#V9NQ'$_\@*)6QVqK8$k6lPH4"Uh(,9dg<CIJV2$P=gX(cZ:.^_>E=j<%g8ja5lRNW\gpn2'RQ%:fKK#qMS"5!GVi#j*G#A2Tp*)>Fr#<56[5!p>5e"!BgoplaUSA=*?K#>+NrMAhBE<C_+%L`MqS/Z0!8k!SrG$3\#=r3>s]^SI:JOt+i?;M1(!_C!X0:;.Trr=]o;=UQu!3WqikV7<J+"j3*?GOWqL9f0o;j(^ZHHeXdcp]4?`X@P0`QQSc0Uj=b/QZIe@XC`E)#jgpSG"\Od=$t/Mnc5SD(Ya:pG%c%p+c!RZ_m\uiXXMS$WZ0)\$bf.aGp6GqI(KYYk!FE"cUn37QZ\k\Qlph*&='?R"3,F(,-f[!ljP6;agF=hZb@!JOc@c@4&SDKP"OHoFbYmP'[G.!g3VLFs.cAj)Re!$#_[V5Yb>FI_fMt_0ARV+-\jJWPHmf[#l_:nCC0g<*BVE&VLW#7Ws90rLV*hd4]'e9$k26K=R=5deahT)kV3~>endstream
endobj
37 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1374
>>
stream
Gb"/hD/\/e&BE]*;\7TNXFOt*O,n^uLN_<($qob!HV77Iims,o7no:f?eU>fWHB1b27b,r'AK4@jS@,sFhdErYl"Uhf.\T5k6W$@"9P)e&ck9%RJ]W_9L^*nCC;N*eeW^Y4^WoT.253-dNAS#rJOA3j957=AFc$[Sum=2k'?7[S5IYSO[u>u!9;c4Lg%d)&`iQXjk8iAO"ulk<)bW[U];[`8CFgV2-^LqjR`,X6(2^4[+geOX[/KEk6Yu9:L*S>Pl#;8`7@SN]@9^E`i<2=]I7g.g`K"MPM>!L;,)fI<oG"46t02\kg^XS-qMSMo"68/H2[U6?gHVc?/%Ekm:ZS(]&"F7j7[-adOV];Sk-n2BtQ*`NiWdI@UW5mKlFJ2]St&Rk\RQRN`<uE84B?&2H#$E<BOJ:D`2XJpA<t&c4?$6\%A%[>Y3'tRpO(Rk8%budQVY=:5+gi\A`h:0<.KGa*bW[Yu@.G,4/BP=V8>6;NQCGGms.N8ZnqN]U:l0?iUio+-IC'H>.UX>Qc?N8d^1Uam+q3;M$ej-AsJo.#jP/)8ST]dr*cDi3qOODsrD%c26/Mp3Z1Zg@54@?s^tr8jN&H_C1asUZ@E(I;DL>)"3ehHTj\%BPFh/LaiX&8E6EtXZ*41=a$b"%\7itJ@W#0K*-i5Mu7?VWg9R6e:6QBgCY/M5;]&H<t@V4H1fpJjr<<&S_WAP>s5Z/jI\Ja[1'TG)fh*V)02c9@)meW+X`bF+h)2R?BCHr[qZ"\?YA]JVq^gQ0X/[ZpFRB">rT"hN:k?l<)q,@s&__\6h;>u+uC6/BQ.<dYhO7!"2N82N@WN](rZ.'^Y9E2%o6OA%&Qf94U*U-__^K\(da+R&>g.q[9sANS_jYhqBUom!Q3lQil-CI>[FoXEV\_YEk:WR<)4Y4s%3\]`I4)kJA(O?&VpGu:U@Cl`OfEs@!fll)aM<LaIcPaqoe0_nb)Q4]p^Q<?<3!,c"L5'a([Smj.cd->^pV1+FtD=dAZS#,e)I5Q2GJ$*kK6*]&=%Ii="3*L$0@AA&&S!+<H_;;!K8:ao-F=N?bUUE.fqc@I-?,hM=L3["ST&$R+&,6o#`j4GkAB@%$#;7HQuL;CdG521UZM6;.kIH1OFKX(+h"=tN\PLW0MY!g?@&>%YVb3Pr9ghoSo[l3tQTJ7;Pg8i`Qeq#ie`K4"jqcLV=XR&K[C%cm/PAam?p^7H>>_rLg7%cf=*_]IlHHt`rH3%LN,R2i:GaC-3HVb.FpW;+2%WR*#F^+=nh`'lMCV<"`]VkY8_i<]JdE'+1Ui#YAtEpZ@*`K-_fn\A!(=/$6]5iG&PkR^*$MB>Wlq!fql@46SPVo=^l"i":>OBNc:6h03a'gKe''@Rg*g]~>endstream
endobj
38 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1469
>>
stream
Gb"/h?$"^h'Sc)P'g'k`2_u(np?ZG[dPg?se*44gan0bkA<VO80t-CthZ[4TEeOq--B:5s)_<"D&$O8eha\%cRXSZ9m,s'"0HoJ#5_+tg6%J-g9R\4)-_l/\Rg:6(2\C5B5OF0:+_6V3Kgl,_q]D6MaU-o"AFbRN?EK:f1Q><Sc=d[p)%rWb%R=1>T>G[`?Co_<VM)(l)Sb=e2muJ2nn,:5:>P"]P4&NlUhNQA[FutMNMK0fErS!C5#5g*5u>X-:c'F",g/`9=/0"V`<DA#YBM?Cep:5<-=LX:0tL^=1d*TKfgA\!Y2uI*OZ)UTCl7N3Vi)a:l^BVMqg6)b);NdYM-^^eemi[?6"!<O`XV"i_hVTJ.a+;=A,iSf:rkS$==.p(W%omQZCV=pA'iM4c;U<SjbleKb%9@Q7p1YtC"V*NPXs@m.Uk#(-1sd?MPlBobuS^<^0@c,r;<qErPRL9(,h6cB@En`j_U(!7Gar&aE"FP-#PH0a7E<-XV'ElNH]-$/^iKGRhXsc82BbF5E#M^%-2/<aiDM=!eh.c#n_;g)$ZBR#8?pEjrCL8&UaBa:EUQ+4\,Yf9lNcs$X05<OU'Lg$dA6Yqg'nhDSF&8g[EYtA`<ggi8Vt(8HIL7$I+u8>:CZ]m'<Lb&_sLbb^=pV:sAIj.,G8FZuAukQ3o0W0]%J7q#VFaZ5n72JBHQoMh<O8#E/P/5utBe[@r(EJ"K1jQg(27/o^b3\KpWn*p%*J]ImK-?;9m&CI\:QSZESt>@eqf<@s<@aoF=$=9XlRe,j?b%&=8/$`'m[5jS=3B(moFQS8D"Lkj(Q'g7_tOW=';#D8OY4;g`Q(rhM)0Lp.CP/@YRLO%N8Gs4$'Ygstb?keEIg7kl<6Ro'9>j5)[,;?b1?pN!B!!`6Q0JG-R"U<HDr=8lq*ugQP#;GXjn*ePTfH\k?JO0$Md34$++7>fP;M4L#9C?4EXc1E4A@N.(oJ)3=JDkIBGl-qZ0$ipDf^s9,0l<D3aoMWl;I\i(pIu8&p@?l;L]J$qg"H#qEu-U!?FBe?d*PhhZdn?a`U!'hqYE7fRP$6H<f<66jaJp+(XlM,%p&UJq6:fi!%J[QK^k0qDV_X2rh]`-e_gg8nV(fKKrk'$2ZgW!?irM&LEmMPkQ"#F*[VM-k.$(a>f,-G8@4Y=8.&oa)n\g3iqFX[itBA<=Mh;i'HhMY>"`3*=#aN:_rNe7W^&urMm.?#j?S:-BS)6OO^$sN\fV-rFGqk`$0*=[q%4l&TLcE>\nDY>@ogX3aq]kmd=;SL)^"a8*6@_Yb5dD%OMgKmW";C6o'ef`@0ZpW]<(5VkIf,E`XW:<cLbcUkiIaj5X5i]gd49q`>SfPa]sWVj-klh+Fl]<Z:+GXqdUcLT6+)-gXs53#jCHA"$f*^j6ZadUR*><JH1IpU,ED`9tnr!/:o<%7-1hbd8N:>D6s1iDL&`@m_#)3bS81_5;o4X;#~>endstream
endobj
39 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1390
>>
stream
Gb"/hgN)%,&;KZH'U\-ERi,*((5kQJH:U*aF?3-rA9nUpTWLVf&rF&t[gtlr,3_Y*`%Zs-P-"hr,SiVKbPaD.KZ65WIV*XfI\)YkF%-uoPFO=h$8VF@4I_;dO%Kd-N0Y6.G<?pXG?r9(5beP#f^1=IR?KERIO(+9AFa8Pp5@R!FZQEL;o!sW1+?^t8,o>`F!Zp1qqoTgdH0L?+Fl49$AKh2Ym_n-188?@nW[eXm31%5.=mJBpS3t:g]-#dC4!fUK-!5^U,RM!9c&DXBHVVZh0O*"Z0//[;UW"=$C_qOASF.NGCH#+rR`Q73'I.S6&LDp7b<..pR>#0A:,hh,&CR2Q/q%FUJrDIWMXE::KD;Va?QMP2NQ>Xn;BF;K<SXKI:MHL6PnL5.0olO;(SX5WX.Yj1clu<F!M=_#V_Dk/]dnZ]*L*<<s1Vs2TkC!W8!N#NJfbZb`e,O49>*DoZ=)*H,!Tl=QdQ%=24dhb_:dgIkKs1JD-D"BPHti\V,UeM/Y'm%\u]bD?Jua:oE"'0T/S<H:S3QV>W'U#j7--H7QIAh_2HZIY?KhrtSsfBkPB(O7d8!lRl"VJ3:e7l?Fd8f'4%BH+5D?E@pd2EM?C%gnF+HYh*<O?3<d?^Y)&sh?HcYVj=ue4=)nQS=pEZCRO;@j\Fm\J`E]-ne?/5qeD(&>(NS((pAPn&=-s6/&=3s+`pBpa8p%kqHZ(p#0<PA@5bfHgED9=?>D3-)CKVWk-^ac2:T!lqphoG27logU+"m#SrUiM2`L!oFEt8D(58<Ufj[.jVmA&uD"5PGg5Hn)MFmkMj0"45DP/+QcURGcXU5DEKkqT8X"qUCfJ(6EAIpGGW"%)T&#d<S!$W$1HodB\qCn%"IQ`od2"i)Uh&+W.#u(q*J3N>;G@Sj0-5+kpAi9XO<0$heM:Y93!P(n*L%m0ZGH1h%U^qh^7O6"Vf\^j8>?F[KQq_)d??\pRpf2m@;qo\b@Q9!F;3qGpQn^-*R<-Y(T0\R]KA@:gn-J6:7'EO'7Y(ZcOQKeW5iXmPN;'$p+b54f:St0#gD/;@(L)<:*8.;;)!M)_'\kK:%0MM@ZS\RBGLQmOF0IC2]9_m^+bs1])FZ]q[cGe%$<8;S[ZCQ+Uk"a3C'/At"d_T>"#)n=3UDh*XWu-EM&]:ODu_nK%3k?EKZ'SCM,8eqaPfMsO-CXH*ZkbLGcu_.hG\#k`],hJ>7hBb/TMZ/49<>E!![%S!+=^q"+sII+*$$43,O+d"%-[:"9p;L@_p_'%,i=:3,O-B5;ka?">QE)5JGOiO22V3j38+Me)n\\f_eRI#)3%E!XEOjR"L7VlTFV0HWh8ZHM;YdfN.I6A?=Y=MaV47,m(G6TR-?(c_66jnL8e"_u=)T3Z-P6d0IC@B70~>endstream
endobj
40 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1399
>>
stream
Gb"/hhf%7-&BE],<tO"W<^8L`49"O"f!WDM@9>S"fIKNjM-E&Z*@4kfqpKXu8V+"^RaH;5SCijD,0tH\hY.\P':++BqDHJ'q0><HD`H^-9FAY!,+8?p?;F%_7r+#*S?4C&iI!]0+/VjK^dnQ\o?CWQ1+-^>r^\@XaQ1>*lLQi.Fh(nECCi`V!9K`-jF9S"@bMrMr4]f\?):EH&s.uC#*reOO_#fWM\.g5UZCM+qnjOi%cU:olLlLQc9^9XdWIVUZ$!kHOt*s.%+Z;)"=9>61jg?A5rQKIEV1Uq?_qoC#)HDVUK=dPTP.kVQtFXcfrN)>*j<^9moeDX/jlrVS8l-C)iBXDjp/%0X,UKCn9aje]%a`j[m2_>:UlABA'E'^e<0KhQR&fPGd"M/kcK_9#NpA__KfW.oA'6.';":oQkh5d<5Jcs;6'8m(^nM0Dr!\AXb7#8,@/Bi['39VjSi*5k,N:QT<$-)mT`au>KOIjFM&h4Y53ggW/u<Eb'Q(ZBuJFTmZ448HpB7!k7O*qJA*FjdAbWpFtktWC]K1"dfm<"3oYi<<6ecS+'^fc37pG3Uhk9j9`9<aIMbpeh6!-meB--k:ds7?3hff@];fYklc,$HB&rE\1GoS;)cHEE(t)8m8DuE7l)6AAk'=C!ID2W81;.P6qpHTF=hq-LXRkp[=Y?WOVMsR@KmP>^FbF!_\$$b(UYBP2UT^<$K'5DpOd6KDos/o<m^HPlbGo"*^T8p*#HTH?=NlssA5#CW@Iu=]&MUbSMMXGNDn6ja&q-Pg=rl[h/*"TXH!b>54Kj[AcLnM"gqVYCCuKDta4W;Kk']a5!sb>M#L%77.N%(f2_s*;i&sSG*!@S(0k6G>V1q;82r`E8k&aR:FqV$6+WXR;mgBuJZ6K@erd0+[86GCe@'I8Nrs<)s,NDDh!!_5\rS=%FH?f;4^gR#;kV7V(*3Pr=@$!j3$m"JuF5Si*FEe9LoFZqT!Q3k_nbV,u0!F&h\Fafk4l+Y?WX5KrVSph!gil<ucqA#45R_VAbg*(e+1mWNp8\'mJ;.?p^F[Q(f.Y2)]=U.N4'g]JQ]';:BNWL!`H2m97k=SK=uKkC3O=<Q%HE"12X8s,Ip7P\DXiF`q*MLa6IgI7/HaQ.BRpE(0o8:HFT`mc:D4&dEnJ5G[P49uP)ss%&s7.P1'8FNbe4t(0MZ3fK,YULrJ(c>`DFL?UK?Xf@c/^H_6^6h.F036&"#.'0ipY\,75#'a,%Qh'A:5^V6;Xb:gO,t%fnRB-"J'5;'8E!F)PUS*7Dh\I$J[YHPmgj&]d7&9b,UQrSTpN"$(Ie6VP0?nH,Z5U37C]I+DWD5RmlVr"$p.KYI?i9%^up+IJ&7WB;*gWDZbWiE[l0!":4T$m9:*mgfih;?"Z#$Q_E^ec~>endstream
endobj
41 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1437
>>
stream
Gb"/hD3N[3&BE]".5]L4f?Dl\[B$4<lU0*7Vpjn,,h'6.,i=a"OT;rXIJX<<%!Dsf\7F#tb]/0GQI^QQir(#$j67**YC=XHO!?Q1#n-qUPmf&g2YruX(_&Y;eeZ)PY:\c(GWH1m6`;!P8:q?/i=d/)f`e>Cg#t",4^4J*RDu4$(H_q^!h&-6'6'*3%s"_\2T.e/T3i%F;D0O;8sN&0Q=YS_*a/;TO;jlb!rMooZ'2UX410E5Wn'c2_`X(Hi!HZ@-bs#Zpj-](.9.(OZ.dJdB4a<_*sT8`&'p#;gCl>EKl?`!R99un=(;g&+>LE"is'\sqXq$V=2E.M[WS\;d0:*V3]S\1okXN8=/^DXOH.@h$D/ag9Lbk7R<.(o'NE1CLqGFg8@$En<+S-^7EhUa9)Zj`j4.sp^QI9Xn!@6=5=4drJ!P)'j!N!HQi"aHd@s?m>]rslE\_[9DDn'*S)m[U_n9=r[>ImE[(V@b2U:nuA/Y:!?Ut,K#'N(Om*4`S"62KZ5fe6CAW20I7EuHi:r3$\<u6+T$6Cp-@,P(_/FX"*887%5,'b\B-4En`]WW^#kl-"3kP[]':cU]`&LQP-G:c_.G)AHQ>Y)O?o>XKgf$lO8qpds4RU)&j?7t+gSe$U#GB`lMGlD]fS1WPBpTs+g*)GS`Mo"<#Oc/qk&$)nY&0u2uS@BEEA]+lf_HeaR:Pbe;iK"j\ei_K;r[n)`*TX$E6aL%WlG7M[?MuY#[:FJ]opfpC7VYZM?WDf]),dLjUafJ&UfM'"L4QdfjL/YkXi^VQ")JFZI[mSP?g\+%d^0%/I1mtLk)D8%Z_"]LQHT*6ppc:L4(\0K_T!0+4HrBqlp;u00rEcjZlM+,]<I@KNA4e.89Cc!fa3J1Enl@>3!d[*#aeaiM+D*U9Eu,#(\g$/OW4m>J%GO!bQSdAA=Ug:I>]qFh\8Ub[C$$lfEEPO`'TWM?6SmV(1]c^1tl.MGQFIN;j*Z7"\KCECc!RSU]\<q%,;'u^1G/L(HO\_OGMr=FE-^%dMb0Oe^qj(SQ\.B!G(FH-&tgI#UkC.`]B66>\^+;O5+F#PJ]bQWtjmKg5nZ(.J+B)A-4:A(+HIr^o]mZO@#mEOon>ThoS1U09_#bW[ERn*"F(rccKg14_6NZ+pUQ6-\n95cBK<G6(SHD";aZ=(]j^P5(.'d6AZQ,JJ$>M*Z30'(^0@B!5ndtq8O#.kVka&c&VsW!OY_=TKQgSn0'#JZ/>J(P+*QNN#;E9O8nJ,a2rqjh#&i-[=s)$iuBsA;APdQ8G6t]DUCtWrD:7^d4\q8'+&ZON(D"5`%j1rfDQ?%;d@1i>sK$ui[#0R;\i77F@E2t_+JTS\eh2I`MOtbdQBq%.IP<0EE09N7++E?FAG)a-&cp!r89b"10j&T$?(XFW">3PJEcfAWCh7f6ta]7*7tp/b@#ru-Y<`g~>endstream
endobj
42 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1049
>>
stream
Gb"/%gN)%,&:N/3lqCbccOe$(EV3PbfU6>4S^q@-IH:X>Pt72kdrt]aKd9SB?&H'-:""g\64,]j*ZaU1HOtFHj5u^^!8\t4T-L"ZU]coU6LlXs-'Q(k)aj\s%3hD+_^n!*d#?$q97XPN"j$hCBRYWq'-nskX8`HFlH9?DBLi[_@i6I,JNpqt"0X?3OZA5?XS?&grn*ZgqGUCrB%^JOi<M^jRU.1Pc&RT?c&J"Xr#CNr_^_^;P\,f:K*Vca*m0ZQZbf7enGN3kaGA\A_bA4\(('t$-?:>uKH?g9>h?<\SYSujFGlmHqlhMaRo^qEqg"de#e.>jYj3ED*CD#<7=d)0/R\G6__5rooL<-Q5M8MdCf?$FEIU:)XOq!QWg*CtApL22[ZSdfNiYiA,YdF2-p5g,mO^4)>)\P8`0>&5rg[$gEk-MOamJ*bjm'\ZVcW<Tl/R/Z(/Xf%m+s[k4jp-8A+E0B8ZNbLbJh>*=,jWu]O.-Je>@Sg?2-6)@eU-?r0:Xbr3J'7I[7jkj:hrtGpt%C>@pJDP\(eBi=raB;27Y1r<K5q)I@Z1+n#FTT<3*%dKng>ecQj<gpjY.f0]%Qj4e/FW]I)8&#b+LTa$aS*i"BEU!-9Ra)ld^P0sC*9<"<iOQ&l@?(QCK3p!0$ML-gamW=?;Pc>SI8Ol<RH?jjV_WYBi^Fc-o0ss?_&)U.r-:;Wb"&.,="\chQ]*SiU`.tq7/XiS`(sV$c\q.8>0WK]NUfp##eGs^lC4OZI>!NqT5hM/6&4SOmg[feK]s!K44G%"'0,k,DoNK/jqKr5ML1*apf6W*YOSukBR#,JZdh`r-4/RoW__B`\46XsDUaG2cFKUS.Jd:ULZg9Q(@8)kERUJ1g;4RS`q:0UKLGTtlDeFKZTK7T9hpa@hMYgaA"rc$)O5Ll=n2<A#?%3p$$uT&4^Og1`bPY@?h;"UAn\`6H]:Z4nDQ@?6c<7kd`8th'itmpJG1ds4IU(bg0e26bOL?Y<mRXeBZdntZ@m!H*?^Si?k`3F)NPCPq5W/UbN!IaD7fnm(!N'tG^A~>endstream
endobj
xref
0 43
0000000000 65535 f
0000000073 00000 n
0000000134 00000 n
0000000241 00000 n
0000000350 00000 n
0000000462 00000 n
0000000667 00000 n
0000000786 00000 n
0000000991 00000 n
0000001196 00000 n
0000001401 00000 n
0000001607 00000 n
0000001813 00000 n
0000002019 00000 n
0000002225 00000 n
0000002431 00000 n
0000002637 00000 n
0000002843 00000 n
0000003049 00000 n
0000003255 00000 n
0000003461 00000 n
0000003667 00000 n
0000003873 00000 n
0000004079 00000 n
0000004149 00000 n
0000004433 00000 n
0000004606 00000 n
0000006289 00000 n
0000008501 00000 n
0000009864 00000 n
0000011100 00000 n
0000012458 00000 n
0000013785 00000 n
0000015063 00000 n
0000016495 00000 n
0000018034 00000 n
0000019565 00000 n
0000021123 00000 n
0000022589 00000 n
0000024150 00000 n
0000025632 00000 n
0000027123 00000 n
0000028652 00000 n
trailer
<<
/ID
[<0f16994cff7b04926980333b4fec6185><0f16994cff7b04926980333b4fec6185>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 24 0 R
/Root 23 0 R
/Size 43
>>
startxref
29793
%%EOF

View File

@ -6,17 +6,24 @@ from pymisp import MISPEvent
from pymisp.tools import reportlab_generator
import os
import sys
import os
import time
manual_testing = True
class TestMISPEvent(unittest.TestCase):
def setUp(self):
self.maxDiff = None
self.mispevent = MISPEvent()
self.test_folder = "tests/reportlab_testfiles/" #tests/
self.test_batch_folder = "tests/OSINT_output/"
self.storage_folder = "tests/reportlab_testoutputs/"
if not manual_testing :
self.root = "tests/"
else :
self.root = ""
self.test_folder = self.root + "reportlab_testfiles/"
self.test_batch_folder = self.root + "OSINT_output/"
self.storage_folder = self.root + "reportlab_testoutputs/"
def init_event(self):
self.mispevent.info = 'This is a test'
@ -28,39 +35,120 @@ class TestMISPEvent(unittest.TestCase):
def check_python_2(self):
if sys.version_info.major < 3:
# we want Python2 test to pass
assert(True)
return True
def test_basic_event(self):
self.check_python_2()
self.init_event()
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), self.storage_folder + "basic_event.pdf")
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "basic_event.pdf")
def test_event(self):
self.check_python_2()
self.init_event()
self.mispevent.load_file(self.test_folder + 'to_delete1.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "basic_event.pdf")
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + 'to_delete1.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "basic_event.pdf")
def test_HTML_json(self):
self.check_python_2()
self.init_event()
self.mispevent.load_file(self.test_folder + '56e12e66-f01c-41be-afea-4d9a950d210f.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "HTML.pdf")
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + '56e12e66-f01c-41be-afea-4d9a950d210f.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "HTML.pdf")
def test_long_json(self):
self.check_python_2()
self.init_event()
self.mispevent.load_file(self.test_folder + '57153590-f73c-49fa-be4b-4737950d210f.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "Very_long.pdf")
# Issue report : "We are not smart enough" : https://pairlist2.pair.net/pipermail/reportlab-users/2010-May/009529.html
# Not nice but working solution exposed ther e: https://pairlist2.pair.net/pipermail/reportlab-users/2016-March/011525.html
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + '57153590-f73c-49fa-be4b-4737950d210f.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "long.pdf")
# Issue report : "We are not smart enough" : https://pairlist2.pair.net/pipermail/reportlab-users/2010-May/009529.html
# Not nice but working solution exposed ther e: https://pairlist2.pair.net/pipermail/reportlab-users/2016-March/011525.html
def test_very_long_json(self):
self.check_python_2()
self.init_event()
self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "super_long.pdf")
if self.check_python_2():
self.assertTrue(True)
else:
self.init_event()
self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + "very_long.pdf")
def test_full_config_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
moduleconfig = ["MISP_base_url_for_dynamic_link", "MISP_name_for_metadata"]
config[moduleconfig[0]] = "http://localhost:8080"
config[moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "config_complete.pdf")
def test_partial_0_config_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
moduleconfig = ["MISP_base_url_for_dynamic_link", "MISP_name_for_metadata"]
config[moduleconfig[0]] = "http://localhost:8080"
self.init_event()
self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "config_partial_0.pdf")
def test_partial_1_config_json(self):
if self.check_python_2():
self.assertTrue(True)
else:
config = {}
moduleconfig = ["MISP_base_url_for_dynamic_link", "MISP_name_for_metadata"]
config[moduleconfig[1]] = "My Wonderful CERT"
self.init_event()
self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json')
reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
self.storage_folder + "config_partial_1.pdf")
def test_batch_OSINT_events(self):
# Test case ONLY for manual testing. Needs to download a full list of OSINT events !
if self.check_python_2():
self.assertTrue(True)
elif not manual_testing :
self.assertTrue(True)
else:
self.init_event()
file_nb = str(len(os.listdir(self.test_batch_folder)))
i = 0
t = time.time()
for curr_file in os.listdir(self.test_batch_folder):
self.mispevent = MISPEvent()
file_path = self.test_batch_folder + curr_file
print("Current file : " + file_path + " " + str(i) + " over " + file_nb)
i += 1
self.mispevent.load_file(file_path)
reportlab_generator.register_value_to_file(
reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
self.storage_folder + curr_file + ".pdf")
print("Elapsed time : " + str(time.time() - t))