/* * Unix SMB/CIFS implementation. * NetApi Support * Copyright (C) Guenther Deschner 2008 * * This program 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 3 of the License, or * (at your option) any later version. * * This program 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 this program; if not, see . */ #ifndef __LIB_NETAPI_PRIVATE_H__ #define __LIB_NETAPI_PRIVATE_H__ #define LIBNETAPI_REDIRECT_TO_LOCALHOST(ctx, r, fn) \ DEBUG(10,("redirecting call %s to localhost\n", #fn)); \ if (!r->in.server_name) { \ r->in.server_name = "localhost"; \ } \ return fn ## _r(ctx, r); struct libnetapi_private_ctx { struct { const char *domain_name; struct dom_sid *domain_sid; struct rpc_pipe_client *cli; uint32_t connect_mask; struct policy_handle connect_handle; uint32_t domain_mask; struct policy_handle domain_handle; uint32_t builtin_mask; struct policy_handle builtin_handle; } samr; }; NET_API_STATUS libnetapi_get_password(struct libnetapi_ctx *ctx, char **password); NET_API_STATUS libnetapi_get_username(struct libnetapi_ctx *ctx, char **username); NET_API_STATUS libnetapi_set_error_string(struct libnetapi_ctx *ctx, const char *format, ...); NET_API_STATUS libnetapi_get_debuglevel(struct libnetapi_ctx *ctx, char **debuglevel); WERROR libnetapi_shutdown_cm(struct libnetapi_ctx *ctx); WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx, const char *server_name, const struct ndr_syntax_id *interface, struct cli_state **pcli, struct rpc_pipe_client **presult); WERROR libnetapi_samr_open_domain(struct libnetapi_ctx *mem_ctx, struct rpc_pipe_client *pipe_cli, uint32_t connect_mask, uint32_t domain_mask, struct policy_handle *connect_handle, struct policy_handle *domain_handle, struct dom_sid2 **domain_sid); WERROR libnetapi_samr_open_builtin_domain(struct libnetapi_ctx *mem_ctx, struct rpc_pipe_client *pipe_cli, uint32_t connect_mask, uint32_t builtin_mask, struct policy_handle *connect_handle, struct policy_handle *builtin_handle); void libnetapi_samr_close_domain_handle(struct libnetapi_ctx *ctx, struct policy_handle *handle); void libnetapi_samr_close_builtin_handle(struct libnetapi_ctx *ctx, struct policy_handle *handle); void libnetapi_samr_close_connect_handle(struct libnetapi_ctx *ctx, struct policy_handle *handle); void libnetapi_samr_free(struct libnetapi_ctx *ctx); NTSTATUS add_GROUP_USERS_INFO_X_buffer(TALLOC_CTX *mem_ctx, uint32_t level, const char *group_name, uint32_t attributes, uint8_t **buffer, uint32_t *num_entries); #endif 9  ؋+9hkˤWX/ zt*|g(O{$,8䘠~gh૧O2zq0*M^ٔ#{/ L&Zrkh51P]Z*zH"Jrb֙c$/>ܰT=Z@74 x=t_s7u<]Uߡ̃ARoOQXq/,;>p  v*ɋ} \eTpXjW~R\آ&V}n)t [D) ʇ۶7BxP˚#5H}HYrG~MŲ&&[;LʀEF:}zet r195mKtGI\k p =ࠛlÌrW@ vHoUF>b^+\7ڸBR z09b*>g9c6u0Oc! VB!$'wD@ uBFC/UAgnVȌO):rQP=P[Jb%n ;<">w3o%}J#PNSaơyg~(|""MGpJA]x $ O& j!_ zl!X+RR3)xhd ,%N`O4L龌R5]͢ EH*|03x4P}*,hœpEKy'Acl|^h,=3^8/om}=4RʼxJ|_Wm) v/ j!DꨑFx闕*~19 dKC,>M\̯gS<5)PS*̀ gmVECb "\W.'z17W grrjn֥f4y*imJ]h*zOH+I#Sy}%L8Z]ȟp;KϺwsm#LHѓ^2{Xqcʳ]No!0YUm/3*X0)t!]) +0b\ PpmE6ߋ~xRSI ėC.pbm'KNX]2ѕ1 uyPӱب{.zUٛrz *PcA[*J>`CiGXwzΓ#$Mq,z _O sF0FRaAfn_ĻZ}^$evؓKTK iz X,FNUS 4⤲3ޒ@GMd/qno>P{%ͧ&r ]@;g0L S^dfSZ!Mh(|"-/4݉*O1ցJ)E,S[T9Se1ꆌh?Lki 굚GT0wSiȧE]DPN>dav1߱|WJ-0NAjҲiH!2J6ٿ&H ; R>o*g+63Y'#97_!MسyE(]U~= g!^$ÝXrԦ46&ufW'V٭Ē(?tIJ\icg={sxvcs@;S@tFR:d¯w*s޴jdCwQAN̽'=sЄi#,$\oaOyjz1a ݡfBO 0 ͮ" e*# y8h26[>?b_^ cIt<s[\ kpXke4d;W6*a9Xz+YR .Ȭ48Gc:D[\[Y~&Ԇg!hn5vw0Qze0zE0M,cJHed?I҆ obAPnPmla&λY _?f%u!>,<=ok & ~j.9j@{_6H4l,/\uX-;I^pmWء- \0IJ2|dc7poi, -[(.AN2E רI)aX 0dDß_l"/D~;"Xr[s^Du95}ל G٫M})8%VHі:}Aٿ:†o(kk;'3mEԁRL*hDI[˴quFE;#ɢ»)o շAJ 7ٔ[ <<,&$lΨv:kćݤyjqj^X7@Mqы}Lth,HA eH+żCJO$d] whWyϫi&>.g=f-qbᤤ±m` 2#T+`ޑ rm=[F yjh]3LAfFRዒb_K J9󩠂2lʀӔmmjĨO-Vx_D  |NRwg CWM*uƍX7Mw2)<`4C~RSd%06weU=2'; M452ӸD9'һ0aZӸTGgEWHgy2M;Թ,V҃ k'mtT[I Y&FJs 5b?z-]v?sz іڴjNiy y?Њ4T/^UZ>L#@_bjJd@cn?ƹ?4w>p_glEAT B!HnI~N@X$$v 4Vz8 [ΥДU6#JCz׸%#Ra~NgGL=ه,Hbulͺ,<,xU%J VşD!Ȼ*s, DQmO̡oNdbv̖GH$XUR^ܭo@B.'S@4D_]f͵-tig 1DS^>4-5J@(/y0!"AljOFFn(;"ǷP֣+ àj k5ډڥoqXmG(:Tk 넨n,AXx&*cG^a҆Q B_@[ƶS4[te5 Ö}Xʇq"X5TFg\d>hYC+Nᠵ9F#Dp}U2 YCѳ/J/[Zؾn} =˟> RrhTĥW|b#s';h brFϨՑM&s+h׮]c).R|l4tm]H|DerW70~ߥϠnG 2L3?R',i '{IRu ۹;>_79T'3|Fg,p6b )qJxk+nGJ.Uۜ]^=S t6e@DDm%c@%sWi<9̞`iI.*EgOK̄%Q;ũL+=O387U;og:'+p#iA=<ٟSQE~c uCD%T,p~1Fݪc*bհaXX°ݛt?RvC᎚ZI 9yΌ~E# ׀1%d8Q͎Hruv]2o6?,ψ4}o /;P< O^A?< LNmq)m2^RɛYFss?R#wND ep bIX!i+ղD?MVzLCQaI- DkEł!˨<SI6G>ImD 1oZ^psZ\ |;4#Kjqn -%Q\1]\$pl;ZqĢ=&쎝uq<2X1zÖd-w^[~aw#764Kߏ~Y%OSɻ@|xA^w"V]4,E1c0\~/D^>\FbV^l6DЗx8@MI솁H%%u8Ry"! 7dWܦ;dm5u/E͋2RK,f xjK*Zvbw,TqH3}K-#}F~5T91= uګ 'ǿBG&_LTϑUc:uݰfG&  _6|AH ;C)AI0齗'+yrQzD2'Q4Dž4;y[ @κQLlet.<߼lVlFK;X@⊜HWbЅ" ^RY5N>˨^L$p&Eϻy>U#{#}!b:"p^jY4 ?g]^U Φh~8K[h(lIrDlr(%zRM tbtBoP_]kPmqgNz, 1IV\i'mQKw` uaJ.]+YlgX}myi: ROyиnF٧~rf&o͖Yklƨ4$1£[4_߄?n%3:p:X:=#^]'b4&* Xo-u#J܉P׼$@**B)qS~ܪExS}sn+Gdqx՗"Gs.ȆzDB]W5S0^>yѴ[CxmJ_y eGZAF!_$}Q*ל cU%B[87m(c(E8wA4չ .lNC 3^x'l\rkd!*sҡ[Tϥ0A-lqW(JڱEy˜2|փ&s_P*ޯY\κ%%g/BJ7,O ICN$}~2otR(3RF9jLhGeM9ҍe 43+?> |<uxvٸVk"6Z Bߦ3V 4ʵ/53TmBo0zFX#q:,) {֠xs6D~TTa. WE6V}٘+r_J"Fx,ۈrP^lId? =x8s$~޺+%%oHNڋM 'w~xt:v1:!A6jF'QQe>d(0+럩oTJHMgE{&-RNd!#ti>ARKn'dHbs7z/|+=.q^ԈW86["Q99!sm,S"T»g t:-$cTlRctHAՕ0_zX@u\ C5^FPf|&-d{:Kmf Of4q! ޗqnR@;4T {v_eT[oҫnbje&/?F/wyJ74T-I?w oB7h5%Rp IɏN4q_-QZݤu~v7DpdE]m7I"Ȫ8@ ,=軚Jk8$49arߓKfYT6N+ x.`|9DکzU캩٧u+w$j#KIR a\φEn !XdzL~[A- -~,m)cw_,<40|Dg~h:}+!tRO_;?LKv> Zoqp:v[#z+vV05' I ٜ U'u|s%a|䤍hqIEhv":<-鼠wq;X1MDSyS0g˜s}{(Vd^FE91CI3Ɂ 2<"N7Y|rJ sqWHbV= /TgpR[٤&/ Nd,`Q t |T:n 2@MUMUm"['{P@smo1r>zZ-źGp󣂥4inYmg{ua,bpi¬!.aR\fnaGgTVEr9a*%Ksp'-_3ػ jd43drVs`X;^3Jn{aGաU (> aYmNFD=T0U%гC "(ծyv$o߄_@mG̓c N 1ϰWCk,pt5=2ҢLokaf͒iiZ\8l\px}q5/)0̳3ljǻK8QU)詺(9aX_ Ka Mwmdx5УDqwg[9Q x տ[G6 NͺRwDAQ6&Az0؞u36!:Lƻ+^~xX~x@b@ǘ̡WNx9sꇀ!L W>M$qpUझ,0Tϡ xޡ```:L x}|'Đ+:1iZM3/B )Oks~@]NΏHf;C_c)γHoI%tka!>jв:| GSO_K5yB_rOcz@~-3`Jj'r<@d|ژXϿInB%zjVpS}D@W.! 4^R")\nH_؎懲Ԇ!v[ODq 9Ka^Nj iy bJ{OMFh;ߪTv-`I<śSUI9{ =5jP1QNڹxmQ[(PUҭVJ3zC߿n5R7Lz$[PY{jHO9ƚKBt\ _ ٲ/d+yB[چ5x-}.erZĮuCcV|[g6.!Z.nVKv n"iH֜6fv8UjgF&rvGj?p/vF(s#6:ld^Fr4f!<_gFTq4 u9#2e 64T*%k5v{٤ڥF&҅{lYUBU);GpЪP N磧/S:sY- .~nӽ2m!D֑/u+ƲͅciKifLT&M T{M|qU~<AzwI9p눃} GGJԟFS2Vݣ}~qM `k1si? '$-&8ͮ_n{*<p癫G#iy˒PաzYB!ybUH5` @$C!zswKWgJ&H#mJ'xLTnF8Ml> ' Lxm<Du>+PdݽҚ-cy+Y5ګcqf3n}`ɾ6*m,.I6M;zMsشz 70Ief웕lY)95o fׄk`޼k QP|. 85oۙ ?8N_P_|"bM$Z8eP6ua8d%W$|BmtFkXjW:@w2)J3T{5VKb}ŀZ!e+>-&B=x^%Nb{*ᬕhw@ŠJm8.n bpg`V2d!B7 7tHg:4[>E]<7.c67ƢK@2Ne7/jeffW)EB#R{&HLu27y 8J}+"([pjD}W.=m#u/)K?uu[:4mQoKdJ )`?%jDg3(V; r5RDe]*b[*,x3e{3{}؁pr=93_s௶ÿ`6)0ϥe$xC]5>0z;i;=sY03O{8Y@:V63;_Պ \"VB&vsߍ#΋n? ߄w)1&HDo6ꧠ1l6]Bz@[Y?{"^UnkZAov/ C=*MLjړtr6?ö6Xآn99n`p $<˨5fkBq^+25ӳy.WZGRV M 9E#E0fR|{ *WJa. u-(%>•w5bFYkҝ.Ao_DۃGh,}dAIW#wNîۻNFl-dy V \T~Q bnJ (}XPZ_tRīVv, |c|1*ˮ 1P"AQj+htfx [z_V3]kƢz_EQQ6vKJ}]I6S#^4R=72lMvyQ`(aVm֯z+@]HUd`] δ+JZ/m jFȬ \uc] LpXC;EąkSٱHGf2e\o$.S vB*9@9VQ44jBWM5w!%m^8 Xy"*oYsX]62q*S]1MP}m\~< )PZFRdOE~lBs96k[jе|dWp8^1n ֎3r:զ{xn7,-m2 nN1S?S:@9޿ٺQrSn "-CMC8⢋*3a U6$3QxaQ rӬIUX,Co"ezE(sPl 4p<0:Ԭ3l6vcV 7ٰh˂J;Cazj>v:vYx}'j|rLJj_蜆j.OM}uˋॆ.XH?Z#RH9܃I} ЎюCKh%Uʸi޹e=Q=Ѫ5= 5C'둢K9L<3=_Ekqexތ!Yso7'fp(ڐċdDXn]]0xeHpih|3k~x46_x u;MPCGMlpw%@H)&ӫ ?NנܞD}?[M1JTpK b*؄4D/-'(A.A.G lZvttdV2THN <訩E¬(ww8%UB?~f @$~UW\$2[EPU vUH)j`ĥO|'s~sJ9{ykn6ФV6-8j't'nr{"Y\?u2%xeS2S.7M[gTܒu/MLP|On询|dt/W'-l[HD@p-wK2:yrGcSFqgg k ) ~ Ʋ/w»]c.QRQCǙsZƷ=+tX./Irƕk8aք݂Lƹq汥HGvz'߇Y"א[t/: vczR ~Ĭz(URݻKoMqM*{G#tZ=cUe Lc;#LM&Ss5 7J}N#}"T+˜̨yYr7[5B"U3y9d1Evx nl;HfPm lL-՛ Ni{ w| W[&tYT͖'- Oa> ۶;\dG3x@TU.X.\kFbv܀̺DhǞjpv3#᤽= WA`yL,/Hk@hF2.Mk)Yx-6?2+GՒQՂ{C~ W4+k)]G¦ Y/5mYx7o'u3tG@ՆbA!j$3L!-/X]:XH kldzCK ؍Yn6@JZD[L< _W3ay"6Α0*A+?墘LE:[% @%lN5a$=}hL?$I ,7ɪYk.YA{<֗ (]ZXYgt$:%iB+C] C5-Shli jYuIރ9q狓RU4$H17DC即Z}F4IgCՕtßb<:I$7=!~D"ݨU,ExM[]yChEaoˤr'ZPܺW; *DH39? ' ,Л!ř)뜞ud/rH-}Rg翀.g .f=E_dze+Nj3qBxuNBa6puUE|e(p 5k$*URd eH(<G˟nC3U|LrEryNˣKYo 7.(P2R TZl/,ȧuC71Tc/;A} S@w֒5yA m{E@|Ղ 2 :X0W7pdnkTS$nN6bhO샩FBp>EZxpE<`8m6D|Fw$Pmuؔ20״.}@\lH mK7N5BH]W+_kcJc}ȶTUL7 3x:qbq/ 7S|o@d+>E-Z??8O2ljbXZZP\r+` Z֬iݓX?˻z`D9 4?}lY6TJŰ`8ή睞#1lkv}M@8m7ͶElI2sdZJ:j .|N㈔]ǿ'}v SCH{v`  ' GFMU2.Wo>hw/_'^mq&;xoA&ߚyXd丠TJae >_Pcs T8+i&е l[$ :}ek%fT#uUt/MD&P% .H?jVͼe*1?|X2Nhlct7&"|kɘ/?Mv=')q_ƫ{9dٍoJMu N8 3P\"95C"%MB$VͣUZ1ßj )ٝ\$kCX'yDt|xmGYRT RQp6aI@OLa͑@6DzZ:_aWG-&P{ׇĜ$!OlMcjVw\aF֖<VCvoydftE>%BīT*^?A ,paCw;Hژ!$O~P̓tJcx LO*6?0. iDI,B7-؝Uꔩn5ڑhX.W2:(^Z%SMlʗg( '[>X"W1ji59IXegg I$L…~M=чCT8G K3[[H9T2.jfЕ{퓑ąt&&\(Xہ,֯Ս1z4^`(sգupGgtEB突_SBFŏ.[G͵QK&8IԜ̩qn;T˻Fmr.QjuRN'4Ȉ:2r 52Z} -*9&@ n}~Z͸,0(ipG{b>W@o BqjCwyZ4FZd;FIeQCră Ra+tz -_`xJsjVpIA͇rR͡N%ECwamuk5kSQ*ŀR[o7V{M2N"7zwVY+n,o儅.g830͈h-W"pJPg) !EN6O1#Ċߥ1џ,bz8yntmpT XVϧّ|<@wc)֒ / K~B06mƪ?gKԾa"o-[X? s+۰4~-5+9}Aߑ|̒p,U|a#gte1bnĐ6 .S)1IǜW0RVMcxqB vMV;Q\Ag^Pϼ6OvHRiݿHu}x(o |^8[]C$/5䬀{G"J5/ X" ܮ}ΐ9)(JYk3#ԙ&U0/2Bc"hK:P[cK+q"Q$I*ev8oB'8YW_n*x.ϩաˉ:dž-qOsn"z=89̃@=W릟@cЧE>B3gȩ( lo%VU9됏G `S'+z%=q)U=@J U`hA5=Ia &JYB ϒ@ͽ&t*ј̯M}Xyߤɧ|4\È3E+dB?ֳ1Fj\.8$;u<Ƴ8\s*@8?ZQ={]ChV |I^F I 9S7QJv\\kbD0xk@A5P:z0^ބ)j&.ccPY+R(蠛J% 7F+};]Ҝ?A us/X{,]#!ď?zI!4ӽs*5Ά&&Dcg媝{<7+lf!l6:ԈNZ@<̤ɬ*Ȉ*t gg+HTh?]UU ӂAi yEOl8-rI%Nc>p?4CT0Ӡ{,1_.y{Dg֣3&2D`q=Wr盦!!)^d)xŧ*`@R=Os%-4 6ddJ |"E1O|Ě~[k}h &ːzNW8$1V0J9ɴk r&4acJdƍ3s=c?9[hsvlEl{m.4*R* y0 J);2*/T 1qc=OW ~g+4GMNX哸<InIO|L?`M)|cLE+1_ӄU1 v"Q2[޸koݍvCIȖωE{\cgD9n qSLV9DZ_N~]R5k 1 /B DHX.= N5^<(I69)vRhQ`afN'>OUS*Jµ(&M1[eE TlD_OQ4I~<ꢇה :!?s@jۊdx 6ߙAJqKc:e#$mFlzïBDdNcQ:lm s8Ler P;vw;1O@& Vx` 9p?!6?*0dF $7 z Pnm{á\ހCAp%&;‘;'ڦw!A۫pvcB3\s$܊" X|aHwTOHY}XRZ٠eݝCTxqd?grz];bip c\&ޮb9F,g]dfi5Lx 穞ŶPxmvit9BГv*f4, .;EPH ,d'w"XrxTNe/k 6\M( ``b{ĮҦV)dp=2$2aY6{dd%+ClCڐ!ѫc{ w\tL%!vY,E`Y⁈xARi5M}g}C˦Ԍ4sl@4j7/:k*'1=׻dt#|>w'A{h }дt3x ҫpKW0?[K5Њ[Ac䑨4mshb,!dqtTI/ ١bWEΆs=1bTaDEƥq.wskXU\@YqatG8^iGRҷuEw?Jv:WՓiW F:ؿ: KLϒyԜ`Xʼ|ՓMy`K *`Hp}e"Žb_֝XY v.k:ߐ:sJ9'+-ID:Zh"dNv3 qQ5h!B\3d߮9O,ߝF,⯀ԦYZ.z8E&==!U•eo`u㼕+(1AMCVЕȻ4–dS g1xQҐ*/G2a2y9unQ7ukp#*)]), = cmaP} Ɩ/Wݙ%3?sTnS[W\]{2&BJ^;K ZZ7%}QZ  ^bbIضEQ1L>HK̨ݳW-̄ګT !3u N34ġ5 ^Pu'a8H9.#OYm f]M\Vf;fqN%F f'X籆*qT$28(y,sFwfL<[b8,6`=3Xx[MAcݝ6ƴNGK KO'󴖨NQ+y`!@tI,O2DuUqWoPCtV>AI9r!pd8jq9M) VIwkCq{tv:` HTyvKVy~=]+\Ҷ TECǁ]qi&7De|eaz]\*̰^`miDϮ ZI9FָO 5W)geN 2^LXLyx_8gH\ G^{N(-v%I.PT q¹#0䖏oѢ t;қ{]uW\&`j%NwPvhl%biOuza^Gj0vq]}V<&+E7w dpȈ 2WJ;M:ƣߓqXGҊ6j/Ѳԥfh{3¢W#)No0ڤ5l[b%䕒'ggƵnb-GRf/g fW4% 9ZOrK2=^:m {"gπd["?Qޒ~tRhhI_ hiR 4#]0yzVQK/EGlc$ME88je:X:D™ ޮc- "pɓWl=~P ^`v \9/fkU(8"wp>W+`};0HI&ΎhJ(‰iEV3T*#Q,F >ZꂃY喇C@%ɭ6(;7}QQ ]*+L08I} ֹ%Xt[d"BXoͣ"QJk{@nv 7oÒݵUBݖoy} z~X3a)G8 S 3t~'9#Uw x 9)_ I_iz]R01>{jy Mpa<{9_XՕ<̓J+TQ\Q#[k`r[4o⼹v.cހtf$ZD/W_ +VwA}X!.'F؂Qe`u C;E%`O6Pa̅>Y25w}z +PmVӀayB M\t y 4V)F@}If  chPF{ ON':3rY$ ~z,!e9)n/o5q~хgRx9ԛD @uȟpP)$kwFBQdv/#s4;.{Waj&gw-я1q#+)D7OQxLl1 +ґn1=^~[tkfc=RJ*qGX|Ѧe\׌;,0% q+y0c|L@qe/%3˘ 7KN>I) >sw'Qme. Vn:O >zdpフHdf|1VTP#E^# @A4CF,+LyyqcȶsNoe}ǖKy(t#ĕ?S6ʬ/$2xs<>N=90Zϯ07Cg~<_9ңQ 7urCmbqw*"G! e7f¦&fOGP cyQR庫b_yStW=,8$Z4x-&ݰLI5hyno{`39unGx/VU%1.dV44\~ ' g*\sJk\Q4꫕27" u`mbt]]FW<=RBt'.%IZdوĀz8?>8'?\0r=IJ{jQY$%Jc1 5IBäfAMn}ۛQN\07>;*8!=jU;!}"d{@_iE7xMP҅,YEтIJv8Z-\;5W dYJ"K^ݸxdL+e?N8a6Jg#f1xN0zM@O !I94)JӅ׭¡*YWo.PɷKnR?b,HKF f34X:vzҔƑR>UI2s3EWRBe`XI2:3M7 3'+*™% >1,^g+1TĮa\jJ2񭍆DGwY~F|.,~~RPӥ#\Rte%$~y Sy٥ M󍁺e!{/Kk6pغglI#qTaМXI:^ A 6q{c Q#FIsH.Z.3a0j+RƬ=";-fYYG2mFlb w'@D锸]Q/_29'<&D)YD&$v_7K?.́K̕^)';7@-Iu<[Ϯ]LvFuHZ"HYtHJsυ<:oP .fĢAHMFY!=@&7E&gϺ \n(ƥg4r'^/B1[⭃QݚNo'b؆NL\cZJ^b QDgbڜ)щyU,:AKe$|&%Tu (N!훚΋AKyQApݝt05a1HxEᕇe##D$&3c.x`ZE$DEo"4@Eht =s cFiz敟쀑.3u:=ʽK c֐< ɶX^v^2G/9\y跾\{ N#ǥ(?(2hUCNv%VzoeyM?yJӘc}DAj$"$Osbq"n< |. ^W˰~Ik>AtcyR.s(P "$rLמj,|pEך;\>Vhqs %AlZ`#H*qg{6wj${*Y~م3 )ɯPw6]5{և>EP<{d;kS~ Ii3^(t.|oRLkXfx6rL]htB"۴^¤u8XU1H0z>7IDS!MZC1 v@y?HV f3EhAfKa['_t& #Cw$QT㇁?7}3k]r"3&DzK % {W)P& j̃* BvWB 2q@<3],=TMT"WfnD9ssDO9>oTy\ekh\tw 7`s{ ֪4|_={'OҵHR> N51bh!=u=اi͚/_OBU,(.7f f|E} Q&ߢ|y[H5l<`٧N84yrw-=AU!O\ fΏabR௰:NX2 StTv䲇;+TWqvtN!UY].]~^=̾")ݸG%&Dq]Hy/%@楄]r\Ba4g:G %rO ۄEC?3[f B>%۝ń6pKICH~yx=S)!;Bss[BBHqf'PhaJ4qH,1넽^4%U@ c7OCzQ oFC3w$h:PRmͬKFt U̷@&p)>J 'uM` 1hVm)K~%+}84Zݨ>"t؛iWZ)=nph% yL UbBm?Þ/R[w[6jN&Do_(S_XPЩt\bQGW # r ;J Hn!9 vtUn# ~fS^zr?5[wG6/78,zD?ޗ)J Sf2JӺ؀xCs-?sFM=طX|$Jygzץ7" **B@fEIM!>(|T 3Իc(tXn؛ƽ6 dO"k y՜NJ*}dbO,cVL<);zGi(wy[ ]|8Xb#"1d)t%QCl/UD9<#X d*/ti'Fv5֟pؤLFitҞv2`CGub~G(O}TGwOco;#6tQI>+ @igGK;1RHwR<" ؆ 8XϷv<,.smPە:_/Y`SN}*s.Alc&grn㬑nM9rFSO~A_H^K)b|'ȓҦRLC |҄ dݑߣ7ΐpl{,G6RS sGde<iqM{l;rK!xq6EVRs)f?\\}2U?MV}?og2:Nb9R>']^>ꐛ Oj"o0Ű+Iә-ԋ;u0WǴ$+2 rhexy ÿì[Osu\ dZ@]1&,؈7Iٝ~2E2~V^6[`/:b$b2F'@2q>BЇFwcIC 0#-aوllu<%:Α2잭s/D()e~P۩wvno'bU5Үf?ܝǠMwfXMwjL<88K İGpb,ZvY&q߁jsJLiۑ.2 ҕR6aOzhvm&Y5T2.?fcacsh`G=/2.Gw_Kđ|{0UbgyUshj!wc]]H-jރl9ܹa\`>fMJ?ϙ4TM,L JxOP uGDxdH)) KJpRꍠ#`ԥ>m4~+gu Cī#PVKmbO[} `AMXz_pJif6yP1VUS4_R0QwJ(x|W iFızyFL;9 28-~8H K.V3W鸡"ʙ;R\J5]1DRʳ+'bK^z7ZwS*d%oB;izj>AfMOVȕ\oű)uߟn43p%NlVߢU?>I/UuGe_:LHjၰ }0J,n9}_ZjڝQlŌ,:eIj;ա31:"B5q9P+js6@Xo .v! e;jrVШFOjR.Pm<~m&AR|$v(ɼ Y飋J)؇\ ̳ޱ,m,2X1)߮D=wwr%f0tBY?*)L(ǨK<0) ,/Y|="W#sߌCWr M 2W86GkCigb`cl& }Δ)D^FeC` |ֱh?Lsx6QK~h]%I XږUy*6^Ku jVK%8~k*Z:`/'_5ovosWP8vuU v*E{":çKTʢK*vFi(%HoL#u`S$MFGwfqXkYODŽ{Ce~0k] hx˸A$-42Cs f7NiT^Y$ f{CO7ZvDO&Mf(ԿͰPkB16ܛW݄K)17j׾Cb]#3*S#Rtjǐh'*BFg4fD8 ү${V}tW)']1RBU[y]%'>= <x˔_[70>dG @Jc ~ov{kt'*!Kps7>2pk)tcw2=B-%;-BS8fMU^=q'^{Zt\s223%r Gݤ81F'Z¸EmM5 j2D3s*Pji.dYvMY%ќ:}) ~oGl_u8Nii˳Dk@4e6dzrЎ֫[oiyZ1#>K@SmP,š;TD3>@`Q&d lᗳ팙HaaXߒn㭷9)ujBi +a8n?4yw`GI;2+ EYF G|)B\"|I IOg:NT JIYjLtȬ$&-]tU͉{]Bvz@R.~3JǙD BJ4IŅpr$&uh\L4pƀӣwx5.Q(KH7?Uy]Jj|7N*9λ3A>˥+&r?MP{ xɫwcR8~'QA0 % P= A]|b\Wfr,o#aMnUCnNRPhvߟ]X.8*' $/*zl {}Ѹɍ1U$hTs`X^%2RsO?śs (Gү>$5!e;zaX;F#\8L LWO(Gd%ȉ`jJլbk#$> dz_ّ#&Sj h@RN虲5D\r׼G N fL0+n}p7z̓~ZpS$#B zpt5\Xg#."6[hY/@EǼpRM47jQYX鄸L9%Yq2 ^bd . ;){\V PEM{X/}]; 0q&Ek7LGRMX{ a5eޣ|4"ôG6TvoK,j{9u0amԹ4ȑW"?_Y@`OQV^E\[Yn>Yq" :HUQƳ'Ai|?JTK4kC\ ~B|gatLo#s,Dc. /$ewsq2b%eI]݆f~C_Z?“'[D $DvdyB+{;"v tݖ,wsl=82+HLqOuG[Yy_ hȖEJXٔ]qkެZ#Di"*EҀkgXY63Ow% awl8;Ղ[>DԸm(6l9~Y( ]Y(ƈZ=jq(DlI Y`7$tEhj"[W F1d;jBSfLui&"&̾!5>*hECُ~;qЩR, 6G9M^L y&x/iJYqD4Ny0"'("=qpxȲ:&/#xӢ^\B{_KƒO} |&(Xl䣞AOzymgZ? Lu/"|]]'됢Ko#,'ZWv#:Cڊycg>h"ZR*8j ~|*8xk3𩴦FqSCc L#?zd=Xv7=z#W򩮰0ؒu {8zFJ::VQHJ. bO[)<3(7tB'bE,DE+Uۅ;vQ&jy-L-멟͜Rggl.tAi/P[w nڴ';ʭ+& ?.=O*1‡-o;f?oe9Re}E؊}?."Rx_Y?lKzPCKPWW\9ǿ6. E &aPAd΀ȥHmR1Suen\E+zS@ Sy6>CD adߜIvktwhҩ Yja>L$礍OkcjROQc}6 䖠eoci"<+ p*OPR҆cs!)^_(ZMrk39Ec8hXk0ёk.FI7^=2t%7%ʗ([wvEX2tp W8LoFd}@5er[|/,B-`)vX[aJ,n| |V|z Hy7~`:BFXtɱ^T*!G d*8n\U^&Q*jݪ>](%g3I]UhR~׍i`J\u6U]ll|` ?<)GqjӲ$r88ty/hja=`7Tl̩ mŮջadiKWli0b:k|v\FM+"8[rw. C7YēW,5ϝ*7aqBo8mjfOBXA5UdJ_0 Ƚq fy\=5gcXi,Y6-^S]i weCk'FƔ1H^~-ER}lKsq'N5X /sC[Uj.ӋtOQ}IdevR z-)lii 1TxH z١['p˔ZgnhF0NZ~#hOaI 4qvXkTKH}Ên](0B\?e%:x"vj0gnYq*-ą81&^]ɟҫuÇhon1J#3!>`oV*zj}g[0"/H%"մJ@=n*kP lLoR~Iʰn|Ԏ4+1CCuqLjɍ9zM WpluxV %g(&w;] HUF ,ݖj#ti"L<I`IJJej#<52Ot}}U}%>SgB sToäJTCIF$ !celYAJo'OQB6m٢^J*%vˊMX?8m&|f4 sh 91+CRgwδٶD|LMQF]lBfQxcjwvu=n̘TbSHǖG{a '"U}nBlOgx, A 'v /Ra~KGAM噉R "@418ZCOQ@pq8Er@Ԋ ,&%Y5ͬ)F;_1>иkV VQLM9hfVViKT oPA{/ֲhbOD {讄ܰf`¹/\N E+D#&-k kK/J+8؉@Ox[f;"E;4BKC  w;NngH386:{Mű[b#fR٪9c_Bl5`fJ?Ev%wbrڭW$!ި:nS٢ׂj˼{ b˯_T>b% C?|!tHq<Ģ Zqw&Ae_nd1€J3=ǰޅ- (}C|)?`>bv<8L\ek%9&M`"{|+ӠUbh[Zl_2qLV v?nb+QwM EWuq ʰMhoMBM<gn3Bs& <Š4ϾlCE*8CbOB88QA'OR.!gy\f* k*yEba?gfYΜ3td7 "޷-9'QBTKsMsܒ>LXΓ۾=)]0uJ>yܙ~K|xtl\QVyTxAw6kW*rFjhT7dk^ݽTզ!LM] rD3W<~16XYڊV4yc$z'ԑȣƷЂ'WyR<}(Pv@4ya~0~(ּPGe}t|z+SX'M_ӺyTtz-"_\1SYӸ.@tu&3pjlH>G=_*6bu" ?aV'zc=sBoy CVon0|A.gN`0}@ZOyS06-7r0Д +Q8 6f?VP`[(L?= K#o!adGMN[^6lTѺ~S{^yV{w~q>_uo5=E>Fdמ$eMS|cš\-\Hc H Ͽ|$JrpNl5y #c8|;F a۞w~-YrDSdRU*߽xk1DI+Stc6{ Kl<@1})@"_@9'M6@^^[|rxv"óH#h&ɾ]v49@$p7%8TI"Abcbw&NsQ/'zXft%#&x6(UAC(XD%hEUg=NvO.QAa R h H>oxgқ^& 2NMjO@EG@Pɻ:'/$?Q~[1!P+Nv .y$r[R0 ;*|ϰ Q0:!RSOC0}`#Zc 8`^z3)Д'e*ϔZ$UP@^S'g4+čز|Tyāo ,qܵJ8^XJ+Uj/Ak*@ĺl^ԾBU5]<&1@z%^`hˮ$I$~֦~&,üsR)w) c% "AGPo0B*SE`:1>E!]n @v`3Sq>6 ~`J =`:`S|aA 輟}E)&υM=>8'k+*\鐕*rBYZߴ x3`/\zU 5sL64;SW.b`A2Gi+>OmE]X ʙf3yY&#CȗxR2NVQ!AoEHT$_':Q8[:kf"#0ߚ/g4 @|9y2J|\Y62IL嶸gܡ<>jö7F\&^1~<#LIp4&3XW#C576aq츪LX;Aޫkߨ1"6uE"Tr.>U 8Ka'F'_Xn=w\8Wo>6Ҥ;ʮ?RE/F2):3pued҉IQ Usr<9] 珸$SCR&SJ|ޣfPi ,ڴ3=borMV\ꝶɅ9bI Aݮzp^XAOA{Q.6^y1kMA,f7U'q?Kp ñHBG /5#y*} ֈ^CltJD4gH)n3f(gDor>& #=D+Oޮl#DSоS#|^JK97J 1.k:$gNMįy7O^Ѱ5qnIeHnPy'WEMd5?QVqP'pYA(Tl}Wy1[d<@J$/@+ )rn%Ky5AXfŲb+wz[<9=G!7pŇ_>$+!xOtuQWa>ڄˮuƎrj [٭]*Xp#|ц Pm9t#{ =ʀ`]g,Wt4>bo9|}sMgp@xto<*\ƊNj'ō:Sb)+탕>d J Y-{tމm#* 7 8.=ǝ:L)i J~jr:iIr fKg՘Jgyʼߟz JF6b ZQ?sҕ%R W5v[+D4▖͡~&d;NK;xjD>FWa݅=t%Z]QH0+Ū 2{/WAĎtTW:Z `4Ū[]?{ncØ+*ח6,qnJUp`=(^cYӋ#ă'1jU߳~tb[Sk`;=.",uK|?*\y {|th`EEhs @ @t!%spI s$ 4yJ)k]e57 飺(S)i @kEUsܣo~csMa]^Y8ޔa_Sږ/L욢}|_[#6x$(PK5!3{zt8 PlR>dF໔ MPaE3,w]#9c F QbM>Uתxu>O!UL#=< 9qcS紵JeNN6TErp\ʐbܛc#4E..g媏Þ;*gQ" tp^/o gwZw&4Va\_3kb]g)THguѿ7*3x7lɅ; țD B^۾%]׼Tp?:lCWcKW0Txd6k&B@FdG[ F&lj: c,7$BU o|v4|,[qk\W k3r_BTMA#A+I&yWfqU܋.p>֜wJT./,Uc_JU16G ;YaWvt辅VH s20# p-}'M eTuwsfnجWߴ[SusLϔP#{ E_~Zf(d9mGDsS.ן*q!~@Ert^-'kT_Fo|weu[4]@D\~UT jTû_zȃ mp2*f[GYmgXq^qG/hLCC;e28e;#FWȰtx#4!x/FFH}FQk,xʆ4 vrG8^S~hY=((HxDTHs?9E,*m_ж2m\OfT'`"_2*5>Nk2W^ld<y #ph[W/ F= z(#E ɘХQ鰍# 5k2QGS~or 0DF.),hG7rhRNtdNJA+WT,gR+2']pafKD)贜A?Ʃ5gw1(psZ"Fjq~!x^Z 'hٵNWoZU~@eoPVMъd._: gB} ܓTA*chN ʓ הnjYUmqػ.݋[1su_i>G0BI5{/Ω2DH:Vd*U9P-AӺ6L`J@CƥR,2z3I"<;Cm>E?"ބ5FY5Ϲɭ&p @]RR_2ƅ۳p0 cˆ#D_'}]x$Yp˨ye鏈Ǭ6u "ǹ&ƛw 6a89A'xo7ULvg x٣Yp1yC fCĊfю\"v ucU㛹Mv&Jj$(O!2&]ߍv\7Qoñˉn V}޼B_4JH_{0?\v븬2x%51v}.DdNzr]Y +ٙzun[m>v3GKG䑼nM+ ћ~Vk8߬s!V3'Czq %+ Υ0DFkd]wW g QkFJ[F)(Goo#@"浄͐Zr ?@h3؁dWiG]r}Y]AK* 3VSGc_KݙAԻjHF95)iPꀁt`  x8wblτ!b¢:1*E7INQDbW+\G8pU%if ,=ée) b%zuv_jt+Ss͵@Nz˚Ő=-rB1oLQA,v{O p Kː;#i<1*KlcEΒ~'Fyds!m_`=>cYX>)vWLX `A=`4zmak=Gխp1`x|Q)huyorA6 @N lD?c%)']k\/@E* I.\6p=|y2BU?J2zdA5IAs )EfA;n<%/ VFymkf(٨&Ulf:@Ár^?4 <8Ӯ50lڱ٣^T@7-%Rhi1KlܝAѕ~D4 @</(߲1|qn)&ǧb.+\E,#K*P| MB[DefeZ`3 tJRcQBrՔHw7)3-=yRAld`Efy {E{CremBj*CքQ#$e!q`m0ac 9<[-3$RPQPD9jV[qܮks Xf3^H֤!z\_׽wuYzw:6\$1ƴ[}׬ܒ.%= >HFMU +TZt-+ ZqXXZFଁ=ˣi= jzą~17axG4ݻ^z tp =eDvXK\o zt Fr,E !u/b.C!mwJ_C1^0RKpW67GM_,#@4:'WW:[*vt}D5 "+Al' v[uzXHo[03Yl\_6P|M9m +Dq'߄/nsSf=d,m$-ۭٜ0b֪7=&]s8Dr_WV#QR=iJ@;&W %za&I"sTsT+Rh 0}HF=|bAbZU`J>4(}ٸ {hhKg4i,3Zbw~pP|cUHeL\c Ũ@3v+3#'O| =M+31CqsŨ$J50 ecQ>k`J!X[ץt#GEkYA&.$nrd $@;E!דu'Gxf+EĴ[|%b$M|{rl#n7@c7Ӧd$ :E:/@S1}m)WgcdC!=S= *dlS~N|M=6cWJ)RXV $,Փmhx…V2pwk:Cx%JjIԘtM Wmk:sfz' T @Rljӕz7`ȇsFη6c%8b;tt>2â¬({}sosa5PD8+'|h÷z{OLjx,/X5^C|'AcK:jr虖7 \DC0wz5” C[ȭ9h)!"䛉aSN[b+U۶u|IEh> ԧOxz]@2'k>=`\O9/$_ߣm}'!"n;<~y'c>1lM+mg)]WU/=*v,ij {9jTS8+.ٯ1 ~H' /{!mua٥̡$[ճdK#\ӑj>;*GL3/V^ (lLi-?h@D]TW.dӏڟ cN!* fC'16=Շm /i6yRF*z xE;w"eev( AR,A>"cE M $kG0 `/`'~; x"p+"68C\F ԂgZVW{Mˈ@ru^ <)U)ܴk$0&5 P=v盀!)D%?چU?L#M{d4'gJ3|qAЁjc*qўӯ b=-7=`hz{`]o5|+mlr̵Oqb/ ykJL60AH!l35"F'5nX0.}3nB~r{yFz@ 't 5Áq?OS-҅G"lD0Q +fF+t`g CᡏQ*yJQvN\rNBHVb;$9C!]h e#EDkoZjEbYxŐ'pIx4h/ߌP#ږ0V̴x'_l$ 4 {IѦaǚP ɖ ͬlV 7.眑.rζB6+ߙc7[iq .]X^iFvW8Yê(Nnt"ܼ*0Ib )Տ(Z;9ViTIam`hFbXEݞ1O仵--SQ s/= X;+v̓ EİH Mk< Τȥ9֙243Gt+x4Djtb"Zb:{~>N7A:&"F7Y $p,yy 4[HVp9]Fnh"و\R`}x>UئTٴ b }ԊO*!m ^$X~6y@*%+4McD@!^hQ ,geg' 3C)Pq~]r-|A<9_뷡d S`ћ_0Ezޱ/Je=peȿmJe:U?Ip?;AV d5ES@̈́1{2@܍fِMd 겫R_vؕV,` +?ՌiN~dvЦvJ0!SA V Ӭ5i܇`-)cW|PCϞkuP8L/ ڶe"VM!$ڠr)uptb6ҫ5 +l1E;_L`(. ([X`-05/'x6pVv߰8RT=sTG'Lg`2d.-M]Q\iW^k'*B C3<|VSzmw( bPC0G I,NpU~L@{k؜)=!˹PBTQj-bn9fa\E/RQ@[ A‚Hiy2Β}Oضd`gMVzp#aC`Rڋ2+Ɉ'T鯉 ߴf[aqfw=\{ku3muƆ4vE3i* To0qyevYG>bWuk$b`EHߜ0/&iʋsLKu34L{XFf^iq/'ƕ(Rz f@[5C|Ɔ]֑;S# fs rfovf4}uPWKcT#mB"t֗N8ԙ߭m6!$mFSۊy0TRovNvY^&`BПj쫪00f~BC:B[$4RʘźK56m[G}@%\LtԙYr AR'¥zp6ĸ W@9g+E~#ᯂQ;Jh6EcqHp.D3TC$vΨ |zZ<1УI%X6܀G5XQz(#d.Jv<s)([VE@su5GfA?}66ěMs|Tbs\8FV1{pmLRQԮvcvj)ؗcg.5㭍?"}+)h/uOCo3ť;dnէϫQtxiRߙRmM7zS6Y-EF|u &T%VT!:;|G8_/A|2BG|=\u7zO=JCvrmA#LUzҏp  NH9hߚH[". a5&T(D}4)6ƥWBH=-xm $|邍m$<ՓW2(yx蓔IlbBo]ߴ0~j qR'Ym <@RXM.>&!œh Cnf?u̷h44C:0ҥRo_FDyu\țo !跉xyWS~> 9G:0ؽI&{=b"q%[9R>RU>C⹓PX k"'g4j (ZQbUfkVLD 蹹AuSBSɹFspbwY}zib ,NM8Pl1F>7szS[Kē~x Pei{orG,=A% ٤Ї]tO,+эŰW_{Ww}ZF5oh:# K>vOЬ2) ۼ؄ bPo{\*p>Bj|1lI^%FC MiZ *.}VER*UUK_h//5 [,}ZVݘa, [OM9V۝%UŬ$-MyO;kr;lW݆%͘a|Dhf{ #70h!Gpz b 0m2 %ENWM6ݷanR2xF(4BV Mi#:{qX.Zza wӋ6A![]V=y^xp-pCLߗi׳ޅt'i{8xs/{"|ȴ*0Gs=8CpTpyE\qsۃL _\) Pumf?l=r-hWK(X7*9aS+HFB