From ca22e3981d63c43b0291c6e9316429ad7df5acdd Mon Sep 17 00:00:00 2001 From: Erik Lumme Date: Thu, 14 Sep 2017 15:48:24 +0300 Subject: [PATCH] Migrate JasperReportsOnVaadinSample --- .../JasperReportsOnVaadinSample.asciidoc | 185 ++++++++++++++++++ documentation/articles/contents.asciidoc | 1 + .../img/VaadinJasperReportsSample_small.jpg | Bin 0 -> 89358 bytes 3 files changed, 186 insertions(+) create mode 100644 documentation/articles/JasperReportsOnVaadinSample.asciidoc create mode 100644 documentation/articles/img/VaadinJasperReportsSample_small.jpg diff --git a/documentation/articles/JasperReportsOnVaadinSample.asciidoc b/documentation/articles/JasperReportsOnVaadinSample.asciidoc new file mode 100644 index 0000000000..cac8d261f2 --- /dev/null +++ b/documentation/articles/JasperReportsOnVaadinSample.asciidoc @@ -0,0 +1,185 @@ +[[jasper-reports-on-vaadin-sample]] +Jasper reports on Vaadin sample +------------------------------ + +[[introduction]] +Introduction +~~~~~~~~~~~~ + +I meet JasperReports some years ago and I liked this report library; +this year I did need to implement a report on a personal project using +Vaadin, but surprisingly I was not able to found a sample of this, so I +did this little sample and article. + +First, you will need a JDK Maven and Mysql in order to try the sample, +and you can download the code here: +http://sourceforge.net/projects/jrtutorial/files/VaadinJRSample/ + +There is a README.txt file you can follow in order to run the sample, +basically you need to: + +1. Create database running resources/database.sql on Mysql or MariaDB +2. Compile the entire project: run "mvn install”. +3. Deploy the application in Jetty: run "mvn jetty:run" +4. Go to http://localhost:8080/  in your browser + +[[implementation]] +Implementation +~~~~~~~~~~~~~~ + +Let’s see the sample code step by step. + +The data is only a _person_ table with some data. + +The main class _MyUI.java_ has two UI components (the report generating +button and a list component used to show current data in database.): + +[source,java] +.... +final Button reportGeneratorButton = new Button("Generate report"); +… +layout.addComponent(reportGeneratorButton); +layout.addComponent(new PersonList()); +.... + +The list is implemented on _PersonList.java_, I am using a +_FilteringTable_ (https://vaadin.com/directory/component/filteringtable), +that loads the data using a Vaadin _SQLContainer_: + +[source,java] +.... +SQLContainer container=null; +… +TableQuery tq = new TableQuery("person", new ConnectionUtil().getJDBCConnectionPool()); +container = new SQLContainer(tq); +filterTable = buildPagedTable(container); +.... + +And the _SQLContainer_ is provided with a _JDBCConnectionPool_ created +from a properties file (_resources/database.properties_): + +[source,java] +.... +Properties prop=PropertiesUtil.getProperties(); +… +public JDBCConnectionPool getJDBCConnectionPool(){ +JDBCConnectionPool pool = null; +try { + pool = new SimpleJDBCConnectionPool( + prop.getProperty("database.driver"), + prop.getProperty("database.url"), + prop.getProperty("database.userName"), + prop.getProperty("database.password")); +} catch (SQLException e) { + e.printStackTrace(); +} +return pool; +.... + +The report generation is implemented on _ReportGenerator_ class, this +class loads the report template: + +[source,java] +.... +File templateFile=new File(templatePath);        +JasperDesign jasperDesign = JRXmlLoader.load(templateFile); +.... + +Compile report template: + +[source,java] +.... +jasperReport = JasperCompileManager.compileReport(jasperDesign); +.... + +Fill report with data: + +[source,java] +.... +HashMap fillParameters=new HashMap();        +JasperPrint jasperPrint = JasperFillManager.fillReport(    + jasperReport,                    + fillParameters,                    + conn); +.... + +Export the _jasperPrint_ object to Pdf format: + +[source,java] +.... +JRPdfExporter exporter = new JRPdfExporter(); +exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); +exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputStream)); +exporter.exportReport(); +.... + +And finally execute all the logic to generate the report and sent it to +an _OutputStream_: + +[source,java] +.... +JasperDesign jasperDesign=loadTemplate(templatePath); +setTempDirectory(templatePath);        +JasperReport jasperReport=compileReport(jasperDesign);        +JasperPrint jasperPrint=fillReport(jasperReport, conn);        +exportReportToPdf(jasperPrint, outputStream); +.... + +But all the logic at _ReportGenerator.java_ is called from the +_ReportUtil_ class, this class is the responsible to connect Vaadin +layer with _ReportGenerator_ layer. There are two methods: the first one +is _prepareForPdfReport_, this method creates a database connection, +generates the report as a StreamResource (calling the another method) +and finally extends the source button with a _FileDownloader_ component +in order to upload the generated report stream, so all the uploading +magic is done by _FileDownloader_ extension +(https://vaadin.com/api/com/vaadin/server/FileDownloader.html): + +[source,java] +.... +Connection conn=new ConnectionUtil().getSQLConnection(); +reportOutputFilename+=("_"+getDateAsString()+".pdf");        +StreamResource myResource =createPdfResource(conn,reportTemplate,reportOutputFilename);        +FileDownloader fileDownloader = new FileDownloader(myResource);        +fileDownloader.extend(buttonToExtend); +.... + +The second method _createPdfResource_, uses _ReportGenerator_ class in +order to return the generated report as a _StreamResource_: + +[source,java] +.... +return new StreamResource(new StreamResource.StreamSource() { + @Override + public InputStream getStream () { + ByteArrayOutputStream pdfBuffer = new ByteArrayOutputStream(); + ReportGenerator reportGenerator=new ReportGenerator(); + try { + reportGenerator.executeReport(baseReportsPath+templatePath, conn, pdfBuffer); + } catch (JRException e) { + e.printStackTrace(); + } + return new ByteArrayInputStream( + pdfBuffer.toByteArray()); + } +}, reportFileName); +.... + +So, in order to call the report generator process when only need to call +ReportUtil like we did in ‘MyUI.java’: + +[source,java] +.... +final Button reportGeneratorButton = new Button("Generate report"); +new ReportsUtil().prepareForPdfReport("/reports/PersonListReport.jrxml",                + "PersonList",                + reportGeneratorButton); +.... + +Finally, the jasper report design can be found in the +_WEB-INF/personListReport.jrxml_ file + +This is a picture of the sample running and the generated report: + +image:img/VaadinJasperReportsSample_small.jpg[Running sample] + +And that’s all, I expect to help someone with this sample, thanks for +reading. diff --git a/documentation/articles/contents.asciidoc b/documentation/articles/contents.asciidoc index bbd59e616b..c92c9478db 100644 --- a/documentation/articles/contents.asciidoc +++ b/documentation/articles/contents.asciidoc @@ -11,3 +11,4 @@ - link:VAccessControl.asciidoc[V - Access control] - link:FindingTheCurrentRootAndApplication.asciidoc[Finding the current root and application] - link:CreatingABasicApplication.asciidoc[Creating a basic application] +- link:JasperReportsOnVaadinSample.asciidoc[Jasper reports on Vaadin sample] diff --git a/documentation/articles/img/VaadinJasperReportsSample_small.jpg b/documentation/articles/img/VaadinJasperReportsSample_small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..47f14fa7a45d69e3de3be426c7f0a01e8c624ad4 GIT binary patch literal 89358 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 z zqJ{gQK%WYTF-R@x3|cQh_#y~<1o`{m@pvBv1}AqsOn`T=VL*Wlg7AJk?79aF?b7VQ zs(9Gh(+hNGA;9zOb?=Nf&nxY(0&Y+>l)5p;(1OWEhjL!wo{lhL}7rht!ZQ@UKe+T0Gb}xPD z_->y;m|B0}e&qat^Uel+w?H2?==C2srxXCFxG2Y%rAvOrtkMF6O5|EWDpczyZF zh=oMJMeqXse*IH|@05QH{8XO^zP|4}G%n3OhaE1wR>MIDoB$M;AKn7NCHzMv{*U5GVw=E99~OwG8Ry3U;@bGji7|hxGboANf-W|7NzIO2C7AdJO{fxmbX~ zK?K;>&HzAXTLD6P3IKW{15AN@@3&)Q7NAiU04zDj_w*iw!Svnmmw+G!j1u@Ecb&ih z4HGjicmOJJkAx8aAObxbX#fV$YwrNS3mgW70SQ1BPy|!~Ezoz*2rvVz0eb)rnteS% zzr7&f3~&y(3`Bt*mkB^BkO|}h1waXKAE*NAfTuts&;oP-y}%&w0T>0QfiJ)+umv89 zBY{vs=pif+PRK!sAb4<44x$3lf*gaGK&&ArA+8WFNC4yvi=AmAW4L?B8aN1#TaPhdu1N8n1}OAtzMksz8NnIN0s zE6Dktw5}Fgj34IB}39k~S66O_hK%MQjT((TO(;zw%>$ZtnwfoM`ws2X z*yp$}d|%qWhx_{XtHgmRn=D)`S}g7?u`E?A?^p?01z3-> z2C-(aHn7gHF|aAJ!Pziu_t^&63D^bLP1sMf=dic3uW%gT(BbgmNa1+SF>`?Ffa-x$ z2W}jAd|;B3o>PSr$$5jbo^y(ekxPxsgDaWq1=kmDc5Yqn0Pb7duerB)_<78E&hwP= zyyGS3mE(2cy}|p8_X{5=|st!%?@8{R! z59Kf7A398R7f)jCw^4?ym*cH zqJ)41Tp~@PN0LfXTM{iS$s# zUu)56nQNtLz1QZ^cGWJ@{-PtTb6V$#E|IRjZme#<9)})WuR!n1QQ4zmM_=eu>YM7P z>W>@~IEFe_V?bbV)F9qq$nc<{mtmC=V5DahZ}iTX-`Ll<_BiozB>1$ms`Cx!NrW;Y4l(Yc>=NfP;i~K!?>gxQb4zraL24jVkqf7EPi3B3b2oC& zbH{mDdX##SdY<%r=tbw{?)Ad^fOoKWr;nh|WuFhe3cd-xUr_p}JAM#9JHKjw25>Re z8gMw^QozSRmB6&X^&pF&2f?(#Ucs#)0wIwhwEHBhtsMQ+n=x!VPISnovL*~#_^d{;rlMA)Hm{DmF6|NHqnO9!k1syP z)rZ!vJn?xl^VId}r)Lh&2A^9!?|E_j#p?$BhL?@njnA9Zn(ALFzpQIkXny!g?p0Nb zOiN{}bZbSMbX&!1nb(!=vhCF!@*OpuN}Z3pU|mnUHM<*o^m}TaUL31AzlugJ*|`hA{8;y-R%0{yuy7$Z+WgnGcUXYJO}TF&!EF1phSs+3)lA z=*2OrvBYuC@q!77iMmPc$&M-8snKbl>8+W|v$V76bBE{3=T+xhzgT@4T|h117OyU` zEafdrEk9c^UU|Rjxw^H6S!Y?#-;mpA+O*sp-wN6$*-qX$vQvZA#}456Ll z$jQj5Xz<7EX~4t!;Pv%ExflC2-}e{}f6Si163PXIfalVG9J6-@kJ*FET7cx|Q}zHM z5tM)!0(?DY5AynR>aTvj1R!hRF?(VXC>Rj}F})*r&YnRc_7(}_ z-ZA%&l1xrt_)zB;4r)l5#%14!`#qD^|UP!q-L$QHDIw zwAh!Oss(&o5K~OSjwgC#c!QaLyBkwGjU0MKf`Z3mkqve$)zezBxsxWC*RsQf7r-=k z9KZw~hJFYeOE*WID5?Tx4kVC2y>VTk`#NKTrJh_&jI6Zx{p{S-fGkG2!py#YtS}CU zMWNf|iXKCNXg~^4rr)f z6fxS!V+{HWmhDz5a6lCL^NGwQLxK6?(rsJtnD%EJkm_q0_OtN*bCtk;>Y<-{;SViY zZ~2L@pR)Yt`1(n6{#z?4ED(zg;f)j2=-H>^M03m>y{qc~Tl%v%I{sM}vy6{$ZtKBV zM)F(9-Hm72&0YUeXR5c#uPC6L132}#D9x>NKir+$HrKL_oW$hscq$?OWMurJX8G}C z5NDLCl(HIOAlIC@`89t`Yx=vCz>|e-8Xtl$U@HDnCoTFWSwC>!rFyo&7FT;f#!HZ49fi)E5rDIQPEk_WjEv?olD65VxIIeVMd2 zTc6LJBD~gdc#NW(^U!8(meqySA~W*X5523;k6kJA#&v9!VeS=M+Sg$gt%TDx*r`qG zG?)Z?GE`?BD9vM$%x(ELWVy!obCN&jsjCv_j8O|TR&a{h-ySL(l)HS`F6VfIRhg-} z?RDiXO7k1YplkWoO+K&a43EV@y5myKPP3b1>^Cm2O&baiX;6BZ)1R*hPBo8Q$n!8y zLiW3CzGjQ7W0~U6F+6%S^|U9ZuxhK9W*Z*Aaz`N6J+xxTGBA`l=81b~uD6h-WX#Z@ zZKG-&ib`4Arqeh;*{!;WPxV#)-7#%rsIDr}l_@tF#s=fi@V-IMt+(}`r=1Gir(|uy zOBoZkg!)2XT&+=lMy`YsSajn%-eXKxx-9EqE|;`5=&&+~<$6;Tv(=NiaH)PoACqgd z(>o)}YEW@|`mJ!cp=+FUWb&04j#>yyzNeg46=>{8co(d_(0iRg0w=hK`B@K3%TE;+u8S^(q zWtL7Q4Q6aRlNYe!;55PNRJfudS5$b$*V1f#q@-Y>!Orv(rY5h6F~BHVU@DW{y!Y>u zU(6Vt<)33=$=Dx1L`Rf*=K1ILjaQ{SAs6%)m1^GI$;&xq?^@P@SR$G&zSj2s(k+LL zYfxmR>}I}JG=FBC@8`qvO|5y-#qlv@+d;$cSzJqy zhDnF$w=Ql3_$$5>7#RCx`7p+zOZt&sFtUh4@PBanU*{QZyW#VKoh_n?8GWML`&mKbrhocAhexuPk2%l^qLr!&|+`KseT zl8@x;O88h1rVcN>L;D>_S|4{f&2|Bc8hmNfTN!cs^StoJgEouM_B8)`L5i3DDI=FG z%@W5L9!0CO*wN0OkaE6z!Ryr7^TwhP?JG9AMT|-_xZ( zs1`nIY_xUs^6p;W5JALCvmnjA#`*bjF&eg6q#@Onp)HzYB?`gH;ZrJ7BmUUh+LBUSA(Ur``3yj{2IH1iQ?kzEWz+g!z z?!A%o{kFVeqy5o=(flLIsz;2cG>+^97xkAYsDY=-<5x!VU!osJ?F4|hjnt)U7>zOT zmvcyIQ*!%OBoAR_<1*f}WT&ifo^JcxJf*TKBc;wOsUuENn|sX7AasuA3?wG96S_&3 zyyO33VQ{f1^rD$BaD91oPQv2xVQ@i$>jbCRT-i;cisf0KgYH3LqvTLx6)9zEfz$yT z4FrMh6H=`LzB#Lm-0cOk?6sD@{vax!2gwSn!L#uqPev=j3W8g<1u#= zF8XQk&hED~S0cSLvkri5Q?wH&W2>d8(MqlTKhBhxLvLj6Fm zQr83N5_(;v=;7ml4B?!Sg|e?1x-i}Vh}X&$emd{?Z2?ijlUYc|B>#o??s)U{59eN)YZho4<7%Xj>s+F-sr z&;Bwt@{!3pQgkw%mjYaGs|vrsbdO@HR*JmW7Qw}5Z`IZYxQIM8xU*ed^ti$ki#=gJ zY*UE?&?4YM(-vKy1TIR8>xWyw<+sJ~{3y68|95kq@G8E-+h_NbGn|Zq;kw)4Seqi& zH)^p-UqSeGM*W!EcEz2N^8;0J(K#$#6-6;Zg@=;-3bat0vwH3*}ocIhUe`lQ@$s4_MW9u3QT`{&4X|r3sS$ zR8Z`(;K{z!;)HTkXyAgMS%l@yGX}hT+x*uPN9x%xhJRqb(i<+H5;iIfzVp(Zw(pm* zYTb@WR%%CPS!-lJFWImV)+5d=K}UE|y-wVW+i~c1x%851LT_KJIg{~JmScU>vwGF_ zxeN7!t7#@(=<)q9k@7I3a63|tLAnYh?89V>GwNP0BalgEm`udttv zFYaArUT{0T$deCjmPu3MTNr1r`O@k7j!oxxgLFoB&*x=Lh-*0fXFBoM?l;S{=`Mfg zMd6&d>CRS5*3g$!Xd|Z|g?x73PyN*^4M9c(Lg1AyFQYnALAm16@<8RSk`vRLFYbkz zOH({$aAFHrYcBG~%zm^f7_=y6z&c08dYxZdQXi zzv+Yr1%tB_@fhYwY8aH!ZD>$Tz{N(4Yh@l&7QCEtDIp_8G&v6Zk+i7~>cWhC&XxZD zrd)nUzW}LDcjHL9XB{yEZyLP42^KDsHZYn60#1eZ_RT9r*;BuwEjYShOm?8R!R%9_ z+_3_|P0uMs;0flkG~t0AUkkFaVg9!pQO4aB?-XqmIFtQLcm|ENRu~iX5Y!bM0zsu3 z>ZA>pA+Y9E73O$?Z`El5=*eI z?mH{;IUaKd{Ed+?=FREN1O6 z)WhHSs{eue-)81t=K7x!erE^$gPs4oaqigvyZLkdH~9NMqoV(`v;Rwa_V@bnz34w1 zCO_f+WCVUq748j~Hel_ZuBu!srcIQi<*EvCMjrG!Tp0DRK(0^+tI}0J)j3A9b*T+g zs4+e(*o#SpC6kSnb7qe%G&sC2O^Gd08Xik|FU~+eU2`>-;1>8}Y`0$xoj4HDB=ul3 zs?|j$XWk?zIOp2On4W7Y1Mwy~8;_p6l)JRAuJ|KnL|!)}NLoetuu8gV&;wjIxPmM* zIBijTFLgn9{$que|D9T`xW}Z(W{yo`|AeuPhTV7x2J!WdeGi8H~eH+08zu}4ej2$ z*z)9!DhH(sKRG zAnxzjcZ0E5w&8dxEX6aRHak%_JlBKwQS>O5smMr*`fBaD7tewSM+!`^P8)U~Lrg|o zxjP*%@+_q|Q@@(DgkIx?FYF7PtS&5=iyz~F*}7+T7Wpd46tF3GUdc5?Ttk>?pF(+2 zlX293ylvW5*Pc5aMBHx}XPt-P6`pZ9q;cwLb*LqK!83KWY>o-Ru4KmRPIr$^waV;qj6Gujc`rf5)0AYD6+DV`bXF6P34q;_&4G!F*O-gSN7oi!UCimrj<)#u=!dg4%FA zo$xiUL8nUHG~8PD%xT>`A6jo$?v`TT->GEO2f@zAZZU4zX%CLvjbMbQVhaiG^bdv_2^e~^s|u&^subyQr8l$XFp?TS(IP8QBu_V2?%95N+pY6$ zd*KN-LH&;RHS>vlo(PH6J-e@a$%~gGN(_7KT#nodG z0a7!*W`;j(Eq|uW|1>o+q#G+Q+%(f98&6ER z)RrSk1g&pRC(<^a<<*|67uB_l@n0@j@R@8GX)txL;aporf6>?+DOtG%ZgRk%J0*mb z2+aRR|9>iz;bNMtP1rj3j;~pw9h-KNPGv_5X0k6lwn8&K;#$_pg?piWS<&l-1TcXR zl%V`wVR~wh*o2w=Y|7CfwEKLmljqX z`p}CnZrv8v8mtsZZXPufR-#qS?;s^0MPNp|v`DX}!34IC&c1r&ZV%dhFAhAVG}hol zGLV+NNPn8050J;{y$NbC*ZgvA$88k{90rHQwdT=Gk(Yh*+S-*N*2jW`(qD9^CFva= zrc0p_IB-+JDKEhHmK(RZT(rP>F=hCwR(s!M|ISu@i&t{t<#VGul4{Y1^qcBxqlX4} zT##=Q;I1nyPS=vJ^roRm&VG3z$W3*sln>K!H?F()IwR$f7IW;b0opRO0|(US;DGa- z{fz4Go;sdhakyKfw<374w(39@L!!c^LlM3U9MJ;T^AeOEvie@TqaD+=nLe^;WYX*C z;@0)HrBB+V$?;9cET+atAjC`Gp&-U&|4||DNjrrHg^>{IkTWM9SqR(oq^>krlQ*4A z?6f`ywRsZBZY*zUTxNPU$8x5_luO z{g29_3?|>qhO|&~w&1nsZibwDV<-^VV09 zTOG}U5)XKaVpr*3?8wuNbfsU`Ue0rp+evX0R+pJNOilDS2G_gwe8tvb0}+AMDqRM5 zn7`rQa`>$Szjfe0p#$y?8!mhEjO}Jc)%F7o(Dk8z)2S$@vT}ufhn0JQYF#v@g%K@f z?|EwpojR_m6*p|(OB*?JXVoh+@YF%@8_UZvm4~O>-^bY)@V4+C*E|_MJGp>@sl27@ zFoy(>i_%MSZygN+R;3i-bjIMfmAP45_o9&N2`?031-N+b_ zAGvx)mD(JQspY7WS2)GT;DI`NtJk6y104CXm6@Tbb-5k%V%SrI^L6!@)~9Sb!VL{A zj8zrqhKq44XO*t<0`+k~(cTgIUOfvFDe z`C0)|m5nU3BDaq7+MeLjKHPY&?^41gEg8iF)rGL1-3xtH zN#Tx(ov8aPAaF(ylTGIz%cT2`@7fdR*!>dslu3EAu9^oGEH>Cpohh>n%@i_!?A&+0 zd}yQ?55LcAVf;1Gt zz^NOxn3PmkGaP5Hx|Hz37wMT}Z}VV^IWcxf!*73x=*8G}g{Qn(y4?t#Y?z*OJrj0{ zarKO_#Fzs4mdEe}r~6A`m;w$EuN(H<2>U$WOd|>#m5I(ws;Nqrf(eGWjJLSZ=1*?U zjz!;-+T0v`E|TfhcV5q=mr4DQ{jm!%d~s?@6FRe;XE8wM6k;_?Lj3(+<<=`4+7xL;S4s}J%fwNWm+2O(TRTr);Cn%M z+k&vL?h&k5?&*!31M9<0zMBjyMs4jIFGZ!WE*tMfxrD9{VC|;u&F@z&#@mIUy0vQW z^~`vPu8^%bbeY^KwD~A9YHL{`fPotmUTa0f#uT+&iSgmgE3!^_?sbN1+h}6qCD-=L zrFVIW_0niDrT&e)(t|lz=V^2zECFk@_&zo}g*$WkOLuv{#3@?BxQPVuNd6Qq-8MUx zCf@z$HFd1RAFQ3*Omh)1nd8i*$rv5&+?ZZcd~F(H+hS8SmY1wl>-Twh<7Jcszuw)V zkWf2qef=2W=KLn&+tSy{YtAeVo{;1sJ!g}pdv)UQr-J>NU|*JvF1f$d9f5AbC={`k zr$G<6Wux5C(4KInc;j}!=S;B>)YPYzz)j6iqNp7U{mYS`4Ve^*8;qZX`6D@hCQUfaLES4NJ6x8pEB(tuERtRuhh%EjWVRshOj6`FoRRw6<#{W9xv8&stm2vo z(~PXx>jqv3ijEI1G5s9PDJp^?dR>3pfd(d3q`$qg-M^R=S1+ivJ)H6-95n??b-0m% zSc)$A+~2*t?zudxqtR(ojsw>h-HMBI&Xu>Kkw1z}^H&7QVPG)8@1{yRd4q6*&_1#XJ40s8H>qtZ>H(9FWPm z6f;l|3Cf!>NT$!mp-Qhhtt*L_o`ExI_0;g$L#Dv{Q9`@}PgoykDI;18i;Twx z8Oift!2W(-MDQ+R)8lP1uiv~VZ+d9^BSF>ar-fD)XE~lc>oQ(6Vyl`b)uuAIvO3K0 zr5pTwvNwe_Ny~h?JNbAu3B4dEZoa)>!8SJEG7mc5wGx&YDQ|G9EhTqTRHg#M_b zulx)TCC!U{z`N;-a~?~o&YT||1j1}B9^e2P z91}~1#1xNXGXNudhrGP@xX9L0vk?b0XB_MGH?V9`$h=V=rqhx-+tWYr{(>Kzuresf zl5TV9gb|cmCw6q_lRSIW8S@eXVVU@kQo8?9%1 zO;|F9be=S`W?w?d1H>CVAt79z3z`NS?i=2)l$kTLvZLV30I`&qdaopNtg2hsFbAkI zI?8D{-n|03M#I3>tNrW(TeeYX@BPc&1tAL4xB(^snaOm2eA7f)1R4i3eyFDn9XFDBO8D~*# zX3c_;-oID`QAg3oFdWnFJ8}bILh?{}yI?zgk#m$kY1u%r<*`+#aNSdQ)*H9bwX_-k zT6e)VGi&wO@+2D8M3thv{8v`d+IRBKRH8=s+e*Ys(V+pi!!5!sCM*=NN!j7H8*tt3 zGktYR?Rjq}Wv)NZ&*HmSbB&im;QWhACshjudAm{q9v8f?AB7#+C|(Xx>Kwf$+KLJZ zT?n8eushntmRMG6^g#K+(YsE*Y74^DZ0|Qqk4`jGUW_yRJg4_0|FrgKsn%>>OV##j z45Ra3d++_^C;IQMy8ew3U20UBIZe}#sZZvVrpHPwW%&f-fGZUz@79{`$awVYdf6Mv ztz?GUPE|2w2{312hq$CntQKB7^r%8h-#Q7}%wJBc&IUIpJzodjjj0;t%EEh_Z9*o4 zWo{x|vDvX?3{r?0o#P!N1v=~Iu&LPsbeAdmnECKWa~x1qc^e1l8SIE#qAyuuO9qm5 z4$6Y2D=eeKX6-45=>PUiX6^bNv*iyDrSPSWjC>%98ym4mSTEHgssRk# z#LcGvuU&l;ja9^+`8cjK@w`=`>X|{{=FGbzpOX2!>@CH?UbP^+T448Pg~aQo&*k$> zzB#h{4ii7W_xyk^8nh+uO{D)l?}C4KEPUT>w+yFcsExxEc`h6u6E-`-U+nGD%0kuB zf`DG#>JU#v*rY!0h=U{8o1dyVpzfa zz=d{f@!{i~dEGZH+$LE~tk<1^Gujy>`+7UgUY!e5m#34Zs&ZhzC!L1=qkSPi#B27X z7rmVZMOU3&uYro@NFh4c9|vrBgFB(vf*oJW@L2FO>FDD@tajc?gWaYM=p>xD<-Nh0 z*$-~9Ibc}Z+4|3?z|S+ozq9=o$!{(BJ#hYdQZTnFDRyQzn=XEpsV$7g=n zHy&-=JvVM7-*MS-OxdPl@S|+Er8wzOU8Uo+%5qZwrv_d{@M^wDiFrTlin%MSB>L7iAH^RnqRHh?I+Whcz)AWmt^Fr;U!u> z(C(SZ7z`VCNDJ7ZX$5y=3L*((4&ouG=ME2+DA#63!wx8W8)uv*EoSW`dN5#r0CL+) zQy}`>&Ct(Au!u>{Vr3OrRwDBq^lQzK=SS-n$8T)+enyIJ_ujGDK+&|`DAz9w;#jR= zh<9~&cMtH=D))L|c<|v>z#2aK?9Nk@1e&16OWVTdsvFyVVHCMI;Q03H(xZ$^eq*H@ zmI`5c3H2{hW0Hz1ri)GHtcr8G=DcR_^sMmR?=G=_-=|YSdKG%T-CB}H2y|0p^p4xSzEy^&jZ1d^rBz!d@6he6a|s)HMH8Ql>(h=YjK|;g zkScOLw~tD_-8^+f;!xz&1L+zRxp^do&T*Tw;Y+L9Z(87AI6Vrk4u+oz*>dRer?|%4 za=@lrdb(Y9Vt}b?R9VBc-ax}3>bP~v>c22T{tEC(6wUXGM}_O(RG6+L7(ABq;3(_swa#ni?&{6CaX z5T5H!RlnUZh;Hs}Fctcfv6C9*UJ7^^Cc9FGAdr3mOmMf+=<)sgt z5*)a2=tyCKS;gUrcbn@wBz#0Xncpqg--eE1D$)ZSI-o5Z96IXnCRhztA7*bvPxUn4 z-3VoC3FDbhE4_Uni-(!_EVpg)C6x}TJ3URs1@O&?(cwgCPAUHMqo-^FA6xW_&PhEo zSu?`yc$|22e^||3%J;;TNbWE#7@5GSS|=HSAO;J2(2(FXt#P5HU4TvxAsh&(p<2(fZ#m_26kS@p{%}1ws0M+727oltGepG#DNp6cK0Xx z`m1~<`^6{9cUVO|;vA_uD@Wv55~80~WHsBbjk^^WB-m~+zv`>cQKpj0n+OYCYu)r+ zxvi2>kiX+PZ93PK1S@X&l6evJhMXLb50N;uu@Qy|jkta$uh5z5nEwm6gmnGv*v~%`wI^p0TpsWTR204g6Cy6Pf*eQJXYG6GD{WO70kPBK7#SGZ|7|lR`=jOE}f{puC&mzNEsD8l3eW5-1adfR?k(%tT&qjL`Q2F}@Bbz;(!K%)?={a>x^^g(n znD81Gp}$?lh;TlxeR8#zK{>#w4@|fXA!)<`xg{+f`yiu3`=G*x4dZ|6hF%5`hpmsq zrruPF6*cC>U7g7~!jE$GZ$HkFd&Z6E_b=`2UpVd`nlijDLU`XQ?|XvQNGTFLR3LE| zee_cl>YozK4;}n-GXD2z%CHh%nJ-fp9HgruN*W0OA-l{|GsqE%yuqQ|I-dh;Ig}aB zq1Msxa7sB4L05AJawNyo5V#jPTdC|oM&$nspAY=@e@kd6&9b@!jKMLiJ?vtx1q?^s ztGW#3Yq1=pXMB4+-9S>Pr4``AJb)N7_W{yJ|9|^DPq(BNlH)*jPS>gh_IwXw{m7N*j>zd9?E0YAIILmSuS}7jD7G*9kLsx?@ z1_?AqCExvYPU6H7%@c~hd3Aq%o|b#`uD)W^(Wj)O!Zt2Om5>L*_}A8hgl}L%~q3o-3`GJBZFO{oZjP=Rw;TkdKC1S6 z^D}wCpZ;q(sB!_0_{WAEeHnwEE5CME zQumL=r7AI2W*<_r`y_$Dx6>-r%Q?E?BR8V&v5XMT8mR~tX3O3U; zbe%GXX5jHMfUn`YI7}+=PDwnua!F=g;-xrqACqroTHdhW)@#@DFLN;&9Hln{KM9|{ zMAOYD#?~qnsAo3HF9~477TcYuaKt;h;F@>ckr-`{I>A7mPXAZdjdkj z6IZPQ`KrSDpaQDFN;bZyyE>o3LF5F-D>M|v)jX1p6caYE7o3MaIAH0Imn?Hx^g~?j zD(rW{(zt1jN`%!6yNPH@2PWGDoV^8oBb3;aIGubychu;K@zm7`sfEA}&3xg#`PE~` z!D1LuPZ*y=)3-dd18F7?8zKKI5%cqObysA-@=Wn757RssaIbud7)$= z;I4OXOSeCplp}cj2NcmyRpF=KFmUDG2dOkH?*U@#)aI`nf^2D6=1g@1%p2#*23)*W z*ktf$29QYHvq`hb&l!g{paa*SCvd#VQDTm2a{`?PgLiJe&*{EUd!K!MXj4cA4}MEp zeOp!nM;OO0S8TcP^-14qO8h)lUuNqUxFK!EZA|~7QljC=;g*YyA-zaye%a=TJuni! zzP`tSP7AbvSL))WGS@0-vs?*m7yTQp1f|&)v$6^kEqEwMy9Zz5H(BQs-wTLq>Xu$o z-{|y`U#}HoZ3E}k;SrhTwOWd>5!o(B|0!t(SF#Al1JeWV*4=y{#{FQ_h4Gs z>z_tEkz0GxyK18c9jukJ7w<@&F7&nN@7c2qVrGmFpMH{BbpMX={Kk&p%_b2GKz-@| zt}g$La{ur_gIdFKRIX=tah5fB?$Mq}+0y!38o&N}cI#oZe^L=HqnTndse)a7z$QF5 z!=17`g+_-?49E&`-~UiFdG^NYn|xQW9Z1}HlOtsFIA@m^IOyA6O2PmUgU#Ht>m$Xb zctuEP3G`k@;e-~qf_rh>(s!8oane>{_puv`S&I=p4E89KQ>=<&t{1Xbc9)gtL7Tg1 z9H8z1uLB_n2~M|*)*YJZ)oy-QYY8<;$2OSK^jXXCW3k{H?kb^A!wbX`$?!X`D>FfE z-rtdQ(R@FJ)BRNu^en81YWcLgrY}i347NVMliB=+|KOGPNzC@c&k*LZ7Ipvz7^KbrRC+_nsdn{%3w+n?ihL#NYc>ow9YrW19uxp08hO%?)!YD}WI^GT25VV*EfjU%iLWZ^ zRF#alt)ZjP=l3gob&C%gOr|Mzy34 zR0xk_;5&c~Mb^?{bA;KSbc@}5$ZE(HNk9wB2zb?{MlM`$r{mID7o z3?aSNf)=OMH)&M#HYus4ILWEQb$Q-)hw$CY_1vEXBi^={xhqypS)({Uxn16a&JB=- z^7r&s_cWRz@4n4EsbEQSI5S+pu29QWv4fHn;!_SbJN|J<@M4a7D7pq&P#4KQ#&p&` z*H*_yK^is4Dp`tA7^j%#QFd22tPpMcpunwN#G=>si&APK+Fp`lwL{aX^b)SuJhrtp z!E|?wuobuLYj016jIeDO_=Js`n!4l}nL=RT2|R{S z{QQj>GR`s5LW-%8oOvEa*7H?wiCyxTk5f13{Vz!C<6Hs5O^1F;knQS;z;Z+S$dh^+ zg7>;v>rbNH`B7o2xhzu-^BV5npRymXEV4q^>6jhsM+xwHq@Os4eqv z%4EHjS5N<=hW>F*4a)Q!2lC@~O%;J{kXVVf?a9%aHX^h%Syz!F`aqkHW^k@bY2>c>vYgk`Nk{ zVJVuQeBu6GDo3ZGLSw3^NI65cNSY1d*v^hgE_6Fr>x4x-9Rj#24h(v?A`*b8HM$`cRUueyH$3qWr5ddfKAx=cUPZ_2o zBXtkPL`gXF%QUf$U~oH_t%w}FCI9+YEC7Zw?gE^8w*Yd}4P!*Ogb1lkWRH`NJRa5j z-_dE2FE$yu+$336D*P--BDrw*SjOlL*JE18X=~jLDsU@W@2rMx#{5^U3j6)sSmVv6 zx&aP%s-Bn&vNtCH;z#M{!-bd>3N=JbMYicq`wY=&FmO$uS^aF{2>4LcgN-iT|9C3? zBs>(%&w9dt?7?`pZR~NvLH-Y~oL`EavvDXq@HnvNvdl-`WTS5NhLJC52^J1fo~~r_ zWp@YZiA%JsQRmMc__#*n-Cm0M_mlCzY+`lBn|Mnc?7TfC3O!s-CO(pkR(z?Uzq)IU zgrsc6xakkpWGQRiWr0*eyJU^3CIlh?1>sD!D`P&bf3uB0YabL=>qbg5ro}M?ZLC+FM?DL_~RYqWJ9v1Nx+u)z#`40QZ_WI`Ra&meN z-j^;-X|Uclbx7#O6wQt0httjp7OvJLMl`>1~7h@VO~|b34^*8r;v!TPa`0ond`JilouvVXnc|d;VfRfj@l2(CRg) zf0&9CcpR7Fpz9=WKG+g18H#i?&IqetWFfM@nsX55^vm=+hOIsQVxiEMbwlT&fwNO$ z&egSBzJ7y4IO78|*ZtG6Xowl9F4(J5%(wpj6v5h42Nk*=E&gU>kim1k z;I(rYG4iNOsUy_2q{)a> z4%!*s$NVVpK}i2;Q~MdHStR3iacs7PlGzm>S%@oCIW^`ca^bS(LEoK;ti&UDyG&27 z9HR^zX{~#66}$QEx$9Ks%C<2LP&RmU*Y>ib6UEG?)$iNRKFIL_#$!}sr8!Q3cvPik z)UK(e^{I)&IH|z0HC+wM&z(KDp(v}nc{GU%%Iw`C?0K#`IrXVMG;}P_y`X$N2H{ph zjJBv7E+KV}M*y7cisDgKQ`%+RrROK3rE~`qG#}M-9NeyErCeO)NZki*1{0;~cSEZt zDL%X=CSkB3;oo<(-_7M;AhIa4@_kS@2LPl_yACkcOj;xDlE8~}o0z?7Gl7EoEHk z3`&d@pa_|ROE4F{aNkW#^*+c(z8P=`#E>hipF2fIw>k)aY#b4)6*^`wUEugYQ9X(} zdU@@O(ffguS30~-#&BKItLCHEpbFn0(SbR93o-aaj>NCW_8_umMgdo0V;87tI?fA{ zt5?`d_%|Mp2i>+|vxP-nnD>XwFTs4NFx|<|MI-}liLf`u?3UquDtgaD`n(y(QZkDVIQbMg8CBG!{Hynmv-cdU=azIRsnjd z@RfKO^UWnJ-$HltK1hfhw?O@-9DKzKK!RLzr8GtOm@Lnrhr7ieB|nHi5@Rz{Sbgvg zNOTT-MC_Tp`~tq7T$q!J!LtBRAKr1!6!+hi?6-W%&8thm7S+#aXHnpE*-U>16jieBgHEh4qt~9p@5HyzmcFHe zUyC<*sB}4zzL-}MNjZq;*u~CLRA`sOBjXNYUIg0ggZzQ$_v=r4qH~r<5f91T6k8@_V8}|Ag=JO?nocDKQs_W|5b*36bs(&$B<(=hS_;OdhgKoA=Wby zL{@OItj3E+m`$m)f|?Y)XG+WNUh%3d(ESr#|4evw=q!GbODSUjq%;Yh=z&MO&~m$H+Y%6Fa9MqgvI=bl&ie z`|E5Twb>kz5w$%YIcJZ(5WyEQg#i1PunK6-*k8U=5JZEK9;jML?AF$Lm7rLUx~) zQQ1~RK#4hP59&k9zDqsNu>Te)w9DwNG2N6U}02#pd zK_~!2iUF9VNvY+CW!ZhuD1aD+;SqZpW8kf91P%y&RuVCkq7@Dj1WZt5_;2oBL!u6U zx1a!*LYw#DMrz7)h2iMAu7i1p8%UfrUn}_0b{^Ou2b=ERI{Jv*$4XZ%<45MCDD#eU zrI-qM&G`5E0OU~u*bl&rjE|8&yaw;McBGx9CCo#8j0d~SNb8y2z~TFTN5BB-FT%;# z?yo2^>rFXXVqHv*4~+XR0@?SMA;KmnfCK{wSY-PZ|NA!lJrJ$%`-jrBmER|&{{Qk> z_|qcDTj#@jO&5(K2L*M^+c!K&L~(496GXAr-3YumyFtmycSyOi+@wXQEvj*cn!oYj z))QCH<&!wpo@Y;Uia#sh2PLfn)Z&jyTV)ipjy(;qR5Hc^YZ`dEj|v*%mw=7+B6)VH z@`@!qq@VPqsW)1qmqXaJJcY49y{@gPzA1w{dsbVm;%tEF=|gKTm7t-YKT^T$-n&R) z=9@6;mFWo1mhp;}Y%9EcYWXxA+{bR8qr==*QZzH!=tpDJq5Z76%Alz#ox#+zfkzEQ z;7Tl%I@1k`gLKQ>l=H2k9w2sFu;X@hTH@54u2p*F2ssYES1dcjP!kBPBjvxpWjUIO z+kTfqnn=_PjVu)}3O1WH<6FYK_dX_i=-w8J>@Rs2oX(NJypDCt5{F6S))_+I#xbVT z4ZC1#vYD8bizUn+gqby;$JW}V9ZpA2Gn=%RaXh+Xvn;g+=FaN!ql_6ZfO{cgftEPm zSY)B8nI#1Iz9L7~+j~?gMnVf>bh0h0DTCBhUe>tFpM_J6_{6Zbd-(DcurEpyIDUKv z0W12)UGY!X2dc85`1*-b6n|ge0}z#-_5lY2XOSP`rx*SJMbwhRI1v2cX33Mn^Bw-kVl?0ExN7+T?j_XwU zeb^dl2_jIN*fcagGd8L{H zfo$2##oo?g@=NSAha$#j%=S5^HF!dirRr9oSW~uO&kecbM-P`>QZ_d9x|sZs|HTNM zFWo)V7sJCOtlDl*pP$%%Z&xR-7xmDhN zF13B!!J0Qgr{Dbo4`*BgYkF`ZXlj^2dG4?D-@k%#ez-KK2M$HCM!;r#WdjH!EAu~D zX?w7VND+4VLhi<9@hLPl>wFs<-;SSb&U2+|f8FD=Ihm@yYR-u4qLdXcyPNeRaf}n5 z#>R9L&|VMzTh&wM*J97wmpgFKTh|h_svcI2Xe=_80tpX&Wzq4Cuf?x+X=QEiqV4c3iTb_! zPg8J5-Dx8pwYgYzQc2uc5xB;IUh)F|0+|$$d0DDq zdE0B(`xX%f?7G7>7*2}Wdt7S#05QFg=nEiup@{*l@~_?=8}AeCT%c=vqQg~$a9z+Z zwvfZBxMRY6oB>ZPVRYcm81|>nveOv%Okdbwcm#BI(qA%Lz^|6 z#GC92t%ozt>qqfx^dzetydvwkbO2F+@Lq8S>uitDFZ9cut3j*0v9!RaVqGzXpP4bq zcH_eS9p30(E8ZeBm1`2B*yHi7XSZJ2)dGaYDi{0kORMr331xi}=C z=m||Z7h5=|#A@kWZv2bF5chhU6BEFBf3UY4!DjL;igF!=i8I?fxK(k1D$X0nw`KhPHQ@oC z3+{*S?SDs{G^-oky2_imsA|(FU{@4U@LqMOsPw?)J6E-b?x)F}>b(i=qrTwX)5dBr zVyn~kIj&J3e`MWclXh84<`!PKyb4OxSdnVl+gdH1G2pWGu;vq5Y*4jX;M3`OEfc5(#QY8SwkB-IlzR6YZo+geR#wFc`=25U(M=_f6T$ZV; z@{R+?qcL2}1^6+gDR+G!V4fE6o$X>&dvYKKO|f!f%-~Be7_D)+`qmOUZ0KSe>*tdZ zAc=KK(;bgTy7H7do|<$OGpXk#?}Mf)^bIXxaNSL+@tRLW4)ip!+kCtdm>GrzONTh! z7Kc?kn&JV(86{_xB5H-N{K!ayWWIE3r-UOBZ1Y=(@Q1cJ#z@iJKWunE=o`umFhaTo zv;lVrU>yT<>(jmTAkSI078`R_8$a;GKc{T^v$yC|W6EHf zpAKg$us)HNHN-B5Map)UF3%W@OSttSt|%@J@V{9YCASW>21x6&b#D85m`_iouU~vJ z_3+i(3mdTPC zaR6rT3oPNp$f2ZKnSk>b#u&p{5`Cghfc#~wAS!=`Z~nN6R(m`|y`NW2u!&(5zj;du z1d;`@T|trm3Ln*Lb)sDNM&ROh;=A-U4b=*iz2b9)A3pLu@o=Q{XemJFZTJs2yJA5U zuIGi=vx3W0biN@`NERRHMQVkZ6QR_{b#xBr=`aM#RSOvsiAH7ZinqY=p5HCfJ^ly zwV`#sC>&m^wy7yNI}|7#k;p@%!gyOXZ`Rq+>uq|8CFF4bbZG5pf2oy|ySVB)he++q zH2T_g&9f)~l>ewa!b%}Aqvxs8xk1_p@Asz~hFGq=>a!>?x?e<1C(ucN?r@ycd*w{d zDllTZeD1WDG2m;`bud_rYKnD%RF?DJuY7f;zY(71bNc|g}siLyqsD+N%Ol?zO zV&mTX7?waq-)DRb+5r|2N<|DnJ!nlyD{K8%UZ4)@C+SKu$r5PD*pOVVKF|B;be)5Z`fp-~zWf*;jSl;tRAR-@20NqUTRd0vu+TQ>P5-HcOQ0DCmoC}4i! zKF@CQiY!Mp|L?_*GRUp@AaT0n!@ZGora^6iWo7%zLxt9*v;SUtlZ31E8Ty<*N2oZn z_4KSFv+z~`E|=9X^$$kk@9F0V_|`$-pcta{8m|mkx?aceg7-b)KzR?FuR-6SPmw!! z9y;-d+B?kG22|T4{sxt(p}fnSvsY7r0U+=OW0mWk{qh=UnOjYGn$JG-A?h`W#|k~T z4lfLutFhWgLaTUlJrAu0T{eC~9&EF(8wD!JzYRs%Ge2q4ZY-FV)oWoA?LOP_=-Kmb zPFa1fvV((zp|_Pa`cIY}__gRH>L{>7`3Pf1Ie=u1f&qPemnEVcKDVwgCgkG9!RL67 z=(}$4{9OUw4Gq)}8Qm>3S|u2!4ScSts5*Zw_}q9na~+q5`UA#+KiPY~Zt%I4zV87- zEpr62%D|Ps-PwOP&yhV~94!3tOpM2kVHbixW|+E}DzCuXV}+Gng2%ZO<0U4p-15W8p3V0u>#lkhBWQW%@K+pO@yNsF1Q_g~GBX4OU{s12X+ z^aMW?d##I8GrYrN9{1>JDpX6)dd6$>KF)aJD!fvaxh?%ry>x6U;dNlup)0wG#)C{3*f#%IBhsEv87G!Z0w3!#%&!>+6>9D6pK&*Shb{&2}8>ju`T+P8A z;23B{u{v=Es0688qv8U~^{Ey15E=xqgpQ~>6FODb5Huw)m{aKTsGgRV8gf58{+Zw5;rruM_`3;2n-99zYvbH(I(8rX)`EK(df#vG8t;u;#?4sIbJvE`Z`=%-k`{~cnM7UmdK^<#ol8CmKfSC2yOX?mS?7|!CiupX1d%iVx`p3 zhhLP>yEUwHSYfJySd0^Pk%Xs(;)z#2_o<3kzdRdVQks`wC z8XL7G$x1=oP4(=ydBl-81a6U}Z{6(`K&EuDvGiv9jd-z1!SK8hDa`1xDyPzw_`{lYkEbMW;0T`Py zG)mf@+>JBZ1S;8xb;fzSvrgGOo?Japf3p!0xTBgW2FA})Eo+{(;b zEmb=}#Vl1<+Ee(Fk0N#VdHw_JAR6RDm(2*`K}T;%S<1v-rDxaQ2TzpQly>PzyOBM< zAm$GMc;`iqOsJr|)39qxV*t^+lGt?Fxlr10Eg9KSG7*iusgruR5}kI))`(ZNP~FpL zTD4-$p$Rg33(uMusPhIX>zk6d7|BMSEN$1j*4Lju1yvJwxP@x%3=T5B?Q}z0bNsZt z%9bdH7Cdff%RK52E9m?B(hGp?PBT#^?gf@~ncn@YJH4XoH$t=SIP5`vJT?AU;wArK zbkIJ?{WxAsHcOCFux>qf<0!vD22Hgp|J3(1C#V&TKjhEowI8-8ZAV#mV*{VLic+BN zv@TG0x&Wvor2<0&HW+e1 zH;}8TJo597{_ypmjpHBOR{j`QHswaaA$B6Wj3!PK%q;dn)1tq)yd!@7S5>{Ud_)z! zQR{Ip4uNGR(g^QWcC@?Qp?Xk9i^|9yLG{2le4kb|;R0M}Ej6Uv-<8Ne7|9=RA2I-H zFV_r#Ro<^tJ_FCbg8x9!fBYRVVm%kL-&cU^&sG2gdr*X24(Yq_s)THa-s4zP@P8Ze zVQ7IA&Eytpf3#iNO6E$furup(shd^XU8%~pbE%_wClhF$!(&qry;pYH83OWU|$pZ$g-a!&%&rArh zp#Gi0F>fn}R0jp1Ax{AN8>6@kCO8Af;)KfppJQP75CZqX39!xeN!Cc$$|8q^<$CQ5 zuj(th%BL@I&9N;<6~q3szpvP%1tJHd)#H>~B>+9-|JlL*=R4Ezq7l$kEcrT&PEB60 zLeigzlI(Ui6#Mra?7v_d|MQahPj-f4Ur`-O8Cy)%sy)eh|5&Kx4g^Ru>Qx)c=;_bY zs=aH^CHRUPDXUV)AN9XN{m&{Q3RdJGZMK|pisbdY+3b~R1~+$N!F`9QVvc`Hbu0IS zJ*%pf=1v*AXZG4l^=ykfD#P7F{h_R=!S3&F%(CIt5>f|Yu5vyOe=?3}f=N@1K;pIQ zA-fTf^mm?k_WV~25r;h4&r6=I8Bggz1U_j`{g30`wM&;P(KXb~WgJ)dQVy4#U$0H6 zChc}PhgC=9EgTh-JX97$j(J#ilKd1Oy8Uzue8qAKw}NG16996j?}lR!Itsc9ueuCz zT4IMkZ566ns&3!HqN)#3bwO_Ej)YfO|J8$_PN>{j1cH00?}_hPqQ(P(5AYR@i!fQD zn|k!y4GS1Cu8-L(IW8enbqjqe)052SAi>D@c;i*IdJOJiU%n_ceum zt^Q`_pnrLecj@)3MlA!-!S4xyS4+DrjdLltkAa0HAad{ub;W{dCycpdeB$boVPwK);5y*iwIwg z*b6<()HlL|9pW_~jlwTm-VRAByRAk2IUQb!2SYY%-_~1uYC%j##69wqQzWU6Ct_h& zrh9E2Sb?%~rSse>>DC93=m*zN2~i|SruT`k&$roq$+LLjoJBX8-U2w6QMle_c2;+v zbZg6)@o5KWXeYI-JE|pQ#q#m}ZtkM9p+;vHUOv%2dq<|6wjME3p0bUvRII_vPFxsv z7DJnOKy(} zQ10!mmktcteQ8tH?`>%K)X#a1kb&z_k(G0+(o zXkF9R%I-8olU0!|Ub2Q5l zd{3-i&U4amQ+P!zQT@a@=eguz=3VGiRWixe7fv$^S=DWY7yH^RF{OCLaMGA*2XA`# zRVX3YUY#$&yoN&N3jghtJM zu#&?pp7wj9XC*5chksDC5Wu_ACrbPZx1*C=4%7tudBW?cgyGIq#0hNV$$+ofA4YKJ`O=rd)^NXTPG8xNsqkgu0%5C}< z+<(VT0Gj*bw@^E;v47#`2BI8&T#!CQA7dp%eB~kSt`8)AV}VVRm~thSxz=K3KGD(a z4b|eOsxH`n44x>E*p++mt>+rK8GSR)@$}n7mgY=w<*kjVu$Vl;Z7_pxS@7j8Yb0Ni ze}VgA37)+G<-}3a@)FyxtHZ3n`uA|%`-snbm>hit7pj|b|}%` zNirhcjUyC^#uatpX!unfd<&DM>X_|lVSqFn-{6SV9-oKY+`09(y5*kZ#U~42Ds~=d zehQ+K?f$%w=$tfz^dlOVt*n&Iz{>{o9ObPVhtOMSYNM**g6gOjX46UmD|@CzPc^vf z>23`f1}EPrMe3;?X@mzncI@Kl%10xFBuoi0HZVNj)7UB`ZhOX}X=~MUtGc#6uD4!n z3JBPxm-uQ9OG(1dg$z4_1lBRtiQYuxNk@5Sa>ZyZe#uFQYk;2UeS_SwRfrdUT6cQd zTyWWqt-R9i-eztDJpsizR zq&u_uTTh0RhFacS$|jfNGb3%b+FwEFg0e&AKCr+tvbNWJE0LiVIDn!A;MW17Y?_8M zfEl0<6w3jaO91wpzqz3}{e}|h1;kVD{1RPtd7SfE(hP{px4<^2qMpgwylHw4FNR$s zs`RZaqRn)xgFE^djg16KO=guGha_s^=rU$hvC*SmrxFK|b3IcAr3aD#4c-U!;url^ zgpGD+lZlz4Eo2vZ|!`_Xhqd9fv*e#}1|@z_Y>^ zyPtaIhz=AJ?cScTm$nE`@N^T-vYywBT@@}2Thg^lp}YH7$^F3VLW3sVZf=)nImQeG zt~J}9xK{lhOzO9>*$ktMuuPyHid!;RxTV%M&m=J6aW`WDYEnh0km=bbRgvVF@W%NY za}+dV3(YYpJIq&v%0y?ZV)Iw9S^zEXw#Gl6o8Kl49VvAVWmc$0nX8#4hQ(1hMU4co zt+a2MKeW`nlU;IJ+~d=&mP~z6y?i`CnrWe0<50glvw&DFDDm>y)6mm8N|xP;u4!zu z3(w4ifYKPWnH4oK9%5LB=CJ>8oKvBBS*QMVjg{N=4f+28Az}G9OVCiYu)Hdc z>3abY76AX@0_%hIU46zehjuOWn$^jXJk27VzNZvb22%13F;BiyoF0Vc2YnV(i2pEzD>h$6Cm3o#i<9;Cyv2u z^A}D4*&NSjXi1W(BrpFtbvBxzJ&1 z`XaWc5!(7`%e5c{vIRfPpm@O74*-#GuvPBP0a9H2?n3B%FuNW-KvDr(t^m*klZZAE z@G?6La7mC=TqrvLR;Un;0Oo#!t^WU+AEES#!859SF)r)Wvf3#5NHW>aQ+lBvoCgc-V#%;T6X^*RSPt<@ttD?ir z%Jxv*cC_G?d{vBb{9uq`15oGepOoFdd|e_>HKP^pdzuW%JmS(1DihQWu?_qJ>eBz@ zQ^P{JR@TRYp9n6YMkL(w$o-_UQuGSuK~Q6TERKvrxWuEtp{awFI5gH^EY~4 zW>YM#6%cSOuTs8Aq;oe+{5%suBiZs5DSmi9@+MfV%Q)tUGF2)xIXTquk#4+7-A)-I zmltqtb^;&`S;N`?f$weX^^cs8FiSrlB&&DqO>Pkc=5JWKrSe3I&HA2BvZp=W6|PQJ zLt`>nbh%s;vGmxd4EEc<1OwH-w+_t`d@?Dw0KUqfza@jE_ACJzC5V3K!l3O3NGKu! zV31FlP495ltIF#ouqoiTWH~tjlBKT?=`Y{Xe!$$aKqx5yXhFYj?e2pb;onwvBfgVX zl;nbomhwIa9Q)-04b~Wd(JBC<|MWd+(Bq8D`1W5~fK=^?$k9T6ZQB88d&l?m92yZ0 z1kQdoU7v^;+=di6GLH1iF#CL+erXG!U-@BLo$R$AGL0?V=wr}OqAO#6Xh4uZhg$zi z{#6Ly>y|vsq*R^(P+S|p+tk0j1#$`j-}V{A=$sqz4Dg@+yWWO0Z)RGu==0X!!x%JZ zJeoggR(${@vD(J}c#rD$S^6j5m(34iV}@>)^{8LDeNvQgr0rT6UIuXC=RgAWoHE9q zSC~_r;bQ_>ZaPgPt`}q3M1s}4ufE0A*7H7WJWx_>d6jOySNnKPGbQpoQT{TJG2}78 zg6NWl?Il@}U)m5&wp)_$1C#)_MZohRagnT8@Tas}V%$G!$(=J7(;Y5KM81J=FI;a%pReBx+!n9DvaNlCfu!{L#-hbF<`~ z`WzCG-s&D$RJQEvM6mWnBtv`&z!%4R+7V^uDV3wWl?9)A!gDw}mb>&|qNI5}4;~)| zSebFji4((n$xcxvGbU%KFT=;*i6IKcOCZs4wFp+j#6Q4_{x+6uB!{(72k-|&>mpmP zvz=aB6{?+k{A^M1cEXBS@r!l+r0#P)hFprRk0TGfsP1mb#QMdFYN5LQpLz*#&Ycss z2jyl+-LLHAPck@K0?EEgN6&dE0h{J-_*z$k+?zk`l-bu1QkX+Hyh1C+C?|lPDqd&CNRy8))M~$6ZOkOLdddKO-p3k2x9(!ZuTN>Ll zLJ{kexXc!yK0PvbWN1mxiAKRiMU9jnR5;+qS$;z6poG(_ScphX%{j1jF_SNPEVFX? z*~&yi#(>IL6pfz!7)WnkJyBbji%OMVg30aFj>^j334~s3Ggc#wK)upRYfu~fcERDJ zBN#+qQu4r553Z+b5O!1h_Q9qQy(>J|HjDG%rA|px(>SS9UNlFwn!`0S7(yP1l_v_? zq%vP&DB!3Ocz17mchHxI;u9biaCcHWWf$jLGnOFHN*H|^JgFTw&ON1oQdE;k=%lIz zArF?a4!@(hYn{}8njdm6+cp(8GC!)&609^VcU+FXCy?qKd&1+Pr%i6=Dl0elG+bS5 zw2m!rPYgq$A{pz4CbEkYr@6}SDn!e0sodySr&k!EijY#1GkJyd@|H`3{+mhCI;;CZfd zCdD}}{=>_wc>`s=+}S3ity%qg8oO857Mhj3PMy~b4SZ>%RHl>qt>7Eq8!Yvn$ZKD^ zR0C3M{kdT#y~b=V@p$O;l&^x3+L5JU7UO{Wc6eO3(h0;|jB3+OskE_SB_`-2qZv0+ z`5lXBpHDv4c`(QW_)(sNIVXg77)}!doMcnSwzrMNG~XX!cLeqY%YJ-ln-a;}BN)UA5S zfBUnj>SpdvbWZM4|5nHq|Fo5`r@!-#C% z7)riWh@q|G`a{;uv%H0yILVhJjH()>aNPf;g9p!6eZNGsV@6T1L!|vP7tu`?H?e6qb9860y9ze=*r!I-qC&<3p2YEI>eFBg3JAYq(=}!o$ z|LPu&toJt*$tpd?|H`c}S7xppI&2&uV`^u@=pmGeJlW--rt|G61B9cWmh)?pW|)$k zVWFV>Tw0kE7RjJckx7sGf~uxFI(UY`fjl@=dET?Z*0RM?TXF4jR0X?J@(sh`d_$JQ z^zldEbugInrBCQES_q#vU=H$clpxpri-E(g+xLFQz3>dEr z7)WB7~iXdHxf=CmPCWexzC?E(C zklqxeNHKyGrNu@kv``dKtFsZ)VP!dFP#P&L4VRi96e8ul=lN zmHS?6X=T7!U^-!m2e$%g*%V$8sKaZdfhzs)0qquj z0ISb|N@-`1GEgulMtt{71Bo2PMHF>w0i`aM*i(yzMTo4s{}cbEf#JcH-Dcc`oE9U| zBcYn0sYgC(ov8~PV|s3XhPHHJlro|NVFTeymlKLsJ-^F!_fJG%e=1_U;Z^Xsz@(Zojs@@I%L} zSFQqk2Jd@qs3w^hh`!60LM*XB*k5^5|3-T1+`oK$22zGgiGP)S`_E+WvxvI;r*{P& zVe~KW(fa$X|N0)kKi;3;W1cl-zXa#x&cV1HP3yj$dz<69Iev@4_RCpWYlia3-$2$A zJRox{o&Ndz8`rt*Y$i!a;nqn2SrCF`-EKFg5>38 zpX799#ta)e1{_{T{i+yd?|rmX$yn=q6FX}xuJcy+YsgJ{pX5`&80uZ>e1-4c zRz4B)J9~1o^%c%)|Nm$!{|_iE3zwGel#FX4wXKT0xi_JaXLo$?u_80)+!|WcDYVgS zafa9z;t#Z}|LmEVS8>`@?)i}&rgz4~JB!U$QEkqznJSIt8AwV;7L=CHeA|ov!nAPf zNZ(bJyjOgRE@VJ_%>x{qg45Wk*zb{ALo!fJn!tjDHaM#kSQKvQ8&Cmv=6gW34o~J4 z?FZ1z*=wLnq3EA}75A@S{Yx7E+8h6!nsS3e^9|a)E5Y=co`t)_hPUGf8uj8XW%HG! znldv|SsAezDWN>^KPh6@JUHfk@zAi z_D* z29`X=0|HHDP^3Rfg)}BQbC40#{sZIZpO8v|X82PjP{hzeYz1YZO>gVYd?Pme&g6nU zNEuFhxQO~-ie<|^D*qexhuj8)f(Ala2LC~S_6BJV z1~>hasmOmsCO7fJmdMM_A)0lgtriWLkbBdpbcj4n>BxM4c3)(4Z7zO{BYtylX|Dee zS$z?;o!F)c`fY}ACV9eQysys-DD`v*;M(wo>Z(Q5?Z!n^wLFMgD-Z^jXW=2gi2CG( zom>kXKsV5qRse(u+gm7e=ScIfzq^6|y4k;E_OGq+FLnBRr^XXf8wI)-Defx8Figmb zOgj-Hpte%_(U(_5%{3h!r-sM@f9n4P8MaQ&v7LxBJ%+G?hBVBE3P7T;fi=rR@j#E( zN{4zwbhrA5+K-i#zh6sScFweV%ahkXfxQ0{eyy!DoCbQNO$hM%AA>fpQgt{ro-dJ+ zhzu^GUZPvEv!|ao4Rb?l_+tMnas~hO#<&mzq0dq}u^2VD$k}gYpGlWmRle z-XHq)#0~3inAF`D*?2lc^NhHkvfWY>)bwsxj4@%(^VXQ;d9DR1(9{YVkuB%Y;~RjH zvBg)NK`J1=xKfksb00=06wCURe=Y!G&Xf&_?tWsO(BDge zk}2{27zUX^V)?OFSJRMoxbLCmn5Y#}&RK}7Cl}&uT9)d13*C;ZtS-^suH4qWS;oX9 z#7F8iW(J?R#ol3*5<`b#GU9RReHs@#kt_{zCQNB6+5qA11$O3~bE;&eKMSvu?KMAD zXisRnefz5Tru}BUHO|a*-1nhKNH7#t1IC&)PO#`l#wz1WDn)aW(FvF@nVq>YQ}47T zi}v5ub`@-1ZFcFgVN|M<=k?)C)g0RtzQmF2B4S$rLDxB%o;XF7(t<#JY-z?`oPG{I zt6kKD6Q5l$qHKP()oe(La`QmZ=*Dkb-v}(da`YR@UuaLce*$Y3VazhIjO@@@Hsqd_ zHzv}~+PJJS{S+7x7-?eDlOO)st#od4)qCRB*WWE%KU90@-m%Q<#~5?- z(0IFsC#d#Bm<`A$sn{vQ1GrIwIn>ja9^0nMUtK5XEAg~5E4}+%y)yCCaZA?@#cYI2iU_AV@YcVIAUK(I|^ z5R^4Md*Dn=*wSwpGwuAPXx+?RrIp?Nt9E8-zu55*e=~$Mbm|E#d)@#wEsm6v`(LOZ z(9oQw=y6sDT2P?$Mbtg>%7uow>Qdfis3Ng+z<;=fcLC@evt=GuOmcIti~TsZE^O0U zZ@J@*)NiO$H&>n#3opoTp`D-7C+;V*RVWf_H`oFS@Xia6M}}{^`1L?!P?s|?Q|0>L zvL62_*86pyn^6fymhrdt^Ig8KLNVao*%cB*Cbk(7^zcNEK|9Y&l&F&P5Y{73WAot* z!<*LE2~|Gjo*}o->fDxe-z2kl?=i-T^#(_8E*ZP=T-*nrn?Pi%VRxxDu+g&csUz(N zM#>5PwW=P>*$m&BrSk@yL5g3?&67D}ej5wDAh+nSHT9{wc?DaO+{K*d1 zR=)5V;L>h~O<)>>vL8R(nEbiVpLk#VMFkW>3UF46FL?B^Urbl7hIx0ar2f-cnv0Ua zCMVDM*W6u}YU;LpAnA$SfZTwDZkJ6)?}FMhWGCfBtkdjU(v5qRWb_YQjU1E-fOm(5 zvCfxGHAteuZ=Acd&dxCAg0W&8=xn%&*k-2(&%yyPJ{Lc%53QpoTTSHTdKQg$;BiJJ zoDU0NvfcGi<0(Rp;e)VJOMcsenewJKvD_=Jo74m74_<6>|7-KaexG0{xwsSF#!cYNDFXd^d*I<3X;;=%53ha3>(bU0_mdQlL2l ze%lVe5x@|9iEUB@{Q($^cpyXeMjXS$sT$o8w|VVLgsF)#^!v zYr*J-_FVe@7oEQd(_RUcQdb{GXGmH}A|oeON2ftb9NysFN2t55_b3@DBlKoW^J9>7 zNzF2(VpNE2Ca^a|gbvUe%?Y?lPRN}s(3F?vRL|WO!LcY4n?*#1g%PI5J+*OoUlx5#!->RkrAEIWh?b+i zX~*Y|a?2uLpWAlvUP*&sp4tpnNcXy=0_qF)xZx8m8$)csA%IIN_?Us)eL?Ob9}wD2 zti%ZT1cqvCxdYqwcNYlNW{_=cC8l|)�rB=llgX58e)5G4{)LG0|-oNj9~({+BWK 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 literal 0 HcmV?d00001 -- 2.39.5