# Copyright (C) 2014 Ipsilon project Contributors, for licensee see COPYING from __future__ import absolute_import from ipsilon.providers.openid.extensions.common import OpenidExtensionBase from openid_teams import teams class Teams(OpenidExtensionBase): def __init__(self, name): super(Teams, self).__init__(name) self.type_uris = [ teams.teams_uri, ] def _resp(self, request, userdata): req = teams.TeamsRequest.fromOpenIDRequest(request) if req is None: return {} data = userdata.get('_groups', []) return teams.TeamsResponse.extractResponse(req, data) def _display(self, request, userdata): resp = self._resp(request, userdata) if resp.teams: return {'Groups': resp.teams} return {} def _response(self, request, userdata): return self._resp(request, userdata) class OpenidExtension(Teams): def __init__(self, *pargs): super(OpenidExtension, self).__init__('Teams') 1@?D=Ahe119*hYnR ~oQ(a!K\鬟 hG 2}} !88_[1'YQo槚%8BGv6zӉl:ۏkOCFb`Z餢5eɠfri gߐWg rc{6̢V褭e~[w@>zvi|lH9^Y$t{Gvi݆Uf DS͍T}?ʎbllo> n1SKN7(kC2$4yd K>'WʜY`{&^f@nKL qhVr\oh׺BFK7$TU=Tt arf1dd:q ^''eAȶ2d7_1@p2Ϊ;8}*`DtJ*,#s2]7RDw@fv>erdU&>7Aߌ8@a!^jOd?zfF[cJ7"Q9ʁ #nrQJgM+ ڙ?BJ܍1:vQ\9F[[Exn\Ϭvaq*`waE$ߒ+YJ?Kyy]¢ZN"ݎxՒ Ep@VMǢ#7޷QT ]m l#$>폏_r>pgD;-Wb>(KJfpuOK,#L|U)πdSgT/ rơ~xyb-[7ԛSDL\-aT]z(+) |1>{lﰅ + ?uNڅ\_' E2Xai;®t&py*}cN>A? 6ޯAk4QS\!WEEW*fa>kLO'?,N?XYc7=i s /:K8F :v$IGh(7ӊ:^NxvϠFu!4md8 4M0"yɵ/ "?P݈G׋"G+?M9&UFy[`lsW$+ p]xd_׋5Y'fݣ+sKO=ם*'PI^ء[8볱78 v860\6N߿ǵ 7 ;.+g,FۜX>\gm? ]f_aGEU W+zÀuzzWgOK\VrQw+xK; NbdUǣT0u|U@=GY?SS0&!ʋ8_ZK=c7i#&%.GT)Lp6Z2}H-)J%yB^kEB!K툿~A{m2 4:爏T&,ƬId^,>î=7mH0fK?Üob!Kt&=5tQws܌U a_)hDI$+`Tv" ,΍Tntَ;U a@߫[?QQ㳊Mve2!abvJgG7S$C@1Jߣ22whZR\nN ߆I~F%ͩr§*U8kH\y8rFWC~$V^饇(7ohmQUfi*:(vXL#6nsC_lpUt*;A0NhR?IN3:mw IRw~dNt2(V9T%/3xϺ ef<0lkY9_=KˮYm( 79ᠮ.Z LXccܚגU!YlZ۩@V0.Kb0lg8(X1!(t !Т*7|2eD:N-]$kf1.mUNAe2̺}+jmԜuV{S#IaEjEUX6J(hPaVto qlV Ny@uT3/[~$w&EL 3D? N1Lj0j΂xj SS騐A;NOjqWrK_ΰSy&v ML RZ 1ULtHһj/r!yf'7V 5~*9A#%Ӎ|M/|iܼb1թߍA`761gF~A7M۪JU{uG " ƎF !g P Ct ӲkGe e|=3$XaAR'XAn]-kA5.u;m}&~ Dٳ$’=Z:j`:2ʧ[~ab-K"?-hRoҫb%W8 _ش`]lq)7DGG]d{SlS NfE"Z{Xh/*(OwYWyLŅ/VZ]}EcKU dnQg!OiOk8#yLqP ? UnUĽX%+DR^ WXPtRb^"B'Xq~*xP* H=cI]v8&eюA-3FEf{b`63Ϝi$+v*VD*Bb-K:FP_V p;Ba~!WTgR1)6LJ4X[VwOqN=Tu9lmC#[ YeWe.-}iow9-v* 5VA_B0:0-[ǸXK]eNZhW]T}|("I|QCC> ~33>?jA` 4+[LDpMcYį>NB:Œ {{/Yo@LJʦ|9劌ͩlaJrHG ;[J]Lo?V+Q]ApK uncʊeZKHy{  Cd%x eU-xV==ޟ ?i$]' ZٷGz[u.bEZCnR#Y2 p~p-;^cztmB,ro5WD& x^tMF'‹^v:c՚熿Δ[܅l( 5#!t  -{:R`j-ɢ٠Dc[zssԨP8PhMrIkA_X+;u#~j003(ud9m;ߢlוA1* 1^!|+&MHt:[.uXԐY0)3 . "F N>k T-$y>{]moI"w iH07zL9w-Sx3w'/<"D #UА`yfcRf,bzD?wznw. ʍ%!U"7ࣃ7|t6l/0V]p׋6D'DIe\*)8zTd&ݲVH1: $v{c:Pr wD&ӱy xhF_> M>5HכTm68ڽ{ _]urɅdc{.gO\`ܲ&&%r鐾jr6NEOW~^˴#Դ,-^OFv/d%~LZ0%Q FBE-u2\U)xBjPx!%J J#B#On|6fO>]nd|Ajwh&sP꾐Q e~XF_47`j'g(ٿgp&Hy+釛P7iMK'5,V@F?5MdˉP5gB/&[TZqT4w(\3G"R=uހ 2Np ?J~+|[M!#]ArfX ui,l_9ˌ"SU'H#NAr6' P3#TciEGoܞV2S Lr ДUJ\)5E&ѭ>dXV {uV&/B`-NH_M4KKOw$VD:vIYZ21"J9csvA. ia0kTrcTIfiLDmoBXp\~2P%p 3#N)vtЛ\N\9m+)S>0bƘ~Ux j_YyTa;41/BF`Csç39p̕9679L!4>3cdឹLMY sOEhƈKn y&OkR&i Ébln e%`9UŴ49Y*9'˅f:$ٰл(D ,Ư[HR(:CiXvzDz9W,>encUG)HKԸrr&V?RM٘DQ+o|2k=U:DFQJ;2~sH*mH`R2yɌb%揽(~Y_>zkYU9BU+\w YjǾf 31ZVLx)j~$:A8<HYT:+v7ZCNc]:.9F9]u1ͥ?BH?-(l"A@bM3ʴ.fRM>>:YPճN_>O#m%ګK-tg^?i(81z!#'^t >?-tYYH90pvMp S6Q]qm6yv>ͪ1d_5Zsn6z"q oPœu< )4Hp&*ٶS(Q<^m v3l#YS[˙ 3$V-IvOWw^E\(b#kBYg%6'Vu?-]j95#ۯA *Hߩ-H7TuVa#Jr`X&9h*$? ˰i!oRIT}%I} HP =7dJHqsgmC"'%_?==bpI dD|-$:Pr2.$I1: v<Ķz*U=Σ"dzg^i Eނ1C8QR[Y4,\Fll`_؍l䝘u7ƿ*B3?wPoG<ɣ+Қ{{a;تU?mP)e=͗x-wz? ɒlU=9L{яsHo5.u<;Z(:o:kʙʩ3On4b̈́Xu= @Ŋ_wy">!HoP6p!! Lf{&opvaa$1p$vS%u}D9پ+E}&cfn~;S%kh(9PD8{"ex"Z1˷+Uz||0gziy)}x+28 $ QT ?%kUzA3 ɱGTs{KüM'aJ1xzⰇӅ?1_iAzeQ@5,d9?NpC7; !"Re:ؤ\gsca^[z΢+ﳰCx'޲u<0d446cq]{"<ٞ;O h__ E_[^XYEfDQwHBgU_X]B=٠ DX"\Ohr[{FBuQ@8Ől)p!fM|\Ò$ E͢xkmhV3Z:Mbf~*ؒHV,(wa](Բm<ͺj\t;k`>U^ N`l' |6p_1+pӅ&E[Ns0!XLxFV⌙ppnيNP~j-9v`oHpZ9s$p~Rlʘ.ܒ_O֠}Jl卫FBXdc~&[<&ӳ`:2Ha/*w_Gi^]Q()˿ŝѼtnO{9v%͏| ^zqi7*e'6"!5@G]By桠O'߈ ܠc~vo _b8 yPv0y#bs)›Da.Tst\KM@_%N/CHIpJoKa&T`ԭmYeim~Z,hY+T%TU:/e(8h!p/\O)SȚ'X" C~>F$[Q^W+e9-I/Gq+t.G̽\ pp6rkK^)i`;>&\(Pb 2G?s!\A/;o ȲecO:4U>OЂlM* )p^AVj+YpngLTd΄G'>4m~Un+@W5dAd+v*Ȓ &@4e: rlX±nPNm$SflV5l*pbWG>أH pǼ@<~h?ܞuGye)C/79-U2V}uDh.WS,ܶ;[K6TZ'B`鲏9~#H/|1n&0 lѪ';\1:X@|bo5z1Y_ɧᓧ^x>!$Kۛ^^t5!ldn>N#G.R~Ys~Ęࡷr$Ԭv0S'ʏdVk$*wFv9Bg.%ntbH5 0n'+X[*=i~pe@+V#s50hqKHU J&nY7uʭgBDn-?)E!~cNcqF٭eՉ窲]d;j#&LVtOxfuCR?PToi2p7{gw/?ko`ӎmuud #R2W.y@H%et&.-L`4w>{N̂&xcǫ1fwL*:E43.xKWu΁,uJk /Fz({$_ ;_t.pL7}1ODo ,PZ(2z^W8qzځ _:K}loa }Dr>ЅKaz΍GOTnzqc@ĂS3N_ ET# l`gl!s60 .Vhh"Tƨ/wۯ?hy&=̓ Rt,:әټ*Sj(ўg% )Gr+ p˾Ņ IWgLpcs쬯r^CE/`j'\-p rpčTz.Bٯ nżW[2U2=-!iC(SC # 73v;A.):6דH@޶~l$C6== KC\2I9$ͅ 0IO鲉H^BSA} Q2ΦRm=GJ߈B$"-'-qU "b'x:.rV/nkQaq0h16Ϸ:]CiO>%=VAN|JneiۧW;"2l.ID9ۅi>/+Db>sG'Gp:knS5 4lf{iI/2kɶ:Sk$ĕgݖ)w'Wo~v3;6C ƻ"$Usuz =I8(QsH{]oH`Y[o&&5rl#OҌ3c }]?4)]cZdpF^ wN3x%i[4n[[سo5;q*/Vڭ쌡N#6VŠ5BWY;{U=3d:Ƈ'M}p6]7!9B){S_]+"y}|# Jɨ,Nv$TFL0to!q1'Z>7`ݧ|[{uWㆪþ\(GFh<ߛ˕j/Tb)rtg jW, 2a//VZ,lv9-Bдtы?Ƅ7f<`2i+'Ņgv1 e@KPRLےV^/N$xCZd^ox +6Mn<Qyt3^˭o#:vjW*٭t~Y `WW)Taj[k?:XZ;@-sc$ ` v0Gs9:P j04x"1=sTtaHdU{,Ń5%3IjPzHT$1Ħ LŰt96CJQ^lʰr Puu7ށ R%xsf]uf*m 8iUF|nUT%quXAY I⟳@+˙H'ѵfπuHvkX6̂ !Ξ,s Y~x zsh24cag( ,/ Ԕ}V5A ǝi %F]یDоxO*%o笪} qF=i1]@Av@p-ۜ7ge;% =ĬЏ0a!Eh_J<-V`]{Mvp? ajA FHX/`Wa?m` jT~o=g ٗ!vkJZ?fjy">~[KMJaT=w-Π4br[!J[^9׻> -D;: ܄&D{CxDu_=Y4B(gB"ӯyɇ9vh.ۓ}nPXPa ڜw&ӻ-* >M}a-NjS٠W7";4^/ @T)D6AlL?> `432Hrȯ/qϻ\ c-8[>~|5!~d.9oΨ~\J/AU'rmo*jOU][ +ߺrXaM>rn&~Լ[4 R/[r~kfTWI5@$At2лJH~me鐟(w4~?]i_$b34A7r6 =[" B^@LŒQg$wj8?U?(P}-;7/} cv(fNڌ;aK5XU\&v$RUXI6faxD"5j(Rv)6 dM?baYlADP5ZJ)eof?d-|݂ЇG c/Gt(Z!d9(yoq9E;O춼+U=Wl!Ulf)8Mq؆c2Ѡ0%@ ۬ XkamrS#MӢ`@nAԦ@IoL.Sa6hsWTT"ʅ~? ӁBƪ*W\cf;0:؃xirM ;{hd:BVL5We'rhًum'k w"Oo0"2ɦJV5<4Pig_?r=%BAJCUhW\32vdk.3bviWVk|&8J.p=Yط$D޷fA۰.~sgCsB a|"jѬraZ6dS 1v6 :~b;&+m AU!@I-㍻#>U @xV|] \Gk3kV83XVLSa}6]"4j yMoΝ%|*kN¤?"116:z__W4,P-f hDGZW&h52/a#M˂V߻sr$>J(A\_~.Oܓ:6oa7U@yԦ%y_;|-nF#UE } 75>4ni5X#Q ꈪڢ"]tK~qc Jh2Y¾]ù}]){꽠54j TtM߬ & <}@N7&˥}*h Šة%QI ݕ#+_3VrJeB,d9x y7Wʽs.99.ul=2,!%cTHG[iCĿJeRFTB =#Yf3/ ߆Kƾѕ5m8ɪLǢ8g2D !,]u:1Z-'sY4:`OvjtG?\uPg'T_;X姈Vc퓑9ʎɺO^z:.Y-_}ܡulUK'I$fϩaR,7(\ZR C^uLl6&q0&"9/|9;H?_nIC[R`'hRmf]%Jirf2YZl[?:+fl wjBXM LSCh_}DzqP@$z6''#JIeܼGZ`PNF'岃_ #OhW>J-)gFxhڑ%x%] ϜLLަg_ioo`əJ*k'qp2g*]jB1 G3Z* bliD )(!ƶ߀~,%蹨k2;=bSԹ$0-y 4x*ITr=~6XRX ޚ?A5M/rAs&)VP /~B?%vbøCb^pksQf9_0˫$v$Qc$tnJ ͈+kP^熡b\1Jb9n 7$\`v܉)'M7Ru/)SqMEf%&ḇH0:;e|NVf$j1m{I-fX#bxP? &t;AT`Htz? #\tc{2l Gsp| fa?ib A4Uvq"&/RB3޴^F2]8(SXu+agJITWc'+n3tkZ!m31 eyeՎ@\;C #g -dZݿTjX',hhoϙ=TEnU 6eEi/05O\AbStڲ,tYk%cТ/T}˙K]ID.cnt(ѻa  =(#ޞĶuv۸G]yC[Gp=O{}}Z#Q l~uf.'2{ANa3i?ȋ ˡ4GNM""{0(#գ@"x):,CTx`6zE `iT hMV_=1Ϫ]b+X)YnzQdRhϔuBY7tI5PQ=ò%e 5aܲL.$k 4xkp.߭T-b6_t |T(Pꍧ^ : !q́C hhCc("VxuGݿ, $ Xvx%a $ʯ׊M)6팧1H\hF~8]lI}v|6PFE8UMYG?A=Gpج3UFz~ - 2 zw(eSId}LR͚&7GcLt; ~a=q.CMB]Bt9m"K۶9Ưt p3点PF_=zBD["֜sih9 O?eLӿ*LCf_Z;5q(#t\J`N4K|;ٺ5N>5QA9+8?6W埦 [\Klm'ee-bJ;4-!lZ "ϳ|" B7,~Qz *h!9jP$J$-;^(焴q4+}8$n4򑌗05L8Jʨ F #DzҔFQ zvIG4&UlL*SZSHoVIl=\I`(ֻh^F{*8q5akq$x籐/F%Ω~ʓ YoN&Shѷ_q>5e>7Ł7 {kyK30cnW"+}ˢ:*3ǙSqn\|Xp"!2Rģ$L^Drb~itȕ X1 K]GV6!#+RRwBK\i&}h{n^E`Qb)@>>AUbeMB]yX`umֿFD9$µݡP)g 2 ^Z)K}a&Q4~:1C䆒;Iy1~v+[RK[1 )wpMVB=c w|%=8 ~? ⁇8 <2̊2Eh: c W;n7qQ "y&OM*;_h\gGO|LW&p0ؙ67cy XHt"mKa:(&?ыfi)jYڣ:CS {YU s>:uΆ;c\T4?zI|: xש41)}zt؁l"o^N~_>76ƥ)|TpVRfnu-zEgO򓄾W"@;a߷5X~;ŵeM~T}!iي+(Âؖ5w<;Nչ=6P)kדʍ:F|ˆhz$mFNWIyPWɌ6Xh)]P0O%M伋 D00vo7*=:= m]KD :4r숶>āCL M,4Ҭ6+P]C$hR3p"[Y#P)EbQq3Tf@Fǫco`X"M%C/Š lX(<4Ǭ~<_Fl ~e 1<.Fvap,l6IL4=)b-4 F5Zu`ZYwVDzCwEδM19h3@׼LH,oJ z3E@rHJE-#9E9;a ؊ Hp=n#Qo".?(.*8 G 0L|{n[IFGA"Swu;G8`Pۯ,_Gu;t>3 Ev+[_MSҨKh8ߐ~\U;iϚog@8 aߘTA=DTe5n='t|3)} n fc I6J*:W-+ >L8S^WJhC>]-U !1pifEwBU +۝ 9 22݋Es=倴Ėe!? $ԳI\=fXD9NUe8,i5' H%rJv3T~SWAh`Y&l)X0!.I6"!n_6( ChZq'.]VKźϯm h;!Ts!k&k4co@V'zcS6D+&KR-)IcgÃ󸯖rҩ2h9$"`kh}\iȧ_bmn/"y.9$H.f5(W2Rvƒ}3?C/NK0`iCE\cm:*7qn}3=?(^u[!4ՇͣUh(F( kKnMe!f6/JPJ:T|1 CʵjYeW"t$L1z·iQA}CYk/U&(rN8Q7xd.Hq ϒiEj_=ϒ[@.dfhq<.^i"YNX#ӛr/Q^_z1P}96K !c0dM&3krXmeo5Yi[,^W\h썟ϰ6Ip;ZTxZ/3xel2qZnQpFQ2hQ3aYVc*_T}$v)b&RIrNAV9eO:z:c!miXq@ )4y3ͧ|Aru.PPO^[|)ݙYL5>RFkF]bӻCLStFp+HMMƇBEg䊢Mop[W(R}cHaj+I_p5q,՟Vݱ7#",8s ˗@rǏB01+{cՊY0tЋdLFT>9TW?Ba|erMLH JʮzCQmgshθr{_ j%h$gJWY:t;]ى.n^bި>ZR=hO[[31s;ѫ/طacqm-\`ʈSzJ_ɽ^AH|(\ DBv1Y HM@:#5Bh>;pߤ=_@-|nK%866GXrh_)o8va7@V'lPܼ4 ~f5O=7xSzn P^y :%l%4γ)S!̿)ogADabDܞÄ ư>ƦxzjL a{AG:hY` E}a8נ.%rH#/0]QF%`S(7YK;JhVx$dPwގ9o58fm w[]"Zq~\#ԻF8Iqtʊ C3G}H# 0fW.\ 4?sڳ[훑9OpFW|վᑀMP]+@/C;S0WQr;E.yژ@1~a] .qILh]K@s ;<w;]wj҂،SXD{TB;WД@8Ŏf d62i/`ɕ b&cɝ =!S?J^N /*/A\4z[{(ЅR'}ܗV3; q3OzR!zUá;?_媔,d`@&n=(p"NB#JHT4MWݤ (y+gLtuePIսtфI=&c%6K@ސ4UB`E5[(1u$8̡OlFHG?S,Bf5r[WDM=!KI⯣JXD r7M%ӈscrpxΒ}s 2HW4n >(Y}[N8"}LpjqV>0ƺk7x jW(Snl$]\ h@pѷQ]GC"D\r[Y蕌4Xa(vyW/-D!Z9!|f`^ƃ ߵ-+^)}***ŚqIμ$ϻ_q_QIK;[8TyCsnW-oP|HGNmW ra_y~Q*tPU*&ˠIƯTDruLo[)-_-0sꌱɞ:h&u%3(Bf/& evYdLt v>iՕT mx# *Q6H#ζ>[y5K?_Ŀ,.ГұoIfu_^rv! b. (z|!VD,#10Qﰗ|/QqF FMYh2 gt9\u udp IHa,𭔄K y7XnPU4+ buê}@rZ+cB4GG}ˑ7%Nv$g`&(Y맙`Kiu2?_ = zXnG9(Ua;DYГ[K MJ(GfC|~VgjDh2iF}ElTz/qY5_A\`HF%h̄*-FdIn2,C IGM eP>0LnkUaw 79,HqvZ*N^{80MI]*J4be&ViPAWҿaYfO:*C{ c?༫\+WJ)„RDFF"Yt2 jz0QHV^ѩFR͘dB4H>Ƽh27=S=mv&Q#5T)üKi`bkp'opl6;#Ck f~8=0u}!Ӟs RW-(W(cD 3rQ$8aڀE`O_;P59@n}6ؑ:Uz%3o; !%`vۏt68\9c!jWeHZx)T1n٩n/D\O_);TR0S;.UmW3^iᓇ"Lo .7Y匏12V:Ս#hg1PG4{mD@|P{?8ZjkRNbܿODo^iEc^FˣGM%PvFaƜBsKnH?W;͐-=-% G(?BC2 m合0m? 2?+}Қ69E#@ /&Vh[OtJsŢ qbv}-OU.A)m`rpI ( z-s:^ C"5Gd|:[." "&R |eU? ,{%_'1h#aj*6,j;yy򵼗Bw0Jo[<J[Jl%t)ZO͘MvL@2&(yK "ZM?f6A)Jtp#=%7?ڵwR/giXV&HkUv O‪>wPhHǧ+W:dzBV|lEoh%Hό9Xuju29 95 @lǦGg,2Z/NF//5ٜ0^72Z@03SGL ƬJ=NU&_ i0eku۶9\ ۴JegvϟK<< ?\F_hykO=]]Tl uCWv8#@Y3;,kLBe5ޮM㇙Ұ":@oJUu3?d`Q_=a yn_^G FH-C`cr[ۜ`Qs;.!2M^#q~OE2n[XB[i݅R6KqAmc:.|iTՒCfx``@wZ{ZkJ۫6ò)AkJ6T9Z1khq@2^o3O]kGӈwxS; 8ZH#x>;{ ʔśL-zzmZ邞ǽއ| A}Mjp^) V[y's1~[ : L3t"†YzW J+]IC'[Vθy6x-w{!3e[ ?r 0GC`>78A(!J ?R,rq{Wm`D,XRg|}~h?9łuJMHΡj Bi1(+#˧9Y5(x_ۜM眞O.q`QwD#{<4iޅHQwhW$%<ך&rEs[p"Agk3m3 8ࣱ& m{˫Y 7q{ eyh]GYL1|y_>olcw2i#7+vm\=tpL(ġM\6 @ ؒL{ r"85 <t`TǐҲ/lH3}z;(_WW`T/^@E., ȚKj\i@.0 %_Xy$Z~ =[H-mk[3*F`|K"˂Ďf\=5Q+U0 U@YE@=gR]ċia'YˀwMYb,,}L[DXO7o gMI ZzظA9i ЂIU\C ^$%gXnyRe.hmuYű>;7{$np. %G5H eG0g2 7`PC )@ŗLx&|P⊻&}čGȆN mnjWV)~"KܥNY{&'l,;)Ҁ%'2bUu?wa|${)a-~$ؔge`Igq!tMbEO+Ah>` #ya積ҵnN xFQ1"=*M8ax~3VrC i61-+|F|HkE0R֏JhΗ3ӈҨ&k nguؽ-Hޙ(HNvn8 iߘVaB:S?vVV#]?=COIhUK}m *!v/>|cB)S}/<u #uqT~G""OU$;"@<ǙJީ* H6 Yެ(.Pަ76b*@bfR_5hȭME>+,tJv>(T Mؕ%Gq=ϮHmғUV(g2oE ;abSTs8McnsE,1^䱧y PQR@֖X&]P [H^N매9nUU#!8VG;HT2M3Tm u:gԀ*\O=ZE`jnf:̟MҲ'ȕ VS~&NHaVi=\'1>W[#$(\j>F7QZu5@>ҝY@ẹHvUKpFp>cԌ^ 'R+omEx]{jB+U1luϾW^H6]xzM#t&S.kk+D>In0 -\A0 Ši= *8Ί5w lHd蠐{[VQ uf]8 :׽4T`mؔN&StˢK[ڑo+KrJNQ2b0P%c#?RnC+PLi?EA񷓰, Rv)*`^ٮz= M`%Nƌ)6-;NOXzK wE]\kVs=8bw_VOh@Zc]{6eQ{D/?")5 6VH଱ԒdЁFڇI&V[}˗]oakfq/}Y3}_H<YWbHR2; T&A3YQ&gFEs5?+ J~{b7Sѷi t=e&aL6YyB^XqZmbm 2i_qȰtވ!2>wyQ7t$OF^1D݄N (]krw'+ S/'Ҳ>k, =.j[}x9`yAI5]H7²B aC+(40~wr0;?([ER{o)QvTM+ &ӃcU&<ݖZ#7b=sa<[3$Eہ{9nU,ZN /_ qÅS{ߙ0 ~/$V"+PK A}|a4؀PQPT0];'oXCbA;>ɼ 2 ~ jrgĒT_ gZxKQ * (8JvT=(UAT"z8YĖoO7)P& yӚ:$ Ch#BBͅ0I%C[L*oEM]s** |x"0*yǂL~l@3 T<QV"03dS+({=J(4P]6 5?Aky**+@a3UN x>:0woF& "Ko=T#ȏ)NQZ7\1,8d ۝>#҂u% 7 zMSuSc1= [+X&-UWSt,wށ0Zio7g_wFy;LI戀`Oѓ_j1x%G]z:Q89QȎ*`SR$[9Sӟf >:pׄ_xo;#̍n3hd).Q]A3T}# k6o{ -ºAvQTqXfb p2}{?>}*&=GwYtc4b6)Rj\4ր=Jhp}CPMx=յNuV؜ r.N_Fuhbp# ֗ ]yI^+}_``XlV5a\py^T lZ &c_ nP~ex(I[yRk]dNMJǖ036MXgUb.<Ъ`M/Zr Т(MoxyUDvϖ:gSK_@h{#~v4X,}4q [A`]Et3Y7 9?&5M3NtsELyFWu"g9R{P[I܄g^^gÙ&FŐFjvxƾ`ӫj nC5yZG]0+o3V[\1u#J""ݔTYlw qދq1+.J$wE="Н=y .@կAAxzǹK%By20q/ҫ?o== `.Y~J~0'`tS0G}-6WU9>)|x.Q-ywO/ۍ ZkhY57] t8lu= $ YZ<$SۦM )F%XIU.,-d=\Y D 7=8l6F D=ŏ,"Cy@ߡS_PCm 2sGmJ>\׫Ҧ yV9 ,3R!vz\@ȟId9SӴPψ+S&;jm\Ycv iWfwc0zH6w7[0 PW|v4#Ӏ*!EU:i `e% upȦ!nsE&ڗQ6k2" iDyvPtOCZlԏ#9 +R\w%-cb ZτxA|lNR#m;&@Tf̾2)F00nvZɻt;{N^+mGo/ pCYj7 Ҕ_w\Iuıd|ZA8yz my P9Ǻ}v5}R@*:YSU >7zk )ZFpA,BvyR1Iq'݀}Q t !iTPe5Mv^#tgrKs/0ĩ_IbSd]q,VWaps :\mōMqF=t;PJ{F}Ud&txxe[ 6%8iA~09?22jr;ǖNNX5P.S9'Y&ZN#żzʘ# jN slxTX_>-d;V_%1ou^~y.N2}c9gwĤqxRjWv}u]ƙIk5]g:Oq!11E wM~` ~'Mbn֭bl⣝b_TYC$W;N| (TkikCLYw}C,m~lt!pfn; dO6[7 4u,5}}ʷbrT,<7*@5n2dT1lF _NjyI CU`LdqUr&HcQ*cPĺCs<$-®fnŌZ2LTcFc[|Tuig&dڀG^?"q' n<nkw7!Ñ-^f#GNԊ\bhL8c E0">2pCśRj\_n}6Ysjϱ:Ourro3YS5o>EUH9c{`[Bwg+.ہ^rC'3 y=sz=s#q9m0QUC?-kUPCMݻ;ƌ7dpz np?cBkuXMa+\A\fШ,!)5\|n65CRԔ:"`+ };U#vYzt,)Eb˼oD:{5LI4b[EsY` ;y^i a]ׄ0މolD]"^1D(zD8YǮWb8'u. dy܂\bbJ,%b&:0[KI7YT3x$1z u-ita%ȉ^.g$k\Ⱥ,\ɉ{ɲ3IEi7G)Sy_3{ʂv7B$1j*O E?x0xhuPH"'J{?m%L$!GxNhBMvj%w+qwt?J3efĎȿ6 7I~,30a5;#͔nR亖!MxƄ(O['HwXتg,ZcNd,&HOyc3QPšX%h rCw|DރiNYx%9֟BczNϴM+ik W +ΩlfZEBAJ μu`߇=&W84RkY1QOUoUL<nn 0%;@^RlRAmέ쏼cޣߘ%WTHRp_Gge? L]?*/sX ֓ݾ;7x9}ZyȁsHɶt[sS%~iV q֏k4yI>4,xqkM't  jدLn.#iBiS/XLЩv&y);!.u\jlUsF^m i6#0!]ךz(Y /I_8 n3 Y `.?#oMsG `݌;xk׺_ N/Ȋ 0h`*\Z![T^:Eq[;nѹl}/I˪G%"Y#7=30+uL޲7g/# )~`2iϽZP^Ry@]>Q9b'm# d UkҫD=ԣ@%YE MEW'[?|?{C42I{l>L)1d>l#\qTY};؛E:SQ8 eC ab`t>MlE^drbKݏzJϘYL+%,3KVѵzzvkiT#~z81G^Ib sol֜#Ow ;kS*;ڗvsfYzbk>ÐL:#<2v4 4~> ":tP{ I/)l czᦿ-)a4G)S(OՇܼ򚂉z1;p $${z|3n?Iuv!$O kG~CNg/ }c:3Ԯ-kNuAF,@36_YJY>rS]޲uSmqLYt:cLUĜf<]`+YN:aGĜ0 F><[&HAqу{37AZj2qLΊm7b:=L;;qHqa-l%a6Gl25LDZ?, :ǵi N6 bTmOSQZw{Z֛˨$AHt*WT2p˚b&?$kN}2'ehttz}jg2D\:v5T؍x{ >%zjMO;y.e5:;O+Xy rX 1r lSPFɑ m_} y*UQ,|:^O Q_Eb_ 9uixr[4p:8<;N[ {(ݵWtAhٔ;;=h:e|[5XA5"t`He7pOzZ2맬Ba*"ʁM,[ef(;dD ڡhkyDZ0'~,4hy\/@'Ocцy:,^U%Fh̴#*¨b>'Ꮮ٧ d[4l V&P56f܉lwܦϬifvR:EkRQ:)"!|$+-7PXv2օٷŹF., r:Ls}g]4#rq!PN+r5ݏ^'@i{FGW{wdIj[v.g^f|D뫈V[^#24OπGpyeads/o3K}eل@(_I8T{aR/jI`KʠF»"yDٚ Vm}NUGWćl'uog4$숊'^I :^vyJR|sB{rnjK Bg8GgLH_4;~bNmK Щ0kH<8'ggFW*|pqq6dt9!':Ecz{uȿj;2(&=Z@XJ o7UA$.Y4Ǩ[l4"*x Z,oԵ~$e(#KUtG2,ݢg[ۼS}޾8qR (h Q:u: er֧n<&XR=Owz .(nҕj=*^[CGM4 &\' >f/rhK=>SIֻTNWZzU3<DYi!F#";/!2IߗR3ݗ(I%lQ-C:)x{B*ӃDŽ6O˝imXBk(U3Ĕ3lP|>K1TWt\Nڴ6wwɕy-dՖγs~tXjĘ'JuثWu>V㘖x%.ac稑8.ztAвKi"1H*)/3:+A̎R ЇL_ Y R 􉺽g7d)##X_P#v$Z=Ŷ\% Px zhew`Ӏaw]Uabi)Wj vŠ$;lԃrQ-".ڜS`0 }q8goOB v ŴOur7h*]sc~Бؗ`pZo}<fwf _eT6b2.T,4&rz?P7[/ej#`L6y}Vre ;/]#@T|zIe~fKu)2yP,rvLܟZ#Ϙ$7$1cEIEU ݯsj.v>tג=Hd чM ,C%r2i[η]yBu1%윁b9c+UO)a| YOͳp."or;={`vLͧb܈{M89C>,3LNU.KW,!ÓٗaS 2_;GA/HfYt IL,] A}z]U4x;~.UgWMijܩ w98m<}Uy/GgcaW,alvx6Dˀc?mJ~ð;Ei4C7ux ơb:x HV߂y| `,l Pxp/DOJ+Xw.|:Ug/ g daz& Lf&ni8^ !.0]. x:U9 ) ms–hNk5{Zq>=Qzn?,):ӟlʬRsoc Ԗ`ĘC;Ym@-wuUlQ#tkAaʷ D:*bul[ؤe)\; exՅ=r`ieMJo#-|ҤOfSr߯v?1KW.3b"Dӈw~?aj&YtYr7%M,f1/yOH6,8Ia3~ S*_zv<aWs |\ZZ_\+b'*݌0 nly\6O^%0_ٰ}Yy=xw"7C+K>#PWyƻ%;hC Oz~ RAV]r뚃scLTc-&&ǕD8"-1ܬsKyn p2HZ&m0xh{,M7=_ `kܾxFWSDH T,';tfZ4o%=%mml=c*EqT}x!%\$,2 -L;%t&Y$Ud@آ 81:]0'*NAFϞUBN0 3=CIQlu?~#Wfhi@#S.KUm?etW2d \.&Noa JU c]qW$x /dTwLƑ gbET=$Dcs"4n6MBP/Zj~ji]nEW_SK8zM;Ig/n@-g(^.`w_(IRJ]ʎ`> &HS F/RKEEe?E M$mFrsO R)@ZUuy_ b~nwN;k ]9x3(WpOFG񁂥?E]$4_:  HçΧٟK]0D#VC%bCG_:ylg#]HC6\('Uto;Iޚ Ŷ4k|qk.- ׭D n}[=7j%Yn2F7]BٯDU\wn(ջ!"G:Mb,{'[*tz7Z.@#Nlp1Az06Öܸ_ځTdmHD~A(jH;T-I̶۩@KFZ矌N6#oDeYB1g%ZBSE5M: GOCK $=]umiTr%yz[A%9u֘{ E7L;@@ƯSnO-^9Z@Ve'MÄt U6U%j!w'6tJk1y$;u}N´ūvl:wQTɕS+(h~:ۇ}Sٯ) C%۽]KY_7g}Nĸ& H;P W w0O,*fMq8^L0WITպṁDKTYd^j> $6m+f.kR7'XĵHQGY0Z鋤k䤗sajLј0ơп/ @&}=׵Qf9i1íz Ґ`WY12_U#p+U꿲Fr?BK|W؂4 p 1Q`1"F㮡Z=q&GӊeWd[~tsB\'^9j"'4Q0}IUhK?T`EnWJek򑸯"YzA̠;doCTM; nNσqcZVnDv5 XkcE#?xP~XjC3%v<: (ؒ=wjp(- "cB}g,㭡G(E}\$wTl'QL:ᨮ1zKO8{%۫Mݩn'i'#" GYPnIйvbBM)"4% u s嬯k)RQ݈{`drtW^ceۆíX@W5ې+:u/4z3(- C<;ZKDžo%DP?C= t8t:r`ZY4(FDĵ{>+lF1 $wn5Fd(%*O_1g{ֺM:[βU^m:gs]'@R ^t͞='8Gb-?yӴȍKfEQTv%ar"!* xMUh s'OH%10?{߯3[h`<\vtci=ȔЭN̬ <9b1Ts֕F#Y R_ڌg< @渖2IJkt2\[4ohw%n"<]A Sbf~z/C|> !3\C51l$W}^HHO 1`0M+Tj"e 6/gGk%/&OK 7ztOAi;Bbos*=@s~p!edtgĘHa1) R]t(nZ Q y]$E,tXT,Y H~UM&n y߲wi uA2?t]mѸG4a/qU _6g(q|([o9&OBN1?p+`[8{[8ԛn=9 v2 P>ixYC6 B )5n :\{4黋ƛ~K{ȧsP-rcLvSx%A\&<$ӰSX~XIVpxІv90y'vs >B+VÀڛZp  |Euv˪lAʥa BM'?)״zS##.NivmvS̤d&^juwװJ7Gz'CCҠL(haS|(>[87p@hȦ{+@c\snZzgϵ:LJ#(bU&K,ٌorJ˭25sZ7hN#I@VTnܣ Y\9h0Ġ u'iGg,<¤qZC%62)Ag!k3dHy.Pr=.?_%IREl.?ҏs-Z3!jCAJ@QfxJPգwJ:7YBOzJ+qx#'Ѭ1$䪡dX˂}!@g˓nZ~̖1=[9[,kHpcdL;A)†!s*2ݣYiiB$1kVW`EӰhYV]ŏFvIv{VGzKk?( :Ad:մ }AE)'.-Qx׌R~XcjHU>tYIOX+#c_@VJ ©u6"yj?)ΗK:$ ß+s@n`Rk2d0tR-= .7o3J}cf2nQc)6le v-qJnlrcpy86tR<[GR@:d~fgQئ+_MgFcj:'(Bu1TyFX j2"m9g{g`늏jf6G*['҈WT] &,?&L_פr?oF. W/F E `ĖֺC9zUűO i- ۭ5T\j ;4;"uE:C]BL)L|(9 8m5jg;FWxU~nT)ޱ, BT,mKR6$ui }7xk)z$)Q"ԔTqLP~q9e~WoKyjX΀u ̂iy:X7Wj.Q<ѣY-O偿vIB}St5[`6pPqߑQtO8fi;uRg҃ȡ6: 28[@ uBN^g%^XV参4r 57.>۹GZ3@$ھ9a>l"geD_`eI*HRbc@ŧ'eD0C_X5՛Ue֪rŤ EiR!YFͭ W9Sãe;gϝ ZԌ𶰥V JpEg&<ػ2gI|3[YjIWN_N*x( +XKb!^;qsj 2ðnj_%8˞llqzKxQ(qO%iWlB.;UU~NRXuD/H<"C02CzTQIE|iʽL@Ny-ĺd=4,Y = ^ZY8ncWv1?_  _=Td$[_BD'{.81zmL>f`r<#NޡTFnYe]^P0's2<2$%~Y2-$'HcAòWpO?Ubئ_K5b,KiKOYߘ8PϠ3%]aIH[Ú@p->VlE@!8ɳF^х[NeV%+#Xh*\}jڃQŔw- 5@ "- vtXk :TxЌ!DpPxNjK/S]"\[Nv/s*LxIst>j N_u.lNXPO\v乮t1zOqXa6 K\E"T~X3%Ԟ46<5@sٌpMѮprz?D=m2HñIɏ:`ujrza܎?.e\932Vs:aM7M{1_+IXhQl8V620|B:u>+Q [_f7b(hL>Եw6uY޶?*B*C# & r/wJͼi]X1zqڅY[("ݸ񔶌H-nT a- ×x XVOvGé8^="TӨ [ĆZs+t,cr)#h2^'ZF 3L{z0QF(ܺ;٣ųHG$)5X>H\S˚v&nKDr$# \O?`Wr&.*XXS\3O붨 TBR)a[>Ht[Q)X2xEK\?q m]Uǯ=Kˆj&a% gHboՋ'+=1cg'Q^ݜಧ:5{:X7B=1ӝu5Fa=GO_ZMWȲ5H^lij&uš%rƖhٶlwE#'6z8 ËU@:$H# ًP5$=09T)벓l}6+16fbmݒ*b#'uj,=@z(ȸURz2v٤hVR"4Iy[p,B#j K_Z1M 2.v{kw/ҖN'uwK4HC,]USo~+Ҏa'K]C<+k'N\wZv̌ˎ?kC:I8dwCCo`6zp}zԴDT8RtQjD3C”D'`cT{#'EH`Ě! e:\@7/%iT͎߃/jR6@Wx8Mte5ԫr}[ G( ^k(F`;"[JQ"1yd_?ŅJܷ?8yQHf[m)p;QWRݏ5mFzu6>F2 P8::i XH3c^pc'A?ULRCIs4cK&5r (c f)'!@DKB\>I:#+.i;Ĵ2|o>0-3E[NP͎"g "93P>sZM'􎫙@2y*y Ґ3Y*f_X#wU;R~`ꏟ-} Lv,qkeq옉D`5~x5tFa65hWevjS`B Mbx{Ʊ͵s=YnCތpc<=q0KP;&=)gtNW?ݡ:(oM"eΰ,GqGmv"gs+cyXE R%OdNt)0kzJ||w2WRs'ɣ;T"`W@Q'O #]HuS(͌jnQ3ci, ti 2pUSwl)LèhJ\²caXBcqʫQ9 @h<,<,P| !ias: &6 ߔҾ 6'{s>Вfe9J{䞤BV<fy imY8`}҈r:'6`qs[0jDojR眒GFt O ";$VKܙ/{+@tA °N%PezP~#g³;c0K.ͭy`1H5%xӢL ̳jbV08"Čn@hŽ/y>!.-k?Cʮ>ݲg- XΨt=MxnXSɜl9lOvʎ_ f4y@goPʟrE+ *Z<烵B{5B#i睕A̰ i jʈ_ykX:Ԓ6wU W5Hdv]F(LJҹDa[TOk\].x#%k5scRmɐd݂~R]7IcigJ5<*qyADEbc$#= [ԇ#7\]udi۹?͔ d :Of{f Ǵ>xM kD}p 9/,#DZQq 5j:[Oqm/VEf1H@>^Zף \ʴ+g'CnsIp,KsH]]U\nGj ặRZ\z4~tKWuzOsR6O<?Jljq4H|w*35ZG*uf,*~PZB@У8nC^-ig J3I?~l'Ӛ[ g2e. +-T\_ړtBQo2̎p TUh/<V֓ 4GXuj4Ě<~{E5'_` M.q G.Fkv\XPZ)̇G^g@8QYNElt΁lWlƸC*-@^i8 CD$'g9-N UQmpmLNR:X<ѨC =!$seC׊{TU 7!ѽ0SFK\R_Ġ&@JRRW=>5zfvHxUiS%tc-Ch?6+ί0 j;,梾1݌^|THw"^2Rۘf`#rxiݟX>CIZoC邞bhP;FC;SE@:Գm,hZ_öh499'4(L}'azvD~P)H~R>)L VUnd\CԥtP,NXR] X8ȡӓi9+ p0Դ#x