commit dac6d1dc536f0a628e9754207399e60d64b095c2 Author: LordBaryhobal Date: Tue Jun 25 01:15:17 2024 +0200 added matrix + vector functions diff --git a/gallery/example1.pdf b/gallery/example1.pdf new file mode 100644 index 0000000..ac230b1 Binary files /dev/null and b/gallery/example1.pdf differ diff --git a/gallery/example1.typ b/gallery/example1.typ new file mode 100644 index 0000000..f8884d6 --- /dev/null +++ b/gallery/example1.typ @@ -0,0 +1,36 @@ +#import "/src/lib.typ": * + +#let m1 = mat.mat( + (1, 2, 3), + (4, 5, 6) +) + +#let m2 = mat.mat( + (1, 2), + (3, 4), + (5, 6) +) + +#let m3 = mat.mul(m1, m2) +#let m4 = mat.mul(m2, m1) + +$A = #mat.display(m1) quad B = #mat.display(m2)\ + C = A B = #mat.display(m3) quad D = B A = #mat.display(m4)$ + +#let m5 = mat.mat( + (1, 2), + (3, 4) +) + +#let m6 = mat.mat( + (5, 7), + (6, 8) +) + +#let m7 = mat.add(m5, m6) +#let m8 = mat.sub(m5, m6) +#let m9 = mat.transpose(m5) + +$E = #mat.display(m5) quad F = #mat.display(m6)\ + E + F = #mat.display(m7) quad E - F = #mat.display(m8)\ + E^T = #mat.display(m9)$ \ No newline at end of file diff --git a/gallery/example2.pdf b/gallery/example2.pdf new file mode 100644 index 0000000..97082aa --- /dev/null +++ b/gallery/example2.pdf @@ -0,0 +1,858 @@ +%PDF-1.7 +% + +4 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /GHITOR+NewCMMath-Book-Identity-H + /Encoding /Identity-H + /DescendantFonts [5 0 R] + /ToUnicode 7 0 R +>> +endobj + +5 0 obj +<< + /Type /Font + /Subtype /CIDFontType0 + /BaseFont /GHITOR+NewCMMath-Book + /CIDSystemInfo << + /Registry (Adobe) + /Ordering (Identity) + /Supplement 0 + >> + /FontDescriptor 6 0 R + /DW 0 + /W [0 0 500 12 12 778 18 20 500 24 24 500 26 26 500 30 30 778 152 152 778 853 853 778 1032 1032 278 2676 2676 970 2685 2685 583 2710 2710 485 4505 4505 569 4507 4507 569 4542 4542 569 4551 4551 569 4585 4586 569 4592 4592 569 4598 4598 569 5211 5211 659 5677 5678 597 5743 5744 875] +>> +endobj + +6 0 obj +<< + /Type /FontDescriptor + /FontName /GHITOR+NewCMMath-Book + /Flags 131076 + /FontBBox [-1044 -3060 4087.9998 3560] + /ItalicAngle 0 + /Ascent 806 + /Descent -194 + /CapHeight 683 + /StemV 95.4 + /FontFile3 8 0 R +>> +endobj + +7 0 obj +<< + /Length 969 + /Type /CMap +>> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: procset CIDInit +%%IncludeResource: procset CIDInit +%%BeginResource: CMap Custom +%%Title: (Custom Adobe Identity 0) +%%Version: 1 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo 3 dict dup begin + /Registry (Adobe) def + /Ordering (Identity) def + /Supplement 0 def +end def +/CMapName /Custom def +/CMapVersion 1 def +/CMapType 0 def +1 begincodespacerange +<0000> +endcodespacerange +26 beginbfchar +<000C> <002B> +<0012> <0031> +<0013> <0032> +<0014> <0033> +<0018> <0037> +<001A> <0039> +<001E> <003D> +<0098> <00D7> +<0355> <2212> +<0408> <22C5> +<0A74> +<0A7D> +<0A96> +<1199> <0035> +<119B> <0034> +<11BE> <0039> +<11C7> <0031> +<11E9> <0037> +<11EA> <0036> +<11F0> <0033> +<11F6> <0032> +<145B> <20D7> +<162D> <0028> +<162E> <0029> +<166F> <0028> +<1670> <0029> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj + +8 0 obj +<< + /Length 152244 + /Filter /FlateDecode + /Subtype /CIDFontType0C +>> +stream +xe| o݂[V23Y|w b@ !ݵRJ)RJ)O\ٳ ~q߿~5g\r=snɤEEEId7nZ*jcьѴбLTX:c1M_~ +C*矋 +$D?L(jI1q,ܩ")~!E$4u +եihINδ^Ѵٴ崵ʹ㴳˴hhʼnGiQUQD%Guʈ# j@QfE-Z.jcԞQGsoQt)]M +jtק7;s~y% =Cs+7/ C1T #QaaFF<#ђØXXX888Ǹ̸x2%L5555555555uuuuuuuu-7'߬l:Ul#<caٍ-),v>{{{{ 53G)˱p(ӘӞӝӛ33sss+RzVnA1i܍]#s{WO<sf ^0,&)C+o|_|'; cK;G7_#` @/(+&pAAcA[A W[0D0J0Q0CTFYKp\pAp]pOTRo!CʄZa*t k}aSa+a0GX  .'*#\,\%(!/<&<+"-|$|&QV)"&"D5E~QQ3QkQ(GT  .'*#Z,Z%(!/:) .'z*z)z'SUJA\N\U+ĵqCq q8G\  .+"/^&^+"->$>) .'~*~)EQ%J*qKjH|ISI+IGI$[//&+"-Y$Y) .'9*9#,%y(y!Y䫔+Ihi%U֐ ҦVҎLi4__:L:V:E@\NUGzXzJzQzCz_L)2&#d5e~YY3YkY,GV  .'*#[,[%(!;";'-No9CΗZy*wk}ySy+yGy<[//&+"-_$_) .'?*?#,%(.IN) +"FA*VtE7E/E?Pd,B*f.A m׊,HTUJJYGT6UQf*)CS+ەǕgהwO?((W~VUkZVhڊZ֥jk-]MKW?D?Z?I?S@TFYKPB^MWDwg 1 &CCi n^Qe-݆#s;dž \Ĩ61FckglbL67{G'gO/o45abb&Ig*clSMڔbl1ƙV6vΚn76fd9fYe6˛8ssΜf24162O407/35o1624_0_73?54b`;͏Ek+E[5} M[EwΌΎΏ=,zlыWFo/hѷF?)]_˰ˈ(ʔ+SLlL22$i[&L2ezTfd eWfi5e6U`eΗVn'e~(e>啕Ք5XRUzYoe˶,ۡlFe+;옲*욲.{쩲({쳲?}[_1 )˕-W\l9\rr˵(׮\znz[nh1&Una֗Vn_Δ\V垗o>W7/_>|7)\}W~h1'U~aחV~o#OTf+*DUUUU([jGOo +*Z!B +* 0´ +*,¶ +*pµ +w+T*jUګU VmYmծUsTVulUU\uWUWVn'UU?WWUVT3WXRUF5_՚WkSS.zT+6ڈjM6ڒjmځjǫvڝjsHb1 +111OLݘz1MbcǤt7fHI13c,Y5fOS1cn܏ycۘ?bXEnYX*[lR44X:[r,q9ŖUc+ۖG--Y>YiVUlUYjV5Z6Y=}3ˬk['׭O/X?X1l|̦E*٬6gK5ueڲma)ٶE }3˶[綟llھv]i7٫c픽=`odOڻs#Kk'wO?bXslXK+z7~lblcb;9vVc={:Rž5c?CP8􎲎*tr;:;8:98z8 +#sK;Ww/?;;rF9NS49+8cNYYęlLwvsruqvNrt.p.wsnuqvr^tpw>s|t \rUUes.+ٕ*p p wsMuq-vrmtpwsu]qv=r}zMssbmtwWs;q:;͝^^>>~~7 D%JH D&MaXb +1XD$6ۉ}Q qE<$??$J@#$E&d#2lK]\79IN ȥr3nZܸ%q6;w<\ո;q^>/Ox'xSϩ慨g_~W]jjpjkjkQF\:55hQ]Y5zScpQ5&֘Qc~e5RcwC5NָPz{5xYj]Q_SVS[3f֚5jj&lZU͎53kf̯ٿ氚ckN9梚+kn澚Gky歚k>Sw5VZUk֢jծըVRRku[wAF֚PkzyZSks]:Q|kzRZoj^smzm^mimMms튵-]֮_;vjg^;vCk= k{k}7k?]W?uXuuuu֩R^SN|uiSS.uz)3Έ:L3Β:l΁:뜫sΝ:뼨suU[WRW]TBݘκu֫ۤnruv۫nߺCꎮ;̺ .ֺ{{ź7ޯu/+ʽ:ooeKxkz޾!Iޙuޭ=Sދgox>O*l>W55:r|q9žUc+۾G}}>i~_Wj~?_7=}3k['O/?geJxw|x_|B|R|.ď?/~E;w?&R{O_Ŀ1K$U(\ON hhhHdra1Iy%U m=Cs+[g7OAVP5AS|j$5```RM0%\\\<<||||\/^tb9QjKX/^z˩__!F՛PoZ9[Qo]-v;PX3.ջQ^'^{]]g՗W7/[r}k}W}O:oVUgϭ_X@aԟTFy_UCm?TDsԿUAg_S}O& M)|B{P#P/qBRB̄ $ J0.aJ¬ $lJؑ/H© $5J$5UDbDobƉImS3'J8(qD)$.K\)qG#/$^K(yķ?7ji*jhkݴbӘTZMM&6Mnڮij.Ms7tHQM'4tNEMW4]tK]M4=LKMo4IM_7}c/x$T 6ӬN@͚5kլCfYr6lX1&5l^%V5l[=5;\+n5{Y4{SYe5M7ޜh^y捛'5o&}ihk!ijahQEuZZ4lѬEZjۢŀZi1ŌZ,iņZiqʼnZ\iqŃZlZ|Mf% eɚdSrd"F7^r6)əݓ{%I<"y\Y %Iޔ#y_S%I~k훶~j]vUj׮qvmڥl׽]v} j7ݸvSjݲvkmjݾvGڝjwݵvw=jݫvo}h}T{N{Q{E{]Ǵwjo>}rvSwi>}Cڏj?s/j[jg_jOڿh `PCu::4ЬC:wۡÀ:0Ì:,鰪Æ:pÉ:\pÃ::|((hXcՎDul1c)3;vثc:8㔎:.踬㚎:踯㑎:^x㝎:>ێ:~NJᤈR)蔊)1)*V?%!%1%9]JjJ~)CRFLH2'eQʊu)[RvH9r&Rʍ{)OR^Ny1K'F'^'I'U'C*wvrut)ЩafZu)SVNtiLIftiIU6tiOCNt:J[tze7wk*+U*KդR˧VM5RR&IMIL+ORJ],uMRJz-N穯Rߦ~HI)tiibiTZ4ZBZbZrZԴ.i9ii҆J6-mNڢiҶJ;v,LڥiҞH{.cڗtF:/]J7MnMw{7Ko!===+=70}@1gK_*}C=OK~+AoߧJd24U3DF oFIm2R223g1(cDƸ)2d,X)cGƾ#2.d\˸(yƫ2>gFer2EL]ftf̘LG&Y+ӟ.35KfNf!2ge.\'d{eWgzgIgM +t&:uѹ~FuyhQwy^%7vxkt~o;ӅEѥL]uquӥa]:vRet9]Vt`c]NwYW]>t*Z+۵q][uԵ[ׂ:ܮn캣롮^zîϻC׿Y,E6˔U!˙U++0iVjVYCdMΚ2kKά}YNdͺu/y֛߲>v&V[Lnq݂vkڭe:wַېn-n{vnϻѝ]]ԽjwO@;u>꾺~W6#6dɮ̮<]vNvSgf^!{_+7e?~c߲?fHs9Usj4阓#'?gd䜹9s690痜/=={8{x{4ңG=fd=~escssv7wxksw={-Aܷz2zzjzӓYgz9ž;z^^ѽ\jܫ]^{5ל^zu׹^7z=׻>I}RgZ%}69Z'}ožT_o߆}ۯ3.껦﮾'^{ﳾ~_Lkٯm:ޯgFoq ooEWП__ؿjGof?O?o?s?:3@:@7 z@ 4v@(0`L0wiGp}4@@@@@Jc 9 & l?0s`8~܁ .f΁{xlWd )iUTwPArT8h)Z=hǠ=  81zn=N9Ƀg^3xࣃO>?ۃ~=CC8CC$CC4C CTRuu{H! =dА1C& 2dɐC ?ĐkC uhPPPPġvoġKzaqEs k6ða3le6 5аS.3W~y8shzx* o"{D#7bň#v8<̈#^eǑ#cFƍtdi#sG9zԑF.mёF^`#ߏR24?񨖣RFu{QsFutQF=Z1Zn?CG=}G}z?~?6F6ci?c>f˜cY=fטc.=ɘ6ﱬڱZƍm0c;~KƮkW>ؿƩU7.0qy=n㖌[;n۸N>ƽxxU;Wh|9~E׌:/=> &N>!~B 'MȞ{ '̜x 'pz '|? NONTO,31f"1ĄI;L2GM2q7M3 oM|2Ě$TfRII5&Oj<夔I]'҈I'͚xҚI['t|҅I7'=ä5?Y18d &'Mn?9sr}&))))N>%~JSzN?eSNY>eSN9?S~۔JVj77ԖS;M6`cNp[zrw~7LMOSN3O29ദN˘cZiçM6sڢimwڱiݟӴΚ.^fz5Oo<]Ϛx[~|7?5?C18 jF 3h7#cFΌ3;cڌ3V8c׌3̸:ьf>㟙ܙƙfά>3~fg̞{ЙgΜxڙgyzՙg~?΢R*3,ڳj>γz?kɳZ>kݳ:?dz~lllJf{g74=f=tg/rٻg}vg?Ù#SnNZss紞:ۜ9猚3yΜ9K笛}΁9'\s{Γ9?s.w|qn幎56vns1wܹs8wcs/̽5Ws<<<Ӽj k:y1o23nnyK旟o_c~淟y~珜?e+o??h]XPgA‚tYkL]`[[pbw<[z_*VY\Xka_yaυZ8eἅ+nZg᱅Zd᫅Hȴ"Ǣ.j(cQ~F,h΢e6,ڵȢsn,zE-Xذ/N\fq}[>> +b`_N+7d߸}3-ٷn}Gwc}e?glqdii_￰n_T98P@:z L=0=p<=Ӂs{P~x؃lrtp)\vp2#8#G=r#Ϗ|ÑGGeGG%>Zhm>Zxt1Gwt Gw=t+G}v}uL|Ls̱ǜ|ǚK=ccM?c[?vcw}wcW7ry8xÏO<><~׏?<_uyB|B{ D N8Dy'}by'pbC'Nrg'~:'Y''5'˜zyOfV֝.siZns:tӅyzY^vz>vkߜ~Jglg3u4:tݙNg2)<3̰3L?3[9s̙3W=̛3|:,lγu&mq6lgsvgWtv#gOxg}sαIiϙU9<w๦ڞ8\sM<7ܲs>wܹs7=:ܻsϳKΗ?o=Oox>|s~Wr~/yο=煨 /.P^HB r.0 .,– .p .׋/:.ָx9\vqY\\wqC\z./ؗ$^vu&Z]t)RޥF^ti%^vi.^u񥗗]|uYrYweerɗS.g]ο<./.|.++++8Ըx͕+9W\ve•YW_Yse}W_pGW~ʟW*VjJ]{5jf\͹ꐫcN:ꊫzꙫW޻WZkծռZke]˻6k͹چkvڍk[^op׻^ϻ>SϿ{~Otސ0ިt#F7h}#F7c7~7޸wo~MMMͲ7tݬy3pV7;̺ws͑7'ݜ}s͵7͋7o||_o~E%eUV-nyǭ>wkVtk#޺~nzn[nnpu'ޞs{ w>r~ywXw$wtw߱ޡx4|'N֝;3΂;lΉ;ܹ;rsW~x]ݚwwmݞw}wwW|ww/ݽsw?zwOqt=ǽﵹ~/^{M7ޒ{wޙ{={3ks_~wO??_pT|`yA?(|03,zp?>+<={{aˇv{ȇ.~އ^?=b?R<*zZccc㪏ǾǍy8qOx<x|?xOT~yRI'Oz=dOO?teO7> Oo?}hTϢU{~VY³:>zlf<[l=;^>{ɾ3|W黪ߝwȊ䍅S<:prǛ#N޴*:zs +'jzaAf::ӳ s:ggM܂XiMGxt(rS 213@31db)d)ec+]"b= :Z`^znNNjqi ~DE׈X?-5kѿ,tLdz,ec8l3!AVJ"b>t/)w쑝##+ltlTr#&بrvѿ&FtlR%&F8/53УKf.c.QصGԼœ‚ܒ͑(>됞tlQYEQWc2_d!:&eR:$ E2f!ZED~-?:Ń?s{tMKG\lbܼCrP[0q88y䅓/љBX89JLל4Em7ݹ3󲳊PNj +Nqp 'o\X=4]N@')JS|p X">\ _ .GEqHiّ WTV"hTf,(`hXgfzgIۢ@AjE焢jڳgj"ݩ J + Yͻ&euImZ uvwj_LfԐ"5]B62B62EEldl(웕 zfuE!Cg׬YErnz&'hxN~8!NpaɠNP!HzFj԰횛=5Rt٩\%/w(+oK~JJ_]p%"B)vU ,DJߴe7ׁo2cion%`}YXJ + a!sM\'~i7׉e%~i7׉3EO,2 Kd%=K -y +q TdM!7XJ.IadM!KRX ۄ Xk?,AYXD[E'pr 'N$(8'/|p)kL>6D%X%+=5hTܢK̀ :9'u{fJjP q{e]PٹE+E]Ex8@np {nh7p 7Z -㆖qC˸ GFV~zQ%X"+0HA `$  0HA `H{doymX<<cV<nŃ[V<8ă#H<8PePePcT@uT@uT#u:bO89C i9kрZ^8S<pB +ށVfE'(Zg- Ӳff*yN`F`WD =!G0?3wkT0N0#L*3N` ` Eo]0N! BpS3{v,t EEEEEEE))))))))))pSV Pt>=[еL{L{L{L{L{ T/PBB^ v#-zzzE/Eۥ= + VA>f}`f}`f}`f`f`fb=?=?=?=?=?tk5%ܳ!JoZ6"9H Hsăps97#q nC`0t: C`( `^SQyQdfgdu7+ ̜3 쑚٣'o~azעV\S<=r3 +#6襯 +Gh30nDL-r%/+{ѳ](.ht-3R r8"N{>8L iO-z#B ] prfdH-2:dvn\S[)-`C*JwUq^w-+}<\v.;.W+o'7>=0?bVn$x*NN/?+'+VkNg' pvR2{vD;Tw^nei'` 0v +'' NNX89a䄅NNX89a䄅NNX89a䄅(Z-:d.:#X=9IW(!( 8,l`ۤ'T!h\?8@$8@BLAئ ` + ` +R`LAL= +Q`{q`/*E#a +rPK*:=C!|N`t:tgPN ]@.CС t:t]@.CС t:t0'|Vt{@y>+:=CС t:t]@`G~9ihvEi|7(tD.]prÉ ' +Nqp '_R0x8,7 HQO3rLC;rlE͸M I (/D b="#H= $ H@&p,`j$ Fp,R"p#H7p#HBHEH9@#H9@#H9@#H9@#Hэ1)tÙppvy_;;b.~W|?|d]SY;\>w}w}w>wq="G~ds0'Is0'Is0'Is0'IsDsLMG)l$\E=IQ%5M"Ηݹ=I +нECFwtBk&Ik&Ik& v*Jd_4Ph_AMh$6 #hT}P7"&Io>GA([ &Io&zy`CW&7 Mx$7 MB;$7 M٣Kk:Am@(xXy&I߃5 `M"|EB #0'Is0'Is0'IH0$'Iy@'Iy@'Iy@'Iy@'Iy@'Iy.I@$! G.O~Q/sjzh/p;NEJe=fV̢lp~aVAYE'eEic=_ԓ7bQ]uN-.TV4zBV$` Cj: C搰Z'aN0sIXԒ%Ї'Eܼt 9ӻfw`GkS$HKKtP6)u +*U +fYG`Jj*ӎiGj*yG`Q0(w; +VV)XR0(s9 +s9G`Q0(s9 +VV)pL8 +& G`Q0(pL8 +& G`Q0(pL8 +& G`Q0(pp[1<2+SL=05=2@,L=0xRK=@R,K=@RJ=@R,J=(vx`QꁔR6Xz`M5֤Xz`vx [lXz`I%Xz3<S+RH="dk<0)=  R,H=  R,H=  R,H=  R,H= @dk<@dk<@dk<,x [l5x [l5x [l5x [l5x [5֜Xsz`55֜Xsz`5֜Xsz`5֜~dk<{=:=@N:=@dk<N;=N;=@Xwz`u5x-<NXvz`llVXuz`U5x`UVXuz`U5x [lVXuz`y<?y<?y<?y<?y<?y<?y<?y<?y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ y^?/ |>?|>?|>?|>?|>?|>?|>?|>?|>?|>?|>?|>?|>?|>?|>`<0|x>`<0|x>`<0|x>`<0|x>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>:PT|@u>WÉ١٩yiy3 BNx+{> ߯kZ~-_ ߯kS<p +9999999999999999^q  +P..'pnp N 78'p8A=`{#G=`{#HG=`{$# HG=`{$# (G7;aOf XŒK.,DabXIS:wN꜒]$ER`hF:>GG::хnt$БDG +у^t1Hw ߁;~@Hw ߁;~@Hw"N߉;~'DHw"N߉;~'DH w!.߅~B]H w!.߅~B]Hw#nߍ~7FHw#nߍ~7FH?H?H?H34H34H34H34H34H34H34H3<'~'~'~'~'~駐~ +駐~ +駐~ +駐~ +駐~ +駐~ +駐~ +駐~ +C8?C8?C8?C8? ߃{~A=H ߃{~A=Hi" ^jyQ-/E!|C?>͇?>i!>!~ӏtN?GHi#m~͏#~i#~9iGx9y#H<#H<#H ?@H ?@H"A? DH"A? Dn m6p@M &b Bi4P@(M &J g3@L |&> Bf!3@L d&2 Bf!3@L d&2 Bf!3@L d&2 Bf!3@L L&& Bc1И@hL &u B] ou [-A u B].P@K %u B].P@K %u B].P@K %u B].P@K %u B].P@K %u B].P@K %u B].P@K %u B].P@K %u B].P@:"{ /EH?darh^#|&> ϡM{#ҏP@(M &J Bi4P@(M &|H?j‡#&b Bl!6# m6p@M &n m6p@M &n m6p@M &n m6p@M &n m6p@M &n m6p@M &n m6p@M &n m6pDM"&nI&zI$BoI&I$Br!9DHN"$'zDxN"<'I$s9$Buҁ#T'I$Bu:PDN"T'I$Bu:PDN"T'I$Bu:PDN"T'hM"l'I$ZoI$Bx!<Dm<$ZohM"'I$B~!?Dm?DO"'I$?DO"'I$?DO"'I$?DO"'I$?DO"'I$?DO"'I$?DO"'I$?DO"'I$?DO"'I$?DO"'I$?DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"'I$|a>0DO"̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0Bk~ +) +?BO!S) +?BO!S) +?BO!S) +?BO!S) +?BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BO!̧S)| +a>0BB_tt]FGIt1=EG:1;~@Hw ߁;~@Hw ߁;~'DHis"=Nlj8'DzH q!=.Dž. t!.͍tr7*wC9FH?4yi&P-"P-"$zDϓy=O!Q-EHTDIBQHPH"PDI!mF!O(B(-iC␶8ԏqHgt!q89C:㐟qHsA=Hi ك4{fA=HAHi" ^T׋zQ]/EuP yE^yW^yC:}H!|Hi!>ه4W>?oKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK07g#GH<#H<#H<@V +ZT+jPZȫ* DG:ё@G)tCG:zq =ǁ8@zHq =ǁ8@1Vs"N߉;~'DHw"N߉;~'DHw!.߅~B]H w!.߅~B]H w#nߍ~7FH'z@y=O <#꒨.꒨.꒨.꒨.PBXH b!Q,$B)B)B)B)B)B)B)B)!^B8xq!ċC/!XB8`q!C?!C,!XB8`q!C,!XB8`q!C,V P- 0HB~;Cr&Č.]2"RFZv"]R{v*+WZAj-5;+=3r{ \*Q(sJx3S;+}iWjEQgB_.7I*:k<$xɩ9+Rn/hb |::C+UPCmrgHKE!WCPaI|; H) +'23. +BjţaM * :2|;7H-['FU|7Y%n!uCRI @+3KojF +3:tSU甬 \gAKs QBZ Grf^NLFW}i}H:t'c8DR^!zdJCړ#0" zBduBl:  Cdڅ-w+.]*AXT g7`&Bn@*bK T,)ȍoj8#@ɒ?[y_~5'J[RK_~?<߿ͣ\y47ϖvH%5䅷|xW} vj 1 +͙%?^Ťc)KX +w3#ϕҗ( wfwq?6?Gf( ̒R˦RWR'E31K0ttRɟ/DwNݚU2ddH( %*yRBJ]%DΊ 87u1KRoes&v,5^o`{`)kRb.-}s,?{wq̱(K?WQs,?Kܒ/sӈ* ի{%J]},|z J]%~"mAbd*FĈ>,51a9yXj: ׎'ڑ7BʈތZ<鍈>x2-(!'cXJ.= +K_&6%/Kvdaɋd܇XJ.oKRWo KRW1*I.5j +K]%;d +-H ˆ^f,QRMܯEA+yKmJدUA?,R[8OO{#ٞNG?R=GHG?<%<%]{w8oݸqg]{w4gIéER,d<#<<ã:<#8䌸UCW vm7Ʒm&mLJ۳, pKǥ׃A|ۃo{m?փUJd|{·}H}N,T[,l·ao#̏G/kt`XcˋT/yUTefߒWr)ȃ=P#Y=/?J<>F,!?LCʢHt~:xCy,]xCWC7_JxCWC7oqRx9fIW K!,dN,dR:K:qN:qN:qN:qJpJ*t. p. p. p. *dn.dRKqnqnqnq%%p(.Q2\TDp .%p8\Kp .%p8\DdpI.%KK ,.Y:\KpI.%q$8\KpI.%q$,.U2\ +Kpq,)=I.=wC MEl**rN"7!U )܆nC +!ېmH6eaGI(à] + |pSאUBp`?~;KHe?U#?T,\~ I*D6ohhe*p2$8"vE +aj`ɋaN`ɋa2`ɋia`ɋa`ɋLyKGK^,pNVP`^ҁ+ZMܹhƠ?Ys:,?Y22aEZCˎqqb=Nlj8#zu]%"z\X qa=Wq]w =7zX;]\(!!"(KCFXXCץJ"z(z(ia]X*L+bf_,9qv߉N,Ÿhxc ,XraɍX,Elx0;4A uV<Ɨ!|CI⏲B"@HHC3muzѪ3v ĒKTXB%ouGGGGGg@OnZKBe= +rC˿y>Ja 7ÁpBݓ_Z =r3 + 0fRQKXraɍ])SE2|ȸvrvDÅq’%sK(O+Y^BZFFDc&Fo#>FD!ąŻ5CbdedW7$H% śxSoZF܌b7xגa'}xג]KȮ%W{%pCD! "i" #q8n6c!Sϋ#{YVwdpdm<3wg+ "_P )YM=܄P]6p=б/j hH!u^Gnxd~#""~=dfgduFbn6 7IE" Rp Fqc"%PCv@̀Z !p<e(ptعxD$4Z'O(%f {X\%WҾ p]ȍ%ߍÒK9/S/v H. }8Hñ;~'/,#Ł8q8J$#px8: #Á!#}[Ǐ[Ǐ{~܏~b~+~ܣ~܊8@#Zp#w /H #^ދ^*R{$NP8YBtjp&- n.Zp[- +n&Jp&-n:qp- bK +Тp*2C_F ^ b-AܻA/{7W;NAP){ +X(GNUP-c#w=Xaɏ%b +*#U'K(@p6A#Ep݃{w5gp~݂{w +%Gp݁{w 'pG~݀{wp͏[7>n{U6 +$É?2#É?2n@x,QO`D0l4Wz>6c؅|C>v"{~cG'1#|ONQ8IGpNQ8FD^pRI5 +_""5}={Coܑ?}= +KC+-=;U.ہ(?;Xpw9opw )Opw /pWw p7?n}qӣkv53T8J3T8I nL1&rc؁|A>v!^c7ؑ|I>vpL E@x K^|T>~,?މ(@ /ޔ덍|Rw8X»xu] +l%X¾8SX ۈhƱ9plNc E~k8,llHdR.,:> 5~XtH"h `ɋ%"n:"Mo0,iv6WBn<n|.% +KqXqዖa c `ؿ/ `ؿ/ `pzIN,%KHnō7ZXk!k!k!k!k!k!k!nOMHrbɅ%7,X*c-XK<c-E7, +pXRKT4[aU,vx,0,yŒKp6>r{J\"XmV*{DQ䅫_ɋRJ^K-y,yQR5 |A K^P%/J^xJ^xK^Q(x H/~مES>l/EIj%墤rvAV~mXT&هtÅ G~д p8\~~7;RW=xD8*(~evnAy=oЇ 6/7?\~\~"RcB +hzM@D41MBd49MAST45MCt4=@3L43-VVVVVVVVVVVCЬ4N9hN4FhZuZ ZMZ-ZmZZ]@ >-ր֐ֈ֘քHkJkFkNK%ZZZ::RDuh]hδ n9QhhCih GM H˧FEMM-- mmmmmmmmͧM-͢]]]M]]]]]ݦݠݤݢݡ=ݥݣ=ݧ-͠====}G[N{59jJԨiQӣfD͌5;jNܨyQD-Z8jIҨeQˣVDZ:jMڨuQ6Dm9jK֨mQۣvD;jOި}QD:u6-HѨcQǣND:u:L٨sQ.D]DHu9JըkQףnD݌u;Nݨ{QD=M͌z8IӨgQE=>EQ/~=zS먟D6רwQE=CQW稿DC;NG3 :΢:Σ.iicihi#ichCh. +n2r +J*jnvz,Aw]t7tGЫkkkkҽtOAz=z}z!1 =ޔތ6ޜDoAOww;Sitz=ޙޅޕEFNϦ{s=y|zޛއޗޏޟ>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>~~~~~~~~~~~~~~~~~~~~~~~~=:-6~~~qi۴,ZZoZOZ/Z.Z?=}ZC#cS3wls/?_BK=w??Cʠ1tdle| 2D 1C2d 9CP2T 5C2t =02L 3#QQQQQQQQQQQð0 Έe8Nf A1FuF FMF-FmFF]c#ȨǨH`4c4d4b4f4a$2213-ɌV֌6vF'F*#`d2:302ٌFF.'#(`2z3021302130213F0F2F1F30213&0&2&1&30213f0f2f1f3021302130213V0V2V1V30213606261630213v0v2v1v3021302130213N0N2N1N30213.0.2.1.30213n0n2n1n302130213021c̾~́A!̡ȃQ1̱q ̉I)̩i̙Y9̹y̅E%̥e̕U5̵u ̍M-̭m̝]=̽}̃C#̣c̓S3̳s ̋K+̫k̛[;̻{̇G'̧gϙ3_0`d|3 [wߘ3?0`~d7 WŢ,&b8,.,!K$,)Kƒ,%KR4,-Kҳ ,#2YeXeYXYXYXYUXUYX1, ʲXdXn"Y+aUg`dbfaeyY> +zVVCV#VcVV")9+ՂjjjjjjjJaubX V&3 ++Ս՝a`zzXV!7/?kk kk0kk(kk8kk$kk4k k,kkkk!kk1k k)kk9kk%kk5k k-kk=kk#kk3k k+kk;kk'kk7kk/kk? 0(8$4 ,<"2 +*:&6.>!1 );sX/Y?^~bfz+7{?XY>b}fMcGlfll[l [ʖl[Vl [ֱl6hvvYv9vyvvEv%vevvUv5v ¶ml;;`;.MI6Ŏc{55ٵصuu^gdz >;݀ݐ݈ݘ݄nnnNb`'[[[۰۲۱۳;;S؝ة4v:;bwcwggs=ع^]ϞȞĞ̞žʞƞΞɞŞ͞Þ˞Ǟ^^^^^^^^^^^^^^^^>>>>>>>>>>>>>>>>ϾȾľ̾¾ʾƾξɾž;þ˾Ǿ~~~~~~~=KWد?߰ae~;GO؟a8Q:arX6rx>GrD1G‘rd9GQrT5Grt=1rL3'SSSSSSSSSSSñpΉ88NCq8NuN NMN-NmNN]9'ȩǩI44444$rrqs8-8ɜV֜6vN'N*'dr:spr889ٜNN.'')rzsprqsprqsprqsFpFrFqFsprqs&p&r&q&sprqsfpfrfqfsprqsprqsprqsVpVrVqVsprqs6p6r6q6sprqsvpvrvqvsprqsprqsprqsNpNrNqNsprqs.p.r.q.sprqsnpnrnqnsprqsprqsprq<|y#'kϜ7_8o9rq~'/gߜ/8_4nep\p\p\W̕p\WUp\Wp\W5p\̍VVVVVVVp-\+Ƶsc⺹R8[[[[[[[~n<7 rqs Mܦf$n n2%5 -=#7ۉMs3.ܮ,n7nwn67ۃs >ܾ~܁A!ܡaܑQ1ܱq ܉I)ܩiܙY9ܹy܅E%ܥeܕU5ܵu ܍M-ܭmܝ]=ܽ}܃C#ܣcܓS3ܳs ܋K+ܫkܛ[;ܻ{܇G'ܧgϹs_p}3 [w߸ﹿs?p~7 Wţ<&c8<. z^^C^#^c^^")9/ׂkkkkkkkKux ^&3 +/׍םzzx^!7/?oo oo0oo(oo8oo$oo4o o,oooo!oo1o o)oo9oo%oo5o o-oo=oo#oo3o o+oo;oo'oo7oo/oo? 0(8$4 ,<"2 +*:&6.>!1 );sx/y?^~{+7{?xy>}OG|g||_| _ʗ|_W| _|7h~~Y~9~y~~E~%~e~~U~5~ ·m|;?;.OI>ŏ{55uu^ >?߀ߐ߈ߘ߄oooO'[[[;;S4~:?wwgs=^<~>_ϟȟğ̟ŸʟƟΟɟş͟ß˟ǟ________________????????????????ϿȿĿ̿¿ʿƿοɿſͿÿ˿ǿ=KW?;GOQ!` +X# +x@  +D@" +d@!P +T@# +t 0 +L ZPFPVPNP^PAPQPIPYPEPUPM#.8NKR@ AuA AMA-AmAA]W ('/H44444$ + + -ɂVւ6vA'A M.d +:  +قAA O/( +z  +  +   + FF +F F  + && +& &  + ff +f f  +  +   + VV +V V  + 66 +6 6  + vv +v v  +  +   + NN +N N  + .. +. .  + nn +n n  +  +   + <|/x!AR'kς7_o + ~. CQ/g߂/_4a.dB-B/BP,BP.TBP-BP/4B,VVVVVVV-B& cSR8GX]XCXSXKX[XGXW~a0 +  M¦f$a a0EI*L 3.®,a7awa0GC+)% >¾~A!¡a‘Q1±q ‰I)©i™Y9¹y…E%¥e•U5µu M-­m]=½}ƒC#£c“S3³s ‹K+«k›[;»{‡G'§gυ _(|%IZ[w߄ ?~)$KYWM%"%b8"'"H$$"H&"H%R4"H'ҋ "$2EeDeEDEDEDEUDUED1"*XCDn!"E(NUyE>_/ +zQQCQ#QcQQ(IB,j)j%j-j#j+j'j/ (JuD Q(KM]-zzDQhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh;sD/E?^~,z#EV7{?DE>}-"GULGb)fb+bX(bX*bX)VbX+։b(6hqqYq9qyqqEq%qeqqUq5q"mb8V;.[LI1%{55ŵĵuu^ONj⠸8A@PHXD(n*n&n.N'[[[ۈۊۉۋ;;Sĝĩ4q8C),"*wwgs=Ĺ^ >(>$>,>">*>&>.>!>)>%>->#>+>'>/ ($,"*&.!)%-#+'/~ ~(~$~,~"~*~&N\KWį?߈*~'M^GOğ$Q!aJX#JxD JDD"JdD!QJTD#Jt 1JL$ZRFRVRNR^RARQRIRYRERURM#H.8$NKRBI$IuI IMI-ImII]W%$('/I44444$JJIK$-$ɒV֒6vI'I$M.ɐdJ:KHJ$$%ْII$O/)JzKHJIKHJIKHJIKFHFJFIFKHJIK&H&J&I&KHJIKfHfJfIfKHJIKHJIKHJIKVHVJVIVKHJIK6H6J6I6KHJIKvHvJvIvKHJIKHJIKHJIKNHNJNINKHJIK.H.J.I.KHJIKnHnJnInKHJIKHJIKHJI<|/y!AR'kϒ7_$o%JI~. CQ/gߒ/$_4i.eHR-HR/HRT,HRT.UHRT-HRT/5HR,VVVVVVVH-R&KcS꒺R8GZ]ZCZSZKZ[ZGZW~i4 JIK MҦf$i i4Eډ4U&MfH3]]Ynli4WSK'͗H }}CCäå##ccSSӤӥ33ss KKˤ˥++kk[[ۤۥ;;{{GGǤǥ''ggWWפץ77wwOOϤIK })QJg/ҷ_錄IK~!(SIo?ү2,JF1dLKƖqd\OƗ dBH&IdRL&)dJJidZNdFIfE****˪ȪʪbdUfe2)s2BF(Y#.!)%-#+|2,^ede FƲ&DYSY3YsY,YRJZFVN^AQ"$KeLYgYYWY,[#!˕eBYoYY_Y?Y@ `P0pH(hX8xD$dT4t L,l\<|B"bR2r +J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3we/d?^~${-YFW;oed>}%,[E쫜& 9SΒ9WΓP.T. +RVQn2r +J*jEnvy!w]rrJ'ȫkkkkʽr/Ay=y}y@>P>H>X>D>T>L>\>B>R>J>Z>F>V>N>^>A>Q>I>Y>E>U>M>]>C>S>K>[>G>W>O>_@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWO_~@~P~H~X~D~T~L~\~B~R~J~Z~F~V~N~^~A~Q~I~Y~E~U~M~]~C~S~K~[~G~W~O~_@PHXDTL{ ?_"+UNw??#)tCTlGU|@!TbD!UrBTjFUzAaTfE"FaQX6]p( +­ R)<Zڊ: +§+EPQOQ_hhhhhHT4U4S4W$)Z(-mm)NTE"]TtVtQtUd))+9\EOE/E"_Q(TVQUSW P T R V Q U S WPTRVQUSWLPLTLRLVLQLULSLWPTRVQUSW,P,T,R,V,Q,U,S,WPTRVQUSWlPlTlRlVlQlUlSlWPTRVQUSWPTRVQUSWPTRVQUSW\P\T\R\V\Q\U\S\WPTRVQUSW~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3wU/T?^~TRzYFW;oUT>T}R[E꫚R 5SR5WSP-RT-S +RRVSQmR2r +J*jEmUvuڡv]jPjJkkkk몽jگWAu=u}u:QTL\nNVTRVQUSWwPwT;Situ:SYEUV{s=սy|uP[GWO_=@=P=H=X=D=T=L=\=B=R=J=Z=F=V=N=^=A=Q=I=Y=E=U=M=]=C=S=K=[=G=W=O=_@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWO_}@}P}H}X}D}T}L}\}B}R}J}Z}F}V}N}^}A}Q}I}Y}E}U}M}]}C}S}K}[}G}W}O}_@PHXDTL{ կ?_VQ~UNw?՟?VQi4t C԰4l G4|@#Ԉ4bD#4rBԨ4jF4zAcԘ4fM&FcX56]qhƭ!4i<Zښ:Ƨk5MPSOS_iiiiiI444$iZh5-545m4m54545)NTM&]tttdiik59\MOM/M&_S) ׌ЌԌҌ֌ьՌӌLLLLLLLL,,,,,,,,׬ЬԬҬ֬ѬլӬllllllllלМԜҜ֜ќ՜Ӝ\\\\\\\\<<<<<<<|y^BG+Oך5o4hj~ռy]AO'_Ϛ5_4hji(-]2,-[r<-_+ +"X+J2\**Zj:^k&Y----ZVMkjZ֥uk -qZ֫ixm@&hhjikhMʹ͵IdmKm+mkmm[m;m{mmGm6UMfh3]]Ynlm6WSKh }}CCôõ##ccSSӴӵ33ss KK˴˵++kk[[۴۵;;{{GGǴǵ''ggWW״׵77wwOOϴik׾}QJg/ڷ_﴿ik~SIo?گ:.JG1tLKqt\O tBH'ItRL')tJJitZNtFIgE****btUgu:Ωs:BG(]Σ|:.^utu Fƺ&D]S]3]s].YRJZFVN^AQKեuL]g]]W].[uB]o]]_]?]@ `P0pH(hX8xD$dT4t L,l\<|B"bR2r +J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3wu/t?^~Խ{YFW;out>}[E =Sҳ=WP/ҋT/ +RҫVQoқ2r +J*jEov}ޡw]zГzJkkkkzޯA}=}}}>QTL\oOַԷҷַѷշӷwwԧ;Sit}>SYEU{s=y|}P[GWO_?@?P?H?X?D?T?L?\?B?R?J?Z?F?V?N?^?A?Q?I?Y?E?U?M?]?C?S?K?[?G?W?O?_@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWO_@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWO_@PHXDTL{ ?_ֿUNw??j t4 l5 | 4 b 5 r 4 jƠ5 z`4 fC!`1X 6kpm 2<Zچ:g CPPߐ`h`hhhdhlhbH4454347$Z - m m   )NTC!ݐa4t6t1t5d 9\COC/C!P`(461537 0 4 2 6 1 5 3 704261537L0L4L2L6L1L5L3L704261537,0,4,2,6,1,5,3,704261537l0l4l2l6l1l5l3l7042615370426153704261537\0\4\2\6\1\5\3\704261537<0<4<2<6<1<5<3|gxnG+O׆ o ~53fxoO'_φ _ i(#02,#1r<#(0 +"(1J2ܨ0**ڨ1j:h0&0qK[:-ILBe o\mhozⶾmfmfmz&?5ێێێێ +}@H> hccYc9cyccEc%ceccUc5cbmF10:.HI#e3zՍ55uu^7Ơ1ĘhljlflnL20&[[[;;S4c1Øilbj2v3v7fs=ƞ^~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gߛ_04h~e[wͿ?04idhZtT4=͌fE9h^4?Z-E%hYm6ED.]>BtJѕDW-U[媔ZZrrrrr\rd9\\9OjYVꔫ[[W_.\\\r%TV!BlGg*s7~¯U +WP ++YS*|w/"bTEzEFEfEVEvENEnE^E~EA_*|ʇ*|UUW fa̢1Kb,Y"fe̪1kbƬY!fc̦1[bl#fg̮1{bs `̡1Gb9s"d̩1gbƜ9s!b̥1Wb\s#f̭1wb܋ ạ1Ob<.y1/b~yc̫b^&旘1Ƽ-}1bģb>%柘%B0,L ¶p,\ ·,B"H,R"(,Jʢh,Z΢,FbD[XZY[*X*Z*Y*[XZYb,b-iqYBZ(KcnaiemckZ|%-,- FƖ&DKSK3KsK%ђbdIY-LKgKKWK%ےcaɵY-BKoKK_K?K@ `P0pH(hX8xD$dT4t L,l\<|B"bR2r +J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3w-/,?X^Z~dymW;o-,X>Z|el嫕fҭ +ʲ+ʳ**ʭ +Ҫ֪j2ֲr +֊J*֪jjڬvkauZ]VVgX[kXkZkYk[XZVoAk=k}k5ܚdmaMvvX;YSitk5՚efnͶX{Xs=y|k::::::::::::::::::::::::::::::::ߺкȺغĺԺ̺ܺºҺʺںƺֺκ޺ѺɺٺźպͺݺúӺ˺ۺǺ׺Ϻzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{ ֗?Y_[b}kw֏?Y?[~cj6MiS6Mk6h3̶h[[Y[9[y[[E[%[e[[U[5[bl6-9m.FHeylm5l5mlmulum^-ĖhkjkfknK%ZZZ::Rll4[-Öilbj˲uuerl=l^<[Vhmckgo`hdlbjfnaiemckgo`hdlbjfnaiemckgo[`[h[d[l[b[j[f[n[a[i[e[m[c[k[g[o`hdlbjfnaiemckgo;`;h;d;l;b;j;f;n;a;i;e;m;c;k;g;o`hdlbjfnaiemckgo{`{h{d{l{b{j{fKۏWlm?~j{gG۟Olm۾}QvagYvcyv]`Ev]bev]aWUv]cuv`7Mv=^^^^^^^^^^^cحvn;NvN{u{ {M{-{m{{]=hgoO77777'ڛڛٛۓ-V6v{'{=͞nϰg;ۻػڳ{{=Ϟo/{ۇ؇ڇهGGGG''''ۧاڧ٧ggggۗؗڗٗWWWW7777۷طڷٷwwwwۏ؏ڏُOOOO////ۯدگٯoooo۟؟ڟٿw +B)vJR)w*JʩvjZΩwFivF;8:9;+8+:+9+;8:9cisC3 I8I'sz՝55uuC;gYYߙlM% +DEQBT%16NI7A$AqN j *q]]\A[zC)$!D'Jܹ)J@^97B/}oٻ;;r̙cckg675054525651}kn1u0`h4444444444444444k`3M4M2M6L) TS)j +3"Li2EbL84Si)44444ǔhkgoZ`ZhZdZlZbZjZfZnZaZiZerL?V֛֚֘֙6666vvvvMLMLMLMGLGMLM'L'MLMgLgMLMLML?.~1]1]5]3j-mӟ{GǦ'LOMLM/L/MLM)֤w&L̂Y4g0g4nfwddl6ssss =̞bR2rf/ssEs%sessUs57flf\Ќ61kn1w0`h<<<<<<<<<<<<<<<~A!aQ1q I)iY9yE%϶˶_lWlWml~nnaivvv/S3s K+klK)6MIj +5ŚjfiVӽT3S55Z3[5sY3W5[3_5 ,XP5,Zӣgb5,QdR5K,Slr5Yfli;ag7yzĠx? ?e=ew2t;djTICU< )6'CeWU/=ZUu$*vKUHWIq=QrFS_UUۧ[GvUջދJ{/R%*/= 6wW՟zˡB v{;]%F(8OJ㮒UWA ˯w.a\ܐkAnhOS@6Sv;4q jWU۵>^CY1IU Wp'x\,CUR n{{b꽶7{5=ظw8ՑWh +ߣ~=URjR3^Qr<.GUf[OR( 0_3v-^tr~(SC+RCTxa 2ޯ8J-A%j^b#I4ZK%EURF;eJJ8@K"pTuJZSЗec֞3˅2IO6˙m'VYȳV|@~W%cgTW^sp|haB~X'.0 }<GU}2d&zK*ɻ4ZZx^E%ʕ+xPUӑ'j&=BW:C=T5[[}[NEUώ]UN+KR`&( ?3FWЩ<#&xIjR՛^柋ư,UwXH + +k!)Q#*`V s~ +@}jTCPpBؗl`xW !':u\5 k^r$(l0utI#:cS^8Cʰ n؊ XQVho6+hFY^RuqAvpdp?QC [v{|.Pkz/Z) +/ ;_6{W~Wug$7^8CpQU%ز ÒXvkX:CUIUR ^P֑B%dw(I݌xyfC{Qlހ"3Hr? +Js0CC:Wzw \嫪z:97lHll0/X["N(ϪWnl `8 +TR몑KaN;ҥŕɪtUӀ'oQrr›V):߻q򔓐x;3[";V;k̪yOMƯ"k|ϴgoߛIynnN,%3U."rwuпa NW;Z9V1@_ScdKrVCj;ٷT*.*nw  L\ǮuPmT6V6]tc4~Ҍ@i.ca?S~;n /G}>sRhm6U3Y:u1M ›oj47[2yr# o]^+@+H ,02][|/9it~sL )z4qejoJU?A Pwֽ/6T2[֝_=^&eAeKvM!eOP? +=g +g+|˜YW\@eo̴Lw凔E>GZMEImY3 +%NBt z?^d;JqVOCf˚5%%kϕ5[EΐbH)ԽJҵ6EWw#GL_f)1lQ01w-i: +:f#P?^%@ b2Йi o@X0|ͦ(ST?A&ǴXB CשcCzniKZ P0KLCp- rZA9ӯނNq}^ştŅuIGFTVZ(XY tJVgVW`NeRWP>ȋarW߿;nr͵ra4ϺoeX^]}n'$ BĽvZ +؃lowgfaև;9F 56AU,1-Whx/;-=ɿZ\ +{}9Z'6kF;UF%_on@"V y1.?5M걏j0cJUu \=ܯYz _\ 3wzLq.cR!r$ɮQ`W遶"/әyc,,uV !~Z|NgƩyWgИ<͜,fa |e;@zp(X60u pP}ٸ5]7R<ޘ}  +δҺMI?8S_8sC?* &W+-CAg +DS9#3N("" [sU` +}Ζ~`FɞWyD;Mɼ.׾gʾR"r3^@U=f78`h˅l73vEq"@#/BincА# LYӗ&2^Aֿ|K?? hX+Bc5L<O8 x \S%ߗq]2-3]bP6.f%v t>#Y%́L.ӜHin,ۣ+Ոl3a[+ bT@6X*0hnKLL=D +θJ@kT5`l.lx2c A>݃MX(+f&dɡng&<1]sA<x a_QǰMbo{"rQS1h° }6(:x#/aFM9{7-QT¬ZPu]C#| +;eX t;&A8'Q7|΃2棱 Ckw][`(qnkԇѭ րm + :,ppi.PL=f4 qQt|04e+]ӦzGAi~((U=ܤl72w`UX~zM&3̨G[;`L*&U]rT5Me`!vsYmNh둡dzLF<Ϸ0#W9/iAQs@gPݾz7ҝA:tޛ{YӚNIݔe[r3ܜlLM,<>g .kS}e4\ot\JV.j +i<bGoډ#9֙D2x@}_ lV*̢RCnհk=HBR3w$I NJ-J]#Ӎ:EYSI1ݱ)դOW1MQ+z ӑgaq.4~[AZ9 `?h5@xwDunKNyVH6C)Hu+R+wf\LO=M>Qw[,D҄dc@OrI fnK +qI(W4v$@U;5GјXGgpɰ[J4`L?p Ƨ3|>cklcsM#u4ޕ 7ˊ]>#con8P4a'oQ`tsk6&2 vִpOH nm`X||j}a?Q +0H(׵eo7>6Xmhhxg(b7oɋU2fCd^ao4ټ޸$Q +%gSYM%-H< +-/R + +dV\o؞*]%wᣚodqޟa\~H@uz kP +Uk~̃{lUSxҐsA~Q~WE٦P߯ !'U@jlG8{vz1`sʋR&SDeP^f)E 'wZr3X\@P>Y  +A/C-4Pkt-CJ S| A*"}Rߩ\Ї1UyCO{aV]-HCw/3{1- \pc%sajPq|qb|_;r80Tw. 'wu~?+JHy*v Y}$\x/WBbK7, +3~?,K&%3+*Ydt]ea崯ds5~}9-0,#BN""Be$b G2 -H$S g=zdJ"wߐIL$rgND&yn@$E"HRt)x,&sO#źbgIoH +$R )Y g+I٢ R~%)x !^ +UHäbkR;xTH*!IܤZ$vT/Dj#&S'bDbH,!%Xb=LlgHjV]R+^NR''SԱ:`Hݝ^+R +x#}ԯOO"ϑ9HI9;xi4AT M"ɷ/wuIl2T&IYiv4HO#HYe iytV^%z.i}Ot%mvi7H&[$$>p@|p ɏHS2M:%{IRtF%]'ntHI%cIiҳ鹓Fz-$}NI?IJN>_ d` F] nW iC$" B!^ed]2 ,MF6'#'ɨ|ddtS@$cqɸdI|d&~m=2LȤudru2|!I@( .%Sj)HP  CI{҆,'!NZ#aeI]H"r$bn@BBr$L"!Q^$6jE$ʗD>$!Bba$vMʓ$+;N5&|Hw$~E! IOf,"3"YdvI2S$!I2w=WkO'dYJ!8/Y\,~M|G'e/$"?YFVUɪu1$5"IudHVOV/'SȚjdMYs-KYߞJ6.dZɋlH6&#dK>[%lYE%.?AdD+:Ov ݃h ~Ev#{Z=Ȟ+do/{Ks$yI>HEd9Gnнv94J#Cawr 9܏D1Brx=999L#G Xrt9@!GUr,'9VMu cɱD @r|9H&ǯ9Q~rb=9qAN<''"derқlON%'Ǔd9GNAN>&'S)9*JNyS&r9՚LN BȩY䔃v#=t_rz9DN'G/䌙Ml gvr6D#+Bra?ؘ\\D~G.w&__+U\\CkɵW;ka{^rݍ\\w t'#$$[ɭv'r{?ܙHL w݇^r/F%_v:yJeJ5JJ w / e +f ʷʿ*/%`,& 55_ +BBA)aAa(ШиФKBP +B&BaBsOE~46!/Be.eMTerrr"j,z&m֫{7/6nBM#Mf&Eh[Dh[KhTh;Jh;Ch{IhChWRhWhwMhEh_Ih?@hAhB>I[Un-,ɂOHi+,:d:t: :: ?~)F!YCXMHA8P8I+t\"tMA1cy +? +?N~\.&tj!t&t!t +::::KBBBBBBBBBBBBBXR& +kAkE]:P+tIBB +BaB +I`UczHB*BBXb -zzznzzzzzy + V +v + '  W o eOfOQOUOCgggggggGf%foSogoo`hDTo # ;$- 0  + + +of ~# ' ,* ! p0|0b0a +V9MyG=NSA\Y$U G6 ^ m"^ +oBPKaj|I)B eСBhVH[%B!bqYSȕBz!5H(D{ DŽBLsA(Jqy´´Bt!~0=0.(/̨)X(̸+̴ 30waV5aV00{0{0sZ #B a00w00``([XLX,,+#,.,,,?,((l."#8 #&$ +IO2 ?M~"-!%.,uuÅ k υ+M̈́M s O[|-7¶¶ŽJNs;{/aOg7w\CNG8PO8'8!#l.L>ap8Q8D8-*,+"S6™<:&h\#8e|}&ႛpp]QK]pp;rorpyp˷•cy¯Å_Ä ׻ eFpp3LyKpppK=SB3gpp)o-?#

.ۉ;]mb߈}K}_š5k Gđđ]őő3őQQQ;Q%Vqtqtq(qzqLAqLOqq-qlql^q8886^R'rq{&q|cq|Gqѷ@A#3E+ℾℵя~gD*NĉQ_ʼn^b]Āb>1K -bb 1xU T)E)#bP8N +ObH}1T )CnbxqIw9b1 F%]Ęh16[N-c3b\F1WK$ u>.At?1a88s8k88{8{8{8gh;sks7sϋΈo q,.#.".x,.+.4 k  G o +^KKˉN+J?qerr;qRa㭘TFL)&O ZNy몉zuW# čMFqVqQqs>q0qKaqKEqqqk{q-BL&n#|, j)&(w%NKNjCkGO==U=M=]=+gApqbqowqSL)&y:b}ŃăQ-!I"Yk[{ϰF0F-G"3-%bV<|)5z~@Roa`pMOF+'y1쁄ѩpt`8?zӠ9C=rSXmM`>7w6O<;saNvL]]kOn}0PL$t + Jfy/z@F;!vMTeȈX? , Wwu|A':T|ep 2%c=e҆aZcWFx0yR +`7Z^}nˢ07#R -ԾەouR7*_p=ǫ% q:ԽCpz-VB@ԽzkW#m߼cN|8`ܴ0D|HZF}q#XJ]|[V3Qdd?w-7ӥ fѩ€ҵmNØ(7!8Ӗeac;ZU ºmXpA91}>aHRFi 199n0a˱n7c&t)Sm@d* zً* pTIt<2LHB*j#`T'p3Apa* mq],8=-БAqtC+o`sA,KG]yY > ,on-cz"bs7tPY:Q^bb{ xle֮H4ہXՒ*/C`-T ,܃4~ +n|X v> +d@F#H Q7}ix-I-  +XN tadfT.}"y C LtgٕYD$H +8ZzIfq<WF61Ƈy+^;S?n !,Fr0R@aVoTY@h|<jT _ޖWnMY'NO.ʕ)92=0@T atRйA>pXO{Rոڠ:2{#H@ad +MɞHK3exʶ./rUgVPFveܣ:[K^:;<¨x!4Ev |H<4OdxxcD# &xY#|Jb+x}a\Y'WS)fə FMl Ԣ\Y ac-2ߴpx2usYahpNM+4dŹ(e̻9tؔ uWեW_; =rt[HKvwN| w@)O >AC$밣?v-'=gy+ve.^!/4wG$aZ -cy%@1#%(gҬ +0?F+Z ܬ׊)jE[n + $S|Tv*'rݝ{% .9bawlBv'I\K֤ϖn[A7FLYr U`ih)+r%\p*P 3jqވ48v-'"'^^ GPE`F+3 E ~Qyh,vma`}[An\"s:aam^ħof<޷pc'ƃ[/t8v4׽3X.EK(SQuDrj6-)_OtcV4A#,2#d^MBqv>.'ZmRK+^WEp"H'~˛ÏW9zpl-$Zx%zPh٣Nh!vGV@4d; +./Є~ +>D`L1 )2 zsgXc/:?hwBnxVw~V{]}YЛre'ؕam\d,+LzWPhŻ"eiֲq.b V9/,IZqI5x-k1Gm6x\Ra,ƇwcL ZCAQ+юc| +(1فձO?ݱCmI7o4F0ۃ1k=ƺ$Ρs3dQ]2j%KVz/o$wɘ8T=><ᬀ S( 4Ƒ*.vbp7=-kq.Zq]Z>} +|A]KQzM$.n>@ XFC.<*.Z*ْҎ_azfĈJ&W1tg4L@VqY%eᾞ:Xh:{9w.'s +liQ#1ST--?(KF +xkJ|U.Y=^ţn(Dw3w^hn>Uxf ,6F zxDs=6 qh$PLC`OFT{kX;hO~Xݖ+l( +m\=rXG ھ!a<lSAw(gl1V ?ϖ[x ^1)H|N_T7薵N ( D.MPh Nyb$np|Ϯ,]m5Ll&'1Ov__/ *%-Iӌ#) )![Qםi`Jo/%2 ҺK&Y Tdo?0ļv%i+^XFFZ +ޡM_19-AG<*QLR[\3% ^Ʋ񾊒Wʑ:~=qDښH1#f+3cZNU#BgTn.z.WJ H`gH3N`Su I_dU\)ˍkKu&Cj絼BeG)`̊p &jfĽdԜ<}Ӻ3:f-dXxH@JY z;|MfMe!|Cn&)}Dd׏@uɮĎ_j|p)-YgbE ȰSuuĵ2e4 tR]47B#hf/c;7#Z [\fH-Y{x ?Iro.UO͙;:h=䓖aAկոwtvf.8躃V$)ܨD[=qo O- 6+>ƱUosxp8(:\)81-d}*{|֩4A甽0[2;Bw.Kڽ 8o>>5AZsxkn~ sYf{A~ \0k .Ybfo%L;fG@eX zZa.d30X5pYK-~l,1e§;xȎ;c/~ G'B3G3E"O +z_ԙ>ֻs1eGZmknxnOA2i[*\KiAQ]{Vuцo +Six1YԮKdax$/p;J`3|956o7n=ڍkxp +mU'+2뙸D5*~ +* 1S;]i.qf'r Җ[9MfIc`}9 ?^IތG(g&W#3y)N+htߣWTRj/]>l C5#:-xKcZTepD~b(i.52*p﹯G[+TҨTר06/Ml?`*0Xڂ¥,عuU-Im wUˋOM^IyY/V_5/;DO'8ޱ>cjs +;'nsؗ{1VwםiX֝c d"NϕS0#]:F<ϲׅ<0:߻g{Dbk^JX}~5 Ͱ vy Н[Yڰzu`` + +Z<|`T*023iԸP)nR+g鋅ds4b@3^:w7}tAa92tђyir@jM)ˀ?c{5r˟ yIH@0?% G˕솙̡'N d>@[X& hΟ} uDI DPQ5mbzS*jkԩ`Mцߌהm/١F-)Ǚ'7 \`=.kʀo4}cU;jblQݩޭpLfHsF+)[&%-8S!Hc7EdMK:71 A(&"BިD=I[0\i5ߑ ՗^߁}]ab8.P4 b#s?O-h^# +qKO~2X K` 4AjMdyOC.90cHƬ4;΄;(̽e_c}jH@ z<ӫ=b{]sL IxFZpt;8x;a-'fc] +49@;xR2*7qWBsdL7Cyx7ӤExZ/P3. +xc Fyd6K]]ކ}ۆpnGK$}(xkW?V1'M~Y_uSWdp#T0 +Nf(/ٱv%7n2ڮ8( +,+ >IEk7XIDɡlkFO2*odϼ®XiV0 KaXS +]0Re*x1Y˨D{z|chnvp_gEQ(B +@ayrIϦJS~c |H1kP$q'ްm~dƫ㼵@XCAnЫ(.Apy@?MSgYCl&^U带=#_xA< ν_&+n[䟨>`̔vd\f"XS>5+Eqj&|9ǰr.61.ݻIxj\7_D!>tb4rZ<) FGZ:.(0.m0KFYru{{`(F&XN3Mf$# ZAp/#{<#o[jG8a3c_EJ +sa-R !=|ūIЋஃx#qQbs95~*sQ:%%Q37ˆ&m+ %^&Nh9VadZɣPR%&|Ɍl!͊P˳$Iu V}:6s-_!=}fF3lMсɳ o73H%YNLlQ 0ٽl膋' `^@'@ Y-uwTu>"UGjs<6]$+G+QA͍J/qfZq^/+Ldl 5爡va;| +< XV[PzLA:>$d_LfL)gb39Ch$;g^؛X{jZj:h͓{qj<{@a&Y?zB66M2`I؍Xqy鬤0D3ϟv^/q`]tް}&+1[fABR)Hr?WIXU%9$6!:P~tgGbݚcm׬?WQĘWA6XYwTZۣq ^{#/4WXQfs[}('@q+Ju#aF6~l\Mɵ"*Xf^S!h. Π m*3z^o* y.)ȕݾdҰV{AFds,GPX@\/&չі` дiFAC S~ŷpa`YghgRv +Je5GL,@Bv{vN|ϔújAn=pbCLk4Vuas%!e;3I\^LT(?EDy5\922COI 7#0sg=G` #F )7]G=u}GL?]}&ckq}:OyH@}A^ȥ孊o%"aڙ]p^q f91~t">0->`}ypa0!9J%5ԛ0r70%0OS؆T]2ĩgfm@d 1o]58LJDs3TМbQЯ3S1ddNJ;@SAQwQ@*#_@ذx~qK3샦ۋ3mc\:EP +fj=*j3eq )~@{,lsphثcxhSR,~\q#^VuK+E}ǩW[c+rq\\pBqHg⴦)sqeٟK/P;=Bi/G$8J]+(Dn9CWLT2,vILu=[H1/>s=t%[xN~7P$h1%ZL:-;p^9kvӜ TYz~ѴY׮,<>i%9ۇ$¥ Vy(kу (.eYp Ichi7 &YW*&\N?L`lpBUWZ~ZG9u#U0.Yϳa#AJ5D r<(xdo( `R7n WyN2bi+/R=Qs>c,GRdA*-B +6Þvc:/ZzLuqe䤟 ^mn+}1jWj@.B=@"9{\ ڣ5T(X<> DsUmT@1cK@L?{=D՗~O++ +sX7+6")^j~!D}x|ۿ*Sࢤ|՟Ki5,{A@"3;piIQ6q!keg Rh?^>]j UI [Vl(3_/,JZ4R{|&fɮ@{G,Rii@(ikapL>~ѹGDwez$7B}q~:}-A=p(wz~9Ȑ~2Xnlny"rl`h,e-'Ԗ-c,zm{q`s܏2uʤzOKl\䢰W4MzXd>ݗXۚRo|/oݗ`o6.+"p1M mavQƥܘI1;ƴ_S`*–{Ap;zR%mBSy]bq>~;q̱˓lOѮSeĽz ~;Z} ?`.$PM[J8^V&یI{?@rG~ԩ'Hp'ل'-IJSxQJ VI⵫}0i?ɨdB^h5o&}Ӟ["_jJJk,jt(wzGJ>Tee'K$1u%I%^ +Skiq8_(ܜ̧?EpF~2psI`t{Xqv;&k <| &]03^/s/!iQ$R>:4F m%)m1,kb*! !:NRڢ,Ɓk4pø0n a ALBϮ`+f9eH sKdѻW醥+vKt(gtbzaVy̆'Xgd 1&q qgy[P[ W;y_x-IɏKs*%ANE*ڡF$'?SOzi@)>0B- LECC1#GDg8:0[P؟uZy*@ToXYwTe$Ջauˊ+ӕ޹2l/r_+0> gqʼnJϺS}f;c qJsuEl,uj>}īieҽ_ ݤy}R@ߡ3Դ?kW9r0/t%[L!IuxӃЧ@5\e +յ6*e\>ڕ>gAJO U!@}iψ 2^x磿gEs +I~<VexG?0PCRɆ(~ 35C}!޼^ jVb0[w7s5J7\Тz[Pob/x=h45R3s %{Б&Oy?deTzN5B9e~[wYZ:t(xdJ,,MPFδSf)gfT-[2 QT3 |̏#5e9~w/c'r%I'HA +#$ab]Dq6ƀ}Ix uk#Y؏d8vÁ~ +d3.%xyO_ =1j2+}>v'.w [;I?PA@b:=Դ̚+̌f|&o?tJxܯ31TU/ TgAɇ!tuy-E @|Z^zԿM6&#T-!炽-FǏe1֏YSFç +V+ЛA#L0r5k1zh*W>+)o3ܗp7wDyZ +<\js1UF!o m*󓵾%YM:@Iu+˼RgrŜo KO* A 3cVɴ{ +j0V<߼gL8au`J07v=gCއ"z"Pzw)T5p .nD0S&`%d^Csn&lYa’KJ%,D?"Z3SԓpțXD2"r>:6A cO*cESqƪH2F  E"B[w1&qRda¿5P 5N#xLufrh!bx +J4oLn; ɘZtƿDD#Dp%IuE`?ԘnZy;d3(Mg$slZv5p.s{LOQjS׀GJᠥ3 6htY5F0R'T@/JojM)B.cup *g?)ЈxL^ܱ=Y.WIeH|v޳ +C7-=89pΙ35pX6 w[@U}Z-IP ޕ*Ÿj̓jz+)8 p= A@hP\Ӧ*62f~|jLiϞ45悫a8<{arf>(n_IU߰t[ؕOǫS\[3k85/4і|y^egcȔKK־#C/$ڶQwOP7PSZsXu)xTQ44Ɗpgis +f[nUa~%pcg0w6ݚMh~}eJzSt`n}#iSo:#$mMGi;Ne0-)C Zj̲ZvQ$>Y0dw`$Z4֍H4*5A%1VvPAE覟D2ooٳicڱ\#p4&Q;uΏvI$g8\wOb7~s:9pFDiw>Zڳ'`wSl3 o6h՛WF/?~iaY&- QC&\{n|ibG%.񷟖ֹҭ3سKPnc;iZͬM(֏ ٚM(VMh4o4v"p .sGU]r4crvBjv NWή㪀PyUM +8i$?rngA"=ZWS4)uOKi0)E2ư)h_C]qR4\pJ⼍Y)x9*͸=%`C,op%EpVXE.}v{t|s 8gI`#)ij-H]FLӞiLM9guTv_sduT9a=/hYB<{"M`5C#<HHpn]qEq4^z +g :ZM>sQHAKqyhHM1Ss|֍Zf_7 s2@a4Z3\-]}f(+=dzotb\ZEP<xz!)>?˟7:tPI'r%S8* kw|AA +K0:_Du2IJ4Able{ypʝHsT3KY*.9rǷ; +57K + V{&;c$Ǩy$[R`BRFL?[a |^3~2E~& YNzd/njQ2S)E^K:f|IЮ;P㫮ߪ޳*sl5gR8|U0eb +!ۈ0Z86^2Z=R\\1 K=A T*[9S8aXgv}65ڵ'SOawW+U2Ѐ9󋏨6ux"+I Q7g7Chhx u[7j?2Ꝼ,hJhtCЭL5qC + %i_8f㔐2rNW01<ِ.8 ar% t_2U.0Ouƅ|3=EZִԇ6J:wk#EǠxѐp=ۊڑ4ϸ E$Cf E<Ʋ<7iO^՗\[&m@abGUչJ?."Ǹ]" keQc,9h!b4t|dbbƟ %VŢ(YPV: +eکX}HS@ gv\W 8>^$AL]@Fkjx]ڊ50хs`K5w\-hA)ԝҘ?1yfC<ܨ ˄#ٰn ^忄f`|_[LUduXˍ V {0cQn6hXN#.Plm0Ax{#Q,N˕ѥb*\5k8{W XMh  ɂս>;crMKl٤B_ VhS1~FOHoM4d4fNV*jv;NGct[r%$W%-ϕF",RP956k).MyڀbN={s9wlYP+HO07L|>R5_Oyj|wZ*˛NܻX;h0 i5L܀r k1_SLR ++`mQ91~_%;72P a_;t(أ@;&  aiMzaXZth{wݢ;)Ew>R7$y9t81I +taە~:||WUn6YIY ѧu$]w7e c<5r ҹo +{a5]k). Ƿ]ɥXxX;1*j'Y^М%Xt]4MR2LcgӿRFBXۮmm rcgL'4ab[ISZ9gne$u2rKQn>4 y&.w*Hg7={tG:ؼg{a?3ׯ{b[̷ׁ,\LF. `:]5~:m.uHk?˕iѢN-@D&5PBj5d"ة6[S~;u7OO/Y6fЁ㇏CxS[@;PCjC>H !}R܈,y0}:=%AR[ԐjiC/yU([ SS$yǐ0e6MU\X&P:gtIOS>2Nϡ*eQn^)8Q)8q)7 +q3,NޝG2lI0ld")CWgi#u!`_+Zֳj.Ƴ|ПG͂!wvP-Bϝ4-Ԣ m=:R2\l~ |g%ik*MPZ:!XRD\T4 +L 9Z.k4}');ܩߜ)aEG8I'OVCR/vj,M|:=".p:>hCxb!Dm $BgOb7?:d| ]FITE-Z)q_46jԱc<6cO0DATzWm.A;)MNtI(Tb)9>>I>{?Vt)XK[r LU_m#iaKnM=Joڸ鹜0-a{9B{J'Y$4>L@ (UZ?PewY}'8̺9AdRp"983D +Ψp0G5u@7B-UJ9];WtkCcD`zqz蜫/XYC6GwUB[OOٕ2^QQ_Rr!L=^ܱy~.%H%ۥx4Յ6s8u) 8&=ԴK #%cTTdF\Jd4DdÏ-{ǂ2~[X[5 M럊W޵r3o>aO5a ;N_aG: 'elF4F)>ԅ>Ұ JW"*\s>fwAc3SB+o( ]JR1פ9\z7]Ee),!w0W\˩os\據^Ja_kϺ̚ G>Viڵ|x{fEb^5Mے7UwKDBOM PnCeh.ѵȿ;A=-vۛ*P3?,Uf13M,,~9j_>Wٍ6|Kdwi_ie_ja%6O! YlK枑>%U]HҮTu%;U2R= ~7 ,7|}Ƒ"A:2Pz%UҊCeW[{񅽀"PsMl6QD!F +]?%z6hm-=n]^A/nqeп%kn겝k™y-$R/dm_B ;vaY]^~!`_iCaS2G?A]q,R2<|t#ÔM8@l:j P5$mz߸FcǗƼiKxxз].x7Y,t͈؇'>[=)2`g l">vǦMkREc&?py~+{n^ӕ,m?PK<߬q_gֺ /vQָb3w\#Ţ'*0؏9K2qܑ&?|~=3`</ggBB'pnf)y)3/ei좚D!еܭ>N Ud gOBIN~T/v*u,Z~`(ƎYȽ_V5ݐ*>Ј' q]ߠu hlZ~9UCY-wfǻרs2#McD ' xւ`pXOʪv+c`CZ4ͧ9m@gĬu1Oζ'CdHlPt%/@ݵGvLNqõм^e6~G58bgJGY]ClJNe +ac`X*]$Ga>U[a 0Rq\>4`+BK}25`D:K~3xr[2W%-)ۺ iP`vS g`Po`%JRT2mY?9Pk03J \gɉ)xe2jjdݑ4Wn/@KƼíg0 ³iHuYʑy8txiN*ˆ2luE O:%QSDG\DU7y4B.ⲃ$iicN8]կ]h+8T0}☣ٓ8E&bi "q=hWMp>GD4, 4*aHJ5um~[j9qW[\|f@ S%>d1Ꝉ`Lß\ϊJORE~L>f +V& W8Ǿ*ɽhʌr/jj e 8TL.z:̩Vʐ~ XnES[RspҌhn~ۄZ{p7$K^9 ?P}43|x$(4<lM}s='&1̪z*e!cVX9=yiMFU v4;|A /ٿkO_=}U5f>YCdJroBұPEj-t|Yt橅|:k<ָp!T?JOQ$pթUi}]YM$LLBW`I$?2]a\WJJT9 +;͝*k}|wi2)gr.=!&ȩB_o^TI듰0JT/#ϿΨ*J7}<-.ziaz 2Ws{w0>`0;&rCw0|H&VjW\{Wվ}o _g#RPH- *fXd5 *iX*D&ILhϕqI#Qup5:3-=dnN͛l>(m/ț2׃ueg>m =wPja'65c~Is$Rm~ݞ/2}*OKsoY߳}Peb-Pe3d3&}2'ݿ˝mak7"g'Цt6 A\ @[gl5@[:0*EO]iu>," +8-l}lJ 8#|Җd$K|ec>_2m)OAૂzf{ݻ۳,~j~c~R4FcJܘ$?JP4 A4B oNC5^I`9Vv4>';lP>iqe҆-Gաl,?Jo6_"x8V*Sڐh.iMē>Ǔ4>ΩZm~pI94W(DhH:_=f^Ih#=zSCZ+c=zFt v*vpbbEH-MK +4gfk5RXK@]0G\bmt`NM3 6KT/⃍BvAկ[ج?>}[.̗ |U(Qkɷ2ֽXLhѪw8\u-l/l'# u4j+xV6}'Y~2̇^1IaS];m=]]4y䢉˙?Aii3j +@^k8~V,ׯQy ˫=c;p©ʌ4pIT4*CXL(՝_az|V|Cސw\\`)Qjȯ|>=]>_T'*w$-,\K)>p!=:M%RT.&o&20u}F(ArѴi0Jq7eퟹ"%U+E]m<~Q*ۿM,̢W0]u.;ґD9$\;ϟ! X-ZIcw iC序kBMr4T?i w`+w;N15r-We~tpk=hwWɌP% +.`5a~Bi]vZo#[T de91WM(;q/ܢ@&@#ꆆA fRei_i_ai=caϴXX6RzB{I÷lA;=]0 ރ$\l7/b7F@J$czVjDR+\yR+5WB}?']Mݣ ϓ$t;s#tk@r Xu `_JJF}gVxa>]b%*7I.6"3ٕO*f:3|o>N)7T+*+?#Ƈ*VBgM7>=!6JbJƈr.ݨvv'63dL|xEMЯ*%jr`"F&0cѭ~IZHwg+K|$/iAa4pyiRv%gtk<1TئqR=tW~= J/dY6"@#. >zb_{nW}!˪1 9JrmGizl .bjIg6?ej~žr_2C|NNiBs&drд~=J)% 7yߠ[SYa B g"s=x:q5Mly^[%|L/&@> 58ЇM"agİ>t:V|Uc>Cz>\dtQqz|6L^ul}4z@fij'{o.l +_0h%5$i'ls^i4? B@OMNͳ&TL~uIss$쮃f:-|>(U}9 pܖs`EJz{Q\"=K3 3 ,<;]R= s7>8S`* ?Q%sY.lfbV[meYޫE}T3{~͘x|Ȏb7P⨡F)57aqӭBŁ>~Բ/RkV PҊՠKP}fҰ\?xz]WaĀ\} y$ /' Y7*Jf,F1 -hK3x`8`lt&}^\믩x>3#5=|5ᢾx\vJEn;)wzgzRt&7eB,^5w:0Kt [g'bCy2ÏWG@4(UvpyM\ ,pD]`l:Tg0E~XsϺçF3kL w)FdU +<߲_߰PqpVի)@<_?yv7@_3+%e9K`ki0q^^31A.xeNKOT:5:.s#Ġ ؊v{;~@R3"z 泚tm UŨJiTGI SY8w>`Jb@g& ]z³To|MuﶩB;0yVwݜ}. '*ϥ# P"RL{ v 9UUus0Գ}CUz tDV6aAb= 6?p^cv޷=x1>oXW=&ނ4Iohf8 D/ߟ|Փ9nG O'C'M\U/ϔ [qP-d/ek\J젮N|AnIS +\PZR`Sc22fFVƥgtŇ)X2P$SjG[=WF)St ⊰dt$`sdOSbB+[Ԉ==8Tؔom6̾ti +Rޯ(NЏJa- Vs1,I>eG LG)[NfGq,;]6`<ط9gv:bϰ&~qS QWg" ~(5! q + wi,%vvFAUdyz:tf0;s*`UJ*I6@,3ژV\kkh=Yhql4͸qUqml* qڦlc?ڊٍxl x8bFƴ^fWOnjQy Uu]u0v*Z{fWx y D([(i|J0/0Za^seB}it$m3Q/w{eeOpIv&PO"goh2D|$pW]RE}~gr" &]i=#%ӧ> e[#@/4[Oy@W'y auKgup36 !< |vO obZ:Fʵ dk\sB KuHR WFLD g`fjҋ~}ITRJ Fd-@@7E&:4QG7.,:,ڔ7#ágR@6(:l3D $A8tX +t#zFGZ4>(>8DRV" BG/Ô@`A$orBb"bh4m01Q謕R)]; .gtv:jРDi9؀褵ΖqӧNkp!Ņ 3fX60cXAC) `3nzbc%LQr(1r˨\ON/_E*wVΒ3~zSf*a=w_> +7ȗ ܠ=._yqj:otCb%eZ*w6,nC~P,. &9ݔcTauw !:7hO% ,N @14c)SS10##ntLDİQa4n t3݋C1ݗN s#]^|l>nf J钜m#G7AԂLiځp<:7b^Jc$,,03"r,,H qnHHr:}gtQd%QtSK(#_S)UzŔ8y!{xioz4ڠ;mCyyౠ&=}cMGO/=L찍M7KJr7N>_nW] r&Oc#ZWwɅd/Zq,ฉUwPtِ\J8(:틖3뫔r岻\&JPݕ8PkԖGf̎\Í#G޴x~k",ŽW@i;"^ϰ+EkP6bvv F7?68ܖm0lE dqFF:)&)ٔ0hJɔ 3ΐz8gP6xr1 +b=ur^7 Hc6\MOPϙ˼:}UWClrF1TXvB o5htF "'6dEmr^sQF aѴp+1 Le$D0gkk،t<+e^~妇fGc7Xn0cO.cPM0 bk86uK'mیn2=X5;!%۫eyeN%b3ɫsItV<y*^R9Eh`mɓd63:N3(f3e^6Wõ@`)TX )$AD$tiT?d&้#)$zijc4s%62K*7.Z PhxP.׬7>\TgϹkf(Gl5*`,|:/j=- S=O X񎁙0}f}}*7Y7MY9:C=^8.wf X}5֩]&U=340\actcN&+Fi65~Agƹ+FF Lt9^!-  7a?@/oo|LADQ s*l vo]OcBp;L 4:;[@ O]a +ɻ &nЇCr^HrE;^Ypf)iLQvHg`B>#WNTq ,pH8<;h6P>?+Kp'sE+aۙ6=A>o `Բ +Nq#8.aj@WO:-/})|ig<ݦ}0;[ + |,7`UA~&C]^GB)Ϡ@~<aYHsdZ6D]$ӴJ0%'4rRvp7%=G EtyP*|OȨR'Z.fHdhzh˾ +3d +nx%W:alt=h$0$@ʒ4pLy4K):!#, gIhuv{ļ@ع,5%z;T6}Y!]eagHsr'9)YOkL$,<9:`>ʷ0Z iro09ܚFzb9aFıL2hE٠6p g4vn6?~*KaŻ|VC;KzDc4 t?تH-4:NVS\'xwW  'kS$|[-^;˕ ,wzGհ +E{֙,!#&"/ \/uvN#=GV6! (/IryȔx%XIa>:+bC^g: +% +7i}3.{*aӾF(|7б`|8KَjG;:Z\٭R!+ܿ*- ^ KJ1~Z0m< VY^EL]c*?ZV۳K!eہO~8{HZpMr! ; ;.1=62yW? +7X^9I&Lyqn6?Xlc mG|#oQ8Q05Z>F?:\~.}?t\Vx^s8[fp2_*':|l +qz+RV ;Vakz_y%]"<7Sٽw-wֶ\O5ŧȝWE +7 33vAǬK]Khbxo.fpeVɾ-.oJ7ec OȐe6URwm٬iZ-؇ߕ&p*q W05s`r¼!zE˓N=c lCg2OY7&r-K s^l > +h;AY_ Z#jvo0ᢪeA4> *d/0y +&~w >IȰ {N%]2| w- +#,&*M4\}!PBܪsaS],cF$ ~U[b+;а _^ ~G }ո+7P42|g9O]|?}yU g~Dm(OXH:;LÕ;d(PʡvG>Uՙ9LJe#@uDwUݼ w5g@ hT)DOsVACSס4n,~d`Nm5B%P<5(&`{u6,<`q9F3W7y:!̯s e"#L#c³ٓDqt61xPa͚Kh`1qKR1Q}rK˄4ԗhdtqAoV>S~WZ.{R2Hi6$->j\V C̰(ru=Myg4-$n(5x#FCK\ӕT|Xe4#ދ1/޴Q:Q4Sl|η@ϗw>P08ߪ*rrG$8@Cp +hN}wc&s)j̄)/D%Fjv~VGR%4zG/nhs{4G;~S~`@|2p1 LO϶dIYVFBz !cMI=XysM)(; {!FɇlY dj; [6 9<0OY:CͿ'M̊tT%$͐yQQ*uz\OU8 |-\H63Pc$}x3ʴiNxzGBBN\=oI{3C$pÂg.&G)=_;,mdZ )3NlS +[[s9 57ו0O0BЩ+=EMh(P;v[T BxX@pk5ɮ46s{cG9dL%<0: + hd )I/,_\%1Ur4sSg$]p)-\Iī`) Y=[:'&m N-2*|e4~o12S@G6=,0kvZ>âzwB"X3'PQJGc (}8x4a}&Ys A fmT` vvps ot^n@h+O@Z]`/0%$gym6;{f.1?ĵi7DH0G͕*(Х!1#:i,|l BKM 鹊vu`^Ki y43lcfHwbbX)c:8b"MC')>aXL/tnXwJu# #T29j$(WYbp%&:aZ|VBh".ZJˑDK)*bE%" &t,96R:/|JL P2 sVU!2M`ፏ4͵ x/~{ z!%j@'xuJFNK2̍\5'rCn01q1ѳ4N6ݣ{R)L (aO9I? '.D73F)JdR_k ]J^KUgH5H(O>٣<6gl.9H@75T֤ 2 `m#j.qJ]1ߟ?.ɍAn!3ʙ=r龝:(=';>Z^9̳ &qnyVw}{MYص{m% HҨ{2k%*Ea\0GJ=`BKy:hR1D>0$Ѥp9ӌn`GEKrfB,tDo( Χ $c\L?Ip+61sUIJH{mnHr̥Ҍyt)=aM" 騨@.Cf$P̎/f%F4N;jjl%ht 38:.z4I$OH80r"PJix9҉""Βo.z8ͬ{[pQ/l\?sHi~ԲhO qn#`=N%}|k0d܈8?=s;Ҥ#%mKd_C /ϙHS2seMٞr?} J1 yp'ڒ샥w=q⮥txIO㬀PA#$ctРvE&)VJ{,a/NXT2{Jɯ.\~i*{Mr.XjG(YmzLWڃ̥erUNYnh=ԙ媎qbz凨=nW2pG,0sHrڌ|~#} \;uqoRuRCRk$U`sIr%i5PÜ./n@Ky҇ o?*,OnF|Z>B5e y;>'q Ueg"/rSnT{J1Kr&r|J&,lPcSwoRLy@HntRL~-7 n.=P6 J{j0VGlm= -7Ǜ<sާ?{gDrsTB7gRK7vJr}9'}yѤ2 gl_7(=Bg[M&my :6[&[V;QvUM!=}WfTQ9N,tfkQY$.'XS@H2/:X >༠mؠ'*8hG j; +dd~|3d0Ln5fTo{kg]UP2x5~o!_ۀw(LDή +C$3eQoo +aXqG+3nj*/9)ՍLaR0^!WQ€(P:*=Ji9 6zJ+JbQ+&rr,F lO?X6p.M~Zg\gw .C2-seis&O )&MɎqiԋ ET1ߧT*'Ȼe<|(~U"l#%cH5`|q_`{!)C\/H$m0ңKU3ΊOx8|˱11` +"JٽF[V92B֤֚JՠUe6zޢ;g lɓ'4s3ؾ} :%7\?% _>p.= Wc.\^(w,owyGuuHGIv%M:p"Ӂ'U CVm=4tA \N|ČP[U0ؕ 55bi(T- x߉Vи~ufIt3%fV-H0=;\]r# 8c rmɓ}!dFPԠЀSGK +4L%R臓=53GƆM& +j<$m yK +l(4~jLpPhhؔq>1~?`ִƄG410|<TP@Q >-$:`4œc&N[(z** ;|ƒnygL4TipUo<輈 vĭ]|k@Kc"$6/4p8,8u ,K?Zb3%9ovJuhqA#>nL?Dn]4)hRyW("m'VL]*UMP^Z^v@3"ca nC@qmX֙92KhMJ,`edesy))$|g>0Z0";׋#R_$2iT9(i Fz'ڤy I4h0лhiѨ9פrIe[W6џq~0,h}v6oٹ&/=KԀsONt;P?n=v,|S4kdK]8j }Phu8F_3eE<>a< $ qpm=QwZN;}JHppPHĠɩ)9dggٵq8;_ZhG}OVm]ێbg +tfPS z200 đޗkǾ( ꠉ)J䈁֔9cbY nrokk>^X ﭲ& [:q:i[D,*o_)R"5#%_Z<u[>ñW"A2ALHlb[WA [;& L0)*?h܄Ѵmϙ̤ @8 ͤo[20$ KR쏨|'M)ύ0 +c0JzןӇOhӇαvYaKiiI6,e?fO̎_"IAB~prK4#]oYE_L0~B@zPQFNKN GJz䩚؝0/~S+usɼB[wa]GS en}3;?0i_ F & wh'V@-Wk]q+tvA) "R)~] Ktp2fA3"'G%$M-11L19fL\F} aT&koﳾv b7 +Mc2AvJWN ,]:|Ç`R}ԌN)28ܧmc:ݧ|Ʀr߹'%&&;}#F-[XDDx',1" ?=niub5 @O\t>m⬸t]UU񯪫*L VjMHɑ Eoa ߰Z"DbjPE}qc1DeFƮzVW#ȢӪwzcZp{%}」O}?jj@1B;,8 +4VFC5r1cX*##JzCF_/[FEc$_}˨do+ꍖ?ևx ޯkĿz[W: 'bĈ,ÇOMW܇;#=}ƌiM89nZ֌iKti"]&4<5OS/z@ODOe2`p胍|1(c0]pj} D?ΗGoYRTrp*ng0b fj?f w=bHW3du) 3gbƫKhn|}:NL4K3 @;%&:^U)>8ѯy8T)Jq!=bJjO)I )щZ-5:1,1Lzj M>><%*NenO TI''Q'*f H ua HLs&STzfKKLZn9% *qiﳲG(5g1뾾pnHWpG +-x}1F(V.WzlUG)@ ?+;ds%P7\=:xVwv4"=U%xV)zCJfeK6hFW_gU'=bh=|6ϧ<2i1!41B!?5~~ +g-TFZƲ78BG<@>em:E|j3Br{+sf',B +oeQu\GX*ӎZ}sH8si /Y)LTS'TS + ;3ԑkZ5u# k|>+R,*V\9hݺN}&bhV7y__)l#8̫?h BlUߨd=MJ*jK1@yTb!XloT_ԙX_W˜+&30p.Mmy#H)j[oe0+8 Z$'o!Vʬ|=R&z$[GTͨ|w+mh_meW<-6G/Ҙ&iZhl͐N6~V}w"EY>ZfމAގz^cPrtp>)*v3}x,WaTJgG,s͟=۪:[q@[vܰR},i~ѱ9pݽhCR`ک-`0m6%&dj`CicI}>%i+ utчwviJsD9Ho3>Mx3nWNU{mP_.].b}xtX@ yоWHop7x+(L`o]C* P=iw`,ySfܭsC-OT*.0 t%Yn3!&ӵڌzFCc;>>S?Ҩy<ĦK?dFc}ƮRSyeӜ,,2WCadDQB0Lћƛeº\ț[lGkF1`pfUYv_G ͼ(YNVFORĢ]dK0_PܙUX +Rs_RbhP^K hQ'kXQ4*i͉BT,KmdB_gO^ƽ|0#ʣG]KG)j%ꥲce4ZSJ/p,uVM ˉBAR#UppKCG}Q|⧚1ݽpmW~be{i\t?*4YiNJTQ5=5x0J)'[&{Uԯyxc5^RA +sel/A)M'{CnyOYJ UOP5Kqپ=B/qϔ+ʚ{_kNhכr xc;aְRC9;KnSHx~@=,E.O֜#'gaC.j.4YHT܃-mx\@& u<)e$Oqw ?\Y+S_ɴj;Md?(I5'db✬$guf= F̭wfqv$:<1:SxM:OP~Eu-#~8=U(dt/|f+j W~//Z<ءm|W{<|}g&㶬1 TDH1 4slJ+jn12dz/N֥۟!^ ×t< ]ie}K:лrY5*.ܱ/S+dhbGj6Qm\ou! m7sz$$A\OwY7ɵ`G`aT7%>%6v-p(5Z޹Do5HU&:k/e^S  tUm8Л D@LqNK0U'C:/`U?fP D\7%i4Y*)xYvrʾY$ZIPSqϮ=lֳ~'gk3YUy~I?ƃ\-4:zA,a,ٝYsOMSRD&}hOSf~S:I ,ZVf8yg4RP(sYk +K?ljJ34TJŌ{fPq\_|v*A~C +'η.B N3.I-gIc}1š{Gh,Q x*Hfb .q34碓zU2Lf p}d} [ӎe矠j8bۚo_;Z?I)zd.x,]D7XD6 Vw6!KGʒ'j׸ ;aހ::ʽg|ʻ{y)O#X,aT#Z&4VMGFUҍ4sOUs-dy9roOj0;:K(J\CHt$ڲYAcQB]0D9bau&+.OTLjFx%n{Gi*E]̦`@[WY9gn;E>A,0t W,d0L@gѝ @J +WNA^R"zB);T ^#L5 Fݭ 'c{Z~b͆q@Jw$)S3D%᰹r{sJUynft$ҳ-$"bYTWU9{EʺTpAR7+F` +Mr20ZF t~3]3x|,gK崡]l0NʒMYs cd!PļHww)5̷aO0Kն812m,tB~lP` +S`a t*+쪬lV<.kըlX*H5ԲLL:deo'K`K,(}ϩ]~$QoFI1Mi\8%[5C;:GOw:'2gI]|%Op;Z_4.YHBG3١@h IȶYmu\G@e93Sd3 Tm5]KIi'=W0ѻF9Șk*a>I^A? + 4Q KzE>LmM lzJTpLKp#7k 8{'w~ѥ(Y/Pj\ rC#Xq!{g&k + 9mϽΎk4Re<+Dc'@Pѐ`7?M=^d7k0+\0]a*`QEև9zw=G{m#[™Հ;`6V|+38n Xbe@V:sC^g|32񘥭rg`_m?;`>|vkK N?I~[В߅wOAAOp Z}Yx[ퟀeu5v٩u. p Mp#lORfA Àu}UiY$-ؼB)]#gr>Ƃ}g`ʭ@^0iFv= Nc5 }&frC1caO;^:֡ߡhVEiF%̬,SV#גge?H-TrvhKp˻7xG/`eK؀a/U1~m3}8mpQhT])mlzs_>2,Ț P|g{iJJ3'5wבC[0X4YV"rySߠ*Yپlߔp9kғ< puS,e8XPAzqIKU=hnvRP/K!p1MՍɥ2`^/;h Pjf)ogB/&_H/}lo1f Wl|sn?^E4G?Usk)NOh@2}}sIMr($s7Id?ZZ~"ͥzUfGARExQ`K>#JJ!+{Q$ɼ1 <t9Nf)7ՈD-pN7Jn&4q d;"Gh".GҺX"m8s/san7w|'iIDoW2],>b'q.L-O`!* Cn4)hC1aI4{,Eؕ-QJjl. GǓ(7ک +/̀}!x'iѻ+._25 XAY +IR<4Esjq-#+.]Ci/><)-.Ppl;/w@,/rxu#2=Bч}Ef}PYC8r(L '/ +w s|KotڿQѬǰ#Z-wg7o~3ߕ;GܝRBByZ[C*R4[ Wx)++ZmC>mszG ֠;ve;iG3Pĵ5gCc|#c^Ut!]1NZ|ƉGVQȷZ&MQN {/ x#$sgi0gk=ӐSx0hC +5姻qĕ +b GܡwI0f-ih[Ej1<ަfhzC(A]zXj}5.lc|Z1QcY_O[OI3_zO9h0}|C[0Ԫʕ@RMoZkK-*z c{9c %H!+J{WbJ +@IcO*5Mc=J%}}N><0yL5>'-aaq}ǨM*Ag豼ngZb@ݦo]m<&#)LJ"S̶D6 3Ó~fVFGӋ;b\)U S!Cz<96jm:YkdGx(\e+%:Hkw =hcm}l3r6 d+pQb~/x=pKXG׷s. ^V?B8&`a,2陻IݴMBV7 ^d#~Xe쑈_8 ye'aH4am\PȵiJxjLHZ~gy evmxZԛ*9-!?&C<}b-CTJHrHVV!MXzLhN^iQi)/aX|Re.Q~*:FVZ}9fjM,S!$y2:{i,mX-f0-fE318&c)8+ +6 <:t$ƺT +'Xi Ղx9(:vg ځI"ז&$RߗruUY]:j}Cߦ\+lzݔ +r?  +vU=[~4T[ZkUZϫ -@mS&b 1tϿ4<> ^xuS< ׄ;Z5rvy}u FLcԍ{X=rb=8iym.hlw_j~G?6cPg0ioW>V5@־lj" MM x +NL$T-njh +jvoSl4( bu0hH +@qJ)8l+fH= k[i^g`< xb~@AɛLy2*v7K@cw(UAd҉^1w{UbLwOz,;.X:ƔY)O煚=<81Jp(,u4Dμ:@ƓdK) [Źz/'VDky<{C8Z.ǼTv5iޘZv +<&<9cB4{QE|^ +o2SLy)K1=6OM¡<`H;`n])xm脔L(3`/܊ +"~nwr02:~qb]-8o?y +6qgE*1c#|?6|$)?3Mq1ґgӄb %d@ѣ}nf`V;:#Thn߄{<J)<|l5 8.6Ze]@(x4 XެvH3%7L Pp&~>Cb3eZ/|0hf  )2蒶GEMh$)dQkyyVbC8=%ĈBB+^JFiF6yICto"+Crt&nEΰ\YJ #sn>/hqhQ T}suZ?bI=}=pe>Hu9%49`+j[~JCD9d7p&6 Xf+f0ȟ'oXM:`"xMa$ߛѲ"D|/^| \ݪY/ʁTw5I*<ɌL($6ft0b+o)8R%ߌTͳ[*G똅U~RQFߢ!hY<1 +U~b: W٫3t%u\xvO+&S/dC +7Jq- +D/Q/Ȃ/=)P%.8O^xl7%(X5Y +x9z2{w/>`ߏr1tSD+wμJ +}pue`a `<%#jT1K8͊ +cI*sAdJ[rӭUs +;/(H`|oݢfѠ^]:E |G/.x h'2]B:L ~^uJ}2eؘ2}͏L^YfjSLZe +@fh>sҒ(Zazv4^//7N4|4_ -z<'psE-/ +USNR*Te-C~搫4I6sOtxҀ2![r: F$G6YxYT=&;k}Rf% sXޤhtP|nTJYfe),=Tĭu*, Hm(iX<85};3"\ B2^"q (,%淼 5 eiQ^Q#i"A)!ފ{灨\7$3(92cq,A0ı~]ص0~ٷ(Tb{207^,s~DJ\lx1x{K!R]U<[)5w m<R $G$G(~"N`G^yoJ^U%ǐ*BPu{g|VI? #ĒXx{.xIsًD5>0CDXӕ/fxoXN^}"DgcJf2ђfZ*U<Kw>Nuizo︯UF*myuMH[:*4MzBROlbY<\mů{m>aZG1$(ɨ +-/x>>FP,)ݒ3-='ϋ#)7** X*`7`9UErq&F}]/= +"y-z}@ܞY >F:5HPWSyOyPq&(Yc16*(ce`Ӊ<ߵUy +__k奖38 ' I|XIYq<<2>h)^+O.yDxZ2~GZCj; 0`g@!)"YJZG@.DυdT{z8⦏m>Id,3],F;&ae%1Em[?Rڍ$UĀ$J4To +ċ l1}YmP/,cY2M";!Zl!֝-FZ;db5Z6e-x0hg*U KLs*Ώ{c;T +ej*T&)'|zHf,y,aaedND1\Y0 ډp<g:pͨii4~G>'jF5'2 /<qFA/|`(}{ӐͰi,XR? R}DrA1D@Sb/L"a5?WaוvXH\ JeHyAdzZIrP{Cq'Bk}sahDNVfk|sgg+&O+<޳ߙ헚l͈Ի[U`N2c; MBvcCA3cnsӔ ۻ m4NՌFoO֋{՘je]3P _UT [>IfT'[sRU3Lg-Jk*{t. rJzm/ M>W,m,iCWrܛY;8# E1<22c(kUgQQw2$+[Bռ +.?C?FN{*Ŭ[n%V(1.:-?o7f{ʽK Lʞk+5EC3dJf +ݧH=r]Nt{`C"Yrw@ZKЯ@*ޢR49g6 +xÖ?|&Usm&p3)iĶr{,Ti5>v}c:в 2u\LW+Y*Bb:zCrΨbX#3H#dWt_SyaҾ*5_ߎz]l|Q#[Vv~IL#d܆VoєI&oA8VN/+v=תgڴzjp=2^>\9gG _梹d-۳o3ȼ՜k !vePVɘ;rEZ堬l(yAY89M_ߙ|lg6*v` ?8}F}L^-H&{\tf[,xm(]pQ~І~Bg>TXoӨN[܎8[rFc2* i}ᬮ\o +zx9-ILl=NQ:ecH3L$ZVIM#}z~LR.c3! Syhte%FatF=/߅Plxm<^,E=C,F$T:tp.3Kï)~3[hz=4i&߱P\w}ޮ+HL- vݧ˭;uw_%^Xl,f]۟WaFn|ݐ`꓂TKu!hñWܥu,=LX|M%/#ߖZNEr[6F\zy'E;`ܻnN-?RʃbT3Kx2iޡ5;`x8WDBIqX>@TlMfaScU7,?kDKyrLN"!Q4jJy,*DnRB5Ĺ8S.^# +3 57.yxpK.9!8Md O~^BbEϹŵ[Em+1߄c`uRz\ZU%ѱRVV ǝDk4ֱ< X M ML;1)`wyA70XeJc\`xqI詿Hn e!9}fw@Koa].%E wmo9Yj5P^8+QdY520D +k{ z!3͝2m:fMJi!\$.Oᅠ/ڑOQGiGKie0I`q^rړC <n(ܒ'υY,; P0}Ɠ[v:wgF%@'ϥm@yq>hr]R\X\X79M6 ״IG)&q_1gezЌs 8r)Em_] J <{sԗݳגX$\;=*\9\[ZS7]Yֳbft,S5y2TxSUj^P~fڪy!Σo_:& )q OO +C4̅ +6_ȝվΧx?ETTġ7"N%$^ +;:DKYޖB>i ,׀G)XrHw 2+EWq]uRU| 3 +yO/^sڒX^9c.ML7qdz149 _f@ +Eg+T1SGxiŁ寰N,3?ie\#1dWq<Df'Ƃz 7&o>֢]oy>3Ŕx_@ÇBռf~,P}$2>M^̻k{g1>j_Z@3&@Zqd AvgiEG(>TLy x*|d@/~6b Mf;vu2s0`NӗQ={&tDRmIV|1ǥ**L >CB&H)UP*+ G/_!<*aض K(8I3Wtճ 猲 3L%2rAP"ȽOvw<ۀUm>>gS9>~T=AAq,U2j;+wb˫d^/&HN>]~jTn$~bZlw\wAl(Iҧة28L>R#߱VGJ ꎁED"`[;83dx`Ûig͊C?9SP'23v60h&O}?05BGoM>\GW`w4S3 e|\:['a=;ջX +O;^8ꃧN)%,egAQRN"=0ٻ#Bs/}ϼnsڣI\U8ʨ-%A }! ƪ0)K<.ac~}kFSojegLW*Tu{M[9p*Pyr;kCw@:ậJ;Jf>^$KHew0rk JK?'̥,TZN$Xĉy)wD 'Y9lUDf&UI"$м^čސJ;IeA. a?Ra#g$Ǐ@ci%hx\2"X)pGs`7 %ќԽ}?s|d ^FZT;p+*Jw*Y5BYY;Ε$W™RĈo +ۃ0nu)U@E2v\PmJ^q;5}`ħphavNIf(v_~ +Ml5O޿cI2߹&o,)’ps^~HPT, ճ (VnT LP:Ws6j=f~ %[,]MaTՠIuw= KqUim9T/IWPO3B7_^ʮ?Q󟠴XʐKRdOf||צHwZZsGձxI1xPۯy6gCCѵ pC,]@iLQDۤÇp- G{qFulOOj=ڃ+8B5w0j,eS 3=.!Dᩁ\{ 2~V/X\ܩxet鰂~rT=GqT|B.G,giJSZ-J"r *`%>e&*;h0fs pp6 @xfgM=dt:P{A.͙Y_`n}{}נ/;x1J ͮ*0A+bN ?QE~ʩ'5$]/BBfsW.eeobTB7n3CzzK@u>>NbA w-$VnyMWsֻJb>sj}Y4(2.y"c*K07,'KV>V#PlOҧ~CJNi_w( z~Q駧VyS`%O0wx$) U=U$笃̘iA%'i9Qﳔٟ}ZnLՉz F(^ηǣƬ{K%Q`4V(v-^E `|}۩$~lř Dڬɕ)oǾ_/T=qW61 "Ͼ wXgWspULcU~וCv"c&@YCcO-//_$-w VCc1-3ճ۫G[rf7av7Z&1Reu)el^Rck .˦S>]6VZU(>4el& وB+Tl9i!j Ϯ~]^bz*4`۵6*~wQ/dMMK"HC+ -svsk24WϙV͆covc8O^7Y/ .G ]Ѳ5 `C9IBeq AYFUڧrdNM6Kr-n_8,i07X$_nIeɲouq!z^exJ*,&tMK%YYdjy=N}IiRQm*L8ٮZMca` "0 K=ҿ? ӫX%ЎEoQZQe)Tg`H, fWIXm<;hֽ`sc E={ϩ8;$7OFN率RoW<LLlLp)B-3EY +suZgU.iP(-%3!XjQ^+/~~jV +8~ۯT2`aS ` ("CjaIXYhk}En;J[`u0lƣO$hN1@9uK+P!L;{({ hRONc}!"2T`.8=g|Nv Ȍ&FI'W4 anfqLI/]q?PwlG=j~7I+f'*5"cx|<\]WmŘw; UBՏ,P*\cPnAs4%VZր9Uuj<%I/*.sÒVaZL`bt<3J,i2 +jIl_O^˧ eF4sGpsmR6pKڀꗴmSTj>3* V_v4OTxf«{bhP I8|eQm&]33(Я':h$pLXD(Ul? 5-^w ʥ᯺y +Ped!IeIR<#KW+{5mh_StO!yX䂂{/ց\P(X'x>)hIщ r\Ixq4+Iw7ţ!^(1׵=,U6"P?ywd"q=wWk +iP'3IvA]Ĥ\PDJ;ku0ew;鼊,8QefaXcJ*>vyð>5 o"߇1܀u{+Y&ET~a!S;龹-ŭ"r̫ħZ-tf 6B3߫3=u oָgEjH+,S'KT?`Zjfej3u/)hgLoYĘ'khp<3)T㼊Ik^5T+ n+ZQSaH'18Kgk`@~L[%Y<&6X|c1x±wy + OyQs3>A_P𙙋xuI/xo8BDA61U(?Y ˰ H˜^//[s$8&3I"Z .F(Yw5, E@rX:(>1]pڔ)(Bbخv´xU\N lNe1 \ ʎhp'++^A,ge6G$J+,+,!TsR--ZyB a;b+z?@v*߽S⿦I?{ϷRxjٯ!r2C> ׻F l_atECx_Ai>0Hm ayv)o&O@[.hk,Ǻn & Nd`+eqR9b #TZm~,{mp|^B9X|Uhr0#ȋ'Aym1`|zX5y#[딦(f6ojy9OuyT4me܋f+nU7Gb*,*~񠛬PA(釼 *]o7[ 0}do|*lrg]q3rMѡkZEw-c+ +wCKb:D. LO $L{KueȈDGB:@42d%H")YDVOU?@;HW=+'] >k +OA*_mY%f+|Lhvq-!tDZA?9 .Ƒhvh3S!==,9==?3_ߺD$!l4_T1LP +K8ǠA[. 91w(z`%r)uAv+xs͒8Km 8ֳ0=h/:gf;2igg0hOy!,=g-{m鉜ħ1ow>+|b3USBG6R4-7">HTS Zt4YPܭq68Zfh :A W299C9z><~5piSb/6x +ՁcTgP[7W:9Ujs}82T_happHzRT7B%.%Tg ondJ(^ H,ċ?Bm G`8}U + +y#td΃pGH -7˜ 3[@gX?bfjT145)^$*dH{g omnzC89?iJx \G'SˢCrޠquI r<`oh9*z s&~Px8~[U%W3_8z ƀ4Ooe(WwniHTrYhk ׂ<,X@cWiK+A k۝;W=V?sK>(7pJlk5OK?`a7}L[= 7&{bj 9_o-Q ҀՊQ.SPK`3zg屧>M ?{.͊# R`%S\Ղv ,(,N‑+2鳒+{A]$B:w᰼A!bP{/ngiw O$OBN଩:^^S|㰝p̚Ӟj*})K<6߈,Y >lRmGwx{@ ea?<lۺr#˰s垅&B)Z SbORy_!RL* +) %(,>L5Ĥ5?/\EzA=K1jYsvv!bݘzWJCxS pnt`[% mSi2S0IwBZbYF1F"^bd9vן^.k-&XRђ@U%ʒX{RE2.KqiR`eXptgoT(C_fI7*Zr=h$a9[S2`(h + Wn$]H352,WkQf7a6  G<YiU T-L.EtP/zPA ^mAY"uqU?t \w:B<@g:`TgE8CX +8BTdy`%C" 1KWoOW?ANEb7GpΧuDGϾcOw}ӘW`2C9Ժ|^_! .ֺ |N{}UAjAEҥK-"Si[< ٙ,[K+݌)c{ٹ٬1]H鄎נ皯 dڎI+ݽq0I)9+?$H;'G} +  e +f9#LgpbVBhU4MKێOwǺ7Y&e] | ʱ"cQ!%j[?68"tӿZ s}WrZP-5œa>ECݽ0׀i{8V>oh8ejpjh[ιŸBaesu CT&97fȃiP&S$HF^V' ^){tJ$)Ej8|PX ϣ 냫v8XIk$HÝ5LT/ўS5:q{ +~a!/>Lh +5ejA _j1K2 +k6@ ) #Q8˔ Xgw]h;GB5[&!]eiaܵW"¦)`ftϖ@? +x,xT7TꕏbfNoɛgߩ.JxEh߲ӸZf d0%>Q+5# 邗+H'BsBLyQ0Be6| S$բ~KYdgj.LvFׇ8/]Y^ NRAdsR(ԦB-KNU;>J}XF>M 6mkĞ%Rz%"J"; hRwD+"Ӆ1bOuи}9KNmvA4RxkO=Iz&8;g9`,?T]~=KXRFUv 0@{d(}`#Xr +te@aӉ{XHx, #- ݜ@8EMS+T};~ZS,'*EZp!Lp;uk GJ܍ELY-&ǰ]e#ł.Bv[鲚G{ 2,5>QyhxC(999Z qm_,|.8=z*US&Y#3BVjeH;M@6D%~c>0VC;SpP͟8JfuFxǍ:$81O2x~kAߧ$JϾ o%[+/ pF_lp<=C30>eSbn۶- م2^T.ghE$?}YT<3ed|jLuw-վxCأXre@|?)k23:ʠ$e;dZ{ЉK= ?g66}оge7#?ڪ)vGرHPWʆb:s\ ė=NX'N.[_¬^9a[cjNP}nNQEHB]RQT,ӆr(dV2=񞸜 ?aqU@3bx # RE*ʋxNK,77X*g +ܤQ%o S.ؘL*L *Ub$lIp[!I[1`&q}è vSmٹCwp(vѸvl=VIfozc+ =oѿ7TjMK ZL Hr>yd,Gpۡr70Ks9?&be4XϹ<+gJӶ$;tbǴF͘7ڏ>?w;w(9%Ȁ^ !LKzwYB^Y|33>YT ;6]B[6)Dv1.QHJBbxSeu=nG}V3SȻ傴H48>&{*k\׭"R +m4(@X+ ̺>~]zyHN^J]ӛ'Xz?oF6wJM@pڛawIzMoi~70RiL^:~FgBXQz .=2uPzȖB{YFqP};}.{ULV +MF&McF}&=֑Dk1Akso25*a +p1~7UkȞ"ӫFk]o^\;ҍ ֭bc̖(M/P̽ z"?1 +ej\ٱBk: "M?5^n@cn1q3ݙ`D|6JXocG4jNwGFZ'?a}i6͖(k4fzY~HFo7v؍wE{ooS߈#ߴ6_ͮ篥3&u a FC8sqZo o8FFW;uQª׫ןrڍ"#p;MSbN_tg՚6&Om?#=F5W^>ȏ3_=T/DP=xGzbG6kZMB|mI- ? .[X'M{@˷w ΅㗝z:Us-~]\ѮެksCs,}M0nr*ϓ 6,JXX%VƬVknTBcvێ.k}ѻFv4#F6ÙƳbz5t(U'7[m/vFh0>zx|+ughm{y}ǘ;t_]˵3F7vI4 G + ԰׭}:G蜠׭ k{ G1[1j>]ET|ئ_ݭimvhè)[n}a ÌVh[C{- xiT|ƁzLYtbk‰b aZ]o11!i6bC@a(N+fjE>X&L1uov] -ވH\s)& }'a$҄n7*F1%@s13fZ̜`pWv` } |> +W+˽:%0'&.vظI!N;NUc(A/o49AH[uaD+QoVyV|&$ڼkc"AkF'KQDy7ݢk{mQxxV\:vP\П՟>)hpwn w[yyA#+mz]zK}0#H2B)z(/m>]c1EbC"4gp}q5 ЀpH?GYL];;6Ch˷ۂś0u2bqf[1q"LF9b#6ELSb4{}h X!BCBCƈHm\p%z^@/z)~ɰN7x2Fa]F@>K“8_{Wq/Wo "uvLjM:eHFtِ Fձ#N=kJp +ߙ!4{r)mg;>w~b#E;wHH]U2Lv-;?Y4w`|G;(Cڒq8S#İB{=nO(##a[gqb+ErMM͈M -F#LII?0DjK(҂#1bQk +(!1qH0@0@k=Qk$qCƩӃj2,BDh`DX8"ݱ̖@Q@^UWhH"xfQ +_v"EMp|Nw05v:tnm )ùiAaTcq1R uj=!b܉ƪoy]Ԑi vg=lSf{c%ؔGǵ0&>$r|h s9]QV2!%OOH'FcB\ 8f0$uM)A䔄jowpƽx P$FO,Db/,!1#cpp1qj,,17:7(X7Z]<\]5pﲦ=WL^ +ZSٕ1\SNS$h}X5Wy"Fc0_Oi))LjQQ~Bk4j#cdȸѴxLt H wQx}RF4(ft]cNV%g# 5[ąF(5E]A/NJl1: Wvl/$xV?9UKJ!Q.g422PJydW!qܰ** Q~WԎ~.4p=6Gz82.ߪeAkŜv{]0mHk@KږMQK'O}4{J۩РZ[5<@`$bʼu7f^EGGN",PFk} EPJ %SǼzqA[S$O!$Ij *$6 'AQքtH qb:bCVL$p%L apڋF!M버Ԅ̔l41irP4n̛QbDh 3ND՘g4#&=&6&%X[mFo܈{pt|s`dYtk'GD%G"pʤij1ۜ[BU M`3$'%&ON#*~UКcep>œJb36_kbպ*"CFh]ao 3}9-^0y[e11Q!aaڸ Y5=yn)09A Tkk6dv7˸b(q BVNr~cF[#1^6|VO}'L +3 +6m6ztoE0NM ~gΜY/bX'F9&  5<;= A5`l11b)!,,![,#5d̟ xpKe\5.+)zGq 2Zioe˴I .7xi?^kQnb'Ι": ұ91&f|t@8BPy=puP; f#Tʼ_~5{w^1;0f飄u"g+jS<_ }3-0YN$٣^~"&zfFXb>Waݟ8$ bpFG`飄`|8Kۂ6Flc pRNeM/jdegl1ٱHNmǃgkK@p1zV~E0Lt},8s>O 0ĀtH":":8&Jkou?ɝI g2gԊZkI&dq + yX +DƉXT&MR1|ej "i?!|48t*:y#caRBFmK) +{3=Dg  D4* #͍)J8>3J8bDO?^fs@Xb^'pI8k͈Ɍ 5<91)~ =DTBT { +}n&lygêq?|%JK$=0%9R |n)d7mxEape9c `oZjt--K5|ϔ{5?:zT_$PXDxxd4$mXLhŞHҴi 3 btؤ8=cB}5qLlB1_s'cメ;,q"xͽbȌBj;-851@|6 PfFF \)2"R/!1$˙Ii?1GE] $4ؘks_ {f2*͌'yu#wL-~ZSӻogQG: *ZwYQbX7;߶B;*H ;z@fRuQpn">CrdiҥχMC":XΜ{ب1B8n׶2Jkae +B`%Sѷ؄sW]_I/.l6pC"{vnJ0a)^c͎Ys%Ze]+ SH["ĿEGG& I)![]LTƤHm/vd a cfŤ8EzlSAoa ΍"1-09Vq1|h`S#Nɀ ݉?||m =ӓRdžQ/pY{a0]YcXXވ={o.8k~>4%Xmf}D1^b'ChGk$2%gn]\PަpsDLڄbmjb\R4m>ؚ'l?,}; ۮpJ0]LDUtt zvI*PH^O*&j}3hC}[ztOD%Cә8e}?gOY(k{`1 ?]LsqqI33\~%F0ǛA sMК8rCQcרe*-}WQ3xc}:lyn`f,͚?ewʭv݊%-IK.}"a{M|ͦ5Ƈf\l8mv--)12ڀ= @kt40<"88)"̈nݭl94t* Nfё[*0RU#hC=E˼A.`{C BeBlqC u6uM~*AlcrD"Mv{aGLUĩD!ʵ ˰y*b)_n!#&TtK)7 +׸lG 2lܭm2[ oݓ;rgS  Z(AkPIEM +.3 +TJC)l~\'> +ڲ@GY4]oNѝ^nQf'H O t b\bVh("J蟁"Hidj",bon 0 + ݽYBxU jriyYcUI"n{PȢijKP7Sy+G~* y.va}) AR((I锻 . +jdC ;!g+:ei +ˌ +܃Jr" W(_'F$䂓[C:B}W 7()D+] Wr:-ñMA"p2ESh;9(~i]s([FR|U5#xr?wcwhzFos˛(.h))ܑn죶iX-  _Y"b^PP1O <ڐa n+PP`Q'D7}x(OEDOeٷf9۾ ab.`уiP +S +^ݵqf/?FlE W6JM͜x3L[ny)#s-hyaZQӹ+.hE5] '[W @iOPntT]CqG?Ϝ؏P#<{8Й2=PZdTRRkY<ӱ5q'/X.WMs"YA"eq n<倜FJ /崘1;;w;TWYYfB3)Ņ6x>Y\xx$`}Yٚx!Lعm3F=g,K''8 S )CMjFԧy|}U_JyFK:5KjFxlwfOYj5zJ 'NV󱗼J9rxGj)nVZ&OCX͚<@!+E d".!w{iD9I;oSrї&6i݊>0Ww[L^7f{G| P~R}3I!* +E:058:,< T4K\r)CavJ,KB6-Hҝ}3,cg]oxS@;S?N*b'^B{77k0Mm*EGZKVAIVb|X~5)_$]}zW*RZI߻aL.gwZtU/ݹ C8*Sk^<7mnR+»iJn2xxL0K7P>%su DMɦLCIJ$w8/D/$^k[Fgz!)S?]<|E%5^^W}&81gu4bU6!'>3ꝱӹܓ~2Pb]9Gt9{/ r̨T<&}c9 <~4W)yB};Drm^UqդplKSHsMf46iOD `rf&dY0E [<gNV`Q%7d%@ʨJtw)kOAȻ:O 4%WbSlI>gMgGY#5oG#,x9bQ_*B.m*CqY}܃3e x/z۹fRx5{EXЀsJ,kcv˼K Ӓq-eoM|1'i39S7 ףaU{,m0zנx8DǦ& +935u-gfp؜F:3  +젢 ve3".Sࢱwz=m2W-ȪSO51e.k=%vQ> ~~AR>|6/Φ}/)&GoѾeo-{UkNI~H/|\MT͏Wib?EN)eUO+C+k^ɝr$I7h KS>zʺ({!1rAE +肆B%B/2>O-6zrU I`bP[zh썍eOMuLy>|QМ/МۆwqcQ1-f3khX`X˙]y^Qfpyoβ_ +%~-gg5-7ķi.;달CZO>Li餒χ,&Jc+x,R[ڭѣb@V¡*X~~wP[YD[r-|mGPjgڛ[fƪ]B:0zt$n#<v$'@+. w/&fzZOϧd_{,\6:Kf3GTl驍X!K\WO+s zVbVW`^qMP{ikcS}' _Coou ۴܆S&YV&i~gXKNBK Qm/H~ГJ?9T+?g)]k;ϝi՚{ӣ@6B/yT+X%=bDNLhB# 8LhE[h1edQb٬eO2Cᓵ1K/=*kا"C|tL?ZϫoCZ4hΈH?y"П %g Eoz<NߨU3`g]hͼ-b6q$u5:&0*3BNj/QU|=~vӐkc @jV;_z)#14s,ͨT%c헒|1K6B_V$~ 7D >l#Ѧ~5lyqNo6/ 9םf@ +Мg8o.gh'b'0r\ȉÅ\ H<݌I<.nX2ki3GL-`T謑Ec_(uq#o~9~/~ŋV(W9?^ 'ېW㰶׬[Wl[Cq3g/9v^x| bĩcp"sI9o#0FoCj$SB}aR4wY^\MMHt.H_k~N )/EwS6oʂX=iӈx;oRQ&?G0^nu2YND&xxjlcC2o>Du*ujQ=T :ֹ`+EكK.-[v ѕ\C"_!xI 2l"h;jF$~nj4k(F!I 󴏇O5b? =w::"U4Y_C"Iz z B&2'y}HBov)&h}@qBեa]]wM֋/gѩ`d̛gN~Bń-Fa(-Z8(5^3澠z)MOݾ?`I FejzFvR'N>N4*Xd3DfF,m^Ay:=pvrsǧhF_X3SO>:fԝW?}jGD͝5uY7(E/:75zApFpƘ1Z7%Mm +M3JT<`=|nhh7"?ihm0l:FgSd8t3R3Mwݷlc 9I3[IBP/ŋ7lcCkr_a拰giMRAso4)`}=8+.Ԣqo:|ǭV r~nxM&i[ܪ&EYbAY~,?״r Y&Q 2 ͸psX1ΎN:;iȹf)aq.7vƅ/Sf8].ی) +գ*h_z$-WcrOě\C\g'9EްT7]~o5|Nܟ.B ?G߰87H=u6kVfGsao۽{۶z{[rZ!2Hq8:\ QSiſůz[u٭#z￲:O5Kػu}Z쑉'u +Rf ^ì>u}a7Q q"\DDGEjF?52*:"4G&F'+x+!>.#5ޫ|~سG}?ݾj&1ZQ{Q\]H(}tծFl]R~Vz,R?2uTxKP<Ȳl6b"6bLbl4")E]p xy?.AI!?;Mܹ KQVҒ.^8q93|f ?l6H[ ";Vd yІh .a{|Rsߗ:jGdntήE2Nxj4>nm-F hې}3ՃHoHݭJ4<}7ߗ3fW-O-ٓ3,G8-L^: /tV@}S :i zfp%( rYbC^ +"JN=e Mv+!mLԹI#䃯:MWgtOk--%({EdrE*[=*4g!> +endobj + +10 0 obj +<< + /ColorSpace << + /d65gray [/ICCBased 3 0 R] + >> + /Font << + /F0 4 0 R + >> + /XObject <<>> + /Pattern <<>> + /ExtGState << + /Gs0 9 0 R + >> +>> +endobj + +3 0 obj +<< + /Length 266 + /N 1 + /Range [0 1] + /Filter /FlateDecode +>> +stream +x}AKQ4V\  +~@mڨASmazoBWDm䦖nĭ7";FApŹsv+ JiBGkҿ̜gA#YQ@8^ ZCyV.Z.}mK?,+'9/i" ovOEfq!N_' b9*C$ (w7"')l("MR@SG 6ꤥ||&]oI +endstream +endobj + +2 0 obj +<< + /Type /Page + /Parent 1 0 R + /MediaBox [0 0 595.2765 841.89105] + /Contents 11 0 R + /Resources 10 0 R + /Annots [] +>> +endobj + +11 0 obj +<< + /Length 876 + /Filter /FlateDecode +>> +stream +xXnG W1:"YE @!Q`,%Yz6I?L`N(7_{a{]Ğ߼.~}wh/ &@Ɋݫn_զC0U +Dp}>berkFKDD?[\+e#` +\]< dWl=_"VbkU '¢ +)Yqn"$V-zX_F@:ZukeID7i-ܑ([D9=-$ZhL%jteX$02]D}ՋUJ PbHrvET0n5P¤ru", T`FKp(=#]@h Xn)Ɇ=.Z fP75sTMȿդ_C&f6>6+g!ӁU>hs pV>YFqXy8?Wf͖ ;rA*;(q946Xc4Rʸw?2U2V:M 2z +Lsa\*Vg'ef L> +endobj + +12 0 obj +<< + /Creator (Typst 0.11.0) + /CreationDate (D:20240624231411Z) + /ModDate (D:20240624231411Z) +>> +endobj + +13 0 obj +<< + /Length 986 + /Type /Metadata + /Subtype /XML +>> +stream +Typst 0.11.02024-06-24T23:14:11Z2024-06-24T23:14:11Z1application/pdfenWHmj50Lk4HtEPB9JVQdHrg==WHmj50Lk4HtEPB9JVQdHrg==proof1.7 +endstream +endobj + +14 0 obj +<< + /Type /Catalog + /Pages 1 0 R + /ViewerPreferences << + /Direction /L2R + >> + /Metadata 13 0 R + /Names << + /Dests << + /Names [] + >> + >> + /Lang (en) +>> +endobj + +xref +0 15 +0000000000 65535 f +0000156002 00000 n +0000154907 00000 n +0000154542 00000 n +0000000016 00000 n +0000000186 00000 n +0000000689 00000 n +0000000924 00000 n +0000001961 00000 n +0000154311 00000 n +0000154368 00000 n +0000155048 00000 n +0000156066 00000 n +0000156182 00000 n +0000157257 00000 n +trailer +<< + /Size 15 + /Root 14 0 R + /Info 12 0 R + /ID [(WHmj50Lk4HtEPB9JVQdHrg==) (WHmj50Lk4HtEPB9JVQdHrg==)] +>> +startxref +157447 +%%EOF \ No newline at end of file diff --git a/gallery/example2.typ b/gallery/example2.typ new file mode 100644 index 0000000..8ab8ba5 --- /dev/null +++ b/gallery/example2.typ @@ -0,0 +1,30 @@ +#import "/src/lib.typ": * + +#let v1 = vec.vec(1, 2, 3) +#let v2 = vec.vec(4, 5, 6) + +#let v3 = vec.add(v1, v2) +#let v4 = vec.sub(v1, v2) +#let d = vec.dot(v1, v2) +#let v5 = vec.cross(v1, v2) + +$arrow(v_1) = #vec.display(v1) quad arrow(v_2) = #vec.display(v2)\ + arrow(v_1) + arrow(v_2) = #vec.display(v3)\ + arrow(v_1) - arrow(v_2) = #vec.display(v4)\ + arrow(v_1) dot arrow(v_2) = #d\ + arrow(v_1) times arrow(v_2) = #vec.display(v5)\ +$ + +#let m = mat.mat( + (1, 2), + (3, 4) +) +#let v = vec.vec( + 5, + 6 +) + +#let mv = mat.mul-vec(m, v) + +$M = #mat.display(m) quad V = #vec.display(v)\ +M V = #vec.display(mv)$ \ No newline at end of file diff --git a/src/lib.typ b/src/lib.typ new file mode 100644 index 0000000..d7d7bca --- /dev/null +++ b/src/lib.typ @@ -0,0 +1,2 @@ +#import "mat.typ" +#import "vec.typ" \ No newline at end of file diff --git a/src/mat.typ b/src/mat.typ new file mode 100644 index 0000000..793ee51 --- /dev/null +++ b/src/mat.typ @@ -0,0 +1,107 @@ +#let size(mat) = { + return str(mat.h) + "x" + str(mat.w) +} + +#let mat(..args) = { + let rows = args.pos() + //rows = rows.map(r => if r == none {()} else {r}) + let h = rows.len() + let w = if h == 0 {0} else {rows.first().len()} + if rows.find(r => r.len() != w) != none { + panic("All rows should have the same length") + } + return ( + rows: rows, + w: w, + h: h + ) +} + +#let of-size(h, w) = { + let rows = ((0,) * w,) * h + return mat(..rows) +} + +#let display(mat) = math.mat(..mat.rows) + +#let add(mat1, mat2) = { + if mat1.w != mat2.w or mat1.h != mat2.h { + panic("Can't add matrices of size " + size(mat1) + " and " + size(mat2)) + } + + let mat3 = of-size(mat1.h, mat1.w) + + for y in range(mat1.h) { + for x in range(mat1.w) { + mat3.rows.at(y).at(x) = mat1.rows.at(y).at(x) + mat2.rows.at(y).at(x) + } + } + + return mat3 +} + +#let sub(mat1, mat2) = { + if mat1.w != mat2.w or mat1.h != mat2.h { + panic("Can't subtract matrices of size " + size(mat1) + " and " + size(mat2)) + } + + let mat3 = of-size(mat1.h, mat1.w) + + for y in range(mat1.h) { + for x in range(mat1.w) { + mat3.rows.at(y).at(x) = mat1.rows.at(y).at(x) - mat2.rows.at(y).at(x) + } + } + + return mat3 +} + +#let mul(mat1, mat2) = { + if mat1.w != mat2.h { + panic("Can't multiply matrices of size " + size(mat1) + " and " + size(mat2)) + } + + let mat3 = of-size(mat1.h, mat2.w) + + for y in range(mat1.h) { + for x in range(mat2.w) { + let sum = 0 + for i in range(mat1.w) { + sum += mat1.rows.at(y).at(i) * mat2.rows.at(i).at(x) + } + mat3.rows.at(y).at(x) = sum + } + } + + return mat3 +} + +#let transpose(mat) = { + let mat-t = of-size(mat.w, mat.h) + + for y in range(mat.h) { + for x in range(mat.w) { + mat-t.rows.at(x).at(y) = mat.rows.at(y).at(x) + } + } + + return mat-t +} + +#let to-vec(mat) = { + import "vec.typ" as _vec + return _vec.vec(..mat.rows.map(r => r.first())) +} + +#let mul-vec(mat1, vec) = { + import "vec.typ" as _vec + + if mat1.w != vec.size { + panic("Can't multiply matrix of size " + size(mat1) + " and vector of size " + _vec.size(vec)) + } + + let mat2 = _vec.to-mat(vec) + let res = mul(mat1, mat2) + + return to-vec(res) +} \ No newline at end of file diff --git a/src/vec.typ b/src/vec.typ new file mode 100644 index 0000000..1e7023f --- /dev/null +++ b/src/vec.typ @@ -0,0 +1,65 @@ +#let vec(..args) = { + let comps = args.pos() + let size = comps.len() + return ( + comps: comps, + size: size + ) +} + +#let of-size(size) = { + let comps = (0,) * size + return vec(..comps) +} + +#let display(vec) = math.vec(..vec.comps.map(c => [#c])) + +#let add(vec1, vec2) = { + if vec1.size != vec2.size { + panic("Can't add vectors of size " + str(vec1.size) + " and " + str(vec2.size)) + } + + let comps = vec1.comps.zip(vec2.comps).map(p => p.sum()) + return vec(..comps) +} + +#let sub(vec1, vec2) = { + if vec1.size != vec2.size { + panic("Can't subtract vectors of size " + str(vec1.size) + " and " + str(vec2.size)) + } + + let comps = vec1.comps.zip(vec2.comps).map(p => p.first() - p.last()) + return vec(..comps) +} + +#let dot(vec1, vec2) = { + if vec1.size != vec2.size { + panic("Can't compute dot product of vectors of size " + str(vec1.size) + " and " + str(vec2.size)) + } + + let res = vec1.comps.zip(vec2.comps) + .map(p => p.product()) + .sum(default: 0) + + return res +} + +#let cross(vec1, vec2) = { + if vec1.size != 3 or vec2.size != 3 { + panic("Can only compute cross product of vectors of size 3") + } + + let vec3 = of-size(3) + for i in range(3) { + let i1 = calc.rem(i + 1, 3) + let i2 = calc.rem(i1 + 1, 3) + vec3.comps.at(i) = vec1.comps.at(i1) * vec2.comps.at(i2) + vec3.comps.at(i) -= vec1.comps.at(i2) * vec2.comps.at(i1) + } + return vec3 +} + +#let to-mat(vec) = { + import "mat.typ" as _mat + return _mat.mat(..vec.comps.map(c => (c,))) +} \ No newline at end of file diff --git a/typst.toml b/typst.toml new file mode 100644 index 0000000..b11a77b --- /dev/null +++ b/typst.toml @@ -0,0 +1,14 @@ +[package] +name = "math-tools" +version = "0.0.1" +compiler = "0.11.0" +repository = "https://git.kb28.ch/HEL/math-tools" +entrypoint = "src/lib.typ" +authors = [ + "Louis Heredero " +] +categories = [ "scripting" ] +license = "Apache-2.0" +description = "A collection of useful mathematical tools" +keywords = [ "maths" ] +exclude = [ "/gallery/*" ] \ No newline at end of file