[Koha-patches] [PATCH 55/78] printing ordergroup

paul.poulain at biblibre.com paul.poulain at biblibre.com
Thu May 28 18:33:05 CEST 2009


From: Paul Poulain <paul.poulain at biblibre.com>

* the .odt contains the pages 1 & 2. Pages 3 to X contains the basket, and are generated on the fly. Page 1 contains a general header, and page 2 contains the list of baskets (with totals)
* the .pdf contains the pdf generated from the .odt
* the .pm contains the sub to generate the PDF from the .pdf file
---
 acqui/pdfformat/example.odt |  Bin 0 -> 17587 bytes
 acqui/pdfformat/example.pdf |  Bin 0 -> 33648 bytes
 acqui/pdfformat/example.pm  |  328 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 328 insertions(+), 0 deletions(-)
 create mode 100644 acqui/pdfformat/example.odt
 create mode 100644 acqui/pdfformat/example.pdf
 create mode 100644 acqui/pdfformat/example.pm

diff --git a/acqui/pdfformat/example.odt b/acqui/pdfformat/example.odt
new file mode 100644
index 0000000000000000000000000000000000000000..edd860d93e8b940641af3b4e80f727311c40337e
GIT binary patch
literal 17587
zcma)k1z26X(l!*A7I$}dcXuuB?k*eG7I$}d_u}qQyih3a?(Xozk$cWP|GoG5X0!H_
zmCQStBx at yMc4p+IKtPd!-bvEbm{Vtf5ti&N{eD5dUDoE-#sD`vV|_b2D|17AfVr&=
zowJP*t*ySJxg)Kuow1FPt)Y{(u?>J0VC)Kz|2JW8_<s at RTS~~*#>Cvz$>BFKj*N7U
z0DXXyqk+By-S0Taw<_P2_!sCc at vg`}ar%aa##Y8}Vr(7g44oVt-fMTYwgLf?mx6d#
z8tB9O*BkwJb<p2R|0&kQ%2pp>{HHSS_<t(%pBiCjYv*M5)&Wj`G~z$uu>V7Cb`G|t
z4#tjuYyN*i{wF=(EBmX{{;w#2t*zDnM&bPjEzPa<O^qGt1kC}~`gV^0W1L{$z*hQh
zwoU*VLw!RtV?!f7Bl0yvJw3=ZBR#zkaK_&T=Z1)*7V(Yq{rc}?4)a!OXln!bV_c6l
zmu)s#Q9D+P at V|BGP^%=8?9Sm74XpwxN;7s7)3~cnB3e62hEPh(OH|$9+<>{yFC8<L
zuNr0L2jvrwbjIMA4(^-4v(K(`Y^}R^OBk<sdEhZI6ALP20<b%$0PqrmxKsJ7_8pxb
zr??!enNQm|r`KlU3kYy^$;973y5+91eb^UnI5ry`7XGoLrZ6vSCvBt|V4WG8A8n!9
zyl6rr6?5?ACo0>hvbo5KvbO#h7fD#_wJPhV^1k at m=eK*9Y?XeGw#u`1Bbz9Y1N%^v
zjH!*xsjb~eCV5J0j}<d!i*SvPv=5m+o}Nc3Qwr<VTT)Eju&T)J{s`^KS5JYbC~XX%
zn<~9i8%q^p`?U!zg#1u4>q at b2EIs<FJ3&+Jd_}BR=|`t`tVOQJ7DG#G8C3j8SUD~#
z^(H;FywdN!1|L=yxD{nXgUMLhPCKY>bL<wBYIK1Ye`Ygdz2$z?TF0$0!h<ReF0Kxu
znim at FLA1xE`|$D36OLVramGf2vjbd^76Fo*ON(*DY=4GN$E)ol1n~fp$pdqp6jF&D
zqd=h;6cu*il9>&RLl&YyJqA69^p%P0j2{IMWo82vlG?~tPr~RC7nulV18KaD#GU}B
zvj;n|jj$l8+{(Ni<?s-%r84KZ7<3I(O%D<PhVvR56j<qOAf5-1-nkw>Vrzmy^HV at E
z&Jws$4p9$?3kG-7D3qvx(qA0iK)~q%(Dv|sU3m7#$2*H+QZc3PyT#4|9cy^CKP{A9
z4~nnwQ9`nQ3~QQfrAIP>6;olhm}LHV*m1OgaB-JRzuyjRJ}Io`2uOExP_&aGL?&T0
z#hnr_Vt&mAHYNeBu;%Cszv<>Pq<(;h6J7m&A$RzLUAy=rF(9#jI9wr-y-HJdLYdp*
z2nR2Kr1C4hOKJ`ZHZJyy7l`(R4*%S95i`$%@bq-QsIySduku{}($e|OV`Q-g5G&Ty
z!5|F*eCOuiU^|R`3Z_Ze9(0LuGyj(b=GRiIuQw1~NoW2_!=Xhi{;gUR+R&&>HhPU{
zqK3{%_d8ijyK at 4Y%)j(klSxq1*seZOzxH@|C2lvi%}w{Jn$1-N+`-tsh`_dIjL|ut
zS1C^Tp%w2Up(G^?`#nF;zC0K+x;8U5vn-xSH at uW)dNY|8A;T=8vEv|v at K3TS?sV5H
zG}>{8RR>EZOXgt2U)4vad3cK>I(pV4>N1v?opvVx5sq?w)pkn9HK}#bqW>|Cl&a$;
zOzogOo?Ak?`l-oIX>j;L->aZ|$ZK34uav`Qo>EC$;B3MsscSuTujJ8EsWfetv@}Kh
zj>7B(U_*yfP?y(rYVG3kiZ<TTiCyPp7Yz+lKTr#?sLmSHdDG&>kTf`o$V{CymQ at yZ
zP`2qD#i)|6Dm3Zt%cbwq1@@e97*?QOmAr#>u-^lvDxC+p;GbJ;5>f{K)zquFh_mVO
zjEBOS=R-ZGY(NQmwQ74MuAIbHVzER;`G}dca<>L$v;+Dv6z*Xv0~_?Vm%yHqGY7&P
ziWPA05iB at FMUGS)?ua-dViK7<Zt3VT=3G2HFH;W4w{HlWL}m;#UG=Bv-{n&q8XB(%
zN%8hB_HsNY6$vhJ3FG<_+91{;)n`~jP*@9v3q9C+35MxZ7M})8GtEpxi={EV?c55{
zWgyoWXW;qWSbJyhdFjFLyLD3cWw<SCTQ{5!-0HgKOywN(SIf~`sl{mO38gGD&*24n
zmKfQgx-+z{qhsB~9#GoIf0R_FAeB0%Leg#8P)?`iGaV&G-0J7;H%hC*^a*5oKZ_oo
zRpYOub(l}kWfEvN at t@_yI3(J_I2;Tg at 3TC_Ba}==tO<Pte>mlP4XCV!gxC~A7Et-}
zDYZLrKf3fhPdHrY2snitT_oH{F!wy~gsLR|<{Dm-$ral8lOwciQd5R>uw2h^yI^KI
z*x6a4C(mYx=qG4>SVmCo*WFce7b`B?U-n;tP{V579{Su|5cnPGnX~Q*>~A>d6?PXe
zd00s@@fKCide5gcRky5EgwLi%vF+$Jnv40|HoxZZZ^gjPE086k<jgwA@(ROaAsZbp
zLRQ;Y<&`6n*0q!uEzbuoj5Q{%2x_+_{HlO6spd%D{h9xb2Z(LPOu&{mOD!vM5o|gg
zPFy;o&U0s;4uhm;%e2#J#wr&s8$E`~rBjHs)%O7S*=YYcHkhEIr<QA=6_ZaCxvcxn
z#SA{$?Y4B<DUpABaVWgexr+1jwwnz0gS?PEBx!y7b{WIw@?A^>-ZU^az4H`cj0dnJ
z{3vGD3C33iGZS3|XcP#@cRcDum6szLiu?hp4HraNN0zGH*GP?ek{H%6I_+7%;n37v
z!ROQoU(YjbQ#?$VhHUL^^g8Z0P?BB4D~{k1I3rdf9L*ar&w`=Ca@|Gsf(<iG!BzgV
z?-=sZ=5ZWH8DpCKa7f=1ZQ0C4y4kB$m4eGj=c7uxsvpZlS@)BhlMEhQrqdnukI7fs
zEC{T*6EO8Ft~722kx_5I8zzF3$$GCLCaBJ_8`vBviQJNK#V_bM(D+P_WLY7g2HJaN
z4j$+jd<V4LOg_KHr|udJ+|wIBG3E)uN at m|ABAtz`ILcwT2TtqvYW3(}VQ4sb?SnJ@
zMB-@`fbh6hdrs^`%ci2V3nzgVuyp7w#IvRwu>C4ytN+}n`HSz7<|yJc-Lu2f=l=fU
z;pqZZTPyccPF1yN4((yx18}q7B00 at g<s*x|;`;kX2W%pC&ghguxrM0i7XH;2^L8t(
zzF(IQvADEldHPiM3IVRvx`0$=r9m$9DC};-{KkhV^9lHUV|cGCyCn3sJ^aM+zxE!`
zZ+j0%fSZ-E<NKC!OhYDWkrlrERu!Fc0n2)%HLY^_XeXM`?90}V{C4nf!t>I^pYbV1
z#;Yb^DI~v9yVc`Cr3(Q$2KEl7urU$WSFIk^0cs5u>|<8J)&aQEYPccEyJ at X!opPr`
z)@M5}Nppk}u6-&s!QaETQ^~!=Q&PLOv?|KaXvvK`5S8rfznc%tNQzN?u3nPSxL=^E
zi^pLY7?5TA{$e$D<9=i`!;>mCx2ekd{pCpQhsE1HSk}Wd5`*)FP606jF`~Kv%W3wn
zBJNjrG^=`Al{$50<>><p$}JOA+N6<`7*^jr(JFFdi*Fld0}6p*CF<-SO=Z~(QzQF>
zT6pu at MrWlXoj?A(A}+OP#25=+HtAxSO8h>xME`woy*+d==$7(k*F?z{!oY#+5lHZI
zHRzTG&4|^RW`@T>nb?iNJxygXi_YIHdjm8r8~nt8w=;8oHPhKir9D=QX}?6w^e0iO
zXvCn%>@M>pjA^#OuTSQf(g%ne2^I8BE-aJ?@>z(O42X5)%C}WCjj8J)&k?*WFe{Gu
zl<;C(aZ%D2#K}Nu={5t?z1nA7H2x2DWoBZ2!!h>h{H)XvV86a0V~j;HLst at I_eV-b
z))Oa3K!`cAKx6Gi_!d%D&Nya2_jgRbj$BrAXD~#6lB_!-kgm(YpWAGp<2YiFGE13V
z{;pohU_(sPzzv;l^PGl^s7A>WbP~woQP9AQiURx?YF^t3vol==X?Ft&hm#ZdRWSR7
zF&7$B;F?U6;GWG_R#8cNDN}icAbd{=MZvxNC(=*cw0cd2Ut;~&iNCy4Czaf&$&2#`
zggSi6A+Mom>bqEcF}Y28N`HL&rO at d6r6w_4uu1__urdP_2Hapo7<O7w;_4w7oI46*
zmVw*lF3lbvM|5uj-uyH9)-e5%D2{#BQK1s-QnaDc*hY*v7=V#Rs at ONAIvDvCT)bB#
zXG~4<QbvM}K3<#&K7?@&aqsM8)#OoHNSRnSW%MJ!a&nPmfmptsVz%!7s?h9dbChep
z at p&cWARwI>%`NKlQ3S;zR~JrR#J52!BBnsiM%?Y6$wrnN at aZJTO*S6n4b*J?;rYyw
z-KO9l4Se at Z+vdB)S5S;`_kUoP^TU1wZ}`OEnw%UdPrMVI$w7-Ki^is(#xgiV)0JiY
zo%@Tf&Q{>UbW}cm<$f_hYt4sVW~}Gq{5b8ig3(R$fELL<qI_-mMf%$CWR0DDu2Q_k
z;%7I}!epsH-5&}&aYHKtvw{W&_=nlCAOQ**<oQ>QXru~C8U6bCak;t}RKciNg^jL5
zgUFs{`aS|9M^Vx83<>u1Y7|;`3Z=+hepVKahchdy;R8AfaH)P at c3vbOa<-D2I(o>^
z at 7j`mbi(c?Ar5m=6F)<NL1?MyEw<|<H!Mb01<bmh1w>-gTEv{!m=89a4>DKm3GgUs
zfl~%a<jbx%+0^ZtH?LZ*)o_H1Y8-I$r*zQs8`CPdpM79C at 1Mx&jwABqZOLnV#7!Mn
zys;0gph(3Q$jRfU!$rz#{Kh}tp8X13kRK&o!x|N+Fv<-&Zwl>Ls3ZeJkLXBhSA~AL
z{tatyz<IR8!k#^`mu0iuBg%h(q#j`AV2gHD$ab;NwRiUnGI;b1BN~O}VVZX<nB$7@
z;N6oLG<=DA^s6y&h11U>u5x^W;4yFcdMLvM(|mOxYswM==c(ALQS3F|7QYKYt$UZ0
zYg4L(S?&|4oKUqH7({{LYn#@%YPfB~Wa=DYM3llLG&XQhpG+ubKpZ=Uc<#(i&mvP|
zEsoS-TzY>L2>;y<x}pha7Bq#P6?Z63cILvi(!lvZJ-CF&a*AA)O>c|&#|mD=xeY;k
zZEf<(LzsRi$DAgew<I4e^4xL2hK3G#rQOTr7o0H9Z_Sg^0&v4f9TbNiIz;$ROfvqH
zcdc-)YA!sFCvAD=A;kv*Y at cHU$t%a$P%oRdCu%AXbvq|BAHVx^VMax7pTqO7z)hxz
zMSX*ONW`$Zx~X5$>Q5TEp{bhSs*jn4p^yU5Y`PJTxhR&0tQ0{RRy-4anIO`O6YGOo
znl}NNDuf6=nGz@;>d6)>a{Ry$8#;KGV9$_6dn}r+r->(nI<jBJq*;yz3}-<|98 at vM
zIV;%15Pq2LQIFZA;uJU~LFQK*$b99x;C9;xN{q40*4iEB^r&2_B42K|Q_i+C?dG~j
zyP*(Sj&ZcKmnX{(=K(PL3YYIi$vhBO5Ye#hi<1;xP7BM{SuYp4^Z9nJ`5x_VmFVHa
z0c(ALBTHozpUI1Cd$*zx&82LK3JhZ at Cf1n6HNFPtBjc{24aEUMhoRT(Ya`+9>Tio-
zo$!?ZPjDb0OTs at F!?$(sH+u&ay))eaC=k&5^_vCA7 at +^Y6ms*uec?MBJ2<}CfOrTQ
zXz2;@jcp8Vjm&LKc?gx2L}}Ow`FNqZZB0zf4UIYfGz-zZ*^l(`-=H>*oWB?G5IQ;7
zaQ<dM;<VAXHg at C$7;^sIlEnFUZqDB-`aQ?h%G}11htLcFu;Zkob8&H at bz!2lbugu4
z;Nak(`>mAlkE)Ce|HWtL<Y4t1mysdeo7w2yR^>>?K+8b)C-1w4|5v5ndH=4Gt*!09
zDtd3j?@j!zI!1bWX1d?+3Gx5vmA`c#10nC9ef2Jsm-{!-rp7kE8 at 71m-lWO>)|bCa
zqh%(RHn(wd#sBvL-8Vaug|Q)kj+LF>nt_d2(8=7&h=zlSfu5W09}<7B!Q93iV6JaP
zW9VS~Zb0Le*LSkQm$!AY(l at vH1M*Ln-+{jY-o~EB=*>#T`_?)R8hS<=26iO|M$WfC
zX4XH@|IWv4WXSoStNL5PJJa8!GSSepC^0Z`vaoY9zBS{|!r#@fb1;9i3>ncFxcw*9
z|5o}p_WxhyH{lGN41cQp8|rta-%-X!Z=GagN at M6|__h<|WnlQDZU4yscV?qMEStRY
zN-W~6GA!(h|3LkV;dh*qqp<^xk+F%njj<8_Z)5fTI`9xm*qGSjGZ51K at ksnnHpc%O
z8`J-djrm_}|9XAjZM5c&0CU6NH3aAzSQ*n8+B(?)cnBE at f6x5QNcd;w+qCdoTWk&9
zAIpE{+P#?*|IGUnZl~{{Z|b0LXZEiGwm)RJ*g6>fnaM!U`bVyz*&D#{%~Jbk5i1A#
zyW)SmY at F}a|8 at 7Tmi(6e-;Iv%mR2P*Cu;*6eRC^EI>4VvT00xlem7+$Y=Ie4Vq(xn
z(A#dP%5E>;Y>;jmc0Wx!7Z<41HAH;STYkGF0#FyMC7g!)*X6p$>fLglqc&;2nTpa5
z?b|p_1WHLgSS14`P*6}<4s{C1Gu<Fx-{7+ymNNkGMw%EukomAgNLi~Xj!_<Q=b;-~
zi`dAF+?eFNV94Xm2Lk#kE*woPsH at L{0i}EscwlUO!jLT5)Xperl9H#lR4AScqDLWX
zw!h9F#1(X-`&yrMC(v`mejH`CS~p}l;_0_><Dq`VeTXn|+dK66G3R5~T0GhQKqY;>
z69D$;M6Y86vtc<b;S4EZDc`dMt<HRO9rGEuii@$hQZc$3*|0=$_6A)M9CPcY6CE)I
zKbr8hp1>CxLV{Zd|C*T)b(T#GT^MDGV=Cf0Yby5Vc_vTHDd#ip1i6W~*<6>!fUvmA
z$>~C*=fJ|aC>R_WUoC~o9*aGrC#6)!;kKo&u{F;LVlM9d_%)H7$*fWPo}i&n?u7kB
zU1pW(@N-Pmp>lq_%#lMA{fNQjgKf)qJGT~LlzhGhK24;nOZeHN7PR1jg}cRFYDe{)
z;}<~jWn7{6_s`46{kQ_mP<WQkzqU7fW3ti?S9C=*^#%~d_4DVJ1%z&No3W2EFI98r
zGSrHyr9~4-w&F%U%B197lQ%dAZSA){trs3+?|=yKbZV<s9+fQiMivbwJh*Y0e2mnf
zQHPBxYTYi{p)mfuj?#F&lH7l}Oi{W(-HUmd++Jc}y!U)9VM?8%r)OVzn(oRK9j>L4
zDvt=9gm|P{{+&ax&gkh=JP9TWhRfWceHdOt-E2}@q<<A^`e3SW at s6&E&{!tgSz%av
zN+L1ImoM<Cu7^e{USCu*IJ~29LBR#sUIgd9=fcrvji`qWudr5?%_)&#2{KVNR&-bM
z-PlcpnU4vs+PT$golXaTj9Tvb2FBPJ at UtRjv?Hfp302!OEnpzTYOZr3AzJXh7rRPG
ztTZj#kj>1N8KE)#3k>&!j&n!%3jJWJ$YIg1_1zT7=U)9v20%z(&wa^htbVnTXnjCr
zQ4rCqtPimFHVNY6EY#w>?vEgW!!E=j`<^6!v<s;Wfgzfoq+V63d<wc4-`rXlSCsF0
zU?YsYk~OY)u{cn^=^sLF)Mq$$8F)S)oLP;xd{5|kWbd*(EE8D^&sjBCyw*V8P-X$7
z4u?(<QBGBheUR+X%}-X3=F>H8f5wc9|8nFI-CSxPTu;K8v*=utvKxV|*}#0a?p(MT
z=CugMi-9xiahk9<wD%wx0zad8!x#b0uD at 8j8W#n7|I;LOeGPA9_-pV7udJ|r#o$g5
z*!pMGajn!v${FZ%AR1SMouyN(&POL`l^;O?k7;!>KVTrhw57g|DL`v6+<W(@yCzAV
zrcL)o5N|6XfvnuHO~ugIh~;R&Uvxc!cy#7VS!%;k@;(-L8Q_{-G(;9veCf{fpnw~2
zJ-0|T=)CY$)FKCm;sAZUx?*OaCb*PRsIiyJU)HMlsZYijAQ+ at pD^aaqVf<AmU1UW7
zVP6@|crLUl%Ih)0t<E9j0)yAu2vV9MZjMD}LgM5myst53N59jA`dXrMUWC at a+=CZF
zIoipzg}Xwp at Mu~d2cY47=D*-mGFE16Y#hd#e!$Bd7RwAO7*JPodv!-|%n~H==m4Qo
zdULGz)o~-<c8Wwo+$)ARpLZk&#`tzrv+^c;Z3~R+V0#>Nh%8B at k#`;}@`Fke*fFQ=
zN3y3M>vhY0Wq{?fY4d8s{j$1D36vo&{%@HjfNSPr%snzgA&&@IbRYEF=_u5Z%_tW_
zHxK&!<--H`uWo|VlGQLgGM??NJgGd)@kXZ0dX4P!-R0^jETw6qzHq=|`Fcw)9cm<A
zSp)i2I{8~jAQrQb%S`RJ_xI#RT-mf1*G{r8a1CIBcCLQKkQ1(#>LaT^d*vJ`0&^2N
zpv9+3J}0qrIXcZA^Oiv1p1Pu(@V>g_$Bk00wfDvv6>Rw$(FT4t$E*l=&RSo;jNX(_
z_E=~!X)5-Ho+guylq|G+I8;6=P138MO+Xs3$;8wBv?Ca<PoZ#$XRle}n#g*uIXj-l
zO_xm;a7kmM9Pzd6r4LQq%e2oPRsB<BH;>F+e`--Axc6aLO)6f4+^5Ax#&S7*;P2nS
z2cMW2!&pKT=Cs#AU7DkIugGq&#t3AU?5WTT$TZt^p$5t|>ug?(Vg=LH*U6LPa~B6K
z0mxujKRPu5PqQ`c;22 at XUJ!F?L!}p9C$w`q7%F=+67n(V)N>}9Tn|s`+WqA9r>=Jn
z23C!edqbdec-LuK6Djj>`&;PGyd#fAOcH#WQ-=<#LW$+`3=4H}Yb?~EqfJqx at S9Zd
z7;D2*WMb50lD&i$?%!!S*)M1ke<{8SevOJ>!q*>%T=!v0d%YxJMw}#<BvN1M*zx^j
zu5}a97~&uAnjLlm$-R(;W%0cyEojUmK~Q{z1=YS=^;`E*5T)nH%6PkJY9McAJLus@
z9Jq#G%38U5$b^Fa>4mkE%fo`gtK=K`P$=WBJqltj&)}^`tr<^E0WYBPlSb=<Q73`w
zoMbsWE_Ag<31Dzd_u194C_q*#&fkF23B=48EjnjPt+A_R^Jn_>e`w+($pjl-o)+C{
z^t5opon_N{g!^)jn6s+sT^RE;&p!@8WxB(}18omy2Q_Ff_OE_urGQXa`&Ci&jl-6z
z`5IAO&+<TG4QTDkS4qz9+iAm5UUT85OFQPxA+SCOQhB7o`bRn%+^b?TQMF^!dCxiw
znJyv}m0AH9!_}AM9$`&iC}&{;`Js~)Y7O_M)=+~ygET{PHF5tM_`!{-p)Q;`4;cMf
z;`kjwvSnA<Uub at q=c-70q4DRkatH?8?RDr5`Z!JdlTxs>KRQzq^pHHxR<2eoh2%?U
z*(lnrn5D7yGadHCyNMEa%$yKM#&(jc_kiy{$zHesivWWV%W4t(t(H;*Fzx5N4n5ff
z!h-B0Gu<5`B!6ZkTxGDt4-gV%bmdhEG6PYroRyZ#NmE|-ce^=Y80ApAa6Yz at o-sJO
z)ub~TXCJwDU+g40xsYzc&zwf`HT at ctccv~s7y)1CH_t;nXAhoq;aqhKn-%QW+6h}w
zOMKt8O%$e6zO9{&&ig=DMF<rMv-)IN1Cdy!G>$^Sqkbxc`c#YeYRB4vx0Es4aWc35
zD8JU|-og<54gCyJ-QwUVKPtE1?FytxWmwd-VF9#U-8Qd6-57sq?Qu>0D8Tnr^gIy_
zZR^3#Ltll8=-9a~1yux_Oe|bkuX8DLj-WT-&a0;%>=PDyvaP&x%KRKLJVG27QQeTU
zOh#3`Wa_IiDi{#K{0I=%GGWy;)aPYzuJFV9WidEPs^_|jm@&a>;vaoBQcquTuvH#L
zmE3rZIh~9XfnOs_k5JPt&&Dix8zAH$iSB$OV1}A$l;u}x00G(77U%GZU}`;*h}8F<
zz%-0k{n^ylA4Osc_O1mfV{@;RVsfwO`<#~yxwvHV(bd>(oX9{%v8jF8a_Fx|GjV}l
zaJSqDvQ{cYY6>`E+S5($Y({&?VIBvPiQ}E5JSo*wP+8FJ4qq828JBqUl9_)XpWo;N
z$QtGCk;WJzE-=`1ey5k@%|NF_Mv^)a_ux}Y-W3AaZAJTGdFr>of&4&FPV|I-M2XnE
z89iyTE9j+V{<<D at h{wusKZXV6D%uzmSOfq-*O^Q~DzvE5*YCKdB`ua`%qmB57$8Gi
zvtg497dq2VP~6ThzKBi(Yvm$xoW;70!$iV~-1=^HK at Io;IXV0U&7!4C6pxOrVREG-
zS$Mf|#3B<TXhB+?7I8;%u0GudYERjlVxS2{olt2OCM|Hu at eEbmiiAynxTetLjWFlG
zimKFY@{5k_C5NRle)+j}$!wyhT<4EKsnL++Xe)DTD1MiEt`2xOmQ#*trIB6re5GE9
zi1!46 at 7zx<>fMb>2qlKymaF^3fsp8Xp$$3%;y0afCw>*>Gqd<nMN#C5X7`tW!DoNp
zQgbZSflOQ!uZzs~@9a at 7bKs3jx`{w`ni*{ss>YKIKuRCdKFx|VkVT<e@&kyo;lYWl
zzv>w7O_A at aC3R+f@Lz9~+r}&(D{9%sqy~K;B0BX=K_E-*+DHP)yRnyFI7%l!bd{Fj
zv**Z-F;JD=v_3E;29y5;ubKgg7r$SV2KGS2Hw~p>zQ$K~)bG{9hZ5!h4;)0Lr43?g
zUqL4Mun)liUJvq9TPFZ|B+E2o?5d=kA+$b4ze*-GNNGHD#glk5V_SBKQ&w0oFrC|{
z87xXr^|AMp8gosMJcw7}_h at S>Ie|W&_El~khQwehK*MI#eFX?z_}SE?_0%=}_$jZ?
zoj3kTX0`S at 8dA)cVig?b?dRvOyE^?rTnv%}AeRTh(T(dw3RA!@<ncvG6ARbp-kMj2
zm4cieMTb+d^gf)L{YQ5|`$FE}v>9~#ZN;0cN5F*}IS2zC?9cm<@Sz>jydIZWegY*=
zcP=)~M&V6P{T#X8$EWH(n76qWuW8%y-}Z2*AgO2ErtvDb#_4>;w3+6Zs0k%M)R$2A
z*NPZnCG;V#*mc^N#3EH{TdR9l`!N?Y-HFl3yJ~DC9Z#+fe5<<hKR)gAu6<<)a-<|>
zuqN8cJ{PTQ3XKi2UbCw)F6A~i9B={R!(YG@?7GR7Zfc)Zs9kNYR|uB{|CAmYETBHt
zl5v=I5C5D<SE(jAXwdlxQrqmxpd^tUWf8^S02F(2UX(@qBu>wO4E^K#J at IXEq55zG
zAxR6_gDaxyoqWUHaWR7Wrg at M*XWNxjb at YKadHe<0N}u(LGPZ3nJUZJN1bd`bdZob{
zu~I0n!}z(khp=KPM9l2>f|GUuttppoIfF!$mgeub8%AnMb#9oMWIBfRbVkF5OA>|F
z`GLiJU%yMI1ZI9^Z9drFrM7X}<;qgJ0<T|Ed!11b&zqCUm6#?mTLo3=jCw{(&z+cj
zI#9nj?ju!ex+qTFr%5qOhbye9`AlSOS&}_ThSBMU<|vzsr#M;asQH|`S|1jX!$Wnm
zlh-1!T0i#EX(4PlZ5blUPa7wA_iI$0YG21!%bu8OoT8aM#iyn{@%VJl7XPJE0)MwB
zPorivK;ewnCn|60a*zYUV1kZyLz@=_BoTt9k6NHn()*sN$kn}&l4T1^ikb|#&S@@H
zcmMM?LZ|U{t8((9<W10%AXik~16Pht at PQPj86)(H67u+|H_^WNN+ro%rLC;oK(m$B
z4)3z<DRhZDB$=Gd{SG6??Q#D~fX%vSZ+ at P2a{KnVSa<4Ky+2)D%QwssrOLvwt^QxB
zwsJOI2jKQ0+yfiB`_Gj2Az9ZSQ6Ta~N3zn{3kMtY?MK#~HZ_PZ_gOGJm1JdKM{!E_
z(r&xve27v!)nZrm`N3|e4F`$IuOs1p$~$wsgfXe85Tn9iCCYPmX6kxBA=<O|0!<RF
z96r|Hgh4-&(l-ai4|q|Q at nTO$MpbH6WiQ;P*wn$bYDX?qf`{FuYJ8qH$DSM%S~17R
zAJ1u at q6(Pwh74Pm+~{LlV{<us)t0xu55feq)f at bbYO|zMhi{{$x55SOrh9VDOT(w!
zL)I6SI`F}VxJ`;Rk<RF<cA8p-PdQ^G1Y3h!OO%Is-v?sgu>&Uy0Fng+6WrTmTf_di
zL7xfK(F01>6WHk>6C%7eMMZJ60AoCg`D!<xaWzRUcZ%xXrc)GvIO&l0C<Z?ohd(q5
zQrMmhu^el!_0jXzV#Pi7N6sF_6%+tb|7aPhF&!=vOD30(T5k1`olcC0g)r|PA#BNA
z;sOv<f=!vOs)M0%t^Vr{U9shez;o<b)fbVr=}CX7goC$=T=$D|rB;O+g at Nr*An<MW
z>G?YC-kk?uJiA0_`jR<Lm-=*BZeJUg|7)<XtxB}C;*O(NSL`&NvlI#_VYIFz^pyYL
zLani08lT9BNzL&2A+|4CARs6*!X=Pb7fEWD2fcY}zRh8du#LKiDw`w!tR$n?fTFOE
zv9%#1%o1z|a(eMzg`hAJB4w*kt)@JW-TwQYqn^0d5DLAZMJJaP1-FpjWn8%SGgF8M
ziglmiGh51{lc(_W4`7BBs3P8eZ<IdZ{icAV*H}ot^SefiBiaq`whbTIb60E=V+RQm
z42@{(b0;#L=JoON!xTDO@$*l)`4X(ymb%VMG`J}?;#-r|Bq%GL+4)W^@gO2fuB!Fg
z<M(ViDB-h3N>HOu(5UwFpHuMKYM<KW7La!pMUB86rIin8d`j*Hh-|-!LO#w|fDz9I
zv7r#I(J$l?|E#VSO at OB&o&%L`hFax}uA2`}g_l^!YCMHsnKs)U)VaSsH{XtkIr(@`
zH8J8PifPEo3p?_mKosoOr!6>CFB#$`LRKsh$Z*a at r}&lJ4|!_470PB^OUVBNk9qLP
zM^C@@yq?9+(gkvOzfknQqQpcm+l}wmJdp8{8u~a`J0Kh!i}0AAH#7EDalsV;djl3N
z6H(h;l1|P>Kjh_n+~3=GkTKdS+n}pU>d(W<q8w&BHH?a{g9F%niic~;9C5X#Xly<&
z_UkV8{dsqMLsUNKA@{%n#C89q+Fu at i1pndFfkgy=1s+BG at JF6Z`=?=zo=Ln at BiOTR
zd6}nd<g72%A3q$zBXRnaDlmP`-OyTveRfq06GTb-f<?1a_$o}#ZW=YdJH5fUeY*uk
zP?_-qltUKp<-01cU(EJhqwlSHVT at DUDoO7+8@Bf&QR0Fy1v7%?w8aOHT&4onOH|X;
zB9*eEpBS#Ux;g$bhegTv{q#rqo#$3c^2b&luwlzfO&)sGO^Jb}9CSQM$u!PnKa$go
zb!8S!vS&jk<xzNU^Y{W|aixZ5qv8Oc=rf5kFx>;kU`ISKG4>vLIJeWwcYeypiehgf
z8-WF73F1q~3q9Moi1s?4LblM+{$O7u1t9d<r>%aI@}Ykg#AJ~H>@eavCr>%5jIR5v
za-&yD!CQ>xDu#JM6pS=Cc10{{)mB>cuErGMz;KY>KM5oN;RdrLojlq-N=ltyL2#vT
zsAbS*sVM{oDU&H>t1-mMZdz7PI_8C%K*jYkCyYg3f6yBAs9y_LRwAmjFb7%FE>a{y
zIF+4}x?!eZb9><K?sv{gjFoiz!o4$OvJs0^aY*Tax?8b6E-9glv?4GwL2v8yHZ?TD
z3p5G=&~UXZ5o#c;2sYYPzs`auPje*lzVen8T#IUsy-+^o5F7qj<uSTa%@i&}_9}g3
z^qAOVC><7<z_g9Y-!}cAPr-<K?_pB+)4LQCZ9Zsp`%$MK)~5L-Mk$_m_;83818v`8
z?I$;FJDjN{H7IQJ`P6qqGXIeelpG*9zqTvO?|F2qF6?SqUFN1#_gM2QCw{8G&EeJ}
z&k3zH!mkIi#3HubA at t>&Up5dXk6MySA9UxIV-!d}!*b!ONipt=9g4=+tT{p9it1Dm
zv8V`>9!Rd;S76 at Z<LZW+zyg!bNQcaCnQEL?<nbY>!6<O<&XFjDhdw{oC%WWTU`FKc
zed)g2MS`xU_Um83`o4zXSr3oLa5QFFpC+B8;s_qw@|<l`*j_*4;x`uD9=&&`q7J=!
zIDxRhu*CndkE<2)l`2~5f|a6oMO9aox>fZ_j|il9L(drGSik{3KNYVOv^+Mh$T&-C
z at Yrm4bFiTgLMKk;=_8~l<T#f=l12pk_vlW2zFe!oD9K7?L>7LA>dZA!tc-I2>0pXz
z08Cx at -M0_;FR#@^&wMzDvovMFnc6_R#Nl2fx0v?^vMss+nzO$I2ry0j%KY)=C^=fi
zSC`^w73V+ at C!JCpS0_;_`Ot+S#GFS4nld<}pon}jp2-yD*!$&oE42#d`pk_41fa*|
z?1JqOnNL35p4vvk_DW-X25}`yc(BtmCFC1A^Ns+z)%N<*UdRE$XQ!clx(T)9c|Cri
zoTGHcr<Qwa8_BeHB~V6Z;6|)=I-|NJio1H^BlyjH{V9%r7#J!}0dx2vd#CkQ<k&xl
zR`#mqoHyv%aV_2|58W)qQ(*B-i6BhZY2Dd5t|nu&lPU9qa!Ymc^^GNNI0c=6#{wDK
z0De?$MB#ZlF at w?VD~r!7!xkPd^cvPm{DM1yM6L5n<IT(KiBgl2ldzU>$nsCerf+TV
ztjD^`yktC}LA#3IZG1BjhvW8Rm<i%doeUN*zegc`L8I`Lfql9;y2`=|C`RZr*d5wB
z=|s~mM1IW^(N at vf_YZts>7KkTJi`^EFiVFAjTA|eGc;D;mi8z0Vk_A31!^!%5$R0f
z${6IV-+loE&pK0!H7T?s*S2EQ at lOXnJAsNiDU_@V_AWm*3aY;DpA$e~KH@;(D^nZT
z1csT*yq)m`Er;&!d9xj)+r><KPtv+1l_>F2-oQw}ml_kfPnIT1x_?^yIM}?6j^M5~
zL}ip2(I`9FCOUYnL)2xf%4r)ViM=pB*XiD2)s+p8Pz#!#aqamGEc;{AB$dEK)nC19
zlFO#k{WQc8h&<Y|KI($Pw7TKEg(v`e(xuU{jWURNLm at 8|NTcB-y?%%X9fcDslGQRE
z7&}rYZhEJLW;nqe=PFKfm+FK1t3p5-W^2Dm4a3)uF{wY%I||s!$GF^vr7Y0S%%43|
z(1*0BhluLw;Mr$N?m3<0RZ{5&^S+AJ3NG_ah!4kiMjXqc5TTiJh}=ZEYU32 at aji~!
z)rAwGv1-RzCunT0)$3|>AxO at KVk0%z*(b;6B at r>2aE&=F{0c{^Rf<|2?WFif6kc!J
zD&FqVcA&S3Z at UnhJt2Wd;%fDwZ&Xd(nf9QqsT`iI$Q7LwL%5rK&M?d at _w}x*Ktz{1
z#T&DXSGYnPIH1mk$-iq2>k=l!+Wx*bduMqxv3G|6R>3=Aani9aX9muiaM39&Gq;R8
zj7IF(!*4j;H4zR*QAf;rQC at BMK#vk8wG=no*<72vp%)Ayw>m1;_xTgvQ`skt6HucS
z(wK>R&}7AWH4g6BIdh>Kr!T+Y{kxo}vt#CpMj+0XI2$EAkn}o8T;zTA2}BIrVJB2R
zy(WHA5XQ=$LYs*XSd|#N#RGPWT#L9_AWd{!15)}mrn0k+ at 2JdpQRHkJr46X5wjWf+
z4Cc=cYYF03TC0SKph*GsSBAeLox5#NGP|>wx5WrLKgibS_^Do0wY(cC8h`ZUTvZy-
zPGn(8$_ipf{Z*{O6f5(#6x?(JI^oCHaGdc)Nfk4L*;u$==0nS77c{~6y}9m30gZHs
zqK6k+6Ql$=W3_6^$XsYLsc|ZvR!XXLWb_jE6m;ddu_AMM&Co+vvsqQ7 at P4j11{H%|
zRQys`VD`wl;9okkd+J at kMCMb|m<ZkB)(B>Q4=sx!sBxA7iNeKA^Pwz~pE^(3f~t~C
zI7OTs{?I)B_M=9B4>Jg96t^Z%S25Xy){j8I$OE_5sOQtv$9!}*18FMNKGRyipkE4I
ztL)rjzoc|_^(s$BAMKY??}fEyUyn&Or@>ExDkh);ox+WOAZRYip?kud^Ov~E9ocu$
z6hZbQluBS+a at iz~@Fs{Yt{hQ5y4~=peFlBx;Gr<NC}c0wnY7V`=UX+rGVaDDvz_yb
zuV%r$O<fw6Z8KZ+B`Cm4Z;aN!P?_GlHmvBsQx{LXm|)WNkX_X$tV<;2k!_6Xj`#e8
zwpX^UmMo1M#L_k8Pzq${+YzqBis>wMZ`p;~9TR&^5_hn0$Khv|S>g(!o~AwZtTmps
zKdMk0;smy+uSWSg$F!3VG69tr3)|byKIxf;QvGt})~2N9pmgDzy2x|xKis|ioGwOG
zHL8^BZ{O|sxL**Q>SAk{73y~JD^uB?b(xNE90Z8z8~bFHr9f`OtG7ZsLIUl^dN%N$
zSm%No=T}}8I#Kd;KKwBJg20OtyBd+#lMB5#pO**<E{X+5L#2dnw at Z^RKT-!RVo4wA
z*22hbg(z9dVDZg8{o`ugMQZ52rGN!D?mLD|ZgbW}Pri!zg4g-X&n*mU0=20`ZBqI|
z6lUS)Blj&OQfWke8|i9<5$?{j^mInLD|h$jBl&^cjUv>}nIN0yhd`9Aj|9%ow)rI7
z$@k*N0+>M(k!RvYE)Jb6iGb#}ChWYE`|){+$)_)g?&kVc<=|8smqzgkyYi}Sn;8qX
z at mQenOou}>7ZoS<?kQOBOYDL?&dr#OF1g=a;_!i2s>Xp%y;_mi!K6I2;{wUcv2U%d
zp6S#0X7F$%v_8d<ZX*13Ye at gC9ro>X#24;uV}2lmxYYn4mWSa$f1Elh0E_Zmr6Nq*
z#26pz&|QG|m5s9%K}K(W7j1(^%cU)W9uQn-P|T(Y-^yw_N-l&Yxnh7Ap13JYlg$}M
z at F9te=FOmM47eubV~`S%Na!hdLkL`3`N&jk^%*u$DIQ9&@y1Zyp_4M8SJJ;A(oK90
zydwmHM(JLM9!r=Ejl$H9>0sJc;j43}uHxwj$Z$(J4)tEa$vM>6xm}5y-F?SyGkmK;
zKB&%dZ~S|+;X||h92O_>-poc1SnR<9U9B at Q72WU*<Tybi{i$6GhVTr5Ek|ULUmE!9
zJVU?4?ErpKVtr}klfWDEc(9Ikz(-K5d@$Q7=Wa)+!GUd%HOLUeet;f9SvTh79xL#B
zz01>GO^5R{HeZ#fC^g`ws#fAqk6!dh0+}v`PnAbu2FaAkxiIc1 at smfkS5yG3W7<p2
zk{EketOc!67G9M$Os`N=0Hp$~MXdbcit0<BTAe33-zzFAc$0YLUF+24Lyu0<aA{|L
z-dPFJ^%AN!64m)u$NEnY=T36ElKr~`>S1?8MsN*WcW;{Wl#tIq$AUheXrDChF`jvX
z(pIvOyY+qM>PDxC&xA-5GXFg4+QG}kqC^YZ8UADthO*09a at 6#UxgA;pnx{`7j>RQV
zLt?oyC2{ulQ}5u0Fy0oF1fr4=Mw4*1Y0$H0doEi5s~gH$%(EqWr`1qbtM6PW-zTK@
zA_rwCWz3$vrd6XfOqvR at pAJ4N_b={6=F&Nv#%>|bGBF<>te`GrS`Oy?k|-AoN^K7X
z9<#Y8jt3|xR<e))9CpQDQ%1$;*I*G4KuRqu#g-QYWYdZLKJ{YK_1b4)xw1OSMzJmS
zGq_=J&uaSkm_g*!LH-(2>(<Jt2fOS$6hdgLsy<P^G$!n66)nqwCP>b2Ah-HXqx&gW
zwdaHHRoLfn`6Z1OSa;DdcmaM+11^$M+eYp05yne+mu$)x=4h{o4ca0dhOEy*8r@*Z
z<jCwd?2Cv&RXCz10l at 2tBgfWL=Sr)(J?YBB053U?*!=4IEut_bnmecOAhD1rN?upd
zj^lVxi>*dpUzKHt(K$lY$^jZ;DD)7aq3ZXaGoG{G3{jcanLJmof~U`~ShWXp`x-05
z=ML%Ez<0wER1(UP=wL5s??<>P_<*|n34nlNi2gja_Mcn^-(ArhjREfmc>XxVt?9DB
z4)49H8`FE3i40<{!4Aa}2#SdBujzY6x(Lz~LsCUNIH}u71i}$7B?Wvu-^N~(Z_AvQ
zaxc2M<e3I`wSnV*#nCEb%&T4kqepw|$=WQ_enpw2tGF8KvwU{`%Oz*co(<Z!L<&lB
z9og;6ND4J|psiwz9++%C9ZWbVKFoKTGx%Q?>iS;J1PBeTOnJN>tuitR&@lS|?7^&!
zB{EvleQDk-IkLR65?a%@f4GZ_`;VMHr(ePexOW>cg;bXtYZsvT6wxN8X)(!=Dr?Q_
z7kHnWQ0SdEU7>(3u%eC3xmz|;AgjCH61-GvSj at F#&0X1d(D+`tCTm0#y9E>RDwb?0
z544Og=Qn=-Bxcj4cKo$tR1M>B#QYb?s^WCU<G8V7mRzqlkPqW>^JV$<w$u&#*-88$
z&e`NtHaCgY2L~bFUJkGx1rZWLcG&?UDkxkj*A3hwAv`2XxWG<Wao2q&IFmK&MT^EH
z5=(mCz9;%HK6fn51j%feqR at q$DCUNN<y|k15l&zyxo at 81+Pd3OA_*Nr-O|;>lca>)
zz$Zsxaay!-?YvMeeF+=gv`2 at db4xLcxc0bL@aEI&g<AO4PTXbzO`&1S)fk83Yhv?Y
z(3Kym2+#TvfZI2>-2o?9I^a(yP($=Vjz2a;h=T<KACVktd8$M}_YnXAHsV?t at Z*`Z
zn#rb05X`{6CWxH0x-a3c*c2HjSma+i9{73Y!#_au(ZzEJXn;s1CruJrs6Oc4Z$JgM
zzzMS0A~5x_=xg!!qbcNIo&|pznjvB`rzO_^@);&~)KA`bhUM41qmV%pEhT@>Kt_8Y
zmq0{+h$<*4E2Lm(Cst at 2DwKd3hqn9_X;!)r66`(k1W(jpGP(3G$|<4CasoP?L>HQF
zltSyPBF<5^0(hu7Rgx?O2Dt*bC5KqBk4G-eQ_yH>!XA}Ciq83WJt7~QjZ=t{>@E5@
zA>j;)TC1`Q?9KR|G8#-2*%q^0{5p(ZCwvxCydSs4?yfkk6mDtqS6)g$7QJilw>D2>
zt>s$p+U6`<1XfO!sAetaG85FzWx=y5rp_2v%T&C>1M45mepPZcYq0m+R`ts68C6}-
z{d`*TD3*bWY&W at Nz_{}H=6>sBDxVTn%Z#Z^_3GMNxDERd<6_z$!KKNYu-Syoyo#g6
zReEDs#W~F9WjnVVREYgiY^K}Ia#Nkr?1#!kWv7zl?XeZ_Md@>yQPy$wPPM{78FN9L
zrEX)8*GP!e@!S_N-P$Yn85k*<nL}jgUik#pOUd|ZwvaCc^X1aTSX23+j0rPV15J{|
zN4qaX6y at C^bHE$+qK&chZnYh>SBWe-QDn`PurtEKdF787fy_kTzF=aMP#n|eU!p;6
zM3Osr--Xf=$&mh}bqjjQCAuE{9zSx)jMxyMMBxJ2uE{zLIJfwEfoF^}v6#rKUlH6)
z$%qojdQAqK(OBmCYvadjLh`0uk at WLqB3?n+m{z#;8Tf~yQ0NRYuy`o0L?VK-<Zp_W
z7t<58QU0w7mZ<G%Ae3obD_f<~f+$dXgq%^yb7>ofj9$(iX_NZe8yWaDsF$Mv8Z&;i
z*g;P2N|0po#H4-+$5y)PgG`pQWZ{o9P<JSdi*#$gL<0-b54gd&qci-`XDK<u4D8Zc
ze#G30w&n?BT{JBNHt-U2BQqjutid37=2PJXfNnSm^NY0E at B3{XD_u3ps_O}BPoj_V
z=G$gD7#XpkKY-gZEPh%Q_|u-JewJSsjkK^oMb!#)m0}9e74eYqL7*Xv7mUAPkNLbQ
zn?jFP3 at rMTlKh<;5)yIPnTTv32TvV at 3_>?7|6<S)ht*-NY#&J<A%_HbYYf(B=+mBN
zFW1#wE`bTX13g1tR0T8|(|X<LxCYuYhO(-c(RiLry$UF6KeGn~zXRqzPeu<6>0|K7
z&M#2OKCd)l<58dOZ80RrT2t*0B+IT$8Axp(T5UNQFmpUug*u(|LBDP$oUk=E^F0a1
zdajGxdIiayKEefTbiOYYT5X?g&%uCzHu3-0Qi1ZeRLF=Z3D8K$iqcu at +nAdeJO1WN
zUY{Ui(~A!;ddm^ezfyQyTDu`^QILtx(*+uZLkt^?k$ZR3A9FFyTADh0#Q*g+u=_==
z63&m}23?$MF?jGm0NE_Tvi=zByu*zutKYp|?USBUP~Ww=e7;xW__S!Bo+U(nNdrCp
z&vJ|1sRr48V4AtCxw$y=dUDz|SuE=59(q(Xj0Q|eTprdBZEPCAMV#9!4L_%pwW%lv
zK*B~&XfYMt*R+Z9qg{q=6m>F=0eHPNknXX4T`>*t7i$6(%*lnc;wVDNk;yH|%LyWr
z7!ctpYb*DA(`4{W>wbqI3LR;gk`v&jyV9&pxY=T{bg2+$@jva!9xZj`zfG?yifETu
zcAr|@1$may_ at 6fnbnOu)LC<_TRg%^xD`Ibgk`>$P-0q*y+L*#0i^Pf6Z?IZC+NiG2
z{wTrwk;?Y5dHs?VHDx-@!{%7Q+rvQ>?|nr4Zoj6>0RsV5K)jC#@CRg|{~mVWZCL(B
ze+D7=C+cr3K<}>kf04{v@}KVge~&isd+mSUJbd^A{2p)MFA8`|{!`9>i9YbZlzTs0
z`WG#|CI2b(uh;|s-Z6infd0`$#J8^er<A|PBKYre-lGxxMUwwX&cDSb`0tYby<PtQ
zLDFBb3jVKBTK<ESzhW2scPa1D3;v?B{~+c6i)HY;us@%IzsDwc-$MRHG;a^b-(ws6
zIn;k5|L$4%9=qT#a(hD>{uRmKpTNI+VZ1vY{zcbsw|}`I{)u}pe~(G=PaloHa39_x
zE4&|ce)rh;6ZNN>f8Ra-`^cT3{`a%b|CI9giS^&RsfqpH_uc<Q{(S;?pLqYGP2T at 9
Z4a-Y`y*a4>0l~k0$ln}NocQ1G{vT9_VwwN|

literal 0
HcmV?d00001

diff --git a/acqui/pdfformat/example.pdf b/acqui/pdfformat/example.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..83e25754bf81c756f6540e392e57c838fa9e8443
GIT binary patch
literal 33648
zcma&MQ;aTL)UCP8wr$(CZ5wadwr$(CZQFM3vUk}!-`_dubaJ|rzMGlray=Pi%rzI8
zqNq3>6Fn<5*>K5l&v4stJ~T5SBcZ*q6*Mm|gDk+#+{J>B<-d+HgSe%Q3&4p%+{VZS
zAPO+CHwEzXLp!@T0gP;+J#uO_r0TcX5&J$h&UFXq%|(@o2_YK*-GX+O_zNNnIvk)3
zU|BLhe&$EUp3^YE!)@ZjSaTna=WYwWyI<>_bBijHM(ggy;d+;SUz^`ADzEhq=Z`11
zvj+f>#(g6Ul!dNzfv)`d1t2#Df8QM38J!H=u02l--JHlfyT1ZC?MKIBSnm)!$4fnU
z<l35PH)pm2oxv7&_8*|_=gVK8)7`TdfJeW_K9g)FvZh472fcmoCT{PNpRbSUGEVeE
zyL03HTjAGC&~QE0%ht~Z%Zquv^KlsZ$T&Svg+-boVYZ?%w#6Z|ML!F%)T*M)>Y`K{
z at aFJU!_q2?(<+M-{kJMm-3q!>W~8yOVNt(Zh^oXXB<9Bi_ZnUzmU%~YY6Z!o_lT70
zA(bT$nspgnE8LKE(lhZM9B$`m|4{0jOCu2syXVG2n0Bwth0N`@%>|C6orQJJ73$x%
zIyfm at b0te{n=E!|e`V{JrKpDqUn&3L9=T-xxEa~Z#&%Z-6ulVkD8a1CZ3S9FWplHj
z>Tl0!_VGB~EpSGNEoh5q&P986rIae71(>D?xq}~cK1+lfe6*Ih>tCq_38snW-lu*>
zR<5>eO6E`-2mBGebG#sp^GmdY!=u_^%=$ZI;9 at +{)#1O8!5<U!SPg>~1zmzg^|XJV
zO at kn&fN>22Npk**&Yv0AY*1d|hx3gX;khtS=e*&QA|sz$VD-}i{izMqlpZi8Ria>9
zxs*WsmC9)1B9o-VCz706{T|UC9gUcnk9 at _a;E|?{NMnj#y-~4f)NB^NW^0MRf$@3M
zQ(I^w1+($4hH~r73q5z1mQFHt^fsnWmTZ$+F?}_yot!!f4Knv67nQw|MNsySdlg)j
zQz-Tzq0{O5(psx>ik<?cfIW6NZW;lKd+0vD{d&0Q%MF>m*SS_j+{o@!a{8W`sru~8
z+>&}ay_=9_2<T>JVbZ3;g?@2_vEXRobF>(IF@(&9UB=`{uR17N$NyNve8O7 at Ly5B)
ze=W);AR?d at fZols!3^KUrlL<wAoc_bb4%a at 6TOw-j?&27ZH@{aF<Tr7rFc=Js}4x0
z2Nw)8We3GkHl+ThlW|bUV3u at +F@-{GG9h$!no*Rb7lFse2c?JBBNSt?f&lqotFS0|
zfPW1V4VLXXAV7d`#~CADs?UyZ at U1kgbl4rj8vaq5bM+!p>%jD5aj9llRpLSo<0$Ql
z=MaY<#LlK at L36#6{P<^Dj;R~V-(|C}9tLl*AQ6?SFY+hw@@0|@ba-RVTR3$acxk$j
zIh0z2$zIJ|vGfu^RE>71++b0wefibdR4&c_^qgm(C%^dVjY2qFB%e0xQz?PM&tIU*
z@<G!wfD%~jrc;N9b!Q6OKp*48Y~78>-MX$lBmrK#qg7a>yS<W7-Ixh9hjzk at Ud4<j
zxDd5Lt2EUvmaB!)8ymeLvQ|a1g(`ywJUbUe0M5*sWHG*v$)9GNJIg*LcII8)x1w1o
z+OaXew$H}{EF|2OnDePvv<cdt#m at hr&Ks!RG9^o)LYO906YgC`$W6c3*w4Qj-#m-2
zZspiUq-oE_e3*wr$Y_%Qc&AqjGs at Opd#*{!^Of}4?lf53B1f#RcVZ4e4Cr2sG5SNU
z#HHAD<sqQned95_sjK_$GM|COWk+<qwhoy!)9zWpUohScL4LnMAQYY&6#?RVVJydw
zYg-WK$y&uE%dU?{+GSg};a at f1<P4<Cen8{9 at 4Dc-wUF9{(<69Beurlexh@~cM0tQU
zqn<)ngRRf;Ys0V0l}XGH=imz31VcEwNRheZ(82@<K!x?HP1J(xX?ZqWS44CX%Hyg$
zo)&h>$`ALFp5j9i%j+I$#1z#5PE2P3?WpVxxihxcPFUgump6MTQvr-(TX7pFK{fJD
zd#`4yRYLPk>UBB-d;!Cn&us;p*F6*bheC^Ru_+e()ghV1h0CMZ#Y!=jhk!cMQ14yw
zr-m at 07Xo#b(a(SWz7t-^&;UEr|1J0bRsZ7<(Eno$|5GrrF>?OT@&DCi`#=1H{r`u5
z<SI{F?J^?nUeUDBZ{#j61C!kKMuKdXvbi8N$q=NpEZ97JW`-YMvEP*G)@5SN<~X~E
zGZy(W_0wt=P^NKu at qpn*`~KJn^fn7T$N0?~%v!RX^X8TYt+exPy;e7$U%#CAxoI9<
zr*Z$imS25Fy!z|ybBY<CTFu>oC6D={C0zo9F*Hyeb)#Y`jU+6R5%)*8>y#lU$Ana9
zA at bKO!L7ElmEWfQ)QiR4o_Eru4U><HGSBdJgeOr0lb;0#sT?Z^qDpW8tx!wY93S~r
zYSbHYP9 at dq*YFu=?9P3yAXvl<J~1E<eQ{6>TC@;^;TVxpU|Hi^l^`9a71_T7369~Z
zzty52M<Z&MD0cFPktv?fvnfkfDS5#DD!ztIA2Dx+<MDo$PUi45WaaLYOpA(G<~g(!
z-tJJR20O<(X9F0tj|IH3V_V2Xa&HU^S0H*1QvZ<FaS4pB1w8W%4>;b)iY}ug*A}d`
z-Znm4M8vUWIC3wyo{UvC7mck2f}0e|GQPAf15cW0fKAd*2BIgIQP07hjk$*<KUBi5
z!Q{wDIzc1X!fA!uRz02^$@#8YuM~t{nuIeZAylAx>6>eJQv<~E;ragslmEH@|3QP5
zjqCrWg!BKPgzNu<lK-7Tm<XAfm^c~#pP6H~$I?S}Je5&b?R9T2eY?8EPRcjCI&H;D
zimsB3lxU?3k`7~JDIg@&v=Ci8VWtR;Q6AS6rw5WHVT34vFU$jTyisZgQ<yM2)zi`J
zfi!Ls<1lhuUY412(uaxZ2+`j&#<EXkl at 1pFY&Y+9ef!e8`f{aGMXg*um%F at 5TLons
zJP}Hc1fJ?!=VR>S-|k8*;s=!Q#$La#^vAOBD#X1EB$A_r%~9IWM7F<hM0Zqz`bLN6
z*#bmX4+kRi7g`~=qep{%!CmVo43gC%Q0)8gpALae6&OpfCC_1<vVY%^fFu9lr#~h8
zTfAHQ?oR|5HzF0Or}4HI-R{@rTP(aKC<$q8FSb}cJ>4 at v7ch_)++*St<=_i8$c36j
zvjo|gxSulX>4kL}&^Ot at m|+4ROhT$6%OOW#vFha<m~v*(YAu_1^65MzEYnA`bCb_f
zeq0F#ikP&}Xz3|o(^E9WscMglzj6dd1WrV16%y*KV|(sC9VnF1VI2FtkGZ;TkHf#o
zwF{*|BIjBz*f%2f1$i#wFj0j_EpUYG{(b>|;EErSh4fFnS?@Te3I)vx`9smg-{*Jx
z1JQ*H#VY6dw-sbzZ3Xj!I(?CQ11IMagw)07zBM8U1sVaDpMP|IEK4H5^hId7U2vY{
zo=7*N(~_nWIAxtBGa}A;y`bwMrc at T@ecQcy?)njZL3a^u*(@+^!#O`8p9#KkmiE6`
zo-X}bQ28Rz3uoI?-{|?LunfPp7M1>9AYjt+rdO(UdQV^p+xZ|N=S$!mTnsO`H^u9e
zu-0E)TNpHZso9)FolI|~(JSfbWM!js&?{pXJ;Pj~udJ!g*HbgVq^F@`pdUj#9DDj1
zlr58M)0q_u)h}Ct=8<5caZJ-WQY8{7+`Ttdr7g7VKm_z{|G5tVElA^WL{`ozlyWzw
z4&Zu%k|hhR+!-1vYC)u<rAo^JP~BT4)8>xqRdW;d)l2D9kkvK3Iia6DY7N0c^%F=-
z&SnnFDFcs}o{CPt9Aut)pe*oMveKquAYe;JElLF=6^TcXL7y}xcQ8h2g`l!Ca7rc2
z$yUob1fKQ<irT1|J14K-8fYl at kQyasYocq<NRqQgqiBmOV;9Ovc$X%RHnYU%qb-Jc
zOt2CnJnimg{{1MphF#}nd6XPNmj*p46TR!3&RlpL6m8sD$$?a=vaPmXU4C&)<s<?X
z)yjH at 3HmpovDb^TlpbaQd}x3e+xExX+)UfF5<t$s?EZ541g?dAl9^1tJfq3tfH}%t
zxU!kOzjr0q!rMnrG!}jz<YKO)-cE*F-Nl1Kx<Cx~3Iy5**VI3D)n1!D9Qj>q0~+(k
z?T^B at -`0JvIa&)4a^!_tZe>ddyN7|WG-nIF&>^e28~ymIkaO9YlO0<8G-H;nHMcpk
zkKts%4lM89c6!F%p9dENJZLRhP5!%&6Rd8zD!6)+4&)ZA$$^Lz#D_pS#mg69LaLUD
zm<i-G1m!_A2Gs=nW|>yzghH3BlT(k6ZeLCmNJ+9$D7F;rkC(ZSB~YYN20rmwis>Q6
zA_jO7)}@g!2BfrcWckkfHIF4Tw)mP0Q?aE{<hfBO)LVsg>5%Mfi&^DI*&eD at P-z+c
zRZn;^JAG~~Do+J5MKbMm(Zt<op}L1`b8d(*<h~B~KW1AAD;LicDXxqISI2XMuBr<G
zB7-uDx%sOZgwfkP+iMfH)m_}yOK?&EMJJzvcNEiOdHX2X2wh=}1*zPT=~@s`q(90q
zqQ_&Qck&h>+#aHaoWaUUwz`zA#td1*VP>R3%8!OB*zskzgw%?T+BI`Z%L}9nS~XtZ
zS6`J1QcQt1RC-J)3rb~G&RV*ESb+v06O0I_re&!gmCJc4>yyJvLy)gZe2cG*bmdus
z?|J#uZ`@1lOwb#k-if^Fg)%cOpgir(?TS)M?a5XZOc^q#)686)wzIILb>&e+7aqu<
zM8z~K8$CC#%OADuE`p_CS+Zu&GLxf(&mI_a+gKiw0<k>h&V<9 at u#f$2eOu^xtcGoG
zV#!7eX0R2e-WJs;(7w*I>gJq at GnC`o-1|fswQ%iq-I);{xaXxHsbHlkQ-Cdni=d<}
z*+^Yr_r2wXEV51>U<a1I&6$iDcX45hf0{|bP|gfN4Sk@?7%{&GC;{*w at k0I_G9WHK
z{M~jQ<b82doK7GTf1^<}<AB|d&!uEp%R+?kZDcV|#G(IF at Gw+ekpt}n*y}N}(bw6C
z*#`q=nRDXF!mezBhudH|Q(>+Ocs(Uv3CKNbk0rslh&TS*nAeE(?s;w#KI0SUxxJo}
z3hv^m`Ed#9M#U)CQtcHyRa$m7%ovMYy`+?c2vk-RXO5_d#HI-3NHJujSSn=$b^n6A
zn87Pe-=ZJkUPb?x)0(0&h!ux#@8=Qi_-e&oP|f>~O)sNBO at e9)$cFkgXXugff{oA*
znddBJ at 2?DW>sBZAp0R(ot0MsU%h}fAFd8_Gzt+`o at dlNnd`Bo(-fOQh;bRmd2KBd{
zODO+3m4Q49X<oLT`S?x%e1-TQgQ=yYA-0K8l#V4u|6+7ylRK)m)D=(aC&=i_LoJ-S
zuqPfL0RKK8qUPOtU(DuxYq^5SdLbn0($qu3NUjKUQ(u)%BT-Bp_T4F_f at H$b_gd{m
z)OOGO-rhFq*PZ=quWF{HpuuWEIOf`6>0b8Vpd_*AwforK=hgIoEEUu&p4-UahH0v2
zKBm}E=-hq%Oz1LhKx;eR>0gmwp_z#ZymYlXw(mj$A;EhzUQ6OIT|5|mNfn-W_vG>j
zMMWCsN{9s>Wc-LfroWhe$pjQsqVlUBRouEU=+xpr?lTBzemeZO{AcFJzcT<@z@=3>
zs~g5%i#SI+G5MT6WS}`YkU$iH at fuUpYp*2&8&a7{YFq-!2W!A*$DZhhs`Q05NBUmh
z?HK;=)9w1d?aO%|fn+jAY<BK)J{L)WUI>1Vz1fuS`Tig0zn{+g2Z@)LiNn4)aW+-8
zyDlM9#AR(buQ=!RF>^U0+zD;Oy%i7KHO*08$yR7Ov10<*k=vM at _yaxzSeyhMxPPtV
zA?m;+173((RLjDEH?Rhpfn<$=c+oT9aUmU8A5-k}rV^xa?a(~6%YB>qgM5k<f+oQB
z$@0a|l8u{INw9sHWa40WfzPajK;=bk62m4^qoSavkpGURMj_snraOU;*y#Gekk$~3
zcA^X^(F+5{(heSiLDf!G#w?bp5-4_3dV6~L?ETh at 21K2fzpJ^Mieaj+yOUmH;!RL6
zFdm)oI%8j3b~!WDl#|4`*PpCh#DBtq%Q&g3L#9TQ6C(G61&)M-p0rA>Djd9txJrh-
zc1^e+P~%_kH%3fy at g{4rh){=W?<fl|7HlGtg&olkL{i{33zb)^>rfjKkRCg5nK-B;
zutc$1{!+95Al*x-LR#c|XW-V{BJBgy?<55UfK4aWGD8Rdo1;9rWO|B!L1p2}FtDW=
zec*+A_q-RmO6n$l<z>OntRV(HDtBB~eW;f*D4^1BzsnO`T${+#qjO^WnQgn}U9n-t
z4oqIN&Lktqo2DMDkHgi}NFYkuzj~?{**95uMNdE=pcYn<o-~p7nFx%H>xDmjIrWa@
zXQ5%q at Z?NhKdI&~Uet(*a&+l>)4X3buFHrTI4q at xON}W~W(!!A*xiUV4h#^F0z_u1
zwWVxqTMyUFGfo{XoaL*BjOrA{pM~^n0S=BmOGD%Wb(4aba)JCZpflXrWS@@N*~R&=
zqSal}Y(A$1?-dN}ye&j*AEw!=tD5dGY>3eMjSL>{#=L~g7gjWT?V2At?Qg&Seh)n>
z*c-&=L)U-LGy(FpaO7v9szB5Q^I;ayO9jh)Rb^aGC1yp-$2nz!9pi?T5JiP>)q<7>
zO$K2GtA&UpKhJ5XmAr!)z$dqI3UQN)|FQC#5r)lVEK{S;=#VY+sRw8-=e<15Jh$|~
z*4_ at Px)0rz at nm2dX6p)$KOR}?&(_{mRIj7$zCPEcM&Evq!&SqJRf_~BZi#)*I{j;c
z_&95&ubZxLJ?4asE}yr}=5H?^Gm`dutC>c@=WMFHdK6&`+A9hD2}N8o75YVY+E;qH
zQ+sn-ZKWnw?W_V;!!?Lx(9o|Y6)vr2R-D9wxg&t7!$?Sn(WfB<OPZ^}hPfwzsmDl4
zhcTcb4MiO~JDPr9e~3)DokBQv_W5H_b}0ne0UY?pd}hFZrXx>Cf6jw0*pw04?n~m;
zmBVxMJ1e_`O4R%1w4YL3q%Mk$J=S12(%k+>xw8O8Z7$3;hrXT-vu4s}l at p#jVi3tT
z(k?#95S6D`6J^xD7kBhm0X07^FFwh<=q-}ck1?ve$U_9RT?N#gl|cILR^tBseDwT;
z@>Lm?ApY=uv2~G%(1nruSgesJ>YcI=eY9S}AA{_y_|5Q1Hsw0*@J6YJK8mJTPAQ3C
z)Gh3VfuN+S8}lR&fX0tIilW4eINC^Q7jxJ{32O+A#^{eTic$O)u7nE~Ej8(JPv+|C
zB9g+oNdAY~n#jnLBi>)lm;6IHWk=r0HcP)MG~D8oKf-CexCLlukaAB>sg1?!eeqpM
zxafs4Fz$<f)xasNh!=^hrGLA4M>mvUL0vB{iGbM**Yvt*7J?bjLT=8=Fa>8IXCf!$
zDq85Ug$_T_4<&Eq!Y&P7)LlGYtV_E(RYplM=lB3@`^S$c3ZX%KO^ib<GKE;q3Uk%t
zNi$^tlgfp%Fk1Q*WubC<(OStb3w{r^x|unuH-<ds(FPTT2|GGYth_j~!Z6ktFRCSO
z)lfCq+R6l`Hg2ZJP_!Zvt>diQ#n1o6syTw1T3R_;8cePJ2`y50(vSv5Pt$Pk`Q<65
zoFC=M*?KZJcn|#FcS;OTR0t-oi}z_R<Zr73w?+?SG`6O!hT#6|&`_A6El9Ry4u9os
zE>+uICkwypyYuhONduYp`{hf|sV$eXhJpRh*BrQ~dDGE-8 at z(EbMSN<!)8Z&F-dn{
z-Bce#r`tIEwIp3)YU>N|r02MBr at T4i<0FP|jv0*kT5V`DA==Y9=PQUN*J&{W&5zvs
zMmEwEA-emD+;!4o)#--J^@!=X8O|8*X+>jpaeHOPaF@;Sm%7}n3*5ijL20-!Nzdx$
z086c4F*-`ki;=mnFV8|vH})(7EkHvT8&j{fK5V3oSm7GT30Vy-<4mH1WRLJomCiI3
zi}(f1JX8JOw1*QM2Q-!jR&`npu|^SVAf1%D`Zx2bHO<L3(<P(Wie8v3FDqu}Glq+E
zx^46Ob<|W_$eC)bme=R-%e6JrTl>rUzkUgw1^qW;c{NGTYr<U36}Cr17Va$rwZmT+
z(OEQ2e08?<+Pagvd7RQFiy;gsF3xzuLqvCQxaS$jb1QCEQmyFQ_g1y?+b0b?cy6^v
zb|pw`BPEVR7<P)fnob8Mbu#qE<=QRiEoFM;{XAxa=t5^pNbpeHb6eIF?DF;(-=QD^
z#{;DQFr5?B;CnU#LE at +(94+Jw7bJ)+k;<o0b4hynY}D!`w}}nc_bWU|pCr$D%h35+
z`E|9kW9*aZe+rl1Bq%=ky-r-3K1QH?5_(2{Csou=I_=Kpbp;M<r8oBo-p|*_wgmTx
z>Y=I&>%q<;_FK$@@=dtC9}&t4SA;4i5Q$K;KEKRiH!KFYMG_DWt%ZE3BC><tTo9XG
z*L^kOy=Wt#Y9^zQM<_EO=fFD&Sp?E5Xkj%P6{%i7)XpB4&;LjlXt_W^0VIW(?k1c1
z`u4q6KAN7{X!@tS_N5chWDVc1fDsNs*T^lP%jks-3;)n~3AvrameFECsDKR+LFlxp
z?7^g#Ts~FlrLwPaq_oB}D3fnZPj6GCh#lPkM3ilH9Pb~nrK+^_b$8Th?)SEvsl4u+
zwEO$runZR+xF*6ePFLzXQ2uh^E3W}48Mny4h548+&@UtAsw`Wv_gRq37u{#VD@*xc
z)Y%Q92M*~UsSq(x4R$zAW!^j@#maz~4wehnMA7&1U0I`N%=9LRwNljN4SmwqP?pa$
z*><d|mu+LTbSc?d&x40kAT%;8O6Z)-nnN3wXJZyy9Jx6fGkjLsTvv8<9^E;cNZu**
z<ge at Ic&h^cjdpIdnB}6?%+(~t$C;+mqMQM?opB_#CJ@;M3-{xN`s<;l4gGqGd5 at k>
z-l=_a76U~(;8769!lV_*Hu1&~(v3AN)u^;oL*8Z0$rr)!HVntbi@~y4!P^5hoqan+
zXJ*-4Q`d{Vbe*BT^c=hyR+5{%z<}!-roqs<rgWodP7ht{3Way{BM7L+wxb=r?**Bl
zP)*#K{A5RDMn6T3k)vTe{~Jj7#~$&V>LK16=FfmCBSXAJ|DtI&y~J$kbme=opr++1
zY7i%Y!!(3%`d^3vFQ=0vB~F))N<3Pk7n;e>LBG%^;mKM5qt|C|BdzcIb at t|8H|Te`
zw9fuCu+kyLP#90Mv&z)i at 3)?>`}x?KthbNe^HxYFi1%S(Id%tKg at ajnj+U0TUi){c
z)o87kIiB_vf25qKx{I#e($>eRyZ)`%bN07PJ9*i}Y#eR^>f at rOfS9JK_*Zejca;6V
z2cpZH4Lf$rJF8 at i%O$HE?OO4HY9f+382LPm9%6K|WH~gkp9*xEt&B9$mW*ZYTzMZX
zRj%A(KrS^L8cl~3MovLV4n~efF79;lgXSKUf*mx4flEcNJa7JZ&n9xaP9YY%4eGXN
z5egfy{nEplK1dmNtY>24#0S16v{%MPP(%>NCXal1(;G at x(YDpqaN)fKvsl&kQXnT!
zwD*X_d3O)3AR2C*Vc9vSKsc9xAKRuE<nQ_C+w7VB*ZET(jt0S?w|}_5zL?sMLH$)l
z)i46t?OC|JO|g%4|9c%H)Ps!ct{LFHYd|uf<{9BVa;$re=lJ9a>xx;NnKKw2XGZgH
z!=GIymtx(VL>b>$aH<MWs7rchYI$SVj~pYzm<1Z1nqDm*ud6>#FCNk|`<?a<<=9K=
zL6*>7(A#?Qz(2=5%CZgx7Uv_u2zeWtsx66OB4PsFSDV%f1V4|DdV2G}?{^2U`M1R5
z_`f%e-T$~>w#Q%fKR#bx`ukg6$z=1QNAqOJ4ZNs4zu(!c^TvT^RL&{hx!%y#&S|9g
zmZCDDAGFqw=$i(5SA6rm$7W%WG)NH-(7n<;`L8^8hEc38&Ch48?8^2^z)=@V!GYt@
zRq51 at thko|oqnzWSNrGaRb45Ww#AGaN~9>`pQ*1hpQQX-jL{55OB-f<4yPofQ?BPG
z!^_fB{GOZER?ZnSU5lLAcEr^+KFZOoC)lc}2EK~-_IWl9t2)bbRT2RPi~VN)onGU>
z&XS$>!bbCkii^5`-C0r6>$2<|d>xFs#}`pGmy}ljdb*oCA+NB-w}Qm0DZhRSuZPs|
z(4wQ9ogOjV=+wcpOv5i$>98^z%a*zf>0>T-Rol4&&B?w%C}DO>SCX)E<xbe%#2E6P
z55aGx8JIM+J2P1Rk;<2&I}%ek=ENPzG4&R;S9sMfUN+SV+kg}jJuD-lIVv*OyrS{(
zp}1VhWuzMblB=;99rnq#m7%e}EPIIeJ~KZdaDJW*uBL!xeAXVi#Lq^=A4Zdc48DrK
z$Lhpl!Doqsm#rjceH-LF1h(6sijStg$8F1PMeh#y@)$fL5?U#u&tXSIB1RJ|o2n{k
zblRqjJXQC|Zqq{>b_nZ3MwH$G at 3vajsoq5Q*rN7RS=i9TsGb<d59*r`6WxEF#k7i-
zwY!YruNOvV&9V{QU%I%Wi`UJ}`<~Fu7+7!szE*hBwppQT<t`Vt*|F_dRL<6{>tyvg
z`u#>8-*qR-PNNKVUvKA7Uk81+aw(w_{d~h@#wxa+94{#?`{_PJo1EsIEB4$CX3vF{
z=xyX+fmGpwYb=XpDm_3fO7K^;Rm0&D_w)_MjeTfZqS2<At-1}mO%^Wb`Q_^(s0jL3
zn84N1)1;~+7xFknnMG`7?U!^+$uz5-;8txvluN<m6hkhqaIXWvIG2NjneJOpD-eX?
z!Z1x}rE}k at rX(3RZoc9*<rMMWWSwf}Z8&zUbD1aGxF at 5XPjy4H?w(%I_JjIl?b8nN
zMq>l6h2Dr43vic`5F8Uo^26PpMG$9SOH{d1t0f|^W~WpZjd at vDo`_6;S1}LRdj~7m
zaUk_;m#?(B4v#s78}#Fyv5IzWRGz)&3`O-(g?D&KgOUY4>DcOsk=mC!jA?9?7$V<V
zJoI}goyHAE3l^$!JR7VejWZ|iiTU9(O|?Ttg>XUi=819xkBrF&tIit>2v(B&&l~Yk
zI9SZa$8jpqqKDC_Fyg%cgxEy)<yYR+8FS^2$MUTRW^`<)YvsIrd}%7`b$MVr&65&o
z<hSuhEC#^Yx{qW&9PaZH2u`m+&b=IN3B8C#De%YpKzani!%^0ZINeUbT)|v9G%N{R
z8Ixel4*0E3LT8(msXBj<lx7%|q#Me+Wfeh*DGj}#>hwX1rn3U)=U<<PhJYS<a+IxB
zp1P9u_ at J3I#52-0p!K7D{qWg at Sa9=qxPvn1wK(OSc|9MGcljuoJlo#;76Ti~nA%Tt
zeYV^A+dJ-?%gKw5e5d&W#j=WKU-_<kK5^Fb`D0xT?ALX!!;Z7}AwyH=4c<Qr_kAoY
zGw>XKWFF8|!gdq37(lWEyd^fmp_LACnTIn%2Wa8At#e72BcGqHtXiWs=+N<KhAJd!
zv*@~1N7nIay0k^3GAgmCRffehX@?q#dDU6<TnZv+r0oe=LJ)TaUs~nQj8Z60r97KG
zF&^koEL}VUHHjWNM|v_$@@O;=o78cBUS96;vd2{g{yd%|7km at k5Vjl6Bwlamx$pKx
z?;z&d at 2BE!+;i6b<!?X at gPzUbkk-$CiP%(c65KdIDD<`;nY#|aeM)Hpr(?s;W9>2g
z`(x2zN7xOwk+5pz5|&dkyLscY<heV!teX1>cIKYr?_woduB=nf?b|bdLDIVJ^A>=R
zjM;o(?)wE4fk<$oBb7NdB+CGUwn$qwgiUiBd7_!C)fmGC=Nt;{J at 0V~x@~1v4$ndV
z!kBJm=U5}%&9*cC^%g_dzHmc7(Yombv-59AH~WBQvc|;QA;SODjnYuh!1a@#``LDV
z;3F~gVNrnc6%&^Q-YG|57R4>=q2Z<=78c?z(S|qY+kzcwhMr{+061KwH&0_}o<4C|
zirCja9imS!pVp>CH!gLkxf3SRG|^*%TjNyXy(V}@={Govw)TF`fwA^td2hjjoCa$J
z%7lWXA=!lu*fa%!IY>;1 at VkpZM80^+Z_ZJi_t#@-Spi<z at 2lZ`J;Led^a`RayAq#l
z3VioiK1*hxAQ%k$QtR&0=k$C%Q=cK3PWsyUP+DyEo_)x5UytVa`CCgoefQls8 at tKz
zlilx1!)Go at f3$bJ_vZ(-Fg%66*tPyyiiQJo2b~lj9w&FBVz8 at +wq(@LmWE0_iitXp
zp1ifuxCV7R`l5}8p>e{7=~n5smCuTVMko|@%<v!9<AYB%tzA(p)ZWT at b8SP)?gY9*
zms^l=4v$^HkHl%&$d{EB)#?1ExHCK8V*m)Y`QZ2sq^HbOVV!2b7WaMXbRw?GRMPG`
z+H6f#V<Wmv+)csR-skOR#(@(B=G`4_60p9X%lj(WJedIt>)S^$awW&@6q?5wz~A}K
z at 0Zt(h}7eB#Q{aUf7%y*E(#6^FXZYu`2Y~Z!<D+sTQ2Z<4-haFR49{X8IvQk#AYIw
zRg>e}s)+)TEL1QZWF#Ph<`(3#TO=?}0+``F^Z{FgAiEGK27k7IvK7%H5~OVUk;dYV
z{SPImO>EA!KdSs at FSq~rSpc8j3a4;BJFwN2SZ|Y7TqS^7eL3>5FCbpK>+J@$ftd!r
z9#HGDQ9pZ0^qQu(7!Z%@OFf`Fd##_lJu$|3qHf8(a$T66mr^oZOb=8YJ;C%OZ*HOy
zLq`%JLxYjiv>cW&nq`1Ppu2<!O>_ZH$^e``rD<`b8y$QaHdw6(jMHHAWfZNuV9UI0
z#g8x at +qyEyV`{5Pyl1$YjW#CRQI#Z`Gh`{b6yu-$yJj}DjSQMQS=-IUn<_m%Cc8i1
zN7=nFUg&3Q>nWQj;++63 at Avurobot&9%o?ti at kk=%!`4%+n}2Y2%JvK(XlXG`F8F4
zOg{&ueBz5*_+dxcry`}#8D}`1E$i62`XP(vW(^}Yi!rB_m^f;ac*CCXVfMLqMsCO+
z>{?CEOXov~TmuK>M&R3ePHmwav^i**f9Jzp!Q4gGXgVgfq-)%3Sr)xpQy6jlW?VKz
zE;KV^lgZKOsj3RlT6HylHmVG!kegb_lD$mQm at Ir|JT at rLV+K?;v9Y~2JXLLNz04Tn
z)_^6v$Ap-e^VWjo;I3C1M6Bd4HQTc4`YqMoCyzE2$_Tbs`1+fT_OAMUzn?GY+-<4$
z??wc_V7}431w1`)T+~`5imQj<B|OwvxAYGV`8T{e7Akkxy52sU_df^oFoHwF#WnaB
z^z_%B2jDy>-=c<w(2iu%;uvUXb=l?h>$exQH8;8n?TmV;80x9w>~ifv;%5zqUwxM;
zuxqPcuV<^J`7*Ap^+f26QHa`xL)@|Nda-+ghtrfuNwg9piN{Y&9>_B1an)QPT*h5;
z=9ny3PGyxXW%IR_-Si4~E{vGNRp`kPTP3Kke?t)%)NK9Sa`1Hxe6DQN^?s8|dmr`c
z-g{-zpVk41NAqL?+?%lw4m|pCpGm(7KKBFm`MRx_ll%CbcXNwzamBX{?;WVztw3w2
zBp-dsv0XXBd3PZWx_>>5I7B&{8O`$82^gK_PTd{@GErueGVjcMCVf_A<+JCr8M3%o
z^r+IuRk5kv+31vx%(NrWhyZ3Y*}12 at EE?n4G_!Jorc*uHXgxM-28;&GD8i9xnI at +l
z?-^W1d2Cl at S`LFVIBdO!#n8RFTLzT_*QnVS>xz`FposFeMBsL{Z1i;e&WB?J@;QW=
z6voal5~&oWw}x=5U*I3vk$q*7oXe&vN at a^>W`r?`n>EudrY@<QXx=k(n|%0NMCl|V
zdKZI7We~FY9FEa)*0SH^adyqrj~9M4L_52VyR5Q#5VHo1D9K#gvNPDm)5lM}=*fvk
z*H}4q7)CVUG9nOHRNEB#`z9vlls4%b`rFA{6!02~I;^C9Vy`hbh6WPEEAO!H_WQ(Z
zCS8^}(oR<=B{aP%F$zcRcTbTh9Q3)T1RXzHwYA21pA}Qiz92H`ATV}&vbj<)5ZCXL
z!3lEFr-l2%VfV0`Xw<G};0_hkqt)ea`pRUug20pf#TWzN%a&9Um;7Co`m2YJ+CGBb
zvNGT;oF$_T75Z!X%SkY_CbB%U%rV+uX)4*}wJT1v>1hJbAN`dv@~5HEmo+azX*p|$
zmUN|~a2Dm5OD)DcuX?HL+^wKiT@}5&5Z at nEYzo^Yw(CxkG**)uScRVRyfQd0TG3|{
zjbUoQ#AF>hG>k2_-u)F#VT<TW*dW?Q?JrO_mN%Yswz=eGvDQ%YS=%Ki6ySunoX2`4
zo&fF8)5RiPd_+F at QF<#drD#t&yY;ejM(U)rLnryMWbq0uE;PN8rqe6y%T+FZ!KxzZ
z(vzji!v<+<`SOQgYFpx?j3!O!iWFL+nsvt;%!cTf=PGrSvgbbus6pY9#=5w;3V|Y$
zpa8KxMq4p{RPh{mq6`ZBDwFd$@epY2nUVz$i=glS0=dH4Qn}^d^U}CA3veC|lX0iQ
z`_AN!6(rnl;lm0iQQf!7$9_rv+1HOoOiBGuR<7lOo?J++IU=XW at 8!`0ouIHq_ym^3
zDJ<?%QG>IF0Nsf5I7^fT3HCX_mTEd1o6A|U*<A{rss+6g{(|lleBR{xt|PfY`I=kl
z&_<SOhl{85KU}%mOWbuu*@)obiN#t73`WJjqCu1854A<apfM)d`GqTibD+&nPaV{U
z4hI}b3crWE`_XcN$7%vyt^Gtn2IUg*l%c}bkVYg!FkOq}PgqZ+hrJazz7XG-_pHyr
zHTz?a;x;98wiZgU*F!RLxn2ViP|Q(d8TT1XMmcO&@Pfxxi7aK`sQ)ehe??K2gZ&YY
zminONxyTC<H!doBb9quo at k{x~nRb?(vc17<&t=;j>;;#pm1wlXU#YNovhTMZ3Z0bc
zFJ!B<_q6zRe=N8R<gHghLUI|@6koIkEN5vz6 at kDqD~;OK&DC~Wa_Ys+)k}p37TV^j
zDOV?WFBL%^Q)+P81Pva6AAvLD19BIYOFf)cs;b!0I-c=DJRRa9 at m<^9O-gYz+)OHQ
z+?Ts<t`09<IPxyX?(KZKK7BZh3~wLYo;5j6yB$IHd%Hh9INWg`=-mwdom&1>id9Vw
zReh*pLN_Zq9)GOrpdnUv)5_JaTq;=?%Q#IjJC=#pK|YG<%Fb2>s_mDDsr}19suo}E
z;6$fE#u&%lyx8V!o$>N%6)q_wHQPRQ8P1U}ctSNEH?WCX{5HePmgICP4Nrv)-AD}2
z;71QeC>k at 5(2`yG0qtf!RLIP5hBtGi(ooA4Fc$!*nk#Oj;5rKMdCFnIWZ2H{H4$_a
z`g5b`ChrbZJ~n<XU{t%!@b_K({V1wQvdH7pP5FLWPWAO)Pwgd4s{c*xanBRjSjzGl
zA~V-ww&I|@@v^XG^t6&`r|Gfrdwy_g at 3z76JkK<L&I-5b>@G*&-PfRy&`5v3s-oe;
zwpV)YNl)u*bULdl5U)NH7lC-75cqJbHAc`-2b`>;0jA)rrEb2vvAxhwPwB5MEzWK4
zlz6HUL++CnK>Z at Y_zEJ*usI?^%e0mY57vUprRC_mhl`_(Wl5PFWo08Y#P(#<Pn_B{
z*dC);WKQ6~@%F412WUx=l_X<g694;-=hC1JlV%$MQm$A%_;-d?bilNf-_Gg^gP0M%
zfOPyK?0^&4T&?ZBdLSP}jKV}f!{u=7(e(E?^LSZUdFb|U&@oPjA%gpPapbq|Xe_>k
zKgoF?%HK28BJ8J<rqV3C3x4&0_%{bTBGD_S#&tZWWbc{R%=ip0kv at uk%KYl5cx?0t
z7-JYoo578sk)Udrw?n04m$)K5!6gGNE&kGZZ`xZ2{Pc8;nY@<w9V7SPZ0BxUtwE{S
zy9NivzXMV-nFkj)-d36s0><HQ##22t1rTPOu6_dUm(mI>w7jWxRb01Woi(MP&2&C)
zeDEXXjt3i!fsy9zs%R}wa(pX0o&A=H*N_rbP1<g5YA~@9YpnwOnz066hUNW*-F1%c
ztlkIU|K7%mv#U%D<j58H?~X`xvV7RL3E<D^#0%|S=MliBh=U>S+ZB9mpGB)va-T=r
z`&ZJIa(OcHHRGce<x71K2GuVytXwqz>gom at xxBxJ<}KbV0EknHluJ`6OYfIVO4Fs^
zhnO~n%kAJ%8)hEmh>xi^^2#0Mu*Yha)s0(?t5+See<gC!yf8n#wlo4=E^*mi+Ygp=
z`0qAb2@&Z9IKAI;8&OnTTelT%bbng`E3?tGsu|g5YPb7}>!~Od^Sd6C`pUaAkz`i_
z0vq0 at SHkH$H(R0Wd)=m^D^b8o67U4_ZI9fwf}ee`1f-6@)d-g=Iii#(4#|vQFK><q
zEq}zh&@-M}+H`W!4Q&w}ZfYFV2%{LuWnpk<dDY4*U?(XtD!K>4CC={LH}M7MZO?8|
z4i%=SaSa(5NaTI)?u^D>TX%LhV0_N*9?ud4>o at iLEA>(7Vb($a<!i1Q=JfmqcBx|m
zuZdi)bl*01$$$UES8~Jk`%2&;-ff{iwC{Q8tU|uYVGDqy89?)TUz+zz8fE)^Woc8f
zLYeAA|E^rWvu57*)W}1<J-fKC`#k1&=?~09n}Y(=Vj|u76p9h97!V2m5?BE#cs^LF
zDfYQYe&^l=3W|s10vDQHaUDni3y at QG<EsX4nG6{nSOd57$*ngSB`onJSAD~7z=~X;
z*Ii1ojV!e(&w_}<xczmkigksfy_)#~y9{N;Q_&(DVHgy22tj*2DUC88d at w`PN7WCj
zj6_(zLIzdB0TFLMP&0e24;Q*94b!YhkJ5|S3xqC}W#}^A>G}i}0jKIJ3f}<3?Me&D
zfIE$Fc-Yb?k_r7NiKmV_W~LwP1;)3+;x2%V3vmyNB!{?d<1-?`#@Vy=8It5AS+itZ
zn^&PjlLiw<TShBECvJ>ti~>Q!psrJgtb}ZD0uJBtaie*N_M7w{oL`PMYSgv2oH?MU
z)*QVOLp`c-#=xm#Et#7?|K~VgYs<u4xU}m~f}m at ct<$M1e`$(YewG%SOOC%4;yR+X
z-ND-bcn_C2b<j@`86$CCxo}_76bw6~)6!RGBjdNIX!_c_qo^*`$~O*(@;lAmrkLkj
zF=oy3`LXd$`j_EI69(^su{nanp8F$5edMO8<2RoxsQ={)*mFA*$}rjE(|3wL<DW-D
zpzvVqHk-6lw{te+;b~{8X17|*ATnm0&xqU$as6<Ki#ttO%+6_nlrYeTSkeTomAG;t
zY!+kel+};mVnu9c<+;O$a9e1-bYy%?hxQO3$Vq^5#L$NWY{}A>PaY%RSy3)oA?2V)
z|JA-6#E(Zg&kAf9xF!afnpFA#SLGki6nSu>cFuAFcXB(!o#)DTW;%0<%Nu(9BPmo4
z<iT~O9aoqpOygYUlxL`DOV&d#44yAi%06Ddq*&QvR?&znJAz9V&dDACFk2)}wn&oA
znLBpy<dl&$dExdH39}FjN at E%242EGV$<c1m-)KbQ5yLAFm!PU;;YULD7mkk`m at 7mu
z702)VzJm<+x`69-^s*&<J~wl{c&!a4V;2#&31$P#VXF)!a~m&tsQ{h2*~!)Q{>C1I
zOxoKFs!diGzrBC<dmaGwcsW1R$JQk!!S?WaA`2rC4CR+YC{DgMLKf1z^QI<(GYaQn
z<O%tG6&bHtH?a!Am9tE}g~@I<|J1Lq_A=L{WFG@%Zqpg0FifwT`pJ&T|7itDD6gk_
zXPsWa1k}s=IjN1EVNs7yE&2R=)7?bnkA<#*7CB6risBnhDicwtQke3P-lIbSr}VeU
z{|Jh)Y}{o&OJ!m>vS$8?i=n~;hn at rt$fg`ZVIG&p!^BnJK6Nli=qE|0FvU&krYch*
zM}08KEOy+ArP9)L&>Jf+j6KeXc{JTRpc0oSnJO4IrJV#g$>yaYOhCOS`KYZ$Hi1rR
zWzMr^H|un!tYwsGlWY?_b|z4a0km$Id>K-y`1)KIDO!6$m{o*0gay^T&g$IC7`*4G
zhVD~NW?cThjZ?x7?I?9teW0Wx(vm_fJA0E;^n0FWE>zjdNNYDu%Zz;4bZ(fu-3=2^
zy!YywdkP)#8Eh(>tn_|h1uwQ+6r5DP#Pi>!r<8nixjgDA)3gMf>bt=s`zu2CBv}z=
z<ZWRj+9&^}`$)2SB|#}_rechRnlu<Y6g1B5$@;*g0F(3bh1vWuA=zP(*O5{4p%fWQ
z3<UbB$H@`KsHOmY?wNn7=&Lg2aRG0RdMd)7QOCdHyk1AD8SbELmJyM7vTGn`!>=Ac
z)4JF^*}O&a$!j=co0mhd51sIvSDKH`Yv;=fh09Z#pU!*b{hCgY;hoBAy<|ezI~h!Z
zc=cj at 2zcr~GRx<)p>XToBr4D!Dz)2bCQ-Q$kC`p(v<5C*A;WrsE3IeVGZPL1t{;++
zNBmjn$s(gsf5V6c#dgM{6N at kZ$Kv;-u*(7x4I{SbWNROG_F4If6me7gPlT9S_!AAu
zEL+}uwgnj`{c3`&b7fNZPaT<Zt8$pA=*1BVZsVIElT_{jE~Px`Jh}n(nx9XSiH&bJ
zWV5p(#9NVAn&!X_6K04SR}tN*=#06Ed-i6d!{|=YXdO@?;<qi(cj(~GbN<TKh#%L`
z9KYkSiAGHTDafp^Yv$@B&9zuI2}^!&<0}*H7$FcDLQRHmtJ9-ET>A5P_rv{aVXrmF
z)558EnEb0uA8RvdrbCK`8eppM*Ta2$8lhU;J1zC5uz_d520<);OT<#{w$SIuMJ`t*
zdrySuJTv<@u7Bb?U^m|DR3~+?%+UK1y4+ZQr>Lj^lN5%b?4NgDVK?+eb$%xq;F8P>
z<;myHIDy6_U2wDj^*9a;MQBLz+Dyr{D7f?K={O)z2D2fs4)w=pbwCsP-<lGL_>-IE
zT5^+xud+i)d$UTHSCD7_(abj>nNyS@#P`r;<t38!r$~f)?g3Q>9+FS1 at -FUaS8LQS
zeApl-RZTdM?D&k}tSLt4v)2dlGzsEcT<ek<Vn)qu4gj4|C99iOy}5cooI^tbf-{KA
zY^DIXo%18kjy69kyMD28;=(bQ7`yqypX<w?t<mJD?*?F(GCi_cd$eedY8thn%C0^t
z+_|@j8@#H*sA%5IIOMwMyd;BLWbJ6&jy;@fqRmM~b9>>I$jw=<bR2n}2$3WAT8m=q
z_3_I7OuI_!3PF{(MOgmk9_#DezJ0<EgZo<B!`BJPt?=oQk+tV``rGzVO at cT&-|Kq>
zA)(;lZ<SK=@A(GH{;;?2!;9de>wa*D-|^vu!vikd{_9%P=`Yp?PTnz%2gV22l;Csu
zbNE7fCf(KgrYcaRX3VlqT~<Fv9?t6R((Sslmlu)O)*u(+E^)UT*lURQT)3UC6kJPN
zRBpokg#rG7-Vd3Ibr(-gr&C>XC3SZbVRMh2%Xibv3D?c)3vD<bO#)y48d^<0PQMYR
z0Fs_EY|vUMnU}nIy9!4MEq{U4wViig?`Yo|zv;Se^U?n1y%-OElYP5 at wSdWQp`Jy%
zNtS|syNP;*n^LoMvs7~Lt~~WMri|NlOR!Reb?%GwXTUeqr`RXpldT(F&~zs5!e}5P
zw^^kS0kw+u>9_&0#W_s6%eYL2+<53zpT_)>ZN#OZt)pWwZV6;Fft%^~txWLJ9Pz at j
zM0`<UlL5V9?G%CmC+7W$FbS{TX!l#;OdMmgzTf!}REzSQcRidAJ121`6}$DRE2N=N
zpHul>zuxu0Ac5gofM?GBw}$c6pUkc=-)8X(yaww7flm?}@}%X*l%?xx?YC?o|Lqoi
zHA_1rq_rYW!UBxfNE>yibcdhu{k0G+fgnf`?FVbs5vc{}q34U#3wBA~W2+N)McyhA
z#nAQG6ZIIWcpbhF<!>SDO(|~+;?VM)jpTYO at Ljr<a{&Dc*nRoZ0X(I|h0Bl%qyh;q
z&!0Zn_~KT?*I|=z7m&Y16#}AHCAJ|?EH!v3Km975LGucZFh68JWLh%x4pEGyjTUa!
z&aDzISFQw??bt41-Eir#v18R`Mk-5RTG5kE0}nMP>uckq6>l|k>uxh{*rq24ac<)r
zIk(;F-Fxowo&AZ9gep^2ceGD2o_o)BuXCo|%?49Hgl9@)yH+b;Yakx$D^Q|F9|DRV
zB%I&4)3amN_OU|4wf6&06j&FWLfS3NcxQ at aS;J?8>KRhwV5Y+JB}dp9{ri&Rt>^qt
z(%f|-^1Ko%@w6Ut+;$=CPrDxqyrpkHE;})92N+9^Fwlv_TgLe6q)%K+iE$>RiTUM6
zpjs38%Z~7H&YXB>N?068aWIt0JUMaJid62*c<V*hJKGl>@M9ivW%z){^<_trDkSD5
zN0crd&CIxLC1npHy!L|Dta`Rs8{ACn|Ca26*yq`o$%kkF!0J-b<j-I&NHEIM;bLUt
zVq{-s;$m&-QqgR7X=GyTuuAgM$lv3?BQJx2O8^oaaFzF^tii~{!qs4$cH4j17FfI7
ztIXVuj*3;3bjj$F`J%~79tmptO3eMBR<-XsoYoK&<WvnkEj14&xM9jk;+?hU6D2DY
za&k{_uyz;O8>F$y%pgfy9BQ<5n_C9Zbo-plTx^^`1BtcD5*Jy at RBIe;9j?-s+uVe$
z`_vsy78WJ`2|%9^6lEWOJYB3XHJ#?$A`>SA6aBQeO)ttFt!7vLz6e=*?ys!;Jw9JM
zsH|)RJGhI(<B|Sc`cJWSwgkG!zV at fHx476j89BL{9BH2VT|BI&Pva(qw(={D&W~*Q
z at PYMZl8Z%Dcs|I%Eq^K6Z9B{x{H3$7!FGf!S)NR2P;a(5nK(N_UtDmk at 8b><e~c{8
z&e<#L`~4kkpgDyXf6-5te)UZ__Nhm-qp}ttw;<<Hd0z{KSOZ8sJ_vUq8ab;30e2d3
z_hJ^v&md#!69l3tf3#x6iEvGB`NfS;on)~7nY|_dk*`D$*&~&K6PBE|GiOUJ0wnYY
z3h~o36tclG2Zb$IMc9gN2dEPWYHR+W!chF-hwMNTEQK8cyZef-kjgJer&fb!m0s}i
zQ1-2THz;dPJCWTRqBXaz`cma4P@#GUO;xCO4RMT%8%3Qi?Aaf>;{dXGQnx<usH`z%
z8c7q}^kYXxsezXU{5RAZ#W8N-1vG{kjcQH`jp=D`tB0-rP_fm8V22m at 2ps+3nh6xk
z0m#KXQ4fbLsX8INI0v;E2c~A9ZIP{h@>46>YFxLqa;LF;q9&1Nam*^2FsB*6ZVdfP
z1Dq*Nepq*v(YJv!e!EY~7UU%nn!cpS_jQ(!45lpX0`IR4o%lKUQ!pwWzn+-zrKej*
zyjVdS at nZIa+sFKoJvx9mxhCEusN%{llyhb;?l-dPS`oHHWtJVYah7e{?>!)_6$E<7
z&ZjAl7n#3f#xRer2W(e<HMVs>`e!$1^Ocv!c>!*~pQQca;0xtG@|Q>Z<4+nlaM$0=
zr>U-QOK at LXaJ0Jv-E~JBuDstrfv=PP`fwlmJs%HhO%J_$ulhdmG~Nh0`@`HWVm-*+
z$o<T2CmU$7gCF$lg#yOg{RUO{y?F0x<Mkx=t_21Mp^XM|zts0Maa%Kb{YzLnexaRl
z?VRljIjLsTX5(h%<_t6XS-srV**`ylx5>A at 9M{c$>#ur;JgpBabt<}FTsFRQuegzX
zSpG at 49?&}Z4}55TQ9Mo^EAAa^>#rxlV0|(W_4uX&;1%2!ZLLp!P`4jLKMV<t;pGJU
zcZ?jpX9M{EtGBm~ilfN_z7q%#oZuFiK#&Aya1R7`cV}>SCqM}9?ry=|HMqOGySu(a
zcC-8J?sMMvobQisI6d8ctM0wk)wk+E)4yA1Yge%~k-bVI%=L^L^K&X2{Q-LRhQw;V
zKN@<eZ<);AqE~mgU}(|+>>Q$R>s7qD1Ur^K at aQ`6R9bTtd#d&ZTi at 5kvKE=!QBK#u
zrHGal(CMh}s^Vz$x_i%0Z^7`2cE?E2Y{pc+aWggv9-iAXL9A(>y0hPRDN0yUa7AyX
zqN#3NX#YgjW*ImZv2W3<(DeSuuYfN|iT$m>dloOY_Nl~+fuGa${UXe>@8a!sU#E7$
zNK}`=`pgX(TNIm%?&vJSJ{S^}{%DStSBD+Ugq;|jTy#QRZ&9r=Smv6D8;{9T8jtte
zE;JEE;Q5*!Zsh03O17A1wYaf?&Ti6`j`Fpp4bP|gwc(>4oFA{vEIETe8QJK at N2E~>
zOsKaB2-37ZBlOrJ#i?H}_-*(Q0=r1bfYZ;<ckXI&e*<T}V3)rcUIr!xhJWFibhQ8G
zGv%BtK{Nsu=C)r!HoDeEmbMn)ED+#R32ieF4eyti4~3YK4#-;D*2uzK7G!OtPbC8~
zurt-RhI>gDVPFGb03U!gczG=xRjKHhnE+HkS|EUqmX;B~%0j13BW$Z}YNY$c+`tqB
zpoOFPVxtQ(w*|1U(!tTZIDI*xqNihmqv6xG6apC;7}~z*!O_Utg3J^EEMS!v^WY2>
zAbP+HSt<j at ME~%}bael|lz%3)U|?kUf26ZekL(Xg<U!%TcIBrb3w&qG9E#J+d!|L{
z6z;p$3!`P|64r%iyzcYN<+dO3wXc0DJzo`Hgntg-9)_EGH<b2LuqN+($9Khioby5=
zc>#3c&t!~!4{C~dewrH;#;xe?HnW=c=9Wwpk9Z2YHWziw%RQt`UWonpNC1r`;2|y9
zlAznjwX}UZuAZzZ7c)_XyTE#NJ2$voUm!|y>59E}XywGw-P7WA-F*-hZXzD-j=NxX
z<c!7UVbx38Z(KEdyx(!V+T!A)y<vOAU5_GaM>$x&FcBVXSqGzP4L{@~4o&Tt;w at _Z
zy0{1Pfp^JMvlq8<vm$Fd at g(uW^gG3F1sZjhWWRIoQLp7V&c1Z!u4bFycngoD_%qyb
z_O52M*4=i5`lDuR!81kNlaC&__{*<lJ(co{8fys;itUS<vB)O{R|Ss?=8IuELcV8(
zq1|O7lc`%~t-Dx^xF^hGlN}2ZQI9|z+&jEoNe^P>p%$;ubPtl at 3=jWX>^r=H*~0T>
zuU$<Y(wHZzJEc3-38lO39o=1v6^q?e=JK%pEp5ir!v|%j$z?vjeQLtE16C&2i=$&^
z7D=GY**#(}=H{Ef33j at _Bsck2SkuVb>Da!+xSX{e=(m(t+XnO!Q2+1fHnO&{<ulZ_
zeu-K!?SCFK(!<dx8tK^@+Nd%!GXt2Im;j8lw7)lc#((S?7=VD6?WO$po}L~6WM%zF
zJw_$~Gx!|5!2wxV0rcQHj9?iM2>f0C$KH$l&+#Aof8B%Y!?A$%|M>cC=b!EPQ}4wl
zn5zC)`(Dmp>b>{{*MWP{{p0_o?M&c_LH!@2?ccKjcp$%wIXD_Q3wd*+m&`DL--AvD
z?ytk}PqKi2=ar#jcv1VCk at zp<n~sH<{y&lL1{XEe?r0V+gQF&A at 8Tt1-Z2c`w<rLf
zEf9`Puv5=WS9u$gmToIFLWmjdisD#TmiR#&$3d1+f at yVdqPQ%Xl at 6;No<T!mZBe3I
z<?PM9Nx9ocqlHD+`$c!Wsa+<w&Myx`YOtocvyWU{EiLZ6_16RO!0n+VRvQ9fY`*^^
zUk6VPtl-9b7wE3o86A at EVT7m<Tkm0Vvd~1y&QY3q-;(@VXTL at lSiW=MWuYwaNp3(!
zW_DXH_eEK3c_*`rkAsVS at iczV|9yfOUWU`lk1zk1G3B%ltB2n3M7l+Mi~YNP)v|}{
zhHiU=Mvc3~&%80)x=xP6t?8#Nqprcf&YF~Bu8<CJ?nF-&Lv?NuKHy>#CMMkx%%%`!
zk at W6$ll|y&NNun{>5nb*FnI at a)6E6_M!rytRYNMDQ6+gPEZPix5VK(L$a1T8p^l(r
zI2Ef08S^__V8AbuY*6?a+}U$Os3l=pI9+-QHgGzTYXK*MPXnO$<fc&XE?yM>yz|_z
zVHiab*CyF4`SeCQZ3C$Ffm1ImD10~!$8Sjpkxt3mE|tVW_ff-|FpoQ#;wJr7c^F?P
z at 3rz7?rp3j$%3E;DdEBcLI<Z<%0~li0+q07z7tL*NbeqRD-G}1qSUT{qxOE-hxhIK
z1aLS9@@jP4A5?eyFF36uI8t{tnVbj{PMUFDZghUM8IPSBh|y@#*y at q7iiPNyY!Xj+
zJODG2pQ+A_iI=~0e744`vncB%{Ne<iOMD(!I~eGOpLP8W3a&@7hj4T2s5m(JJ>C at A
zR8@(3MZKAPV^wyY5ojH*PTT3Rd}geEE at AIyz?qP;k+60iAdax-{60w`(r{pCY`+q>
zN at Rr<A0%v(maQp*c|msT#lxY|*XQ~AE5gFJ9Z3;C<GOg#PnQ&WV}nujGDsd?G7_?V
zfl&aF{+{wN)O=O|iKYph5LTLj8&>- at BUF9%Mj=FryjC;MCq3=9<8Dlu3Y#op5#E-G
zBvV#e`tgP3?+-(}b`+2lzP8yU8%YwOX$0wd+FB3z=+rP!X+DFZ!_pbOI-%m$ZCjpg
zdOB{3Hj(qk$JA8H(E~^fpXBwj+v)RF;^inPv!$o(tV3;!H`WH4u)dZzahqZzARw6@
zidaL=*#9s|iD!*r at QLL2%+VVyI%c)n;OmXxk+q>8s4ZS9y-Av!CWICKKn|T1zx)ng
zLhI@=kq#0k=rj3K2yH1;Cp&N)HB3eS&H$QvK+*zPNJnccsf`x66og9ZPi<<a{Zw*n
zMW%XmC=u{TT*?5Pi9sxgjJZ^;k6 at S~3Pu1xw;;auD4Ms}(?}D3FqnJ;<+;WafA?s*
za;+BDYft$xciJJlA9eP~-Log$(jnriA|Vi-u{yX=-#J~s%*o at GfsLKuv{(dkF)ji_
zX3#N?kc5Sx+gxW35rDM9<M;|je}FWfdaP(fWTrsgJ5xr6oTp5y01q!Mr<4?!A=C5Z
zcE_~e1%n<pAfx_jmX>SKbL(l~y44R2M<|=5*O7(uGFe@?4)(PZ04O-P-A6p5lSY_p
zSScLetoM;Nr4kw!Ydg}ez^O7*)F{Fzrm|Qp;^}?7La&ewnoIcv$M|y85yU!%(()y$
z|BxnY%~xv=Vv(4zBT at lVO@C+k5sq<2mZXcz1{kYsL{W8f51FGb*drucL^~iqA1sD?
zTlZ}=8R>4{Q1Rq@&&hq4dSl>wVMSVd*V0=wQwa4V20XdCEYiI2`n<$_0p54-WZ)q@
zyFiZOKfQ4u{K+k$`sJ#u;wPZY%Xxwqg)oH&`NVP96q^0>TPKV_uAYej7~#Wxwe!n|
zk{%+W<O-tkFuL%FXvVJT0q_|lJox-fZ~?tzy|x;Aa0pQKki;@F61HV!bf at GpLvQ)Q
zo%D;@EIuy+DACbQbuW26VS%%#_RHi8dId5XlwI7?O~&ae38QZm90q8&JQ4W3I5nd`
ziur7+M5-!3nsUOZKwG|B4^WsoA7EA1H*xw-H6P#lvn`%SaGKr+m#W8Lv8LQ0zSmf3
zaaKvitE=!-?bVTnhs2KtcISExR65)GhKhYCI9rg1?sc7O;l8sl(N~4iC~cewjE at Rh
zNlaQ_GDjLTBVgkdjGds;qa4&;Wvnp3vjEtsM;Ij3TBSQqjgksiW?&3 at S-t25?iVQ$
z%WrSRu6x8hn8&Sj1pQaAB2bh<#$YMAVdOwUdk}oV!ft8dt9aPWAA%L>8gUsR52RGA
z_k(8eZ;~tIth%yrIM*d<p~oVltv~I)d&4&sO&M0+SFureS{SI at ZmWQ5p{9vRi#}O!
z$AJItjs<8GSJXjsadmZ+NE^RTRDrSi#dlCsUKdXO*34MNTHky)9(Vz70IhCjM(y6>
zGWnU=rXx%D$<3XjORMgqm_%P45|-g*_ob}>l*+?ar3x%;K-(!`8%`sxg}lbNVy#W<
z(<dmI&oLs|YLwE>bx|>~ecAqFr(?3&y<>sd#%r%73#1{-Nz>~JR~c9j>zGs<ywQt*
z`u<L^L^HyCwlQv}$V5%|`YtYH)t5)VLVRm31u|#u%~+zAw3x7ZDDqUwlLRQ<gVZ=z
zw8U5_OP$}zs_TCC=1B=?UMDXyqHcKj)i+uaa)^_Oo<?{y6YtDoH-Tq{@O2s!y;IZ$
zx**6raCMK6jM}xhvxtV0iteeQ;xuzQDfnb+iN+R-h3X<g<Jyg%l<K at f4eOe7?SqeA
z=z=@#wh|I&8u!oKE>}%1jLyi<QdL5?o43|a`44(eov!lk?p9f~>9r+}g*QT{vulb0
znl#NSg@}2oG!1P<DzT}OV#@o6_Qz~QYjTVOO<g%}VYpOh1Er2lEkIc{8I3hqpPMEi
z-BtBnnV6pFRjRV)!ehnFMoB>EPfhDP)rNf;CD?l*!GiCp-m8itr_RdWW_k?J*zCKL
zD#6tqV<5R+o<Lh|nz>c!Kh7Pfsm8e8`|!0qho-MFx+oSeG~~qXsvv%FCA)Sb3U6`u
zH{7D>Cn&=9V7T8sh%K)(?FDpIIC1{urJzya-$R{UI359Y^3&09BUf*{PBj?Jw3Bsm
z*i!FvAr6(?cuh4Nd2UEl!c7zJKyvKO(H0A{?vz_<OBWit(H4=EgP*{MU-VINpefFU
zHFo&2@;(SjI(7c295i2u=Lh)g?3tjZJR24xNg})JhUSKrM+gr`AIOF(;N+vtipB3g
zD`q6GDTC4 at n}|6{pm9=Vw)44Y--3E3=JTPcnOcRu>`&W$g_&QMeozsE^R*_I3&0_8
z@|j>;^ZrED^lu)vO!T)m+snC{o5uk2a^+&YRjp6cU6+<gDK<9RA;k7VGi~O~enoRe
zuS?gxKB{3le(AZ)3);U>@gCJymXsPa$V42S)~68HZ*^M2>U_N#EN)lQsy~IEXZ$UX
z${0Sb at M<9HSB=8**vG}I)+b+0x2pP&7TIJC&in<8E!s9wOXWltTZzOrnwq0|vSt&?
z!EF4RqpniS#oAQH2T_enb1@^y6QliXBl%8b$c>P%gedkmK%QuCN+hpHTq~Cy`eHAv
zxClSGVYw-~s&!1Su&=HMv2rElA`wehnFN0|+%`4ZAETXz?^BCIk1je0zDmfjI7qDR
zo%mL+U?oyG8<kI;v>Z>5ylySlv`bkWoi#_4Tj94Dn9K>k_Twhl at T2ZoH%C}ACC3*C
zOMw)NL2m`_w_GE6NuPgiUVMpb!Tf&SCi-O$X$j4hvIoceMC0Tapa~Iv7`ko<(BXAr
zdNTjz4h2#X<`ZEh^e*=!z>!KQ6(I##hLb7l7|L^Wd}sxr3)O<up1p$irGA7S{|$k#
zJBlmC%|75->ZBKd2vhUM;#YNJ`-!n-N?AQgFx<K~0pFa-mo}_72U|P7ySWyy)?ey8
zXbE5;C>AnoRo?a`tDpV=Na>DX9l(b`g}xbvmbX*%Mu|#P?4*HNjRu6RFiSw^>$u_l
z0-a9JLP|od3ZdM2kGCPujJVA>)EL_0G!-puzIp?3yTsG5EWokP5<8j at 7Mvj&<d?)!
z1U0sDr(F^_tFc8Zh7x?CK%X77mbA8U1TQHj_T8%J@(})*?^_WY(>9us&?oXvGv-#M
zJo01ReVbGgDS6rG(bv9IC_2z=c;dLSmi)rauFsF6&`0~#f+FzcqgyxlS84q>eH5WX
z>Nr~o34DC)&9#{kXcG_7oGO_O?rEDhJxR%*;KpI~V_in{eT0$^xWnLK5VWe4c=-(i
zHE8NpI&M|$itWllbL2nHrh!<%>(5A2KK6RmiVtM?M5^{}P?3Fih7NJ1f%yAtUcH;n
zNfcA&<Q#Wr>2uY at xh~9{bJ#SPZnvuoQmT~8Wwy0$o#7E|qQ(3*XIB>Di>HTtcGU+H
z&kqT0Sy&=2g!l(Zvl=A&WsI{d&s^8=N9;Rae)d$HtrD^C98j~H at v&?D&;jlYngffr
zR9O0K6sS|z)!5|s9VcxuNaS at Udw=%JH&*}bQ{gk#vde%ztWt~2+bxMNu9L}(!1&e=
z|3>I*(1=h0qohDfQtURBu|u8ErgQRWNZ|CAnPdYV(>$py%YZYz_E%zQ1hneQa-Sd#
z2d1Awq>r9ZF1Yp7dC++}Ir5<IJd at T#8ADs(hc^7 at Q|{*T5oY<h2Qh~0Kl%`L#g}q=
z1(_G;CR8f2YtzaKb!C at VhfrBfRTVUrK3XkXO(GX3+?Q9-rI2i at 1SlS>G0}qaXfB+F
z406psdC240{*3a at oa#x)#zU(%?X0fK#Mf+PWex|hQpdi>T8(>MtBYHk2$`Y;I~k#{
zWXiam$l5fEzsBeAgW9L|hiE!8FT;0}Ej+tREBn|$_+O_KAJRU4^u6Q5;)~^LU;hxs
z7dHQSAGN-pO=4Tg0R3 at 4ZY%2-YLLj)Dw|gSm+*-LrcUAO^eFl*s!Rb0wyk}U$|P$V
zxr4hq&oVLr3JM1|v$MtL80UV#WK4{li!Ga^ov=}n-nSYg^;$O{*LzW4q~;r(Tget2
zM at tu{+bbBDY7gzwa_bZLUB?mTXYL!&0#4ANMi{r|z8||`5vO^sdcwQG4~R8#<2mWz
zKQJ;sjaj-P!B4%lfJ&a+JKb{84#aY#xym)~bIHAqxJIN&J%PYz+SHisCuw|K%DN7?
zhAde*Z?C;ZkD+$H^}`A(QnWi~6S2(**^8<bUq0$#N?=w)o*OGx4j;<Ul_-#5ph|D<
zoC$Vf!K|ROlYW34r at TwvcgG1KH^)IT7kAVC<t3Ywm=tUSGfFb9m=sLN9g3vvuPE0o
zg}leo(wLJ|UKKGVSE(>EI<ksVgxJZa{=vL*#qxC#l^>QZhGn{zcqwC#&zZ at Y>Uo`X
zw>FHO;l=E!^u0EF70 at t}g_3|L(NX&;fFrcPAktaMjc3pbSH6`XZH~u8TRXa<Y6#+U
z;3Dr~jM5hbYn`;vHo<9~lYZ<*^m|`yx6jaYw|f at r1-fa$7 at d1M3zE7X0i&XHHwp*>
zy1u%hUA5wc+R~=-LHE8hB{~=LbdGG$p`9y^2<CxpmI!+~DEfysIv0c<7~VBHCn^YG
z2Zjf$*dVc;y_p#7BHdv&j}IY9IGWC)2+q2tD!Wr9GqTItl5UIwg#7KhEgTq%EL>hq
zP3SH(0)!!)821W64M1oZrRg*vbTFL~s<&4h2eK=|P&akwlAje!Sctje9=y(ESq!$X
zt~<@u2fTxVGLI0e(DD at ROD)sST~*|v-BZNRZF%3MM|@{WLq2mVq%V-KJ;$HIpex?p
zdeiZgZFI+U<f(^mIbiM0I)+m4ngo2Y6QHc>S$+0 at trpZ4S$0n6EQxTZe4eAUeR-s=
z59y<akP_U+vM-BfAMQfjr84@}l!NKLXxGgT>@aLYAtwr8C02ZT(a)IV!>X>c_HW}d
zlLVE5W_5TB$~wI|JblfSwhaU^^w-m|_TO*_S;Cd!nx+>wf}^Jk%-eHJ+NV!f{UygV
zE#7Ig23oAk)9ubXQ;c2`d0Qq3&;6(<ojJNWUs1}wY9HK`{Mw%=I-lDp(;f2^QEx_Z
zt~}A0LFb_>gfgaOX?BwHw%*)_B<Z-3HN;-Y6ys>0zrm<@v#S<&nvS{kk=QDNrauOs
z-S8kx_jNGTn^9632^;MvNLEo3Ka(T5mh>Fss{YO(2lvhh#}@d(SW$ZtHMJI#1-r3m
zTXkD?`+UE$XeEA%DteRS-oT261BUr^1=WUe!^-N!(dYq_FBAp2 at +_&v(`qG`<^FP8
z^!WPel)!WHAr0H_tIbe2U9U1BEBBb;b{VJVsMrgBn&>`VF%}im3_gw*)wFY7D5hM+
zoK1|^1e&+7TtDvr>O2)tPVp&o3fojxhIfkDH0l?{9BMzKgs1URFx at m$z_XjhJflpc
ziX!x)`mn+`g)(Q^S=97y4Q;2bZ`6DA4O^Msj>wL8*b01`;|_QT|F{u)8{?SRI3a4S
z>aTeL{<%7TYP<sUR{1~Krw;1$&jNOyB+n^r9rm8trrD6=9PSky?4OmJecHIMU38^|
z!%w-z>u*xo at V2+dooX!G)p%HV#f&d*Eiw?O%2P1o;dat9P;0)ubHZpVA)1G|F{_ki
z`SJ!e>hM~Md|S^vX`Lm01STiA!*><Z|DyaAiUIy(M0Vd=O&g at 7C)p*Gdm>?n)*fG%
zf#s9i2g<^>+B2p)n_PIL*_Bf0AB>hth`uZ{y=~fXztDqJD=HpUHG5q+L$@%(iLhzB
zgx;~#U_+(yK#4B at 5}@6?(Y#yjcCYP6rh0;O- at Cqe2QLa4FT?oN1#1oNbi1iSx>~%V
z*4U@<fgYi9VDi at VR0UIKTTClJnJ9M9Dm+)#qn4KTgvc<J>vaCLyrlUrMW$db#yZp4
z8_mOoYuma?evBoL>Bp&}Va at wKrxA{6<qeUh2k^UsPfH$7du^!;%k_mjhZ8uF)8R!u
zB`A=T4H3*&y`F-fIN(-lKgmw)g4}o|?=N#NggJ8!`gYr*cgFc-JfuDNhxsoM at 6enj
zCW}8X>jhAXBhYO4v$XsB<Dqs`#D6a}&|Vw25#Czfo;A{B67KCcL6j=+g)pm%fu58f
zKwz0*$onZHUDcPKp^h%Ff+B^)Q0i%ITcn^nY0Su`GtHHqt#Yxm+{4rfyKj!q$>|F@
zVV%@!pxKvGZ+c31I=`k$)E#)M6Ujop^a;)t+7X<}ubJ$pNesZ%Us~xMXD4|SVwe{X
zxx4rq0seb_1QLGXsLt;_1yIR9EDxdE@}T<Kvkbl0s9)(4=}WXz&MnnQHh!n8$t>nt
z3!-h%4In`K)!iNo=o7nX7leN;b#<`N7kr;MvFIxcgSU#c-g3LEA?GDd$UT6Vd7x(V
zETHZvNHU!ItTgjsLbp_tr at F5{bhGsX8M+Fx@~$@gLNsEHl~hk#5&D6u>zgIe7^Z&*
zrgD0Hx9_cvd+N`YZ}1m5;3qs3?=m&z#$jV<E<WErX6UxDFe8xCbbG1gZHy-BL9Eh}
zkN30dpyggyv+|{v8l3F>;4$8UMWH at WI`62eu&W`gC%Nbc8tf=GKdiIw7e8Wj?yAzA
zlVX`Y_1DFwh;c4MqAS$hLKe#ha8aguq(0%UH(@(T6yvJECB{IsOw==Ye9Ap<c<6MO
z*tT*C;7sB%V-Tt<-U~OLTl<m0t6bRy4=<b)KW4Gv7}cOwP?afsIf=LbLB^vxWvX9U
zXCZA`u`8Gh`~3Z>v}U%rUu8f4_-#g=dJ0n#gVZkuc&G7Q`hMa;JG(v&k{roZ+YUUW
zVFiJ97PqX}!(eivzPBIs0@&h`eilgS$LUgkOsckR&)4b4h21F;bvY&^UtXFGn^e-G
z%-1+tZluet*EMo_-V>Uf8m_Efn4TdAVJOILcO-J!?H3qVmwf)QRt<?Kf<PMiYC|Hk
zJHE*|UoM6wJ~;bS-6T;!#asW;;!2-&@J?w$Gv*jWJbdc#fILPnH^%Dt++0RfAv{=5
z;mNrc7b%vICRd$AN=`<x{O9-a=vt8-Pp?cUIZ%}<d|^_|@M at rA@!M9YG?*R3>?4)T
zHhxEufsFVB)#<Hi=~+YnR3-S+DnJpHrYM>n&t3;xen at 7O$v!wIjEs9lCC*-Oxnzzt
zhx1Q_KD7?RmB|o0v(Yn9>41glc at _U$t;1v3$@RTaV#{EOxdi$q=~VtWYhivdHL7+Q
zGMj}JX6(Bme%tCA>(p6K3?;@k%!Hc+mi{U1hGi{PD-Afz8WLmtJ*ZBqxA{#w+Z2b@
zc&PQbNmM+~Tf;wmz9Y?WV3LpP!#ILpf{%3&3brGu*L*|j+B~P)%pq6Xw*96+Zq0e$
zghmek&R38$Wkz|GT2or9nEZ4U3vXX`nIb?b)|R;>(GWgs$;d>ltiDd0)l~VhqGJ`Y
z^K(@U9z3^nsmbl#JX_#oJFadqvCG}jW({(`C&(XF5~Ms+d?lC|Amf4e>AD(&weReG
zPZE-(gv8OTH<lU=D((ty<!h$O&EN#CLs*9IF$4+Gv|@M?I9#+R(BT<@)$D$Jwo&YQ
zFf^+qtJn@=>=JC$Y+ROx18N>I3f;<vgu;a6rEyqe2}}3($0lp|8lU^(KS)|Y$32+d
zzZoH7F_n7Mzc}}JXKV2eUv;r<8%eIwKhS9aoGTJv?EQ13fWsmDkvwIpL-y1OYOx97
zClbjXehFk2^;Y&mBxgBf4tIHnpX8(86vjn9N=IZ_8L6NSpsIFeV`B@;eE<6G&_(DS
zb&Q`{$jF%=zVO#B;#{KMo=(4dzZun%`nEw8mdaTx2lIyMo$4C)#nta|AY at W=zdayb
z8tSte_qU#n+iAXCDA1`jL9KQ{B*`N-Z$%M`<Ala!Y0kkI#i+VukbLL_1Pm?E!OoG)
z6%*Q~9}i-5 at aa;WGqHBKRMt=P$!cxhp{TEK3hR4d5SV*B396v0(i?`vgS5Az)_0Mg
zy)Ru$(m+}3 at H;;Za5Yg|%+5)amr661mev5tOUqVEGvGRXVKBh?$`|`u&Ui)(MLr{4
zu&Dg!<j+YW6lwHN(t*Z(>--yZzb3V6DV0Gc?QCY8M&c at yn^RVAB$a7YOO)i*6zp4O
z^&o5m1-uiE$35e-7M1zXH-Fhe6s3K_ZS#r!rG^s#`#xT%*+%SbU~HNqhy7^=Y(`EV
z&`XNHP6x+Z%ydOEF!bD}^>$UvSPx~%lf%)(@o2U?XM4-sn|;aiyg(s+uhD at jHd(qY
zW at 6fLdO?|=fKtK*ZJhyLz?jN<whbZ<uKfe7`JfM^{fW7-h00C<5kDe-lqsExTO7t)
zx7UGXG`=m(`4uQJS%Y at Yo{AuQ%kQ=io%4fC6!NE at jSmoTy^TZn_J{Q~K$?>CCH01*
z{Q=SB<vR$=+|*aj%`MNapD#Pm at +X+@ck^AA-9LsqZXCKC-_G(K9wI*;q+oqZkpSo3
zkfCV|tG^Nx>;?kJO<w7~hh3)*M~`d?<MTaR&3of;*SZRSo44ZKzyfee8#EEW-?gF_
ze^Y at vB)0+w$od}j>eD;XEL64EB(b7~PX1~U<Tx~}@)4AEN*UEgs==L>RgTSZm=y}7
zYEYd&>^?Ne3ORn2ZSWy)_sg;KSU&K`xrc{4g6f3+jK})ZhXYXYafeZH^JlpiL1<-J
zX+4!rGP_q<GGJz3bsi!U`7(M!oP&AtxuIc&`ByhP1nIb%kAN)a9oEA1dkPs%<dCRD
z8?(Fm{Ec+~7S3kUjSsd@#>R+Lyt7I|aSPO<OA9D<?n$ekA<W*PE2|2>jY#j`eb1%b
z5%d}Tv$k&pmS{=Tn9Pq0oi}kI{p>+mmg+Ncv0?s#7eWL>z~ps(Bf$B7Uw)Stvq5uH
zP3(IkKkkmoyDf1pnoWAXV&36mp|7*^8T><QDw<mxyl1QG6|U2d{$nX=_*2SMS2``1
zpKjQne&KyOc^WNfXr9o_7=O^=&2*r_Gu)Ke_;hRa4doKLa$SNveEA{iH7O#k;j4mI
zUau4g-VlU9b~TT{Ng<*@V1Mv^dq_IM3-~_Ei18Ky^jh!TOjvUC;{HbkGAp)0PIcwh
z{PF{3x&59#YeO~aIvddkt7+wF3hEH1+Nrv{4T#MC?SNVhho*g0V`7oTed?thT$^M|
zIvEA4$!x3M%iz=gVv1s9HT(je;21SZvh7J|gnj2xSCgFbqk#<N&ym%`@n&hxL)u#m
zZcKpB`eGS4HW{zB>NQ9pgTL0OBS$N9g`8r-M=QS#rkke2{G7-GTb*_tN$Byam at HGJ
z^@LS+gVb0i=RE%vbcz5AM0ei)Kzv>L`9q3{ht`!(XCmS9uy~=hdZKjS9CtsT{8u(1
zzr)6e?;3H>owsXak{jvjalZAKXCv&a<l7+kq-{qWE>7f0-soi=Z_#|;)^kR8JZ!K0
z0#sBx at RPl5_kh6W?;M|EjUc-rZM)!A9_Fk~<qE32`XD|7cLKzVaCNW_Bi!cP$DTaZ
zLDj%)i&6c~!z+3j=qxeH$i5MdD0S-0O^~&6hH2x0oO1brPJDu0-6Z*!x{so;yX76C
z+P~`4c6isdm}lpUj%+b~w?5o$8=P0z?N;2HO&1w#;d3SC1iMT|>?N2ganu;RRzyeI
z7MLf3!sC?5D0LREOJ1VmaIh0V5#g%1YI*z>!I_)eXlAl@<gL0w1Vm#(drTKl1>Vhc
zry4Y$b{mpGta3kSuO*I)d#U{LnSJHF^^B3?^|rrga{)3ZlhhfoZ-~iR$W@%<TeptS
z$i+b|wti+{J(@X-{w7iWIxZrR!nbS{iV(0++7U1Ri?OzFV)L^)W>0~^wev8dB|(8M
z6aIAmiL6>KYn;vECkOl??i5Kun>1#a8+;R_V0OWz3B&VQ!x{{gqA=ZxxveBtg<N2_
zQO%t?rvUK`d_O!5mJIhro^@f?^6_ at IyIpEbh3C)VUV|j+9GwI8*D<0Q$(SvvT;0OC
zA*oGKR>gg4YSYgHJQJo|mGMczvlKtMfetsPz>ARaXY1>+g&)Z#S~s3 at F2>LkGW|<c
z*IcFM!y?E<;?b0pK?(1H?-9`+%|fDfH26(cmpX<(Lv at 6rgALJ&?7~YAf?hBnEr7X<
zpgT3zp_;WN?E4S`KZ0Ouc48P}x%akj_`XP}W{|4#ez57pY+q8PGbj_T<1_Iy0Cfh@
zX;Px9VzHyLzhlRfW$w7s(FMO~ma;nTLtNIaThhH0JlJhpWuzi-8{josN<_@&={H at L
zOu86SrG05EE+%2yHMvD#;XhNN!0zhC+mdQ?;dF0}C8JKd%top)VbOUfrl+Q at G8OM2
zZ61~h5`N8l6@>LI(dTHBzL>7{(2jD~Z}Hsc?s79Gy`lL+%}LlYxGBAWZF}8rm{aih
zc5Rt3B&HaraMmiLM(?(a(Cu{O-h07g!fv8gCff;7bxWgV-^NCfR?oM+T0Or-SW?L9
z-f_QgalZhees8EOI*|}RIG?`0hr4LNJGBw8Ty)k(hZUwavUP=mDg;dplShLB%kbt7
zLJ*>Twzc8)XXq>*CoK+3dVnj+E8SM#s**Q13Db~@kPLw7{?juai2dBMx)ojYciETw
zGmczoT!DJ$uR{P>UEYcX6)uzsPlc3`KbPkWw#%v9at1_&1JL7bXPb5IOqE%sm?#>i
z`$TD`N$$5r at K@|Ja*8#k%k&NFC at wb|Y^d^D_a$2F1Q|H4&b-y=%N(*Dj_O9{dM7IK
z#o+@~J^Fh?5JSbP$dAt&ht=ET=u+jvOZx7Ss689tc;3!HFl<0D=1?h9DPP3BRzZ*g
zeG7YiWs=5UAq*^BHD(B7MQ7_vU)M4i#GoX~)C)on at R4i3bSXcP(=L}Hrz|{`3rg-l
z$+m6z2$dXJZa0^QBmu`tIVNI3pr>&o%_L7NSQPlxLPW}9f%6rE(AH+DB~KByA|r*%
zc)TGSwQlbxhy1&k7JLG3hl0k_r&#ED!dPbC?5a-Cek at jgMrJ?LGP6?ho`(EB+_ZCl
zg4fiE2n*v`$IY1daKx=aGt^H5R0+|&%VRd1*!Rw-OfC|gA-=LE&1ccU_X!KoO_s-!
z1S$oMh2qv$WzS-UL~H|m0w84ue}VC+v~oBv5xz?Npg?_$bfRb at uaqo^Y=ubLF2YsG
z6N6htM^9#>H|MY0t>j34%1;R6j-2NL{rmc?W4bD2XyBpoqcIF;7*a9fLBB4>G&|4U
z;<*&OiG(QzUe4Ds?@rZ(=3GhX#m>PvcrsnWj67jn_jDsS3%IC>?q^KZb&qm$_`A7d
z+mO9iCKA;<_P-EiD-T0){E|IM4jZmgB>zr3z$T|c{lKeEf^}BSHIrW*BWP^foiX;&
z;u+Gs$)m((oRsW(o)OO@<?7x<y5<Sjt{`TCjD}SO-XYqXZOsoq&{BQP&rxV2L}x at z
z>2M<O)L5}I?)p0xoVrFyLD+aiStMpDEilfvt*%q1MlN<Fr6Z|{&7kGL8swV;8421u
z5LRX$wDmKR`c=5^OHMXjSbiRkq+~FjNZ3SFTweOAK5illQr?_Sia*#tEm;K#XHmQN
zUPr&+3gUV?SdbbY+r4hF)XslGaeRj6{w&slG8OlDX~(}SuprTGb at 2A|N<8}bVQiTJ
zm-`(3VAfiv8`T#!!Nc?_y7D+?9g>bYm#a|vJ%`+K#lU)vE7s at A42{Q*-5;FEcFyxg
zQPZSJk>lhg9P}UianTlve6=wue=-#qR>2L#G;&O96uHW?mt=pXFwW;U8Qr??2Re7k
z7A<ombM8vXK7Y}&QHaHaB}dCWK&ty1M2xj5^+vwm2Tu at T_uaWMx5M4~HZ!NArAgCA
z`Ks?RHLEwMp;wLP`(E-5$Lv5M!iV`HWLNv;)%fB&s!NSn_->t{+o|1-_h=2si}OVT
zP0-zE>_-Sz<5o@@rHZqOhj at pLS_S2d^GtI$I`H`P%Vs%jvSmj3`GXz%9XeL|Go)v1
zi0rk;qbF>aGIojef`c$nEPmmfSQ|fU^+T`>!xTpK``}qWd&{SG8q`_KVN$qgcYI?m
z_{QHJ$ibN4rvFpE4f<>Kc3vSXD>knAO2ti;dBx-*Q^AGTYdqBjeH&FwJ*OKh=Gvk`
z*48D=k!@S&v;{~7$!1@!{aerNX at a8<$lo~&IHRsxeF;Wf+EcJGk54%QqxVt)dl}p1
zzFZru$LTd$s??{Jelgu1E1nX=QQH!QYnMS#L`t6Yq&1GU<2B at BwK@C4dK1V_To)&>
z$WoawOP6YwQoWHUA35<ckzH3j(NelO4LFm6gnr6Zyb00q at uk8Sy`H*JN+61yVI*=_
z87k6z7t2vNTDhIIogqj<YzgN{LC}`j_^zC?c!A<)bi)C~=fHao9*!{Gq4H`~HRyrz
zuMOfQYm0}tv>MBgmJ^>E?&7k)(<yhLq%$ux+%TbUQ3f6hQ>C1ktA3B>Aidjb7CAj!
z5{a2FT`q{;CH|&6bRqmIg0R6+TFyNoFk#^G2YIL)<$-OhbS6Hk;W(XxP|-r=iuZCT
z!SfbV7`u$e_qCKL^NZe8Gg0+}?-3IomNkV+t52hetP~0}GS6{8tBaIY;}W|I-aej8
ziXHV1>)@}FMV^U(-<RQUk_WYM`#KcRjNrt<aiFhkypqCXlgiA55hHbJ88v3abrNh@
z-uC8dVQokyGnOhaA{;K$rO{8E30BT~+aNCxB~)Efqxf)JSZ>;>+ at TP~{O!!^?L1+(
zVXGz@|47MKsDp$4P#k;@t-z0Fvs1gZ;N(q5=9+s2HvQN3jM)3tO2r@!kG<K{v(HE}
zQ@%3Zp#$pcr6=7JV)~{ID>K%;9<ix*^);mGE7qRc1=570vPDaY7aCVGsmyC;Cs$6P
zjy at Gj4oz|wB1_iCwbxmSH?8mjCCDb4r#ev^O?%lIBqC>|rS7<i6<9_=GbvT>@9~CR
zCKXS4F}e(zc*0^24i#(jC+rdKNXS@{vzCwS1rOY==-3Tv3QQm8=peBXD3Mzkz74;T
z4#37B%NHtTMw48`m-grGj$?c at Cp}LI3`a-%lv+bB`_sjt`0^C^P;C}r*12a_BpU3S
z9_=4VEs8<?RVtrm(3%6;_Nd4}rhh2yfj90r>C3Hh&-X^_T$~@2Y1J&0AK)FL%%;4c
z#6tzlq)nU$Fbifg=n8x^1`^P)wd30g4+k;*$|U&)lb9NYGnmL5Ud2;w*&6?<-qg=r
za|k)reiyY*vZ>~iT$qL2A;!FQ)9UfW(P*Rp+`X(A;d1lZ?b~y_3C7kbl<Q?TD6sBv
zy6o5m{DjnI^thwPs4gs2iP%>7(^t_}6$oC~+JQ7izR+6HtfXNIydbNR8lA*1PV?#(
z0chTaX%kv`HT-*cd()FPJVL8XI*_V0+7mp9aJg{Dln<q0%;;>BZmE!Q5QflsufG|K
zrdd=VyGo>#dM`t7zKzRwEh%4p7u=ZB=s7)IkVMq<BlA#oVYW0&G8BEfs69xfH&dKB
z3AO-Jf|A#zUc}5=M>NaLBC^EY at NVWp>e1q<NGGqQAg!TNk7$&kl*8e6<$d=Nwwi{^
zet)-un56lzcenciWyFBzW at 0R*NeN;s&2fWEcU|lRv~=X%5LEt*`jVX5drcX&(GiF1
z)~k{rDxi|O@`3t~TjkXcom{qkRf$>J{sgq`<URy&KbG9J at hi+;i+dO9A>~4N<#rqT
z(y`CjTz(czCG{nSB#rT)!4D~Cx%n|Tv(g at eD{<LAHP8EwcrgYMW_l~tx5XoCt#z5(
z^?1`IfiPWg2)&Z9xk~4}sDK48 at jldJ-finBB)Z1K#tSX#>>y#DNiYiAp8fIo!cN<}
z++iW;ODt=*n%<TibVGV;D=cmzY2IojgD<8uwWUC;jlit=r0#}5<1k*)FudvWjajuO
z+r2<eLyTnep6f68Z<IST8cTH+J{+UU(xa>&N at k{&k>q`-q(jN(WR#Mc&yVm5!toiJ
z_vBYI9IHOccL%l?{B+x`u!5++<L10t3UuoNwGcO7Jpa^SJHgRjeg3pvk`t59{8p0O
z3U&}smOPhg-29{&8~@DF{FE;@sg1t=VesMO?#dA{m19ZzFba1OakeA#XBJ-E)9IlZ
zohHdkg#0hAi0#q}p|;3xJp`f4#6Ju_(Oeu0ah<7!SXPz#3khxWCSjy9_GsM=Jjh?V
zeGD_2_o<cGSoCIioi)7v9Q~%0%Eg at eDWzjs<-x2y6?z}Ckidv<#vFMmQ!UC=QJ^A9
z&CA#^dTT6mLHH>4At<e_<$e-v?>RqyiX-C|&#dUmUcLAzuX$mGQB2RMTteS1?va(4
zQG>pj3iVX`G*w)EOYIyO!x)oG$z2wr`aDZLpXyM_KE#4Hv~7cc1FN8e-yi<=iJa8?
zofj(;a|veYfU%ACct+ADe>|j2A5I)<%13%y!H;9{o=!T%vN%euYEO>P3hyXxb)Xd@
zReQ&Al=uo!dRkQ?5E*flLfs5C9%#<#v3pvTH{K at ow9bAMt56PgqKe6}IvS%z at o$du
z{4_d}s;?E&bAg2uN7k9d4GG`TTQt=AS*GW(r`7oEgM%dWRGJ2UZ>vhuc!_})XZ~hO
ztS6!#g$EU+L3mUtE2KfB_|IVROm at Ls0gLyzQP40s&{?_JeP?I5Mx7fW=}q2zXk&e4
z{-<UBp82C?O`x%W#fEJE(PZKmU~gn&q{B14t(-A)-goR$rhBAg$8vq<sI7A<dyK4r
zMBzEVN1P8W5<ym4p?QPNQ%3X7Um!Db>>C3k9W6_xfz}$Pk*U($x5rRqv1p-!t0VGX
zLx=duNw^6-8#@|Cy2^s_QP^>~bL=FD2k)cUz$qp02nZJGvH%VU;$nz^)0v64S1!{}
z{-eEZqwf!lB0;I7K_U6+kbGlvp85Idy=6_rva;)<#NpmB$T5g|ehvV$*^n~M at aLcA
zdnY#|D<c~_Lrp9<<>C394a^cqWv61nE7%s;rzhC<?$)M`dn>ISD0t5sPlpXZ?8Ss-
zb%oeJ9(GwBbml;^ll}N{RT_Sz=<I5#XWQ*(>uB1-P^#NKa)U1NJ^a}qssE{9=t#pf
z>mrIFT)G_1L-wX28X^3Pnz^^$tA5D0oWU(3G9ey}Z;JqtdN5-L`~e^6J>#PF5RTXT
z?08n`epG?r4$U7TQHF0qwHC8vaNF5UTzH%maFo3-=P?E at uTXcTXfyTV7>M+lWu9&;
zL{G0<jH#%qpO<qNvQ|j3j6RpfZtC^sTGuW$UwE8mNrN85a%4pi at j3|_CBsxvm~$?)
z_ynG;vO%!C1*L~b{3&AA>=@LtaK{XrdF?L5GPdM$u-PP$V^L?7O>pwtxg1vSxva3~
zf$<u-3+X5NHmO at 2KTd=MmKu88L4}b*y>nDSW~iwTEd at C5MUIikht&#Ja?yje?1)8-
z at RQ}<JR^Pf014Rux8LJ5gWxJ*K0RB^i--SGB9Pf5!=PGBjK8J#*(OLD3=XKK9zc%d
zcP8L=3-OI+k9^1)(}8oLPaBwQe~`>TsLA~3i+)QNqKnfUr0<~5b)}!e_RUSFXtt4R
zVD|}6&sA!77^zW&C5En0*UX-rqYI-KX{q(`xpElvJRPz4_(`&!TDCKnB2|v?mf$uj
zR4x56mO{SSA at kVu!Rg{Kc=Pz<QoK9aEz&cRCEoJZL30`5m*vpnC%@wRcMPsruFG!M
z4N*QB9(K~PlM#;D&(WufwXv#!ZW|C^H4a=(I|2<fU9b7I4{&d|>hIpYzu)N*lzV#H
z)ePHp-h6I*z;V-Dc7%7nypqB_z5`6*vQ9|hL|o5JUuEzM6$*{wZV%>$&~#>*#=6z{
zg|!RmfOt2wgnV6me%qt|=r9`T(AGQrYrB;EDE4YR|H)}tZ at JL|Kb8AOOH<K#b5fp7
zCR?AGoYgtk)Nn<9xnY0jp(W_m-F?i>U1`zrdQW$#$3XHUb`MinjZuY4h$&~;<!RAE
zOiC%u7-Uv%i*L%oZJO_$b1N#N1-cYE#~H(K46i%bii{;XCv)&v6wpw1MSMs$S65Z^
zT2r-P1K9N?WIvdSYUYD(K}qyh*CO7b^t=EXHgkaVx&WLW at z>riKPv)VPTkZ~zi?m#
zG;i)9pcRV6sknj|U&HMSXN$I-O!7>`_lC$eB>U*;>yPpdWW8M}RO;KWj*gr6o9~4(
z4eZLxGbv_|cQumnzw+p}GC*W(CnYo3ga0Sv6OAnP<Cm<qSIbGYa5e{P6``nXr0hrh
zlq5OB6JMWCt at Ju%zarnJvulfyYFh`qj?_cl at BMf${=uBvWH5oPCY|fCC7Xn+{qOLj
z7vSYLY)8+^4E#5t_Ln6y|3xMJ8?X5{Y{&QaupO_3sovj{b}aONNIRC_xE=HVC)5ti
z=`sI3Ye)BcY3RRFK7ZDF{5R#p0HpgH#0RYNueGDWu$_4(E&7jZ4xiX~{x?j}DxY{o
zY{JXq0uzQHQ7mP$x&XeEXIJab4`LK{ukTD#Z60RXB$#~<+pcBr$Pf-k#rGEOscYvg
zk&9%>9CqC at g7@z169msJN(SSy=&o;S#gCj%wzaE7#-?lS6WjTyrWP%&xg#zdcGPwr
z`Kg}FL#$jIL)U#9*tqj4^Gzn}YzogSa6A|lV at 0OUMmjg$ohfzu6kF$YZTotZWV7G1
zIp8Hu`E+TjmG_ma6kXl3SvB8R>r><;4IR3m>Ewl^E9<B3_XyNht|X~_qjG|w{!Zcl
ziIt`fqwWoNxXlSr*?W3}^M-#$Zw1k$PeZlKw2gfT?<D11GTe@|@mI6+Rkw!o)$+IB
z%-wRk^6(QX_r0Rl9TqCzGn{$C6Xw%DHj)K~$9_gIOb0$^x61MGVf*m}eQmU(nHG}X
zf|29#8iwx~-+=C7c-3epRaE?Ln<X~ggW7IKv#o95sn&qcgMx9_qSN=uXCmF>!|8=b
zZ&v=+(HEEW=jWOt<Kqt<G0}oVO##%0P4}*X>$F6o%^pgzvr>N-*3ADVEdLe1{}-z6
z{~pGFi_|fI1Mn|M-ETY%jKsa*X at AhT-`E-$U;8clD{cp_$MQ$c$n+a&d%^4e;BYU;
z|HR$?fz$oL at BV__vHla+1N(w|!QftWUeLQ29PSTF_uu<J<u7$#+W6ZKD=XaJ;BznI
z|3C4$-%IBH2R`?g1ycp+0KY*-FgiyMpnK{3|0M1HAidx*_(Cy)0l$CPm$J6dl?B<V
z(tsCzr;!6W+N%GDhyS{XQrZR}8Yyk-7x?zK4;mSejfI`HF31Kz_m9O|#X)*T+AmD+
z3;)N+$_QX#pjW36w6?Ib1pAf+1C`q5HkL0Ybe(AUWWg-2y^$_RMv#|A7+?#AExEX8
z_`nSWd$0k#kePqQcK=M3U_-xS>i_5F{JtfBnb`h2#9x|Y1NT2&0!Q<&J^^3PzdGfG
znG`kBvrz at Sz{oOymy45m5%O8sfxDOfFOKN{o4n at J2E)-72H;x(_V|xG0Y at Wg2{Qkp
z`@&nR{=*`TlClcG+|JbWA78X!+hW at 02ITtIR01-e{(7J3|H4Cmv9mR_u;vip7Z3om
z*tE2?;DDxO1|Kl-(bCd`&wtCnWq)KZ<xH&Ljh_qLcx#Y07zY2N&J3;w)_EyrW&rQO
zy3F+8YT&Tbv(p9rsmJhQ?#0!M8-7~amvbhje{L_Pf#3~XMh`Ayda3(j6Rhyk93c4X
zMGj>6;~v}tU$t#P<X_pqMXa<yT1Gk`BMUt<1uY#JEiKunzx1r5HAo+h767Jd!Iu8{
z0WdK#0vQ4NfPct<^z=;NJN at zjnEz7-K7I-J|CG@&vVsTIf5?FJ3@;q)f5>R*nEqFn
zo{r(a?E&e*&G>I!F!280_2`&b{>Lx4)=SL%hhI8oI{N>%2gdFh{`=a%=r28Zs`(FH
zAox$H|CQ0v{&!n|bikKc=)ZJXUVbI`PubsG2e_aASC^iN at qhc2nGrk^|Jbv&)&?W~
z)^IPAixGI`1$ufK84C;W_<0#K;0aXNT;Bq`O!Plbz5-MM96(kkdcH6GjI0dI0xWa_
z0(7j*ti0e*VFoe-!3#<YaKZh*tGo=<uNJy|h9F%N8#^-q4Kp9`D+Bn}(lPKe0D-i0
pjNorRKEAIkUj!H!`IuN=hMSG8wzci=kOSACWq>0g;g=ME`#*;F><9n=

literal 0
HcmV?d00001

diff --git a/acqui/pdfformat/example.pm b/acqui/pdfformat/example.pm
new file mode 100644
index 0000000..02290e7
--- /dev/null
+++ b/acqui/pdfformat/example.pm
@@ -0,0 +1,328 @@
+#!/usr/bin/perl
+
+#example script to print a basketgroup
+#written 07/11/08 by john.soros at biblibre.com and paul.poulain at biblibre.com
+
+# Copyright 2008-2009 BibLibre SARL
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+#you can use any PDF::API2 module, all you need to do is return the stringifyed pdf object from the printpdf sub.
+package pdfformat::example;
+use vars qw($VERSION @ISA @EXPORT);
+use Number::Format qw(format_price);      
+use strict;
+use warnings;
+use utf8;
+
+BEGIN {
+         use Exporter   ();
+         our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+	# set the version for version checking
+         $VERSION     = 1.00;
+	@ISA    = qw(Exporter);
+	@EXPORT = qw(printpdf);
+}
+
+
+#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurment of PDF::API2).
+#The constants exported tranform that into PostScript points (/mm for milimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
+use constant mm => 25.4 / 72;
+use constant in => 1 / 72;
+use constant pt => 1;
+
+use PDF::API2;
+#A4 paper specs
+my ($height, $width) = (297, 210);
+use PDF::Table;
+
+sub printorders {
+    my ($pdf, $basketgroup, $baskets, $orders) = @_;
+    
+    my $cur_format = C4::Context->preference("CurrencyFormat");
+    my $num;
+    
+    if ( $cur_format eq 'FR' ) {
+        $num = new Number::Format(
+            'decimal_fill'      => '2',
+            'decimal_point'     => ',',
+            'int_curr_symbol'   => '',
+            'mon_thousands_sep' => ' ',
+            'thousands_sep'     => ' ',
+            'mon_decimal_point' => ','
+        );
+    } else {  # US by default..
+        $num = new Number::Format(
+            'int_curr_symbol'   => '',
+            'mon_thousands_sep' => ',',
+            'mon_decimal_point' => '.'
+        );
+    }
+
+    $pdf->mediabox($height/mm, $width/mm);
+    my $number = 3;
+    for my $basket (@$baskets){
+        my $page = $pdf->page();
+        
+        # print basket header (box)
+        my $box = $page->gfx;
+        $box->rectxy(($width - 10)/mm, ($height - 5)/mm, 10/mm, ($height - 25)/mm);
+        $box->stroke;
+#         $box->restore();
+        
+        # create a text
+        my $text = $page->text;
+        # add basketgroup number
+        $text->font( $pdf->corefont("Times", -encoding => "utf8"), 6/mm );
+        $text->translate(20/mm,  ($height-15)/mm);
+        $text->text("Commande N°".$basketgroup->{'id'}.". Panier N° ".$basket->{basketno}.". ".$basket->{booksellernote});
+        
+        my $pdftable = new PDF::Table();
+        my $abaskets;
+        my $arrbasket;
+        my @keys = ('Document','Qté','Prix public TTC','Remise','Prix remisé HT','TVA', 'Total TTC'); 
+        for my $bkey (@keys) {
+            push(@$arrbasket, $bkey);
+        }
+        push(@$abaskets, $arrbasket);
+#         @{$orders->{$basket->{basketno}}});
+        foreach my $line (@{$orders->{$basket->{basketno}}}) {
+            $arrbasket = undef;
+            push(@$arrbasket, @$line[3]." / ".@$line[2].(@$line[0]?" ISBN : ".@$line[0]:'').", ".@$line[1].(@$line[4]?' publié par '.@$line[4]:''), @$line[5],$num->format_price(@$line[6]),$num->format_price(@$line[8]).'%',$num->format_price(@$line[7]/(1+@$line[9]/100)),$num->format_price(@$line[9]).'%',$num->format_price($num->round(@$line[7])*@$line[5]));
+            push(@$abaskets, $arrbasket);
+        }
+        
+        $pdftable->table($pdf, $page, $abaskets,
+                                        x => 10/mm,
+                                        w => ($width - 20)/mm,
+                                        start_y => 270/mm,
+                                        next_y  => 285/mm,
+                                        start_h => 250/mm,
+                                        next_h  => 250/mm,
+                                        padding => 5,
+                                        padding_right => 5,
+                                        background_color_odd  => "lightgray",
+                                        font       => $pdf->corefont("Times", -encoding => "utf8"),
+                                        font_size => 3/mm,
+                                        header_props   =>    {
+                                            font       => $pdf->corefont("Times", -encoding => "utf8"),
+                                            font_size  => 10,
+                                            bg_color   => 'gray',
+                                            repeat     => 1,
+                                        },
+                                        column_props => [
+                                            {
+                                                min_w => 100/mm,       # Minimum column width.
+                                            },
+                                            {
+                                                justify => 'right', # One of left|right ,
+                                            },
+                                            {
+                                                justify => 'right', # One of left|right ,
+                                            },
+                                            {
+                                                justify => 'right', # One of left|right ,
+                                            },
+                                            {
+                                                justify => 'right', # One of left|right ,
+                                            },
+                                            {
+                                                justify => 'right', # One of left|right ,
+                                            },
+                                            {
+                                                justify => 'right', # One of left|right ,
+                                            },
+                                        ],
+             );
+    }
+    $pdf->mediabox($width/mm, $height/mm);
+}
+
+sub printbaskets {
+    my ($pdf, $basketgroup, $hbaskets, $bookseller, $GSTrate, $orders) = @_;
+    
+    my $cur_format = C4::Context->preference("CurrencyFormat");
+    my $num;
+    
+    if ( $cur_format eq 'FR' ) {
+        $num = new Number::Format(
+            'decimal_fill'      => '2',
+            'decimal_point'     => ',',
+            'int_curr_symbol'   => '',
+            'mon_thousands_sep' => ' ',
+            'thousands_sep'     => ' ',
+            'mon_decimal_point' => ','
+        );
+    } else {  # US by default..
+        $num = new Number::Format(
+            'int_curr_symbol'   => '',
+            'mon_thousands_sep' => ',',
+            'mon_decimal_point' => '.'
+        );
+    }
+    
+    $pdf->mediabox($width/mm, $height/mm);
+    my $page = $pdf->openpage(2);
+    # create a text
+    my $text = $page->text;
+    # add basketgroup number
+    $text->font( $pdf->corefont("Times", -encoding => "utf8"), 6/mm );
+    $text->translate(($width-40)/mm,  ($height-50)/mm);
+    $text->text("".$basketgroup->{'id'});
+    
+    my $pdftable = new PDF::Table();
+    my $abaskets;
+    my $arrbasket;
+    # header of the table
+    my @keys = ('Lot',  'Panier (N°)', 'Prix public TTC', 'Remise', 'Prix remisé','taux TVA', 'Total HT','TVA', 'Total TTC');
+    for my $bkey (@keys) {
+        push(@$arrbasket, $bkey);
+    }
+    my $grandtotal=0;
+    my $grandgst=0;
+    # calculate each basket total
+    push(@$abaskets, $arrbasket);
+    for my $basket (@$hbaskets) {
+        $arrbasket = undef;
+        my ($total, $gst, $totallist) = (0, 0, 0);
+        my $ords = $orders->{$basket->{basketno}};
+        my $ordlength = @$ords;
+        foreach my $ord (@$ords) {
+            $total += @$ord[5] * @$ord[7];
+            $gst   += (@$ord[5] * @$ord[7]) * $GSTrate/(1+$GSTrate);
+            $totallist += @$ord[5]*@$ord[6];
+        }
+        $total=$num->round($total);
+        $gst=$num->round($gst);
+        $grandtotal +=$total;
+        $grandgst +=$gst;
+        push(@$arrbasket, $basket->{contractname}, $basket->{basketname}.'(N°'.$basket->{basketno}.')',$num->format_price($totallist), $num->format_price($bookseller->{discount}).'%', $num->format_price($total), $num->format_price($GSTrate*100).'%', $num->format_price($total-$gst), $num->format_price($gst), $num->format_price($total));
+        push(@$abaskets, $arrbasket);
+    }
+    # now, push total
+    undef $arrbasket;
+    push @$arrbasket,'','','','Total',$num->format_price($grandtotal),'',$num->format_price($grandtotal-$grandgst), $num->format_price($grandgst),$num->format_price($grandtotal);
+    push @$abaskets,$arrbasket;
+    # height is width and width is height in this function, as the pdf is in landscape mode for the Tables.
+
+    $pdftable->table($pdf, $page, $abaskets,
+                                    x => 5/mm,
+                                    w => ($width - 10)/mm,
+                                    start_y =>  230/mm,
+                                    next_y  => 230/mm,
+                                    start_h => 230/mm,
+                                    next_h  => 230/mm,
+                                    font       => $pdf->corefont("Times", -encoding => "utf8"),
+                                    font_size => 3/mm,
+                                    padding => 5,
+                                    padding_right => 10,
+                                    background_color_odd  => "lightgray",
+                                    header_props   =>    {
+                                        bg_color   => 'gray',
+                                        repeat     => 1,
+                                    },
+                                    column_props => [
+                                        {
+                                        },
+                                        {
+                                        },
+                                        {
+                                            justify => 'right',
+                                        },
+                                        {
+                                            justify => 'right',
+                                        },
+                                        {
+                                            justify => 'right',
+                                        },
+                                        {
+                                            justify => 'right',
+                                        },
+                                        {
+                                            justify => 'right',
+                                        },
+                                        {
+                                            justify => 'right',
+                                        },
+                                        {
+                                            justify => 'right',
+                                        },
+                                    ],
+    );
+    $pdf->mediabox($height/mm, $width/mm);
+}
+
+sub printhead {
+    my ($pdf, $basketgroup, $bookseller, $branch) = @_;
+    # open 1st page (with the header)
+    my $page = $pdf->openpage(1);
+    
+    # create a text
+    my $text = $page->text;
+
+    # print order info, on the default PDF
+    $text->font( $pdf->corefont("Times", -encoding => "utf8"), 8/mm );
+    $text->translate(100/mm,  ($height-5-48)/mm);
+    $text->text($basketgroup->{'id'});
+    
+    # print the date
+    my $today = C4::Dates->today();
+    $text->translate(130/mm,  ($height-5-48)/mm);
+    $text->text($today);
+    # print bookseller infos
+    $text->font( $pdf->corefont("Times", -encoding => "utf8"), 4/mm );
+    $text->translate(110/mm,  ($height-170)/mm);
+    $text->text($bookseller->{name});
+    $text->translate(110/mm,  ($height-175)/mm);
+    $text->text($bookseller->{postal});
+    $text->translate(110/mm,  ($height-180)/mm);
+    $text->text($bookseller->{address1});
+    $text->translate(110/mm,  ($height-185)/mm);
+    $text->text($bookseller->{address2});
+    $text->translate(110/mm,  ($height-190)/mm);
+    $text->text($bookseller->{address3});
+}
+
+sub printfooters {
+        my ($pdf) = @_;
+        for (my $i=1;$i <= $pdf->pages;$i++) {
+        my $page = $pdf->openpage($i);
+        my $text = $page->text;
+        $text->font( $pdf->corefont("Times", -encoding => "utf8"), 3/mm );
+        $text->translate(10/mm,  10/mm);
+        $text->text("Page $i / ".$pdf->pages);
+        }
+}
+
+sub printpdf {
+    my ($basketgroup, $bookseller, $baskets, $branch, $orders, $GST) = @_;
+    # open the default PDF that will be used for base (1st page already filled)
+    my $pdf = PDF::API2->open('/home/paul/koha.dev/new_acq/acqui/pdfformat/example.pdf');
+    $pdf->pageLabel( 0, {
+        -style => 'roman',
+    } ); # start with roman numbering
+    # fill the 1st page (basketgroup information)
+    printhead($pdf, $basketgroup, $bookseller, $branch);
+    # fill the 2nd page (orders summary)
+    printbaskets($pdf, $basketgroup, $baskets, $bookseller, $GST, $orders);
+    # fill other pages (orders)
+    printorders($pdf, $basketgroup, $baskets, $orders);
+    # print something on each page (usually the footer, but you could also put a header
+    printfooters($pdf);
+    return $pdf->stringify;
+}
+
+1;
-- 
1.6.0.4



More information about the Koha-patches mailing list