From 44ee2acab44a35364bd5209052e86ac16278e9c5 Mon Sep 17 00:00:00 2001 From: Nick Franck <46548427+CyMule@users.noreply.github.com> Date: Sun, 19 Jul 2026 22:01:23 -0400 Subject: [PATCH 1/3] docs: refresh README branding and self-hosting guide --- README.md | 510 +++++++++++--------------------------- img/email-screenshot.png | Bin 347769 -> 0 bytes img/unstructured_logo.png | Bin 96226 -> 0 bytes img/unstructured_logo.svg | 15 ++ 4 files changed, 153 insertions(+), 372 deletions(-) delete mode 100644 img/email-screenshot.png delete mode 100644 img/unstructured_logo.png create mode 100644 img/unstructured_logo.svg diff --git a/README.md b/README.md index 2d421c1cb..78cc2697c 100644 --- a/README.md +++ b/README.md @@ -1,435 +1,201 @@ -
-
+
+
API Announcement!
- +# Unstructured API -We are thrilled to announce our newly launched [Unstructured API](https://docs.unstructured.io/api-reference/overview). While access to the hosted Unstructured API will remain free, API Keys are required to make requests. To prevent disruption, get yours [here](https://www.unstructured.io/#get-api-key) now and start using it today! Check out the [readme](https://github.com/Unstructured-IO/unstructured-api#--) here to get started making API calls. +A self-hosted REST API for partitioning documents with the +[`unstructured`](https://github.com/Unstructured-IO/unstructured) open-source library. The API +detects the uploaded file type, selects the corresponding partitioner, and returns document +elements as JSON or CSV. -#### :rocket: Beta Feature: Chipper Model +This repository is for running the Partition Endpoint yourself. For Unstructured's managed API, +current platform features, and hosted quickstarts, see the +[Unstructured API documentation](https://docs.unstructured.io/api-reference/overview). -We are releasing the beta version of our Chipper model to deliver superior performance when processing high-resolution, complex documents. To start using the Chipper model in your API request, you can utilize the `hi_res` strategy. Please refer to the documentation [here](https://unstructured-io.github.io/unstructured/api.html#strategies). +## What it supports -As the Chipper model is in beta version, we welcome feedback and suggestions. For those interested in testing the Chipper model, we encourage you to connect with us on [Slack community](https://join.slack.com/t/unstructuredw-kbe4326/shared_invite/zt-1x7cgo0pg-PTptXWylzPQF9xZolzCnwQ). +- The partitionable document types supported by the pinned `unstructured[all-docs]` dependency. + See the current + [open-source supported file types](https://docs.unstructured.io/open-source/introduction/supported-file-types). +- PDF and image strategies: `auto`, `fast`, `hi_res`, and `ocr_only`. +- Optional table and image-block extraction, OCR language selection, page breaks, coordinates, + deterministic or UUID element IDs, and gzip uploads. +- `by_title` chunking, including overlap controls and optional original-element metadata. +- Single-file and multi-file requests, with JSON, CSV, or `multipart/mixed` responses. -General Pre-Processing Pipeline for Documents
- - -This repo implements a pre-processing pipeline for the following documents. Currently, the pipeline is capable of recognizing the file type and choosing the relevant partition function to process the file. - - -| Category | Document Types | -|-----------|-------------------------------| -| Plaintext | `.txt`, `.eml`, `.msg`, `.xml`, `.html`, `.md`, `.rst`, `.json`, `.rtf` | -| Images | `.jpeg`, `.png` | -| Documents | `.doc`, `.docx`, `.ppt`, `.pptx`, `.pdf`, `.odt`, `.epub`, `.csv`, `.tsv`, `.xlsx` | -| Zipped | `.gz` | - - -## :rocket: Unstructured API - -Try our hosted API! It's freely available to use with any of the filetypes listed above. This is the easiest way to get started. If you'd like to host your own version of the API, jump down to the [Developer Quickstart Guide](#developer-quick-start). - -``` - curl -X 'POST' \ - 'https://api.unstructured.io/general/v0/general' \ - -H 'accept: application/json' \ - -H 'Content-Type: multipart/form-data' \ - -H 'unstructured-api-key:6<~= z*lsbl6qRl(v@bdYJ+WrER5dG-j}Onx6NHvFnwWa0ou*;DOM09(>^^W+zoNFt zB2d14WabuHaLVg#_w}JXhu^3aV+S0MvaX<_meKF){g$okMd7N};LVndkT|6_!L@n# z1Sd0zxsjI)%{m@x(CGIr?b?W8=fkfi_j^ny`vNXMwUP)$&kFo6faWgN_UC|`sC~-T z0eTNtPS4nGvR|xNu{Z2}{BjQ#Trd4t*M5DC3H=({KF;)I?7nFwJ^dnoAStF^RHny| z@K>>QtxmDFUdRt-w-jrF8IRoLjXnF9i|_BQ|08GeeSyDf+ao4)QgnRP zT>E$G^S43%4>~%gj_+bbdl@Qy^ PEdLTyZL*E&3gG~ y^F}t;==StRhLd8`6-ToTB`SZL5eXU zAO_O?qh9I+s7ZQX4)Kq@9sJWKZ}#Q46SHfa4aavUOnlD~XKMm}#WZ=TeDjaRqd$_W zRWzT>Ib0uq4gEtV?_9XXuL7(lZH(CF$ErTo$e{ANxsrsB6IFV#j%VkieoMa@ZnzsU z*(8{Esg* QoXS%@T`(%vpc`l^4tOZY@vM7tod@9rW-QUIEi0ejP1w(D%h(KdEh}mVQgXqp0p; zsW=|*>do!->G!o1le+*xuJ(R3)$Ys25$ti(<=?==Ka=C%BFkc5$kNC1;dM12aeJth zxC&^}1fsQZrTe*yGUNZ?NI+m=DDaghi~A!g3MV$65^$tYOMF!TFIo5_42l0E1Bp)X zIPW**_`Fj$Um~ZuS(M@!n8ig#p-E$Pz#n+~FKrG%RM|`U-pbY+v6W?hK&2#3;(orC zlA+zobPALM!=$c-X)m4n*~6>6DBvHHyjEu4;<%O=KJyWLbGRSTA< LU}`U<7`0pUpcdV6*yROjIg|EAO_ z5PF&)NJWbHQLaT;nm{OC;R_9L |7`%RckV)Jk z`F=4cleqUHhXd%RP-)p~tNc44sv!WhIo7F;J+v7YJL|&@H(H^l(sxJsCs+aTk4?JH zwt(x^p3*dUy_2N;Yi`tZZkFeI8XQ=Hq-;^3XK+op6EmPh8R%Jd{c1#XJ>?qY*m5+X zf|pi?4-{JlFuTudiP40mFDR@0*M8MTo_Xqd?v~NK-FStyLS5I&rGw?8!3#PuO9P}# zwWNQ%N+*C4GN3VigYWB&wUE8pRGtRUM4uLI=Cs6LybVwJplgZ{X!sU@o$g8S+P%0S zc|alnkI93js#<|V|JjutGPL<+{o>U1Qolu0Kh8D&p4de GB=07d!I6Wv9P#_kXQ0U&W`maYkeY3KhK3ha=*Z!cv+nCCr)+AA+sN4wX34 z^2crg&1g~|28gU%j&(rcm~9Z7!aOqEtQz$4elIZlB5?(K1p8@yP6rl1M_(n@Xk*rk z22lErw}7;&ADHxtb8K;n+D$ON?kSD8c~4#E3^`8XKkAhiVC)-w?dNpbtSUDuhjT=h zWnBJ`jbKXo0ui5ueKZMqN-5mYQT*j(@3T9vLNEtBg+9b$7;3se4)wOO1v|SF {zWA)0MU5VY3Mx7F!_mt-1`cW%1xN9>+wbj~0M$SF?D=xe|CPef^+S zWXXfgdGvn;>VKlwdq1*Yv_gMWJV}C2H7s+pDX-ea7J)i6$(3-jEUoQPJA@vZl4hB% z)ZBsL1H^>m%u7WkPm93l5lhE8NzJ-B8?UaI`4D 3B zV~jw{nc4fR+Q-`l9VK162g!zZv@?JTPk1v{>Vk{Gv5Rbgs&@pmW4q}3Rrdt3xzWlw z;S)T_-v}KHQq`q#{>G_%TQv-s7p{Vp_K-AcP~v|F^u#GQa%35(Eh75qY|`zEQK?I) zEk^?10VXa-)nUJiIF>>m;8Mo#z2taJw*Yw05d2qSZy)oT!oHXibtYTAP~1$8Ye4xx z=W`cL6{!uU6MX d2E!bNn~WxLH2vKs`R%I(nu!n`CNQbV7N_EO#=vqym#2H?|K?}d=Dmaq_IYn z&HDo164^cb*5Ajg??EUU(HYm`e;-_yNDH`(PQdrj0+UgRYuG!p)GhIpg#;3vzX#VP zIfY#dj^*1m79Tci7nMl_UR}ohKH8|I-GuCg^>gMlsnza&{R{W|m)Pop+~4k32ud?# zSOQiiIA3e9V8-#3mH`2fdMz71+ls8Y`AQa|_TUAF&f-SXsWxJpWaA`naNBqTyw=6= z3)v~T3h#$=@vX9&iS71ZjNaR*=|!5Z1z}6xG8xS-cC=16$vkEG9XIYXegFe0Z-O)n z4CqEHCR!ETbcLZV{F9IYi~89@(wp}^xvOc3D4q|2evPIUPsup1(9FMkY*~i%NRASo zczz*t*;rN8EfI|Pa4=32k5&m`yqian;cJOEQ#B-HUYa}(#!ARIc#G4}_f#CQcyn{w zDq_E(nJBw?`bSX2M4(73YG#hUQ&+@wIAxUFT%!8?>Nkaag{MlaRi>i?T@I2i50XhD z3kyI^g&QV1zK}BaOYps7kSEAe;2SV+y0Ii|O)3Xt5s~p5EaQb&POou^DsAX_TMi z7fSw}yQ-e!k4(4L)RWTV%aeajU%-q>z3myT{3Fsh;`80Z0sbjgJ{b4)_K?Q)m)ze*T2L&^@Fgn<{p b5|ZHS8) zGByA!y4HFR2<$j_BDt-EASZzGG#B $HyA#Z2bI3b*M_$l3XcqRXJ272;0R7}C zqYzGhJpdDJfISlLbo`!_Kvws2I3^~Im=`dNhBg$}@ETeYe5pE};;W2`X0z8-n0+9j z`}PAG5-fJC46`6m-fMzgK9ELU^c=Wx2=|fN_Q|>Vf4wTN9(eQ$O6N}5$Mr_jq4nls zYh8CzzW-S!SDk85K?yz5=b)c+J-=7X(eUYj!WCDTp_0H5<$E1AAKz6IqyUxLh0Dc) zxMokaT-p@@kCcyPc~!)oK3`t&tZ5*Lu;dV1n5439%S0&5k9$brFr5jQXO8_;$`2Kq zz2;<=)rGY7BOy*XV*TpqluaX=^?rN5OT%OFVd2Sq+s+?g1g{4QGXs63Hw4>Mm5z X`Ql+05`1)I|L@LBsL z#4f=QFO73Ucf>GQ++n9JIzF zPY#fNb7X5#TLrW1)Y_o))x;fDi9&o~QWRKkC@j_aYs}0{h9DW9GVNCFvc%K!M3ne; zRiKojpkW-rqYUF>aUa~h`xM$e9fi@|lvfaV7?$x6y7uaNKh`fQPieHVII4WoZi4vg zG#^-!OMZ*5=lX$ExELnX{=ew+e`$EIiTs b7CXbh{S9?b-tN8VXerv?R&K9z z5XlAs639=TkDy|FImF07E`~tjvQDYXZS7PO=ZDd1!Co?6xnm^g%kH{du2U=s3(7M* zl~D?bbCP5#t%X}*<5aB~pB;%M==%ESoyJadL01SjB6g>`jv^-*Q(TTFVqNE)E2>tj z6>YsHI;dd&$`5j4?G_$Pn;~XidT+i8?cA+b4kFTS%qlLr&7O)DXKrb&2ri(t=y+;t zZ04t#D4KpBnL+3co7a@GZ}!?vzUxB)aqb_LJYC2ejXF^if2FvY823eyu|2sG)H^Np z*fuFAwRdba2gtD}kiw;YcRGxD$@gyfBkVpAKutJHS&pRq(Cu<<7~->6yaLRASEwbP z!AQ{bbgS3q50fPK<)_@{Sto|ntXrHxAJPdPaliwhSg(Y+nsY@*mtB`UtwEBeY7_ zV%_1D1!|2OuEsykQ1$#2)iUU{S2=^-d62DM}sB9$nX^BS@ z;^c# lZ)FsUHn2_I5qMd1M}u_2=a${?jGAh60` z=X(TLH8~j%#q&yOt4G |vufQO1RrbC ztuMMSPkYPnJcmtt2~<9XJ2NKEnx)Gn1tPQMGCpMWOsFk5p4~_(dUBp9VGl?`RAkA3 zz7s&i#}YSN-OlxAn${6JNL}9=(JYXTu4lMYIYqISLaBF$&h&6Cx-YVy!S_fB$nxtS z9S$Chm)($AZWN^4H9Hi;4}AOvP+ZeRqw8n#xCM`&-S7$|X1wY0l=-e`JOHvuB2~%T z9bcjzUh=^%j?$gCH)1GjHf$ve6{&w?5|Cqj((TCf#nZT8(M71)(sBH5+Q;wL%97@+ z{r^9+B86r2;VqaY_<@CT(<9^uy|L5)e0EZ0KDRCfnztFxMk(vce>`f8eHNazM?2Ow zG*II*(4p(N=eE$rc|xX(X yvw?%^F@v_=NS`hA7 zFq%%6>X9oIRXVx>*=Hn>-N@civ3;c7oR|wf;4R Sir7Y@|6d`hx+WKr(^JQ-*9r{7;>n=3UPJVl7YitopLLOlkqB3`$r84u#$g zz&>3kClw4W&NUv>qokb&PuWp9)ra1D%_3ov`v83?zL(}aBFfpkTbfYqHc7o9l*Y{= z9)Om)3ySDI3a=|_c|Je+A8_v9amat<-Y-HSDjfPUNt9uUa?42dQO+1|jR;({Rxq3C z&F^-Wx_KRLn<)CjUb191VhvwKMpvCTJkBw!8g6Jk1Pie?C02R9^a@0e1}W?-AD~s1 z^k<9TX7Eql{IE4kkt7uH4I=LWVz=rl6|u{^7K+13uWn-ug_ly>-h}%ok(>jM|A|)C zJwT8QGja@Fw-}aG(1P#Unt_#Z@4KhD7Z7Bhr01M5{p2O $S?I{T=dD*>vk>XrB`qb{6Ctah2+)w0+ z@>7Og*ZiXx07z8ej1w#fcvd$ZguP5+=BGa_1-~ek7JRJ>Y2EuvaP=o*5bxl-$kP%% zuZBmObx&N`g(21QRCY9-+N5M?pnrBPdfA;GvtGzP;H3}#MM`BG*Y>S@ojp)uwp_e# zWKn*JZs9^`7uW-4aCkVb$c&Si&QWD(YalS#t6J5cZlb2@iIC+z?l5fvsOLkqX2fXi zkjZ^_N|f{PV|@=mzZ`&kPhoNDXw(twbe*WJHqNyU2#X(SK0Y?DV{g>GP3M^D6@lYV z+|@A7ScDE@5nH8}?BEZ?0U(@KS`%6s;_v^Ow?>}YXe!gSS{@RjQn}NWhyjgHor<3C zm=^8GwtD7&62 _635B2u@wJW9nPV&i4ImG7=zr`>UdT{>uEM$0`lXmg`Idc&cgJ5tVaeo= ziyDILFp@mQ>gjpR zlOJJI_HVFy&dh%!M<2B;kBAQGL!LehOF%THzF^toI a;*B?w@MxlB80 z+-O{v^X(R>Dn{bGx;WHpb?5LXcvqQm%#sR*@AEV_+cn`p#(h251Jg#Tj8D*u_vp@D;RqH=*_|nA9%%}at%^pwCjekJT_H@o zn%ffU X z#^YcEY;2D5&02ca5}-OybqHs3E3-Y6$j0M6Xd0u=VBETrY#dR4lGe!le>jErr1##D z9#n*LK@FsH!m!FgYVhO@pDW61Imc82P8CWD+P9p!E=t#f-$Xn&i;KWFKZt0L3Vjg{ zG|S4P@@Z)o+ykLprdqB0N`Ae3fsJywt>Ii>z~|K6a!$RB?p+3|T_ BrW;h})jm^s zO-07XeDt1F>@uv#Z_tI8_}Z%1-D~#0k4*63Fm|(74=F0SI>~20NKwcEKSzO#PsFDH zt+)gGrlD;u&r5o2;lW0wj*(f`&ab>E3mjP~gu=Pj$Y1AF*LX~VhV3GDe#ucrrXBd# zK ON$PnV{^`#9$<@9<`Gu{GCkWhUX$zJ zzXgEK9cifdZWj-2>bqkOr)=Wnt3)Vf(`)?$$#M^w`sZ;48?GC0XwW?y*i018gs!t! zJAG`A75_hk)>Hd?rcDp?3+3?T2)tt9&lPYV7?EklKjI;w;u-X6WUs0+Eo^rXPQY1= z@CNl@m(nD2We~K#qeP_gn~$ahujN+tz})USlVwEa4h?#%RKiCC1j;Oso9U_}Q-L{0 z;#k7^+1x7Y28E>NrSzlWh$VD$kPXh{FjAQMeyZ0&54}BCW0pi)Q%J!J4%Z+2k$IJi z(zjR62)vralxQrtc_%qzdVUtzY%|EKqsL#ueg0c%rQ-*+=8MhJFKKzxG6z#80gTAh zq^6=Th@M>iKVaCFnR2sPFpewsx`W6?(HGBO1-EW J+x8U@>26dIWa!308kG ^LSbh-{5Ojr5kt4SnHR! z&%_8Q#n>?qF`B8NWZ3y9`&&c*V~G5ph8nIgmXvM}iS t=&4x(Esx(w*rpH`nWC5Ul`eVpB}6K{ga5iaL_pMs&qvIad#gV zdO7~?9iWAo5OoprG74>w{QYlnGl7BdhD!L$ajjx%;o1*S}Mie-kbL`m_8f(Dym7 z8n`>1^?!7n|GUtp@alzX9akkk{Oj)u9I&+YSYjv;^ Z{}2DmRSTT6VOV?X zpUa){!yksBUlka6Z}}d4y-n*4a(Ki*H1m1@`lubC_Mdk4X^vr5O89-clBug~-9@fQ z^dBt{!)qv`qInPe^uxbFY Z?Nu6L^RK@!e{N<=vvP76PEJWf|9Uv0wd`0d3A;xB`7Q>WjtKX0^Taa7lMK z)ec6I47u%wem}BlB{8xLeD `UgEq1nYEzp+C?sZx8q)8T5OSm92nQpiQunN=< zm#EQV?-_zt9jklIs0LLjA5ijifK(q@{y5Oj(vKWn_fwC7ggG0UYT_pbI0+JFKsEj5 zA+{XcaL`R_vY382nPKu(HRHQ|S#z#qf`?6-RZ2*$7FB8C6yu8~@(lkg&u+^Qdh0J| zaGF~ESy}I8=||qN!8SdlANi;cB`W?{uV_zN!e`B$p^c%LI)|h(l8HdNxZiYnG&RTc z=R^@<9>G~Xa& ^4nGOErhia;cS^Y)w81ehzReA{e^It{U9LL~_Y^PCQMlk3J zq9#%GA-6zB$owkS(9|i-36P+);V^vwP-x@mIZ|uC3}y2BA{3}-+-D=<$iwusYU6mu z`{@+xh*e=h?l+U7<0n-o^WI~sXB3n7e9^%CROYL^8R}9*>FHiNI76$wz!y<9RFdwK z)csxc82s+gXMk5=mK6;pAmpu97tP{}9$bgqS-rXEc%J#^A}^%7SziYJPIg sp0d#`!b&B)CJf @F4dP`cG)Qrih zW0crQvR0zf#6kYnCXHM285od7$b)?=(AuXJdT7Or+ynrKa1K>rGkLo-3|pbV1dh%= zwla-}NuMtE0}M$brtT_Wl8BFfI<|vF$YZLuwj04+`o$Y;aZlHOsI`o?sj5ZHC%5~s z5PVwfV~vHifF~L9WlItXQm!K1)<9x>5mpt`>D0KD>kMQGznpeC=WIWYNRGw?Ov$DS zRMbz#;7W48w86D;+l6QNWhA5aZ*H%Y)5;!K!=%aZO{a{oK!LZ!i2h$y@-YK1G;N^M zuSeymEYm!!KBPMUHbwvJpQ~foFMtvdTHw!I`Ag`|j8x(KbdUUo1LQqy?;b|yemmPh zvXbHL#FA*9R&Tc _)81VY@H?u1T4mFF@YEM}<9@Z#dX3Y-B zP-f(CSW?2{M5sc~>b~n3vZ2aV1l#@$36H#&Jo)vO_{!oYoCiXw_TXa(5)_^bhG{PA zjLvR*pZnwxjkd>zvJe>&6Ywg%;Op^9HT4+a%;V@u(xe&*Ca)gtAz VS3Q|a!3*1sI~lu!^6B-ASfbAP z$XE#6^)Ll?!7V+O) NeSG_Y{>jD7U`I&pc9f2lrE| zo*0uoNCdj$e0%k8B>`A-*Y6tNi;@a@nT)pv;mn)t8`tCyroXsB`>Z@J?d#y{o60|d zoM!O60OocFL@k+>5zGW*%*yKr8AQdS`-SY~2PuFx0sgbVgk@qd@M!Qw3HH!E#7%lA zz1azREwn%METRj)QlGv3Bo6oxv@?TM#ZOeE2a;XcBjl{S;(IYH49UxbQDWyX3hfCd z0k0)i6Ms|`2>^{)_ih%8pE~vFQQky >3O83wdydK{B$YZ)uLlSAXxx@GBYk lb3?K%zmtb{QigZC!Vp0wxd!P*i?~zB (WW<=f1Z>Ssf1Dwct=6H&kJMeNDW+OiA?b| d1=#;J=XB{IrrWU|ZKzQ}|eW3el~*)F *&k3-dN4jHFUghRiw!jE3y4xt1J@H z4JvuXPA*n-bwxF!`z^(yeXdhmYDLkVPA%FT8w7A~HPSnd*3XM8HGeQE{|*-tOA3j; z%!zS)U(LnpODq$#^9gtu@}spR!~S)IV|GFrXPm_a$9yu2WFi`C2l7>ns-5&uy+ h-1?wcv0w}T zAsvBIU(j=?=vM9=Fg3a?2L35xKT~au(n8pKYs{|Y&8R`1Q{h zx|a0Sl_F-pJHjG@D>oZ9N-H!qYF@m#e3BL}>IX$3RHr}r1FhC(zRU}rr&?=h0yG|Y zCG9+aqOpM*`Wr-mp~Qr0sX=T5Rs;*n2XEQ^r=XN?{V`2%^B#VA-=c>?0kS`q$uY(o z;U^P;(%2uv7uKOtX6Pm0E{=P1*VQ&b3Bt)^m<~Ew4=EK9i m{ psv!bdpHGrsV@(sCkJfaJgnDk3~0X`|MtdpN4f3N3RHd${UHe ziWTP~n5afno4Mp=uG&{5 (|;cJMG|?Ru!SLGaw2~#SI5u^#y4Op z_`5SBg@c13a3JB}+Gvkod42?rgeE$b#TedmgPw=eLMvsHyC{o;$VmX#)T;f6g-K$o zI#K9R#6==*?Yb$$FaQaefjv)as!-m~%r+qtcqFv-MZkT)gG}CrjO`^F)bGMW?@+&e zw~oNI!9D?$|MHK&l^YJwl@Mn%{(1>CZ(AOLT@Oe_+hlP26l~E#24i|(mrwaFx-V|J z-EKgB<0&1`!tXzQDs`y!uFfrE7#K@(h|D)xovMbR47x+rDy(H5fvTEa=(6{n4U}vi zWNfUdYf|5CZGLmSXv5AeY=R{%HUI7)v|;X8zISQXh}Ec<#P;0&e#~Ro!|Yny?pty` zMSGt(R+DZJE rnyYqc{tkZt_!wU--?8s#j7cWNxG?NK4 1Fb$5;$ zRBaWHhMz0yv{K<8WyFFuP&sIsawF4{35wU(7JVJp+7K(#vaO-z;x~{#4 I5P7b?9!Mk L(BLxsA&xBx$}B2#>oiUh zm ?Q5E_BK z#KROxG^AeL)A7w>uXE1 DnVs*{indtm5_0#^jU zV)i03#XZdh-p(8AH3tkohxO~T$Fv-AJ0!p6G%Gf>TbV%1l62Q_mN`=%IU07qvqgnt zsq9YBMFbFT0kjzH_cI q7MZiK z@^dIU&~p>Go2lM+@Cc@$e|TN)yi1Y*xrFDfpZaNKq1eTdAco7aIlbk24tAmo2P<9J z{)|3wpK`wl(bJ*vPHA4}mniX<)a*(E?t#27)@icjG!_kltUDqbE`m=JX_MX^WWio9 z5BD!#PS!Y{=`CGan;G0L@+15rgD+vC`u+E3`EVc5I>9*VK4??$?z{l%I`8G8l$M>v zslb*o@>OkqiEcDy4)e&Z94bA7_pp|`umLLkOPoZ!1ABxr)^QU!W27^z$F=vq^7vfc zS=KyBS@kq9jZthSdxA-+2+&FWlQj@aP;%v1Kj-Qq%tKh1|AbY@*`WujSwTue_-# zKuIzs-wx-{aGju1nO?Nuh>m3QMTsbv?X#Cax5#qxd${S?FuE;YnFZxtL$!A%G4|F3 z=r}n9Rs-h^ugUlMrVAF Q4^VuX zHU(Z6RnhOmbfk;#Gx3CfenF*? Wp`?tw_0r zcbH4DlNG8d`=Eld$n!%6ek6BvVY;m(`+#GJ5Q+nKI8%bo+rr(Y`piGwJ$d`XT*d-7t-Y-Z~0>rR)(Mx(oW_ z6V&%*9R$0%3x5kSc?;Xbo1_=aFT0u)j0A;mm{*BaKnFv-%+IAhUJ*7L?%zgouHIuR z8K7HfElk5&Pb^+nYF(O;BoVC;V^U20eHkF(D?W?HL(=Xw<(Hij-?F04I1{DhYkIq@ z_$Tfdsnqvhc0kZ3*|R1<%)KzA^BIIy`{8v%1&id+zezfEMfK+bECV_S9{Gm}WR| z8EgZ*+j6#IRT(|^z0HM^J`%=8_5HgDrVm{Mg_YAi^s9RT6YIylGFO6$ijCzD-P5*8 z#0T_nubBtl)s9hz;9_xbS$JEdxTR-t7Kc@>vh!q!h%?IJH9}nN-M+!-2l>XcLlbTb z<~)Jl8RET@Ki= LN2m@jnGi%&&|(yc+%JEJm5qk>~H zU0SVZ;#0Yu2#FasBsc02`CZ0DTY;%|WArcLuLqCl?MI4N>129ChN@rYzXj_OCHaeH z+%X}?#8hz&Eu%~Vi8jCC6Un2~pt_>^Gdmb1Lz7fdEl34H2mS=uEs?U5ob4`U?<&dx zsfl`(WZ{l`%9uz=G^4z#1Pf0C)lD<~9JqR`ZPgJaw05RwRJ3aV4d{mkqYv>FGCWgX z7XljwWaCJ}bv-j6M2MqQGij76ez`ZMgJJMsKj`sC@>bE^$ax}p-UtHyqtbTOicw|y zNb@gAN 4^X(+jyod~!=K4d#lRkU7?Vg4bgp}_nnBC8tHLeWgTljD5>FNudhQcVTmwmm= zQOOP8{#s-DkH*RFBT3?&ngZfEE$E;1m=nPC=aa;<-Y`o>P+MqqaQtGora71aA?w7m zm9C@;0dg<4X{{cEJKaA@Dow+XvCjsEW1~eUsWtV;*_p;pnIecOlYV92bSa8JE4muf ztLae%cUdt_ HmkK1Eq=eyYsyaja~nv&%O!JqhZA~+VH3Xu (HMGcDkL?>>ERAIY#vZg8{{;$$1t zpwzEKlJI##$8@2V>mdSROZt>$=wYX@1Z`~3;9<}oK_VU*IauVHIcPFNzR~r)qpQjc zD6eSPG)~S!)I8bnFOHHAAgd#UE U(yntvp77&_J@b1k(qTAK~MO0fb!Dg=*6K~~fa7r%-} z-ScaU=yk)kb$iK=vR=6#BF<0L_P#398|Fp3CXjY~W6z?>{u7-1GraHBMHj?$bu^8G zLKt?& LdIyG=)JC@q@n1YL2C_p zcs~wRqJaaE;;j5_tM4>+DXKl9Dx>S-zMLHrZ|ZGhcUsP!3WRE>eY7~Umd2B^t?pr2 z)OLRUOgMX-guO|ACR(~*6jks3S!`uhN>IMXN&)fA{63-CX~nzGf45i!1cb;M)1S9a z-&!QhE$yRVCT5B1Zg|Lj-fOIHj9vujv@aLDHSu&3?@H9Fs`{h`MQiiR4F{j%2Axsf za5U|_u}vM$Gs^SoPPr3GlB9z} b(^fX1VisEU{5d*Y&PsZ$L_HH11;PmVX zefFK_@6kOP9eDjgTmy>lL!)dyaqK;%e;3@}3x6GLBoC$OaHB`^_y1zXi_Chx5K}nP zv#B~DbjAGk_2tC!ee@{zWOg2hzh|8XCI5W BVXZ>#(x|1oGgMC?T^#_NSca_aGMn0B zl D@ycu}hs9d*{)d zZUi$fJp@FyP1u3_EG|8%QA_@4kGPTnB&`#d(cyz5z64U};e^ubvli1t_B6y-Rr-ol z{=~uO7D-nT(J|(ng`Ex!_bA8Li6t%|O|k1;j&p^#HWss#eJYqXOEojw+RwPEK!J^& zj(0N9rT^;*GD%6WCY~!oGn&S5B0b{JTapr9POC6Zd&&W;?}AhPA$H$1oSCfm9i5Wk zA~D@cKYngpZU;j?^a!2s=HD49`@1Ge_XO{Cc2rF}IV079GFp#=|47g W3qL&2sN z+e^X@^@Juj3im#nn#Asb5YYgCh7_ZMK%3Nd{ep;?87i4ej7P?51Xuoj`Tg&V1Juy< zUp9x7H^Moe@st)SP9Y+rjp%SH=)(m(UR#JKU6T|B!qn%0<+9Wh>SSuGdlJ==;bhIx z<}H+S^yOb^T;E)mM$!tQi@7*P$Z#8>^yY63patQ Z>Q`|LZc9RjLZ)^C~J zm=)XURM>srmOpn5WN*Fx^p=0#ij`xfTGMo)e~0y$Wx>rKq?2+)5rk&xITI)n0z=iZ zHDR(0_8q&VN{$x@^jv5HlNqIQX^9EEcXcF#ow4Jvrcc9Kl_E!n2R!)Q%NB9|=N4PJ z!@}~rO3icUatP#>LUKq||Fv}-0xL>E><^6fyAHwOj-PWBHyF`lgV~18hCbRc@~8O} zd`FL&2E3D`$%BPvA6HXDKs2=0=;5bf9G<{esrWAh?~-9WJg>0|rt248juArY;YTz| zCQDfyTS9fHqvx}GKYAQl<)O2~k-?&^yS_73{%50^W8t-(%T0WL*RY6Q<6IqE%_yiv z-@j?!qZjEYH!6ZBQM7y`m+TuK>o^rm8<+XC8fmmo-WO9{;wR7aZg_rcSqhi&NKnPk zn>YI=>& LLXt}8m3oJp2oqVp=G*^aG;Z&%PbR9&A!)GVSHSdIT2Bx%2tTDD-*GaAzHh}!d z4Mjoq*$bV%%V-*?XR7D3)ONhZr}vXL-%*C}VbH-LOpVd3ZmkY0yH{F0lio7}=1ZGL z=Tq|~-aOAOoNvMWgy6lgMl*wQLjpJuK6UZ-mkRo5<-)Gp z1ucNEN)Uyf@3hJ!-eX!AUdJE77ACCyX$UPI2x97^Z!%4|6C;~Uxdye z#KcXOdn+x1pz$`*Ytc0R=JrD9Zx7M0a}fb|?GI-md S$V`4!li12G9;Lem z5wq-l<;tb$)O|Jhc})|O?zA!#u3z>{#>c*FnjnV+cO7No#t(ac`%wFyQvNOx7iEP? z{>W{4cI-*Fpfk1RP<>uxlohJ)SpMf`_KQBbnK}7%@cauJ4r8yx{2 >21X-o{WV2iN5DgWwR?%~stN-!xLq&zLAt+F3F`V (=}3$d}B7EWnd4xbZ9)Eurs z8iQ|67|k?|iSO+~8duj9Phi5s*+jT7+9p5%4j@%daS+zC6}>V@v+ER&xHF-iC2;R# zPcYI*R3PxOZ_ir#b44tK@wV-Qi4%os0@i}nFcxh$FTMj}Y&>LAA5iHiEorT-PT(>p z@%(gr9ONgq)^^rB9G}#=+M3LM_b|upwLM$YDqL A@rfWbi#qgUnIj#zxRfTw)i&dZnvr^-U zb^$8~g&HPq#mIUiNlTJ636G<9ZM;nrs`Z>O21qrK8dBwF@`rb(GOZ=Z7{63I?ga#1 z@8)rgT)`RL2xE *h3lkcdf3JfnF-ma6aDBw9F=v-9SvdCHWz3>d&|#PgKH9m zqjWG_lw5Dp4QqV$CkRh$!qLxP&+IZ-*IXa3`w;diJh^TqmYAI#%SpZNmIsmLxVhCi zU^&Z$9#~EfHy!A75E-|#V5sk5a!h+oKH;O`@BDJIoU_Z~m}{j;)NX@A->j*Mh>4Bv zkf2>FSa8lcG<{G`bO+~Kj!ApS15o!iTI#5P#13oziLNLUb=I)QTcd&Vv~Z0{8Sao` zK1<1g?z^G4P*J)+9UrABxhAdR4XME@&~-FBmNQugQvwR`dqPUxqN*kU2bFKo<8$Td zk71ggsSYSJP@Th8cbgMw*YC_`_>4@Phlt-$VYtrPl6s=BGOZ*Npntm@S8?6)BK<8V zM@ulh@NYhaCz&?N(~Gz7Ap^e~!%^g?|K&$%R*<#ck)VM;yVudA>|UQD$u9IuZLcvS zf+e{oN!5RII|@xQwpa0f8_#LCa IIf4Ash!^aR945`EZFj=e0)NmqA3f( zILvSHtz>-cV9@Pv7UbUL>#;^F-fWx9D)d$#^btWr7dCqaK{;Cwi2Xv8HlIo-P*&Ky zQ@?TxzUX$QNgwQWd3?|zt>k`IE6}m0Z223!w+~Gj>d*qP#ZGavI%Bi4Y`;x8s*&~7 zhE&?Ac3oV#wGy}ebOrTS9ef>0iZBkUv$$xHgBBum^^A@$w36p(XSi?UQ0b~O%Vvh! zWNnd;PuajHA}^69j#kZ`4k5VcJavxoIv*@$Y&yflhpO9jUDW?uvD3J3%xV2#=~R1} z+HLaXf+Ok!dO?!+gQgGSAA0NmFldN;_2KSk9|oZl*uuvbA2Jp%!vgs}`U8&daRNxP zbC3rcF@*d^5y65ckjKX7@1TGnD&n-q_I7;{h{X=8jp0q&v$7Hpk_@}}uuGL@{)peG zDc G?hsA-Mbze}tQcpGkjnHZSoaLx; zWaZqGj6Uq8?Ub=o8fMiBJ7nLz#|8>B#6WVdHtzNHnZCep1j%rrWq+Yh@e2BN(fYFR zvz*<50TP$bx8&0@&iYpZ?9*VwCv}lr&I`Ip72zDm!ggO~){d NK?df49i%~M) zXmcD`BFaK`P#})Pf~r?pU?-LTrY0RRZ@1KQoG_;dxOKE3(STS8FH~ivQ4sv#AINXv~zz-3^ z&+|02Nq41~Oq^55WaH)}n7w>J5|)2&Y;Khut!)4u_F!NW_YW#Rl&Nz_@HZ%+h-6 zE`I(kKN#TmSoX+S$ IjXIUj|RO=(@d?_X0{T{AJ8p+7Ix2jfs)(BU~I9JBjE8=LmMaz`?NO&2-YyEIJ* zembbbsm>Kr>g~xLB73ON!i3qV$jmjaqjBApF*d|}`RntA=C5ju8{7^CIggD{zF&3C zil~=s1S$5-JZ1KqgZrs7q+AOps>&$crAw^GUH8B8l(sbWKEIQ)RMipjLg#GZDlQ-) zwtmwA(qHzyPI7h`9h1|%@ASO4<>mX*|DyGNnZ^6b)ly`EA>STyfXqWW2V-dx($mIimKR<2c9j8@+=e(c9{>OakU!g~8gH)GokdfMOZ zv`>l>{qPyLBlKOOb)n~B? +)^#%Q-1Yy@gJXPV zbdq?B$rZO>{Q6#ms`{zxpl~>~S8AMW|DijQ9&hS(iT2Eyg}!Z(r0co#;2; y<+MBmq8^WV1n#roy5%PhF0bOH$f9X0W_Y=I-R1?j~j1u-9x3GV>bCK`@oElt&& zR @DGb0u9?MgW*})&wIBjv^ZNFa`;b!Db@@qnjp>U$xV1M%AQI*<9%mB?>@x48_cM z!f`NOSpr5L_Y>fV+WYLKiU7U5s^7-iir+ArWhZb}miX>dX~M{JLEv27a^q9XY~dR1 z={e|FU@zg44(LIeokXqHQa @E5fR9;EcKydEH0A68W?+rhgZRy*8)~&m z0QE!}<7Ki0RyNgrq8Jn%4A40m7kB*sct1AA7;G$o8$<0fk_9^9cfLglU$(mV;R)SZ zWKGlyCd|0Ra6-cNH1~lwtwa5(^r@vmZN1vWDfoCJy3&XRFy$#etg`X0-`?x3nsIAX z{(>lFc~3W(yp>qoxZPmq{Q$VA2_GNJH*$i$M}>0BRDq`U26TcV*sl_RH`q~aYMJaK z@n;KvC+PlrF$$cJkqPN{oajE03MVs6tWB!`Qnw*laKtM473)sxpO#7wxl@Yeba!Ky z9}D2lhxl|9`I)R9n5;U%upLSoqt{;rz@#QO8vWrfGRZ4``@^E4>=_=9(n`i`(B *uh{XJREi3icPy=1fC;nP zjwI9XY^@w1FSxNiyQy`F%EdpCA{i8x05CA_tYqI|eVJ7?d%hnCGE7In;`1BKJj%Yi zSQD2)n~rffnSq>%Q~me;s(ZeOq(PplDD&aM8!r>^ Tl{n2| z?pl_9(r+-A#R*T4WY_bSyh%0kL31ULeo77V*2f(8Zu-$ad-)In)ZGpsNKyk+ iTEX=Zh`pZN!to9XA(eP{VyIEQ>9$k-T7%YU`~EWRK(X`5AW4wipv zL!CFvfJwAHc=x_7fKg1}owTG#k3pUY@|TxAQ6#OpEudkLzmyc|Sew@1SU(q1;17RL zGzG@ArG{1VxR(9vI}GQTxgX12T>hw|D(_h$Oi0Ph)}n{6 GRxI zKZX{X&^5e|>|p&1_X-v(LFI+$QQ^v7R0qH%F_?;(BVU1p$M+L3n+*Miw@uIQxN+9* z=b}-H>P_^=@{<@a$&Kioo5Tee{DVQVUU4E3Geiar_GRTQd7XB-luys^v~7c}c0AjZ z@Rg&CgYEK-;@Y3DR4xNv_!BrZ>x|$+)}T`kl%}_Our^4KF;l7BwkJMu7}iL4x$#wi zX?2fODGg&FNrUU?zuX_scV4&OpdH&lh^2YuJF_UiyVgm Ov?E^8|LwEQl>JIstj>r&SHp&Niz zN$nly$y_Rp$m5st=r_VwCdT?hyG>S}{MiKr#~bjUqQ!Xmluw0Qf0;Vc)!N6K#?nf3 zc#>DKtOre7B#Qg-67_PO(t&$b2Y?gM&G_uAS`k%gpkQaHX}w8-;tE|Kuq7Zhm-X0Z zUDvgy8&q3Eqo;FH47mETBbVc)cfrvx?$Vgq-(>Qi)A`>U7zn2E;WXqtDD8;5$4gJd z-Km(u#}53Pc^REJ6k`XWQjg`JAC;!%`ad`b?+XKdCOhDPpw6mfEKDM>bUM3hxqwI7 zb3f(I$b*F_5kCiB^Td%&-vP*j0vWY(O6AG&W;wAuH(s&%5TmZ9O;8%z{X|76n;y-j z`gHmXs8GX9sRs6}FU{N&PfVYtG4`@BR#uw9-q8+>I~MHy+>m744A7`Wcq(VeoGwzj zrm9vq7zG*Zh6lp;ud@o#!0U^=hpq)FaWkeAG* 1MHY z$w^X3)JyqOjy>I8)gc30F#|AHK#2VlIQ%IcWI9u*b1X+K0T+ukI@Qe?Y=feQ$ktC_ zN}e4Wo8$qrf6-h+@~qq5-GS$-GETJ49pFe#`GFZ|a#|0Ll;MK43hkCiEZXk{4X(g~ zG5*8n4tTNObzxpnxuNXr9kO-V3`gT6TKE40%=+v4_5kldLRbekkxQTntbWTpFa5KE z+ItgX4DCPe)$W(a_xifwg*w(uJ}+8> x;`Zl7?J zq?Q}2k<2?_^VM+73?|9hmTM8;XQ2h11rx{^EwfSuK)0RCg7ilr{ n=trtwp0Ca%_TYn3&_TM4hC{x%j(Sb+M)6u85Lnz z(rs8l*PFq)&M86W1|7LG)zb4SvU5yKl!hm2vmh_S!10@gjr?^JI^wm6c^&=5@+_-S z9!Cpv@ef~QVusgE>^{5`HO(5$FdG_Jwq}^r>#X*j Hgq;z{r47CkwjhPK;GkUe^ z+PJ0x<(Ajf%3J^8xF6fBha)kD*3UH&6y4Y4)ZFg>r+cPp+ubimxW>~Q_$mdC^r8df z9`sTXY7+qxi9?o&sx)*>7A@C;72-eqYRkUfL19Fd#Bp0Mf_F&EwU_96gf4W59Exbz z6$PxV5X`8o=FgdNwVdD8@0nG;vD)uABS2`#st0|jo(7*ariJC?u-=s`&tVia$6&eQ zYSi($xk;q+-cH@Xea5E&yd6U4S4mtWxib6XTwB0!`*b5gpuu&*W7GfBQVJo*l3=tm z*od?15Rw8noYwXBgTf=gd8NBS6k!w;{Vrc|+}PXEfPKL>P2JS|q29_m&yhsU_B1%~ zt|#8C&S6<|yNn!_rH>7yYlnp|Z2_j0mM9X(tmDyU|9Yi|q1Ow)F^hJSDx1V( ds z&$9>R;Deg6O!Hp9jr1?4sZfb@l%~o-`zEn{EXYJrx>dz=Q&|X5scuSUk~;XJuCWe- zW^ZqkO^micKTiHjK@f|<-K5z&2bX59pw;wLNr?PNu6uzyjj(bR#?>%U#xVw8><#2q zT<3`JKo@}&_XiJ)`D<(<66JN=0y=P>kH1Bi?%6T-AclKY4F%aGkGn)<5x@dIhW!53 z2Vp!0hDP6@i?EyIJ+g;CS-!Dpnvyltb5zO`IRd)JPKOTjvf6v(=R3<{Fzrq8PB*!J z1>Xd#O*4>k7+s0%D0!kLb9qoryaU?F^2QpXNyxFMh@=Ct1MdT8G{t9?+pR$*iLpKg zR^#A%hi$@Fwrq&(A*(~ttRpDR0u9U?abdCZUfK}0o}@P8`p%v7|4%mmb*g+h# oJ@VCe z#CXb6Dt3;3brH;5&%&ssJ4jq&dLg-qB8T7AV5p{koPnZdeMfl =x`42!mY4M)CTe19)ba%5k~#c1W;ghO*xWB=zF z3C8W#KYrb~Iu1N3?&x&~tsCc~NtT#Wz>C^@*g5W?X|zg7YCtK^r_1l$S#8$pGPRrE zEfX7}i^wlmeYa_x$jYPahlga{d))8+)46voB-r`A>qXC;m+Q=k+v5quEx`ag)!D%a zTyzHn6IV)yin|qRx^6(Py6-eNnLaU`1vTq8ZQAt7M_E`N%>Pt-2L!MR9JOg)ya+5$ zn8a7cp{gi 87&lf6yjJxc;O zRfvGNs`|`3EE*RqRU9kQA-$jnP_!vFnA0TRhA;oZxVW@?TmJBV%WUjf@8{o@^vIO! z5D}G<{beE8SLO4^W-8ty-2#J^ $zJ0`6+|xIJ0~ksoz_hid962_6ke*NCENUl>~)uEV_~g|M7- z($Gx3O$N Ydh#9OHf00b zuH-U6#Rc;M@g2iuasTVA$$Pup-hQV7>7{=T@??TBDTCxyaP ipqN4M=w-1&^PMenLlHg-RV6A*XVrY&tY)xfl*%? zC#WdPePJAA36Qb1fY$1$T{$4Gcy_+Q*@$t?5cK+HM z^bUp-o5s^wTZN7hg>G|j5_5O=v3&R$7zV1x&8Skl(B!7kkyTtS1g^uwTg(NocQA28 zL!`hf3;?eja6nT+EY^hgz}bHjDlhag=9%B=l2>>_MK}WG3K}V-U>bz#^6^`y3)!sf zrm+$|bTtX?2Yf%%jE=%VWTb#hv$T0bfLH8kEGVIsMEkgvv8QSoo$5c%1QOd4DCt## z=26|`VApo360mwA3Qx;V&Rsz`jS(AJ(f#OB9LzTzD;NraB1_F`15Dz#bg` qi07KcP3O&!?AX zJO4g9?B886qT5)Ht%Ykf<0qcsS`iJZ3Nl`^kBas(UvkKMFtA;vatNYoWCGf6Sg08T zvz pmvQm~tn&NV}I+NavG@-4Pop65|mTF8eP^z!QiVQW@QB#;Em?yf z5`e&mP)+P4>!YB`pT1kOHwB;yVeeeb5=G0iMgmlwC{?l@HG0c}3tX~q=^D8v;|fBd zx$HwE0v>Nvz@w6G1) _QOnMKvs-#JMg}}>pKjlOBMrL zVN)aWpROitc#mY0T%^b+(0Htw;hXa_&=%0!GrH{myzY1zPH~s~yktGq;}qW>aNC}- z6n~UU5>ES#($khfAqMJqK!a@E4@`T_-tI7k(HMKo$ p z_vPtrMR;NEuKs0Y?CBXh0YJ&`g_ny9&skD7$mtchCa7IT6c9$MI1~erJZyU5ugP(j zeLcGCKA^^5tKq0f1i@O#;Yf6us+@jiSo+|D`V7$mf8O}TTb2pTsuDfC(zFm42$iE@ z65Q?qoPoW1)+b{_5(zo&vn=ckMpvuuGo}uIwwi}TKio`#NUAj2D8gshg-+wn1~VPN zJ=l&eZMA>)hdum=9rY4+ssFPh%yG?q{Un;QD1r1sla}`qg^_Q*9%W5u$B#=EyxYN* z{kiln769b0R_dTRyEvw$DdZ|owb_rk-BrnL|9x!Bzq`<;518L%sOzk;SI)~koE4)< zOSryYo(v{xbDJ8H_1M(a>g)#xrQwd!C@|KZm=-OG(y|c2RMAR{!2M{d&|Y1s8nU-L zc^}GvA8LYrZoTn+n{?g-K=A k%Z+Eyr@b{@J=oKaXLLF3 zjptVv2U^9lZFs7lLhQt~^&*Z0*M8@+`5h`!YjRUcixG+{1`N>Jl#(YUC>C^Z(*sE( z&q1F*p;F#Vt%K`MBF^abBvOgCF~_toN?S{AhHB6x^U=p=oRc_3_yg-Ew_B%|i qVvDu03R5^4?9Kd zb?3+b{9V&NGI01&c7V!A*mBLgW0>4@p&L_O{sd6IVb X zwKGTp@MJ|t^;{CxUyB$W0u3&c9l9WH_!7j>Nh5Eyg4VV8@An{U-GPxteoHok6J-u0 z8VE4 sRQ=|ktDQfXuzg&A2k2Dm zJ~uf8%{kI8O$ge$TcM~X73FiWVe;qOFK6lblPf^x!|}tYHkjb#g5laJ&~~YKGR6eO z@7|hI_4tu33Wf!xX+DizTmon$d;k}Cb1WH|m9mMYib(8Ufx^Cd<{q`BaVeA3vWwVK`+HC+(cX_beMJenT0|4j0 z0c~4&0s51#d=BPsBLv>QqZ}qb5PqYI#85vk)^%Ge7YSlr*T*mkY|Oy U*+gljfG7k9u``t`U6gzxel)7|MDAvBW|msasfhmHr`m>a!$ zlsR;}Gh)7A{iu`aO8q<+(2km4_?k90>9q!Ce%yBVP)uM7a`)poaJ?Wqn_#){Ol7v( z=|^2@U|$@QPAvu9r(XjTiOdiwX4Y0)uNNBw{0cUuY>pRR@6E1k&Fo(}J@>_8Jxrf8 zpm6_BA}k<2Om+r#o#`z-&@JUDIQ5oAL427Fuo%4dFd+T~_j=<##o}fE2+mwOs6G{2 z{<0lt#xr_k$mu7+K#jR34Cb}7M05qLWToN{^jO+?VsxC8e0lt`
X;f zC%VDDn-by=bgW@9muJ9fq$%Tk=5_^6+3YJ5&n4 vUIejNkh$Li~rf|Jl(mU9b03`cjkGul2llmJm{ zkF#f%k9ahzF-dn2*)IfGM2x@l;0l6t`1Xn^6kI5z4io*Cp8*!YnO%MSg%gSlGvX={ zW7BXX1+x^44Qe6mLg9tzud{t!)+$s#RtQ}rn{^L-V_Ml#^jPMmZ$-8u%|)(Uq%~#> zO4yuf|FeP7h2u2=aI1I^g^=pri2s%FDauEHcA&21u!LDT=~@ #rLH45O*HOJtn~)g$b*! zTOV&BX5uK}mAG&^PK#AQ;3fvglm=OMAzx}TekjdyF2|Squv<4*P!1Z_k)OaAhVKs< zv>C2wTTg 4E@1Ef5{O_paJtaHh9vo?&>|waOR6 IfPwRxM_9dQ;)88a|5;YGi;rVbBz2{`M{7M>;D zodXQ6rPt`l?{;a=@X9&P?~ciz)d0YN`i2>t!F7WwY6d)Cz4LftD4H2Fwdx_nu)2(_ zTMGeTnvn^18@P#EKpxUPy2LcvJo>uiKg^09j%g +Grd@h{(yTClYVe3#5TU~o?aY2;@SdI+6opoH@4H|`7!gVoz(9GSrx ~hxsQ6;m-kZ1IZ)Am#av3d7dk$GbRSG z6P>kEoTUBdnj8hk>kBnja9B>Kw@d_62&Ch4a>XM_RYr28v3e425m;}2482o0vJH45 z1(~~M4D;EEYTtyEEXJ}p1ck+t+oKyIHKbidt&54sG)2)bb&Wl(7-)xJlombG;7eK_ zdzFMwKukCq-4yl+diWSA=#Jp_`~>7Iks*Ku%jrdQBaiLJL6AT6jMrRfE-!O43joYv zqakcegbsHHT0nZe_j5mB*_Lbv3CBNdZs<>#ki-47{JxKwGukjo%Zmir$Ve}DTkz=X zam#VDQ{|*!aRpidOZW!?>)_s@*wI`1Mqqig{|VshAKAuV6>H|1=Jww+76R>d2ul51 zz3Gdob9Jgj-d$bixSW%IpmSwnYD@Z^#i_GWS`!~Zm$G$vnT3=bbU4R%k=SZQN^9rt zi>HJ~JyAxW&K ^gQ4- zXcKD69Qj4izvIp5p4%Jb*ZpHvB&)FAs05*|d4_?`bciOEXo-Owf23*tCWMlff&XN5 zC(Qglr5m^sjGqgAN^UUpr}DQ6TT7IqnqL<+CSLx3Y`u3p)&KwhpOGyyBS{esj$I_H zVLJ%f^Ei%8RQAr^>sVPuwr~)Yy=TZgb`i4o9{nDt&*%Gozuuqs?~nd0E}ipyKJJhE z?RLA~w(@AJTN2`qRe7PI;t&7j=x7Rke0w1B+YO(DvKCf 5@Bzuy6%gKc!&5ppmxs@9JmCPYIGsRG&N8rQUUvQ*B}0b9qKD$ z)&M3W0tcHbyDuSlWR#noC34f~#-Izm6n~)y>Uk`E9PYc*{X`<|pjrjOOAnm~NL5Kt zL*d(f+-=e{jVJ1peXnn>)SEml_2o7VGAH;CIPep`g408l*J-zJJLaP#LpTZ!7(c}2 z0y`{~bi`!Ca;RsI3GDT??G6?<2wLv3sg}QilZe9zHf>00wA0Aiu$YhW_~fE%AnI8x zRAcJcY+A@8;9V}JI3pXr>YDhVuonZV_P~2eWHAFIaNQf}%l@Gi99ZB?j{}zt9_Sc3 zCO|$ht?hV{_K5GxulNzhrRxWHVG|7&`6-9A!nnX1pwfN`K*^&X@p2;p2|qRDJ)WVW z)t_4@INdF`m(?pJ)11tKh_wQ_md^A0p*!$g5DFH)w`X2jI0Bp}vPwQ0(<}5968f6{ zaYh`V-wvv8XWO!y<11gVRbEe3TSkBX@;8moZbBBm;6@xVdvDFB#-_N2uVMSb4h)wT zq$lEYC#r8H*Ci`g@w*!-G}P{^>E`-jgg-LYjfkHt82EXpFq*Qwy?BnRe&jCNPB!?U zBH-FXg{_*iq_B(Sfe_8cR?kpZCYK1RSxw9hQEgkPEexI|60h$N3p9L@{1e`=wn6 cU44fLG9U6%Yzr2Kx=w03Bq9{uRBX5~rp-;lkF)b|3bESdSQ9 zc}6lTuWZLrL?$B-Q PG#(RapVah8H;1%`a#Gal z{ew&qe+C{p@%rQTTgbRUzAtk;7IxBWU5;ifTJ{O1*IEUub;#CihZH%rrmeHkq4QcZ z?hgBwV?OS3LO3*@-_nmF7$Y*Yc5&1CR<${PzKKwERzhj%%dLB}R;iuZtc^o#GiUT; zVMtDflVG;KT4SZM`6NY+_PZ8WdhROetI6ObSxlv%>p0=(t?_N-1_~K%rwXeG{ ugdqJwDWCp?*v~q*-$<)p7Y$2ya=n%NT8K{x;hpui6fl+ z@+H2qOMUP}&*prnojH|xQ(^7hN^xGNW~HE?WS+l(g0AVila-?MY`VNsDg79p>`=M| z*g&s!mLI@IU+LZvs5UKQNGrC{Jy(~?WD^3QiQj^k0qq2@L@v7lH8&!&Rf^SH&!M=F z?R)_6ws|idn=I}wicXbvh%ooBv)L)IxgQD~Oa)3^5gfbeEJu6CpLrEonR%O}(Gf7^ z%+G(zX8k!ek}uC^9;Xl&JuCF)Gu{v(?#=S(DI(Nn*{(C)8XjmC2oDnRH&Q#bKNZGI zmE3L;sew+ZOt?6u_+%nj;(chR#z#IHhmPu0ijxm#ijYjrP4}ts4+W$uNE0EnMcP(n zQPwx>!_!9D%C9v0xe{Fzr`#EAxFuI17&;ud7 @nEl&CI?YIdibq+1v|sB5kP<3~4k*X9 vsJ4S%0^;Mcb`!;(X@DxfS@sPNsP z7kWj-m%C?TJKigxVlpfTCUwt$xb>eF4gm)IU2X$JhZ#Mo913zkjSy&w47Ge4^(}Qy zHuJ%Rlb%v+TQx7Tu=s2D(2-XK@3`|qG@Boz%p~>|w1GD8>?@(Z8WbGC=!xkK(rS$! zsz{eol}pY3Kr^KveCAs2fryI|zUQDm)YiZ9CB FFrN^A~DLcwd_dc39VlvtWlZ^#&izediK-Glt{|Y}6c0Xj8)D^7I8ahA=lBiCm`_ z*5+uuH =@$jRz9rswD24#i%}|$V_L=pF8f l9 sI>IH7E_=T$xqv}PpAfkD$;f0%Y_t073)(2M5oYeX{h-T}l z=dHRm_e&vbW0H`Albxey>l3<>Udjjh1P2bRbM+P-LuKV}yR?lMm&WAj1rccYH_=GD z;M8qNm9w8GZHE)`^R>iYA2YNWIe#=N1U`T7hH=%8%TnDM$rjjL`p0JMktoq~i;i$J zKGT5f1Q0t-b-N Xq7Hij-0x)q4gvH@3CDQnGxnUCr@f4P?xFyG;YVT#gVG`=n z7Ju27JqPBWLJCArNA34`OB}=0Gy{h($h=6*yQlL)Ew>);R+D|>%bbNCivttehyz1) ztLgl;+@?UmT0hy7a-o*MsH<|pWM `jMKMu7k&vn5=Gh;SGW=sMzJ~uOr(PEmTgK rB}|`s3U|JG^jIN7MDZd}RwjeK5}H^+c&10&V8i3N(@w8b+t6Vi=r66Xa-FFf zGBBcJ=QYd{W}R888z;NdN*VI$szsG_WsTvlno@(Zg *?X%*CgSCl2hqeakzq?rd8EN)1v0pToCDYwzw%oGyRAWSpogc0pyL*au<2(JR zP1&+I%}{-EHqRu-k?^Tu$j2(dYv324VWxG}dK+kgFGtp>Ldj{1^hF}<5hNkYGr&hQ zE-&KW7qkbsT2x&&s@cz=ioft~=0cQ5keo&r$4}kEo)DlPlP_I0dxby!l&h0pMAG!~ zWPAPYQjN`Y#(eLb{Lh{xDC9?AeLhpPlS(FIV2ZAkfKe N1_q@;vq&vy>ZO^{`(fj2zSZM#919>`U+JR%r~^TLkfDf8L3 z{1mrG@X3cZk^G0~^tW{tsVr$u+j#Uz!j-hCk7-Gy0vE@L0+jm_x2M%dZbP5SJbOf; zajGZ(8?R_A&Ik2HHLXhOqmnetnDIwWsH_z!R83wHp`;EMS*?G3fmS3PdX31<_R=sB zj0(Vwf7l<4I=uB;%UiZN2zL={Uv%YRVn0;!U>5CRMukFzb;n-xJXpmgQQ}At*f8Vp zE%>wJ8T<14i*i_sqWBci$AY?wQ<>`x`>lEBJi9vMQ7Tjj^yTR6_i37>f~6Qm%btLE zjg;{lWI?9<=AZY)%>oRrYk9TqWOCDJeink;Y;kDT33CN}xwbafJO6v^V(-uam!Cs? z;s>>??RSD=!8{o2;I)+)_tO3DkxEuZ#Vw9qljV!H53ESbH_Y#ihhlV1?)`R6uxR=7 z&jF_(^iiP@oh)_r^l^8vs?B&bg%hn21VKp~jhQmPVi5G$j6{iPy1ExJ^LeUW>orAt z2J~R4nSe|hRY6q!NTs{!(;_25DwM0e@Z-B_#1C9$t|X3X*ur*zMDn7OeL@0zokwE< zY>D7n03B^f`8_x^=L(bt<+oljL-BaW?_yf0ozHsGH2IaLg`-1@x83VQ15Evw&1?Ob z09wtPJsyZ>*GRAC_5! v=(FnD&73OO`oimYUUOr7g(-2-|bf`>tCx< zTpKRhZ-op`Xx(}rLtDvO*h1DmpQvLzQOx>0nh*)~uHxF6zx?|0u2_t=iF@+SW-A?E z3x2vv!D~$uv ue_A*#+OqfQ`pqSJc1b1MGlF|Z#w^k?TO8UMAAza;RK-RlqSx`dCh=pK zRN~An?M>%d74y3Ovz3CJXbo9ti7P{Ug;-fqM%Yi*vp=mQ3 ezv_fsg7B4E6Hie zU>H+U{}r>|Ci|Q#No?9wdn{=L5K>E@;tnG^wN&wS1sGvDBYkg61dNt)Y!}D2D4b!c zFC~U9PgCspI5?`Ef@8>$4$~USt65#wqTzQvB88<^G?cARg@DVB#B$&j ={GFx<`gY}I);VwfrXl?ZY32i$cd0(}U7ieISSJOqw8C)9InzS;^f z32_$JlO$V)mK e7;FS#s!)I_{`FcQacQhjPp_Rfp(W4)GjLN%Pa2R7x%%aUc( z>LzF1YffwTu$NFtiB^0gaQO{t@rx10<;ZmX`+(UHyM F|oNA-x{4*+H1=^(}E! zye#zP_Pg}+He+XNA>c~RIaGuYJ#%q>yIrIye@az@9)8xa!xMilUfM-be1$Sohw)XN zNe|{+e5!PV+5TiP11BQsh_BCN76H4LLfw7t{Oabli)$zOvpYWAX-%fWDwE=Ny~p)! zVhO|w5~&5(T7SRzT$kqe!Df!KH6)B8u=_R#KLM}vDRXaHJx$N)$-^y<`KlM2+za^H z%eP?+Z&{OUr(zTLgjP^n6^{SWZ1AXzvfx7`yWqO2V5p@Sw6~n9GOU}>aCV84CEkm& zc~THQmi72bZ{jzOk{QIaZ>6&w&I{F!&e0vK{-54dpm4+j@^mp&Zx;{Aewp_Fy1Ix+ ze}SMv qweX2aw5olm5~&yV^JZ{gh|DCIy=$$>KA_-D1E1v%svX5tM2 zO0`N4%hwsq2d^ S(IkKPFo%I6>v3k27uK`~ 1^n>1b&8 zO5($0MUZ5KHy!;ReyV)jUrT|uETWe@USPI!PTPtV?tkzU@kwedzA2C-Tn@IVJJ%$% zZ5+`q`TRmPaTnuh39Kgrb;)k>=*U}fDtfjDHCjU(L0Lcd0b51uG}!CQ$*ej14I0{x zU*K6?b{_TN?0?EXr_yF%nQpqp$?-#_=^LtQN&EFWYU}?FZ2VM^` BCSEb>lv_zyr8nhiTAb z2+L$3!jYUW>4nI1(Btc_wnlIGl3+F-w$4s9wy;643 zx@Pic>!s F0lO4S zBqBuW9?v+K6sQP>uT{~vCDAv6J*xk57___z_q~pYNQfu%ciiPmOnTs{Blv6xlPZS@ zn_pIjp}*S4ldCZtBXVM0>gL0FY{Ib?EjN&v8M3^hEx~zeC4$hm|1^qP>1m@SanW>H ztSC;d6aFnM_~o(02#)SYNJGK$3{m(U7|FBf3YDL$BU~wd`+wRLB?B3|W$-SDdNd~u zXddraFiGx8;WpN-1IP7Bo9v}=?V3*qc>w)Qx0u$OxdWye)N~R{if;TZ>!M UrR$LN9?sVd3e)5f|oXS}*DBZ$6<>+@$^2#cw(lb65X+n{_iO(Ak zhtD$;Uqo{uzR3xkh`gVx*}9L~vXeRj1ohRL+dgh%L^S+|o9|8F6;erYhYqY;BPPO{ z$Vf-+uvF&Pvnq8t9(N!c-=53x$@OtoIQeW#k;R6lksmd+-pfk(lw=i=w?}qGH#z z$5rovtLr~9hwm(jh|W0KvL#@5cV(m`gf|U|61b_V6K3hz{buRq^jVpX?`At{xwh=m z)Y^r4t>4Xd>uzIXnGYlLpoUu_&wH;xsFE~0K!aS6J1T5omx@J}Dk&_Bl<~Fg1Go%( zMPJckgV;2v>kWgv(;uSDRd@+%NK-{6!-d%5aI9B#XesqAc3DZHB28*3*_~HSXfu|k z6LQwgKRS^ne6sh-*46Z_2vaohou=h@#TqbuZ{V=6-NKfm1R^*x01#sDH?>vu8j8lV zWrofw%pcN}4hKQH?x%Zwu5n9z?E03U@p=9ca H7}b(lSwvrLIl8I(cAFUiKV z1S$vezCFdURWIOZS=SbI ic9kaA *KcRRVsSn=}Sha?y&lhaMtU9rg)v*;QL08Lu=vO zPtO3$J4?!-l7z;}BWpQ~ ;KZeE%EseF z-5}n?5;>)q?`l(9?lbTY!-fA>A^~H14NKNQt JXBgbf8>7RYC2~UK!B+CUr)tI>))~m@i z@o$<+B}ul%Y1|sHw8Sqb=VT5Onl*i^ z?cIwvU|ioQhT_@%lwm(Va;FZ`6O>0$ZtYUT2j&L_*uQ zNGm>^4;q`J{6|1!A+I-3;oWdkcpKwwbZRiN0LtRLz!#BEziBtp@+c}sYU;{6sBuqw z( $2cFN_?RLvat;5wtdauUgAzGj_d zBn3MQIcrHCpr0DMdH^KuZ!~$IkNO3G%yYfr_{D^79{tA0-hMc?1VM`76|rn@QJNfo zUz1-3Vydm!S^}Z;fJ3e6MlM&+Xob%$U%Qtb;u%Ldshr%cIEzv=S1KwvDo<2X|8Q)M zknaw4tMXg8>Us=REa!1>37vSJqbYq}TEPug6{mJwjege7&Z)GX85C^RT0>Lu({&q| z8xFey;PEDgH#<(BufL?P^K5w8yVbHke)$mAmKS&R$kvz1;zs3vWVZ&H@G-BhUNA0j z`6P;Nud3|cieMXjihrw)zl%@i&a}s{FYDs(@#v88kht%+JO;0umN7BS@Uc pMvG=fhZ}x{~Q811BP$tuRa!&S=@6dHe!JGc*1I@O=KW}(eF@8LVsf7jC z5Mf+W-W%rl%q=hHPSp6sPCqUDJb;^5h5VeZahsK*CknOiZj$rI;@zEJNr+6WhV?zH zZHzcKTHl(FJLTI{ qC^-WZ89*Y zy!MY>)&F&ZVSQIm10M|}qB+wYpI|Jryn_oKWZH=mmFFCQivyKI{lS<+_D=a GqQA&`E=kMf>g<_ZX>j^u!{l5Y5Q|=yZ>nrJnz~>3?4>z^ z{8%tB9T;w$Iw$-B*-+|e;P@)<6Y32FJrfOS1w-Z9F;2(x^o^L^o0sghIBXIuoAiqO zy}Go26keYJ-&b*M8e)KI0+_K{Z`hUymS+$8fcApiZIEhTeT4`)*0apGuhO{rDnI6g zlWFpKEY`~8jh 27LIXeGXnDqS&{2s)y865<@YL*hY2kX1yT=RQ*oCT8*f1)yF|;}Wc!0FB6V0M5 ztJ1m*>NjsLs++)jsiot^m+`0oyVZm~P|;+4YyG50M%HX2d-IhEFfkd-SGw)VtCw0G zB8A^437DMp=)_}yyP~7KHM*+7yq6?X;R?Q$o8p zckK(;fful5?4=ig*N+Qe`R} Kc*M`8Llt z|9Lk4k6)1>(2r7tri1WFkwRcWBCY0uIliXO<@vI72-evJ2U%LOY&UK)A8cqAIGp&g zkJpMfm#asnbR3TSXMi_oy*CV_0SS DI6a zYk5Yf @oD9NB5))ap&45Y01=5Ymot0R+xK z6_JU%UMIaKd{A!KCUA! zM3+yfcc@dS)iOwU^m>4TKsQG{RZFouFco!CSF7xf3)p8-)7PrRuNkS8WZ->4ZC z>UVtI@iD#_*3n=Q*b&MjDOm?$UmIOve)vWyFzBSpI|2{fRqe5^UrM2KQ7V{T=P8w$ ztqfSll;L2^c4>}@Au>^GUwp}*@D>qx8ecpBo|snbr{)N(*q_3hU;Ot&7Rz=!per*J z%BGXl5kzmSdm{@%IT{0@re?hN8_TpY`TYl^;8o49q=cHWQXz9r;}-qH(CspUdRPPl zP(EY3hK>S{Vdi4)LY+5XS!M2$$?s_{V#+>C1NwqFV4#nj`)3gAJ2M6rc}CU?BGSq~ z$>8MvHLxW0l}oqK#&@8);{OcQ0q+ctlBo*4HuXw`8J~&?s- olKaP|Pf zRmd7`o}ReB)*E|~6h464OZEuDIURgTu_AVa?Z~2I%Gj8%^31mTG`t_mTmx)K(5`qV zWJ#{5P3At214DB8LF|^-vbc4rDZE9Oy4^b1Dc!@$5qHmR|Mz!)OA_Jo!X~o%mAte! zP-1)dpLVAfNI*UQ8hx6FK)x^VcC;C{VEZLx-lsYR9Ng`B;Y>5k;BoW5&2!3J+tn=~ z0+Y&?=(n`+y@5w%7&0_t+jnl1ZW6 Or`sZ%Rt1i~`q zup0D^ah(Yr?9b7xG_(M6$9rT;9(SbJHchTC2853dbW5}rf{h>~f!n^It@D&d)~=(J z-|o4mRQVd{DKq+%3ajoSWJqc1=j2zxkBkM+do}xK*jUx)QSVJ&s*%@MY;~K;UpLbQ z^A1!+kMOcNA !)=Ly}v03|dLd7hxH$b5B_ z<#IdZitQ-~jf{T9U2_9J@f&9U)8{UpE#g(+jJMh=|BbHU4c~SIiSQ6m@Z3{3E;Y0j zI}Vr!UnxU=YIl6yI0F7p&2(}GOuqb0r$D3Xn=4GZcUqNFL1Ik8Yt3MeMEd+Eg@GNj zfhYam75{sfd+`k+TKA_B2c3? ($JPKs *9W6I#Wewk`Xib-^d{;D0 zezS!Q<#gLlon;%2y2-d}uc}2d6tn1db6~s|#rATH vG|Hj @0uBldyIW zW4*DTqe835pNa;r_w+2)IdSw{-ZJJOF{+DpfaBuH@N3ERe=qg_cj$gC2mE&%-2}#F zWiY}kWL`x|`ORVEOZKfdQBGv*f!(N3ay?1;FBl&97ipziL!sZU?6Y1Pw?|D}A@~Tn z6UdxQq{&OAT>@INwV`>Dxe_}u{(@-~pJ+4>%k}g{-?YS4xhEmtWHU&&*g^Nrl)kYd z?QXsUeG5ZVU{B=CD4~Q4KeoOFKpnjgdX$#Y8qv#7r$_XXcq{RZFrKSPIvpKxuG~56 zl$qR3&+O8kWO%ScEAVq&jY}?KSwy@M?&35zeuapbv(`4*UN)S~Y!wMwPpjX~*_Lg- z0IfzTIx6(+q)yow5vrsjhw=kpoo-Lx*X48|RhS56x$4BZ5|WCGviUF&a~`qL-lCZ0 zkmV@~;Es?4X?T17KnacZ&P5TjN&rOu3iCqT@zL^yJvyh9Yy3eIR>s4K#M92Zw-Q)K z?ytH*TVP}N7QRh9+tlPdAwJWnCvBAw+it=e-2yj*x7Fkky(sjLb^<%IVFN)#q3DH# zQiDSq?CZ8fg!zNSxN5EZi;l&WDu4POX%2u#0C9s#g4}fx|4=bMT^OUX__B9^A~o%T z$caVo`b0thB%+pW1$@+r|M5|qnV6vG8HdMf|9PSMpTlPR@jLz=UA^$a0KbQkL#hEZ zm2=#^(=;i10!xk&*VB+LKi)P)#YZ&XTIV9jtVbDle0w*p`%dJ6taV$d9r|5lQ2Slw zAsXE;5Ejc6H~}x4T}6s4Q^>;2NO+8(0H}M3*{k6(X^jt-BsS<=_r*q7!=Sk^m=mY6 z?tQh9_pB=)3aSL0QD_wT)okJ(&2mEk7y4GXE2!PmtdUm-sSDczJQQm+6gm$dQi0G< zQr8R)>kbp*KP7YP7~y;vtSbVl!g%re^l4~y%T0GE5FazPz1G_7oyb24CGBG~DKMs- zn-yLU5fq=NmW|~ZNzbTd6QSd31$Z6nc0E^0_2n|VLA6)eK-_YsrBnjvsu<>1uF?e? zS)cNJSLKDZJW9AU*&^8x*8D3$vs!cq>%ah*PeC@beo1kCgBP7LH~FxS +-I!Qfx#F_(?sYrx2FQ{khlpVhId>+#X;Nm56kt>JI1U