JFIFACD Systems Digital Imaging"   ("&#/#&)*---!141+4(,-+  @+$+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ !1AQa"2q#BR3br$C4Sst56DTUc%&7'Ed!1AQ"aq2#3B4Rb%rs ?iZ4jp3K8@ 9@ HPSP1RJ HP4暐)T7u>i @⛕8Ҁ*TOK.TH R@sc T‡:ԩ{8*lP8fRp) phSP!*| T!Ojz*_ T@yR!Nh Xi}*zC=FO`)HcN0Rt o!Hc: *TGYM!IӌU@b1HdQPd"$tUX%HEK(2PP2R$o1@ hYPbVcd2 -EI#OHSb=*DԄV*[UiERU)W_}S|h(<VgW%Q*אE_@V\uןΨegJ;.<~4GΘ>I (h-Ƭ:w:/?:T$vTw(C*}Ud'gQlgR; '|ؙadzADwMGS}LP0$~5Tϰ?4}Ϋ2sΪ, 66 O`UK`ϲVd SgL:Q+|sB݊.D10X"E6blQ1Md*lQ@M&)@M&))m|R#1JO`RMOo}:9hm_DJTǝH(H+؆[jxm SَpѢT_UV:sҪԟљ=V?dy <Ȩ0O'Kb*d$Dя}WrAܬF{[vzg007»V`؅\#s90dqhDjghGZ\Hb@&7ꎔ="<*Qآ&Qs>6W #-ևE:k|43N SSԩ5*Z[h4=)TӁ@S+M#TSb*TԨSSgMT #O:c@ OJ*B.*jzTSSRJ=1ʘҥց =.Kʕ**jzlzXMO@!T)u@_:D‡Ii!Hr@/{6W=\߁!ɏlʲxcELlju> G yX=EU. x@Pģ>\7sWd.jTا]yRK4XpifHP1SS=!K qJ)RaO@>)w1>iHSL8RG8 9S TߥF*}ZqLiQ!SRhBZ PE hRƂ-hkDZPU hRY1 `[U"Q lY(1VBJ*cLzSB%Vj(*U%nR9I5hSyVQ~UjP9jE>TQHɟ?1a.Dq\6=6ddrԙ:6O~tDYIGCe'R<ϾßA4CcQn]6.٨<[L1M>] ?:_:L2 C3> {'N$M?h?٤9m|QBGAQQ< |`s"G|d6OPe>Y`wgTK!鈦HqIirRے>U9 ORj_KmVs撊_Tr9%ar7Ě)s]}!] wQs]FAPZ"U)i@b*x@lTK )D+M0E5L1TJ1 ƧXJ*zjc!Q R*@=1OLzcOMLB\ԩ.CE"GJlPvG=CŸ*T¥MH$R=1*u4e1*Q:I W='qm&V["ԉibTP?Ɔe6Cyoܧ>/[9v|Ji %G 9~4'I*|jnGfتMusUmέ%3LMD!OL<OHDPPʖ) )S?}8ӊ?}=,~T!Rz=HT@TMN) -Ef>Cb{4 _< 6Oz|P?x~4Y J r#Pe9hiQ#! ͉(9ugh09)ld9~T}U3@ G/"`Msޢm>*?W2`dr?*>#?LTj%ȱ4|~5 XD0XG:bEQ"M.) dTqF)M6(iX6(")E -)DKm(iH&)KMhei⋶XEyQ6+@KM&)@,Q6m1KmOo:[i=SKm 6)Z[)[himm"m6@-MK]KMm.[h[immm]K]H.b,S≶Xm[him&[h{ib)) H`aP1ҢW&_DnM:"Α\6>ۙm-TCvm-M({i1қm`pG*,PK(ld8A3B{aŰ\2SND.KmaTc8|W 0 Q* u !CEuw^JKFny>Uq$wM!}*Υ3Gʹt[xKV?Y(«O&e.% CgtYBCog'j#ݾNrHy(8V |^O2|k\zY4[t"]š`ʡ1Ev SӝvWHM7@$=Qac#ʙ'&U2mLJEƎ0 }l:}mHTC]M%LQ6`*Y4mSTU qSSEœRkaU֠5d@Θx #DP#tjx@NKm-S⧶-GTӅvbX=ؠb&)Ej%hj%h *4V\ |R b#Ҵ3rNBҧSҦ!SR@OLMtԩHC=ҘPZ1,*|6E.TuN['*ōv64]M}MQد_q5BG#v6th\ U~X]>Aa1*y 9*ji :XԔF}:do:ΎTF= Q꒾9rQUjM_D˭M oAANu~Tz(tI}VuQvP$ S)"2 UeѤlUYyTRׯΫrygDsPX~T\F}{0P܃T?* oM}OA_ e=ۿ('p&'E昑~U"5 o#`(1!v#`mpNr*#6r*oj2}. QN*! sHOh<9>i rOQv mGD.f\u@mNLXyc֩y"+W}#/e-m ;)lmHl`m-]hv@l>m-] [im&n(;)mF }]@B2i JmDNƨ[(illQv  e(ܗ8y"X3˒<W6\'gjzW!$);1Σr &00:rmog1rRk4 _hXHЕU8mbqX:̗yYbS+ .Mߓl8\a*Ow4w!uXQ0׷I֕˼LhJ^^ vUwujODz_E*)76ygZ1V0dzi8p´_+#$\/lac3 Nu+ !EϬGSRp ˖WlVH%D.I,iR9ßGme-DR gH|++󨔣L@y)w7*`xU@9G Aۏ}@'4) N֕ MRRaꁊ1쭶S'm:!1"ܺPUm6# VvSl6SlKee--m-,REKm m"RPve-r)ce-SR#@ J*`=1HRJ*zTCRnҀJHP1R@n*uΑ(JH~ʃI** ,̜WMwkx9C7GzN9*]~ Θ >@r|TMPgc΄xTߐ_:BcMƆ=6N~46-`~4FwΠw` Q ڙQܪ~5ϪX10N6REg?MH ٧i9[- (iDs?#8& +t>TI=ݩlUNVD1FqR0F".d AXXnwU&p1rM@qiw(2hťe?tu~ܘ{{T3ͥVh,::{/1#>Z BHoYGjG,U$wtꚌH薫{; "% M۽̉n?Ζusit]g \3߷j@Of&vݴ/Y!GʆMqs,y9 #G"?tO3^"#&}۶r9.8,*g@]&)[6._έg䇉i:\ۊ|sxv`p)9VrR)N\Qš7, Frܩ}Dm;*Ht^M2[2jNHEZݝ.Vz}Ęw5Hhz=KM4S#YKg;[Ueq.ά1_7gZz=w_q=j7: ˈ"dl=KWc'љuoE%,2#ڜϝu^gfI̒#T<ˣEL J.+IvwsEMX\z ks2d|bWDS);e<0G:~ƞ8FWsA(_.W H+5]-D,SSʌcg^6GmaީΪzL${-pxR=:$&1WOmq˘vuB*t i156Zvg>T6#[TKmtw<D3 p]Ε}j\ZN$qh6ڲ,m4 m-[himQ)ϝ1Kmh) m}vR[+Y F>x >̀zvFi)'锶Sdu--6Jr֋Hi6 2UwgEn94>P%)SfQx[)P()msKa?Bsw 4 r^ |͕7bwx#^@I|)ہ*FK]5`FUInf+9wL`>G,'/'&]4Y\\J*݄rICa&"vҒIe[%هERo!p}>QD9>5w\&E|fifKb5Tǖr(F5}:_ݏzTޓxAyQȺf8Eٗg7G rQugiX=f1n;Er+Di P#ƥKv2*rnΓTUֱ$8y[Q_eSy45=a <.Dy&*IPA@N]a@ rrOQ1JhrPOy>9$5@,zS0,Q&h`/VJS$ɾJ)U)Uhy|[谷PqQ)*Q|Nq\-״#Dקb 93Vtm&Iڠ}h\s9:DnYkr"tWV4iaRy#I[Pt7TtYUiu )uޓ8E88N zwf-A!]'j\;q]ƥq$W U;y5Gg-1n y-'o.Ʒ$ќL ?z ~rH^!0:eiv%V]s'D|l`Q%\ @-ߑ[>-D4A-Nt6:}s9cΕ ޲E5gf S뚄Cl:"Wgo}Gm1Q٩ʘh 11R>(:TvR=(Q(]hμ #j~ B:Cn(u?*!Gw#C9~4'kBXhC'kJ[K{4V=mt5hbÓjKb$Ķd◩e%R^b*GBdB~k]t5hyԅNYTVyЃ։ٝ ʦ&M :TP@54!SSHa)R0hqBSʥ) &꒵l T0U`yԷC-F=6s4/>RЋ;ϏHUP_-B W*~ӗSCe6u ?:?.E 6|(lH'3=s<ҡbsAelrz1 !8RQf'>@Dq1!I~t6aP9\ (~ {T3>cנB't9}'/vh{Rʊ :}Po * -Cx,ym¦/#KA%i>,*ƫB-y2&@GW<EX7F'9>?},.1AEՄ^29Y 9X`gv)PI&̎t=F|:'Q"5 ~> TR`~9~_>'4[P`z|&ilcD"prZ[_#Hs+"K:+⾷lMRs"Y1.Pu;XvvC`y4UEA᎙4R}v; -JvG yEuKT`=pg>'yRX 9pvϭk梁^R}Vݜ*m_0žJUpn'@#ǝnk cmpoC>F [wz']=,Me $qW?[lݼ-֣6p]aQ%sYEBCov:Q~4D!E,{ גzȀa|\֙%[} TsoXk)<eLw1@a$e{aBvw0ЬxdU>:]ikl0Ny|RxߑcҠm#O|GͺE *342\)=9 İ툣7 hߐs·$M˭*"ҞyLF2N%G\`|3Cft? - B @& }E=Z0S>f=ILQh ɽ 0td,:=yU+f(ʸ Oư`cʀ.mT˖A#85H@0ԭgs,SRbҊKPƾ\EbY$¥0rJxU#,A|~ҍ4yIo#d\] .H!Y W{Q9j/ϙwF֤iϴ11W)4Q=w}yڑn?ʝH>n[D#$&A3XWWJw4eRGk%$ivvQSvO L)6DOb6@ 绊^ Wsay PԌs:Kr֪wb ĿSFd`5W5u3SRv;VIXN@tss8QsbkN`-Ws4ɲ7D07+>Et v- k:eP)8oWmg=E!FA. s٩ϙe*sSmsVkr&C ۺ53'ȅgjp6BZQѵpz/rHvW^H%YW I ;=O[Y:=¥.0QqMŵX FN:U7D F[]SIb'}/Eaɨ\{ @byUL[TX6Ry+ED{9@J.v=bqci #_iY c+pG4x}ثkWi ԗp$yJ=㌹E&8u;hw<0OYKګ+o"nf|_USϝB߈o#1b$Q?,r23 31MK W6{H.4UY>;o[[˓y76m*mimƒ g8*Rp^MCMsn!|O+tlY 3s%n 1c>Ur8/Wf1II"#(<b7VjpN.[]65 h"@ۃmC[p ݆6ӄl1bOQpދjOCRv]Z hX&aeί1GjSS 軋;F+[8Jq/ Y 9H^5g\P>Ffm>GDr*m+;{&;wb)TW+P6Tb^\V,iT"(P;@@KćxySQXlO$?r rf=*Q!f>e(FU m|hNQռϕL䠵Jy%ChtPcklK|-OB>wOvE+Xd=k>v+4~3\ܛ4ɑ?0.&{Ƀ&1&?Z}4e$ >;mNzJ2_<Z2-:.3NmlߥI.x;$)lk4j2-#O6}[9aG)[^Nt"P(UˡPNH劵縚Dqԓ[WG.e=ԶQʎmFomlv ">t|(2 %AKe++쥲l1IZ TJұSl;)lb*1խTyQ`VTY®3ґe>P0lGc9uO*)VuΙ%R:RRTJU+쥲R@ Om m-][hiFH---]pis:T"Ht@JHB'٧4*TUU!@J=:GZ|ښԊ{MjōFaYwy:4v0'+5սY%KgnI9"':xW>lŅz6og A񭝪$/P\ܷWK|)*[msRv*/;B+pw5d]벑ԭqS}$pÜTGM{@T6:ְL&b;\8?Wi;ydkuG-YdNX̯ßZ_X9ĉ4~%}!8_*c\FW;dԕQqu%Cs8@Sqq o#_8nRMEr9S8z~)ӣ8//*x }K9O`]QVEݕR3'״yxLiZ".*}loi4V5$"*”=:""r9򣤹h0iEGuHR9Xd <pj`Ё⊧%RP][0iP@C *@wR J:#b=ZI99I|g·⢑n}GR2Yizj?b H1>$Нe~485n|ڤ~uqVy'T?bqiXlQ$Q[$Fr@Cƣ#ySJ~t x|sD'o).:^`SCvh@ 'pdb<8Wڣrl.2)Ĥ9tƪs&$Hx &Ķp@TH698?{(.o;t"v\u8c>5h8<,w; y0S,(YUI|z*rJyMr?HvP9#KUW~FH;<,|qRXMLYz>4B]zg\>4ݛ|N'LIH\5j)[*i?o4b;aY~k &VvqG2jyn|nSr26~`Qbmai3$/̳@՘C aW dɡ*,+RKJcDrv,xGw8[Ha:V:)Rby*Ǎk\ZڎSE+3g+&dpK.^6Jr(LuKX} e$Mm|.]^5oggJʽoJJ{?T?q(B$̮i[yOqU^;HGk1_kTrβ,dǝj&ty=shW25>jwݳX_#wG@Y=ƩGT1B ((NLxԢQI@ed !̂(o>9ěG€=i*&m <1%E%ϼfi>n"m~ur=\ZF 12gԗXSҩGR>׾Iob&,2e%²IݥF: mY}Ɛich6ӐwKDz9*38ѷ"~U&U%+G誺vzy B#\;3A!y6̰^}Bx;0=Y|z_: )n, {`(ϺG5T lEOn_*e>yvRP*)n_VEUVYB吶-GUc0Gʝ}R&/Ih$ی50by ƒ;9O1U%yCz({W.*-q|nc:?aP@Qeu$aH6WyKP~48^>FϼR\"11Tq:4[ǓR9{ȩڻfMqGdˆXcEf9:yb';Qs;dEh z綺]|Nlv-%g).+^cir`G.>2•([Y9{$VuŌ;d~~`ԭXv9R1N~u-UlVX ؃['kNȒhvF s^O2"T%’ԁɞccx r|K-uVCa%մ?U'?xpꑦ"bNEWhHe# ~1Z A{K9`?%YK.z x(8&ϊu7T{yanYw+}A]_jD4οMo"Ӗiڔqdځ{8Q}WUBA-˷T!Xz̗-Λ(- o%#&#կ \2wfwSI26(#"o%;vl@5ǂH#ss!¶ww$(&%wD>@%7_6M![ť]^KiymMl}_v{ϟ*յK;idϭ8Ȕ齎G\ҒOvHn !GK;Kk9%<ύwVYX\u@bo'R}.Րj{yfi/0/cKz[{:{#&oLNDcWA{Gkm-晏6RWC S!iG؇/bz G?X|h^}N݊G#' ŷ{ɖ!rO$ή^zUYKp&1Vw;v WW$@sVu Е:W!X#n8mȔq?_zi@pѤ2&[n$K}B 2Xy5Y=ȂI²4׍=0e'+e7㵝ޫ&ݳirECYkZzC Rj[( - QR Hm ΍NtZ*U=i*c@)jzTR=)*4@r*C= cƉM*<] C1DyCзHni7=}H'ڑwi~׸8N9|8aPwQ.1UÓ<i5B" ҼypרUyoK%c.Ox Ji\э^;5s)^ПAW?*ĕ$*zP0t\3zK֥W85^ʹyt+*f3 3|x%3yRd##4\g)@xPW\43{'𯟾8Rӕ4x"0SS1엸u E ׳q<:([Iqڢw?VoZS`Y-̝ʛ<_%q9{U+$^Osү2?ͣ8gFϑhֵ8#<޳HƸ ST2]HH(}µxˬp}X ys9=ǍM!HS E޻zv|E85VZ "TW CMrF<Ȯ.)! wx{Ts$MTW;KV<"͆hu*kK~8U +'u"u/,n3ћ:Qm#z'#sq-ԦKG=hrHJJĻ,~h`.}p^o,3mm 8$xY%|quIsJ4d[x^UtdA$rFV 84*RZjW62G"m( *~?1^yV~tF}U8}y^,sF;jhmd*r zmQV 'mm=&,ɜQ͜7@[ ThC2J<>td>5Ioyc7i *ܲT< /}"ܹ pԄ554jy5%4Է`RB0j@aOʆd*lQ'~U--΢[~ʓ(}x3Q=;5<DĜBF? {T_ o3}OA~T?ioE=7g*9)վU,co4? L23CngH?*b-09c}'D' *`9>U 2s 9jk ݤpIϺ㚫:ǎ()CfǶ LzrBlEgn} N<3WFd#$Ϻ;Pd qQhP3IW P!5*uUn| oʁ=RI¡_2iq4{#F>Uc @"$*3JJ`)?7@( bF+Rys8"`Vp# "l1!I''1QH[cգlUv(vg*٨xU c#t5]>ՉfϮwf9CNWRN[d'փrg4&'(\8S,{c(D#hF0qOA>t0jάvȡʤ8Vx5 xQ)2@tS2$ $o2d1owZA} H M$*:l R DzA3*OCh2;_[El]J;[0i29#*qsG s֫K[jKBc1 ,(4wEޣ< by5ehoA>9cV8(I${SvPQ;ɩ9y 羘BpF&i[GM&鱾tC2I:OE\~Gbid)B :( *#aɔyMWU1A>epL$&aݏ<pnD X8"T s֐Ǹ*à4HܰET+4W$,N\wsďsTԓL& *<"AK!tPвc Xϝ>W5)"v~4dHvh&" */P@R2?١{SN}><]Ro0Z1uHw/G51ȏNʘMG?zyWml'py:LqבPYϴB;hg̚Ҏe#ve~F%+$gTOUsCh@0jڑTf PLe2*GHeC'օIeEj Ze ta#MO FGrK[p@yWGxPq ScF?AT`k'PXDr6smTzuAsV% <f WF܌|C&o<D'0qTal6}=Tޙ댌֫j\ژ6ѷ2mLcg M >"`ۚ&?YieByZݮ[~cFc} Bq(_պ]GW(H(YMdM;gPZܤA{?Ϋ4I'7*%.֔퉳&~-_Vi% N 7NLYXaܮwjR϶$Uh$;f ̯Ty0c%^b=Ud% s\ K=U AH`,c5q೵+ Oʍ+r||RyK#JPЬ}/2_KNvƈߴeä126nuTI eG6֑7nWc[ fc5a'VK{} R=^w-HEJ=M֓˩5%Mx$Cuywr)Wԙ;N `OxcS}v]I{(?UGHD2G@s~BN\^==Mcn+.`p'tJ?9Q׉HaqaN*a_Hi^\Ueе$"+)p~DfRyX۟Wq?:<$N+2Pv3xWCoXzepT~'D sd|m޸\yZW #bcS[:$L9DU9`sUb.{YQ>OƝ/٥) >VW"XcaCHg&閪ۣG! W@%M´bON4=wu '"Aj ,if|i;x!QH!wĞEɮ]B R@E皤n'$_hҎѸ7le99Ӯ3 /kOաwIl^vP`M;lmblI+8<]>#|~E\s3+u1! Jy7*J c$o۲\x30R}Yq&Ԣ}6t3Fmr\kx4x!σI^*_/, 0#;"}ƅʍcdH#3kg9Dpc_H':`oS%>jDcқeK~{ v*#(44XP-f-,vtsaFE*T iR4*DxR)P!dSSP1~X:4sݴ ZZsmaoUGt;Ԋ(Զ{=*JH .OS5ϛ6Klxnʜ?ÖZ<@@IGYkaydr*c^{n[$"IR'^D⼳ 4?vkXcMFOΟx J*>U/WKOʾzF~LkG t'9+y=$NīSA[5l`WTZXZm\>77?u=3{'Yg|1'?|-u/<74| &`FP 5 `%ʺ6A#^<-ym~ç\OUL8'W)*"7Qс՞?7q8MRt#>M|39DξT[d>GrG-M" =8y($w9ꇻ%/J?u#4~ѥlP[ tՌ/\xRz 1\Ưz;}/ 4MU+VWz_VM9|;PՆΙcҘd][=zU j_F.#ؔYG;{KdK;} =MDtdFDdH@'5'韢ྑ6DRQ9 T Eeruآ$g,;VllMz{gdʾ9?UB=N:@f@䑛4 &ěHܾկCaw?ʘso-Ye'X9{cR^[WɹՌR>}㚷+p6H}`P?ޫv1}g?tJ5 ʴn,bBuOBG΀qHYg*l̊YJYW@YWZsE! |:?63h>heU`M ^U]+Esp L 354zXZ=gQkkv|E+^;ǚeO\haЭ@LmmM&tyISD lQ[hAb0>FbaJaov"HS>TdƜہ H#>L O,fdV*Cx'Φ@H֬.*~g4g=ө'=`[BǛSW ,`>zZc iMSaCܨ i Rw?$# |*ȋ?3G)bv1{Y2rc^v)z @'|d~sʗ޳1&0iw>kUXd`V_~hKsȣ*`F`+m 8.l*]Aϛ Ԉ;bWa4mXȪ>yTV4eOVVȞ`yPh{ G:%݉qtgp*+ T?C/OB1qhi2{*JʻʐfGa}E!Gv;O"~h M.ޥ}QHبԄ;|:Px+Q21jSH=CɁ')ae`ϕ:.zV$q4H?GX.IƠjiԮ0R$c>s=Ʀ.&rVg2=R}Z[ooa> Ԕ#n?*͓ yTeQ̷΀/ؚquoDVwo>48?ͻr06¡s\JXNkyMgP0{N4\+G.G1߇}B[鳶S:y|U IHc, s{1x2?EmYdQ1ޥGp-c#ƫXb?:AEOsw1F-qFȱފPm2]v<̇vબW0鎟V݁9u95Z]6-Ѕ,%f=ŴiH<QJ4%F${? $|S/R-5z%X$h;DXJ#VkEoFkF-Qa#G.O)탋t]#vv>ic{$7J!Yq"jgK#*܌:b: LHx*T"hnG2#gֳFIx๤Q8ڢ?=QhlyOoIg˘0=0_D[U2ǓKa)m3P"z w>Շ Em6XNәI'hGn?lS4BD!Yx RaȐVQ i8A S̝-9cdUb Bڧi0H#0<9sĮ_hJTmZ2:P>ۘRU[{'{IwOZu[;fnQ\rVluۮ2`"k: &K=/֖^4GKjܜз29JJC0ʗ>--ήXinZK mP-cy/U3δE]2aџ3´AKѣDKm4Gw;h3RiDwƵJddRC uBC`u Τ/b^o~5tcɏ"%PѪlěWByAAH^Ft ESf]pL)wCFw3I#e>OE!<[MJ&KUo//eЯ\D.d$?<\> ~thO#{ztdRI[qd*ByOEh&!&cynUM{G GKI9gE)vrS]!\Uڟ.DP񰪗.Lq,dPYHO?X*%ugiguq?3ήﹾfIeZi]zkx.N*l=]>s4.?(y=V6{ Eķ.ߺ1T$gjE#zlX۽$>mhu#|rX/>2s'ouuP7Gr95Xl7k{ѻ'=)z\k9-H(K_Ji7a3/G<0n~׌X Ųao`#ʯH+O꼄6neB7vsyQR KT>)|k9.Tib ?JlSʐOHdԒ'y6=#uKc52c-E $WMœ%6,r&AվXa3r*0 \<&^MGiD\f{ɧ,bun#X(2r8( [U5OO3IL. yoILj2/>'<**U}蟠?'̟|_EMOʵv8l@9|]|oUo/aXs$Wu>:}J:Ł)Jjq@ ip_Z\'6|)*"Wl'-ϣpe.'(9"&K5'lfR$;k˷Te1GNz +!:]C| z,7#KS)>TPgFYiC)+q(YhT0/$mtq$ȪLw"L'`O+N%5u}_ M1fh\~ R&_Xd6o/r}n)]c*xXם}(\agsFb=:2ʱ6| ^DW)R^I!6ì,cq^Q#ʪ!X:ྎ-}7xqH~W}a&?Sr~",:1┩=fv5a nիǏ vCg*=EpPk+;a]GXTԽw=bEO5[  DVwj<$7%=KjE?̌cT@mܘ:v_gگ G@+]w89x79-|c{?^OFnF?}8c̙aqk2Ki0+>k2W׶} o+\??'[B{U?f}RU{ Lta\`}t1JvHq+{|WY%eL1ʅ㾋p,&_rj 솨jK˙M'N E3N%SC#'1\‹*( & (b{遡vu%hp?*m3Pn}jXt(.&8ݚ L[j;h I៝ {|&hcq'ZG< TI?lD? #Էdj!> Rφ| aAKx*&:!PrgVU@^[u- U{?N[=:Xuy'6G~dK9g=hjl]Sjf?$$v h2E|? [tM3 2I # bʏV9 ~uV ͩŎsHw_mۀgPENiT %o>Ƌ:D!ُ{(Wk~DFuqmO 2~"Qd_[f&s^ 9sT9S(uX_|[J|2|<Y 0||IE%$Eo;M.ړ;o*~LF:5ÌqjT0;D/X2!{)=`0h+LJʐ>x+ؓ5'RKvs_UMDܹTŔQi ˔hAMH{?[ggaOƉ7F n,D~TP <+.~@lQKf> Do6XyNΊF4cSoA*F)iSNNG(DHNLZcjQ/#/oT NJEd#N4×q0krO!?OK8BaI-%Irzf9G*yB=Vu _R!v~>=Q9iSg)qݏEeo;,JO~>ܺnϞ( }~fb*9>Qk^#٠x٘¤2(=OƊMq= g:ePD~A;?Q- ,IqS  s̏X(A+CH|#m!#ʄ'16y$, R]6N}C1Sg@lȒ3NtvҎFhiJTQ6WJ3Zoӽ>Shf,>]VXWbya'Ef88<#HMN%}빆 Pn/<c `"GVCZ7Q E%)ݥ$VQj?fJ)'B,$x؝6 y 1\u=㵧: 33AQ>?↑#՟?jF+Y 3C6-Vٱtߣc\D)ъmV\,u :4n?S >{c4[ҧ%y#թl^9DdŽEӫ\JV^c"r@[H)9ߌyѹt% T'*3)j[gV8iW_f}zF69[IC$J\ԃVUKo! }ptx6jշE~,KkF2SAFnd *qBӢ oN<*,* Du':ݚGU=vUGd3Wk2LNIup݄p!yj@\ݴH1k.YYm`G۬)k9C9i[Erf u}iȈẒ7/K89m3yyygǷ)iFgb_ (֢s$գ,6Jݝ3=g"3M+XnjM|{9QG~(Or6Љ?¶,db=_ʆc GU$rڌD'cǴ\@3ֻh(ܓQ'gPrOsOb/j2dSB~v0p2-!#ǷOtge#c[kd?(-lz>b>s4 o b0mq9aq@2Y:(FYri>CԒ3N?j $I~^qw(P Jl1=*yE!TSҁ0rôS=6v$DیsY2gEt A:rQ!# rS (QB> 41:[ 4{N~=ܩ82c)cv@I$n{yTJ#;֨۷Z\`:sXN,|E+ohwTJ8sΐ!_կP%;mjܑw1 -4V5 L3Hڌ_Qb:Yϕ>k<11Tk{7Yu9)W6.1x5-:QTr*Nkf:Ə lZHI?+>Z4a69>yqdlO "p I(}QzЍίj E$`'n{z3pO8a. w@T6y'<ɓ,'9 )S=i34PG_(p_X^c+g?o+sǒ[>q.[W[(ǧ+#S4DǼUG2ihw aGώ@1^dMtΦyHii:q^wkoiqH]VHk+~Tqhܳksи[kv#z4/=SJWМv\|cŗEuGSU$[|EG1+o$vrKψ(\e8ea5WiZDh]]9vsXDO.ԅIzgH ٻ)< skC$D͋sVfǘ8I4Ҹ'_λ=Xg~rK8OQ!^+әdn2V8~#pJ_S2qŸ/T*B;}_¹yַ}i9&Hφ+WR_v@TП.Pu'Ƒ+QTԴhcLLV!֜7#H&NY46EIpFj;)LDץ'8SQ)cq @`t;;y=@|וY単* K\G)zosݘo\ :dP ăCvdN(9so¬%rUo# +,%eA ~9'4.kڋ"ǖ<L`yԶU?k,D__ơȵ(._՘מK~ʑ} UB<ƣU,F1ȱ1e#B(HYITf&*Ү~U=SB3Δn}^G5iGڠ+JY:#ɍB9ccaf3<՘͸\ƣHDqԖIʅt=~|or_|h$H=5ăG 4%uZrQS[;C3Uc aFƢ$y"/ӡHz TAd#2UϺls2@\e|Q" q$fO0(/eTVSɁ.6/F R؊`0=E|YY,Ѣ4Ua aH~#&}P9Qb=d HT a z7Ζ<h_Pm3RSvN{`_ T&|vmHzé"4DS ORf|V4޷To4˩Džr)Dž`R2RA IUdq&{|v`4VyA/#s)mLJ8+( ϳo#*FD0h4fOj a!.Svަ+zP2\@}x h-桄5";1Y-AlԖH>?C6я~>c ;{Ԛ/GZ>q!l ? 9~ckuџ߶:?ۨr*&]B\0GΦ" \giE>muY)<̣tɎE4P{o ] ":4DO?!@}Of#{%EG}UN) "hcSAj x+mt)z{:U-LFf~5zxb+yKr}lʫM"Bn1S115,N}FҮ336bv|ˡ7f (EŸ֐|CXf6w 0S6-('rH$w!'in᭱JXNb࢚]:[ʕQZ+g!KvA'ޅm|VZ9,:4)Ҥ&b|JQ// NA47s[wʊ3aNr>TH`EU#'hy=yY/F"o~44НƙSQf2evcwH;Y;@r'iI5e- }xNg-FHb'%ٰ\~!X{ء޵l"K18Y^F?ƿ/KZ-e&G?|cDZC$bϺmw7mpg^U`F֦kفfoQA5 ^CyF 4rq$Dc*=`oJN)y0skil<5i=+AQU:'(EoH#s'+G,jȎCvY}>3nBt%h?QT1)JW.LvT}M?4{LIp{IʶT"vcdz!Zfv0\)j?*]Ġxʶۿo!*J`Q@OJpSt1lIvRH,gO+qCwA~4X!rø;,f+#Z>eO6Nub aGUǺVlu-]Smf 0O*aOm商4=~u[c򩩵mbo~h2T}h_uM*I1.nXHi\q"!OW?嶊SsNeOáq&UMM BU] KVAgZ>$tH„B7PO`*,LPx?Ѡ4õ lc,OVB[ |tQ @XB wU$г%G% obVO:vvZC ❈d ثO,gXs8] =-s -8 .MkH9X-zr!JN2~Y0دp?*o|c^|(E7v}g1$~{ے, dGkb]lw~,kw̷'-8kFi $%Gtc;z Wd6" FE' ɆH[W؂vĭ1E8fW~oo%ŞUU7x+_+PYǬWl`<\j3{7m۷qˢJaR:v8=~trGZi-:dM5CMoSKm /{gY‹{hw.%G(R/y5ZitV8ɣÏZkodQhg2p YK)ggf98ryIk14wǴ .}$yl4%~{Z6T`BO4$p~1Vc/E\7;Lqջvt;Lr9fiP7@ ~e5zAգ8,T=-w?Ag1.88kZUwFL<46N[{H"jq@*ApzLgL`0P󩎽)ȢT٥TK3L fM*6`3(M1GZɗP?B<&8W#AX7Y$gc#Y({+ЊbqfpM.cn=շy VogE!}WB1f F+;'c@ҼCCRh-raCpNZ<%a$]aَ@OJxmⴇlj;xSO$ie8iR\GҊ'm?*άjvGdWpg?׆mfXv?`tօkXu?Iu;|}*O^O:]'m+'˩VoPs]7+ʀW:0v ^WXdL!ʜR`Nb}p'uu|s􇫜Z3Ҿ}T~5`[yƶQ?͊Tž=K?^oZU-g" ʽȵҵbPplѡaklNg|,q3'#oy9TꊜSW-gj ,)NMɦ#.E.RiWq7 Քw 񖜑<+ALdIRJkż5H F|QW7^^]g='͉@ŗd,m)y‘k!ZJW/zT*?!ՄS(iݹ@ MD:*{sVڴr▙r|OQ]@~MT#ײ_g&<U"7jHR?"kLNO::3IgsKotvϼurfeY^`g+D'IGir=rYZ}] #NJqt#Mf;6(J+{9_?^ƽ+~N&əJ |y{1f,$k<%<aɍP0c='(ԿuLPMңƋN6Ld!B,#<3Awnۡ oGMGRhJ#r z={oЛw8d\ɑ^#]Xޓ{jͲg"%0A6g'Y15[TN\ulv QFi)M_ c.IBU"mWTA JJ~t[?L3!ǍwIemEE$9s/<RO[*8`;@":":SKM ~b^`ħoCѨ^ԹƾQ3SIq@bޜjʩg'6I3L"zƙeY>&.;PY>U5YMSQ=kB,J+pK`d(:SZzlF` eV8j2oڏ9ol)kBE ^OL5R}Xi=O5 2;ʥE+XAz1jB~>4sgSqjhqlG=H4Wl?:z[|gN'(i羦O?4HO>|wiGS D:O{@Pr <`HN%dƇ?it}ۈ ?h8<|IU1/6Ϻq"얪? }jƦ߅1{}SN?*ocy61G0>CiihţKdg&R0|wv3.E@QXLi}fti0洣or'Q͸|>F`>ϚTBNAE[VF..~?XHXzg#-osS\Io ?Ƶ(8[|~Y4DWi1:SBݓLn&MthP|"<{Ag2oeIuk{qHT'c( 1яof=VnF$o݂cܘA`-{<+XFyO"Yl( /_8AH^IXEY]:ŽvK=Vv#?GIճ[(9ǔߢ#Փ:uTDFm2P=F|y 8l=!~8V԰C_{l#W,(ғZ[`v7?de9TizѨ4}GɃfWj!BsUVŏFZ2r&] ,3 RmF7Uu33 %-)RsDY/M(A&g6[tXZM ΨyhcƬ%'5~p_ǵ!rBdSKN~\W,=Yzsu0޴sO#q,V9|nALUաx"g᳘J-;ZZXkiWģ"pm=̤/-+g vA v:+./~h (GM)3*bb\*GcP$c_[kBM>D +lzѬJO~⿍L-ܷݒNs2i?),>a@Y.#̤g̨) R/m5K)[Quʞ c6X 5'gl=n%9lȁVѝ!'΀m&T䖱eTE]q]I/qJC:EHHfEh#\Rm&G)#W`c¢-nZbgˮk-pO( Z܍״O%hn&~*)jok#a}#&ͯ٩ϵʿ&J8W81;1lX)SClw\0ݔ}^ E+Xdžyոmaz ш>T LtGjIf_@f >u ^$e{8 bNym36u}v6 љ`HgPï(G,W/&űlV_^>43bOzGqլ9{^Llҵ{sF:7V.n 粲[,yNUp%+g7ɉ/r3=-D~ɯ(vr5 Io7 A}i7S)կTNqW x>D0_ Z_ ZӑxIZj0N/xY_ Z_ Z~ ݞO^Gqէm#{?ou4BBp#IJ?W$VhBnZj[YTW d0N7>=^}rƼstG nѓ$ǩ S+xBOO\k6~ī{+.R*K|ǁ8o־]@KKVXιϠ!ivK)t{psG}[O>|1^ſ+ rͲ Q+ WhܩZڧ!{qmvf;16_鎜RT~nՉ]{d>[ l\xqW#G/ qw} q<$x 6wx*j} ^fhe!dDG[XAFUqu+ewihy=g?Vu^HXlx|9Za2x%nuőήwoyp],R+тҨ!ҜuRKhj.X#ӭ6<:@#ʐH@ p>L-uw:ßEn)<)zPb9:PY8R!uaI;S׏sR"q:֧˓ DxE)9rS8ʬ]O;-03XHUFj+pH5%}e$j sejZ.x7\"餴}wm?ʯZqm n3῝Qno5 ;IXr6d&Lv { mY20bG^0T;6-1݃U-/of?8UʭǬ=Sg?="Qwyhg\ A2:H%q3cMQKJ 7I#xr2rdgt9J`Ԉ>:*aιe*~nd^j49+?įkuC\][ Ϙ[ -GM۹-PkSuoq$YRDnHGQAfC{MdjM]sgo/Tk7RY\S1X(z4|o,? A$"׎3ҟʧJܿʕ ΐ4C{K6P=NQ dEj,>U-A zVחI4Zʞ&meȩz%S™ f𣥴چ6%KQ[L@}GF>G {3(iep¦oX[;ѕ}ԎfzL)Q,ChͧC,ݘ*/ْO@z.0:5H?s43m/|4#1ʚ`y?3[i!=|)b~BuB!dV: F֒~tʰ}~ttƢA}5Θ$',4D s6yA0Ի8~|]cQb%wX3Sd#oڈ?Ī:9?톑%CpLDL.Wl4Bco—gZ:οvťanznG)uK|ds-F*-[^(퇸mHN-Ha黺b֊ݾ5Qbt9{ 5o73m„ֱ Qbl:QZJfCg5uZ,zJ%Ơa^qK-aE! ?Ƥc}.z#qHfl_X"3ߞF=# d¥Xl@͒G\Sox_rn9* ȣshN_bvq4̅7At?_,TEӆ$09`!9H0I!CFv,sIo71%FqJD,ǵFi#6g XρZBnЁӕRLJJ[ެǹI袊oc$cѰqܖjl*קγVʮO1ERYi^){([w+'/c)j["Jn^?Ux%F]$n{jmGFz l&G .nTna45,_v4wwr.}Uʳ}FK^A;AMu~vKf: $74|ܿس:|ՒUBʹ0L ,c9Cl8u|ˏjm BĜˑ֡#=;MV#l+wՕx,`Tc<>uiKS]/o<,gN{r{+a\ƉZm0b#>5'[ʔwjy~yRz/饫o!ZoLAƺqĖQlw0<+;tVrNR:wIϩcH7*I~Svq @gxxUDD8<5,#R+y29ZWgN]~·OUdcpT cbAG qd@ -a/\U)*0ȮmD{s;W V֕REJ_[RLj۶swI~3\h?@HEzedAkUdRE,_4 )V<M顏g-&df]@ֵ C{TRTF ^Z2 ,-5ZMjsV?̝_'΂8CV="VǃUfrwؖD>GhV}]'p2-Y48PRaY$=}O|H5p\rUk-絶t3Ŵ21.4+.#"悍7Mu/hgF>}taW?QZYOMp5CfC_)-~0E vW r?FQqHE'I| lIY:pWڔ^kj3Fؠ>pߚՄ~QqJi1pYѤv{z EV/&[>$ AЖy1l=Qip~hsAͱ#)ד ec^ K![iEmsqo?[Z?Y}*GKjgnH2Nn5 _΍?R5ͤUe?*ΞMJ5\ǫ&*Qѧ=_CWQ,Cwzx?ʼ[pb#b_y4izC_ 2n@j\5tyŨ] ЃJհ/"B~{`Ե7$)N5=Hux?_ZUTͶo:4qclے\tM9_zX麓8٨Xե8)/_ʖbr:j{IxP:㯽TMn/@_NTq  -A?in?]c֋9?GSP䬇_oml͠O  VQ6Ӌos) ~Tu=i"c֩ nW1B8ڒy`{?LMUdu`ʘ~[ a%q?ި;.50cmxsx~tM,?uV'^ТN}YnBa>LyPYj]Zf `* C ̎T4iVKېKRi&x8d Xz4Rf~ΰ8=Qmyslacz:Ԧ!(4}gK'(eIj8a軎3Y:fije恺-dq$WQ>\g;GAʩEY-m[jw\GVFyV }D^Y5Vqj"Gb5b #yQY;,(WyN]{!aRPTH%%\ٷD|hAW4e7$iqYqe)3UnGJYDz}ķ3itOƇRZ\ B:Վ @y.(ҢS(x#:3K<{2sIFZ)f^ P"{ o [ӡ,rʤ Ɛ'4@f˾tT.1N, 0jXGY(r7VIK7$$qD 皳x:,𾀗yNJ1;"8?|:>aM8 5iy-OW.4v G p+^MwQγoT(Ĝ;aL*k*"nղ/5[\?Gλ& Ks!2ʮJԸ 隿'YshԎʪK*##3xrXTl49a/arL\ 3?I5VN-x}`RӭI\"?\wЦF3NiiQ>|SlC˖Wq< U A AzFYN՝qWvnY1+qǙ^^HqZ?70e|9֖<"DSMN9[;G*? Iw٬kFg| qrYDo; .H-!QLx[RqEj+Βvxfϔ2$g?VtK$D'gk^ Яu^]QțH{6s`pEp;\ek s,.c6WZ[LL׍i(Lj#G9 yS 3}6WDXNgOZ̫H >H=@NF_g)ʎבFQ H_i-0K9ۓE(HbNؓE\gk&l .tRUCa#ESJKM>yi?PnN#c犐 yK,'(ql = q$UGGfCq*oad{;}Ǻ<8P:v*.Cx^ʬ~ b? vCF1y-^ƩqS Zv* G :?(bUk(Sz*A&w¢n`*,4~uo/W=& cq•fGR~f >AZT5%$Tvu+By}Zfkڣc8Y >|:Dg43tIʚP$UssRQXȯb=C.p#ʏh;Vx˕Wź( WMaЮeWfO!A<1PQt=&:}G3UE-¯aE0YUQz|SQe]&yUTS^;DgcW{,>y(#ʋ e_#3Tcڑ#(Kv_~Ϊ㸏y5YAJEw~4+}ƨlasaH틎LCdryL>uH8A4E:Ecȟ:MMW*WApJAL2m %2NT?Ռyu< gd7U#95%0< ȕ1B 9r޹sbongP !“#ΙKȰՆd=[* *8H@ۏb< pE+Hun |p)cUj܈)MFoLPigJ75_3֧j=B/u)jaIrp1EC߹Ec.,N kI1p'=* LA\dU.1"ͳI|#YޕAo&D0u^t5\'L7,{*_* HhC['MM צ+tFU\wx& L1iC=([q'3g5-rEtF)'}j3O$/Guj7lijfV>i֡ ̍jrO>o^uKncwsURj ulu׆G&p;BS\m|=i5K%vlX^Bn.ITh9#MgjmssvRvI.:6PxG͕~X̥v;99UH ,1sT@g ΣyŠ37yU6G/[,sh3@` 9$rE4$q(.H݊ ƭXvmu5d٩-фuF*k{/7>v+:΢t.sWF_0?Maє:b3PynjFO0Mh 'O)D\}(ώXUFv 6Ejj{HIe!bK8xBMhɨC;,zsҊ`)ڵOj=$k FS(9%nM>u.,۬${G=UQ溺=6NkW-$H?H\aR]Nn,<k yMim/ 518]u*p? S}4qtt9?S2~xM\xOR%Ş[pZոdTl aPtya٣~T"tǞ33RGzpE{&pG4#IwƫRxuacvo;ȮO꺟oi|`el*x" Rחu91Nb@kyiɴIۆZB1>s;_)4$d{ d=$D_^?nG_sR~TǞ-[鬥#uV$1Y=U.̹=3FӢ-T50`nQw74D?U1EI$1Wz4zt5юv8Xeop58kk<y50[>XʇނQȿ '"1㴆hADG;H?HTKR/SԶIϭb3,his|Jd _u&+*Imtb?U2dJVm2kŧ4AhPxc-yjk:>HQV(M"?+'Ւ($`"q:6ُEG ӗݠXinsl_bIf4A ZqRO=S-\/L{`FGvP?*i+-mi;o,4Ӵ'xX=O%&)%O횐^܃M,)^W8,q%RZz 5X:Iܤ]|(zij[-ѣi蚛)/-&;rЅ^YȫNx<5{Koxרk{Fͫr>"kQd-Xr= mRcGnN[O 9ltMɷE[xgűyeEd7p94FhP즩:Ftq5֭iMw31Ս(5ֹa+kKQ=6r=B@ꩲlxl!jQ\5=JK;7Fu5a⍋0YVnZΡAm^G%}^r [L87OHth*Ú[gc 5=퉣ϴYIB5!Һ2PP*r`U{"4䵿T8ՈyWD' jOu2b ,sUY{LɅSH@8zW2ݒ<5U{N=bp;F45`Ή1Z%И!Y @9nQI(t6jUv^nHNI2:{_:(23@4e84 Z^qSRZ@Gg,}\v{s+:tARj  pzԃpMGA9߁P"sHJzs"*Q=09Ɓh*:THDd$ `NVeRL[ɦ (Y:IO*H*(71Ǖh Ҭ@cVT:Q a3.(;CS1 ʀ!HJI*DU,7`=ERPYϾ6 wF/&{-&y.fWX[ױ55\.T^uYB-F&n̬0A"Z6*}Vµi4 9eLFTnf}:/W8#RE) Y=T>ѩݒ]u%Ҵgi]o(kԸidg'Vn sE5~ E l;6\M41KN| [rIn4Zla~Muok~EUae֭ b8.|eybR]$}8qjԗ@˽͗yT.hf5+"WMa:\[=A15b/ВyT]}I8A̎OU=0op5$PJgpaO(ewy"o9a%T&lXʟq/QUڄlld²J=ۨuՖ4x;s*oѥhH"ӝkMJ KE&x5xok}4biѶlӍRQ<$Y$=LmʦHi_D?iƩv 9Mel)"Fı%Tʋ Fd+=~5]cG,= ‘oЍ‘5(Q{aDg \ȓʎn#s*!hu>DW]BPFCxU6{k"^ƪJ(r= `5/,`4\5ʤaC܋\s Oe>$@bL#p5YtCtRQ{FIg<$P΄Pn8 ;w>|(gM[e%9,h95ҝKG#Fk"xd"9 .|u*Ǟ~t۱%D#yᘟH>idJ&}daC HK85%;#Ud@ϬF^iǶ⣘ߚ@sAz\,5j?R[*(9TZw0KeR`>0O=:{vv[-}J`E@(%+E8B=`>te1ٟS /34QwAđx:*2)El1Waj2%>fha>(sEW1sOR%BCGuP9'aƖRFR m΍ 12OaϝTݚ͵B'2Mm(,/ϢrPUꢦH N3ⷋc(i—%4H͘42`C%1>Zv>饽rpqw>9xfkcsL_f Ρ$ʥA OprpG:Ps'Ƃ! uiʹH->_:1}=ƃ `;R=< 8$2riC\3K#TKi  "yLwus?nߍ! Z'֍GʊQ,/*]hM*iԊMgs6:1}(qnِN'SZ'~4'PtYTrdR?憷ALn1H +?UVS~4Xi.&rYy2/⳻qʢf=BmEOjZͣm1\ؒ,3R,rZK!OPH5NBgQVUzi43΁@1nUt'9i,}I#]H~k'fu|]`⺋,M.`) "HZx6+B ;;adR ۖM^M UpE̚{h-,-Wqdu#`'>C1£ 15h7WeiUHr Y!?#ZKI'_4K2}Uu#1M~? .[>M9>cu=LY›i'_η.)U#=چd5"f1E=kI8o殿¡62!*3R3s SȊ4rBy5~W> CT BܝYyH/%o0#uv@}@ɩg30*>f%\<8јk)2O~@s%G%Ļ#\giĝa.gnӜxԵ]jRGuqQ]}eبoLU:MUYb]H.VYm]8c}"*Mr\-:d\Y$;A= y?k" =s`I&~ckHcy|zX$[+ـ<3i"l2sUzqtql1[<:n -{vX3z?k^ǟ/CY\\qج J1ڙT|ҙ]ۘt,Sta/rץU9&=C 92Gx\V& m uZZc~bYh3ϴGI#_Pecj`⺻H^1V?oካmcq)$oO} /dt3,TyFE* EnBCZs TFIjP)@&C~˲ ),b r}$mmUH6yVΜ+Iu-KZ+g9[A?t0 Lk{8=XƲ"] Ӓ5ReHﮈ6̋;ae+yF1VHV<9X)$\,ą;l㍿jcWT'\ad-31~r{tPBw%{9U'5Q|'}Zj44%ᕚ# ,Y+6ࠣ{sEJcj6Uݳk9CsWS* 5wl䭼lQUpMnK`{E7X^ӳ㪰_VC,G]8zRSmtU'VytYEYHߓG=*OhrOHgcpwƞW;KgUjQ.E%_# ɱy OJz3AuP?%p3 ۰hd`RAWvM#  b? cdtrл`'1PJZԃ05ݗ3R'h"+l ~5Èˌ_e8\RXnG h7loM(ͬ_ӧ \':=Ia'yƑ᭟ƷϪ(.ĚZ=(:Lt5!OS""d(YĘ;*#SF\ xX!8龜HǟCԑ?gI,vrߜyVYbEk2ZE4 =j^bF1Ud|jЊO0S ΄n?VT Tc2×jhQ9#C1E(*[C$7 Ψ5hYy =y;8o?ZD~xqم+B 3`BkZAFFgRY˴Ύ\ѝ'U= [:v.$D'5Ŭ]υ O3,y=Y>qG_vhTs5c!q5~C/+X?7QQ7(%QHµtlBT.A/ aPӉ[3QnWl"*7zn"TCsa[IX*73O]]Q w懒=vf-'ׇK)45@̤㺶-vn1+=#Q!s>4)4 &n\i3GqŖHPA2keqsR[K|Gb{؊ޑ'?c*K>>V·cԦmf ݚO@&V׻ $ OXMͰ7z[ 8"(Rҹ-=,nĢ><;eUN V#ђE8XNt clE_;p Žuj=ěk>YDI)eyXrN9}{f4Vv}ƕ|piyhlDrw{^+2M|1Vֽ9*owŢh R>u< Ǒ9mᲲeT``zӊb} |9ɸ9 vYqXKKKkr3O]1k!Jn۾Vi3"UI1? 3#1՛:LfEL1ɟrX !4]j,;ˁjֆKr:,o`wp;^%=괺јԃM.)7*LrKP]\m^H!.,"U{:{[yvw(RG }Ë+u˯ji%nVEyP}0)E]STa=RwɷQ(i]G! O1t'1ͱVgVʠOX{B/Pmݛ2}Ū[  MT 7oϑeX-7m9=HIcO<}fH9U>Lek>Y-\ Q!Š;oGUrci)^0hK)29TJ*5I?hWm:6zQhݔllF.cx 3ΣjSk^̞[;LC-?NI)]UuMK2aN1D-2&sP* ﬥ+;pTdX; n1Ҝn9jb8 o} "}4UP*HHW&8J@Pxf?* $`bِ'$c;#WR$I/pZ,wԅnGuo%Wɧ[%^4#N$my*js1u>dHE1Ϗ||+|ݹR2#K6 e(i*=Փ+<\gQҟ K\WCg7w4 3Q5ă?BwGn[$iEw4 $s>|c_]E惨]kKDn0yOê2IDoL<-)Bqmpvo,?F>7e@[L#{8_}Q}GҒfx늯3|V7xKbp𮻎>!-5h{YVپ%56i]* ;ѥަ\j4Cr纶TҡT1* qf:^z[z|T9o\*|ks4K[kR] ™;|pq97ri6vfޜz *쩶>U<3\E-r Z{XX㾽>lQʸV؉*ѐB|`}jnS kϭ`,vFyBgˋ2?ƪvq=ݬ)"&0j[چvK, اmq{!h}S nNb>#|㏙6ymI{[cpzkZ\[#RTsW/K2ou=htݎY<`1yChPo,>ɖE ߱e-v>'xLew{+?.5GQ]qbSUG>"SI"!1'mZᴒ㌵X,WGJ%f,wuw{Y;^-`KzSϛp@cϭq:.|Hc}/ Dg-#4է͋MnLHqLYUTs$`C?4 92s{qcGV2'F5zbPN:Hs:%Np|+mFP5hm$`w o.eK, $F87z>>u2N0]UﵡSKZٌ Ȍ:11VGQ\7gÓrjW]xQXe6 V麧[\# :<"Y \qRh1cQ! :) :=Rp*<{^$ .{F;lk0d)w8bt75]:6{k_žm%v;滤x+юָQ$EN}— ʳ7F}Y-1yK֥Ohj~'E{h ud˅9!2\} ~m܏p >,"HsO>5=4lsT,[^TG1;kk#evυzOG,;R%Ju_k^(-;oEWQ1nfd#"25,.dNz θW[VMFx%ekSkFcՖbC?b yZ~uJ~8ciPSXg.c[\[=+_R:u(ԛ{v2OzxG[Enrx\n1e_7i(%h9ƹ~jӆ6 .dȑMgRkmt*:ʟ.(=cmZ*aS__"K8rNMm{*_Ų[fZ˲T.GաMqAYm׷0ȋӡU]ZN?N]]ʱ,F2qD%cJ)NMKk-W2[R6ҵuM2-&R7\I$λ 9qw\ cTwr$n̡#1Ya_Hm1|+\O. m"/Y2,_np z*'cp[k:62醍xw_]_xKk[RTzy+V9Ұa$p üY3DV絔VxIch,+㓎ףMfv\ scΑ su#]ݚ|OVMjse"c4K;icQС=纽=qʹ H9b"Ԭk8V]m}XNa@o&{LXmӾshmQVwXCnԐ9Pnݏ\U^ѰHhFj 㚔ٻ?XX䟍>D/DX'P1]ß:i܃ʊP&N 힬yw֝ϵeQI .¢Od/b56M+y0*2#EYpki2 `S,Lє Tu4d} $(yD7 ODZjM /H\5ǚ]Cҭ\1 $0F=0_}JgA X75G 4;;TB9U'$%R)=\Mol|WUQ\Q' ]ZTf#5j3h5 3nǏWcmΞUõk#ʭh6R~ԛ$l\>kq|&{q]np1iOMo=0Ԝ)Muo/kVf]u5}wG"\=aM#tvg{(ĶJCU7c>B{>bյeB:nQķdCTh>Gkp֬4cy֏MP}'Mxx0;F#WO<9X= n [:/eEDӀ|Akn'06Ji8jH|OB|0rJޑ8T:Ic1J}'C+TuKCA07t>co5sL5 0ܸmY-m&¾4ڍk~q&QGhn[dvU I9xʲl8SEگ:1q RzU8)vJHB AkX%[c{&+uhdl)گٟk[''W(' Fd/$<䖚x~Wwskq!q*k6խ[e]h)vg#0c𪝍Lη@`i5qh$_&XNxTT5535nY, +H<,ݾp2h#ԇuP%-^_aOLW ً O˭t^(B|k ]01@MV9$'崽232m뜷Zv~1e"^Q8gS4^Fr5:0U?Y+`Z HFtdUF>z56Ŏqu+[zЪ2vOYնoXKI[\ڱr˅+&z8;=Lۮ"#?oZHA*,l*)U%XU~"]_.tՆU5RX^'N;Lqp0>JcmqYW~Ԙ 9S*$`oL*HO^jŹ+Vizҳ[w_SFkUB%=I>+ֶӠ2g Ǜz}v5iϬݛ۷I#S<\XZW3#m-ߧj#\}լ}c>90Bq۳١/r2<^Y$JS2;FQ]G"h1YX. dU;ɁՍ1M(bcKz4eCo{#KJќ TulT'',d8ڇMd=!.bPrtrSwLI\m^{Ffeff9<:O%/Tm*Cos,0^kpDn1A7%$AR9UbMri 1gXჲ_Sݚ?Kͻ9j1:zd3Ln \aj2 )ytWI $r#1U.ٻ)JH$ʣ92Jc7Kz8\Fe9P0aV$+Clj~53+CP3]l#q{Q%+EvR9eAme\J7#&79DCGkwb*1sls#,Ǚ*NV6=*js=@gɁ$*zu4tve;P]77! \Ƌ. ms l қ| q𧹷@g%CL_ &n:znc;{PYwn ^av%dKFʙR=CqOC5#K()zdOGnJ07w2ڈ ֥T/ma{E]}\3`FZNJpW>T62>sN`)GlaΗq&C2 [@NtNfV~$(9AO$$$-DȢBȺCb{[j2ON13퍏g$J|;N^V( :9:HGWKBD=URd1`V< \<6?oO?U;x܀&AKnQ8md9;ekvCw|Tr!@?:, 4#h-\䊯;dG*:7.~V-w<ҝ/$zjq)p~&d0ȯX7+L,2JdƛrKc;f J-=qLqHL)P^\Dž<1K Ed.r|jB 64nc#aG9*V =M;V4VmU+{ٙɷ}Y`#?j91E:yyQyaq{URT{[) =k2WS샤HVhGUp#ne軹Pױ4li޻݊6H*]͏dr44"y G=ֺvvPżs\3%{դpsΉ {>L3΋0f.# G+i9* 0}o5 E`X-%vz1S.UGCKSN49-y@)zu^-A) vV]BX;V'&C#r יXSze}#nj}3`ֵ el`\U(K-o2D O}J3K=gٞ8$nh o&<&kܹk \X"b<XK\?:1Ok%Ň'zW pD hqV/qjrqoeٷ50\mUDži7 m[v-E]XѴ$1)<R ڬFIRQ0^IJNvMqQҞ?O2U99=nTd& wMQW,HLk h>=+zGn/E춱Ϋe\][$'s?a-Kݲ?i}=Rz^IKz:6zdbr=d5y܈dAAau"* ~1RRmRJ;k\?hxIRYP[._ +-nQ R~XtFZA2)7g?l`n!urыA=x،d*5+M[Jq95GH-4eb rB~P0]ƲzrɁoj JmAn5W`fU']R= ƙW`k559 5kY9 gƱͧgq%}v3L}"- V嶡au8q_I8$m"XQ6O2AG)MhZMĒ[E)*0^Z1 &އ$cº]?tlE$f6.՞$uŵ,.'@?*= iW~5fL u5gR5;hU\.qk;u\p.<ЯxoRPgc8sի-Jǃ-msWtR9jZ=9ڴh-Z0!M|/,vfOWi6|{m5\;&;@ݚmWc{hYkƏnYE9{>NbV9!GZ|3rsnZ;|{Է2YZN&nXZFm\O-Ŏ lr$xwֽ7sg@V--!HF*o8fҥnjUA'ݶأ=+7\qڅqa!*적+46AX`ce ĬrB/̳>jҢrͬ\YLv#*<1Z>-8$9.u w3(x`YCӒ٠[XNrˎF|/W7mkJ.:)ejojBnu)Lq8`)ng>/§A:4kEF>;UbEoƃGi\ʯ"S嶓 '5VURxJ\sav#x S9zXix[Ďu>OMdRqӧ^Ž]*M{BҴi9kۯTc*[q* \7s}gJw,CalsJ ھm H]{KE5~Ҕmɦ{[/Rh/ѾmYYjU.NJuoLx%,D=z5emAc{D#)m \ ɖY'k"9ZT캜CzM2'k-Dιg\x+h R<;5/Ӄ-źZ(hEkÑMJn} 'R 5x:kuL/H9ϥ7pz̑JE*b9U}!I6!JޓLBG!\~7o4YlCk5u.gR}ڙ_KkNDtlyAEVuagYao-#iW&kmÎJ^MRI4fc~}qyYM{HM*N:֖Xq9қM]Mn:r9ҏ*ݿpSQ.Ɏ%ԲQ$1׼{H֌CvyɮVm;FuʹKYdm Vq .m F/+3Q;i;KGҬtgmGμ_ ǎQvJCo`iSG:z~Vw4E9Etv5)${qT$m!bߜSᘦ4dhxf[=?kvhK u=?Sy"y*>X Wq5ޏ,(cYIZMڋg8*rr>U,чz\5= gs#FJ+wAxNOli"b4lI>+1İKrc? \vc*2|;8):LFgp>W|VQg;WC5{Zb((c#-,HrV,A!Ͷj"\Q CXРPfX<3ytLyV,P՛6H!ctU-tw]k70ۯfДlN' _JKBEِ +^Eӯ][#9M"F֑mCt!pQZQi_AM"߇OHn zpPa\֎n ب]IwRqVAk.CQ'e# Rr)Uyܫr[V{NY46`K@M9OQ<њblIM!6dn5BlR&}`6jᶝq\$W ʷHU1՛LK]L'`v^`#0n@LIZAɅ(FEեidxfQc U!(T#KkXi>);5ϝD=&lQH#WVF yQČ9.TG=Mf&]dwRMuH)`>4, I;ծs\"3WW_Yfh d&IylYӞk Z#5Ѧ(E\xmZ2r;-bv,|yQ\%ݢ]<7f.jV56SsQk8먓TJc_Vb-wfh;(6W"5xދ1vmsV(U}*dSdS7 ]"şqg\ܑ*:)3 F un 9n6i.`8Ǧ%)v9/-,㵖5+[^C'yauS/_KK> NfGɦ*MXu8GsVn[j1cᚱmZP[}]rk%B{֥=2f͔%x)Qӭ4du$~",5Nv:䦯nφ'Zurʝ*X_}F|Wz[>]ò>dEoUFzyCNfZ5nyg'WٗvMPY N^ GrsrH<`{WNvx*K"; 8R)S6@ӝe^pm(/0շqUHn:P.8vaY6RG4LR@vv }X>+MSk6+>Gji"3kO-,tA9Tqk[ճ+noS+0Nn%s>&lI2ω.mE֝XH@ q]3ϞӺH}2d m><"`|ޙhRǁdAlۘ,zҡ-՚G#Ңվ{)::`~:ºO0:sJ}X9(R'*ƛp|NbhH3k)lKC49¦~q)MpˎF4iQ*znb-x_;^"gХP$:췑UH5a8 vIMj\afL4qrώE+RJL44hn;CW9%%$tT^) B8*:&_QqQі<JL:( ^ˡW\;ٳjݮL%)<(}okuCh ֛n< #WI۷R|2e#ٷ[I}UT m22hZ^uHyc6F:EBv<˖B^ܪ"AQ"dL}4jDHۺbdr9ز޵BLx_U{_F[I=4[ɠEfSYhrBFyVn@.`6yeh9=3LہcЊݴ$_1Ώs}K|1nsqgpI^t(+eUXr`՗1ysR\061s5S|ię6Niؑ G#=GJo2ӵFd%7FVI!gNjC-!Q~"$A0A<V7F"Lǰ9Q" ڋS~@=jhѓ^GJa=xІ緸/Tf+:4xD-y >,s5LǕdnpAIi+ ; UV 3&R;EO/_.픘8&5&If=)c2iK룢~ A{%ԥtɢ[Ak=Q gh gdhd?p3ΪǏF I0]X -4i,2Q2,7{.Ў=h 8Y'8,{2[Gi]N zF81qIlyS\[MxW>Qq\IEgxYurVT#ɀ>t[V@FEfס%dgLOޡeO\Ҿb(޸Rg nYU>ҞBveƐpFD-mǸ΍rV;kf$1S+z~KAi vsz9|FIOЬvJVlڼV(9 Ӕ٬cH'֫qCc84t*[e 4BOl)`U[}_N{KkeL[,1ּ_Ƅ7kb[ jis֡s)і>U7@2Uk4=Hqk(7, H_3UqO465HDbʤݵԙnU^ƸrqkWw/rQN7}~-.+h@ 9_VCW#2gW^2E\d @7E*| ]H=kmJJIBP\`Y5yQK,FElb*PugHQLblBZ=W!=3Ya cO ҒPZ$!(}d 9Ǖ1{^ič1py>v-k9pgZ^ɳh+ĺ#SXXx^G>_V?I՚mוCv:`llg;V$Q5U4Q k&}S[xn?&S}J5f7*zIև# uA`&phNb7v=R ¸c/M-\ GWr(ݦmk+˻dWb|(qܴаV!;#WZLdY6H1O*-+`TD|ns=-$m'eMҺF|NF%pje J'vR ք}yڴMx u9M 绘Ϋ(iz̈PYHk.4-s}.R&6'dQGc<>ܸtf*nqe?0kGԈ#K |I^iD"粹~isX˽ߴ ׻<͵y桖_VW(S=@.2 gDz9e[{(R0{y|w,` :-c;> yVvÝ+TY 0iCZ(ʹ #,ʺ{v@TXQa.R؞(#C˟ut(XlQTa?ks˭-[Nm bp7.k2quҩRu:з!xE5ƛ-?s>*jd>+n_F^&)7\)ߦ9$*R8n)0(>M[W DXJ,Lw! flcY3 _55kMZ=RXa4gf$n(Tp9ߥM}VfhsſNdv'7;2 ͺ1,d໷'j4=h@lR(وM SJF1vi J1ȍfƯ3?hP%ɘӾ[yJȦ]=v9vޏh+:R{‘) Γ\1|.B:90h UV@S* Fzx d܁SCm3jS\絴=OHYsKK(&|ѯv!`~:LWիnԤ3nZ{%jմoSSʶl8zzqXPn_UPJyVzΞ֓=ۂZ&#y.-MkunG@M^uuSA2_Tc8}| ϪGcp գS{{!eSqY\5zTdX~gvV7dkv~U4MP]Wh=\EO>gO*1eu!*ֳdFH+-.ƥqm{:IS$EF2&ӎWlkBNVQՔS<@u܈_u%*F;(Y"snmH](5Įlt|VO,am=zo"}|:!R̲Y2"LZB HGU) 'V-Y@9TyVp#,"KQ#w56NL助>ܡk+SMeiyqEj³v{xs UB»(% x5X='u|3ʺ !>kYCW+=.#iźGlr[wK~kqϠYm`%jF!#SBۊգg)=cWz6 U8=n19&'}$l:wQb5QZ.[l*+60C}U&_ۨ]Bȟ5"os+\CP{Z|7pZ'r!"ZT  2<\x9|+:dΦQe)#6[6!5b[9Yx5~Lɚ&P;Q6Ӱ>6eWhѶnS7ÝY=e:ex-~{=BA[s[ZM55N.]AzVy ާIHV{Q5R?l~~sYUc:%[E[kiN} kKgXt_n+X$BE \.=uJnjtB ,%Lq_ǘ%7FEbm ĿS wk*:UK9 c'κ;sy⳯,k)i>l;15j N K'.G</k:'ehEC kʜiw/ ohWQv=ճ>fWy;Փ >5^Nدؐ*Zq8lf|ٴH,mh3쵚`ݻ÷,F5ZHݎِjSf!+o!KwjMEY=M;@ O"s@OXy"6EwuJcݞg*̶ykZvS@)9xX'I,D.ĒXTJ<}Q,Ҋ3Oou=!5TsaȚ6>m=9,[%"23 ÐQYd G5z[K-_E9KFؙmU<U`Ҭl#jqMܖ4Y8V~ykzX.[I-FSVݔ1fE\ 4/=%eJ6yq8|J5[:]c*&?`q"+Y-.ep;C xXi5Tc*lΖbUO\)}V俾f g5ϙ-{*ܙ'Y 㱹ho_K%#9oݑږ-juK"Y`UjjIw%sf~Pưu]2CچݸփjI]37RԵX}/ty#b&aʲn4=ۻ'G*K&:D2dpޞc'k.(܃OXMZdY.;Y%%q ]SE!ZFN^ d ѷ_RE=et]*\O'tWqwJBI?jx2CEun[LJQI>"((+`f >H]=jQ M3KEPEҒ ry'GRU777#;EkZsZj6JݷGwsZh >~<5Kc'gw?Ʊnt˫&qk4$w Pr$w/j8tTe ʮ@U$-sC0FA4XdfeWzcb236epF՘B>/,(5+Dn@1Wa_lcG.x,("4w/,N{}=R۹ B1`Ej|HL``<H0㠫l߸1΢ÑX] }S5\ZĀey_:]^EV(W6#i~#hvgN!\d`U0ß.TXDDRsAP1zGQˠi IxOg怳9r>ÆlOHđd*!N|[5 7@ku F_ShWf$ߓK"߫U1\g!,M6)p zΪ yky%F$yl:yӱR9eێPM`I, 2:wA1.<(tJH-R@6x+ki2Ld.N*ږ.f\)nj/>$o?py3TQ㍯~Y "\1ŚS\n1ѷo.KJ^yz8ux4}PV7c_/ y]GV|_T=58TyZr1x =%cfYIa^}*ѰsA4wP5DMNKLO*v/&5JH.&Hc*Mohw P=akwV}B i茫 !_*}6QzUrmF՟& VMԴ8m uqɑ݊5$xQ4u{[iQ}dN3δ gsⷼ^&ΩWJ.0 c\I?t%:>al7a$bԸmHBiO&#.v&[K |Y1)Z#&# WV+Sixrd>*[p$BTtN|kS+(@M{0ϝfIqӷY>^9C$ߺoLܿ񞓥Exs8 3YQku,iycڠVҪʜ,Zauvn:XW=pw|<}YB:%gLn>鞕NTqJw׹⭘-w(h2$Nzr6Jz$}?V,5+e[I6R ; <Ayuۨ1隋ُ5O=b;(T ]N I}p5EP osWOۜI)5өN[qGn7V[ahF=%﹐#E[ )劶ǪMnKlʸ^XpJ-g|ٛkUxUm6m"(c]cЁӹ\\9{}ijjW.n7LIκx|un3%)Z 5kI5.GomfsU\gf8uL1%R^L/ t.-e8%^%ԮuM>O2!N9U{U8k}'P(ª3T@9~iHwqqusz~KynLUo\#۔lߜxr/\ f'^ 9V+b2Z]@)Bbk19&2ܰW=0;*^u:ċsgK%Sr >9 >vA6eaV/pZZE\MlDvsOFez1&~ N%㊤\n}pt^ .g^?Ghi_h#j/i%_Ia,'-,FT/gKMsH?W=:$X+z?[&m~ukšNJ.)3k>]ƷxzGOg%izfwyu?Ys!rϟmZ4bH\:Wn';^ܴ.?tk3xU_O1HB8ˇhKb`U)P_Ekߞ;'"[wv(|qq%Yp63H%DaEgLFta#IBmGr+8+hݦƋw,h:bI i,}]͡ [ʱu[!IU?d;C[Ǎo4V]6)ats|{òm!וq9fOe2{4nT7s6+*gMoxc\ށVo]r795O~Z-͔ 6Aێd,LlᬯLtRr+d6J̼Jԓؗ+XԢU@츻\%A:ִ*qE56a{'/.8ftH;?P>M*>hQcq 켱YqާZn,i[=drbhICMnG=RKK5b{k.[A à"8ڗ04zt=J=./C{ѣW-⍊ewI:':>U%&W qX77Rlv}/#}sDGݬ{ w hAon_(fdEfiuNNca/ In61FOMG֟' 6rGVxhohD9ɫa# $qLYvs a ϗL=Umǹ:zߍ6 I'1Rԟ"mgDfSqak+ekxEu-"M4ZE=9 *5Irx%9;x?Qry.`Ƴ") ƨͱ-jWv>lʭKWfn~+% uK9 nOS˕WAS\{)Kw*r6hq [~ E$bcaeMoj&a I Ovlm"rL[=&Jr5ulɆR..d( ɫ٦< R}&Er*H"ܳT%1. }ۍVlL(1]h"5durSd'p\+:KeJf[8pfiٲ}QyS2Bfymu2Kc) ֛i4&[IC1佔̼Qfc˕13zQK7-INIQ+mxryny5R{6M!WW1ֆVsgy2+:KWOiJ:X)'Ȫ_(GuVy+tQmW+p4ûZIWSQ.*SJмJJٹ67hW>(l ͉^ÿFuٖX7[`_WRی֝i7*ٟ\VLDUM%mF\#9džtq,dN-BÆ43\ZsB7HbwSWUkq^xL'։&m& ʅ*sj|9Jcߊ3^^9 [ .\Qq5K#|.z X uސ$&'8Z_HzM,Z pH8,M(f;z{6Tq](峊F ٍZm*2mO 0u>d]j`,>F_i`٠?ٌʕvhQ?&xܫyJ'u;\ʈ2U+[)YQPxvf~[phQorHa @=Q-t=:&[G~qV1Qi萵߹KwR(,9}*D֬1hrŻ2RY=d:2UCkx탏֧ζt,K-P)X˥#WF>\Qȍr|P-ƶz|7εA(8sm4L,0߸?¯;~{)W_y icsԯĊ*m4ʹGF@]{}#>nЁ ?ّe'!n9jovzǴ¤B>NeehHAj=^(jw*{(h٢88Mt&s&Y=v!t2gaiw{M4zEH皴c/խiҙk<&+۴Ze`@Ƣ\"_ tߋGs6H8֓>i3&QԱ~w :=3[AǟT3x$/s/;߁`)*=QY I7/CWOW}+9m)& "9*ɻTӊlџZKuK  8W/+<\8!y{k'=?/`mbk}:݃OG>9ﮆ5@%:JŶ%d2:yq|/[/VDW[JoP*S]N㷳̛;kj+ O#>wUN1wRxud8#k?gɇ7Sn9a\k[+Փ)'>L|C@#Wy'{{QZs9ryԴ $_N94lfu,wje*{-^׉[Rҽ)I5%}k"+߃YZsgwP r;j?J_1ꮏ/*8aZ%Tv'"N M!֎1PUXDy$;wrϺ$89˄s%nVP} Lǐȏn%/;kwg›[:g jl6:#GVMn i2{WⲌeZq_vާ_:r>{+-q$`UZ^721\Gz y>~LLW#'FUHCãڜFk#. \˹d>B߄DE>Bܸ#ѯt#H[(.ݾU+Fxf`~V}S{O;oǧ<:'d,3\ZIo? "9\_^ڴKҗ&Wֻ`;[iLqk}fn;4hcgʶaƱP]*96+5qe>ί)Z4MʮqV#'uSt9r^ _нL_XpfzloJ>|!eUp1Ú?r<s\Wo8%KdM&6:%N}iLW{(8N6n{XsMזz…fRD{rV1CՍrL=Gk1;ok|b9cJ6__ubwp?5ޤu;_<Tmuw6 Y`rPxNXMZG/+XuF<'qP^˨IW|ݣ}5T2(F;m|+kc~v2FIկXGy汴HGELevs`EmZG A"Yu~.E]QyN*Ոcu 0TQ樂[~$Y0 }U缋ǟM_}++v=,n|j|j1}2_nH>]W^P$K-*?$.4WU2}B5*ew*za6׻'}M9Y-[hzrn8yk;=v͞pXdoen&? jϪp&~o&02w4V:5&!;H =ə;M^[FݴVS8q7nNCAj[s5WP7pmbݞ#i"׳m'FQWBq8qH=oN]R@[ٮ#40cs2rtcߏt-0ѮgokBcƸ?fp~5;ϐ8Տ -Sٯ:fw;˼Z'Z˼#qf._٭M0'Z!W xS$`? xb#Z [ٻ <AI>QQ cS!;znxhpdMʠ8"bɏ<:ROW qԓ*Ŭ}+V`$jT?tciWwK- Ҁ/{y'sXՎ?l)#bCu72{=ʆ5?aq,s]GHx/ǿʭD7dUFV6-Rl8qiCxC Bud;:{ܢ̨9*QU(UrVݫ<{ltW!FUPrWsً~\ Q\+:hqg|-H+tk4l.d^l=@|1 rӪ<}BthyCk6u*Get7g5rDvrC߂ҮNi,8aʭDauLw5_h H4B* iՒ8[QZjW-e('9UzuuUGO1^aBG]$QGst@p[p;c{ھNUL2SkcXɿO tÒ+z@a-c9-麀roS 6m8-#n-?}y֍km^nkwj`I 4HZQZ :SΨbRy"RYudsoq'IsOf$BT&Ê}kic] [7?G | fU+Gq!oMAF$S)dmNY;n{wʸL6bCqwio-itZv.Gacݸ ?%& [i1>d>hztϴ~FipγIcV)2ͲkA Z}?tiM2r; Νktў}n1v8^kmGK:+ǁU6NPI9Nhke#ZM[4@qDEkcrkLFxcQ*͇kAS$K:e7Lָo!;œ8B9͚YaExd۰AͧjvxmtF}ZnPźF*%K%ĸ#%pR6Xẕwʽ3)eAo#H$$NpFVaHsʭE-Èax [PFz k4kqVy>5 '6G 2E!QzthZWhܳPih^I6dě.2OdWGۖ-Fp r5y̩'˜V4m:wz9^㆔)yƚE?EK0-@Wb.2jc]ō͑ΫleY> +E :0{頸8)5q[\Eǡ(xFm2>b.-LF>oZލqe#]2hq$›đlWE&k -e-RpW:>n+H#|袁q$U$FΧft8fU1kG͚bX:">;t1Hy>UWSRַvrU:ycmXW-+^Xtw,lw€'iʎ99c^Ke(@)k4@ҵi嘜ykp.-&P~f-xˋGkF3?ʩŮԣ.nVewY͎$>޵$pon {va'5w ڟ=W~4uh ~kV=ALhLoq#FГeIn!cI-E{?*fYcTW9}[ܱSmp jOu6'%oσf~ !EIBIvwwUe\_A74JE"͏sYMV8Z-~F~I ;4]SVxHG^ jM~'U{WOe{3\PƎl^9+1zd-m,R1YW7=7.̊MmZ} qceLUY"g0dw;P"մ(h[|UISbӳX\nf8e;Vqfe[hh>1&9F ݧޡByp3+Kմ?~uwb>cOkyabmr 6\\[Ƶ-80'W$_LMKr~0?T?ВzL$]$5zR@2}6RG=e9?Ug0I!{_2iVGl+p@KKG[;>}|U-6JKK$XwJVQqSœ~5Tjk#Rhb`@-_#cc[Sufލ~G>nIGikTū S_ܼJ&$~rB)-{ ч&fIGYOpS|R±:fk)ZR)WF|C֗r@ҴG ak{?/=^yeY${#⻶8_C2QJN`6ꕺUrrp1UwUmg\:KFuGYπ|e߉,kyJ^+1pu tsgy^M^OyЭu;+n#_)Cg&5cV\0.u̫ O*ȕֶ5XDW=Gd9d1jMX0=cO`և.%Rx{|]-֋ꛉYnaی?>+jouɦ=*=:5G)Dr:l[NB3F׺)*m_ؿNL&t迁m^_dT8A״k6)b۳7o`|:~ cg gF{0KvԒ}$Q+eX)Ï32[+&X>W5H{]\Yq!1\&c6pp0|ޣ85]J.,w(=wsRѬWщ-$y<<|\|AdsiIt))c6_G9E7h2,cq򯣣(QK1=¹moR2K|Uy៍i=y}J`U=h-ƇzkEeVo/^Ys(tE%c%S/KIj~(xf,@s s+UmEEG>5dY'C5ݏrt?Aamf{(@S~&M[[c-˯Z&a Dk~kLӢ8q$lHZypIr ;[NLPL&?[錔W{oQjby&qfqSᎵl̚m*U t-uu<ԮϳTV#~No- (ƛjۏYcI:A%_Ю/lp%R;FpAy:0Oь%Iti $C42Oen:[i^Njlsl㡯-x|M\/{˳mJm5*ZK߳9r }tjV9K'*z]%Vct+с=Giq_p֓,QʗWD3du>U͝9K d{R)~;ք~[`}E% [UX1ֶf2 ln(G>}.c&HO(QLsƸ.Ӹgnd3OƸ<289&K￱pb7~uK8X A {*3juE Q|Aֹ}O8kIZ9tiGm*IswW:'( uMgg'6> mdo'c]gfixl3[,DRA\W>41'$_9viUYh26he_Br9 VJ ^j%p~Yh^<*ZvFg0w໗'K4FDwB>ѻS"h:2m1 [feI=纽 ͽOqʹD9I"ӎbG:wu<-ob5{[)"wr%~V1*ۋofNRIV"1zTUci#Ս+H!Ah=Q+uP+lZCjQۍ՞xޅ_G:x;LQ5(._L7NFN>'[U=4r6XȘear!Bz^ĶHӎU&2GZN)٧Ȃ3Ʃ\:[[Xu-MRL2My6[6jNw>sKOWOU[As\81=6 J;yf[\ ;3 IDw-"Ei9x3Ы :HVF fOƹ,mKNݎuZ%ED;PwC+F%N:ޝnWkw 3EJ!2KOݜ3 mpиU?K {7SDm2.`u#S Š't҄ m6hO{(*M2Ԙʚ\4m6L0][So\kMЮa2ڴc%fsI pEF'c fܤR_H^[zA|ا?,}9ֽޝ{bH՗r*;FS-Ht[vDҼ뇺{XGL>\XƎOốkb|yV] HNtcl@l4 1<}:R9U(3FlhjPGzՍ1pù-:M n*P隵U\cÝx:/<Ԋt}!@I퍳wrL }\d("FdW{ ރcf!{I:xF^M3[P+SO^P-^;5z% Z!܂;gQ+LYĪtH;ږw}~noz-aK}NتLW/ښdUݒڏCZ7lH>bâ·4o5؁[r#S,Z\akt53wmo8Z{(u;@u_h: .Z.r "M++JwF14)Zk2SMo0aeeֵ4Sv-]FEU)vMb:8`AI r :)p jn3[h%"SR8[HD|QZeܿJ ]qOZ:4G$?9ۚ: orj΁}GVTd?v>̣5ĪBjV.G|\e-Kjc æs5E=T2P]K,.:Eiz*K#V*vF5b+oX_֗ŝqd)QaSv f89]遼ztU6H|@hѺm>ُ@[ϧ;(\v)[\P>+Vݞ]mn_pk 8&8 |fA$xاIIo9&<Vn9VEιj[K:[Aȁڥ%kFS%>5RkG"baFN+B}rx6k\4G=t&&Ue^ yvC&9 fM^ݣ6 \̸$Y4xIi4֮:vl@٫;TyP&K!sEeZ>YYWf?EoLM2ɻdJQ%r 8 5̝d_4 Q~A=:+aȫ.*zugcl?dy56xO7ԊsJIV(I[j/2jEJ"RFN`VDIh|H [Md>Xs}D7yֆ%6/:PʗjeH>7-)ˀw4m<3J̥ի2%r09J=r <)B܀ 89czQJxLuM nIv*zUyepHڙRgy$Q{VؙJBTV˕MdȆc) UFcƙr#Uosu 7|3T:3lw3K#i8O^l~rᔥu ' Bq2uBߏt5;[?bh.ÚeolaMGQc*\E\Ei) ¼#b9I?=DⷘxQ4&8죍(R*x49.#oirzS;xKIY#KvK}t">Pu*w^4 X0kn;ԝҢ'Z$jŎ\ تu,)pkԭ5;reDr+ .2~[+v I1O ~WsÖx,5=l<MjqbO2j). )t3c ˳"kER$_Z隧܅[ zμj>"mᘞ=MJM7:6tob(>yyB[lZ|QY.ExfdTS =˃Eƚ>n\jgu4)}Kcñ.,91M6,1k\[-fɥٗUk]zoz G#X%{n p\vՙ܄+cO/tZ;k$s'(%V]bI-mWyu",ͣcQP_5b}={S wФ@g[Cl/2h7X^@!Zl,Kn|C+E=k/NKwA\iIPu 8݇*<p?*-SSjG^#W$_^mx.YX;nfnloA[99RQkȊ31ҔA%jΕ]jfSPC aW#„wr. E%%r7Va&/l燞2q󢘭@ApE2dut^v}[?'\^yڍ Z-Fխma4ֱAah#FT_,jN}-ώi,V3 <}F_[4qSOv+kf ħ UX&G:8 2Cm+1&^-q)2&zwvITpuz+ZԌßWB^\fV^j2]QxՁϐsWCXX0==P'[n {0FYЬkH(PMPN # QMR}ws'[Ni,2g*^Td#YXOr^A}n`@2 X* UU5/I4 kV9m:=gZTWp\su s4&Hȣ  `HɞUXIt|* ,g5pN_zM6KWB K">T[d1:f 25܇GnT<@*˽,uhu".bK)Hƕ,Ҧ6º^w73Id6+5Bz^tg(CzO`4 Ҭ/YS["ON!깧uU#Ҝ[i*!L)j mT VY}lfC7mCkF\=bh!ב۷I51Z(:/BJ/mU2je ՒVgx GWn$ulaƕ!O߳g3{e~Tpm:*FVݠIuii5%21*"㠡Fl oEU 2*lf<%hҙFysɜ`tfoI]YV9.&XDhCI7s+hH@1t)#;yUǕVEBU-(mV iFZId9y5m2aFS@s!M#;[a/J)g@zZM6QH@#R#4yS%dSB|\((0.:8 T`q YZgU:4F:Ls BisU ֩DViXq6y䓗Zr(2Xl7)qiBEẇpEi]nƑd!G6NYiK!prj f͓֚$NGZF)֣:!G4Űy:,[L)m5;YqYzn$7wod-#ѯ5eF1QVn Dz$pP 0][/#Ye$jjp'wQ .:u"{`Oj%kr7lqCӖ@+hX5|L…Y4=Hx`-(ր)M @4)h;kOդ>Uz¡e$z%޷4Ve=*i-'k7uw46FwlrMa޸9Ks֩O.΢L A>SڪnUl؝(rZ 5mK @)iM9OQ<ӖblJ!Q@5WMm`}`6m[vӱ}2Cx`JliYۢ8~YW &ƐoҚtJ͑] T{:{{pSvo. =*T+B:@ ZU$sRA$~U-@)-Nq;kQt>3KU9M$:V5Ս̰oxsV$jF3T=FSyVm46fL6wU0;+vÎ8j\ot<`Ͼ2L1SS.Am%WԵ]BX y270u)y8" TGvy)mmbaFʺ+-cakİcVM4]c6"}@߰ح?W jԂnnŋn&y!8MbEü*Խ#Rb^$kxb"Ѵ]E7X!MZ8ɒO9H9? 5p EqkF';fԑKK9&jF5ec7R%u2{isBm`]u2=wTrKZpҬzC'*ڏMV-sEϦǪx4D8< dVWMq.Mn;VN_.!SPjIo&#xYNlbl}cU.%|oS\AĺFYq8Xٳ3\|.n%(Db"4-r+{ ^[>{5Ods3|P4zʬ:ָ+zQrvCuCq0٬eQ-M2̝Vk#~?V4w޲Om'ޅU{4zɹJ`߲,]p$ `s]%0GXM6hvN)TbOFOESHbrG5i=Tw# 6jiv%1  XdbG#O\OKHW0'tZs6'Ю2D}x{n29jtA,M1Zx1# 7J/؝MBi=3X018U {8*=+f#Vp?d?*D]~NUa}n+tIiq|1~(ٵs\ XVMw͵3Z6|Q8a=osacс&.\Z0_Gvj}^kpv(atoeR< 5OFOD<1oɠZ7x5\i>^gjڭNHƇΉ*~AǝgeDWܯx]ʨ[yC@wVd ˟_.p 4z^?\nг7M܎( 7o5NbDwjӳm^U/ S&屾U~Bn\'[tm?,ܟ;5SeK[фn0pa']E 7K?, !YJX?9VѢǵTựU%$&/OS֘:*n*4I&=o#K㳐j"4mb!cb@b|Pջm@,~j݉=[ >E+#qhe4R6v0! ՑPt12~uAuؿf%Rr~k<VuRS<ɢuBejSMlEN"ƩjLaGx]^J)wZ-jWvW7"E d/#E.noiIxjGgʹcpf1yG,`/'1ˑhLwD m !spۘ1Yk^5 Ȇ[,m>Zϖ N:rZV?H^EsuךmK5?pelmi)4)^a5;VcNUyN3"\Bb[xx +s~yc^|t5:G`oAs\zd.dʯAj2#WS5kQN"U3:ˌxK#m]2uKʇ4c"go1r$!%j'Ӌ ֆUߏx  6.K+ }աmjWP d# j:{3.`ՇBڶicp֡M,v~–ºޞOme+*aI).BiHYdBCkz&o^W cXîF1SI(O\]j3Bmx&#kJ78<+Sbu#Nٹve0s]ѵn_'_'Xk&K^5ΒsWFwY*\r< g9$4KGZtP,+#zvVjtQ X114e8Ԝi:̾u.L..V{\zԒc#4i /4,u\H <-6i:ԁ+>'ȥC5ɪKHAuN *&Q`we~ uI8sMDVNiyϒ`[=GZMkد&%*b1AVnI<[ER3lHtK!jwyUZLh2HyyQX.tR0ҦU~Τ$Y ;j8# u-`sN@5H7!-L["xiNh  EQ#u1DaBcT"8; LgNp4GSCyV^)̼r群\yHdƀ&9>MG5qPgۜt"R8QMNy9uU=+HĉHvnt`T ,֔gcQɥH!uHR=59SԘl8P=heɌHj(܀Y^.Kd 86X<:궭P)=dN\ dhקlqEK |I@\ezѵFiW`OxIdR$F`z.1%5wx'ixbe}KnrԲxI*`IέYjn ŀ(ShS:=72v@ ~G)ֲAMӃDUbҥrPKb{$YO:ĺ{g]j m $<2-?"jb<~!W!zp$g-,lzb@:t.qv(\;tB 'DprλeXy4kTpд%*^ ׻ XWVZLbaPD@-%f @דNeE"޺sX7$EVYq ;c# U,m w_0~V|IɜEuwҎp5[KI"=¯IpuᦉKw*WŬ󗱼̯rGGI]KqɎa[ޒ8ݎu5DHppb% zFM:ܗ ^Xiuqn}F U[~(}&@;uk THY+q|zA@l}(dzt?Z7ޡ&˭: Ì|ED'6U\ _:Iu 21r RYգ],HՁX8yGOX^aSˢE ʿ3\SrvlyE:탏A2>oE%m(hs&Jzʨ=J‰p|Ma8f;n4 {SRE^'3_l~Ғ}zlݞm:s2[BiwAhwYX ~Tg[gyDz{vO7ZI?T|Icw25b͵8bRrJ7 OK3JΖmXըaYV@ؒ&qk턝#$څղ2utLBR\Lg&j~Üf" h41&;€h`>Fn+:-wAn!~Ý|Ԛ={9n-mn3I@`=c{y?ad48.d\+2C'1Aՠpy|Lr*s;9Uq nzy,-W?HGʫJĻzǮhf5{>Q ,ڲ-SV6ƬͥX sѕ^@ۉr{EñƟTXJ0_CXjͻ=ujq榞+t)NC0c"[D޹hˠrۍ/_dUʆn$#5<8tu_ަ%Yc"/~i{p-$K*5 q{3dj`c9mi0A.Pq5u"XwFB2p^x*<ΝyC%[7:݃R sxWPoOA% Rܧ]qn:-OwfV^Mh2k3F 䏅ni \۵I GVR)Skm K8+i[ȩ?]>b9trG"]έ<Jǫ(~bDyǣ{8[ډG }e OC)Ѯ7c>4Ohu I ?x U{eM_O?aԏ>U^[[P&#)W1Ȥ{gMI,a MtOpToGщ?٪4cOy/_:"N[a~#y'N.Z͇Ɨ?(?T4dAǏW֙Xۨ~G (5|yФO´CQXnA@ǒ?†gOZRh5-e{j&q^욏npIXGѐ&R_VL*bǤXo$|*^rY55h dDi'eVg5*M y;.!ד 0=jwws!vq*tRX='W%lhw%YЬ|kK)rbGSYz6zkhe^;ន+u-es' ̼ I68V5KZe~i?0c/(vZӮ-g{wnES|QKYb}Zn& 'Lqok9~ptdMoFa2+ax7q.O'+< u~ S3KJFVo\f4 $" vF}1]6g\YROwz§pyg,/u8<'m/4 "2#ty}v$Zw**+Z"`9Uxy/tg=.3^d06%>P㻰?IL@֕Tߕ-m= oeNK3ؖ#и.ܭG* 87RmKOp5utj$5yi>hk_t^MSGY{9AOQ훳ԴnAm>ͶdgP2L²n4F+nt˄vޱ$'OkKpM;r6r=Fc'8qsc8}$ĽS[|q@ dͅ66m,Fwȃ]jsh4?֢Sesm?g(ߍX[NF*IKS2>`/-agBPT^G"}[q>ڞIsf1ІdvJ;kGUaDn㷝<,S"ҤhcSA˥}՘l`zNH a'un+R֍Vcc,c1HTu 5 -b 58qZC}!Sz[FȤ!unXJr5Y_Z8V =iz|m &8E'*55.zp$0j]i9RV3Q~B4PXq(Ze5ΐh &f֝&VJsPaf'󬔛o*:I5?eV=%&^3NZwESCVDΕqLPPUfP9SQ7Ap962sU^ɪs\gcR]*\ssֵQD9bǭ:Hq3Μs-$jIu RZ|7"uK8폍-#[iI(=rzXj$)>4:rsMVbJBJ0*T@ OR,MBe}}jΘl%ߴ YL!ԡmM\[]hQpu=4i4g+fi.]Рe5Vmda'?«^υ;Gܢ؍K2 *w*:kdX-#H;,ԋ-E`I'Bm_X=*v⧡^%2MFulҷ/!)Eg˧K,@V<h mh7/s+ 5z;^8L]Ox'fK#L:OT=pp g2kTiZ} 'hG| Լ9E{*TR秲*yQnPNI劖lpGqreŻOr~4Mn }ҏw'2;i-5\2Aҷo!+EQNX7IRƌo}.;k^2e>h3H%H@T(ˎff]I[$e&v'?ž{.Tn&8t4kaf e|_i{jnx-R%#z.= Փj MʹPGZ5ڏ5jh`8ʙ$R$Mꖹ"1*5,rDdFVbiK.]|jзUTm]Z@V|Qk]ҚޭN-dkZF'lu$Too.@7s?TsELkxp{mG&j$%J(]:)k+/ƹGHɹ`7bphI32ۚ5SB[V Y$hDGcwfljxBEז dnwYky=84Ndf'η4ߥ9W['fko5Gd_ pv7dAk[ȟd9W5:Cp:CfphI3>E}}t2DV[u*IvGZg2躤3C4M)]lvIV|n=&6Lu kLI֬YҖp:WQ}!'c'LV s}M{=.FEuW!zpY1X:坝bV>*e)1ōmi}Z]Z27䏕cEv&Sֳ.nGn-gq(٦;xTMa8?g]WFa%-Zw±$X'ǥe%FrZw6kjPɞrܦ;#fh&z#\ˇ0#5> IahGj2qZɝe]ʶ`*ֱ49oN}Wxk@jlelF*t/ԌRܑ$,NW>vDz5urp2e*oc4Է%UuH=*p FƬF@\=7j 3ˣ܎0s2ER@2MWI}4 Ҍ+vy9aS /OD5ϤBpB-_\m.>%mXKY3{Zᾰ05KRZ_ٱiy_ʶ-8AQؘm"8 y)Kej%cP_(q8Ζ[8CBCr0k:LcxKt$[.0뷻"Mp5#!vHU(+9u}?L:G'؞(=UFO|Rȗfr.h͵=bQ[^FGOi n3YWިY9+SQAf|;xEf_V=)Yɦx =Jmb=%&>,M#1)5[1e5\d4Rᝦ/t3-%>u21X ^";T}݁i? Ћd d.RʲX&rFi.1}$5.kYPvvrwBR9$T4 ǩ4P]=Eɢp¢7M$rz^s<d${c)}#Q9䠒QC(#F{sfL^RN kV/"G߉NGYmzB!U-4>%XR\~Rf+[xQ*+kSV47 Gn."mbKvOچ@£FC'8ױ{C,P$? wk'i/WisÑ1&(|۽/P^>v-V.ջYrE_Đ6:}d Wiu$ͤߨ?)_y5aˈ8n,%cU8zeBHٰ[yFY;_*zfe<|CPM1oGgֱ5 KRhP:60iWȜ[Q}{ojfv͏rk[[F֌78LkD;1Z%gr]0.#ħ/J 9Gmk|݆͠4)StMNC [[)8)IQG@m5@ b/U1k7ݨۖߌm ӯ^2|W2>tRͬЊ .I k,kChwckjBTP1}&)6Dt{!&oG?{*~E AD6pDz>uFH2~j_.p/&Ea_sZR;g 5YAiX^ڏdckj%⨕q{NiKZ(]sj.t"Uo>GZ8QcHsk,)֥4UηKLP{"ٳ7?Q07Fj={~ZzuZJ Z^:g0S_ tV,r boGwtõnu`Ui؞U-ZԹ*ȲY\vN2+^lX-핵cj@CAV=HFyT>]j &K׭%@2GW} wȟO']x#W;[}5+ִ ]wɭZCOݕu)Ҁ:ȋ&+MY.ms=*F*[^g}Җx/t˴ۢ cvu @*cU𖡨ڬXna;PˡiQĚeݔI{uq\e,֒ߕwp8cY\7 `7L\_& (UMK9~KX#Pmsvs4WqL:@oS'#T$''zKhRdVsMybm2dSp7ƧJ.0OMvghX{+4ZbyΕgs[tψ5Cmc{'b |뫽1UBtE,Wu2xH:Ե$].WL녝 RKD~).dœ ŀuj?G9~ W1w|5Y|OƓRCZYxNMPcXsܙi%e'5Ke^D=WSh(cwo vƫuvE9ONU<6av:s VTdE#i2JrsWqCHFXr*%k9bl8"Ș b.(:sZ& ֜ܯcF"\, yN&Mj_ k8pc>F=Y֛U*c@.t8⁋=ʛhSR9!H qրJzcHP1RHOu*Tɑ˯*l|ig-N98drU\I7azuWy dQ Eg51sT:AeB[Z|AawU|⦭˙jF) tہҕ|QR1MEH*"Q+,_,L%eV^0JFuys0jnxWѴuwSr<깻BY;y0:RlT`ҾJ4n\ȼzx 7G-D~:{,O#vHʣ FE 84M 08j"&>Ou*`/KP *1U(UVxXA*!DPmӟ\eU=9UkAA/!?.VyuY(i!Ž,=%pXzxՎЬg9#QռW˘۲UD*QBlu[Xz> lFC!?*&l@@t8Y`*&@2HQ yPe0FbI8܌CzwG PZ8tN*H$rGC ZYm7"ڗh.bbntYٱ,/4l;ɤ8m/0Q;^[s ӧUkA׃寡Hz}Z%/LLP{x˕wqi<=$0 RSi6W 9,Υe)m.gAF{GݧjvWGhz&kv(>Qr13Vh&;հMYkvݜ\'Yw:w:b.Óe%z$XWWKj=NYO*]<3ıb O}m-mݻʛw,1HdEp{/سHmEvwC)t5ʅ]NJـKDq3k^A_}+moT.,D4Ϻt m/ZJX7:祷=k)ELux,1omn7 3$DJ*to\Z;Ը78SQFEǷxX#cAh[d?j9/NfDzcR}}`3@d;i1]E>r7/\7H9x G+^+YQ_- .CІOAꊵ<:͌ʚq솥sԑ<ۻtBgӝq:˲ zr2A?*?82d5We$yg6+4-~ɡGmfXl'P}ely j6(˦-K,F(Mݚͪe+,g< Wz|1ﮒN^0tۘC ?* uN:bDD)k8RV->]pv2?YWff~VQYz|Uܒ6|i64~h1T0cNEHYn2F(s6J~,O#38,$**&Eݍk)٬hHFVΙhZܿܔloƲ$1Ͳ?vt&ꚗ/Zˑvvi0<< Sҥ@LEH\Y{t~\UIX$3Q U5G}⣘.MɤLPR'#Z:&_u*!QϿ-)%. :wM&?@2>Uk+\zm5vT{5C}C= ꦏ/eNz 4d+n=Dy<"(]"n[OvX|γX>'VoXֳ(_IIqL [Xa"d][6wNm߽Z=+${5qT.mB fEls'pubb: m*dt+pܫNR^YWﺂք9C1H@RI^mBuDϾuK%-ua2r>baļ]^EװWh[y#ĥ%9pA_*m8?'V729`dk6*-sjgy"\?1I‹SvXWt",rjkorrHU*8=A/[p6UN;zsfT/Y,R( '~?Yiɚ5oX'˴*0fw4e[i!K%tEqZLAU~8~A>cqk99%c'qK&3CSY08P"8oWapXk=N:!d4i"0R]9{i&!\P{Bj]3ү<쯝ݕ383YO$|:u^, hF9,wKbbA -+K~dы?i!'ej'=n3TӍٙł:Z%gCtZOp4!HpϾ}?CY 0Hy}͊X5&ktj1IvLG2YL 2|a<ءķXísv755tQ1\MSU'oC<Ԟ.:r7Ej}!ZhTt;KSkuG+,G)>ĹNדKLCpAzCgwC9tuk'/F5Uܖ:8'XPX>gH\!/SJ@\?H"l Y8cP5Ž)}w|+*9qcSL0Z7vc8?ZܶQk [+4QCH5͛`)^p vjFIT\ڐU@hNPgKz3GՒ!.$k~#[3@kP8 \ϣ7HTl~O}[^_:Fg5mRHk;E` 0pGx"t;.** kjU6G5rou$rQ9"v̶ѓ`-m.t-k:)"p j^D|βu_4#vxA UiP|EqbFGp@IEk?k_W1} 8}d^GM}>f1spjRPMAث1jچMm^hOV1,[qpvVz VjFu7%hZ)J˿6?U+Iչw7vjq?WvtE3Ȥеduc"c[Mʒ!]Bm$qʹG;7HnmEz@#GTݞucT%̥=jhݦW $7^ўD5eQ.٪W$F9Np}SV䉦rZ? Jd \#wi /:gjk=ΥѭYX.zK~h(~l~4>йw7vkÙ"ݓg[YHeaXJH@; 8^0I g zP2I(]vp}>g< omַ<› qNCl`{MuW<{-G>;gvH$CˊV~vkqjZYtn]s5 KAIE[}MtXtRL:Ƿƻ{DޯZ ƌt,,Z%Xk!}Tl'hYi-=r͛߁Bmsw ·xKE[-5DY}W[O7=j}G T(IbOm"/Ě~&]N~H.vݓ[  j$iدol,.feulghJS62Puz *RO\AS($A9&*E(.D="^]r+:A'e-mG/\m";#8]-U?2%#\dù%ʹ*V^IGMp>XW@{ DpV1uc"=Յg,+OF^e4ZLylfO8z a#Yچg{umcJ3K-wrw{9@G'Xڇj 7Y߬5A_C웸%kcL~/Aݕҏ$GwVjh 1Q:A{|L2qƲZYy$qN9n)'ِt6ZeX${V"WZkcA$Ghl 3UМ,kXIg>>hw m'3pu40O?iAe(PS0?-DUjv`ֱє1LEOO7^_άsg4K635SY8hojLıtm;2ԈIC5? dK gZgڲIHDT ֲ>I#ι7H'ddAA>6s}]oI}*UIfP mGue\D!GSZ6}{k7d=5)cX &`>?.R*l棷~]0轡+[Zgq.vj61U[e}0 x8"SМ:O.Jiڄ'84&x?UrŜv \=Y[Wu8+=M-5 I-RӮ gY$o0~uʁ-F@H4 c\Oijtȫ8tɬm'Qoֽnf{MIfbv[ȀwьxΞ3;ms} [[ִF4mr˂Xw Ѯ䉟B]3\โC~/l gi 79cQU[k#ݤ;?7y.Qz"Rp7-~ܽCDح; g4k_pZ: v >~+3*q:5Ic L|ujZΩq/e ̞{ios8tzGf5;D),Vюn4Tu"3]սkуo=fC[wC$6RgˢYѷ\j%MGQP:HnU\)Yn~n#_ui#Ȓ~H*,,[3LH :xd#6:JMi4nFRx~umZֆ>m5d5ьbda0޶0F]֟\)*6)wÚWAedϺ4y6dZQ[Zq-u\ZEq$q\՚\DWs=pECMrVσnτ5kV$Q26? kխCo(k !7Z*#MniIZŘ i"[ VE%ё4s@dGB;H$ˑ] jcK*5=m}.;$~TRsh*6:3&an (a_pi|Y89+[on/-u4uPfmt;>H! I>g;N߶q*q7k6{[v~;p]15խڃ>Gt<|:'h܂JDdqtw=2!>+&#ozsp,{yL $\LL 1ieu>'W#I n)R۫7|l}.h}e~cWdzk^ώ8e=ac]]Iws$#nm>]+}?,t1^B}"~KﮗKThCnce$W-ŝ9<ȦD7K|?$UC͟+#S=|ܘ`8LKSVWZ{ z6tqUpbJhh7S`rk>S4;qnr)2g":}_]20T*+[}l6)luUkCe`~5 6{>~uNMHMfu|7}{q\ާtL:cDA5wOXOn]jO`Q #D 6q^GjYc"]+#wAVB\'A}/h^̠{R7]ڔ}nǬsH9[hD7n|EWI~’$Q*uh [qXuoBWVw?:<?:NI(qRKn@r'+δsIyn׭leu7cY Ko&9!o0AH4ŝ&[d5Ou&0^]օa\]ȸمKF+GkF!Ϻ[{ 6hrLd66{Wsk7΃-MM}syqjt˚)IrE!\U7^km4cVv`aVO3E=i6WK0g}['R4Ƕ@'k`#5Yp^lq'cv}uTKQ&AJ_6뿻-Sri*FHrwEQQ2+%}Ը2ŜJhHۭռ`liwcWHK5 }OCdx+ﶶRbLȽcoVQg]eļKqGt[_*k1Dfcqu-/B85(eWqޯOYg0(NR8ǣ(]3E>sU#'=+7Dm آ=Im+kԸ#X`n=`9:Լmu. 4zҥHv6IzҦ.KJB"(=!L==*!ҕ*#Ґ#HCS☊q@ BPҧí*X4t4cLzSc@H1^ hp1H[0S#j8qT]TJT *zTԅJR!OK584ԹS4c@M sץ.JxS28RSu@ JuLNyR")SSΘ 5= 7}=*jvC#@JhRLzF=.,SfP>hRi vmVԓWts2F<3Ugt{/k2y' 9¹M&otZ4G@MOAצӴ&lXnb 6uF;:\;;IIsQ`c5y)qʳT |}lĎ[[|I\DVNE.ͳVI% ~4Ld~'WMm{-{{tyhL/8><3Uobc0>Ggmzm!zžVw7#yX W4^ Dz$p_2J7SԘNP7zȺl檋ک4gF&j23arΕΔBd.e[4\RrNf=y596+Gl5{]-^`}p6/yx!$ 7݅?O\SOq4zfQZ:>%20ryOLK>\kvMէiݝIkGv]zA!Q6\Qj|TF}ʴ%ōT*,VVS-҄ mds? t,=癮A& h=sZEo X@Km;=9휮#ct`5b;)c[Ԧ߳y Y~&hU\g9-*O3XW+I) ꌧթƭ5ŨKw~d0=4~'}S#!JcA|ÓFC$%H·`{H1ܪL*\vyG|C'ֳqh3.xB-nbt2 XWنo (,҆k3·$60Ы ˤ^))1#WKawb@>2ULoQSiuZ|*mkQZjsΧHwVS'㳸+֭}'z09`PWdEH)"3;}vzpA[\Lw|5]11&ء}0SG `3EWyG;k6w+:};ZmVfbYN)iML-o5)eGWCmDPθQ͖qc8n_gޥ+Ѱ*/Cmp#VfKs w)sU;kGwkK2NMw".8=p5O|1,3Řs+lYpM#Y̨0aH $NQqI> SfmJهt|-w3QtO>h_UU{=#T SSbn-o,sdEՍ͡2'//Ux㋴Gq[mo4uXV<>F0>&#Rpkn][@mDCvqYJ5NWpkws- ~ vzNj|.+2G*:江!~J3WǴD.s\[s_ ޜN2!\1I1?JiI+޽ sMl,1VO&`Mѽ%ԑp+/=ѯ?Sa+'] w IynO롓v߅tzWM,Rl]HiZ7ɶG^cZG%tg(7I&kgk -U X$ ~uħCf}}bL@^8T`Uzɩơ_7vƣ큕ZRD5}aTa`dyy:_a4-viec[8_U[ҋ :CԴ{>\1O$PjVxFz;u-9wl>x6߂4^VN_s.tm=DȬ}Ia}. &+۰RsMO]Dz Fee]Ց?eO xmsckf a΍7 Buֻ7;취%tsP̅O泦o;xpvGȺ*YJ_G.l}Zڴ- (G߆*yE5!hGU\[C!3 ~"՞#2bC5g> 2hksoOqfȦaIPj"6?ٚ" tglo-hXԱԸl]ӸMG5+^iYGOWG sT%$O{m:ַUMR]Js=gheg<*N )$U:QLeBRbWdys3bNIyR+DgWP=]is[o$jU4 ^\ Zv_J7fNKS~,!Xb }rLj/5<;9 A.2[Žģ''iU/JiƮܕXp,k,:|̬2SRX\;>*pE;nǖ7QRIvU)8{WE,}~ϹkgqU?#[PحYb]J9`ybŕNx|{4QQɂ Ӆ'vwz/i4gaƹ%bIt}[7 QiGLߣ˕,m/!qAS>pބ> V\q0X"um/'G bKv$M9a( 5ζ D/f[[GFu2/6[> Dh@SӕO \4z"_5X\ ifby|T+"_8~~thXTh]35+FRt١by,01XWZwh;n#\ZrvK,c kbÉ}zkHԊ YNn@d=%L\JVM3J?զǺus睆=xPTJVjN<L "%wǹ>u.8'ܒa+g)cQU.Pg6gpF;aE\pΌPM='%13pzq&"5-nrH|"kPLbv}dGe) 7xC\zEG5{ed6-޵qm}h.]Yi?M$*k]匟iw[>ȼY`l &`|W} ^ZNe%Ɠ,Bn$gpvW*`nZ; ngHolm"Y_Hք Դ[6pKi0GԮm$1!" 3xM&6/WGհ-cpV?#XW>sx|!igQIWʡ񝎻ExK9Ҏ?$P*=kz8,}5ˑ$]-5iX-\)?ջϣ"4!<2_"M';}wH5I'XESMKQ ^qٷ+4 B頺1g.FVھh*j[WSLhG*<HS[F: eQ*]@ hAHƀю)P*<0QT0U|-)*mRھ0QhZz`UN:ӚGh(O~R6O|*z`DNiPmhAR_O|!O@*<3(ANi7J$Q)$!2yu>_n~Rھ0T=>K(ANx C8m*c@ j z : *gFTx m*F hAKj ~TWR*1S=(̣T3uhS)¯^!H] N}C4m'3T7}0Q))*)SR<=*AW =?q:vO|*zC"Tx [F: sK |-STWR<=5 ў* ]#x [GL꫞:#h!]:-F28Q^o􂈼G&Q1^~4CryY{;aHNϾ9; Oh{3Ќ)3֋3΃?돾ZӠr*@DǾPNX.Ohށu8r)pl2(W_P/r]~\/kLe;#AUl ;3]?znc 8#;ULJ%PtR*>TY#⣶cX1yoqgV `-pUUWʯjЄQ4fkgIkz>џ[5$ qf'!]qi8.<( 0JpWR#U:V,ʵx³׻ {׃k~{vW:.C( ")l*sW\xowr~ɲhJXLTdW7oysVQq!J3SGvMbz95huW[5h"S$Hi yۓ2zפj_|kͤk 89#85;IϾ. N]` c3hpf;4DiMh̰ƒDW3XS@tKh.crhF+Aꕯ]zTD}t#1R(.0aU%#Kh Go g9ڀV"A <1G ugɺ68"m^tFHW@@t7#WW)_vUǂeZm-zF*(dQ3@;ou{jLPʴlTyFGq0HijJfOe_馼x{Bj>ՃaO{u3`C5wJ*A&s{}K佯CΕ#\F96>u[^9HJɅ1\|o_uyKҶ9=}*iY!o]yҸeWlI}!@4(>>џysѾ?&ל6NN| +Kk7ci+z$Sgw5Y-TTU?T'oۙ^eߨkHƮJd8X +w}3<:!7/! [y DP[{5|)C?QBlh݁]ͷ=3ʲS]gW. }Jv?:;wUy͛$si""+~N/՚ei" mU cܢg̀zT&*v~P;sohq tCIК ֦)>*NzR=t 9j93Ue Mdѣx=6d`V.ƺ.%cV'm@y_{ͷLjHٮׂJr sخPbOԢ&1!UiNYS:{UeUqT5yF[(+:@>qWeYy&r]2.@VkWUS&Yx=KY20ȥ}ַ1O4i,Q1IɨkV66Z)`lsi|t]K UKG>֭} cFKL8 <sgV.NqWil%*!5ڶmmw݌G3/5ߩj[2[G r{j$pTt|<318c1ؿtUw\MoX?containers[innermostIndex]; itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); this._trigger("change", event, this._uiHash()); this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); //Update the placeholder this.options.placeholder.update(this.currentContainer, this.placeholder); this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); this.containers[innermostIndex].containerCache.over = 1; } }, _createHelper: function(event) { var o = this.options; var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper == 'clone' ? this.currentItem.clone() : this.currentItem); if(!helper.parents('body').length) //Add the helper to the DOM if that didn't happen already $(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); if(helper[0] == this.currentItem[0]) this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }; if(helper[0].style.width == '' || o.forceHelperSize) helper.width(this.currentItem.width()); if(helper[0].style.height == '' || o.forceHelperSize) helper.height(this.currentItem.height()); return helper; }, _adjustOffsetFromHelper: function(obj) { if (typeof obj == 'string') { obj = obj.split(' '); } if ($.isArray(obj)) { obj = {left: +obj[0], top: +obj[1] || 0}; } if ('left' in obj) { this.offset.click.left = obj.left + this.margins.left; } if ('right' in obj) { this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; } if ('top' in obj) { this.offset.click.top = obj.top + this.margins.top; } if ('bottom' in obj) { this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; } }, _getParentOffset: function() { //Get the offsetParent and cache its position this.offsetParent = this.helper.offsetParent(); var po = this.offsetParent.offset(); // This is a special case where we need to modify a offset calculated on start, since the following happened: // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) { po.left += this.scrollParent.scrollLeft(); po.top += this.scrollParent.scrollTop(); } if((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.ui.ie)) //Ugly IE fix po = { top: 0, left: 0 }; return { top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) }; }, _getRelativeOffset: function() { if(this.cssPosition == "relative") { var p = this.currentItem.position(); return { top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft() }; } else { return { top: 0, left: 0 }; } }, _cacheMargins: function() { this.margins = { left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), top: (parseInt(this.currentItem.css("marginTop"),10) || 0) }; }, _cacheHelperProportions: function() { this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() }; }, _setContainment: function() { var o = this.options; if(o.containment == 'parent') o.containment = this.helper[0].parentNode; if(o.containment == 'document' || o.containment == 'window') this.containment = [ 0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left, ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top ]; if(!(/^(document|window|parent)$/).test(o.containment)) { var ce = $(o.containment)[0]; var co = $(o.containment).offset(); var over = ($(ce).css("overflow") != 'hidden'); this.containment = [ co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left, co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top ]; } }, _convertPositionTo: function(d, pos) { if(!pos) pos = this.position; var mod = d == "absolute" ? 1 : -1; var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); return { top: ( pos.top // The absolute mouse position + this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) - ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod) ), left: ( pos.left // The absolute mouse position + this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) - ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) ) }; }, _generatePosition: function(event) { var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); // This is another very weird special case that only happens for relative elements: // 1. If the css position is relative // 2. and the scroll parent is the document or similar to the offset parent // we have to refresh the relative offset during the scroll so there are no jumps if(this.cssPosition == 'relative' && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) { this.offset.relative = this._getRelativeOffset(); } var pageX = event.pageX; var pageY = event.pageY; /* * - Position constraining - * Constrain the position to a mix of grid, containment. */ if(this.originalPosition) { //If we are not dragging yet, we won't check for options if(this.containment) { if(event.pageX - this.offset.click.left < this.containment[0]) pageX = this.containment[0] + this.offset.click.left; if(event.pageY - this.offset.click.top < this.containment[1]) pageY = this.containment[1] + this.offset.click.top; if(event.pageX - this.offset.click.left > this.containment[2]) pageX = this.containment[2] + this.offset.click.left; if(event.pageY - this.offset.click.top > this.containment[3]) pageY = this.containment[3] + this.offset.click.top; } if(o.grid) { var top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; pageY = this.containment ? (!(top - this.offset.click.top < this.containment[1] || top - this.offset.click.top > this.containment[3]) ? top : (!(top - this.offset.click.top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; var left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; pageX = this.containment ? (!(left - this.offset.click.left < this.containment[0] || left - this.offset.click.left > this.containment[2]) ? left : (!(left - this.offset.click.left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; } } return { top: ( pageY // The absolute mouse position - this.offset.click.top // Click offset (relative to the element) - this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent - this.offset.parent.top // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) )) ), left: ( pageX // The absolute mouse position - this.offset.click.left // Click offset (relative to the element) - this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent - this.offset.parent.left // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) ) }; }, _rearrange: function(event, i, a, hardRefresh) { a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling)); //Various things done here to improve the performance: // 1. we create a setTimeout, that calls refreshPositions // 2. on the instance, we have a counter variable, that get's higher after every append // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same // 4. this lets only the last addition to the timeout stack through this.counter = this.counter ? ++this.counter : 1; var counter = this.counter; this._delay(function() { if(counter == this.counter) this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove }); }, _clear: function(event, noPropagation) { this.reverting = false; // We delay all events that have to be triggered to after the point where the placeholder has been removed and // everything else normalized again var delayedTriggers = []; // We first have to update the dom position of the actual currentItem // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088) if(!this._noFinalSort && this.currentItem.parent().length) this.placeholder.before(this.currentItem); this._noFinalSort = null; if(this.helper[0] == this.currentItem[0]) { for(var i in this._storedCSS) { if(this._storedCSS[i] == 'auto' || this._storedCSS[i] == 'static') this._storedCSS[i] = ''; } this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); } else { this.currentItem.show(); } if(this.fromOutside && !noPropagation) delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); }); if((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !noPropagation) delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed // Check if the items Container has Changed and trigger appropriate // events. if (this !== this.currentContainer) { if(!noPropagation) { delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); }); delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); } } //Post events to containers for (var i = this.containers.length - 1; i >= 0; i--){ if(!noPropagation) delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i])); if(this.containers[i].containerCache.over) { delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i])); this.containers[i].containerCache.over = 0; } } //Do what was originally in plugins if(this._storedCursor) $('body').css("cursor", this._storedCursor); //Reset cursor if(this._storedOpacity) this.helper.css("opacity", this._storedOpacity); //Reset opacity if(this._storedZIndex) this.helper.css("zIndex", this._storedZIndex == 'auto' ? '' : this._storedZIndex); //Reset z-index this.dragging = false; if(this.cancelHelperRemoval) { if(!noPropagation) { this._trigger("beforeStop", event, this._uiHash()); for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events this._trigger("stop", event, this._uiHash()); } this.fromOutside = false; return false; } if(!noPropagation) this._trigger("beforeStop", event, this._uiHash()); //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! this.placeholder[0].parentNode.removeChild(this.placeholder[0]); if(this.helper[0] != this.currentItem[0]) this.helper.remove(); this.helper = null; if(!noPropagation) { for (var i=0; i < delayedTriggers.length; i++) { delayedTriggers[i].call(this, event); }; //Trigger all delayed events this._trigger("stop", event, this._uiHash()); } this.fromOutside = false; return true; }, _trigger: function() { if ($.Widget.prototype._trigger.apply(this, arguments) === false) { this.cancel(); } }, _uiHash: function(_inst) { var inst = _inst || this; return { helper: inst.helper, placeholder: inst.placeholder || $([]), position: inst.position, originalPosition: inst.originalPosition, offset: inst.positionAbs, item: inst.currentItem, sender: _inst ? _inst.element : null }; } }); })(jQuery); (function( $, undefined ) { var uid = 0, hideProps = {}, showProps = {}; hideProps.height = hideProps.paddingTop = hideProps.paddingBottom = hideProps.borderTopWidth = hideProps.borderBottomWidth = "hide"; showProps.height = showProps.paddingTop = showProps.paddingBottom = showProps.borderTopWidth = showProps.borderBottomWidth = "show"; $.widget( "ui.accordion", { version: "1.9.2", options: { active: 0, animate: {}, collapsible: false, event: "click", header: "> li > :first-child,> :not(li):even", heightStyle: "auto", icons: { activeHeader: "ui-icon-triangle-1-s", header: "ui-icon-triangle-1-e" }, // callbacks activate: null, beforeActivate: null }, _create: function() { var accordionId = this.accordionId = "ui-accordion-" + (this.element.attr( "id" ) || ++uid), options = this.options; this.prevShow = this.prevHide = $(); this.element.addClass( "ui-accordion ui-widget ui-helper-reset" ); this.headers = this.element.find( options.header ) .addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" ); this._hoverable( this.headers ); this._focusable( this.headers ); this.headers.next() .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" ) .hide(); // don't allow collapsible: false and active: false / null if ( !options.collapsible && (options.active === false || options.active == null) ) { options.active = 0; } // handle negative values if ( options.active < 0 ) { options.active += this.headers.length; } this.active = this._findActive( options.active ) .addClass( "ui-accordion-header-active ui-state-active" ) .toggleClass( "ui-corner-all ui-corner-top" ); this.active.next() .addClass( "ui-accordion-content-active" ) .show(); this._createIcons(); this.refresh(); // ARIA this.element.attr( "role", "tablist" ); this.headers .attr( "role", "tab" ) .each(function( i ) { var header = $( this ), headerId = header.attr( "id" ), panel = header.next(), panelId = panel.attr( "id" ); if ( !headerId ) { headerId = accordionId + "-header-" + i; header.attr( "id", headerId ); } if ( !panelId ) { panelId = accordionId + "-panel-" + i; panel.attr( "id", panelId ); } header.attr( "aria-controls", panelId ); panel.attr( "aria-labelledby", headerId ); }) .next() .attr( "role", "tabpanel" ); this.headers .not( this.active ) .attr({ "aria-selected": "false", tabIndex: -1 }) .next() .attr({ "aria-expanded": "false", "aria-hidden": "true" }) .hide(); // make sure at least one header is in the tab order if ( !this.active.length ) { this.headers.eq( 0 ).attr( "tabIndex", 0 ); } else { this.active.attr({ "aria-selected": "true", tabIndex: 0 }) .next() .attr({ "aria-expanded": "true", "aria-hidden": "false" }); } this._on( this.headers, { keydown: "_keydown" }); this._on( this.headers.next(), { keydown: "_panelKeyDown" }); this._setupEvents( options.event ); }, _getCreateEventData: function() { return { header: this.active, content: !this.active.length ? $() : this.active.next() }; }, _createIcons: function() { var icons = this.options.icons; if ( icons ) { $( "" ) .addClass( "ui-accordion-header-icon ui-icon " + icons.header ) .prependTo( this.headers ); this.active.children( ".ui-accordion-header-icon" ) .removeClass( icons.header ) .addClass( icons.activeHeader ); this.headers.addClass( "ui-accordion-icons" ); } }, _destroyIcons: function() { this.headers .removeClass( "ui-accordion-icons" ) .children( ".ui-accordion-header-icon" ) .remove(); }, _destroy: function() { var contents; // clean up main element this.element .removeClass( "ui-accordion ui-widget ui-helper-reset" ) .removeAttr( "role" ); // clean up headers this.headers .removeClass( "ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" ) .removeAttr( "role" ) .removeAttr( "aria-selected" ) .removeAttr( "aria-controls" ) .removeAttr( "tabIndex" ) .each(function() { if ( /^ui-accordion/.test( this.id ) ) { this.removeAttribute( "id" ); } }); this._destroyIcons(); // clean up content panels contents = this.headers.next() .css( "display", "" ) .removeAttr( "role" ) .removeAttr( "aria-expanded" ) .removeAttr( "aria-hidden" ) .removeAttr( "aria-labelledby" ) .removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled" ) .each(function() { if ( /^ui-accordion/.test( this.id ) ) { this.removeAttribute( "id" ); } }); if ( this.options.heightStyle !== "content" ) { contents.css( "height", "" ); } }, _setOption: function( key, value ) { if ( key === "active" ) { // _activate() will handle invalid values and update this.options this._activate( value ); return; } if ( key === "event" ) { if ( this.options.event ) { this._off( this.headers, this.options.event ); } this._setupEvents( value ); } this._super( key, value ); // setting collapsible: false while collapsed; open first panel if ( key === "collapsible" && !value && this.options.active === false ) { this._activate( 0 ); } if ( key === "icons" ) { this._destroyIcons(); if ( value ) { this._createIcons(); } } // #5332 - opacity doesn't cascade to positioned elements in IE // so we need to add the disabled class to the headers and panels if ( key === "disabled" ) { this.headers.add( this.headers.next() ) .toggleClass( "ui-state-disabled", !!value ); } }, _keydown: function( event ) { if ( event.altKey || event.ctrlKey ) { return; } var keyCode = $.ui.keyCode, length = this.headers.length, currentIndex = this.headers.index( event.target ), toFocus = false; switch ( event.keyCode ) { case keyCode.RIGHT: case keyCode.DOWN: toFocus = this.headers[ ( currentIndex + 1 ) % length ]; break; case keyCode.LEFT: case keyCode.UP: toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; break; case keyCode.SPACE: case keyCode.ENTER: this._eventHandler( event ); break; case keyCode.HOME: toFocus = this.headers[ 0 ]; break; case keyCode.END: toFocus = this.headers[ length - 1 ]; break; } if ( toFocus ) { $( event.target ).attr( "tabIndex", -1 ); $( toFocus ).attr( "tabIndex", 0 ); toFocus.focus(); event.preventDefault(); } }, _panelKeyDown : function( event ) { if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { $( event.currentTarget ).prev().focus(); } }, refresh: function() { var maxHeight, overflow, heightStyle = this.options.heightStyle, parent = this.element.parent(); if ( heightStyle === "fill" ) { // IE 6 treats height like minHeight, so we need to turn off overflow // in order to get a reliable height // we use the minHeight support test because we assume that only // browsers that don't support minHeight will treat height as minHeight if ( !$.support.minHeight ) { overflow = parent.css( "overflow" ); parent.css( "overflow", "hidden"); } maxHeight = parent.height(); this.element.siblings( ":visible" ).each(function() { var elem = $( this ), position = elem.css( "position" ); if ( position === "absolute" || position === "fixed" ) { return; } maxHeight -= elem.outerHeight( true ); }); if ( overflow ) { parent.css( "overflow", overflow ); } this.headers.each(function() { maxHeight -= $( this ).outerHeight( true ); }); this.headers.next() .each(function() { $( this ).height( Math.max( 0, maxHeight - $( this ).innerHeight() + $( this ).height() ) ); }) .css( "overflow", "auto" ); } else if ( heightStyle === "auto" ) { maxHeight = 0; this.headers.next() .each(function() { maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); }) .height( maxHeight ); } }, _activate: function( index ) { var active = this._findActive( index )[ 0 ]; // trying to activate the already active panel if ( active === this.active[ 0 ] ) { return; } // trying to collapse, simulate a click on the currently active header active = active || this.active[ 0 ]; this._eventHandler({ target: active, currentTarget: active, preventDefault: $.noop }); }, _findActive: function( selector ) { return typeof selector === "number" ? this.headers.eq( selector ) : $(); }, _setupEvents: function( event ) { var events = {}; if ( !event ) { return; } $.each( event.split(" "), function( index, eventName ) { events[ eventName ] = "_eventHandler"; }); this._on( this.headers, events ); }, _eventHandler: function( event ) { var options = this.options, active = this.active, clicked = $( event.currentTarget ), clickedIsActive = clicked[ 0 ] === active[ 0 ], collapsing = clickedIsActive && options.collapsible, toShow = collapsing ? $() : clicked.next(), toHide = active.next(), eventData = { oldHeader: active, oldPanel: toHide, newHeader: collapsing ? $() : clicked, newPanel: toShow }; event.preventDefault(); if ( // click on active header, but not collapsible ( clickedIsActive && !options.collapsible ) || // allow canceling activation ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { return; } options.active = collapsing ? false : this.headers.index( clicked ); // when the call to ._toggle() comes after the class changes // it causes a very odd bug in IE 8 (see #6720) this.active = clickedIsActive ? $() : clicked; this._toggle( eventData ); // switch classes // corner classes on the previously active header stay after the animation active.removeClass( "ui-accordion-header-active ui-state-active" ); if ( options.icons ) { active.children( ".ui-accordion-header-icon" ) .removeClass( options.icons.activeHeader ) .addClass( options.icons.header ); } if ( !clickedIsActive ) { clicked .removeClass( "ui-corner-all" ) .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" ); if ( options.icons ) { clicked.children( ".ui-accordion-header-icon" ) .removeClass( options.icons.header ) .addClass( options.icons.activeHeader ); } clicked .next() .addClass( "ui-accordion-content-active" ); } }, _toggle: function( data ) { var toShow = data.newPanel, toHide = this.prevShow.length ? this.prevShow : data.oldPanel; // handle activating a panel during the animation for another activation this.prevShow.add( this.prevHide ).stop( true, true ); this.prevShow = toShow; this.prevHide = toHide; if ( this.options.animate ) { this._animate( toShow, toHide, data ); } else { toHide.hide(); toShow.show(); this._toggleComplete( data ); } toHide.attr({ "aria-expanded": "false", "aria-hidden": "true" }); toHide.prev().attr( "aria-selected", "false" ); // if we're switching panels, remove the old header from the tab order // if we're opening from collapsed state, remove the previous header from the tab order // if we're collapsing, then keep the collapsing header in the tab order if ( toShow.length && toHide.length ) { toHide.prev().attr( "tabIndex", -1 ); } else if ( toShow.length ) { this.headers.filter(function() { return $( this ).attr( "tabIndex" ) === 0; }) .attr( "tabIndex", -1 ); } toShow .attr({ "aria-expanded": "true", "aria-hidden": "false" }) .prev() .attr({ "aria-selected": "true", tabIndex: 0 }); }, _animate: function( toShow, toHide, data ) { var total, easing, duration, that = this, adjust = 0, down = toShow.length && ( !toHide.length || ( toShow.index() < toHide.index() ) ), animate = this.options.animate || {}, options = down && animate.down || animate, complete = function() { that._toggleComplete( data ); }; if ( typeof options === "number" ) { duration = options; } if ( typeof options === "string" ) { easing = options; } // fall back from options to animation in case of partial down settings easing = easing || options.easing || animate.easing; duration = duration || options.duration || animate.duration; if ( !toHide.length ) { return toShow.animate( showProps, duration, easing, complete ); } if ( !toShow.length ) { return toHide.animate( hideProps, duration, easing, complete ); } total = toShow.show().outerHeight(); toHide.animate( hideProps, { duration: duration, easing: easing, step: function( now, fx ) { fx.now = Math.round( now ); } }); toShow .hide() .animate( showProps, { duration: duration, easing: easing, complete: complete, step: function( now, fx ) { fx.now = Math.round( now ); if ( fx.prop !== "height" ) { adjust += fx.now; } else if ( that.options.heightStyle !== "content" ) { fx.now = Math.round( total - toHide.outerHeight() - adjust ); adjust = 0; } } }); }, _toggleComplete: function( data ) { var toHide = data.oldPanel; toHide .removeClass( "ui-accordion-content-active" ) .prev() .removeClass( "ui-corner-top" ) .addClass( "ui-corner-all" ); // Work around for rendering bug in IE (#5421) if ( toHide.length ) { toHide.parent()[0].className = toHide.parent()[0].className; } this._trigger( "activate", null, data ); } }); // DEPRECATED if ( $.uiBackCompat !== false ) { // navigation options (function( $, prototype ) { $.extend( prototype.options, { navigation: false, navigationFilter: function() { return this.href.toLowerCase() === location.href.toLowerCase(); } }); var _create = prototype._create; prototype._create = function() { if ( this.options.navigation ) { var that = this, headers = this.element.find( this.options.header ), content = headers.next(), current = headers.add( content ) .find( "a" ) .filter( this.options.navigationFilter ) [ 0 ]; if ( current ) { headers.add( content ).each( function( index ) { if ( $.contains( this, current ) ) { that.options.active = Math.floor( index / 2 ); return false; } }); } } _create.call( this ); }; }( jQuery, jQuery.ui.accordion.prototype ) ); // height options (function( $, prototype ) { $.extend( prototype.options, { heightStyle: null, // remove default so we fall back to old values autoHeight: true, // use heightStyle: "auto" clearStyle: false, // use heightStyle: "content" fillSpace: false // use heightStyle: "fill" }); var _create = prototype._create, _setOption = prototype._setOption; $.extend( prototype, { _create: function() { this.options.heightStyle = this.options.heightStyle || this._mergeHeightStyle(); _create.call( this ); }, _setOption: function( key ) { if ( key === "autoHeight" || key === "clearStyle" || key === "fillSpace" ) { this.options.heightStyle = this._mergeHeightStyle(); } _setOption.apply( this, arguments ); }, _mergeHeightStyle: function() { var options = this.options; if ( options.fillSpace ) { return "fill"; } if ( options.clearStyle ) { return "content"; } if ( options.autoHeight ) { return "auto"; } } }); }( jQuery, jQuery.ui.accordion.prototype ) ); // icon options (function( $, prototype ) { $.extend( prototype.options.icons, { activeHeader: null, // remove default so we fall back to old values headerSelected: "ui-icon-triangle-1-s" }); var _createIcons = prototype._createIcons; prototype._createIcons = function() { if ( this.options.icons ) { this.options.icons.activeHeader = this.options.icons.activeHeader || this.options.icons.headerSelected; } _createIcons.call( this ); }; }( jQuery, jQuery.ui.accordion.prototype ) ); // expanded active option, activate method (function( $, prototype ) { prototype.activate = prototype._activate; var _findActive = prototype._findActive; prototype._findActive = function( index ) { if ( index === -1 ) { index = false; } if ( index && typeof index !== "number" ) { index = this.headers.index( this.headers.filter( index ) ); if ( index === -1 ) { index = false; } } return _findActive.call( this, index ); }; }( jQuery, jQuery.ui.accordion.prototype ) ); // resize method jQuery.ui.accordion.prototype.resize = jQuery.ui.accordion.prototype.refresh; // change events (function( $, prototype ) { $.extend( prototype.options, { change: null, changestart: null }); var _trigger = prototype._trigger; prototype._trigger = function( type, event, data ) { var ret = _trigger.apply( this, arguments ); if ( !ret ) { return false; } if ( type === "beforeActivate" ) { ret = _trigger.call( this, "changestart", event, { oldHeader: data.oldHeader, oldContent: data.oldPanel, newHeader: data.newHeader, newContent: data.newPanel }); } else if ( type === "activate" ) { ret = _trigger.call( this, "change", event, { oldHeader: data.oldHeader, oldContent: data.oldPanel, newHeader: data.newHeader, newContent: data.newPanel }); } return ret; }; }( jQuery, jQuery.ui.accordion.prototype ) ); // animated option // NOTE: this only provides support for "slide", "bounceslide", and easings // not the full $.ui.accordion.animations API (function( $, prototype ) { $.extend( prototype.options, { animate: null, animated: "slide" }); var _create = prototype._create; prototype._create = function() { var options = this.options; if ( options.animate === null ) { if ( !options.animated ) { options.animate = false; } else if ( options.animated === "slide" ) { options.animate = 300; } else if ( options.animated === "bounceslide" ) { options.animate = { duration: 200, down: { easing: "easeOutBounce", duration: 1000 } }; } else { options.animate = options.animated; } } _create.call( this ); }; }( jQuery, jQuery.ui.accordion.prototype ) ); } })( jQuery ); (function( $, undefined ) { // used to prevent race conditions with remote data sources var requestIndex = 0; $.widget( "ui.autocomplete", { version: "1.9.2", defaultElement: "", options: { appendTo: "body", autoFocus: false, delay: 300, minLength: 1, position: { my: "left top", at: "left bottom", collision: "none" }, source: null, // callbacks change: null, close: null, focus: null, open: null, response: null, search: null, select: null }, pending: 0, _create: function() { // Some browsers only repeat keydown events, not keypress events, // so we use the suppressKeyPress flag to determine if we've already // handled the keydown event. #7269 // Unfortunately the code for & in keypress is the same as the up arrow, // so we use the suppressKeyPressRepeat flag to avoid handling keypress // events when we know the keydown event was used to modify the // search term. #7799 var suppressKeyPress, suppressKeyPressRepeat, suppressInput; this.isMultiLine = this._isMultiLine(); this.valueMethod = this.element[ this.element.is( "input,textarea" ) ? "val" : "text" ]; this.isNewMenu = true; this.element .addClass( "ui-autocomplete-input" ) .attr( "autocomplete", "off" ); this._on( this.element, { keydown: function( event ) { if ( this.element.prop( "readOnly" ) ) { suppressKeyPress = true; suppressInput = true; suppressKeyPressRepeat = true; return; } suppressKeyPress = false; suppressInput = false; suppressKeyPressRepeat = false; var keyCode = $.ui.keyCode; switch( event.keyCode ) { case keyCode.PAGE_UP: suppressKeyPress = true; this._move( "previousPage", event ); break; case keyCode.PAGE_DOWN: suppressKeyPress = true; this._move( "nextPage", event ); break; case keyCode.UP: suppressKeyPress = true; this._keyEvent( "previous", event ); break; case keyCode.DOWN: suppressKeyPress = true; this._keyEvent( "next", event ); break; case keyCode.ENTER: case keyCode.NUMPAD_ENTER: // when menu is open and has focus if ( this.menu.active ) { // #6055 - Opera still allows the keypress to occur // which causes forms to submit suppressKeyPress = true; event.preventDefault(); this.menu.select( event ); } break; case keyCode.TAB: if ( this.menu.active ) { this.menu.select( event ); } break; case keyCode.ESCAPE: if ( this.menu.element.is( ":visible" ) ) { this._value( this.term ); this.close( event ); // Different browsers have different default behavior for escape // Single press can mean undo or clear // Double press in IE means clear the whole form event.preventDefault(); } break; default: suppressKeyPressRepeat = true; // search timeout should be triggered before the input value is changed this._searchTimeout( event ); break; } }, keypress: function( event ) { if ( suppressKeyPress ) { suppressKeyPress = false; event.preventDefault(); return; } if ( suppressKeyPressRepeat ) { return; } // replicate some key handlers to allow them to repeat in Firefox and Opera var keyCode = $.ui.keyCode; switch( event.keyCode ) { case keyCode.PAGE_UP: this._move( "previousPage", event ); break; case keyCode.PAGE_DOWN: this._move( "nextPage", event ); break; case keyCode.UP: this._keyEvent( "previous", event ); break; case keyCode.DOWN: this._keyEvent( "next", event ); break; } }, input: function( event ) { if ( suppressInput ) { suppressInput = false; event.preventDefault(); return; } this._searchTimeout( event ); }, focus: function() { this.selectedItem = null; this.previous = this._value(); }, blur: function( event ) { if ( this.cancelBlur ) { delete this.cancelBlur; return; } clearTimeout( this.searching ); this.close( event ); this._change( event ); } }); this._initSource(); this.menu = $( "