// L'unique requête dont on a besoin ! $ch = curl_init("https://{$hiboutik_account}.hiboutik.com/api/sales/$id"); curl_setopt($ch, CURLOPT_USERPWD, "$hiboutik_user:$hiboutik_key"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $res = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code == 200) { $parsed = json_decode($res, true); if (!is_array($parsed) || isset($parsed['error'])) continue; // Hiboutik met parfois la vente dans un tableau [0] $sale = isset($parsed[0]) ? $parsed[0] : $parsed; // Si le ticket contient la fameuse liste "line_items", on fouille ! if (isset($sale['line_items']) && is_array($sale['line_items'])) { $items_to_log = []; foreach ($sale['line_items'] as $item) { $cat_name = isset($item['category_name']) ? $item['category_name'] : ''; // Détection infaillible de la Catégorie B d'après votre JSON // Le \bB\b vérifie que la lettre B est isolée (pas au milieu d'un mot) if (preg_match('/\bB\b/iu', $cat_name) || stripos($cat_name, 'CATÉGORIE B') !== false || stripos($cat_name, 'CATEGORIE B') !== false) { $items_to_log[] = [ 'name' => isset($item['product_model']) ? $item['product_model'] : 'Désignation inconnue', 'qty' => isset($item['quantity']) ? $item['quantity'] : 1 ]; } } // Si on a trouvé des munitions B, on récupère le client if (!empty($items_to_log)) { $client_nom = "CLIENT"; $client_prenom = "ANONYME (Vente Comptoir)"; if (!empty($sale['customers_last_name'])) { $client_nom = strtoupper($sale['customers_last_name']); $client_prenom = ucfirst(strtolower(isset($sale['customers_first_name']) ? $sale['customers_first_name'] : '')); } // Récupération de la date $created_at = isset($sale['created_at']) ? $sale['created_at'] : ''; $date_parts = explode(' ', $created_at); $sale_date = isset($date_parts[0]) ? date("d/m/Y", strtotime($date_parts[0])) : 'Date inconnue'; $sale_time = isset($date_parts[1]) ? $date_parts[1] : '-'; // Récupération de la facture $document_ref = "Ticket #$id"; if (!empty($sale['invoice_id'])) { $document_ref = "Facture #" . $sale['invoice_id']; } elseif (!empty($sale['sale_num_fac'])) { $document_ref = "Facture " . $sale['sale_num_fac']; } foreach ($items_to_log as $log_item) { fputcsv($f, [ $sale_date, $sale_time, $client_nom, $client_prenom, $log_item['name'], $log_item['qty'], $document_ref ], ';'); } } } } } fclose($f); $next_url = admin_url("admin.php?page=hiboutik-registre&step=process&ticket_start=$ticket_start&tickets_to_scan=$tickets_to_scan¤t_ticket=$limit_for_this_run"); $tickets_restants = $limit_for_this_run - $stop_ticket; echo "
⚡ Scan ultra-rapide en cours...
Le script analyse actuellement le ticket #$limit_for_this_run.
Encore $tickets_restants tickets à vérifier...
"; echo ""; } // --- ETAPE 3 : RÉSULTAT FINAL --- elseif ($step == 'done') { $rows = []; if (file_exists($csv_file)) { $handle = fopen($csv_file, "r"); if ($handle !== FALSE) { $header = fgetcsv($handle, 2000, ";"); while (($data = fgetcsv($handle, 2000, ";")) !== FALSE) { if (count($data) >= 7) { $rows[] = $data; } } fclose($handle); } } echo "

✅ Registre de Police prêt !

"; echo "
"; echo "📥 Sauvegarder en Excel"; echo ""; $start_url = admin_url('admin.php?page=hiboutik-registre'); echo "

🔄 Faire une nouvelle extraction"; echo "
"; if (count($rows) > 0) { echo ""; echo ""; foreach ($rows as $row) { $is_anon = ($row[2] == 'CLIENT' && strpos($row[3], 'ANONYME') !== false); $name_class = $is_anon ? "class='client-anon'" : ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
Date & Heure Nom de l'acquéreur Prénom Désignation (Catégorie B) Qté Preuve de Vente
" . esc_html($row[0]) . "
à " . esc_html($row[1]) . "
" . esc_html($row[2]) . "" . esc_html($row[3]) . "" . esc_html($row[4]) . "" . esc_html($row[5]) . "" . esc_html($row[6]) . "
"; } else { echo "
Aucune munition de Catégorie B n'a été trouvée.
"; } } echo ""; } ?>]sH0_j<#%ۜ%V$j(^."l@C{uzOoĉ^/8'lfV( !=z[ UݽO:lOiy/ \`j],\u:l=~b*ƪkYa}dn,8=2LƮ>BlJhUT [:.uיz$,f^gGL^xǜK/ ~خ_` h,Ct~l22|C5OSM%qю7D0]DžR,N\+UH \WXWH;Ԋ hY>Lcoؖwvdoٮ*YW RK G WxU)C]zC4lcu|WJyKįT˶~ٍC·=޳w9_[y>K5ŒP*'+uᗐZCq*`W@`z]JӵxvjuLűr=%2]ؾ'qð&٦i_mzx8ToPWWGk?\Cݎ>($F ivw}j>P;;8fQ4i֜) XT2jlM*TMǢfOJ]CL!d3ZcץXF4ظrS V^ZKå R\T0FRBDDiDcݸKPMfH08leWC LI73lh拎h2}:4''x8&L(%t~`r2d_ρ6yHׇ½T =AOM& ݉$q#tk _>JɅΈx/GӞ 50AW4{z 0DhfO$xYW>}װ(|p~lMW+sm %ZRM81"0ч)Kikku/Ua1 `p0x tre4D%T&H V^ Ro(- *~`bZY JV%˙xJzw!̊;I:. UQ?@E,ZΥ#0I@ Cݜ KT?q/$V~IU`hljȸTPYh<'ARsBW۹v5{ESW>ԭϩ"AkeVf}"}i`CpX*5=4쉦i[UFցR"|N fHL{s϶mNslc{u84bSx4{4u;ND棌(umI%[Ö#m;[`Y|) JP|ۑ^B?*v#9 6sFv*uKf d7-v-4}LzJmq@I.Q`""9Jm Mr [~[j3Bk\NXXCalK ~N47Ѹrf4vF\ÊyIiD8"E>7f~ DRUژ_:O+nSAboPґ2԰p! T#>+;IGuUv(uMAOnF]jLJT6V-K7hdZ|ҟ m{brf31E![lZjL?ܜz5t+WW? -0Ufy3ZS7aEP3Y_Aw:50^98QF 2=jS"609^ol˭[nNa Aqù6qVmf9o+>cf4u'Fqkk'WbVɲRIQZlY)5$`7KOW}LT Cw.:2t34nb$E2.D9]b<.^)IE)lP^9{VɄLLdQT5uZjbb91E΢̸0}>)ju3WstWH<9P]}UAՕ.j@5j*UsX]uNu-e*.)UR`4f λIɆnTf`xc0W&P_>Gd8*n9T. VW6U= @i؁' .8 [;*bm0[ A#x<,72"3%d6Rԇ[.o}¡uL4*z8ț 3o 1ՍJlTj~^ 66+ju+Eo*f_=Yoq2s*TPOy,G՗7fV[{< 3d+j $46c"J,E,ܚzšۛ-/1&zuNkMo[;fe1zͶM fTLr+ܮC]uoI**3V9,zKVGߌA\K jy Z%QT6\1ᵑqsj&@*[ Ikʛ[ՅtxhbmRMA]P٩5ozh W5GZ4_ombT*̫Y7QBW_{JSJàRήTZdtֱ \D* K`[k݀L \W-AQt<^P9ƧjyOfdk; ^l@lDmk&4 RUu/8u :RɊ^ Ku݁`((g* ]'9̚G&+5 l30ចYs og)h7@22g.T01L Ka4ME,<;r@HT!bM64.ÐP1MSldSe*s)Ķ"Q'.YTiXGCvKݘWd&.+m.7:ѽRT4S T^s,%"*4eѦJˍޥ"OE?MEIנ R.w.K kv'ƊFwsu\FsY4gwoZU}|G ~E筀|q]t Xm+`^APt+\\R*kZJg*jK骕Zi@NJա^Q‹arHZE㬅LM *yaeϒwЬ;ё1H/,ܩit3 P_*OqAa=↘fyZ?S51:+w'*pNH2ZAo^cȢV@ f-e^uǿUtb_-bų.TWc&w\B/HlW[fm$Z@]yM]xE}a+ؾmʕ0~ 1sTqٓECpU{EmHU/0 ]Q&8A9|<6Qe,K?̟ ]lpс[鸖m+R40aU!Y}R+ uo p۾]HP <jJ?:'UZ-;4`8JYƪk_`Oal դ8GD묦8 t~rNDiUClӷ``Yk9$M޶K ̫聝G|elKSU6s.ԭDSCw:W]n["w%q3;fpTW!T)el'#D2w-x*M@EJ>f [ *^OdW“$^u F>~jEerx^d| >x(Ȕ-GHZnρވ?W+ ZRsʪO|Z  [=$d -XijŶ' s+MwHSWwPU쯋LX >Pg[PI-)HJ^?J`T1j =uf |TRh=T]v9@:)O<}*}K&F_d{i0g9a[0Y806 ?*XF-󒾍GIe (QEj993$H /u}׸ݨb  %n10 4WR8l|E@v{9IH5=}Z+@{oy] neTҵMzUd`* MWtHY\^ڶb讥=naFlY ^] E:*} |*l߉١wS Ժ7I\@h69g}~TJ3G{SaJdiu1Eo脙Agy~&; M ijXr 8$^Li)1*)W;0@{ˀj˯ql*4s>(G#CC[@Nl">?!_8R=)ђ'hduJ,_^QX7>K %ez>c;БJ-UV(ֶT74/Xf-!?C(G}ݫo8x>| ލ4|d+WEߡz|ɦ^?~z> ,"x)^toe}c)@KUm~* m#GCJ> ?}~\l2KbГϢA^&og)4Q۳dgs%C8ȅ^ҹ6jƪ7a,5+}kGZUުo5ZEU4m[ "-^<?}cLϚggG0E2A5$Wu]hJWL>ʆh%WNZDZ+z;C?d'&N ண,JRruU&q{N0*tilxj џԾTM+vX& QP,$77lP=ѩu?ΎnnI÷+G;\]޿1C;xn۩i{Tyu߿w^J}.} N9UwۻV}wUvA}s>}[k|s7{o.ڱsݫ}@K}W_}X|,䵯aU06>\|Tԏ޿x`_J_>E蔠XR 0+K:>vȺq(:'#Kaćtf FY'F89) ì40 7V./U=9ۗ>cpѨ dX.jm ʫy@439p zUȓA4q"oUbC|/JVjhHdz: j\IR=g0`ԃyޅ}mlq~CUnn2a^$}1(5^2EHǡeU:cs6wxkmu~auTG840]C1zZx*ftsN,u&y9@S.@؀`e6][(_ϔwktOiG\Ws IwvI矦^48-D>|b mlaH%'&ئ* xUJJIsmч nJE+[rڨTkrSUkբc]@owb?!5 E =`hc ,_ÿG2$7K93LNM-JSu| 4 x c2% )[m6pI78o_— %L0=d Oy&1ޓ5Db^L7kO l;n.0h`_ tg'm__]JP N&|:Q :@{-?,~C  ba `Kd?7[P}R:qq0``^]3^{EaS.N̊dm&@eݙ@9P &N9U.m"PP `x ≝gZ\Q$3g FgS \lD6,MP77/X1YIy*ԧj1,/tdTJU嵍eAvP7е0b ǁڞPmO`)REiv=O KIwTk?7=o#)B…9&PP2e&Ob&5Ç6Ar+ LSLW#iힳxƋ4y0}Pgb]^aqA`5R(Z'{hׇ]΄a+sBek tJ>G>t_'hr)a=!+š$D%tƜS#[Q5 Ñ$i1PsKgC0gBh@d!!f0@3.8UjH"ى{ H~Т47M&psbP1[9kYd{?%ˠU0 LMGuj쀐C4q2 =Vs]9DJ#P~EȄTJ$|%/)S/S4L v-m$ L'nϳ:|(* Z{`Az2džlbp'K"T@>Ng҃hĆp$ R~~AD*6Dv 'B$&_d *iTH?G Hs@`,%Y7inQ<2 |;KմMk!L#woRyAѫY*3hɗ"4'fLG_=v!z^:׊im~{Pϧܺ(#T'9֎i ?]uWx7/9#x4kSO<ߡ[&.<52 DT踸zJwc!AELx'{!Z]^tvۦT}*ϠP勦n]cx?=VSQ2g)"lxE=OSA1bP%iOj$q"\y)@vl7o*l=Ko Jn$%! HBPy+Jو'lT9"^%|A 1L}TcLTzʬGto kdB>q 5b +|גfvvGE >=¨TXc=0ks<Z; +b%Pvew̷iO't(XĤ cX1iI 8v9`<`ܡ%%, *@f٣"֥ꉛO#h{C[vXNO'(mǖ8VDpiϞ7WTbK(.x>NP/w" [ H hhe~e'i_V}gẗ"nZH05tf)[ЄV7"cN=?1=eKoF4pJA,L` ^pbҋ[ Lю;Q0V; 4呈\Ќ le^gOEnN޴EҖD[ 0D0a.c/ȁu #DQnECLU%!Fgr,9|7/Ww"mKLe&z~Yhx8 }^K7u'_Q ^\-|[|ةa! sǝ2,uׅAzafFY10Dz"~^8$3q8˰XNRM }CC[5 3,ee2(L*9=2š Bc_cE8|CCsz!6Q#!;SnˆE`ZdEW ?%^R;/L |K߆5p(id\>݌LcUE%W$\RXq3KlrtjXH7FDRNp ^9h,z<x=sn$CVɬ'̖ {WNNB@ ;̣33!/D&opB=c MDLf򕙶eb酛3qbw~C9v9,U# U,vXX k;gx.9YyQ6(ی).%e̤PNyq*TdV745+bK sio]xrc/u-39Zo똙 d~8 Eh=SH ]-iFO0y.]Q5y)ү w5K螆q,5.޶D F.@ nhq7,୮&g] O%3L^lˆlʣ?ό#\3Oӫ ~HDlCSbdJ3;l 4K 4bQYxV"(GQV fLHT̃/bo(K;҇i4Y.? nj1|M4I];iP ypNl<0(ABSa(OSÜYDc&x=e'Оq &B4:K$J?f^2KxT(B= RXgdԩ76C%Uh+N 5Vbd*};IHPK#(hqp0\Tziu($RCiT:cBZ5Tj~PT͒xe%cvY7-s*ŏ|X|E%Ksy'v^ڞ F{2y ;ı%Q1Q,hE-ab+^K$_+7eαX,hv5/WJ-g b+׆!R%٤[=^SDNi˱\dl16g w X(ȣBEU~;,,tne?6|(d&$GV ~1"Cg3k"glԑu8-=C}8 G4kPCH;0Fe>h v.LeGd'q [<~=6G4jK?D }t^ h|qn/- Dp'1ŋ$r]xAܾދ{䆾 n?R=۹-Rq+:{ xy&7ՋC}bMTy5 '"_ ӓZ"*aTW:m| hςer*N״-O5xG{Gb2)ȧr3d)Ѽt鼝\$3qMiZ8h&'%m 'i=I^ȓPM5 2D9 )(n .ClgA4 [2D#Xb~l^Y*,]N.`!GnO4ӳ_t~~ӻ 63vH:0=MfM25?Kaqղtd #%x&ynHIOJ{W}Ȳx#[xYF?2ԜKpgl( \|\f\º#Kw &!e 6Iݹ`h0aZ$KSlx"#fNEY*;NGA_:asPLz ^M%٤t ;0U'SE[D:8Cn$eR94@*n# `5+WYggO+gr/,[14?D*~.X lnàpx n( N %zgd |4|RiԚF 5`(/ #I= ZE ޺4xpJOj .6nthq㕸_Z|;dŋJ]XqʨG a"E^u#2~1/ ry56^ IA]@{ LBJC&G/HF2$(X[VvZ)C bjڃ:f6HAYJ׊DInRIA"FFf#樢;J" Q3Ш~Y.@}2JJhM襥8xc{ݣߗuJǷ&^˩`JY_ yQ2V3FFfp|kb&%:;NNϺiv(&A)&_xm߁s3mt{h%ZU/S:=)yhSw0 kcNK);8??=d̹XsΪs CT:ʼn㻓8yWl#n_Dc#͕5rw0cӃüWЍ/w`cCZ:0%g>A֚ejk]rKۼ]Va{zY ]s͜jށSJdžZ+{g4](<kuspL/_ufp)sZ%$U_u:7;;x}?#VisV #ǨVMw9XTz8'-E,'C]V:g,9n {(֬wKqL[3:}5o=;HVĮ*OkwdDIZj> &xcti]>Ol{c:2YǶ6?z2{b6Pl@vcUߤ{rvsȰKVSBg,br|wg nf >r<NM+a[z2YghdkDn=%_xus{ `Xf5k\o{iA?0/ FիpQ` JNp|W#ՄߞgЬnCC_V 1mS* .3]k w\X:\r^&ot11C5@Is-46oNq)o0p?.6z1`Jr +ZǷ~Հ,`E` ]]|>'k`,$Mz&ķ~Lw>htEU,=ڇ<(Fro~ZWF*RmmW֪=0C>4H}UڞOϺG"FA}AmmW2Hm'aEmuMTjm`"LNLx]qīµŧx"k.n8)pwo󃓅zs{l86]G#X+:{ׯ{X\s|գR/.S~#e t:{gu|;i/E_x[ac#ם|.huV>-O;P|CQ/%u+(7OZxjK]x3%ONєVlWVӪa }kvIbJ$σZQq{%Gr}FG໅ tZU[;{YU&Z'\cM,tm{-%0!+5/̖ǧiP4X5{T3kDZOn%d&gKRp,3_\`m:f+w{F^Pk' $[I; Lu nLA]y0504ň JyZ]ngʳ'jmC͠ 낍 b_D&qo ,q80W]fOǴx~Vl~bIyQnX4(\j`e},Rr<48gT(.y;>,A*%<$gS_1_<fRteǚdˆuUQKG#Ⱓ5 -J0Tp^,q 7!;A8=?9̲trS%$G,F(cZJ %9%_'H7Vuh+_, BΦ3>yEggi0C9YpSb%DY8^x/rׇo5y޺?mEɉ^'8A{>#)g{6WC#OtEA '/!!? ?=rX.m olL`'D4f^gGDDr*ɒrDmR"ڛ3jn*NFWnPD7²೬*Ct (?ǣGxg&pL|CTM!@ ^O5_ZGd8֑$P}4/0? nw+[ʖ4OLI!)T{i_=]tC8k 52!|gbl[yjx^KdT&2s 7C̗qE($w8E,NaJ< Ľ#ɋRFVLE.#TAN û;^_%G~udLkZ-K\c)z`m t i */ۮ d;V̈́Dax@x p7 p=xaah֥c3?KON]m2dN"u`=HĨ2D.] ;9~TdD|L2NՕF\+(Gd ]!d6\fF :S:_i0۳$ /V=nDP Kl54˂xJJuڽ#vr1Akl;V):kcPU04.ƅJ)tLTZ'jFq;"nR!WqJi̜ K3p+ z;FxgPkBS ݰfhy?T E,[O`' j9Blb]b^j{q`'k8} 4I'ޣso,N\ΉmiZʽNq!=adBzӳYoEva[̄T9q2;RZU*^ˌR Q2^4˻ <3z7\xmSC?뗅:4oXYovY9xiS.Yz̳9hP-X B:s%F.FadTayf 3^wPIXEڳ@=kі Գ@=kхgKyK?~vnErmdDl@6b?.{12 :|lAk?Mi;VOS_>: Qe흡 ݔUl~忊zj"cKb鋌c鋌dt鿉-6Kaħ&X/cͮ AQ_lbQEZ&=N `4MC[XpNڼķОp %vyUMb3ym[iAڟkPÃrګZ 3<b Bص qu?p??| &(䍽GN -#(>}VdOiivm->]Cѥd@D ˰g9Epxuv o c&JrF }Ve6믓t5?f4r9A]zzfEd8,iesoPWsqA)<I"'|ɎƘDeX {3=43^l<%E穤3:)=e?E8^vV;?ZyPCOh!7A@0P)B $MNa ᦰ[HfQ9~)l&l)bS=Vꟓ D45>Ю:-ƠZ'zx](r:EK\MN}CL{*Ks#ӇUˆL=Q7IC2"$rAdذn esoA1Ve`Qoh"(\+{ρ?u53Kj;RMO?P<Jv~{TSѿ8TGqsخ \q'0;(tn9 6K|AO T6İ U 105cuS C&w^6~ޜGWoCOlD +0ЩjLsN44e#nH֌j`q O1!>f-Wa6lԴaO\HL g?UWQ1Hg²[xz]i_b ^|M 739uV4~)P@ x1OK`2@L YxIh?~'X[2k8q_YMY-"sZP} _q8W9ꗆ~eB|nuqNR8/ m$8a;{c >úɲ_+@1'78[V|fM r% /c<xs!(ޜ "йzb!_TMEt|uc|MJ4ƋA&@"cmp)̧` oD6º'<tFvZfKU0:JExFQRw=mD2w|Kh;LY`rkNo,*Q 96eewYsBR;=̗Z {q))Ąmn[QN,R8!HsV9YE1dqT?6*Lxbg1FFsLmw^g\SBҜXGrlD[tΟUU5?%F=<|N4)D_GY%F˲QjckV* ;57yڤ7K+JFLځU2 %ƻZu>;o.FUVXiDu׶b0Պ[3Ա0`Tur2Vjb)2 ȲR/VVϵfq[T OMST*+DZc>k+{JXb+l`0TjS_0g}N{xr W2ޔ؅qU߃&X0P+U `TN#CNi5[ZSSm|Xߩnk 3  E,CACAJz-N@ֻZ@̭5VM^")[wP갺g fԪT"h(wQ>ovKٻTQAsΰ}Rb9 TJZ0L|| 0Le\R|٭k = QijnpoJG9{710L O[:rƵ?k^U6mw.aaL2kgkx6,7B4. z#u%mNY<6oFp V`s20<0(^iR a2x?G]Ygr'PSyq)ZN-g(Cs2۱6V=U ~:ę$`Q(Kd5J%I{A4wE(D% |r X^a\ S KS*LeL4A$rUep.^>9a0,kRi6*l:#|gbE H`HfG1y¸7}Tm˞H4\ş>Gt JF}C^k-N2,V![/lRMնn^8P,W;b'ónO_ͩxUuuxz[Rf(M٩DŹ-q++:|nP:.;upExJT#% &U9ӵdT0` b{s~pNI݉-ŘvMJU vJ(jP @b8|=l Dj܅ܒt$܊򱝶Oz$kkp{|p|rq|nPz{oA3V4Jc8=9;Kݩmǃ[2d>ƣӳa[#|nPN;ÔH@xN;N" F qIvI-v> /LiI2p.Nn_Cn_TW dCFi|8Iarƍ̨Ĩ* :<4ms+9X4GW l Ds|zo)!oc戽7U/D'4\mL)TOIx..;R`j~)StR`b>Kaܑ0xuL.&4U-9s;b|n!$絵yuxpJs&>"\\X|]ٞ+dl ya`"7Y4c֜¹a{YT>w)#Whnj2ϭ.[wGk҄2C0XNߢH4#i}>ik|nPMJ4-; duJCbKfVc >~>9OwZ]%ONw.{@xdիq%r|i;Mmi$t.^S%Fyoc \\GGoRr%Y'0GĻ6C||{^x~jhl.!>qMCR4@x7wm}flCpf˭mrֶnBb}ҌUǮ@x%GV<|n@nԤmNs> =aZI|&miFlBR I4Rwoj]*5~d\ฟYl=Aɯl`%\'GgG@@^v2 мݐh$l.Nr@%h!L>NIRd [l1T~(y{Х8-I:XW1mHY!ds+ #%Uis|ec\=0MLc|n |<3WY(q;nJc[!T.cucs+}l4Ϙ^z3bfVVztOn%y(J8%[!c3w{K!̠{~ޫ7%-M%|n@n^?ڑ9 .4JO冬q6@s16axKd$[(OKBc:;M[X`aT$^sKԼT<>B9@VAJs 1}fG'`\$)44G{V, r1u)&(O︽}jJ7!\݋+3 [1\.TĬQۊϭocfvwH[(zc*x%rwk4W HRՐ [{8]>B"\\Ό  V4 U#s*YEzPSԞtSZN cLIE*a~T|}|*uY tlnGZE y8 30S+eَ-8,u&H,h@ْ75qo}}^ږV5>7urZ d#^!;1}܊rqJ!\|n@nH :XG=|"98n$q绳n/5=w r1!J!oA$Fswj$$[[&K(e[Dp8?z.IJ]Z=Z?0yXN L\oxJ^%astΒJ"-3w)Cl[ڛ-M*#i%|nH.s00<1fbTEr~5eoieK6z{˜П>P.oR!mi>eR;is+l=Ïauؼ;HZi܊q}{~IG%{[X..+R!P2d>uG g&|nE`#6C~!@>Ծ!#r1IEC*Ah$T0*m5b{Z){Q3>NE=md#%׳R7;m C]Ɗ40.R D>tH?|n!D>wӳGI[X>w0d"/YkR㠛HQaq\,`No nHV>B\LiH.+e),eL2 K]kq- .Jڶduo#C\\)F|nǢuϳS~MR;ܚ=I\R\[(Oo? p0XNMh#-,~0LN i[I|ʺׯ;lK1`>Lx:YkȪȚI emKl4t>L!40XziKNb!*S35J.%KxYđ돟oP#x`/ŅF;Iy(sVOys-->'M)!Xжӻ_kE1d.ܔζs@qN;xf܃NͲL6 G}q@)V4g x%Rz&T tンno/ˆV4g`[Z8?j:ɑX^ar%4 :{g^UV46{=<=ZztgPƐ{ǝ^Kʎds+3hs+g7>|nq|,ϓc"<"<\-[Ni䋴+Ps0.VS ́,S/eեC"|g{oϺ隆).ƐBz-,ةHb3XM:5u^D^} MCa[[9> xCKqMKq/xLQo. L46UǛQOHQUBTFu}¤W:)$˨n!HTdF*_k[J`5qL2a+mb'Gߔ@xUL#d4ds+M6ʬO@8 Hn|nMϣ06NC3CQA\,_&lՅ)!$h[;V}Y |F S$b` >B|Le>YW) cIZvV9Kpϭ$l.Z=Tvt\[Ssp*|͗&;+Υ}S*Ң>|<ޕW|nPs0)59SOGXwy:.b\?mi.ov z{S]#q 9cVL)+[c2@aF9ԼC%`nͭJLVvyoTl2InJG%5١|-5>@IR[獨{??5I==uEalqylDSġ15ah;)R l6ј5*KJ@.zOd`R.`t0ÓXIqmS*loO UE^RbxI>;IK @_+ ks͔yPܒ5H=S2%{GxVPIq78.EMYrz{2;v]}dP$ )H2cc3I뺴܃ϭ,ZMVrC%l|{hxSZ!oDzPH줷i ><<{'=Z*Rt MhvOڑs@rql6A#7YҚ:>d|8vJЁRzҬ- 0o[$ߪn |nȜVV1e%xn 9S +<@`'ĎLAIm'6 Lϭ$\^d|D,q4q!<,Rh$[(Ib#)0l֮S,bz Xצ=]?%Q'ΣjuiEn8L. wtQʉHltiyM.h|n~%mT>*TK[Fz 9)elJk X ͔^J|nzo|2%ɵ+s~lXILF3HRҐֆE 8R! 4>JbGJ-#' i8>$G<'>$GҒ&iH[(&8єj|nH.f 8%P>/ӿq6J_e<;h /Ljse*[guGc2zew%`!H^x'}Wͩ>]JVΏ>6TrDQ:Q3B)EquSD,Xӆ6H&EۋqTU-1 !_('[ļz֗ؓWAT\}@~ZUg(;yUO"\U<*׿:yHL R!Z3?r稓W۩P>w~t {$ao\հl٨=?h,$-:gٓWiS|n!D>f|ɫTyi{@v*ZC5+:ǵ}h4TQ=%'wĶFKk,T@XeK~T?:fa_2_T,t˝<7/r?Q58εL#8re +j 4s@J|$d΂Rdzqʍ+4i&CJ Ŏs !1RS|n!D>fey&+EGC:1-eK n: f(Rܪ.*QR%Z).ϭd)~J=QKѐ>$_Yvskk7ZZFS"HRKK|l3b҃Ĭ 'b۹@T;XYljmܴ-ώWϺ*/~vbRR')Ɍ᥄DYs@^$#wr){#vd[~d` 1 $;Ug8G.PL68vF퓞RcGvV ^{?N gP'Ml6Et[`W{[ D %>"þ &1I Hƺ0)[eђ@s1ŮJ_ZL0dn.I:r&'X;Җo|najd4sKybO)GQ#<\2젗M=ޞb^C:-z?%C%]htb[f==0I`ZWHeʤ#Aa\~7xoOTH^/ LI\!76ZvÆ8Da ʵfpsouJ`ȝKL!ف.Tw"?ZSU*\X )k~c|Nɕ yq]GkU3\9$D(r5{/b\4 [g@+_G?ZerhhEZ7ѧ!}"r_E^S@,tFtO$/vBE"q gr^VRzs~|bf:.EUBVݓ ؖ^d+[Y_X2M=G %xp.&y i'oN G j v&ӧkH\r(3Ӷ0U6gYȼ CU_塏{eęYx{EaOčzBaMZ!+⾜`nKA+ҕmkd^B SLB5afJ@A^ 8>48 pDSjJͻ$Z'1d~(Fq65_[xP;~m܀ivm)fdU&$ɴD^Z!3!F ^@5;0wu`B&@ch B;:aV;bٗS g2fX?G萫E 2T%E4w==:hF:l"sB?Xj^~SΚQ40zD'^M{9[B;4Vk޶{o:/(t^($j6T113C{:,+9oڱ!+; 5;$] aqE ? <ل&q9v ۨ˺0/-`[j_%8iSuuu`>T[ ;ՇFklZwF {̾~R5׽1|={hR[:{:xEViEw0{x1jtZXb2`r\)͡aA:g,gӅ9E,Xmkcbɍmԩl/ڋwQvr"P["Q|[)4JjI`)$Rqr=zuj^\UP m||u>do ̽vl-̗ٚFEGw/5e*LNo䌵) ]['YlJ4MWIخ&rSfRy\'f}%U8Ú]?3V2þ0.x}s y`1%5#9)K1יٺvWu:mZ~Uf8J _?, KJaZ$FHǠtRu7m53qn\&ղ kcпQHUx_I}>:KZG0bB~bm>E{OQcϏ;ggI=f9YMkDwCm&kSA'ݳ}5ZZmN xk{!\Y{0N>;g{5q]BhBBcSmf&!6[c3Qm>}&~z?(oWkh=I5V4~^\=) 6,_qGNY{^Vs5&qwId9dٯYM~7:xbWrk(ܞؿ?خIA|wl?T(g`ާXf']LjԮr0@TZG׷\nbm;nb۪JoinϤ~AW\B xX|`=_(5ޏܠUj{ixS<ڂ)нx~d lwn¬[W '?QJ#z]9+<ڽ=v.lr[ <4B t\sv98A߷t{OöVUÖ^Ɛ.߶ICޜ싕{fm{효0e}P<ձ=› ȃ ۿ2(v!ػە{4ᔎ^t>{ OϺGѠa>[]]͟o `t:~u)7Xұ{уmVD4 qaVv䕇W鵏MFĺK 'od5{4"QL{ׯ{i?"!^2dw:{g|{rNm\Z>α؈eP閧x P,P 9+t7Ҷbx:l:^FfW)~rz~sOzD6C ܼDp$QՈBQ#M1asJHac/$A LUso&67_OV+Xxc0C+2o{&_VT=StkO^JmEKi;ϓ$ϊ/DV]EEpj?o$4VSaY\)1!ŸԪU ъg5VDWF5 6}:{}I 0t5qlc`-xr+NP?XZ܀1:8Kᵽ?RԖ{|ʣ5 pq8s) !Hblv~b*+R IA>X2ˆuץr&]0@AqQGKԧ=~i8 (OA2v^- m-Fap >TkH@DfB鏅ϛ>%?P8,:c0:ҩrӿ30i8cp- 9`?=+YjgR;?6MO9e d/Bٟ>otPw1yءr+t$@bDR^m a_myj._???ؿoJ?*j!ϔѣp ᰃC  ,캸`g  K3!Bʡ.NBR_Y%@9i3G/Ki*#mȃy×uA03K$˿eD#'L(d62XJZTߣt`/JNJxz# jh1$ SũdV;dV$D_謨ܤlaęM CBgÔ& zʍZ/tS.]g L +āWV*N0,H6z +8F4TA8gTyLa=DN?P=,P5A`FlÔ/yUhGMSgHͺ0O\ؖjRi 8px U3|Ў'Ѓ׵oGСV皪Ȯ Pl#,xh[mcH_M1i[}Sz '0l ߍZRVk9ρ.rReY13R\@jkeY+o[qa2"c&.Okh)J")"vvn4(;r\_` Z |-mg0pl-i7_nP$zե]`z! O|KRYkO45ͩ0ڦ碎buT;"nS={_DV ŮתO0&,0Ge|C$C OAKr_yn6eiBM TӈYh <%dL1Fm}#A'D9|y}炃˞VeS9‘!23y q?,!L8tħn)DmO/ǘ$|hl+of~ ) X 'Enh?u+a L]|=TUe2:Z) &\9妿~Qvi9,%"~ >(;|dCOe [J){bmX?Not/9Gh+p1mWnJN`eu%ntZv [>}+/Aϟ?gM;Up" 9}i˜pi1kl` l>ˎ Lm+,a8c[`-wz` . ,s/EFCW"yFbO)7u)JS𖕏B_\0T-g%~+Jy)HPOU|09D NZP7Kh~r&`(zwЯ*N kYBKF. +ܬȱCOUR(J&ŐTwl'ppc'j $nsA.T|ڙКVk"愑 Yd|;H +WUl~Ph=` E-ۢжV.w*CzчaK"ck6Pۣژn24YnU!v`MxU]]#Y"7'@'^V%UM~"Dd`Q$`lp(v>p!p@>>^gDlj&2=318an0"dT˕pMcb`t]!.tɽ$b1 j6 OQ_?UCl g@](:qQoHl\'v8aZ_@Z.d E` p0y/|~TzBye˰%U8@QBhcz2c} elLVs1&j$eC2v/HKҏiKYvk%3(bBqwvGh)Ve|gs>on7;>bgBU;2_t(;>^@5$ D$O㔇ණ0T ?꼔'vCx9%9L'e4. c=d]vKŸG-ОdoUPӭYVxu&^8V\P0V2,ڱs&új{Zj0*M+]1()"P>>8{J7E rݧO|!fudhAZ -oMZF&A N1fD0L32H飣@?̈́*=OEQ3x 6 #&L sbx9rMX[6j¥\ln]ߘ&̏z\DC–7͟ 5P:20`k7 /ӵ%NRo{Sk'_娘 2}Ƈ{:r{OqTbj1eTҠ S#pO٣HaOP} ٦|Q;N.ɲ/×"Ф ӱH7*"-#)i_| ?HT[TGK;m,-6jXӕ71Q-tAaTuWCۨE HGQq,/ <Ϩ PkPC*3T{?8ZN V`=S{;G5_,*D/8Kf mjBƠ{( dds `VxR Ʌ9 >CCЉ FhO> 3>>c`"(v\ľ Y0c솩N̸ xQ96NX|5 D>L&@ux!7 }y4t?OzĿNl~ Z+`xTZBwTy2R|E^H ǟ"9+r ϛ"appS+qڄ>c"nQ7S֡c:Eu-Ju-Z5 Q?&m_Gװ6ʏ`#'2m:"ۏc#8v~Bݼ!C+ .qA4wks^nT* r ?6!AoCd >~= |#U|Xg'(v1(k d2G*ݳIǸ2Ƿb3M*@;{WŌ2*kR3rh8&Oƀme BFKpZ^.(lvc`j";kt67o"~ 1>=b?BX w]<"IP^ -DݍPfg}|Zk4s:ĆTMg Ƃ 2h(%5Ӄ簥96/H,`߹$ 3Kq *Kseu7.ڦ8y~7E<x6ϸ3~1/W<ҹmⱖ鑃+h_a:a@UoyjcVi`qZML')Yc`^3dz _<| =ٶ%/gzё GSҠPD2bɀy_Əe 9K0Zh P-+)V|‰xf^p.=/GEt} cF)ny%ÐaH O/YyGZΙ5@wP3%Y6` NfٹCbt}o<,k:9xY`QDA=)]#tX8X!:w,WLE#܂t(MK)%QNGu'Ff<4voY%Suぴњc 1_R 8`:1zD x?a�'ZdpQSЕG`ѩM@<`U$b疁|@!D ND#GuiCl,2eR|W+}|xXnTv:۸@18O(@EAFf&C _7Ku> ؤߞ✉OAI+ W50s'?'(0rfQ>—dQ[Lb79E Ј MwLL!mo g2JEW2RQSHɤ Fiado{ӈP>f2@+T7kLu߅eFQdrg8Y%f.&]sHI(mCg=a2jity\a:`i$J1 &r@-T̗X4A h¥݃ ;+BdžNdZg)J]d0|:V9k|K'i&]Q@SD^JHb1j$RװHg 4bybFh+iOT(dHtr*yN064C9s體ʲ _hrbCM f}m@ @G 2^x9;})E:}|kt: )I?QEv}\tိ'Z G֖^lk6șZ8u{lCBm&3kŋq"*L@_[ it[dҔ/bxMbDz$])ɯE TDtu&O͋^S|x1L"xLpCtFv2=N x}@rviL67-t"!O7xD~6yԥtEwjnƅ%&90=.>MD84NBetƕ1oOeT;IKcqΑ`3D m![q#$K MLioIrl/+P$sI_2=/JB>E-eQKSu'Cnj ˔BaC MmGkl Z|004xC:84 aoL,ϙwCHh֤ h u3 r$VWuSyNʹr !ʨ\ۮUo*MրQ`| zАO ! sta~. Xͅ/M4H%Z@.Nuԭ+Gp˩fE2r{EC{T;0'fK UqbX5 &S6x;&\{`H;h.%Y x ןllWNA,nomovw՗x,y0q49>:#zN̒ljrk#/WtFo| q74R֧*/i#tU[[+^.^Su|\O#IԶ+/ 9 ]'tȀV/ 鎐 -L f!<HAG['#_y. z9E:\E˱c' gDӃ%:D^,/.C6DuӸt,gRjNK];8*aT9 FzBЮԛc.$j6,J8*mŹDq }l'} -M&WW?|uOt9?wSp$_W2VSoC<~˝BU)#p`Z0!p",Em]Q+镯^ۖ= ߋ?fY S7qOҡkpOxF#`3c2yYdg#G.ؽnGyIu끺 a$?Ain}l/[8dVρw(h3lbZ3{cRhPvqbcpAמYv?pиvz PH@iH,;a`aTѧscn <_/*pbt!K;&ÚaN}C_b +7JH؎>Qqo,=0~>cN&mS 2> :vRs~&|S|e+?ng!|gGo*BzZPU'bHSwI4¥֯G{\C^P +f= sh`&J6nNN_Shz80e2޳EX#tXLڦI#bA|glg"ҠPGXw0lya?4 p3}<[=!fȃ`wͥz! ~wM1uP9ק3%bȭUMcސ+%oȹOw+Efp~wtGhψ~+端 $C'.><LMp.<-9MoK9mx'g[lhFt&7Q?.ƾ1L JA?0WV%;?/0j,(e=dEQ8P4u72eL-l ;ư m2%úEˬ?}'," 2GU}e#w=z{Ea{SQ.FRa65K/KLQZ P#`"JakEAIܡVH7|)Iaje!р#& UZCvw{1P7Ms9#REPP`y2 -V+,Ba跄ulC݊c#u}/Fpm\fl s+:f^2*ٕ>(S +so*nB1 ( /lx=17R ̖rՓ+^}߅eUMd6ET.E5$1 F\hu?(i\}̤_c|1(ὯPVj&tZ4/`hYa`>L"PV0ܡ=?1Xm