From 6fc45bade4ffebc3d106aa7bdfcf31394d9ba2bc Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Tue, 15 Jun 2021 20:33:32 +0200 Subject: issue #8584: navtree js output varies from ASLR --- src/doxygen.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 8183544..75b77af 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -11195,14 +11195,24 @@ void searchInputFiles() &Doxygen::inputPaths); // paths } } + + // Sort the FileDef objects by full path to get a predictable ordering over multiple runs std::sort(Doxygen::inputNameLinkedMap->begin(), Doxygen::inputNameLinkedMap->end(), [](const auto &f1,const auto &f2) { - return Config_getBool(FULL_PATH_NAMES) ? - qstricmp(f1->fullName(),f2->fullName())<0 : - qstricmp(f1->fileName(),f2->fileName())<0; + return qstricmp(f1->fullName(),f2->fullName())<0; }); + for (auto &fileName : *Doxygen::inputNameLinkedMap) + { + if (fileName->size()>1) + { + std::sort(fileName->begin(),fileName->end(),[](const auto &f1,const auto &f2) + { + return qstricmp(f1->absFilePath(),f2->absFilePath())<0; + }); + } + } g_s.end(); } -- cgit v0.12 G8L-YLv@>x(ZxgxppZ2b,3_[`7Wgq2L{qxD41fˁ7hT:-kHJB Ru6m}`(h:ƈ ڸmڈ4mk-4D;`.fX$"y;͸?CpdQ/QPwG(%O^42wW:R&ʩt. QPHg,E=͘o |5sAn4L !ıfzRLvhe&,Q DVlU\ $L [A-$xXg z^r{ U{r#82qK D91(6AxQuNTNݴìD_ c9<}8tawUsuU@O¡iGx5 إYOeY}o;_Lcqj=}>/{ ,ww @' ;'-ghƭ= I$I$}Rց6 Ed'Uedd.FU3v=ڲw>@$ 9+t._;y]n4sӞ`'q׋1*}`e $ JUTb+L%OJñr" \tٸݺi|̌oGi!R%w _kj#q0W5@ޢHߋsљomZ-jĄF.H->_Bm>4=(هmxk׍([ǥEU!!$NbQk5S;}Vu(*%A"Y%"#7~H1Q4n]~z_#yUP@>?ZDܑ0BـE#3t4W蕴jM S^9V@^n5JJDQG!6B$$I + ǟM<+bB| \T{滓?뷷1gt]@d wg! 6SntsQV/Q[(B_H1b  PA YO~.Ii]=FԊ@m"tv7"AŇ.OWm D8IH\aM^\qC*f y%^ou7lnq8u"c -CÜK7W&ؕ%%)oΡBN4ΩNH%^8FGh4bo"+=fAd'k|CI" %PJ*ZK\AP1_&*B7yO6n^p`q@//ٝWы$I $/jNl nμ6vXġ(JxEh$V&9kT4qm?΀d{;ulzy~5:@!3 '%=̯{wr]A[bT;Mv iY^МHG<Y/1?NHj ͘RI$I$r=q#oj  џp2 Qp<'R) >jI$I.D*w z4"jgh\sO'⦣ <`}t-R(MY5~x q2nCRI(nL"gE:2BxX],aBBDaI+͹(, ^pӇNIuA1pp%D[fb\"dz=6m??B p*#, b7gXν?ӁN߶6!/E0r]CY!$ j_vI[f@`í)jТ$95o 80 h)»Cu#[n@q&;/N|$$K:Ml 'a音o'[Dm/Y*sw^4__E@L[y@Chj\͒cj  I*0f@p|) NV]0wΣٷ ]u>O#E3Dxçthc匘A|FS1^A8z"B,^5`'"4zlm+NAA^7ՆiS8x2dYTA95-!E놝 /2SBs"aG 5`IS%up}I˚~w'=8r~˵Q.+v es 9LÝ@e$nqiNdӿl ޅItvwL?5ZX4s?f;4˲~CQxe1ǫC]$SHz@I9Uo]hDhh6 .Ow^F@O>\uVpK S.rD xYMWO#@3]]CuqOu #tp6':gd*}zA }<0ڜJ óAd}ENn{<3xhfdM>!p/|\p[lh:]}9U 뫖De:;PaoD(i ,]_\4YլFYď@{?ӳ*%SԂL1xG yiύ's+, z88DMI|vQFcFf'/4$&!e*T/УLP\dMv &S:zs=}9n:4͈]pOLrI O@Yu ~>|ߩ9}S^2C]_K Ϫjx]Ȅ_wӧ/n#]OdҎΦ{J yv$;COݻoEi3"?#PTY}nAYc5v `4@,pW.E99`Kfp C @E'?0cȟҷ(DS1; s3\XnE9 ({>nIx3a_Z0֧5 XbKg7<@Fe]0U\4vm܁B5]S kY,$C]gVgu`?_VA] lT8;?Zg.zUuF3ݞO:Ui mӞG/MiEgwLOQA!9 u%sP2SKcIpCϑQvL7nAu/u1ݧF-qmOcaή |WNK緆-sЯS>C oj@O=8wyv:ABe"a(+{a(?=̍Q&s]5zsX<&T!AP~yb^{ '_Wd>Ֆ X}m},kmx®'>5\nV2:Gί{1t rJ[]A8+VaINhW8BC:6qAw-C FN()fŃ$L0_T/t̶>6 *3u:5m4ݟ5yLjd͟>^WյM##:*Oq$f185C|4;9cׇ.PbV4=l=)6~*2 s԰6ץ 8ڇQD?,a9 J Q8S { jm}MR% Z]8=uMk3l:UYDpTX[1AarOzoC>U[PWrë sT8?gȁ u}zO9~Fw9 Z>' #֭T)V` Z*YNkܗLa\O b.$CAjQmR&Wh,E3h#;\̣.o;*=l.9Q3a?ϟo\9ؿ (F)Rde95d4ҠG7H|DҠt>out}ֈiNlrD4D]{6t:NS7G\v 7u;ԩ wap # +o:gA)r-{i~>. ).CYȣrnl2'/8 ߺl ux*G%(=0TvAa|*bd4FAtXbбѫhm kK* /W2ejv; &jUH=ÔƮ-ڛQ/{ڬ p +MQ?Ia@5D(pcAэ4qIjPTW$39z8UA41R/ϝ/S rz;:f"v~UT\afS̐hC u!yyO~ɝI)b(,<i&g#BpYY3m.:ϟu:T cXw,E_{%uK2T'yT5]z;_>[d$y9(2bx/$Ώ{#\ ?%^R+r?#!F=sy͙nQXD_QM6T`#o^_`-M/䞐"gT`_&xɗ8/_I`c΄P% J#RO&і8-I 5p pHT?ƥUev7ZU 7qx8L~҈i ?z}^|_Cza`r}A?Үmke=leOiEC@0]?eFk?wO_ xDj5mpA\˖v`Z5Cuښgnh:9foo ;6q&^-9Ws1'_?$P k@'BB3>ϷdV!_Vw8_겪-hUn$"P1T.5k]1mF8Kf4]D \Qa۩Оƒ H6+-AZk@ao0Q4, J,`#B.v_SImjm~˕4jz?KYrJ Bk(ƛ4G G G G G @AZ G X)5 jD{=+:[tMk8&Ld!žBg3[oI_;dta{:wo$EnG4Zh="QRNZrd:B3d$q3I$QiD* AvwOw8<`!%OwWEi O !=p<`|E7ic$@b""!:`-*HQIT @!HYKgmpSf-<^vzM3.o]I/f0bwM.4ܢPZ<*Dw1`(b=,Ԭ%Vs_[U={c?LKm@ ffR&V<9ʂ,DE>ܾ4a2^ : x'+ɜnGXU齏Ш يI 땔ҹ(>Y-LFO$"a rOsV}7@>8U]MM(`^(!۶#+$i>z@&R]cqeP7ǦFR0>>n=f./#N)mՕ;.H:R~rAQn'=,+(NOP} #ok_tBH=;H{,H$ A*/p-faߣR~ >(Ǵ#4Pe@%Ubf@50$SE.BfV~O֊0V,àP/K ?-#@>ޟGMc"~A_]d"wvvwA gN/R;}hsi:2_W p7]ΏEB<(ZȡʿoP3 C7vܫ#@ H"%舔kP1*ܰ {iȞOѐ7$4](-O-.(O0ۧpTA@ 4`_5{aLYO(=x)?n7xQU!JIYYl\jtV{>l7YFJ/!Ax>@AfO.XTh"IPKoqRRfW C m_>=E>DwmzF iv=E5%ʉ++0kro !~`dtahU?OӧíϤoGI>juzyHB=&$;ym9:̍/uh^Ӑ:R=Y@⫔*7ϋQznY_7N.kd2vzD|~Fr>; E-FA}(j(40Yc?RN$@rȨ >*9Xm; עꚮf+3ڠJh303=\v;;Z%|Q$M~8K.k&|-\/6R~*44::qk$nY5Xsb;Vk,:څd+CYXk1[w^ݻC~Lfq(KxeʞhÃUUk 2eZ;<3jn9r 玍 v96NLE%B]`^R yir$ny4ӂ95ej7Xce{V훖yVe&(œ(٥YyEty ^\ a8 /e<\xQ1) Uvu"|goʸfsYCod셚_ɋv2ÙX$d-#Z1+%%$TrZUZaSl릿 #UͶ;)K\Y]mdi((JN }۴lce5-f4som}b[-b'1B#:+McƵc밞76w}s4JX>r]α'*۳97 E;>bWhuUsy-61,;aM)#w3-^H Oy'=6^"Wf[v~7ډ^^qeP  )t.KeTU3esVw!HD*]lp%d1Pr^w C߬{/?O∃NYs'kon) *Tr7DsNG=ܺhJP\QJ{,wRC{ɚ 2fl5M^ 2>篫mc>c6 Ì83K k||٧.Cۣ8gC㢨ΊʧÏFC r,3b_G:TwZffs@PeG!HgNJCs'y fbXdr;|'jOb! D!;N\/KD(q/Xef9:;%dnV^,{,dybLQ =:֠hЂI R\ WH6ʐ}{+Bvxt2DuUJ.3i'%u"uP|^L$v^ߥT꧂L ҝ'9~Y{\)Sg55Q6}1a':(:$\Es';,/{Ub 6g{xwwwy{ޭkZzkZokZֵmkZִ%{D{_qQ3*05@ rcç^40S%NI,`TҀe.vVgM&Q׻Lտ>=S`ߞߍI 0% u1T;mfߎ|tG@4Fp@F/bϩf/_ۜ޾|, ml6a|-ϕPQF I.T|Ρ]=i. <i{N>M dE *MIee\\$Y&fa!ZҤnHFsk;0Z@Yp1uȈ**YJjWnTh-& T]Я3[J_Sɀ=Y2F"07햄UyAHi[ܼW)#V!5UTkrQjv"\(d"X !﫭b"MYqÜ9p!@:9K bc1î]]wn\۫U_/n#D"P61hkmF2ٺ]պ`j!۪k^ל:nˁ@. 'd%¯0,׎PdP -n,yQ*$$dT @DTwD)|$Lzpi2#uזm$A*DzRA%'S}NVDp4Gx`@gpi˛w߇s=k1'VZ ".f2:9@H;%oߍ*L*$ m˪WBɹ4m+.IrVܕtRtı-avQP@DT*chPĆ1vUR-)Ci}泙3y2)P@( 2&Fe'YjIZMi6JѬ @5)ܚzGli.i! `y12@HZ9T2X -2ȅVFFKgR(U-mJmۓ!ܥ\Ev^"Ҥ[ EY ZPP1f&aɉaXt HYTRDLUZ$E00PQ!>!z1y}V/_,k!*k׼IUUw@?D @` UVu*֕۠ #YEu!>{MQ'PddTAF`T  cop\| }mmß _Ψ\",BzEv-{ oU_+= `o=|󬄈Yu#Jnwt; 4!Foӑ$r_RcKR*ud#%ln&H5O\Hwͭwݨ[i煿vf!s9^{l[/c)\B停aF/qvs[Ko_[c~rAN]'^1I("GTATv #|TI@A-3f)Hlٰuf;s]>x~O$;aHDT|>2WPD@rգ5 ;&}q4-o\FN9ipWL4ÈeK62&ij٤ _^/vFht3PF+ž`Qex>/pa- }WiWOqK6sg~W Uq ѥ±nz/GP_0-8Wuw_ Uyw¬vl KSnEG^5$i"Ƕ$D„@1:;#^"HXL>ӯ!olY@P*DEKE~PZ $$I%al8߮efV @`RM8e*}XV>VCԅT1C8Q_eߴO7Nz`SАy7Zي~ N'1B!o:II,D֔I7%&֓&SVJRIZ̵oq@+@$. ͳZjJZU-M(JT)4!YY@h #J1.u7*cV\($T$\i%""PEaBVy۫9°`XV6f@"wqUBY#gՌA #6~fI$L;H PSmR ð}D.AV~!9'xVfeW,iA,Kvir<]E=›=a5Í[ZS(@F@Jӥ@'uj*<,?;7 XLOQR.+ѩ @-> O;eFǫq^$|q,} 9ރi q,?(A_|^?A߯=e|@zE ~a@ЪDP*B@pI$އ7(Ƈcfo2 <פ('aﻃc'@8 :E}WD^PXPE?`^|D  W'#({x)CuBA$oww"f>8'}hjf0PM$@g~lt 3HtAkWU6-Z}\ӗ56P4~Ȁv^Qz\p`I @r91ez_$]{O kCN˒BXs7@2A&f5 ~Cjgn  uо &O'/J }0PFD)qqѪW[RѺSiT"YsT2Xx2']T/hA,RPlH) -kB*TTSK@) BX?~88㰎{ p. {cF 6)0ަݓMjjPgIwh8kh `%?΂!=_2am? Qw_`}k3vS4E 7-9]i-q g퐝&VB! Hd<,SՈ ~1AH%\A@Ps ",qJtPٍ&?B|^I~4~:7AP>O,U9D<+]CHPO(e `ʜu9,ɰLJe ٍs:eH8e^yf_XzU=[i%2"a"&=60XNC˝/&"[IkЁO ~A /2Gl<ѕcUU=4c$:c^?9[X|aWI[%@ !0!(C0D G:^3(xٰ8gm^1eB2^J# Cy.sUt;8l8#Atk@ Wk•ɓmNB$B8v\&Q$H'+'âjVz2.oC,\!8bq⓫vA'yGh_`t:Ԡp2>x5@#]nt+~f2.(X癙TtjՅ lgED,PnjZ{]y|<1wzt9l/Nǧ}wrpIۡZSUe!L[zmӦة95c]= FQ0ހKYXҡ4gլI$I(u.ZuC;ȉ0UDES0hlPۇ;BB.3R e$B3MǣTF>Z6JH$…,a ׇ8uǬ $ !EE/gtkD>xԒIUI S& F~ߦ\ȹR/7r6>YdY ׵t|iTR N=`SbR9! ߰SL"AOZsP8fgplkB}cgFMjRE@_I.!(*Sh44b@ji@kvY+Y6i` BjJ}pW//.|2Z~'[ᱻ%G /A8A I!m}}ʋDt$x[>6ez( qp$r:-/lPgjߘZ5 -e8ͱfm3LْI$I$I$I$I$I%$I$I$I$I$\22ʐRfUELS6þVjf\jSU͙l- ebk5m̴%l3[?ln)$I.ֹiBT8b31NQkwu;1!U$RE- щF& Eַ;A[`S>ʨnZ(!$0 J~ E6tat(XK)* m*鱲k.UqRsSy]5S)e.f̦T͋؄ 6<ɤq"pWM̦ĒDnkm `1"Ho0 g civf)gK- H< HX;;$2'};Z3}Dn ʾŃ$`q5C|D) $xk ,:1Ei>~x]8Q@?4}<>ᠺ*#K{4uwM0H4JtY!NF\g;*-΁#(כW´0u>W`@H}k*lp6h"CerhzͼpFP |(`aPuAj{_s/ſRJ2m aBH(>S`) x@`;RgRDv55z2 `/![iEyf뮃'qn@C&R jOHҖn-(d oPP7vw/gooeYeY5-uX뮺릫,!,j뮺뮹UZUVn,!j|pP4L#(.[9+I (T˜_Yq*ւ{7coȔD7pdd `A1'?1 ¾8p]Ut=!|):4NtCS_:}Up= 7Sp r@s" p((fQԗ"q*-f?'Oƿh:#ѻw -3 9 $!̀TdLZE'lGPtFS?P~>?!{Q9$@юN#c{X?PȔ}Y]cfu40bRwޚ \q>_Ty#zsM\n9(01-(@L砆am MccBH> $dP>oZt0xZ|Y{> L0I&gyyǖ)c=H>x)r]q*e9G|b,RFE`.*o?O,a;(=; !wo_#N~4Մ vxKt;b TKWn.gmsBB""dX2Q9ΒBHE25\nМxkdNQ#y:yNf `;687*DKE^X[/:ir\s( ];ȃ"" `}- |>V_9G},[KyuǨ|~o伔7}gџTB0!H;@() ֡…ulRH}uRH\|C78UHK%o9 pgj!JT6 J "y a|!XL{M2ltM ҃Qcy&c"2+Sn/(z4p* mj?a*fxnJ2UTT}*|'yGtDH `A)m,A$LD Ss(1j2(}%PMSjxOqDz2twu=)Cׄ\7s+BbPlP䞢rDtz5C}(S{^hDR&$&0mH8W2$ (VxPMsoPãj`ydT>Tb_O%y: $+D'Ww<BiooVR%@bv6ԌԚ >*K}0Tyq8@>9>$eVrU|KVYOF10wګgʠ6 QӲ pB# ^#ĐX2nP\0D<;xjY2u(Y/!vL9PC#)ć!cA h(tA!0Qxl(XKE~o^+Dj/ս5 u=y{'-pSY 6:R]quL*KՓiW`\ђua睼 Dk3P[69qD#w,0jKNuPWI\}Z;2Oa^IG`0BG..\B=43#uBAm8nFVAA5j434is5M3Y !ZXOv[ = \pP̀p8gsʭDHY Vg S.٪u6(f0} ~ʬG2VF"iC@D"`ܲ||Oo ɒBmQl1Vڢ_Gc̄Q@:9~B;ĵasڛ_h>i򂏫1#i' Ԩ2@ $=;S>B/[?E~<{vđCpg|`B?_vOu{;x?w>B;?ܾ@0*rO؃~Gs7 $Thd-?% Qa;Ȏ2k8?o FVr ?T\ D au 4CkS뾫*#'٧CF԰ޟksTµ2i5꟮PtN78M9H@@z&u}=y] %5+k֝09qxbGRY97(ٞN}6d:Xi3wyon7,;tY\H 3#oR k`LBY׮/N_>bnhTIߡ^TMlmv a0+,S/}K$AO>$zod[ϟ#kz{HKowW{9|nA^]C9hOâ>X v4X7HH"DJ JF=qMv'}`Q)( oJ N i~Q?ql\gQX1 4a3YTP8UHDo5y*2I-n˻üЊ] 5;ĕc3.9HXi;9  $Z#:+_ՈSćp$VAl:'!$|(w` +nmP2 \I 䆁ĆXRPq RX͋bwwǮD1&Ԛ܅ᱽݵΎ5>FX[#U $<нA!ixzCk59:I;wC-z(hV6$]IǗLaƑF@-9ܸ{ '=iJ?PPp8( ) 6M@65 A0u?S)#R]j4}XAB aK,! D'P;0Jx~dL~Ӂp_b ,1-$pO)o"4ծ8eADTBT?#B#ͩPP@$?Q_y>uI$I!Lpw) }1 jW0ḑk]0u=F3`h)4&ii\B1m3  _48/G:DiŽꅭ>ukk򵱶Iآ&׻JmmZDRF@T!$reZXo]e{M^ѱ|p}ڵ21t]~s}jq'9URJ~`:qPDNٸqqFr~P߱מN}jI RF]FH"*cg@'8ăAj7Ђ6) ,)9Ps=#xSdIh X(Øv$;iM]o (@p85~_ F#pHRAqo=f ux$hCMCk`(HB@vO\_4B,Vy4)[b2<jM\$tx: CJ 8N*)fsXOLx7!Fe@iIҶ&ߡKgK0;g'BZI {VM%J5ͦR3lN:J2Ym{NtTtF gqp! @mȤ Ӓ)2,H Q=1uVf9lfz `ghTĵG*sx4UdF҃W=R}=417BϐWJ[!YAON=d.I WP "( =hp}!ODJ[D`AC*KAXzaP0/cqwH P#,R,p$ D30 zy=:<{{: q}2P_']F?kYoӞy(LWZ aO\*@E0mƮ;|R\JcjAg!\:m ) ECQ׺ݠX>ϋ jâU.#}p 12c=<=8(i#w(ސ;*AD(*̔ d8c_퓰F(!(UE+yy~wT8~\as6,߻-dПaִ)(֤$\b& ͯݸrq "{!0 ԙ];>:^߫P}G% -r1JQLbolˤ*848\2x/ІckR^έ[2'NSFYQk`隕={ʴj(HP UCho"92P~oUT@iD #Ulr1 W^y#(-U! DJn~/g9:|_yaIL*;b$"uazt^{I$I$1y 9U2CLF8 S?H;~Ry~9QߞI]( I$IruǏys9՛j7/ft:z=mHq+e#p1ߝo^;vI$@sx.]dgiv7IZGGلb̜ 550rÔ ӖC}ʤl[LEAX\~* ρqXZ,BlB(Am,p )TAAdKM P`2J"5 22C 0Rj"-%"֝Ֆ-wi iaÀWgL>l ;٤q-M9 vpc t :9@bCYwhFg : BIIpv" R%YYa'EACJѻDH! ?r.wA>5n Yv`7( Ļ֣ΣbyHmeze))y"t/vsKm΋ |q>v#̺?KӖO}2N9u7r#`u$]Ccf hMDYI$!s~~ Ql,v!ibdr( OpND§vnX DrL$$!'vۣާD!ڏoƁFR !J?}BLHx"2@?#?p{v̝,E[s }ś-6t;ع!"(EAaí *rh+2XIiaX(UʋF dEX̸e0kIjI$ qǢi`fU6u4@k$O0!sg'ҝ6QRi4tP|_j]"@OP>A@Hi&@{B5r[yCr0oC)@&ID3\"/K~?v~ܹ o8>\ɉd )>GǃxTq3jbXdoLٳWI D1\oxR8P ) I mǦC^kV C l9pAħNl[x^B9Zl+mjUUn6|U姀.uvJ(6r0=>ji[ރnrmU!J'rsbҜ"eDέUTF5 %3`V;~ R d ŧӈ9Y1!M$_Ak}zm" I'}r/fdw !XWK Xt'iC`S~ 3@T1ZQlQT ƗsvҲj׿{zU Q=?dSPdlTEGASnFb #H4zE`n#Qb7;+ ߏ~dIVHS0̄Xzchi11CV8& QSU W `laHV|)cW|$<5S I$I$a}Q0;'WMmouu^@|oF dg "*ίDg='\sqǏٸ귕;;޻ t< ;a߳xl)?h|""=h]H!"m uJ0%ؓW?GQ† -{}BDF%HD&`W}fʕZLtRZ%IRg*[T\Q[bm[El-[hEQkUrOw#, P&ba$qO}!&v$`푶dB(ރ[:UUX֓m@Mܔ0!,P=CT+Gz,VÀ|/L= ףBcj]DSzn&-b ~6|Qޜ2b{:Ʈ:n4b'R>AJMSZg.r`n +7myWMn(ۚ0t %8= i݁#Bz\(}6I$I2Q$7A kP3D7h*78_on>ML:H=-:vibm`Df^'0$xhl#!/mCy5ݚ w9s;NY 1m{S!7`'PӰ\lHB@`)רYĄ LC{`^`il:RxR!AIy–AFLv4MB(B C`*u7NktvMe-Uk~J%Dc=r$BD:h B0`"S@@Fmxsm8Nsbv)mWmm\cREIJP RLbF## Р",S-E()LX#!"~@}uovs!xyU>+>pF H"G^~S ,4%&E3im5\K)3Ȝ#鷏z}~8'BAVE CH\^$>EԩQ(' "["]YB+4H$-On FE4@@" X*` mu=~~}{^:Ɔh 'CyGHIvv>gο?`Ifˈ@5 ^Jps 5 jT>CԱQS;5 mt}00 {mʋ4cH&}[!iiP\iTdx 1UPBX u wJQ6?#=%׳G]@# m[ U4Pj#h  or9-,.5$Pj RG!e -4@[m&[M+3љEP<RZp6!d|QP:DcGb`4'MjAʨX@!@ȧ{$>>E)MYLd`Fz᥈կ&JHlmmRdRTneIH*H"2!!ERcQumd  ;@>؇$#^اMB:H v>Ң(Cr'O\BF <|(nXz{t|0O! #"bRl&˗ZȐ]Vō[o8o348{ozm?.?=|a$O4}WOkz.ߋu"}l!!Yvuw_Z/E{ۮr |PU**)=7qE6Zmd0ÁrJTM6ӬuiY~%G:mU# 4,:A#"lV:۸t;G "evo̳Lz,oo,> ioTr2HQc·Z ?/2gyhA j] TOh"Y¢H s}@>7eM2UfVM$3IVE%U-Dڊ&KPkS8J3ݱ8ixSX3BEcDd L45?gh`w_l Mx$nT&Y&f :lz(%Nu$-32Ib99xhQ]y$ Sr6}q|NB@K |U\NNK,aOpo*yb4Ʀ5|8j\$%lh* "DP}@_z=fQZ;yr@"5Aa` m\{_IiW^[[X3 a*+M`F ߢ >K*'˕t'5nPP'B !`0e A8pMU@ D MA7%#kdޫyΣ6:D^gxs|`БI$I":wOY\8l*LMC˃b S"0QY5LŖc6hIk3W鹭׌Ck\10m$5CSV|4ft 5FPDp`]Ǎho,k0[SLIF(4Y8(a!$[nwVM$|^-gᐮG'l}I$I'~M;;xp& 5/'8ym_M\]x,ʙ-wJ5qIUzzܯ]}k|^ouD5TrsSI5-NL&SR;$q## !62Ͳ֛dVZ[ZZRm2MUjԨm+I[cZX+A  Pm'h5CĘP|"?E_xP{0Fbh>iOꇕ%ucƏQ !EW/ &p4w`0D2s\>Mk? wo|Zݶ@gˆw3qs:f$/9 :KH ?TU h#pi({!@IvaF\KVT'`V9BD,B )͏,h LƤ)!Z뉊 $ևxurdIQsSDC=+%Y8,AKP 8-3 V _@5~ɭӰntp]YDe +ݞ\ %mnjHQbmYxXߵ,L=:(jyC Eif뚐1j*KrUT=0o:(;T4Pq 75nsC<"X\¤!$L$G2Q#l8ε±w ^G|pOA缶躭 I DpK~[)^c U#Rp~k_ےGi\؈6鹎Z~5B-Xk!D)V==Hq I?QHSY3;?/vzIoQnoȏ<obFQ^ 2IUtmU˻$R@}G!"d\wFH,HjDJ7,0~ Ɣ.2BqCDKJW ҁ!(#]r\.hD6IRq*FHĜ! *ːpL0FR9 )TZF&1DBH=JS&\AH0ь1Ɣi a*X@t|̅3alڍ$EHF0Q:>)݆5,64Fyʬ X5w$-lqeZ*nVѝMRr:UK4x9""ThN*b  :j_oŽ&CK>C3n @D\T-6q>c{$PEvh$(t". $JHJkmƂ¥ĆVHԩjb"bĔLZF,Ʊn5[MiE)VnJ7i$Xeo,y`dUMyvm^zF%)PdDQPsVw.KWU\ͩJ lDk[oգ2:=+t^3^>="e1rrgxⶮMS}SkC2§СC0s`BH\6E%ŨhhpF20Qf[ nyZ9i2FTCn:5cAe1!&CtX! ;A8aFP$e ""/Ĉ:!$% "@CBPs󑜍REVr%&4 ]G6fH!c$@` aX[fQ!x@niB{"7*E$PmjUE$kd\3T3$Z;ņƐ OCY@&Ǽ͘b' A0V!QW^@8Cj$D3S<DeQD-ql (;Gv=uL]D!ۈZġ8Cӻ_^͇p}WD$I  38yNB=wG#~hñ0]PstA3)Ge-o] )dPSIVf%e,'T;"j!mD|A{Ȕq@$|bDKp E 5]춐14%B=FvIAP$@$AP㟴\0M⁒+"I`Q$[ H "<üf6=囤%,Q$ )~yz){+ڟ)c[b9Ls7:}DZ9ţ cO7HDh3TZ0ﱰQ*!.QN?ٮi3Wz|yeQyCyhSB l=(b(wϦ2ΚN[-&Ś[kMKr$E9Tځԁ=IR{FnFPvB0 I67 u6`sFoR8Do8H+C{b=Op#+A5Q^29}Э>)z,j'P;^I*Y[h>H9o_Cy")KPXH_@b =  fXټ\]1ϫ}tur-&qIׄ0I; i4Da:Fک$fgZifBgn[SNx1Q.dUQ>0|̰4@0g/(ĉl LF.|@]|!"(R*iҐ#lOk~&$~qوk!^;9s>77@z#B;7k6/7.Ș^PyA`!akK ֠;e"z0+sT;\= I$mC6ɂ N?HFxQ2lNcPA[p( )<[prqwc%UI7C@f!G@RTUhHah`ڤ֎pR/ ͻCRrwRQ.tc%EWq]/i>(gzCoL[2T`Od-TF1 !)5A$yܸ%f!0C*5aTEcmF%8ǡʢJ.ڤ6P쳅SA4SP Pmj(/H>è)અQJ%gfHM; ⯄${HQu(&DE7 OYb{Z|EZdCMBi\F5;*+q #Fahx#yn_H<3P/k{A1'ACEàJay¾%z: "PURPz#swLz!=RMY7n))RAO 7=pFww̎34 1zy2SԞN(B%xu Ap`qAS"6 h >#61̣"h3P7 j23uVqDIUIG+|~`8HR0VDP O Zi@!m[Jk_;͸VV4H +c``l `N=6L%4X"`0$V"Xu B!{`hWW"/HJ(dj!WN5L\mqyn tӉx-6v9Jˊrr!,Vm.Ls+f{hjQ1EpCBg`? : Kq>+'v%4˓-BF wkּ?op^$ۤg#E&b}/od~[g:~}tix~:ꠧ,1!%X$#:g;zO }|Xrk9ZL Dл(ydCZPeF,OJ wđBw;ݲ10Ti^ nh<މ`qK6C~$\˷P+W+NĨ;H7F0S]/z;vt⮹ËpҢ.Flpȁ{;@b+L0uE9,DUH`z:pɓm|6 !<_Ն{}iz'hq`/v0$=F8g2s|< NAk6gպ|:Нz$S0B1mlɶ0vHk;<ǧ taM$mկ j%s'.}7-t ^"sBw@_wrwܝCٸ:cnA6('h}ٶ;=A Gu\t莮)淃"pν'b׌h m/8xm4AC¬ !djUj]RydhL DzbۮnjMǁ- JRVXEq1S;Pp0 P 5O:媹b4ZЙM"HA$;RYUҵff^[mn֩DAB$ ~ 5&6mq%խt'{QnѳÐBɓw 2DMg6I$p`c<8{FS4) X%vH.&$aLa} 'iBiaz ڇ4d(p|gbrKx(۠@ˤlJ9X2vr[誢Goǜb r34B+u^5UFƴQQkV6ێ,A6y;QGHAJ_y)~# <VrqW_'I]JfW$0?<7.׊H$H&:zg~x|!GsPZj }YC!,=C~&,!$Bf&$ @*0P&S8 c3'~thY5(!" j#@\6  }3 6L)a֜q)_H8@M5ueh^햌X3keh 0ʺ>mhZF2&0j@+*ޥ/:͸VY[{–z ~-a aȰ)ө$plJ5p0F0&ɪXx`,`@tס.Mx9w:: bZl8{fDkŁΧm58>A bTkj2=!$$1T12G3JaNm>W4Ae6K%{pi]6L= V"M96elXQ rܠXQ*I14G{Z*@JT< w.Ul ַ%$t2';d%㣺,٤F#h!pPUQT aaAU(yD `R 5BBHQ_#31(_2Hereh 97O oѲy^9s{2j1F,XkbfA: W8H l9- cQ6+@ b+jlh*MS$r`p0kFb Loʷ!f3nN*;λ bPEA ⊑ a }jA2uPJ\n-4LZtjI!$skhX%) %ʤlw0a!A5uZ (@"mHNDBP$dj@"qF EV6&%9~߄dT3WCaE HHTmv)byl*bh Dr`CL,]I${Y8 a# B2$h lfn2}Q A RBWBC߻v)㧮95uq.P"[_jbTbm\j4mmF Ph $Y aqdFkH-l (,[Cו M9XQu5D( Dƶ|ZqLcm!#>%d &VE4g#n붍D4KB&lw>6>{Hi#$s/شiu$[X+ˁ˼GS]EMzoR /0Bh $&*Wq҉BĕHjs ji $ ըmH(4R V\;,ʌ@BKm<0C$I$ ,FZv]S9Q-:LٔZA:f 0AQյw:e0f &Ixgpwb~/Pp0 (܁"d^XQpHs"#hXT!})ðb?<_:8Ь֍o(±Z!\ Lr!:abD@eSHh9!q)X7cIu}E$H!o ͶZ꩏x$W@54 k/y7 ƠyX7(BE"㰰6z݈TrsB@b$i<<N|a"h }y !"Bߔm46#F cҋ/ !I!74Q|%Cd(Y ͔7$Da&g yռמ Aid1))$Iq_-T&q(AiHu|pc.i6 b67(d&/^|eԌxmP׾I%V90N~*+ڠ+lXDw$!`QBx]#}0 BwY)NH!4my8Cyz! ;W4g0%$)TRE `g*=DzhC8R*G@HD, N8«]rup,''n@U_AIkvk',:U6 dT`#$fq%C yXMn?uj6PhB1փSd6ez5](y7";$l7i,WJCf\ci8O@7#>Yg#GY8H bK9ylfM3r+%fLNm@[i !@d5!L>wuk+yyPMPMG XO@t/Y}DA}KѧvBBBL`_>ڠDTD?C~?N]~яZd2n h&td1 (A|aYb?΅n4K_4Q$>v(+ I$jjM.7\sаYI N%I R&vm;~*}_ܑN$ X