pax_global_header00006660000000000000000000000064151742255660014527gustar00rootroot0000000000000052 comment=ecd66fe95850b2416ba85fbfcac9f0d248837dcf gtk-nocsd/000077500000000000000000000000001517422556600127645ustar00rootroot00000000000000gtk-nocsd/.gitignore000066400000000000000000000001051517422556600147500ustar00rootroot00000000000000libgtk-nocsd.so.0 *~ xdg-* OffsetMiner Test Compositor GTKNoCSD.lock gtk-nocsd/Images/000077500000000000000000000000001517422556600141715ustar00rootroot00000000000000gtk-nocsd/Images/New1.png000066400000000000000000003305741517422556600155250ustar00rootroot00000000000000PNG  IHDRۅX pHYs+ IDATxw]ui}&3!WʢuEPQEu]mQitA5HH{3s8HI&#<9sޙ}|&zi֜e+**uuvnݼq2n&I e~o NqxOQQS?jYDgLlmf `x++|=qL9sMJ$=Gi=#%OAYyE&Q8ҙtEyDbL9փ^:dX6b}D(!8NK/:3Ss?؟~wʟoy ?8v3g<؟~y۔>/8f{TBiӦWƟyhy_goڋ/^'p>KO+@ّ|u_ɏjb+Wc'1{$&g5lL:-)!4U5O$P?ُ`[~ 6w$I BBήn߾}Μ=B__⚫kdևo~ߖ^zoϿeYB]t?\{},Wϧ4]ж=*!%WvwO]q?MUU}WcS $wvx=">|$Dq8q{; agvceYY]7 s{Kg:e ƳܻwsM=C#?ewn2졮v?_T*+hhlܲua7l*/+OFoа⭷M|ŗ@~~}`6on6mjuU.h0gVQ;e9q˯r\SSK/ wgғ} P{W0S w>Ъ^ r+ B%y@meɴH(KzˊlNr`‘T*+?s'?񱒒UQ<$%`@9!?А J‚]p稄=}cP5UQT\$Kҫ/=gd_cy02I Ʈ|M7Faqx9~M߰N4קOSgV\pIn*IRG9S9}SC۴d*sJ~YQ~*p C^w,,Y|W|æM |Nb>BQ9>/ ޣrg8y[kd2޹3_m'7w&L_BO[B,.o):ۖH%sL]jʣ#pKѽSbNw} o[Ӵ)55P0LvuwK|*?+\. _~ǎ_p{T]SSmۿ~dߛOqjwv6ozb{k|Ž kc%.8ԁw&a 3S\g\*O ?Z{Ƚݏ/KZz{Z;{_aoSrҏǥxsMu/?>K_}wWY/>L0|)C7~_^兙3g|e/1z^^g~kkKEc]W1؅'7jI8uh{>q7o޲;⏆A0ֵo{~(ZX>3NU~i2ij7cʓO=ٳg&zGj B'ɛL?&Ӵ,˲/YƯ`WG;n6sQxö{ݏ{\qݚgy/|^Q{w;wUUUvgWۏWZLqWoo|n*Iѻ8^z>?uYg_;|ёѹs|Y~_z{/>uC0:;x+N^}q%TTzWz3WvopB;SٸkضG-ZϏ<4ѣ8Ro}p><2K.Ȃ-_7nݕ+VX|v_K^xnٚw#={}_z˺5cc7}Sg̞:c'tΙsx<{/s7{֬n'wo}{|0-X0+?3u۳H&q|PymXaaiS_Ss֭:u7!.N;Ғ{/nu?s6oWuo>plV믻K_7͜9㑇x}kM;W_*{.[a/~a|'_#W]q;nD"Bxp_.r믎򰣇abrWھ=ۏ?w|CBO}O>M,˺BТOc+z4͛lٲuZ}Ottv^u.;%__v{\[= `oF 6k1adEQ!DQaQOONj֮Y;]TT(())=k9ed`p윱siG+GJ.eeMc&=n O_=\[%B=OGumؤtvhȇ?aƱS̜9}âBI}}BGn4Mˑ;dj}]WWw({jkw0^Ӊd(>sݵ_(//-Yrۯo}e0!D$+E)*, f_>'>%˲iI N֖_ O>^󉧞W|֯]i2>?=ƣnǰXk;%O>誷wGݽ_ߺu+~'x^λ\]杷|v$a-?;n wwܕyo̟w|M86]sU>`Ltq}첥~>!m6 '}<u_e^ZYY( ^sg?3wd߰m2 ;uPNoAXONqN4'%8TiN&ēO=S= 'a(b8"a(b8"&K/!8tØ!IVZ5Cp-Zh0"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8"a(b8J(I$ُ-K5a$ . 1&s3綬ot,IB(\uጎ^k%sA gԳ}._XQxiM{&k0R&z`y= 8( "^Gꇓ$Ixӊ.=כxi8 b4U>QU2덦(Kϣ~xI~1|[guc3qnj-6N(1 NP$?~陵esF{P/R}ES^}=鬱G0tV1"KNmNߓϨyΔ=vK[o0iZɌ?>uf$IѤn09bD$I"p캫/i$ͮ-e6 yqiӊt5-Ϛen 3~T|3kl9I%+6u`ahzkkv{nIH$ĮcDž?!,˲۱bB>CnUnkҪ=Ֆ.+'ïϻeTZrEig/v<*#w<gr35udrM j,GzGOQRnխ)*4ť, IȒȒaZ]#m1C nX;*BaV&{dY ?zVsEci +=ssI8mv骭mO,(T*đ$! I"ˊ,IPdY,KnMy B'wH~wЧ=ߣ]"{tV{G;bFgWN.ӴZzF_^q0"_V=ڛo/,a kcKG<ܖxD&Ӳzɵ =g6Έ% I$IȒ$˒ȪbAEy0)x'dyB53~ӭ lF&gdrf6geKzLI$b,K$RlMeSco4vuS*?Jco4iD--}°g(uw{}Y0Mk͎~?֐LG~MdY{4G jါxW* BG5L+5Y=SY#GRLMfGx*g%t.S}E e0!KUdEG..5сDٕϯjhaYB7̃YH+ )w5ώ׻j݃d:WWH5O,y4%? '?yAw$ݑ; LD*Ovt %ӹX*7S;CW2'9돵%e1˲;#LJ,sapܚ*Ey_>ZcziYӋa\&)dcڡ]oŏjct\FUdq${ JBskeʢ@ea_ wFjihr}@o454%d.ƒx*H2YcZףߣi,L˴,QBef:+QbJ}*Ǫ"חoĂ;=)reQ ٺa>#gYb4uiϣx7Mkk{t~]\m%IQ$rqp}E,TyTU5UYD?y?&Y#l-!=5UyH %$vfTFrC~ov}LmLaZiZd0N"8+*V]y0-CBW/Y mі$K,u&\S?oKۥ=+8֕Fqs0> IDATUՎScM eIiHBHfV͞?&oje$s$˲*Kmmm#)Ӳtò粚EKIyOY/Į iYTn`$=wiY~8XI$usDoSL͌`9H~t,^R쪶̮yM\f{=nMgaee !Y[[.mƆ%bۥ{L5;,ZЧ<꼙yE!#5t;GGZc#)e$Y\*(HxH`uBӲb\Sh* qm3>a&,]J{5[UK\eU%I,+;'DetHfd:OFL0vuߵFKQ9SgoiL+uTK[ۆO.z(r~#KRo4y !4UY<$xӛtTdR_Ti g6wr,/xD]>B%D;?)xkJ`Aȓ3X2;ϴzX{=0e|nulՖ"K^)udr #c )%ߌ"l<.(PS) E*[BXx°(-xKf'\"gh87WGqi~^*#݃#tsCZ]v &}s+ )fϯ/iށє8]p_m&-K5yE>ގi.?f[[43NQܪqy7omLK830! VTjJU%ʢ@Ea ?NeXG|D`k 3Mdҩ"K;q; λ+u7LetB1 qOQ$MnujEd^]AmYȲDprh4z{p<.TR.5J eYyeϥr{]x4UݚR,VulKh[o,5riG$UnAEЧ=GR ci<-I,=);Qey?5n}t̑uST8Wn}sc$$K__t?zcKO-G?pѩ=CMN*+M,ITfz~#oȪ"}U<_ \>HzchLDxf8 % &ҹTV߻ع@EyO* ^5!+K?]t S%MC>WUqpFU嚪͍ݣamR4oEV+ i uiYbI~1E.Gf10N}S;oln[iΈ3ϼՒ.MWWh/2|kwζiO}`P,ٟ}Z= +"ޗtչSdiZe85Cu=6$I%Juq`~}Ⴉ3>|n0ïױq{t4MTF=|ڔҐBLLd +#&7b,K!$Ӧ4hKk6mh4L˲L]eerFN7G}~KjziH0wv]HBڇ_\ݮReQ7_~eYooY/L#_=5F7Ý)%H}հT%.9mM%omIs/۶q@RG3O[0[-Yݨ( 2xk[t͎>4Oded:W~p/?e:GRY.ɒTZ{mt)3_^q4F qv5xԢ%KNVT3L+3Y?ގ576%39iqnYXݚ"%sڢ|^H #b"K"%3Քw ow $Y0e ; CtehKk־gXDSHG7UFNQ|sZZzFSnN,}]W݇]$MkJ9?Z&E^mjEӦ֡n2.UT٥AUujEyeSJC/۾a`FU0Id^\Ke"+̽m]zFY8i`h4csW&kܚ$$򃞺/]T<HwyVM)+#"h9ehKPo4M0 T֔~H;:s> 1 $p//}޴ֻޔn껶bg%i]o疜<(?讯_}v]5eIzoG!=pϫ-X2_>(^^ӱe0ѳ9Xh I09--C#c'(ReK^9sns*`*o\wmCp*3r,,S cKN0(Em+Ο۳&mXcwMݚRe؛A=J)Y= F~Ϊ/;Kfo81\V෫WpR}PdV?~vv`|/$ MU U:=3]vD:Ӈ5̬wk׭{R嬚_ܶ־dN739˾E4菿 9efn|a4ysc=édFrMS!ߣ"w|GnDC;zyݪϣ֖N]z"}é;Wn]0KeNBEEo^cYhf[[Դ,sW;In2ֈe,$YeoaE$.>mJ}E/m_X(HB*xKS+°7tMdi]7LEn5sy\J&gDchr]O[WmÇn,IxpO\0\=_skӊ/>}pyxnY"ַooBDڲN\ӧƶĺd.34U]>{h,sAY,t'$ҹ_?|WB5,`jڂڲPUq mmh4=JBۥi58}.ǂ' 1crBD2L& "p$ Gwvcc\3 G?!GXa6{Ҵ}ݶVwD\w`<*O\~4IOh9<du^Ws0 w{0f{o5_zFUQVMÉ&LðGeY) F(I"/ GJS kJCw>i8{O)+?ظObΑu.]}noxiZ=Cچ$xܲ+Νq+%삘,I"]J6g'7A$R]{0o{bcs!Tɥ*R_^2dьǭT{05[zFGx*eY$UC~aZ=CiVV7 _GuBees\%%%%%%%%E@ XTXtg,Yq\.EQeX-0 3Zi9I~ IBUy_Z:M/ndŸFKN- Xbè0= =GӛZΘSz'h|Ǔc0-k$l;TEZ.a O~w{_KϨ=m*5l~}On_; iӳTs rs? gkFһ]&wNL[olފ,=4ϧ("K,)͏Uf{s!c_ʭ)g/ezcqϪD%88#Wd(pŠ,) 4ED4yWwlk&31e IueHf@b[{ny6$IUUMjjjkkjkkkB=EPe!D.{'--em۾Ǟ \/nYaBXiqkIǒp8T__7e+&ˊ 8ʈa&ݗi>˛^ZݞMXBȒ.>mŧOwiq4u]M]_t>wZ "IXu]7er?TUUq;˲r\__:snnfԦvnw0^wvWʲ =kʲ,$+T=0`j .:歍=oJOt YzfȲK}nմh"9S/460D"P8+WlYV2z뭷F/>s?^_|tt$Za92MðL㽵kfYP8QUŲ޾_T*JRt:6MC$W_]]5gsΞ3۾];m]ׅLӰr"8Ja&,IŁ+Οq[D &Ohqu}Eni{9a6vՆ/yE3^/&?ᱡscgj%fOJy[{c{xVϭmg(/܇fldH"+}]iKϙ_v{ >Ǔٜipc_m^Y7&ozek3}k03NEcX*iɒ֔UVCӫ*݃WWn7__=%y+#"ԽuhKkk$!TE.U^tg0yL1v>q%%eee%%EEx|ݺ^meeYlvM6oYbZrٌZΞel|t>0_y?(Ӵb5kpxx{M=B]mK/g> z.\ުP-²kt0a&,IŁ>6m[q3՗Ʈ{0ys[?}?Y5_s8UEW^Mݏ˒Fc,ТũUu"SaZdu^<ݭv }/:uf񅋫;]omIg -K/Q%y)ENrk ݰEri[S Nmhk m}h*Ccz5wiJMI VCKm=jæxo45Ϫ4g9gaZn;~-M~UuUݔ)uuUP8 UՄo,_Cؼe>,|{qw'TU<94` 0J$%dVeֻg}־^]{mߵeeE1'@"1L==9W:53L Բ~SN ϿIDQGSex,L(L{n6Bfg>wF0_ɶ %@ˉ IDAT!!/4Lڭb|զ"asKeFf~k}GGُ3Lo>t;*`g ~ux_ٵ\z AG[q\6cajjx C{,JZ&Bb^Wqbp ʘ7JچQ_|1JX(}7|<5<{!er<JhVR,@Ylr0ZM&^$7yv{[|;>{_|eoQ]` *jKmF 1z7BBPT0C:ˇcɬk8as]E"-,!Fj*wtcY5 XZ>5 _4YG.^Wc4'()X͞]MmYvpZT$ Gk<_3Fo #d1rVxDzBi'2iȕ{,f#KJGBa!q f~ӟ%I``ZjB.(L)QQ !@C.:2ƒ#c._޶u @:\8a0G#|J}? &J&3sJT -~*@czmmBa:::B^_Y}L@I8f}S_Ԣ)Mڍ_%4oYo*+/JQiDѭu%N/QZ`Le#bS6PUl Sr!RD-vʭe88ta$G:VØ/~ o# 1QQi"#?Zs׷l<U7?JA10rXbԶds[nLe\jx&a` UB!F.j%xj:v̰pMܵCfvG]mM{{[{{[MMٳb(ڛoys_wkjs˺$IFcQUU* QJœtoJ@8 WR3\bNXZd,cADiZMBbX,>9{n#/#;%ۂEGGcКzg} ؋Zg:V+/#C*aʍQ]hdYtHQllKlyd v K_4|>`IUhHo*zc_?'queD6ɬk,:#aY836ʞ=5O@wf>7kx Q-UMEKl4>88 Uh1FP3\媨(nlhhjjl(cUQTU$ĉ:UQQ0UU5D(JhB KkbސbbKb1Bi6D"D 󶕀^pvuu6X6ygf|pU'( ѹ=\ttt(`=́hPz"rlf{1Fo Ls9/s;ܵ6ՀT TDd&RJUyКbOFOW?qŸeb dD%+5}Mymj)ҟ;Lsl*B`1򍕎Xf.-*vφʷ?h '~nI10NT9_] w.o MǾpWSK3[K^xw@QFkpmָjKmE!olao|Ÿ Rl&jBTB"Ie-yֶaúR@y1&C>}#?$!dttv(RBrEabn4+RJ)]B.'*cec9WK83=Qko /c1@a:::w_9/?,!j*nr$W(kN MהEe2j6㎵On|̾'ClᙖE~Wjʞֿ0I!XSb[Zsh]G%^%k6C Y쒼Ehp8S}暙Phhq@*V$j\h H3{R[]l]y&9@4GR6o(QV_n/uMn{ؙ+s3t0͈ eènq*$32e,UVo}R9ټ>fMgEyl|8Yz B{Ӧ!*D䄢D2yM `4'B h0B3VPa0>>ɬz `1bV8pЛo= Ue90;.tsGXS{g3]! nrZ{fd5O҃=Mh}F !s=~vtL*8֧إlCKXVRG"i&Z6;B ##*!pY ᄘ; ,Ԗڼs,v5x?<ƐUb6rnsEMDOOwֹRҭ20Bas[=51_9|af*DšRnT Md%UkD |kΝEx0l!KCaYN㩧~kxh0HhztJ E"eZvil,͕qY֒ɰs5UO,忽2Q%I"E+utt>2LGGs/o2@43J3 KcUW<GoPљɾk+zKRcѤ٩@r]c3%QvK LErge8)e3z0v_8Jo+_JQ&Uδ Pz\67W9[m5r;!o0ґXDdz.)ɄPjslFR|=-clZg+++932̅/DRJh4;3>_w׭[8BA8r猫)(6lŇ,w`ѱB]skeΝ!Q޻&˾qb@`}Vo6pJYe𖎲׏'3r!-P_(棽Hn⼄߽xqz.Įw6?4+I!=5N!,f2rW.BsB*.#h-²ڳeYͼǔkAmfcP %%o@[ Mݭ%ur{ >\ MǦDF|"p(#JtIkץ4z}+_rMu5ʣϜ(j^mdQҾ}O\a,H$/IN \>0% K"(#*%d< !8^C^8 ѹW?0Ң.s +DYyc,@LŮ+n38v??|J'v5HF m5bb"I1AJs6 \FR ʽAb0*#sihoh'ǡM%2g!ȵVvZ*/īnYI ųJeeѩ '4PB;50-LPA!F[iBl",s'ɕAVȰ7/Bd$;V\߾GBK Db {66U: ~/dhaF&|w݀ `5Bټk]wן;?I2Tk8k#_G%%%Z !$H_ѱQYP,W/A$g?diʷ⣤ąL[Bj0 Mݻvlveh( !cg!!ts'J$Q #o5I5U6:Xl8=2]~V&x0Bn۹ؚsˌDX|STzn}gWy7)w44uzM !CPUb/o,*rIHpx&~nh"**#ZM<0nh!/6[YyYEyyccÚ6%ڑR:;;+k2MFbKɩJ*5WV^3ϖNLL+2Q会 Bx5]y!'"q\OO׾뿾x5G} #`DU%"QGGcDa:::^ħEbmf>sPb䋜XZ ^W`,\v L1IO;RR2# <j4_㭋O Ô0ᭉ/aׅA ظi&V%2p#&(J[c.s2LGG c!Mtֹlw,'kjKW8sLF*J=*,F>NMJ 9|a{5zReayA P AmfayXJ*u`IuN u9T^_7MdHq^V0?Tt& ƳB(en02ʢ)I%TV(^;w\%%6MyOB{PtNLL2J`(_HGKkܺgcWRH&.q,'"9!?oBd2) .qXUYēO<fCy!dfn/..noo_aCG{hZr,cF)$atuttt ]|zrVj cmf a*L;*zG)UUJ7;}7Q_o<gZ_yϟUQV&+9q&~[drtd6xK!NC=k~p<%C,!Ddྲ-Udjh#&ލUVNτRFǡ*DZ4N*ʅvr@յtl6AX1,S)SUBcP1%B%t:eI"q-5 :EQfggPUa7T"  BsWM{QNw{=MV5R)5CnXoU88AV`ȫlc(c ׊btQF(+w]6[''hG2H͆3-4ORaEӰ7v3.J'-6VOLlφƢTVqY {hRϟ2C[j˅y2 3>ؾ捓t.J U?߷[ao,+_;##hpM7k2գ'w7S֎͹eɌڷwIJTQd{;pBd]k}vg#%_8. BK;/ESR!]50#vf{ƥ.~?DB<ZxX!n\UU'&&9VVT|3-HQt:cY5B) BTQ 2JBLœ '1n7BH_<_r<"yf !uoɢG[aqx<%%u5EEENj&!/p1R,x IDATJ9EQɤ$I*!D%lA@v0O/PƊ&~eo,WQƨʆgbڷ1Fk=Bg7S=5\}JфT|g\OI3rLli|w2]J$T80&W Rܹ~q$cL͕Ύ:wWs"zB熂c("8,!BL(>aB(9{v 'N~x߽&!drrRQdBJ3%Q8Кή.Sf`0$Siﴢ*UaV؀BC1RB%1MaTUUiӦ 6Ye.b%DQz7c5e4!trj7 LFEqYY5۷m]I} ttt>}2LGGS cvy,&"yq1ߤ躶V=zӢg0eŌB驁=]U4RD,i5$G0RYed&BP_foqY3f?|s[֒-㳉1_Jgex\4Օk]NJЕXFR9IMJ9m׺JGMe3Fљd M2ǵn3PV,-J5\jed2W=l٬x&c@$F$WE@ 4u!q<ƈRTE8 HR>,1H"W-10c 9].?c 6\.>׻,RQ=p𑣊|-ˮ|o7;wݶu3_5k~S O B'>Y!B '-meNMj5)v˳" 6_΅1O//lM n,e6o0Edis:1r%L%{KkKmDV;Af]#.j\k=tUOɲJx(MG_)yh3EB[;Vll).̈́W~}x":JEP%D4#}z< DQreB!X"!/1-gfcА2 t*=!D׺zbˣtM&>hZnXcQJT'C΄R}I>C Bd~dk +d=/ 4M/ϯ?28}hKmSHui!Xس&:9NJcy2*לҩl8},f,uLNsьRY%*aJW`<{,U9뭗Z%h4 4oA)B B1s 5vş?'b8!*%+&.}!EB3gϾ{`ccuޫBa:::j0X4f{}*La `;`*:;{^ ol-)q4!QdD2 hSB9yj^#o5u{64Jh 97{wt&.ʄP @nQRȥ0lKF!~&mwޙ&pqQqqqq(8:¹ݮ8{6o֬/ssDrCH4B (O!PU3d2LNNNx\e-mR\Q^~57]QwywwY&Yʭg[j tĔC'N%I~htttOAa::::A=}os燃8=@0Bl'!gÙ\y*h3;ԛ''V #*?z{_t/xkז8M&W[jF6 Pl%kxBؙ5 u,!2&$Oߢ-&έbAXYdirnn+i/u 8=<> Ef66tٌP\΅;ަlZ BR2>>Pqaook_|!e]GbG{;`0HhVl&deyr+?:7f Pve:MI~u. hL( ywwU\SSjWB4)j% {cCQ6?w6~@@$)R&ܽ!M@ nptk(jWcSM| _899L c,#*x FcgGGxsBJ*c 6 Bl2W'L2:oREa up$g"0y BSO=u]wIt_y5ܚ)]R6KEEuE~|7 'DI!amd'#IIU" Or}ss2LGGGPdJ"<{%+:aJh:`@4s~(Ho[Wfq_l6;<`ۗoYI-D1Icc6Z76Od$eB~8B撿88;J?zPY޹bs[fXd#X6UDIe @v(XV%TI%wJi2L&wܰ~ƍ]I"Hqq1A$2/"9(ȣ}AY'NdBؾ]njrB;Q0BH>)jN++Ƃ X!K:>p /OEQ2Be;Bƈź,v t7(^XjX, d-feUFxd8\ԔJ\irZ 63!UYJ\<^e3Yee6lnok-**B/_-&C>rMKcp A!P2C_} k{ c ~oB޵;Ou}W瓅9_5 o}Ƕm,sٌv +$-f]GҚHE`l6>K|4~@c.1f/\ڰdAWo~wjinZBJi0DRJ@ p۶rpػ?|d2Ɲ;w=z`01< 'fxodBeKOǓf? yAE!B^L5k:Ft:) 0QU)%eU-ƵBN۽cvhDTdig(%s ѹ-2LGG7`T+LF9f&ɓ~_(g  mۺiFͺXESNP `}?8~bnnh2vvt475`(D b (* $pZ}&3D-XJ߯_OV#s*{, *gg]D?a"rq4Ba5`yaeNZPj47*?0>1Qxj(T 0UDҥnExcd!p8Lh dwn.`d;r:BUׯ?y}֖޿sÅP eX]]?޺`0x3} 9Ze?" 1J3KT~0ƛ7ia,d2FfQ5Ettttn ]|B6NYvZ iQ$Ӄsh&&22L%y?`Ahmi{6wojjllZDf0555R@,Ov5"+1cy<9Qx!3S3gw4l[S~qpTTQ) B9dp}\)N!zB/'璳V`q !$**NJ׻7yX, u֭ho$z4>1 eo BpABp8JJ9R)wFEm&DU}>H}}l6mܸattlMgv> eYnkm;싮ϙL6 !h4w!YQfsUU嗿/Co +^BHG9Qy+e5B}fLѹ=2LGGu.aBcgÙP" ^8>B"?CX[eN !8qR*_|_L&)*2 2XWfwZ J|/J+y 2ش{7 FA8N+cQJ%I&՜w}_q9h s:|OFs)1bDJ5cK5N{/{ޝwmϬ mYlY2%H*0f眻4ЈUup$f~ϣ&P(T8U:z;6 RBGRGFGkkj徣ǎ 656֯גGh4619iܷX&hZ].\wwt``pll|5!P_wС"`U/VZ>Z`tA|7ˊ|߰~ݟ756 7v9';;ntp(B\A+EyVd >:esvu@D$IZ,/߾}ۖ͛}>9D.\7!@RFnɀ1yNCBtllda„kppJuNݭ<:g ``9^9'.p'{z\;^927˜!jiRCA54gܮo]snYvnj`t?pΓ?MLLLL+ 3110A n浩ҡǻg"qvD]<e˭~SY+EDHX#3gPfw2سWK(15t̤][p '~}xp:7u !(!hEYQ(v") 3D !X趈B @7XD. '?T,InZ]˭J~ןяp@F HIB7%BX\\y}Hj!ITUzu f$_ .{3!gϝ;v1H$=<{~~"Io\f#.I2F-V594ubŢj@zm'󢨰e ..rW|9COeI#cD`0 "ݷjӪ3}׎ N.\9M$ݹ 0׮/!l;w?xe3PJCl4Erf/oN_oeTFiS44@XBX~O.؜x |-mޏm(u-/v4Ux}yB{Ym%kGGcs@|.$ YmD ƸNB\~544O_^~5O=D%!O58g2s&+ةœs0!þf͚7R&299US] {udtٟt>$<;7gjx˼U##cdp\*)G!t\G0@ӵIw\UދlQKɥNb*ɷ=1ߩ>ZB6mVe|ko.2n= ^oٕ5cLӴp8;;XL B  jxܹ{)..^ۃ1}RF nʣ;=Nˇc^vb$d B%R,!UP|H8FR#ιQUKAY iqPH#1BGv;eϿNr+ΎOLPbC,kQW_^UE^!OR#E[6oz<țm^TXX={nUkKAAp%4mdt{8dlt,J\.bv]eyyAAA8<%_r-..oDwO0c"Knd/ymwMqvf&$IvLoeGƗ%~)Krͽ=]ˏ511)LLLn4o{B}86~b'Bԩ[\&sN)#Ĉ//rrjJua䰇!=;hllXnA)brvi}͵/;Ca 1\n˚uMū$! A#tN}~jxz L','*eHaS |X~䡔2?_J 2DA _u, WH[q]}JKn!ct|b6nZ~ȲD!w=0(!ёT*m(IRG{ۛbB~`q_Y6)TUY)T\WW$U_WgD *Y(֮\091ߟ?g.x" bx<H$YFD"'x"Ld2n2 ⱕ^07sŔa&&&7aXSzlgt(}v͍\E!iSj<:Ֆt$M?---B|0C~FFF !R9, BL&O P(" h<7 H?+,䢭ߢ8*rMLLL~Lfbbr:f/=$ԊRAhХ!H\&< :R] z/gA)M$Ϝ}7V(4r8cQǍ 2%O~]K9~o#OC<2Nn[۶W]:=36 .pY ܖWh(qVʋ첄 c> LFblL7(e2.K&cU ) MEk׷M >OZ|5M_Y~!4 %,) dBh|>xz0 0‘H,KTvjx<#Gw=s`KssA~~(.D28vxSSfJ|ם;ٷs(e˭1jn۲eucJО=@5JA-R]UŢ ÌL=OsSӧ>'ߣidqx7wc՗o=3;ʋEoiS#gFFgccX$ ]1,r[UCyF,&5::]1.$,I{꓏47 u DY vUnTllMT1FFFGP$~~;s?S`!Rvwf-1>fZ .ܴz5x7vl^"OGÖ$I[Ob'~fjzS*JeE$aC厎 7f->}mV s@( aR[&V"t4pfTB_zҧ^C9)LLLn" ~w(\*{`ۮtN~:<~wtDd >41g'ZW[O''|7 "ѥ!%G/ʵ B";1۷mtnJ q@"ˊqX*K5^wXW ct3|TjAx6e%9X qT3>ZfPE!+Hӫ"IR{۪%͚}޲!6[6LM$:`x>{^OGMss<λGFGG!c>hܹmvE}̓js$Eʊv~ͩT { =_zqSi@@wooWWwoo_0RВ}Jt!B8싺lEfQ@>5Z;^\'Lfbbr}ֈ^Ƕ͏NGiƛATdd5gwo(vl^$IM졢])<={4rÞBXF8:pg?}R|.g⧱ٹprx&6008j"ϐ09We,#Pdq90Xba!R3%IRvVUV_v7*򊭷VN<ɮ-WY-V#+J1mV+ƨԩ3(m۶v{JK㉜RdYiii=Shlls ]Or LOMuv^,-)A544:uM?CCi@ӴnuGH-qˢ'x%+"2BRŎ?Ϝ;wNRT,kK/&JQbPi*BXFXZ2vUU'p27733#RcccsƲ!B,+b (I(Ϯ(2 LUJ'Q͠ŵ"殮mU{{[uUUn ފ- _|SSәUWZ,p"\!IXe{̙)*6m3$~ӕXnm߶avvn}[3㩪qu[vvvvddd aCm߆1Ve[neΝ;ǢQq2QCO]NW]]O%$IQ$$|~~wb0C[΋ݯ?6665=#tpF8dQ(KՓU ۿʼh421lP9ObK4HL.Obm떝;v\Ζ#H_zx<00B*y.[˖T=N㰸*2DtAJx*R# !DNmuqPB2> _ }tEyyM - >f$YoCP %8rXIqqeeh}=̏WaG6ӖO IDAT@IlƮ`0TTtMǎ~cn4{zAA=#B~çzD> E|⚪[ouݿ/9n Fww[&Kmmο|śo !T^_bru]w%I>__WkY)MwBH*:{+vyB Ft<n&,)ezFF 6&)%1%qWDC9r.VY٠V:ҵ(Y 311@d>c;5r?yfbf>q?pդ${_QQ!16???77ځov!,++ Cccuu‚w~;JU^#aMMMRR^VV*K( "!BAľNR3{{D<9FjhKK+}}sraEH{9vhOOw:Ð2͠xT-K1z6zB,KF)Dt[@DuvӘ2zV+f\oE'{B ZxK:GQͷlho>鄐d2ihJ&(1H-$ ,vU$c 4I]KBHQVh30+8/7BIʲfkEg~嵙]8@wwj]%I@Sl3N 10&MMM=zBhي2Bt"U%DQnvŢZVa]]ݩT FƪE%%%##Œb{ 3$٢F._ ιk,#] v-F80F--ב1v>t Sa9@F9Dj%|vfv``bH['IRG{׾ݻwF`( s p/vN'^jYvIQ/'EW a ",rO2zVO}S㱄q-s@9^^yPXXpiDBo;q 0eR챫 r( *9.KʺrPcCCUeh699 V•oVW[޶WxW~ J(~\imi.^Z5q8$ιb1jw9]B]7Ο@ #w9eRp8Ju 0(1";rBYoh?zacq{{[}C0y!WZuۿ?J:,&PmۡH>dA{k%611D0JY #gTg8;n߾PD5w6111;;o{v.r ]f[{eau8,! 亀 A™'Ipmua:˫qur ! i"|~>oBAFsT0d :e7@H傂knN$oaOlvy8M$'Cv|,[֖֯Nv]%s_˅HRB C3Jx$ɪ7쭬p:_Fi`n.OLjhiiIii JF !=EJUU|Ipƨ,㺺Z.ŦRZQ9 [χdaF8;r'0clGB8# u]QB!t)="yvdrM2!/sX=1?`vP^^|>Rѱk֤C=zLuFiPF(ǒ9a0hoo?Fss<λGĔ][nEQDdc``Q U#dfkjjqm۶m-+-UUU~ҹ޾>(1lKőѱME˪A(e @)SdQ$9s0ɡ!rK[McǏoX^Qo?CMRt% ι'Ͻi|D-ePd[C@iIp䜇Bɩ)braI,I~DlV}%O=Ǡo1ںl`<4]e_z B]!TUUgs-uk?JJJBTe+!B !v͚~K-n#? J)#E1%!D"Iȕ2KNYVYUUZ!~lEepVczvEQ V~{٬֖⒒Y@ii>v,e3\rFfe5Mfr΅N@ 899I e5"j^qϮG<OOϜ?ȱOI$Bqh\D!x%x!R$srcq*/,P_@4us*8 #EƺA \`o}"/=zq2" 'u81/r$422]]W8{*Gzukpj!0\obbbrULfbbr]P$\85>=XzJ#11S("ip$irvYYY)2;F%qAQ)ӕX,_g++*-6RƏ=`kK3Ƙ1Dv$.P]loX)|dd_j wܦeK–~HA(V@C}}GG{UU,с&Be#rMA7šٚ(J&SuE|"9惁 eˊ ĒC>X,0%dQEVERekjbbbr]1euAh. '07n&±tX|eg"̈́ UWU)>!d``snBo04DזmUT\dٲ8EQ@Q:1695<5?ϲ;B.!Qdjj[%Iկ^ 1e biK"lۨk1~DT{p( C۶n#G‘0dibtP@K#wХ>1x3 _HNBjv_Wmp?xbwH-tZ,ꒅSO]&{J 6s<\=UUVŔ΋{w 4Ԋs]IqcEA86>>22P/IRC}(ϟ_f$I,q== "al:y4 y3 Z,(xWHm'9Qq]IzlAHqfف̺h@d ! ZG=N5iBQM*CT+2%,a$KHc\*c"2Vd+2W߳;;~~IbhrD`Ir`}]RQJ;/vi. ª:κ +jkj;֖{8p'ESKoz,ׯ_vMnF\0BQVTu0FMM7ߴwaa!H\^1 /N;쑥E48m\#W$L/t(lb!tvv_p(s:mz)塇YY!G)IRuuƍ6d766W]O>"2J#"q٤eOuW5AȠ̢HA He3"dۊDHcYBU;JZo r]ಬm,"{ ZȈ2T3,ޱѮB* .B Hֿs ~09MLLL>2p-Q\WlT(ήnoڴAQ8ª :/AA0BW\{C _tj6::v={BJB !z-uuu uunwc,(1(sJ%:ꮬt  fgf 5M,Dt]g6r}_]dIm{(󙙙yL$(5 9Kʒ[]]m&T?s,`ݺu;wؾ}{EExyA\,,,ɧvZ8`ti~,a>Ca 55,\ #p\v1O]:}\! ^=(HALb0J9c P_piS!\v%0 Ug5e`"tg!{d ;-REo{YTIB041}> F=cH*WqŒ?+˛/" IDAT 311.ʟUµk0IZJJJ!mݲE(d*F2 NsJgGF++v0ɩd2Ddi@!$]cё8yUUeYy}nwWL#<ɥކ1bd }> H& ʖc3]!tC٬[m+,,4 ?:J8lY(Ezも|+Ƣ1׾M555_Fz=-ͽkl!xĉPHaa>eY./=կlۺuIg˒<?0΋FFGEeB@0 2k;DC!Z@ 0$S8pٕHLwm"(qOD$Km1 #+<6UlYŒF <3cZ4GBB_фnP&V,|0eus.)HR#>˒%i5"`  YT; !bOLL꺶X2}lc,JMNNNNN.:;5%+GabGp_:~)K!4Ll6B5=nKDE2/K˽XѾ~oYis8ɊdBH'~g3g:v]cR*2EXsxUk=ETU'ZS]-Ze<IN^hhl֚sC_A*C(bk~TTk_[7ѹ$@ H Ys|SSSoo;GtuuONMA]hB {l)9Bg^VP8qSD?dϜMJmsUd 2F$d SK<[k EU9Ag3cZ,iĒFB^Cae!LXʲ(63gφB9΍{6zc%Dc,VOu6#c$I(L&fۿO?קq UU瓩d\O^FXRJwgVݠ1*X7z\WSRt"(wx.G| N,&($%l76CӨz-uY%xZxxeb)5Zx P[i\Ư: T(DH6w4|Ush4FxL&33;+zόM !F)%^vp֖: boX,IM$UQT,EQ+r<2:أ9 !z=X 4f$!SSS\: pm$nV^႓`4 ȱj(ai?'Sfޖzu6X*rʻ3p3cA_SO`M&㖎.r9ٌ7=5u]njIBl6יBq9:߿o>΅wu? _<{ظ, -UJ)cQJ)a5mn Pg[~Bt"&Q]HnKHc8A Zgzmnkuu5;2ʉLir)r:-{5§4444n&444> Z"p}=c,[(+*n.[BH577U23O@btzvvVM Xl6r:pnz^e20Ƃ `|s\pLv"XMP\XXmn[ƅd2i6ܹ3&6N(/]^ug<#V BUdZyעVa`}|fzzzow 556 (ss/ʛo'rp/j˩TrBm>wܼqo۶w~^*",ܐ Ybd4nmXut`0'jTZ^^H$K/cֳb^xu*V BX,p<%J)LePj51[n DQ`[)cmxc3F#(`$0x_. mJJ܅\(BB,]ʷ&-ܼܬUFu^5Aa dwb9yec@.+Q.ǔxX  |3Ji.[\Zx/uB4ltiJ&B: b6րi{B2^N&F\ R*2Bm5!ކd~z@0B5AIJKAa 7mtD֭J)c%X'I[۷cGRujfϞ;yՎRT: .wun1LDgzz𞶵@U(##Sp;\iR:84 1JU !BxG nEQϝ?/%uSSuu \X  ֭]X MMM&qR=2&jnhXTj,N~ozzT.[}75N644vI [[(0IxK`"tٻLU,K'O6 !ݝJ9z`2wX, j**f5kn |tKK˥RIU«7T)Uk=oâ1ƨ :"r[LzQ'DF;~eIH/ Q@6^jЧT0ӳ"T**U (Wώ_U6+SA~0&zawWh *`:l \ _bę/Mihh|*b5kCn_۫+Ծ>̕:fi:NR^cD)+Sl]+U7Or|t#Bj=eYEQ|QJPJ3+W9"BB<Osssg$r(IRjhm#5ZMRk"hTR :2x@z3`~P%,ojltVu@؏  㥋gffjjIӧZ mm?!`ʕ"≁tl<+Q.)Wo&0J YQѦ\4L-[:Eqݏ=[o6K;0<9pq9 f|q]ó N,(aEl|x6R {&444>-(cǮ,ѯj[ӊz$I(eDbtR5=1{WkKs* Ji4-n!+Y$mx2=;N~H)Mҗ._.JD)SJTTehլo3>G=x!<tR.Q*R?$wCclQXu 57kQE)_/"r;x;7O>a2zDH0l_U߳{7Bc .Ku~#|_u(=zF.Ƹ{5I)ABFqξ@PURJg/_Gr%2ܒuR=-7]ƾ"!>16B0{^V˪o{\Z]չ,zYJeK`jb15eU%ZqsP6m"1µVk<$yh2KdzpSO~~3gOqRߺa &;aBiP.L\VHOQ/|d44)4444! ` ,\^ڣ]ӁXx/# ?#G!D~?|BF.rx"q-zrK_LU}}7_E<أ?e_^xK P8*B x"!߭nY<yFjZ022uʟ#bjjYD9,h02|p69WTTBsZ,I\.dZ .e9I9rdbrsκ?Ѓ}?⮇urv!O o$`n 8cST* HH u4ꭼy|8k`,-*Y))7uÇ]E% &444>h2LCCӅ2VVɥfxz_L[cl^[kY{LJá0!B IDATjUx/rBF6!d6܎>$[tD#!R;D6tsƢ]v555Z,_BR$3vvK4[Y QR7 NZ7F#DcW\r5N )X+Lp8Jު 涂1w]MH#h6ht,iBj^?RU/|ūn?rᖖYՁbQVUq _^,;;o=K3RnuPJeYzɤ D. [^^0$%#Qܱcdt_p8́../Z `@UٹŅEñ#L-tCEQ:tNW0 }XI[Y iF)!f&JUI.wq-lJ8 45x.JpU,%5ZaEnC_{gsss+P'sv;hcVMubTkF/Y >EYƨXR;\٠( b{vNzIe^ ]ch)k-9F19ťo˲0BQpB9{\5LM)rh467?/˲`Fc3V6v/y5444>h2LCC el%]* ~.I'ChʕcxpJZ-`5#1G{ϡ뺷n3('N߹wnQ]Nm=fI(W!ONMZ۷A0F~k[["%8@SgP. <3|I-^K |=Ű23it_a33\89T4 BȽ1 `_wp>/˪ZIhdRB*X% !VM Bt"F@u"6f?|u^A$M/O\  /P0Jsp$y=ټeaQ͔,'Nڿsm=##/,lQ(r$.Xm8>j~ohnnZ"Ji,_X\L;zu:^onn\.gX,KWWE<޿NF陙r,Ҿ62#G1ݻ^L) - OD2*vML(a]APy-.a`)ק,TGGKs o<@)]\\Z3w/JBTU!7*@Cn7,[ݥQ/R$ilY:v5pmrY]_:=ɖRV/4E"H$b$54w`[kG#\xizf_WcrF Vh toݺ Vw٬Ve||BettLa0 _JLbBnP,DUGFG~7CᰪN(cXx{4M `0 5@埾LES=Hpnq71(噙X,y}꣏D}}񢿿_T4L&FKKK8lblD'%;v466NNNOL}7qq X$+1qccjAQJәLXdlm7ʫb{H`ں+n{Ŏ s W $Fo=`iLJ?\vy":VTV [1V,#hΝzy.w=x˯/~fGfJ‹}{wogP(l/]R݋[oG?.˛Ư( QyYhQnZ%dzzf7H1t:Fi<_w5M!xp$ ''\NƨNNNuuvb!Hޕ17tvf& |^+Iĸ_W^ccTh4r+p8B Ƹm"DĊ !N+_SO=T.(vuvPJ([:1ƔɁA~[ABf"ІJ1JTnI|A A`̒\&*[<./ "0MzìKJc 7M,f3q'źQ!$bovmϜ9rۘcP,aKaz_B"( \#!=LB72@DQfi)ǎݻ!Iݳ{hxƾǎʠ)4ɸ-P(47;uVaf۹cG:NEQ$ct}!M\RxK;_s{F'9WVI&BlKsFe3gMU;!fyξphm+*n Dc0{.C pc3$ll&pZ=͎gWm3DL|>Y2riih Km̅zGMMX駞Ym?K\†V,á0Ocڲ{W_}b"(\2L&fK&SǎCxaoinrj6rbٳ{~~JE *QZE%_IB[vܹCѱSNyF):m4?$:AEUU;^.cT"/~?}\.W֖"!ˆ[]SC2sY VJ}R4*fPˢ=w{ [bT*$mBh4vNBnw8Jt:? +++RW_rr3};#E6;qdg^d=cjH6[xϢa lV2.- !D2q{T@ p̙/<(mm-.]n݌R(DE)_t):Ϝ Vcl뻺:ori~a 1FTRk3yw\\ᅅ*D-Ɛ NI_}>/l6wwoJ,⏂%NSUB)QUBL&O:}؇rT3۶0 axCƀnЉ$qC]}HǦ#w^::,) |q5Ut: n26sd*F\arH$nW'O655Fx<7VU?/l(~o4{'B(Y G`dqkFUel<eDCC&444~5eiPBƦPkKj/s QUJi!;ባGy{~ͷ3$aos9Bx` ]0UQ`KKr++9t[_\\7):"КHmw a DpcFetl>#s+K1/RgꫯEACc766Jp$<±cǧgTU%DHPedwB$s_ZD519}}ݾݝ^IJJ#cܟ& !s3MH$n-ørᄑw޵ێos5.Aؽ{N#Di ܖD2 E1!l0Bkk˵k# FvIh4m6[ [ꌒL&C0n-+FQ. ǎx⤢(L*w?Nzl HpJ Œ*y߁ȀB#%IIXBsT!TUi2[Y$ @Uf d2YƘh2LUzonpOnwDA`)Vd2188TcvΝ}Cuu>a߿cJwݻ:|'McC._l@ pd*e`0 |r<84ī68c*Vg3 uho|58}=zt˖-<V5[oopeKѣD722݊ÑNg\H$$IJ&SwWVVr$=$8-zQ@է5 lI.7B$ Q/Q/u^^ N0zA/  b~S MfKJf.Q KJj!2 OMihh|AT)cT*! }EuCq'.! Lʕ=xXENѣ8Ѓ1:'8 x`|pX<' MMN..-5^''@SӚJ0!: PJ6):غh^?x@[kk>7 ~h4J0@\^ ^z駯 UJD2U,UUYjHՃ䔨QZ{_ u6٧iK32BIX/MmEy{+B$Y(",!. bkKKccʊ~GE4񙆻Y)(U >!޹;N׃-nggkZE,ONM-.-tw g(8`w:@m=ݏ?]u>!r3g564xܞr(kbqdtWsmxBo踭 `W;|NQUu||ogϝDURēd& Vm(QU|cPH0,Hmjp 6(x솹PA(|AVmuGv59SC+'3˙L/*w BHٹh40LO?dssx>ѽu+u>@ 2xf48'Hr9:xqb_s盞9t$I55=d)Q7LbUʯVA0nf5?#з!T.b?}G?~)ɨJUs:o492B ߕ Ah ezIDeJ"FB :6~b\#W*<('d2[[<rZ$T*eFd4{Q#Ut:J6\tQJ4BnyIB2rev%S{P( CI$ R4y->Kg3(e%$aC|8gԉVO\#Pv݌!귵s[1_2))e:hhhh|h2LCCN41F; IDATZ`V$qX X֕Q&&&eY#fK%gC3r<öpp?ݏO d{moŹ/ZeE%Yylo&KPF7_DTuڵÇH44aeG): yY-+d[k1 P':qwm3I e"ttÆw @#Gw?qwmVz!C0!7̞##{$ c  SJJ(NkkK2ZXXd`Uk ݬMs-4 rj$d!ϏV;w/.rj2mi?{u*>; /zmKʼnbʎVj%0 :1BI}3 ܘ(OK|:CUĄ=|777;f4B7mh۳{NWSF)s?<*Jmm>AP:66.%z<\=L6[Ӹvx5YcDڊ0nkmiM)EΞ=?(1Jo'*M1!_cFTs`Os|!UB% 8hxz_^BSˣ ɕx>o[UM2dԹ_yONMG>BX`N!ݻCnrjcLUՅŅ;^hN#PΗ22aؒJ)㹢h`h]FYg1d 1ZU1-1Ћ2WJ g3WbM/j[#lG] e)b1PVHB%f $Z4LCC㗄&444~m_Am*N #C@r=SO\J,BPm( Bϝ;Dnwr<;;˟iBTvJi(߹cǎ\(208˵]gjR"Bh4Tk]"ya^:;˿07?O UbQJQYe{ aA7Z^n-EsN·1?I7ʼvz̵LT!v~@5 Kn.[::r,9 :\NW+v)X0 Cï#G:s.^:pڝWQ@(1yb)U#AP%zmsy~@S T1*d JdEQ)PP/ Ng3nBhD`I R9Zc˶vmkg6=^?<;;^۲e#^e V(FQ$$A"ntΕr霳Bр(s|ֹyZ6ݤ(H8QTtU@K夓cKfSOl>ۿ9raq|!?1pTxer aA f``p0Oݤ^"d^߾o :ukokEnCvY!TWWWht!+JC4Tr`ׯJAM ŸBVT DQQeD/O|劅b*z>4|,˪"M^m\S}UJ a/%4VTc!s"r.`i޵#u%ݡg3]7 _w~߬0bٳ{(3ԗ+3O2vݳRcu:d@)-sȲh"\fTqn1 6 Iiru2EI x!(X$)VvRc FègƆh -eJ7jO(}\Iyzgcb>/я|ejX*MLN+! BPi3Ύ&D0Ɓ@E4(Bp8l[f;rȉ'Ϟ;/r%ϗhDS*+`cO7#ELXܸB`1u5V]m%LӇgZI,jn5'aZl8.Ǿawu}'z{zfg֖zl6r|ls`7,IT*KVjMfBP @D4\ZlpfJY*/'sd(^ e'BH6WRF&`ΩRT? A ̥~,rق6UurtR|Y97>@OKDqN f``p-x(=BnZƸ*(p$RtP(K#R^(&~ V$jJ5\׈nhyD"L& xH$V+zME0O|cVz4N$xǎL"TET}L޸D[O"t#Rjpu68'Ù Ȗ98l,l|[#SC;Ct4UT5JCPrJ!HdR(Ju_[[cv7nX'''.qmmu'kX7roGQRN%~T$Y^Q0=L/7W,++ex<>;;G4-~fC[#u !,_0+BoF㙲hEAC&w76tx۽M.2:z|:,JjQRˊ׵נXB`}c;;Y_PDRH*/&>qWƯ܅FI7! >0x5l6acd !{I5YoܸZx< |uwݔ\RFT¯s47/)fuOT.C1/ͯ"/%Iy+P\X!HŚz!( !-Lo/V 3"dYkZ=knxB ]vgd|*sHecCw|'oL_*U5u7BݱuaMӪn#An\*/ rPTYZl ]|ںڿ_{H>i`%n3ͣGEQK.9+"4&gD0s* zvn 4l;NW~|p+4CPJ-dl1Ykc5<\LaXwonTT?9\kPba f``p[^V+P(x59\@[y%2Ο*@-+*(4;775=ncn݀F3gQoOwm]]l1l/B^tNNMi}`-kgWP(DΜ=w #,e F(%1_B ]?DB` !趙ev1[TeC?#E, >#[>tw{4U[SLYdtULry[Sp8c?G?t*?ۇYM9#}O<ϛf.e!0dE!P?IA~BP`ZVIZT z6w7txM.JjLG 顙bJWKmu{RSc(o`u]܂2;;o!`0'AW*ss˺,˰+GA]rpx {ݣ )!Hd%jwDJS̛gt:!X-}}?Tjq1z\BPXVUUumO,c="TT3F"ɢzgOQlwXN E&Chnn1KoռeT")U%C(SV3?ɭ|a5&~Ev48wk1e2p:}lx~1wmyС`^~,IͮO~6E$;26P(Siͮ{Stշl2T2N>MBݭ78mJd !º @#dvnn|brmmc|_Ϝ9ЀL ^]-B)e >ke9ʀJy\Wc_ HSK3l"#򒬒g$IryqqމW{a$fs8mVk:9)DeIRTu5+6j&MKj:/Q$貤air vx[=,")??1&dNʕ딐nƀHneQQ͚wL$#ӑ0[ݾ;6~t(-%UFl.NȆWϿu.\*h)eKr<[=9$gX>tWkc#4000X 300 45 777w5^a2njBMcWq߉mz7jNROLg2˽yxeWcli)~ж;9ΓN?أ!ɴggNaV0 ջb,_^~  熆Y^"Ƙjk-JI/!!@{*xUJxa8Pٵw㣱Kb|uaJc\_/A֭cssgΞݱ}  bK !\^zo;Bs()F(L޳ns6[MY9хT&/6+:hj_9:\*^_|riFBY{>Pfd.CG* IDAT+S.Y[ -R4%tl.yjg٩xZm```atcFw~A2~!lkoTE^µIqgGb?b1N..?z},(!eX6N{^3dzS}a_Fjmi[VUj}G/͙g#('DӫX1Jr"!MG-n~ 0#,4mYp%ZEy`j)G.,8gUD"$k_{noo;zX0! !Ɛ$Z0[ǃMQ\ZW벊BʊK^=t|dx6hUN\,//].aN=>@)o-J~"2)ʇ/DSyX)ȇGXb h&i:M+75Ӻu*! >04MƆa4X*peN 㺺~wjz (HXdYJ##J)ֳsss׭l0X,V ǎ{җH'jkjkcW(~X/,̧Rh4zIH$J4T}BDŋ%B\{o$C 䳇b5q09d3 ^)6↎-ݾp_ &sEE%YDݨaQFEQh;q !$8SUa_˙րcPje-c#wD]Vq$$Bfx6yjbi|!//g@  B`Oզj&./Ua kvmlfc+c SK^8=kX! n4M*@oMTT*l66T12 Ƹl2wdg<Fgff{{zf恽{Rb@w܅saJ %QKBk^`9@RnRtg]ntk-"Yi߉D,UevݦkrcR)O8Htq;We>WD*r0V`n ;V.&Bjd.5*84 PufZk[=}u4+\W2ʲvv*WK9˗t^hpENQɵ]=  f``AGlbK\L&sccCT'~!r{ud\4\f655 D6%Ju[ b c#Ϗsf!dZ6;n]$Jr? PdI"|8w= D€.*a"(k\j$`BpCؒ#%|"W뱴9w BʲIGx!*)*ֶ}~OocӦ\y/^}5M;w~~>^e6TQFhLJah5-OVWcut^:zaqd>GhTTUW+pay{mok޵nf>"l$Ք0f x,:>+J,Iʲ֢GZ߂o n1 300 ``(r1F'{r?q#cp8LiIY%A?.=/!\ŁccW/j }.s[_Z Bpצ?c4:mbxBJh*'R"USJMb0I089pp$GfO/<0F߫6p{ܺv6])k]%"l鮿s&+o1g?gٯ˒1W~zzF*UM4wCOv1O\vZa O40FÛȆV_&ST2ZsjbIqiO7mlm~zg{ < ebέ`36:=|x|bb' F!$XLu7D'l4! M{67y-aG^;pn:Q(víz#v fU0cƘђ#F M5s@y/BE_,, ![Y;1B8Ln 0ST!xqw`i[N,v|$?O;p~:1g=75R>. QCpzz\*gۗ8;OeY!WY Mgf}Sp[ uu[P_c6_럇:Xy]ByqYc_,iBJD2&4m==-~UXJ"t8;4\LѕJG.Dw?z_kKb4DXP(B4MˮL`W߮ޖV_c ' L妀t@cwNOQVOLY#L#d].bDvޝ} gSowl٢˰Yq|bQw8#8aMĨqBKϡ:Ggjwx\I9=4ML8QB( gа{S`{͡3X>@}Ŏ^Xf9a* JZ=N"Xw[DㅓKJ4JK*Z$Y<70:͢g98|CmzB4DѮ !pYTNJюz8_/2RFn\_*%/׷~\TTƨ =+1M dܗW2D.{$SD"H$UUGZlt*YX*@tyMYڀ.Y|T$p٢c4 \{%`osⅩp6/ Ztuwugcc׾P8<33Y^3L 3AպgnǓJjjjL&Soo/x񥵝o}ӥrYRZ,WsZf)eEI͕Y%Un6j~ERsSWΏ/bpp$/33}?|jsxwvԴ{|b(JU+!??}+݌rr!&?K^H  BT1iU] Ǜ|b)_R j5sVUOjwR3O el~v?#υB]7np\۷o;{/_#:~B0Ƴs/PBRTZ .W VWq.ˡxQF(nK 5cw^=7L\QQz>:Y!gTO۳WGl4]5w5ƃ}'2eEf5xm\(+~=3S!X0ܖP\EXJF@/*` 21l<L&kZ֡JkcQcELz8N(dvGo>|XOOֵ֩(m(0zQz]D$ cBu.#Kʦ.l4j4 1ԇ^}me -sSsS(QF%IF"s`.Y:&$uaj9԰wKSnHv߉gBtYVz9ʘpW?8hMᑾ6ˣ:u2 S̤2yo !ϔsEV`솎5nPuul!+)84c`!CNͅ!q\{7xCC=!ׯ7XnCO>BLY*b.Ɩ. v+ cj*<6ދ^Z@DBѕm7F#hϔVqCͳ" `L$;Vm ӥ(Ukz{m6^|d2L,-cKKؒ@4,!_# q<Jcu^V/KsZY%ufZG:/#89[DPv`}b1q7΄&xF] j@l޼;wkS#ϡ7NnRkϗc#63?Hnzm [x,)kPʒ9)/,&7o=nz,?kee,kF(CNH|wv--- ΝyVc hoo_W%] tZw2 {ZJB90¨5 \]zAQf:G$Q4 \4 B -=~UA]f'd^z?l֖?=/F՟[DbH:87[@6׻d2 .!XV!nŽkqݖdVMNΧ&t21Lf.lVO>o>Yiō:aKKK‹d>xL!c1B c ?XzN-jaT(NPT!!m&fK,MәKͿ;WUU?g[no}SI&c(VNٹٯWϞ;_*WYy\r*Ij( E9P?ZS뱸mS㣓L4YJdˊF X3 bx`kӧtBzm%DB鉱ZGsP<zX5z"Lsksc4Y<1)e |Lґ;lXV\t0̿`Ϲ --em77j`}4M1&IRkk!c6Gmcǎ!JrLFAL!DD2-kKG|e*̈́! `z{k5PƘނxK^Vi}N3cg+Heϗz5WT8z6wZL^?<5[HFrLPm-=\--(wwwu²M|:moii.KFtwJɴә̑$IZ~]4rPXM$z#u=KHz*.eJ\5-k{d{<[ ^[$Y|3/z|d|>dEV@+Il4ZسD\? !F\i|PQi8QԞ[eul!==%j;kOǢR.ʊܑzk.cr̴5U65xB}y5vo?ҧosE$=[ YmD}}*nCf@˒C q8/_|S臟~Gm6[8)!*BIj2ad &f&:M&oCwԏLzbat>JIU>]W/_1666H$cΎQ`kK竗Q4UUk#($rMzUt*Md*f:mlnZ`N IDAT7|Ã;k-"Nqh~z'RI֮mOw68~|t$_a Auvzvy F!okIbtL%Y=:+pt$)̧z%Y}BQNs׷loo6n Gb Ol0*J5y~fo"|dN{m;'ƖB1f` C}P0dhf1FggGSc#Z.O})ݰ! ul!#ÿaECw"0FCzw糟yݾap}KK˅\.Ӭ;rb9ClI9- X/ p[0Fo/񥟿9T8[,o| s5i-XP|ޓ'O Ƙjdpz5Rw8^bVo9M x63?3Ml 86w;dp0^8x&WGxDsWă />5-_M8MۼsT^N椭=lQoh(-X<<9X˪JB&׮ͭvJ(f滛\w ԭkѻ:x#1\*8SJoAqa[=ON(TI# BiwN!Ì0 X\O~z#n[WX,{. K݀!!o'~Yd8^ 1^͇n;꜍^[GSVcL4ѹp$iU `wlcfnnhh8ɜ8ul1 @OwFfsX#CbY g(e<;5:}=\Qe GLLƓyH+F˕zZ^xw@X:/ggq|JẎx\mzed>MƷv%E /;o3L"[kcw޷a<N^wm9Þ&׃w4dg?sT\R.:^莋 ΍'jctK` Jʏߘ̗ԧwvԼy6<\h6qݍյO'.eJ+*F-_TC|@1a%\~ӆ uzA6xkj<==pŚtz+WWBrV`,Uh0fۻw}D&Xo|gD"KZ 2*mD+{g9lX% nX_c3u}[{6 /)B0>1{\lr1U[oJgVհPR 8nÆΎI;9995=s !F2f4B9PV-MgʯX[S<2wlh2-Uz+ˊ!=mL<]^T56w:]tBHXn t6L<!8a$pH7;je͓-*N.;͕cpY\W;̌7h``ǨfJ_u\.'woܹc{ C<:<4ta݁C7ɮ"It9Ba!4mmzٴ~ݺǏ3JWIB:l9[=GG=vSRP0!Fa;Kr,]d,rr"[Η5$V&)!lmCH콍DӺ:;?OMͫY9-B}(EE#TR@6OR0*99L2(K7|c62*M |\QT#1P sVυt$On&޲HD[Ep6[q4άe``'ww\BYٛS<:W+2F Bl4莖OppCnI-z[}e3D1.I&ivǑDlrt!=+5mNxa6uCĐa%:}S{vO|j8[n'J$h םIc\~y0O{JLHc<]:IdPy2FEV޹{[٩GBQJFYe< O=o4U]!W((%9z[oʘin\!c̹2˫e[Vc$k/;7&g9E%*RT3{{M'P 10I}xFO`1qeY'wwGt^~}nL4;MfX_[\,ϔ}ku~DŽ x}joY ehhY~iKw gg|LARoԺR-('CIilpz,fST2ʼ~*/+D#Tgax@m(^󷤪i```a%H$mAя|ŗ^081B>s\Q Bgv]0Y=`"_۷>A<TJx9!!&iqO΁]c#sgBBYU5zCՆ5PTw {~㣱p(p8dYBRI{qi'TU 4b#%R)Z9Z^ ;3׻gvwΝhc9 ,+QsE1"蜻9Q$D"$AI>U]s^~P8bw02 gĞ$e\M+v]^籘9#IX&3JT[%BzҒBX]5H7e=˶gvϐjpH(ktH:nq?xks{%E{sWe2!LHHk"_|nk|`.o޲zdHY^Uق잁=kEQ}BE%/Ӕ2RFgچ:SuW6}>a7%1B(u55 pr:#SSM͍f!0 B{{8 Z( `lڴmz$c,ۿ?McRah,U:euBءoXT(J8a #r'è-޶eA%uϩhtS16nX_UUU*6 c<22"%\9O_a9sY0l4]R涴<:p?|dn5sXM BTi@#o_/!Ö{~ N;c3!!5B$u˪|Q 'ܼr4+0Q XͼRJP0\㪯pEYflq=@WoIo@QdۚfxzFPSoȅAmAh1q_=:1lGo! nbJH)]ձt"A &&] SSS a7f7NׄoV^΃menf#37O苍EB( {F@` ׵tϲF_8Yd@QnZ3&v+D4d*=s.-FwhAUvs!TdNqֶߵ!mO|ƺ#)xa_ҡX^`ߕbnk{ѷTZfBנ4ª~;w<=[`]6clWdlclYiG8<(fr*'Ք۽s2'F eBB)!,k\K$2+B`MlQ!1̀1 t4{`sC2'ų"a쓷7?dN2* >|Xy!qMψn7u6n[YUK/18lfi3$DhO huDF<5߶#EqfH8Yk~%,iY%\2 XQIsKjvAR \ذ❞Pd DVe{f;;XG'PQl1#Jlh/$~MkCJ+G>_!(J400isPc,_(;qBclVZuYBiY!++WDSS؍(XB鵑Ve;i}]BZ,~_K(i|:Cٵ͖Z lf/JG6 Lφ_=:6^jR)FP|!ϡ*g}Ch(^H$BBj6W|g޹sZlf#4{gEuua Ż=h-*EIeMRHI -xD,SP>m7N客eXJܰ̿thXtAR ew$sKw/MT`fKG~.zVt^nvPx%ph CW,Ep=t[>ﱎFrs RUhtHϮ\* ;Z~{`2^ W9nQh0a D@;kJniiA/D74 Ml6MټVh4+JW;xafseEE窎}_ʗ++*1FH$_<_=d4Uq"04͉NL[}8o<+ v#$1fg1q> Ti|*Uzm+}Oζ ^x ҫ(UV\QMh[HOd>P]e^9x&,*1xPΚg4+IsB`qc`Mo7jW7T fIumlAJ&b mr{hip$iOlo)w[0F!B,x4VOT B Bā"Bsc7Y͜]j4%@]ee+O!(h~,#b<+&R2'er^UkO f;-(WE=Ϟ\}g \@YxXD5T%rԸ=Ytg#Dv[xVw;ضT{$JcktTx~ZDo"}f8Ը.}/PDI=TN~jp(;42-(٢\ <1tl_e?HFǐa7 BcaaLq |߿'k֬}Na{ٰaٞ'OyiR}42c ^cy47/_lY{{Ue_rGQJeYF}\RJF49!n_BM(w[)ȪF8M+y|.&h eÉBd r !m`Νi1BdkS0^xP\C$;c (g2$.\fMFron:w+nFm=NSH(cdIReeD ؉X{-2O-&FRhad3^4oX[;*m(+IŴV.Ċ +6 \9cpxpEmy;Zw&a7 m7i֖|`f:-1&Iұws<˺@@OBgj׮[أdᑑ`(H$Œ(٬V UUVnJ)TUՒ(yCCBJɼ!sďW/{f-|oE;n]YY,G=#ɗJ ZuAnyL*Jc=''wϞT*6g DR F}>yMKnt4]sȰSY1NM+)ONѣEYWbBLը(kɜG@0S>?nG2b˂t֕&C8wi2'R׿\VΣۀW;:1d́U>Ƴ͟/){N O #G_MVOB$|>_CC;Y{2 =c({?_B!U(! 6w!" +lѷFA\2 EQO|{H/p0F(ق3dX h~ IDAT^+F0G#'] Si9jD#t0w:g GF9F+*/T#t$kxt^PC05%IR>Xksr\FA1Ry/A e.TT4= >@ f``ps.Hza@ߝkZh]]g'k׮q3fsQWʏeiV(Ǐ]oH9J)(%)BƜM_8}AL9dnf єQW(w[M+V6x+)]C3CwMO *_x[skqEipJNoz$es9!('U-` 3״ᣫ 2])ezI/)KX3J- #X_JJB3 JXC8m\Vm=ɗҼs -f{fwt(n׷wY=K<c0o=_(tXvf_!h6::{ϞCJ%B%D`RBabAt]訁<UTJDQǺ޳R)̢NM3cSh$)D fP]f.nBY$Y\Vn1sͪrX*~*Y4 Mh0}.q ^9,xNZ(cCO_*W닉nIѺp+!^ks@W$i坘xLA19;iVPܴ"෿9 Y99Iӓ[WVceTUf, 300xW NE|lw;v|[ᜄPQ,}3>ulP 2(( E q>"ڸta e\U=`ꖲի[ʪ|6ӌKy|`",Ӣ\iPR ,&.cz<"4wK]:/G%ʘ9e!2OLm8LUY#d܎}] ǟ=fQцB0#\`uTp^iY`8]`l«Z 9tϦm~ʗ,.(x_T1 %zR%h2[+*/K-U1dY'~{hin6L #ώuwhCφɢQMW24Ge 'K9 !P+GTo^QλT8b1 X B`euL1pn4 ?} 0I֞3ۺ嶛f.·$kohtcSyQO춎+*36iU^x7Bpy?etOR?t2+-Њv)Ge-5nJپӡ7/H '] f``1G4M_׻vjU-uvr&ss#.= br:1I!ҹS>yk:t7#(p܎1*d2 tXyZ7WlYU\*Nw'Ӣ]4p63W4j63M"!TI )Ϳ[dND%Xm}"Z=  sdJmhRW10ZL\6_c%Io{u~G>.x)2Y!?}W[񟿸\I-k~{pbW-قrUQO8LFgrtt:aYm35U;Ϗ_>2IrDC}?pښ@q].@6w/PB)Q w D!0U/~tyZLǒBPW~{gsن:`*UME{R/mWw>zz(^(4<3y w<:|dqΩtpx"MJ*D9LynJ8q5LHMu?yOߗpF'Vל'"o,[Pr=>5*Oҥ|Ie <8L G쟟?3.P.o"=_Gܜx}musQ(Q8t6a<\2R%6>BpjE%?tr fL|6000dq`hcc#D!dZu[6n|L&$Gj``PUUiTSm`!8M1a8U6(cɜc ΖZWKP4 8/}br8 3ju"m\=2pH#xUJqXey%ҞSAB(@Fw={Af5i̝tҪEp3Ѣ#GUr+TX[\JׁRDHrmkyCu`IvJEevH1 ѩ"Ffwk} .:?t6|?zBcmCvxݱ93\8p&qh 3000d&zEz= <0OES_VTTBeh*մy!DC7C ՙge0VUQki)lU8j NFr|2/͹]rhqKht㋚F(ҌhkX)ȓ‚ fzN:ưf`\>B`n:3s\68J3 el*UbmZ^_ @,->`୍'cWUJ(em8\v0ۭ~tϹ^YPͷ Fm,&k5 XVI8Q!C[:ַWlfs3;5g rATUB(ƀhS(߽퉔 h%lxm-sѻpm_Ssv81[@vdNNrZVa<+N Fح++_><2Ch1RY}M"#/2-(.M09}18c7n.{Ј,JAjlNDS\IQ v Rf-uw;|ųc```p) 300]B!djڅ.&J((!TJW_{$i2o3q!\e>p3e$X^V^p8wl[]cMmm@K{NNv '$EU=3s{ }ng64V9߯k3 ʚ6O9  BW'tK0M+h^,f7!9__83{yr%_Ryғ C+=3c lR5C+[jáRp~߾)ύ^TLRqWVdXjo:+L Wdq`SKѿХ3Q}_?66 : 300B10c¥ys8C>KI5MDS.@#dM0aNYB&3z!M,e[Wl^QYWP5LP蹱dQ. R7t##хe‹PƨF??cOnoټkXQ}sC̜rdNZ^1 L!a:V7=uƻτlagSY$Y f#T&b}g\3 3000@00 *+TU{?dP}2B1>:`AA0XFM -&R-!)Z,-;e{F:Ŵ C#MpM^f 8D"*%I+jNT %5Ss%c$S;V4xΗʗ(cDARH˒WuK[Zk\nijq7U97tp .֕N%eA H._,^V`0Z2-02yY /4&ܷ^QH8,.9;xOL2RΉ09㛺'Y[nox&n2Vg!L~裫y 2W1 Bb#|0d@BP,g??z(hlt!y~ `2c 1eTI@,&ʵγ\nrVz:ʼvll`23̌M2z@ô[]f1juu4lf.1)劊Jfkwa:B(,}HB6< h *>shorz\pIkl#UŔO S~4H/^ ׶|f(1hXuGfHGB%I<9cP6*jΙB(+3aEx趆go\ ;[&΄tOkkCaϏFЌ9 >!0-ӻBɂa``a3ae2(c !DЇt<b*VlQэ$I!ֽlyguLv )'b=p69 dK y+*\XF kZ񕣣#\2'KJQRi!&[L;B¾S;ZّsS(+d8Ă[j\WVk=?y٬t^;}L$Y\5RƂ^͡\I$`{R沬ju$3.nU8DqGrlQ8cdu ]m?z|4]ՉL<^V1k[^9?*J3 =ঌe ym-orvt.J/y˛S#!t@M?ܻ,_=:)K!*<G{,NK0&j{vzD$Y} >D f```0? Q1%$8B0DBv#34 qj&c߼jUOI"һ9751_e6w[}vg3 iJTzQBJ'ㅿښ2w4?q(yP"+%m]Fh:/ύ:=#IQp8nYU;ʗ~>e}MO'ƨYSfAE#3^n3lu$R%eJr-Kͧ7(c7J߾}BقruzB[V e2]" E척 *B2+w9IΖ?}gXdHmh <IrF虡D}gS0 Dۛ[k{OG"٢W!0Ju*>1ql(K+{(eG{":k^<4ψs. #T2ߵ!Tɮdb n4 3000X RJ5Fas=!+h$A*gk--٢2Ϳs.2Lf]iLG-^X[n6-s2xϦ:O eghܾɗ̊EIU5zHD@w<=[B\λJ^><߿vKCC Ֆ~!YHG0^x~D+[RpSW0 \O/j٢"ǡ[VTD7#&RmlQ˶tT=<;3* !8^ы!Sy/]>ǚ){0OVzb5fxz& 3000X!x8#@ea[_4BjRD)/K\jvVle.iF=H./DH/)edGWh<{:xϦ:Bs{}3^44B1Bf,i-oi{vf(=L$Ѕߚ1pj0o/|*ΆYI[.)=uۛ¯ %3@Ofs@W{]v$kx!_R~SQƣh>(cFG"مowE%-mk^^ %}T$YU;HKx}> JZ\8Y|ݱtARot}i!FrZQy⎖xV|nx4o"|d1dV8j,|*p )ZhD**S *gGTn ٢3w:t~<M-sN. W7} }/Y񬸄{_؜?08L&ߎulm:>eJxOJ2y&';[j\;:>~+T1>BCr9f.#M<~tkS(^X![2[&W\ÉL^}쩅- e%I;5$okydk(k=;* f'bTIV19+ܵ>p{guKK౉_o邬}θ#}Z:Oc#xj v?.s$A;[y8m Ah5󷮬:;\^Kjk#{o9+cdr|t4[Z^癌GxAB컮TMX7ܾ4퉌M<ђ~D:1d4<7^cԦTR42 FQ r.K]飼pT\f\8mBGs\<`h*UmKGޱ %!X_頔+`}[Y͜xV fqÌ-v45-e;VxCk&yPF(I$ 'vS隷p4V9W6xm>C١Pf|*FcS"uTݹU]f't6>93L"ϡ \V鱆L`b*=`]U8dVzX(Q\_IE$i:71ld߲shG¹E[X8QJ'c|eULKGgBE9j}55wol.pγH椞䑞d<9+ 300]D:D 7 i[3ˊFye^Z͜int6V9] MxcsBMzSsr>z{3!Y!6 @j I+4jߟ[o/ ~Kw/3ws%eeUM?}|FWi<Ly fxotԸֵ-h)ȃh$W[nl.[}`sUUϊ,ka F=d rQTȄxsnjLA}Fgkx~Vg/ eae, ';?}gS$W*8CF}U1IS9i,{뽉&}a,||(zW>aLwD=#h1qkAT9I GQdo`0zݝjX-*/>;%)dFP o"t(^=;R5jbA f``ps xdA8oHBP<پE)+JZ:/Gss'&l1qg8]-הjriD(iJHr$MdjiaG0DE%T#nRRWa7 8/,f;8 fMJF a*FD΍{bf6qnRm/fٔ1F!LVIQ"һ磗4 X0azA2\2t~b]m]}sL;֎Frta+*E&T^~?xCR+GG+}̆jTQӼ'Pv4JtWP(eĹBSַ& e1/ m]9,n9u >2ݳ'Ϗ/ȪY5 0Lfgﻥ+-񾨬|~ >.2,p^@)0hTEh#.0"xCbfj,&jfnvn:Lnc7yfW4JUIAd$Y,Iڭ++9Y%v3of"Uzu#Pk7V9Gݼtr wϞ0I_*F,^88֦{7ҥDVb.(kx(1Ni)5{0@#@VR> ^yYG.K‘-?zw"OS n x&HO2w'\*QkS%v˿HI=2g\y.+{ψ{`cA@Ո]M^IvuI$'쳹5f_Oʺ@OAAf`nG쨈0Ԁ~/^LU}ͽ;Uԕ̩-nYmִcl&keMKsWk Օ{]Y\dohW?:Jx*Oe3Y4mUU^eKG;#L:Bp)TOfJeVLdlR \l)#L$qj!wr[|WzO/ zO/[.~w-%hz$D{#t4i幍P_ .+xU;Nض,).U6,ô<&˿1 [TNsx\ \X5h(|@0XU~82YuwY 2Wom}_>1 {l̓}76@$mOב?r<9]ڝkl\?qVsHe>rj2ɢr`m[V2MCL5J͛^<ޓ>21#Le/O >ᱽ?ǖv4j| ˍqmIϲʝ7+{p(T?NUwO+osql;nY1s0\慷;wWraUKg@kO|a\.é~}ԿDOh##m8ӊrIՏE ф1[C&(n7{0CGnpEq{(<조s_NQ̪ݥ"g.RѵXHW-xnWyf~zxM(K*C'OGzNwߴ`fUAGhgDOH4i֙ LEk !1=-+96MerijÌt㑛)-&v˥J)cbNMw8~1^~`,_5J~#0guGS?;nwGiguŷ]^싧P*IH:IcܴLVn/i NeTEwynE`,s"T]B&0ڥWͯx ֵϮucd/GjޚKU,[f ~i긨%cZv`;[[o>}j@@0ig-#k'~^],Uˋ3 J n]Mxڌ3D_ ;&k)spųK]7Wwi\&g"ZxiTo|J%3f2cu]P(5L 1tvi͵Kj‘P,c_(SNQǭͨ,2hj4NTUZ)ES5)Nd:c~D:юH¸Y aYRcһeH2HW|5NeI^ڶ@0Y]]g)B7ї՗ʭ N ;se\jkk=2[q0lfL#yUֵ5|ӂM= pUDF ε*žՋkZB)'WʚVP<K޽LKW?`MK/@ܲ!9zL掘2bI?:uV 3#tn(䤼8)d,i.Q- %Bwn].߻~=w{IB]*0ZR΁X0~%-CLى,]vuG;6.)( W/ &?wNJ3?z`Âjޡ(zZu뮨mNWn9O\ͨ* 2#Ѵ83xfUcĤ=~R)H4=_P50Iœp8>5^Y0oZQUi^qGUӒ)J)l)m[$=n횅UӊtΘYkRH)é-<i;>̮])"M0ȰKӒT{_طraղe ôlݥ{ Tw( 1UQJ Uh >x硾mÓ>bܺVQ[vw >#H[(4J=>=߯tOf{㧇㙬%RJyIK^?y{26eLRRf-pYkll|'z+.ɴl3e"=Cm>wI4(߭e֞`(fb)#6?m]ֵD:u}j80~CT.m) 2g9w3w9i %_iy<+ulUU~ЧO-2 pQH),)''*~wukfiy%x6eK[HǎtxU݂]h:cZ-1b<ţkե3J,=|vW{{_.C.]VZmnn:14]M8\泫fRc]wC GU?ʹ ,[hw|(c\z= CL $ t2/bl8vgspÌM7-]ݡh0M۴:(B*KT,o̒yӊݺ?|yOko80楾+`ґa8IJdsP:cYҲ΁hp3` W}"-pP<1?\UU |†%s ##mçd200"Lgɕ˂e#t8atU)^PyE}=K 㩬E^Yю ;vmYeK˒4O32 \ݑbٖ!"1~ǥy>$Sw{ܚKUYNf8nD♔a[B"yliٖBH $zrN "Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 E0p"Qd8 Ga(2 p pM~i7u`޷|_y'?~靟l~bٹЗڎC_SEWޜ&pV~wL8w?sS]۽p$2z7ܼym)|y%w߻) )2yoiE(R\&[voObE|;U^^&6>#ǎX{m/<orr!-G`O/<̊s~}_޾yߞ7s曾bcoܵaͣwUOV槤?^aiB!!rg3 cK/?iO-2 0 lvˆ ۷޲am?G}?W>gǹ{w~/5\=ɟ5ŇNlcO4\O_7 rwݟw^q6̘Qޑ}T̙3FRT0 L]xo~_}͏/ZpgmyvvcaIe붛oQUU붾}eT꥗wH)7']{Ç}d2)lx<>ٖ.Yb [ڶs׮k6w槞 G"TzηƆ&D"QR\w†?5MK$]]~t]_TUkwc7` .luUBܱl6{hr}EƮp$Ұ`_M>0Ig]]##A!D6/=龍yg]W偽wkG?nYC/|yߞW~{c-[[v}w^/|y;o{{Bضo=yߞ_#!DiiɪU+U?.OZ(liESONV\(~"Qd8 Ga(2  dqEH&zI7l4FGIENDB`gtk-nocsd/Images/New2.png000066400000000000000000000662241517422556600155240ustar00rootroot00000000000000PNG  IHDRrd pHYs+ IDATxw\d* E]GkUmjݫ=u*NŅ{T2e)dJBiXxy+\{7瞻#\Co,u1F߀57';;SAA1ӧȆi$EbٍS^VVZVЛ(ee%ee]n\ 92Hq>(P;%ev7ox6Ȁ|Co t1񋋋zC*\"-VCo 7(/+Yf1eemz+d1q.S8OZOØxc(5EiղEgKSjrrHOC]7AzԲ[on~GI)>4/_BHŒ3`;fWTp+**lN :Z- !mzNW̟`\Yl2$씮ݳsjTN\Η ^S^VV={o+i7rQ*oFUTTHw emE M2MwcbbE;9.>>''A kΆLzɩr-BnLi{Yb|y:}4ra?}?t`5檪jjjǏ*8x!ǫq? |~|ͥg͙GܤcGAjL9{ۈPSǼ]t1~@6lmzI?nkduߴYĉ<]<.9&&1JYE.p.׶bX,q xxUk߻GM{Z.<2K,,fs̿lMq.P唗\.W[KSQְҝ^6*WpǓO<]70[u簾Fп_dT7o~ !DŲ 755vbW<,N-|n/k-70t۷?O!Z=rEwpʍuu[߻a`m7Ww?9B]nұc+ݖ^ETى m^05o^#Pn/E_Ξ`…X,/Cu\P_H4"Njݶfsm%Erv9f;77fr8?r8\:}n{P{CNNeOBȠ>}0d.]7oR-F _tE~? ڴap'w슍{i6>?xH9|`_ZzA?̝hʍsivclXy;ާg~*++  RtjFFFw=cc:462j?9·O||ahu۶5++++,,<|ذ4c<ߠFT5k6|O^rPuܹ{~B?y UJ[y-)x88[9]p!_sfVǥk/śXfs: N/{#//CbRZZzJrJ޶6632\.WAt[<~4ӑ#7Wo^]zzԟiiZZ[޹{wmڴqȨLKjTO12b7oy%EU%蹆*QlŪe+V5y|Vn4W$O!~.Ȍ֙2yΥN%z^94_ܵsCSKӻw%hjD999 7PSSߦʮ֗/ŏ؏mmm~A:qֲ%CxIg ڞ=}2{q/\ʱ!.[Q^^*"ȠJ'SQV*xJJ,kKAO-6KFy`ؘ_ː?!._=JVyt匌{U%[VVV"++Fp&1&f݆ԏĬYnVfnrNYY@rMb8OӦtwsQP?p޼3oS'Ι &'Ni3cnjՀ[ &'Nog/IxM 9 FMGSIii kB{-Y  !'h]Ojh>Л &']QQ'Nu!dĈ3fb57Bvٲez4)!d|߷"B"bXdիc_}B \]BK<== !6m~щ G0a<*4(ٻwvvg7oi{(Ҹ~M\.|:utF.mkP/DAAawddH: ٙ /755gei-6jhKЕ*/Uu!\&s̞8y!u[Brrr^GcMy!eh1v2ن+V 믿!"Z¤=zXPy<ĉ8oN!!KHH^0}oIDtpȧE\,p@;uN}zKյשW^~BO-Z|ܜЭ[7 {蚚]{ͦ2nq)={ZBnz }zwl/@/^9yΝ; !n+V,Yx<[ll\姞ɪ6=eo w˗7lظg:u|:*PPęIOOČ5j[6UZZ&gÇHNN^<|wp8:`vǎ?:6A^HOy @ yOc9k!111PxaAA̙T9 %>ʍ9楤/OII3k޵+7||;99?|ʧD9[n;v\nnA>3ON>Sݳ;wrss"""֯.^Uzzȑ>R/_w;i}e˗B<]gE޽'x'" (l6uBȲKOSÚ9so#6}Yq{ٗ/l>}tuS7RD(=[+{qz".G:u##Çy~zYs2H||ŋ}S^t)66#IɓT9),$$d„ _y !>y*...;qԏԃ/ٙ9qq<'t5pG{C-Fbƿ^zUsk7q8ܚ 00HwNttܹ%qzSSSҾ}VKC".++KUVJp@ONNnYϞ;yסf͚=~x޽`x<֭[coosN_ߧn5k։Li۶mhhhhh6!$::f bun9gDCgϾLLLyiH2cZf\fddP231AF7\yyzzzJJjqx[3.K{Uccc]\%A^#''g 9xx}:Mẕmko B0PlJJJ62dK>|pȑ]>::zҥ:t8~$W{ ?߿?!D#a6mիך5k>|xD6JJ$JIJJ|SSSsss+++B\tiժ)**m655ͻ~~;&Sd333y<>%wX!ڵSlH^v7oPVVVG:W -[k]]]BHAA ޯ^X, M0^NB/Kj~U_4yاtw^Swݻ'L%nPKnQ=-{{Obb"Oڶ7%T{a!DCCCFԩ"{$YԜ0B !յ_N8Q\\|C݅'3B^^^" annN=puu+.ojjԴoKL#_q_'}iv.,::&--z,;7jrrBӱrrTpaO\Z3gάB#^|\ڬ;v9rd…#F\Я^*f;ݿRVVviӧ?e%YٯDC\]ZZ*@nݹx"![nWڵFrrG2226nXvBZn=mڴ}QQQtww6G;]kJD0Zܵ=w_wΜ9۶57tR!O>r* 322&M4iҤ*!皫{'L%ԾdZZZBBì#G+< TH !JݪଧT~dڴiW\իWRR)cc˗/>}z]Q4/&ʢgϞ_Gk}U----zvӳ@RR[WO.33<>.*]j%!DCCc۷2dӧO>dȐ_g\!b: ۔RvE $$$lٲ6eeeV3fL_XZZ٭ZJv튉y)g(IUUeS WuTTivK/p";'0P*`8EZ .h^JJ_:Sۗ/RD-^x@-|___{{{UUՐ]%`5YNNhΜ9FFF[III= _[J]uޭϞ=[p{>>'O0`{M CTn֬_xx8u ҥK,X0`o;ЧRQQQSzzzniaaaaaaAAAfffddLnM4sp3tO<={yQQYv="jiiI=ѣGVydeeŽ|RCCc֬Y3fQVV޽{|rBUYźϟ99Z8zvܹ\]]?}tԩ7o>--˗/;;;BzMLL׺uחb8hf&Ư/E_444輪EE_:WLywԩS٥kn:s222Z%mڰOGhhv;]?jdPŖ:~ߋbtt#==0t+`ܱ}^-mݶo[uOGt4J Թ$I)]̫=W%CC7VWn֭[;mf$ܓ23]ZZ׮]'&&SGTSSSUU766p8h+g8{?ɓ'&&t}\TTDUM cǎ9QSFNB_=Tݫ:c;ٷo[[[ᩐrrr>}! ~~f//\zÇfBHll%+ߣB 4q(y6r„"KNN6+W.[Z[c_z`&x:gQ^~M{.A"NQPP?~ܘ17orig͛cvj4tZhO}کߧөѣ,-{L>F= N>999^=^p$Omd.$,''w .ٳ[p~VkV/%%e30;62(7ox񒠠ggwb޽Y+(*nSZRB?7o~ᇶmFGEv""uRRRvv:MOO `8}LLLl~ڴiCn466yL>N~IѻxW344:7iSTiYY*ʪ**\.0''7,}A\][Y[lBSSS^^DKKS^eNYYyyο՛ f(fgg?~~w`V{vl%qpjP#[:QPTpBG>jRjtk׮݅7o|tCUISSsСG=ڮ殔UKN)**rx!",444455566UUUUSSD,...))NLL`o&"idj``````u 455~?~ף6R44s[gshqN8x격==l^%/zre}UPPpuuwq ?̬sΦ5 >>>666..ܹsyyymkLMM!w155UU{<$>>~ȑ>}yT=$8MOYAATUk."<<<Ċ"xdee Oo8WV8ZjEJtȑ#]]%} #G~eBH^^^۶m߿QTTD݂GIII]]u;v+..=qEUV깹jjjAAAIIIəeeeD=mmmeee==檫鵪!D}En!sb]S%))I:~礤t"}N3LfFV+55511:U_MMUdmll!"8ZegDGҥK.]JsBHtttvfu),,L{Bv֭;uUگvjjjfi6&O"„9II(&qp8 :bll,rҰa7A-Z|RB+_7aÆ))4ҲUˑ#Gܹs*ٲg/]Y}-kb 2۵ּy3g؍N}y:!źeyy"~BHه".K9;1Y1&4j+((tҥUVjjjJJJ-[033ݻכ'[f޼>$feeBUh8!DN,]x/<}50660pד e;AAN>^d{k݌0rsF{r33;wnh1RDꞲ"EAN**!niG\۶USA۶""rM |ꯏq=;lOOꞽq㆘7CrD qi~)++/_2tg133C#rLKys.&batuuk)["G(ϱ BKUŲ  k2hР˗tnyCCHݻ59 CMRSqubbbqu4i "P%'!ݐW-F'l#"GȑϱB~1HcǎѸ:Q1rslP%gҩ;shXo>GD"#Mc".9yy֢ \x!K^/ƍܸq; 9 CM22MqȒ>7oܹKw"#!G?& E\B~3g̦yg?&С?i3dPggi""Gȑϱ)o ӫ{VIҋ3 qPuO= xcb:tخaumT{@U>|ئM ڤe|)X]DH"G ;V^ec"%ہ=qdڹ[uw+';Oܵbc֬Y+YUVUqI!ǚ!".3Ή5V={kmݺM[nw-XkDXP9O|}}?oÇǏKѣG4O G:ce#qqIy>~{K޽#Gbe0fGqDk#FDDoiws".ӉQH#qqKI^?,}\#MQDE\\2zX """"EP Ezf9S%mzY?>;;[ʈ#GF^׬YUc]@PG0`( jY爡9 { "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`( "`(  =m9"r  EP EP EP EP EP EP EP EP EP EP EP EP EP EP EP EP EP EPL7eӦ#sDX#'0808080808080808080808080808080808080BCo+4<#Zȱ. GO`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0qC`0ހouOz\c]@P'`( "xrrrrrr u 96M!1q(**rt?n| n^t{3!3g^N˗ F,*Rs/%d?&E\Z,B_@^^Z)O4oVsDeeFDQ2c".-UUAB%:uP \ӧ !e1,$<(yu^6"rD q<{83mڴ0EEEj‹/~73w<},'mXnHJLUD%S96M(K.?𳚚ϟ:t(ϥ4jϮt" p9JslP%epbb"!dԁ7o&|!$$TIIIIt"&&&$>"r$Q"c".BMtmmmTc)$ҏH5ri,qɱB`2EEEmZ^Ζ>"˥H@"#Mc".;B\nBBBumwIG#뷡Q@Q$"rslP%ׯ_B˗kC=բE}HѤSGMLE""G?& E\r***7n :t(33rCB6nܠ,(Y/q,y"G%R96Yx$;wBΝ[ܹs !o߉>bFZf~YGD9JslP%>>nnnUfr劫ϐ!C]8sl:f>4HDHSؔU1qwOOOY%I/1co=r~ժU|>ݳRP% sMIIx𡾾wu񩺧<߱oq#thҶau귩rDTUTʪ{J__?&*Rn[llܚ5k !?JUUU]]]̙CYrU\MUjkn"cgNvccu?G@֭۸\ѣGi"''ثW/.u6q#9uNgO7"r5"rR(Ǐ !ǎGbuGӑiW'MD__υWDt""?G (Ϸw][[[kkk>k>bX+k!G""^B,C !DDD_%.b诂iFD"?G (#!M6/&j⍔Ÿw"r9+//Ta }ԊWͦ 9ҌE@P% """"B PLi@ LpV\5\%ġK"<<<<<MxƏ-e'1ԇzut7F4!G#qqY#3#"Ǻ&0S\{sDX#'0A<~OB~?p}zsDYi΄sg*(u8r}BȈg]3ס B1rtL0~Yu4--!dڴ^\I,l6͛3~"dR걏ϫWǎSA@-{"3aY,ִO|4Pq:\x˵utd2|mm-);33fϟv~XV-d?lmm믓`4hϟϝ;آ!]fkk;y$999lC^n~AZLtZCUpzEtҥ"BfJ2v"3Y,OݼyKѣ vzOnOd4qܻ{O`3KLLrw S=\rɊxddTnc>?y'$WS !zzz΄{eee%'Ȫ޽g[vuuMHHضm !G999Ϟ=SUU|є)BkѣG544\]]֭[+m lٺ>2鿲(RUmiR7lZ\!!KvGFF9994СÀE>(bЛ$z9q,Ԝ8qĉ555E߿ĉ{)MM6YB] 9~QŢB}Q\~l{ yŊ_\tyĈ'OtY3EB˗/}||B.]4vϟ?{x|mba~޽ۡ-~纡]D]}[U-C'ruH] 0,$<,_? IDAT,نhOG=qI̜9sɒ%o~sqr#oʕ+ 7ogjy˖-o߾(/^XXX߿ڗKO+SgM !?44%H}7((HׯO2fJ' !<.ُV% Xz۷oIOdh'.-~!44SDf !AAAV)))]\rKϟU*-[񧼼>>**,33۷k֬{sgd6{^>{,4h 3fYfϙ=~ܹ_Zxb6^^7/_J=NJJy@5YENNnرǎ[zo7ܵkq8yyy] p8ݻʯ#sCx%5srrrv++I?MS$jee%]TTT>}bp8ʕ+nΎyDCCCSS͚5;}[7n$ |]&x(@ݝq/:v(Nrfoߺ+no5KO9rG{U>bg7:##S(|>9u4y [9nmפ?".כB޾}kkkn:j\.*,,Ҿ}Vŋݻw8qO?t%]MMMЬ]vgΜ9s挢bxx…]!ݼa۫WBCC/_.eX˗/ ԩSXXؖMUpۖ)gcbbbbblj;w633KJJDG|BH>%6@Yti=%={\d !$?@S\\/CCCk~UCBBLB0L99tLp;uDt>|HMSc`/{\;pkX˗993gL<%/w'sxgĈ?>ydugϞ]\\lٲ;wO>MX"Ν9eddj:55˫m۶O<0`۷oϝ=?g;y?~ٳ-,,^~u+hccC ޸qCЌZuyךVp+JJJUTU^NN.++ҽ{wL999"OJKx<؇֮]IU}ڵ="nDw΃ݷ3d,}}'OJX`ƍ$@{O||˗/waڷoim ޽K1b?~Ly`ҥ/_رo{N+/?Nj i +++355544v֭嶶W^[~]YYyff&5B}֭2eeWuVPď;^\\[y@hpK߾&Es!SlآEL=_ϖ-[|6/'aUw<ɪ9IIDKVZپ}; {ćH9^6VWQQٹsǸq-~ObbeS Yl ׬BRSSlll|}} !yGCC#77ɯoEEE^FA-Yp`~…c;;;++'} aa񝪪 N:%r'ONNNOIIfff:u^'''O2ES=;;ӓ&MRSSâXO8mX7im{'OĄJHBHǎ<<7aaa</"uϞr9.J+'+ǏsnyK~rο߷o/*Pĥ%//Z#)g=z2tPKKݻwg˖-׬YC9~1--MQфAiL5owY.Z o\)S!^Ʉ333jg<99:!dҤIӵ8f̙wU7׮yBuv^uEEE{8BW tس˗/[^zÇBBB\\\uFr״r*RUXX)ғ4{{$9B(*(T|Gfff?~: BBG'޽{GFŢP3KJJ ѽ{7BHYY̙3ϝ;7wBܹs=]F]̌~WϞ=vJ2k,O>xD֭[HH2SN?;Μ9iӦBHll˗/i/^$sٳg7k |zT* GVՅ|ww+WRQ!>k,&=Sooo@@f͚^-%%eʕ|>Tpzjɩ疸fggSӋT!n{ʿtTcz,-kAl6Ï=XEE'|BQT^^^)))-ݪQ7W&&$QqѣGO6[VH~~9sNߨݮ;x=<2ER%$$Zܼۇ͛w,\h4>_N>}ij!rLu興wּ݇[ \.w|Acccsssmm-Tq5GGFBի\nGGGIII|>% l .hnۧLj/{j`Á^ZQܽ{O3'\[^q !T*5W }lKK_yݻw TgP*.YD]HR 2Dvbbb!r<7BTx]aiZpޅ vyԹX,.,,\bϟ`.R_2???o~J4BH$ҥK>>+GEs:=hBHNNNYYYo\XXH 8q?iDŽZ{=o*G3zYH:Am !߿ͽ Ǎ_QC˧LzO?ݪP(ry=)C 1bϜCBΝ!xĂXLp8֡<Zm!}>uodƌJR XXX̜9\/JO>$NHHHKK#xzz mu98 s˗ύkk> 3>=cgii[|em5OOW_]9G?>{w^{kM$(s,j>~"}}δiөSE׫cG:thk#9ͭIKs}u{ =qV׽ƪBȴi8++_|~}۶ous~8NOO?~ԙ'N=zqMSQa#1;H4rxUUU]B\4-;?Ե… ΟÇ/۾9s޽udɒ={J$x/"899{xxPa B! ߹s6gٴiS&[ab..[?r6o_T{Bzz:[?_:ه3]B[|~3}:*++cbP̘n>h3மaaa_~mPzhjjצ-_EoaSMy&;;[%W_B6oެdUUU{N$giid1-Y+y@:E]r\&%'qw|ιxHOX,˩ !bxÆ TnD>ӑ ?KhZv=T*uXTRs {xkX-=̾՜Q4iҤIF@vNpBHVپ9TI^;>1Г}x_xxxhx^uuu0䓼ZPxݶ6BȽ{23,Y^CB9RRRr[n555I$*l6PרQ/_MLioo~qq[BaccBH$T-,, A !NΚ΁cǎ Q=v옕[swq<5̩U*UZ>߫!bԬ]ڱck0}[nh4.ԃo߾IJ6iӦh?K #G$%%Q_[vvv>>>\.dR5`E"L&knnEEE[Fiȧt:)?c*a5y3Aa}QPPdH"S't:}q?ek544P娺eeeE'=KH;/I"POTv@=2>n^;{{$\tƍCuuu577WGj{{{UUUyyySS'Oy/|j9bXl6ʊdPcT fSPU s5o"&&&55UbŊ7|_|7՘ZijjrM=^ !g{S|gR4<9n^AdS?eDMeffc`pX,C-7{.*Z,d2X(Աfff{~_PСÙ7olllJ\dС&L={)4;CRN>SUUUUUEV1&&:6nǙinn1F',,4,,-Ͽcv~LaG~,40`hջ^'` !` !` !` !` !` !` !` !`gki =q0`q0`q0`q0`q0`qfSX,9Aw)R* L&wC18ʊF+:Jۢ,fLV1@f 3AbDm(FEeX4dJe[{;FgXn@17g0n蟢Üw+ц8NG!J҈30q0`q71,<1} zyǻ=^,gbkkp箰ϦƔ. !U }ŋr8[:TJUÆz5D;I8˯?ťK !BL(" QO/YhޤE|çMkرO8mGGo*\{T@\\GMJ>@]>yyy55zi~=q배Ѓ?iKG޶6377/Z0?a'#NMs\gLFIi׼G֏گygS/t祂k_}gcS[CV,obǥ !/-}gc`:N:R-yiuÉ=מr¯l橳k$r\9@-ϽpT*=u`ٛz^. I7ǎT*~+&uuug177?~4ۯm {j@Y][ZZꚚ}IJeNK`&=׾{ރ?7ބ:h#2 JEDDᏂ&ꟊ333BdPYL]>lYI{5g~͛WЀkG-/y\77 ]4>'HRibΏ,7*J[nlhyb칽moRɱ!A7oJ:GC/.X`RinB|mo񚇇rxwnߩ'L2Yf=2gLsss:5DYJhh(??+++&=aKQq1!ׇBӵl@{{D"ޥS;@uM;*iӤ\]_]=u  !`kgsFoukjMMM/-39ٛ7~dkcy7W-l^6Ynla,y Ǝ~xUc~<mG.-= NiZFzX>o17詡22׭qr~ދ9=fvxU*(,|2QsBkXxrrr^jw'jNt,?Lx1ρa7_e"TF62ZBw6 @-Wn+V+))SVV,,,Zdd ^z]bRrܶ7}:gc\s8}{vM8amtF c899xUn9Qs=u6 sG҅s̍ WE45Q=ca8M) ȺVyeH#z9ڠ96WKLfmmmPPNHrBRrʍ[T92*z c̚q&4(cRS_*#sРt`eD/]8;'Gx{ญ_LX]aӺ .]8a?5,5'rvlgmlV&"ЙU%0]֎UFl:uE٠O +))>[8SVϞio#'OzbQq7Xndo 56jivuqz͔i3m;B/ԝ@`cGw\c mמ p[֩aկ\jsil46B#THÑhx*H8G0DC|&Nf !*a%6ImwݮJK(**>pͥII)8xXyy9J2mfʙ+**xyyzt?Jܼ} ߾swss7Om~:yBm`mH8#Ұ8ZpDYQ'ƨ&+e2r)z%/Jg:y[2;w;v90P]lfͪ悂!NNT qpt|M퍰?Դ{wc%%%%$$QVvN|B۸v=Q6h} %AvLJN.xtLlGo?p ̴]N)Әr- GI4<vs1aF8Z^1Y.K)+-cG[`?0l2i!ϟڕv N?fC?xnݲW;we2 .$0֍b] rŸ>z~ZRRzn#`qKƀ _lMuv],Kjbٲ%ގjD~Y*|q<+?y<'7_{((}̥{o;>!UIVZs/ ##`sz|/:6lF577|[8_tEܷ ^d5|w@W 䴍vtz%hu_~QT\ߡ36&''no5h]_ R1qs0`@ H 8Br$m75w/i`i`i`1@iYMP tr~q`c@8ze= 99?>uˆ H}ٍMwqWRRB&K.00ظa;auc6ŒF+HcjX6_|*ŪՍMf;LliƋ!h4Z}CCvvvII/l9Bظ6bbb۱}pe`n323=>(+4'h ޸wB5' T|B FթŽ=ervNNQQY\LQZZ W'$v 2!!!PIIIGKB½>!`ILpUUUHMKL$'hh 6,+;}M\\LoLt+xHf_$9rlٳ 5,T*5''`P(>>nuZ``х##"&̬L q ?-d2 &/''6nXxU 2L'jCwmcJKF6L&XG999[eȨ('\Nm⪪M?fINI2yRAaaMMM}]. d2}ѩ3p8۷ؾdVTT?~hbeyyEv `0DiPAalh%EiSnRkkk+*2V޺0_>AC]TT2,s黈 m!*++WZ.44 1t G(Vw, GEEiGh`i`i`i`1@[! X!s2%Bw8y~]GZh_GBbbwH~`w}_ gxo5F$% ATDD_ ߯/nkX K{G 3mlcP%E,]8CSURT9+ó'k~䞸+^ 8H$3td%;pq" K^x8Hg0~Io5L#⶜UPí$7"R);!4LJeU GwPU1k$.-ݳsiV]"mzfCy;0c.1!]žd$*BZo;tB>VYeFWVհ~Pt)*`YXJbA+k2sL6)UM?UP\Sװ񤍙lݿ'C"(UϽo( NJ1?yԼ⛴(kSFR,oСϟ> ߱ZD"qߞ]NMSB|ld='cƌ+6{c]x^UEL4>g }A÷5\g]XҾogPx@D,BwC" .^lwwzˏ#ƍTo ~=r耨hXx՝ܶeSVv999{ӣRPXx4O:|-Bv#x|Ff&BeKlA=:q~쒑FSR$dиdǷ-~}J.V:f]klL\.a2Mͩz %2е'6.%Bƥexz;wtB#Gp}!tx牋V\#Jz/"--ҳ-HJJ2 KUUU%%}hG:{ɲP dK>kXk;wh".?{vAAE$10(#T*֍kӦ]___аj͖  =1*:&jjHImo^_z]uI  g{(%%!hNXa֮Y}ȅsϜk6+GʮZe!7jTKKeKMfi$Hq kkk-;H$ָLB"""/hRSAAܛ ׮^[xxvfTUUV/+K>Ggd p8ܽvN_b1hiMכ7D$'ܸi#fhM72\,))QSSsʵFng{ %% n޺ cߺe"'B}'3+ ׯaZZ5'hQgjĘn75#={ۼbs{@g-ߵ{_l\[O3xGs.^6C s;w7Xnv{WB[7oձXdz xqqIjj]sX O<؉ӧM=~)=T1dȐukW_|B?qO%Fjj;w﫯ߵsM_H$~~7n!nݲsIIɣF=|>$+BhIvҲyƵkV:}=B"""XAA֯ݰq3B!,,(srp~mܨu-yxxN7o˗"xUeˍ_ .&Vac,0>S]SkN;8:߽/--u #((׭]jőc'42eGΏmcu/_u1 }$ R]]}ÖJ??Q-cFv{>__+3̣O&$$:Sퟥ=+2:?mΛ"N9 kj޼mjj=kn4; =XBt$&GGg6T*522]oӦrqq!gLuuuon5޿Ϝ9VT\[*?VTVhЯah\x ""#KKʎХ{d11ÇWu{!瓑䔊ʩO*#/(45.((X]]-#-ԾٰU+-A*,,tIAAaQq17LkB}}<:rĈٳg]}T׌9l$r>؞M"X?z_e׎?&%' Aa,zOHhHttLSS3H9CEDD,̗?u}VRR_P8nNkiM:3@6\9w|x]ekwǽpuJKO_f]Yk\aaF&I$bY {83'K11.;][WWUUɏ)D*+Y:jŪ---Ϟ>{`O8& __ϯi;11m͖EEE+>tiZ}=|%C-T\9_B8Nqܸ#99oݲITTk}9oXv֬Gw"7xUw<*u{v-7_ɍp dY_G@Ɏk/0& x<]l|w IrnZo޺w =B"N߷7M{E`_z`ݷl ;aAw {ۻwܼRUM=}ڃ VYYu IDAT 0?2{, 89 ny|mŪ5Euh@ -ONI122ӻUH$Z[6)J`PvUn{y{̙2^}.?РNۺst˯\j Nc#{w<sLN]`~d״$'G2ܦ֗UUU^za:аaC]8FG%:9: ė/IKKxhld㍵ ""r{w%~(48p/O?zWWW~MLJj]@ \z%*",)!CII !5%)!48h!c^LINÉ>:mZ򑓳DMM~}y%ʪkiim߶/""3{j--neW}i|!D߽9ITTt54tBTCsR빓BvoiiTTT<~zksl%?mׯ֡iӦp/^vrt: 'CM0[\{EcЯ'***>sM#GPQVyڍ`8?~rPEEC*Coܬ;{I~4\9(JIi)BϟJ566~ >|x'IKKO:ںᤕhyU Sg|||RRR늊t^-_O}ooÇ!(e<PaQBHB\$$$ TRRڲrL&,E !iiV bfQQH7Eee8pD讝ǫp||x!;`m[~ yuMM큃,,̯\b0gΞRtejjl9ڳL|R쨸8raJKKXY7 †UTTH]"/g0(DVw<<? u_RZjfѣǏijjlsV֧=r899+**bOZY=r+Wnd݆"é--!׮2P\ "XXTO>mԴC uЍ$$ě[8Z={QW_܅Դ.d;zUht792628[[Ud29:2\~ؚھ (̌.3aN򁩓p6i`zլs/..  Hۀ Hۀ H=dmureݻvfuӧ訒r7WXX T:ms))FFݭ(7mڨҳDIHi[wNyyVXک0v q1ɉO]H$)I A ,@\hmu!$ mltTJrGoOyyy'>q֑;vǎNIMNK$_x&--kDXҿˍhЮYj#'gM:q☏F$i̘1T*Us˧kͨR[Z7fjnnn cBvvֱ'4]=s|䄕߳wbRС2~>^!!!SϪih >!TF)637((((--kNnn\@d2SRmgR^^G^^46xʕ+xyy"ÿ&'od9@DD!tg/^\wB(''wc|rvs۹{ -7wzys3z4k/))e-A"si255Y\{s ]l)BN;88N} JOO߶})Sdk+6/1Yjlt s%!&:v.3:`2ֺ. Mۋ-XGN+,xDMM...P|BBcc#77ȑԴ4^M) JJKyyBJJJ!</..V[[RS?vckiiUQ^?4HªO\Z֞`ADXh\Lԋg]HMMnrb|td7V9))c'jNHIJذ~o/!A,12zO;ie}ȑ}{Z7bَɲ%i}Bk̗\~^6HG; Hۀ Hۀ Hۀ H}L& ^ ==~i47m;?r,)*()*L ^Ai!t鲍qJw07[bEGtfPmLSSװ`QenI!-v\keDٽcr"'N6}ZhpPzj;7Gc;CLSIQs)I I qGkWDE%%y{z`+auUUUd>'޾yKx m#<?v >xz!\]<}:Fa-[^tp_mO:mo߶5-%)'+@\]O\LfttLHh<@(//21Y퍟JfkoQ47XI*CTWW>|'.^554 !DҶns沴Tyy[{ӧVT?x蠡y;vݺy=)99==7]v7Oo;;z֭O~! ++;GgQaa4Z׍[acppH[n-)奥e?-+W6oټiI>ޞ:z8[%\Lw(̌9b??/GRUKۆK:L//^֍ņ 7]$?b봍{xBll Z3f|{C8Hamu?**zݥ5}kW[ZZVZӜ9 vz*p6Gnj}Ml^[7۔H={֫3R2R<=/_+0CKc甤>99+6c_z&OH 3B.^V񸍖CBB{`NNB.l@냇 @F.^ޝ5 ȑ#6nXq(L*bsҮ;,7nxXC]-77BȎk;۴`dKUUM8O]+&Njkk~ّ#8;ٻ˫ޢfŒ믛ׯ44-6RSρ$ ma8vȶ;UtUڳ{#/^{^9iBJW\!HVNSRӟ:MMz:Mz6Beff_׋S"""!!O]]Ivu7o߲9>róԤM <LO>@$/\a]x4..! ;vl'=>fζܴdBzMVcq~^.]>̝: v7\*3/} zv #i,mQ>>>IޮsӆS1BBB7;=ZޞRdr^^M ܸyqK[! ֲoܬ7wxeddlo^p=>r&8n`0aO.wϟoSRB\\LԑÇXUMd?|LOM${v LO}fBc9؅w..SFpV4M[{cGy9Yɉa q1k׬5'M~~_C2S>mۺョ>wLZZ-[-]CTDXlt뮜\[뭭ND~kHRxD{/z v 7]ݹ{3>c?{RFFY -((>vypȐ!۶ϛglb:FaܣGN.O~yzsӰ['M{nݙ6}[115dDJOOC}K~~]Bv2erEEEG=zhIIH[3g^v[=GuuUUCF?] V*GSLfLr=BNZYyzy lc}N2=K')9!4CK撚Php{>JF=i}[.vss񓏷QF=OY~cGܵp&Yo:}sؠi쏏@0L޻uy,/'inG)z`II8BHJJ@\\<==tDMyz?z8s''龟`R\ mwC}}}YPUU3g44cbb87E"ayC&K"dd[ a|)Sttf{_XX=@_NNs=A8H}D"iN@ TjLL,77OXIIIUV~!˶[ Err fik#<=6o `Y@8x1GPKJۼ1O9鑌tNNʕBW]prqs.[XK;N^^9o85x$ #i ml66 ml66 ml66 ml66 mw#ǒ0( $+Wm\>3~h _X RUUy꒗6lP'αQN!24*",;3}yy.2"B,5.""r]JRB|lx۶Q)ɉ=[ `[moݿPQY%6.B){OCSSCs躵k2bbbSL{ѣGq*+7UK B%ڳ^!fjnnn vޛ՟ A͛,c?Oxy{hF??*%0pᬺlm+**ÙL[w|||bbÇWW`233Yl>l8$KCXB4*LRBDIRd2=޹cI$"k7͛,O[[ݱg{6' i(mv(Dzlc0ǎXQBڳujjj󗗗w~P^Q{}[@@ ,,`̝Ya᧬ E)'""+)-E` LuMG>|邓sY!%3=իcǎA)SH / w}dY_G@ɎH(f|̥-ml66 mDޞZӧdr3 IDATIQBEkiM/( >edow;91>*"2+ ` dI۶jkkɒ _̌ o_Xf_^lxTXXssde 겲\=wp|D=w>6.7tԇ͖;?~} `+޵+3#`BNNξmpرcƫO`2}8=H rrro^lUVV*..BhA_ƎSEh͸G$Q)m? qMM#M2e a?_E9b}{YiBP(myCde?y:JV66.o}.0\86 -q%%^\{B :dUׯ]۶d]2ww˖Ҟ=id8(sjr;w%EElghpO>3?z{*)*^8.%)!)!C ?|LO l=E)eB\LrbS$u1pꕨ8oO%%6HăI@!4NA3הcGspptݪ(uKMN \hQͪYTT4",4(3B+B {zH d(蠬tሰPّ#[Zԛp pH}rDdT߻g\]ӥGɏYѲVPP𙫋O%e9z'N<~ȏzruyqlz8FFE<|BCsS|ڹc󖭣ܾmw5vEQTOXYkhN C44̖/מ3FA4k(Bhfiҙd2/]:{SWw54'={ ̓ C}f:x[+\a3{677W/z#-][\\ɼ!&`ePT :hԴ4lhlۛ!! #::337OOO]MJǷ/!3|6GML\v=--%55 !;GÇT*˖.ŖmonyE'.L&3::&$4[F}?yw Sg|||RRRvDLP@["a7oږS;wu费L `iY0TVV"DŰ7nҙ96Wn':]\\]kP YRraaaMgPYY)JWT~P4".,,dYPP ..<ŋ+6?isTTT)+w޿:'/((lM<<<||N&KHKc=׾;Fwa!Qp'ɝg`1_\xJRRy߹ 'Y ~uմS<0nBccSFFƑcǢcv|zD%ODbFFfuM͚<޹GDDx|رcԯ]*>zl{䘒RСCTN;88:88ΙsӦW& gϺx|mmz6T}eee:sY+?Qi8c͊Z(==}BBBn\{w 3D]Zzb$6kQZТTY*;Ed0IXF([&Ƅ}>ν{Ι3ܳ8:8>>}AT& z3A VC2mE FAAaŹޤN|>uʖkر'mˆS &f52ٳLBAI>$\\\'mN:f̘z_??sw}!3JOOvvَ_Bjj &y5e%g,\8`ȳ$BoGWWWdj2SL,ʂ[>7 _(.4i:RcCbD,s988"<. k]аJW m~9=]=WC^t6u#=kJCovMpbEцY2rkFEG755Eޏ=VZVl5bv4}zKka+롯 (-+dbą?!uBY 1666QR<2DB8$$&|yxx r_TW޽-))TSUCrbՕħ9[6oJJ2Q%ŅА u׮Yck{R[[+/Q\_A(uGa]|4Xsݛ16EEؘhbyYNv5kɶ<_SUS==ffyUdPLVF&"q?een߾}޽{HNN2Eb`xY@ 74Ѩ|Q`RlݲYk2NαLg,ZYI^b@sFzzP vsKK@`P___EE [Q___CC-[$$&訪bQ$?(FKE>b0 =bbc+*>-u#//|)4Mthvv=zK"ȓ1s[(Loll6mPRr͛.]Ri睜YL4i=3+**".&C>rrrOYkn^@+Sz{{h4@LLq..!_}Di}JWOs;::f- pЁJQ(>7`0bD[[?? Bj;`>7506FYXc6 q'l;8wѣƍ[j \FF룢eee+~%зYܜt4MW>1%g+4ɯAfeZk N#G-Y`|,6D sbςJ>e8=m з%&KH_,?XJ|}|}kk߾@cQ]33>ѧGg:ssC2߿477WVUiil33"&9nx0HTVVZ8{;h1fýhCWWײe\00 , kki%%'޼y>bmG;b&2[\[VFѣ1cƸ\\[1` r ޜ_U{{N].Y>°`9l$\6vȊE:]5/^>{vqĉaӧv>eG͝KRWX>k-]Xu\+ %%jcǎKJ999"RRRlllC?..~r55ŚĤ̐f̘! 0|%&%M1۶ F ZZdXLL i]ooo'VTxyy댄0d2=Yhkkr}&SAAA4?~!fH8le~mԩgMxޞ_ߝiO@9X᧤3XBD7o2EvK0Q;B=~`=$ 4!)^H;vl?邠O}R]I?BZzGY|abRzFeg}ƻ^8 ݋<`P~{ՔurqŅœ/G#E>7v ~>'&%yz]SA(audkk +W./+)&^yo޼Yod[^s"</[7K$g|Ǘ 111!oW;=z$+#|LLJb,-[JOazK0ͱ¢|w;ļNpN);q$:ff)f۶r$됥DQQᬣLɶ7m/^zը<{yo޼spܿo/7776;{=be) ~/ 9\]޽{ݯNۺuц_/9!=[{\yN6u6mQ H@aM*ZZǏ0ۖ`oܤPz߼yHRR|@ⲳ*12gϡ $V$R#hOO6p;:N ЏoE1-Q; `#mQ H@AV?ȷ Daz.;;; A B0`G  ` A:Ȍ,YKA4-թd(%̸obߪچ 9 neoݾ3~P>mZƣ4RcCƣ4dU+W |g*!hc1csssBCwn%E126l4T]SFVf-%} m,Lz/*؝94\gpӶ'K e>׽Ǎ…iɕĄx ~IIIޏy:_T`s;;ܲd+{;=]]rq[nQTTxUqٟecBjk(+hNJ 奷|n /'LINDf!d FGFEⲱ+W,HKGGECC0GHHL ,*/JCR  X5UjHl<ܤQQQyWV1lO@X>~GH97|2%9Q^NgBYIYI1=u|n9^^/).t?,GK[^AF]rnf9g5_-^ FTT%̗Ʋ;&|s%[ZZ}nRQUUQUعcW"ځ7e`Ydjk׿{Q(L#ݻL7m%S6>.H$)(w%O%::^&)(^yb01n V7))-huu)v{zzZ[[SRSCjj R/jkYG>[ IDATeļy眜(JKKKXX.r(-]rr)ڿ*88$)9d+Z[[) ˵0˗u+W`gg× S/_֭Zr2BvwwgP(OL2hYވ1-m<ܯzyQ[; ~M"Q(]]]wĊ L&Pzo2ӻ.8) tuuLM6NH$%gEN"5`BsYG.""Jb rCf+FPǏc@fۓ666.nn{sts뚷77#p͛.]Ri睜SR33Eb F$|}c`2Ӳ"ɱqǎ7~|DD$wL_J& BE~e@&_56 e !91yǙn.w:}_u{g/I4jQVa`>?0~h9EEDY XLq{[[цeqxXRzQ(ZH![IJ?(==#==CRR2߷6UkR-־}gƢO?e0L0 .,TS_&@0,J^?^j]777:x2;kPP(RMM$ƣCWdv7B5zH ƆՕج̣GٿG2@'!!ΒRliii=Ji5Uձc%%݌sqrrssRT~~+?{z%wgggaK+'s)I3ru|/s`&'%%x]/P}_wN@¢KnWߴ9i+6S+9}Z}.k01\cB;'WW$%' ih,P(!.PTu/|)"_pNr7d`Ϟ˴469mT;aឋ 9}.8$tDhH~#QWW'8{ĉQͷh.;v2,MCru~QH~b*911 0IVpcl qcƌ1߷5ĺ O۞^W.Pɓ=/O4c°9@"^B׈~7m2CEd}k++* 6Ÿ Ս %!1yW" aTWۇyPYYie}0*@8. ^#A8 ~cب~چFrb2ֈ8:#K,ec {|Aj3~uүr>KZ;ߜ4'XmC߀>Sƌ#.. !wmಱ+W,  a2zzJ mO@+**Dr֮Y{)ɉ??#mC߃H9y:F{y# zps xyyBϞ  URRYQQQZVFxcu%QZƩ Mmk544lݲEBbێ*[VPP) h` A-9>6&$8PRR **".&C) h`#9]\y., WQUonn^AзO3HKM ' %8Xk%򊋋a0չs)Jaa''' 1)yv33663fYAWj[RRڕښ\sgڜx|HhXJügO988ll[>k^@kk +W./+)&^,666MsA+\II~Ľ{FƯ_<3G___\\WA hp0k/o9zZÁKJK_#{I6J] AHާmsbcۜ,-+{@TT psu9`JӜ-7у|9}ʶ_Tpa̘1~Y0By)IdݻY\\:N7WSg^TW37w糧9r 'A6JAC?WgJI[Z[;:#+{Q~YW'8[K{y,$RS[˵߾s.ByM"\rhlxk@RR20OYyeo~AOOALlAA!F{~CAQn *"8䚛L&ӷMl>|nj" ^zE_5~٭ÁƎb/7,BAQZm ad  DPH,**DHM ;:::::3_on 񬹹Erw$Ae6MMLNٞ>}:''4K,V;bŊ11~^^h$&%M1۶ F ZZ  %55LM6vkVk®ANO061 '.^̪vyb "../*HMIfc\yfny)a|lN M>>ؘ>*HdzĤ$O+~w*e;̶]sAP::3%\]޽{ 4jM1WrDT|=\( j 'p} _>mCAVAǀ6A1` AA XmCAV.r_  4mIIIkW jkrΝ驩 56e k2AFm%%E~ZbddoGҾh볳s'\g9P^N. iܹظ6'***:;;Kgf"tuuTWY n޸~сP^J(/=yf<ԚiYϘ(5XDVsqՕĸsUTX3,,u郝+*"R^_t B8o޸N(+?,).,/Ňa0]8:T|ߘEFvw|UjeTdnNjhFi7{R`PCjjj]/??-Z0`uj]]=~/@$]z*e5#,MLJzx}===SH̛~ɉB^[ree B;OtZ[~bm~iS=bSg>|1E־^ KMI$2c^fImm\;SLL,>6X}Bo/D6ǏKo7e -59*!194$X^F^}5ZUr ~{lҾid_? !QZm "'O\__lSiԡD.PO/ځz{{ Y N#G-\`feZ**ꊳW|}-^|- CxusmmO{p* M%e20gBBRRRe44뭬*()od:o:XWWFYEuƢ3gn7p?di%#hqhX87,$844l]eedϚ?ggFEGqppܾfG_|"Xas$LVQU_7L/QH(Ĥ䇉I6bXlݶ}lT{1)aZ,a]QсA)*Bvnټi}3\tg9t?,GK[^AF]roBݼqԤ4{C,]` Ms߾v 9Xik.Z|^sj`hjbr999d!!TUQ(FcYؼtҤIlll۶m7.3 (8b~111vvvkfΜ;X *s,|<Ź;wl2E#G]y"ٳaaSرcnNNΑ[zekWQVvi,\e(%)9{Pb[\F}Y]SSRZJ )SׯJJJ2Fаu o;:+/o%Ch4ZAAai4;w'NQ;w7WE3d25/^K=w?(_JrO]ߋzB~çy/:%Le0K)zqƉMl4rZkk+BsscTI|Ǐ^WXD{ڵ>\4o:vr3fIw}5albrb|8qmmm7||srpVG\t4iRccCZڣGK睂jkkn5{-BƌK 6l4ijjxzXHF46y]Ε>vZÏ?>LLe9}*suu[>T*NĊS䮯>ss7zbb۬MHpf vꘚl3FIJdgDjR?5Dp|9NFg7>6CEEX^. I [d1Ǐ(½o===ׯ^:zxww7 ,5I_LS´X fןJh @DDIW777cY$IXHB;19J@XHunhxլA`Xl11H 5CNOPQ3oB@JJj.]ruci3fznYyL)iÖzdzCI'mO4Pzߴy|$5h0򧖋yB}[)7#2~;0Kkff<*dyzJb9K,NMK{}~ݺ\vvvc%ŅEڳj~ʕJW<=j~yU|Q%ҙnَ =#8CBR={N%l$'+<=w^\lҞݻF5A2}=[`<4%LeYsu|/m<ˮ$>2صRRAy8l֧24;+2|Qc4klzG)/+S.^p&ւ5}G)5UUښ*%O2~5k5Ƙ7 k./?{ZA( EV n.sVU00=mrqU[>7lʹӦ~3 @2J6Cbbb^lhhDz}rMϟ37G 2auu5}[^^Շq q2@'\./8nsss|lLHp {_ecc[B&"cK=\Sh͒34ڀ{̟?^dd888VGu7o27z4i-߽ל?,$$%%UFNACs }-7ݷo+W==1 kES([98WدjцY2!bbbEH9yL&/XY2FQ3Ew2ݴYrL"(d`ߝ;1#CMgEPQћ>_9vl|B=|7_??S!n +V, k-[hReՏ==׮z wJΒ1ݴb>wbM6 3dU-|L~kVۭqzÁH&qqqɓ'#KWMOXodlhdu&#= &^Xnn*]hq2]._*EC…]]]Rg+!G[z44sqqn2nhhhjjl46]\\Ln߹;q"ܹꚚRVWW_N L>4f}_H޽[\F}@`]]=^Dq12`uj]]=~/@$]zXFzF+/'JJd5@``kB$??-Zq5.FF{zzKރXމN_O9u޽srro1S@zFƓ,*/)))-E~~询cna6bߊ\ݐ{/\Bokׯy_"ęͺFk 4C˗uXlSGR'm#11cTԴ+*&ܸ=eggWTPx/$$YRR PV---4¤ӧlͶm ;vӧ|ւC,D"כ9sFLlxyyYTL66o2MxH"l5n\f1gNn޼6cJ^pvOx[z0 }VGlb߬=XV^>{ҥKXRz` _AA!c 3[Iy~>te& `Fu AvutӓccH>^^/Oaa{JKK<}L7o9sԙӶ>|pu<(*>6f,Xa 0x<>$4,%asU 4k#ivSPXmm֭fHǰ{[l~$_]i4,6;+3+7~CLRjj &t|{yz`0UUQ151Y,9C }3#h&F998IfH{.59QYyc2\pvʏFoCю:uԩߥ%Jߐ{'-5yī׮uww,,6;;37~x!AA$LZڣgyyT*Nx˗A!40Y@@@kӿq\PzEĵkV#32deQT|IIIi)˗uVLPx<h{{Dzr䙣F՗S$ ~54sqqn2nhhZWk&ٸl/wAiɆ>)۲b|QYG1c?? e%dPRRQ[SE(+NCnn+Ju H1c8?W/*).9~,(``*)) T˳OtVDv"{h4:2"\LL,"<,/( fegH>DJ"U(tĆbXYDH 6j( U@~b!?vgg޼Ifgg߳Fᢣ"|$+#E*+ʐ"Um[ J^4j($3B7m^9_?=iN>qcnh":mݻgϜN~dW ~(&ZUEYp F-ëWZ.RSU8}<;`[&fgV]kׯx!]mQQQ@` 5hB ʔ)kk5'NyF W/_RړZZZZɖA\\e4{nػL_G4=qݦ9/[ARJ_Fܱ}TyML5sA?F ׮.,*b+b 7*_=N[{=iѱnP(=i3fb#))innnbj6I敧a$fSZ0m0*D"`d)S?ajUB7`0FEp>4XA^*L&UVOC>4xxfHO`0VV%d99T^N9[?q HS]]?_> ,,ZZ JXy3eed<=| \lJJKΜ=$%"^x-@B\͜ER=7,֫---vﶗ`TUUo޺gp+WxzAoW__׏/6:jȲ2/Zdy徾w?qp왲9__.3&>}nܙ?~dݽlc߽wY=–{i3)98)//h?X56o xv,fcgLcČ篿^dewY%uHI~m``SZHh0?1!.-=VY H{QE**[Ʀ&+lI9Ys Ԣ.kFSVBܲe륺[>q>ϓ r)(p|jJ<< 'p|Bܜ,7]~8BaAJ3"8h_6/ &yrҏւ'xO=xVBqRUn!Y.++k%%1aboo2{{a?Z.WC u55^]] kj4]RR3 +++»vlm/42LpUU+]p|y?d߳gƌÇ;sm&IIII?Z !q4@~ن@ m@~h,?5^ 6OXYY復{}7=w ,/** MȑÇ2k_U Cn}+T^Zyp|3XZamm&#i#l~?Uu\h6ODGxxx;p[YZXYc [Ǐc6nڬ*o)<2h&g7|S49j(W wTWV46Կ}SWL( F%-07{U]6,N_?ÛװF"~>z@=lm\ <~XTP^Zr90@XXc`y%i)%bi::WStuB oD"ttܿXdbw&ٙ~ .rWh4mO1{ܺe3wt}ZIw#eńC222|[*RytT$o]/sJi.Z_3>KzyT6;]B,q Xg|ozʊ;#M LKMXYY$?+!i{G׸NVNa^Մ ë.??ZtLvbSfO&}\#Xa:mf 7 IDATN_9Û  ÿ{)!={KJ%ֶ@=L,--(mz3f)))vY?'opݤ>Ad[\p -¢WOkj8>,,!!Q]Chܨ! zӶl$Ӿ=0&$&677oۺe)2$͚WS.5gakQ=w]~7*:zcu ܗ/=su7n*;/[y)nP(=i3fB}m۱S]Ch֜p|Wό%D"Q__ Lnq3HJJ +%0G46ȀIjzz79X0/78beioonv& qDoʔWՕH1c׾:twu7_uPH,*صsGǏK>KL"%?8uDY X:xPE*OKMqr0pt:q3 EaҒDgȢ"q1cDHа.:ݝLѻ_7`nfJi\ R2w޵P(kkа0R'G---4+f&/'KHH0Cbfjq #3ٳ::;{zz 79-sMӧ޽{O7N}}}"X\ܿ{{{WX YYY9Pk;esfuQQQ[WiD,.6_hOMK_d Fu&OiC'NOu+t3E&y>|ӛ033-XedBHIJXUWo*hgW9N[W,_aF%5 ~s=wN;o)St `ݺ-WVUU*6&\CKn_kttg}N8xPIEm-3^ _4äpb/#-h=>;3Ǐ""K!555.ZVV)FG,˚<+L;-++@ TLt3E&IIZZZ *rK0h0oޖ^#kf',--EXyJʞzzVV wlwtvzz 8۷Ʀ&+lI9Ysw(JQaKlrctt ׵HϙODT^q6E$!/1!5l޼QHHhȑwDB t3EV$iu1SR&͜9!*g"hXi+A11׋ut-@@_OSSscpH(` 3>wRǠ-|=0O2O޻}i3P70*Vi3XO/^ `23XXsCR'*f>g9˥]u7m^\RĆ&۷ҲL34'DylTe 4xCak[~Vevٻ{O]}{;op@ h!if@ h!if@ h!if@ h!ȏib3>^V[ށf'&Ưk k q[ o$q?FWXG|4<wpgM #gΞSڽG(_h{v~@[+6Oܻ@EYy:r8i__3߁@9|||{vzUVBLOs"$YbB<-5ItݰND8D$##2GKKʊ2 %))pѿT~90F-++-z3  oo~^ngH4Iw#eńCF3g>M'>y"..~R`Y Poo/sfώ{K('9|Ir)bQAyi$z ;ggWc"TTCC%$$r3RS>GPjm<@3tt#avcNJpILD?[TWQVre1ւnm߶)ib5- !::}U]YVBDbppu5Eń}ҙ RywD{{;..>j Ls^xCfV&*mڼQؐ}niiAimӟa4KIIi*1ٲy…꓂np (4fGG\7כ2`h8\7Ozy;sjpµk74 E`ıcW N>Isǎ]55 (jl]= r{_g71[U\\e4{nTT@~ȡħZ:Z:w =(u(dߠdb^C4ۼX/A zx<ğPoa* =!7975N222 CBA^%]cC)kjK/hK$۝)/wt\qFml>Bklj  y*$SܼqOvq܌G03&3ںҲq DVoXqt?FGܹ[V^d()yFF&(--#+++?,**b0׮3FTT$hhX\||ggNgzcǾ~]`9??@$htg4sWWWJRQV q,RΒ*b#'AN_F>[d<>/qziMJJNJJVVVBiDX,2;vaX7HIIS4P޼y[f׮^a4o99_ԁ \$as̚=+gh4zg08=|Gp8 a!!@hX؟ 455:9HJuu5 ĉ3(@ tw`avn0~<`ZZZlyqP(#ōuY FKJJر=88Y5=Ꚛ윜^^cƌHcUHIIvuu]jjj;gX ۼi^XIibTt4*&&&''[+xGC( M2f68vƤI$IHPڴ݅F~PZV *gh52vY =ZQQq79r$@$vww [_.YƤI9g~g$UuU5D4[^T!?A=oX1kW_*+)dddܽ RyG<<>}H~<,8ȡ4XfQy9e%-[6|Μ}'"yr=nOLOψ"] 8b@[["+b茌MM.J*/zyk2^T߿ZEӧS^dfD?w>Rs~FGVXY&aǹ9Y "Veŀw]/RDx1Po8/_aogK*/@9vEٙEyw8T`2з?;5..~gobc<9Gk ʼnJU!0{{a?ZmC 6@ ? lC 6@ ? lC 6@ ? lC 6+YW63=m@&xyz ;o/OU-.xpwO:Яi!9~dА!**jii]Hx8AC38p9>g~^.lJpЭƆƆ*RZjʞݻ8;D?)5$%?ooo1ŷ7۬!+ ~d^^R^Z(&ZSCĄ*RBM S'OKE3+ݹc{vfz<&T=3{vX$ÇD[k~vńAmmҒ% QWS|pXTPZL a+kc6$Ǒu_FYzcXddd6H-QJJJ?yi 0\})"2 O䬬_wZjJ10;3z S%NG,4<>usg}& 9rPbS --c;AѸtGfDJ-\`^A01>͠dб`CRR\mfM+OÃC`UINMZd4wUSSVc~~$MmϣΞaӞݻ[[[ut]>h4 4CBOIPJII޺yƍ*j6nttp`^zJԞl|@~U`/m-GnrӉFcGpP(**""BP?ȱ;E IDATG1)?B0ht4} z)))6m---:`0Q3aRddpLTPPU>˗/;{t_O'$p ZHi F1{֬HΡśOi=yL롱ya1/K^ `}0Ͽa:$iNU?@@=9'//{={pJ1O>De ƣh`^b'@x=CML ܼw[\/;ec>>>or38|+R.;'925]]?_k[|@Ų'L&*+ML[7o235v YM]Y熆szMuMROl,`pN7䤤deeࠛ-<>yiuv6K+Z2  dQ޽&4:( r)K&eA3 0o?MOds! " r$,<|Ə=ZKK-CLLh4zkEEEte%$4lM8zb%QѬ$bd555rɭvqA9qD #GnAAah4XJR2;;I zUL,ZbҦ&2kħOH~hgcs}rZZZl,0+!_27; +8UʋT%%'q񽽽xuuqORPRRRz+cǎHO+//(h4 rrrF3g8 ^Kel읞''}Zn͝;-SOc]6Kvݻħ˜dyxz>~w{Csf>|蠼\eeյׯ_7o)@\\& 4;~"&&zÆH/DJ^_ޅ@ c"~_ 4ȏm_0p)@ h!if@ h!if@ h!if@ h!if@ l+++\/*ȫ}U}@ }h߿{'][{Ƿo*˳@ {}ر}n+**KJ\7q ##2GKKʊ2 eeeXTT~`?YbB<-5S40B n{ر':|dH$%zy[ZB=D9bKVVVΎGy) @ Ƞwz!B^%]+WPP쬬89G>/ uvv,@ V9mZYU0 EdrltTXh2ýy󆙹^JJDz oj[ZZl_h(~)m`q]= @cc3|]]e!l<.=_QQQPPéHJuu5d}ĉs,`Nhа?Yijj.ur  ,@ nI$%%;.]ega!K/&?jooknn Gٿ8??^UZcۿodddܽ YYن#O>,@ 7x<6Nϓ~QTUIZQQUѺckcayM"o9sEh-we >cSqqqRy3~J? ;՝|5EyAdeemm>Q++ #erXލ׾*{ieeM4߰g h!G<'L@Nw"5-5-jF<=q^ޝ [{UuEB8ϚnkǎEG|C [6C"'L-*ȫ(+z4䯮0GEEDedddh?UueY ̞8PO(?rʥCE%D)(ȇ oߺ)**ʖw Ҵ"KK2S,^*F߻Fs3554?|ܾmkQA^Yi˗F5QO<}ڇD"ի?e0t:N^fY111|Xح7oo,+i6K,4<>usg}&3t{'4yjnoo aRsV]SCR535i~F{}fuc+ m͛#G ;GӛU**%>o,[__ϖhii86QL ?&` jjj\@ ^A|nGi22r8\nv&& &gH===49%gbZU]-,g:8.]s"4|vLߋ 9@9ce ƣh!kV!0Yaz!!Q>=a:|W~!_ ֆ665hi,W;v,ⶏF>]ެP(YYY֔)~H@X>Q sIo׍t_#4۷OrlEid2TYibj> \5QFgRe%Hym-{c ݿH4sVPP465vw盰way.aQHA[ z6kumZZBBB#Gt?VTD(-+*Ig!؈vY =ZQQQJJH,NVSSQ !AA쾾>qqq Vp$.^^Nn 8q"IOOOWW&vA崶>}eΒh4Z\\|(*"NdkW1"L^ܼyЈ#IKKP(5599Gƌb?Xi P(4+Ų̓1.VhII;{/##|'4K(=PƆzQS+d:@˜ .k winΙ,6:D"!4659/_aogK*/0;')/23bܻG::;=݌{slĢ۷9$^8 Vpbk`Y WLLMAwbBd"{lmm^ɗX9%d%r|1 b@ mmm7m/{ENl[?|h|S[Zvl^UYei0y2zJWԔFh  P_ W ٽ; ceiae1'_+r)XL(\鲦 |/̞8|!\$GB;]B,HSSyIqRyiG֊,/-HO]x1% sM--̓r3'L8騗gMi+YbB<-5)hkc}RQ/ϲݦO4"#ī6А` ̴$pѿPjm<`k #?yBa۾HH!ĢҒˁH{ͬbYfzZne2YxSSL?sH""` Gn畕_|z9h4zٙUSg|ltƵ*RyVFf{>AOږې˗mظQIE9 ضu˼yLL5t iSlټbB[{UIAABq8y.(صc<62Tن@~ l8:~]{[[  ybgHdq!o{{{o zݬYFZ(0_ia%%gΞდ}è̾Pggg$[kkk`:^PPq͛7t:=6 RRLQZZF,.VVV89:YTT`0]1fԩlw8ӧ;~F577VVHD޽5pa s0' XF]|1`BmmFs|?KO>KKK1`eݒJXZZ8/u#:`(++ag""uuIIMM͍)c022ɔؾmd|||F X| 543RRedpLTPPUUc|?hJK0G1H:#&@OO'xDfK?"_~ҙFǑ(JP(2H!*I}zR & > h!)~ֶvyyǟ6UUU.:u*ۋx:qu澾CݱX@b|ϵ;Py:ɼjed'Ld2Ԝ&0"INNy*//01x 8#7G6hd2xIit>>> X_)N5vEyC&p99T29JK3)+46~|C"9#%%E$tu'1//Os3p!VX"*`v&˗9ʢPUV `$.^^Nn 8q s>R'BiCv p: `0zSpNuMMvNQ//14%m]NG=ɱ ?lavn0~<w9!a7mk2LDEpE* m[*A. -#p8P$1@T幻]]< F-&aCF}6<§6w/&66.ZrRBQQQ&+ӧEDq" qqăB7ov{>}"شekɸwԩrl&ڭ_vJ@p ˒t=:w\TTa[lO>)dff͛Fd5_r&7]rN%V?j?֯[pMAAtV۷oj\YYxҭ[7~˗g#&ZKCHIӑ#Yiׯ'ǟyOPRRzEHh(Ūe;{;ުu+6m(̟gdg\\nCzӧ7k[W>;dcm5g#hXvӸ]U|];^|n.# OhpcWM?⢇EܻpmZWA29OOݺuk_4nsjg%zG^(6r.))Y3n/_ԻwY|}ͺۦ<ƍNܷ %{S__Zܕ<6FL6-%9 }eJH]#Abc9.ҥE}\r̙-6Q  z?wln IDATO6d7vw\CRo;uqlކ}kjj$#!C Yr<-!!sO%u]"#HYϱ}{qkogWCO20IUB:u{fX6h2mPTCk:q{Nn.5 S2be5!lձ]&uR%2rF Q\RTSSs޽:?((82*ŋJ>`#&̲cT DoXZZ\<¹ZZT޿ [ru#ea!D$M)3A"ё'u6RQO|k0n֭[[[Y $+T4aJIQqq1!ÏIJ%2rJKKD†W۔j$4Ygldj(**619<$@V hkBz2e]Y._ncm%''d2'99޾M6z55fZmld4n{ŏ 裏rwpu1baOaչT11|}s-\]ue).)>ܣ^ղ~ srs|]]i:*==Cj={p|DxvkʔɒFy}{ ب)c~SC؇o54 *6Ff:wctaZsm[#)iG9]4v!u5֩S'-M ի*v&99ݮ];AΝ͗PSSKZ^ :1棓oTTTo5p!iϞ=m&'<sx)]@JZsשS'cccj~MMGβ]@QSɓZ+/XK͸YGD6*))}ո !ɉ@Vdsvn߶n))]4Sb;{Ԃ977 -hqNnNfFձiiitVJrx0~33[)!ta ѣ[u]g]ѧAQ##'Oz3zDkaWDyl>}8<5k $'3aaQQцF,\D9r Fh2Ġayyy` 12;dȐBڵk|%=}Q׹ej:r˦MNԘƣ^UUUz={ ifii1}TH:">ok@34ꗙE}0_~BCNy=={W,Ij!SNG65C{n)u]EE?__? -EK.^@r˗k؈ZZZo:y^wg|6͚Ӥɚuݽw\873 zBw{\v ֺcNٰa]LLA[m&B4cGK[<<^~SݻEWr5.))Y 河555>c d 7wʪnZz5+//? Ǎ$23}y<;=} =wl4y !Sm޺=y$$$tXKJ7gϞyy>}{ A=jTYyy`P@ HKKOJN#X@SY޽\.3Z"k_wY'yyy~+ky'<CUUUr{gX,@ QCK!Ay<ޅl6'//_~!8ۆ OJJIKK rrr"ܿ`y޽y<^fffN<|h"cDw! _ϻd0P$#HYY`0DK*|M6?-埾eWUUM \8n0Hѡ}@SSCnTG%.+OBT ƭdjy֭?#Ȟ][N_9KGJ.+$S Ry<~i굚aCo޾QKKߥ8rityyB}Ç U.'O{ΚR@ DH/D^ޡCTTTFڣI睓b:R\RBiӦhEYYYNNZK.%%ń&)lEŋ/*۶2yiӦ&p'#Me]L7qDgLVR~AhCb/<>OwweNj.kݒRч ľbJ'jﲕmJ e`wN}>>>>>=d1Mr+/jjGW)+PTTd2Tǣ(G)//RPPh?HHH\ֵM6Zr]beb(**Μ1N++wr=lx!RddvOF;udgDKJݫkwMys;5 t##r=!O ]Rg2gLNon:vX9/8`N'X[}a2VTUT&Orlsyٳ;t@gGvI 9iog7`@&//oاOG6n=5ȨUV̬ׯ_nݚMB 1kO?uHz9++333ODG^uF-}:~X̋#=]9{oN&̘!$)|ӧ6n$vDlts_ꚝ@x2vrXJuʗ^8all/czQVV6el?1mmߑνw%=V۶m/_J-_r&7mZJrbA˪Rvر#.\<|0#EJ jѢ=Sod.]kГ ߠ]W`ߥjh9e}7%9KW@CKwor]4 tpܳCފeIF/yа!d(3N^w\ 61|Y ?]iҔݛ2tȐ.+8hSPxo$\PKӑ# 񿩷#G+RVTǎ/Zˠ?w |_mӺukk+gɊ^rʎƘNO(++t)j;v&2JJJUD⍔6mǶ!''9M6Em  o [#Gؾ.gMIN yl +z4??Y_ kht34HmYΆO0^G[ҫ+kן=_Av*>A)eUUU%//okcS͇, aZ;CyԊPX_ͺ^d驷6\~|%Ɋ^"\rEG[ŋ7o\OH`27nԱXO]>9Y.ܟ2yrddTEEpIi铘)'KnMjS\ 8ߑvYZZ4vLOWgO} tcG+))f4o6%Sy9pv؅RҤ<hUUCL>dРYs''<sx)w5:ƍ_?b[/t;BZڿ7<@J|N:S3glj:Rt"< X[ud,V:'7m͉i2hPlLT>'҅]H_v,Vznv@Ҟ=#89I'O.Vfsz{I릷hqNnNfFڊ^,--.D$\w',?Th(3⢇#Gޞ ;3N?u魔}{`0Gsr C%+6t;'e˖T_Q}555њg3z|vfFJrj.NΧep=s\؁X[Z*7;3yӞ=63=*91qXKKU+o$O!^I`;t^Vzj;_IZlǔ,V˪~'Ns*` ,,dIrbB>'\Y-w~K:̌@?Ƥee&+=su7HIi$-@-(xh` ӧB;;~GKvR7lXoo{tDHwsCGh#057;wlܚ@wsfC166sڵZ/Xb+WR}ۘ199cGBڶmۻWoG΄FEE[ppIs>p྽{6$+3ang;ոǏ֜n3Ѯ^OMw򤲕!+/0mcu:=΄ YXyXߠ!C,?q Y[=Ji4@! إKk8bY|>_ČIv~慄ka1l^AA H lbfj:tTZnL=mUwu /2e!'?{#\.,:& 1|DqII@`PMM{$7x1}zxѣF d 1Gxl(۷??DOţ"ee"SYa2|>z[UUUQQI"̍%%k'Aj_[ry\y:Ȏ <|Y_mhBH@؁R5UU[a8j_Qffh24l֞\!K@%L&SV]]cʕϜѪUs!"#F0`x@ YȪ0</ќٳ&X;iNAԝ>) ]mrrrZ]t)))&y|999F, yPˋKt +iFII:{*I$H'H7 ABMrhY._ncm%''d2'99J162jժ!$3+׭[dΘ>]AAFu֭cǎ'-]?BK$UPpo9:B3l.B.EF>矻JGY^^ESˎdUxbiP***wݣ:E'GY[ 9iog7`@&//oاutr'ٳΆGBAR%99؋5A׮umӦMV\׸Xl6!$lي4m)]RO˭/ewdBؿO2Om^-RL\g|NQo}H7VJ2+=ɐ92vrXR{})2d艻]>QIIKر#{p ݨ>}+GQ7SRn(߼uJl !'Yi^MU)Œ VUUw]URRRJJ~>"Hr\|633Җ-["m1LVzjLTddT !,ݺusLt՗Sglԗr9͛7:(u>s&ucgVv+驷~%??}kvfF/ZΡXm2]vl m4l]{Ni]X[͞=kieeg1F31nm@35{֟-[L S7B:<>Ν;gΠ999_hh&yoqC];jo@&b9;7z?xR925ߛ~LahMMgP)b 7$ԈefVXXhk;Q^^!..neo߾F3~:thk׺goŋ6uЋ+V61@S|o")5P4W8D7z(S_Yw˖.mggK-)I4lxbT co߾fmܥڙI J $rOprt$N"#])7(o>zTZzz <ͺۦhjGh7yl=bhޚudQv@G#a4h8wvo+V,8h |dminWHIIiCӬV˅s?5@z0rlcn|7m|7m|7m|7m|7mvypwXQ. <oOyVz{wRolݼS_vǶ S'COkTIDATqu;6b=s̺q#%#]W}j\#_jV˫ɉ>};p=ޞZhcmבMnlvn.s /mTĄqDGD]`ld$kk 99EB6nkij孔SP1=Bӗ.Yx;s.l_CCzֹbsrsn۶m3gDIIW/@){ܹfZ -yu]m1Ɯ"??_Wٳ64efw\6uj.?uڌ:=΄=޾}{98章n̬ _0Ř16vuz0 a=O{ 41c=Km u?QQGagÓkjj***|~zzBBO>z?_n?ѣG<ׯ6O cXc۷ogԷo-?pBzÙ07gϞ>r喕Ehjj~i mIEE!DMUHf0 ·>>|pB0>WVVNygr@PXEYYtjzÇ ޾yWK;w~h=7X\\RSSCr 9lƠۮ263qͿb0L[uuBu.WUQ^ɩ3KJD?-}R~`0Y327TOYI^Wݝ׺_[n`0t !Akld$''`/'ZLԹsgB9t:=>.^Ӑvvh}B!41-ZXM-<" ڮ+W;:.?9mVTTxy{&%%/]bvΝ;m{|Ӂ~ FwN2ǯXj[׮?q G`Ͼ}{wbdٻGj݊f98)&k[Wϔaۥ.ӯ4n7vMܐ n*n7>| m0KMjUի!C5v_Dt?4WULZIENDB`gtk-nocsd/Images/New4.png000066400000000000000000000733051517422556600155240ustar00rootroot00000000000000PNG  IHDRO< pHYs+ IDATxy\NPTdʾk J͊Yc13al'l%*TK%Ȗ*}{aqsz=q\:sȻ4]@YjƢf"SS3MT(t\ZʌL®vg/(/(t9o%C}Sj~*))t9e@&aO/\*,$,}:SӅMP6QJݻB@Y\RT6Z^ (5k/*~A5]EPh2P\\Lt*۾'(L\Rx畗*/(rX+kjju)*V0Aa\kbv’w_Gqo'c#cMP䰌ᩴ+U:B=;=}B=]iTt]xvu v[^b}j>ҫ𒃏I(s2zf}[K_5Z/wnjxǒwqjUM4.zeX7mMz^39]m}>1j`_b\{[072jШֻu _d=tm.֙2y~?mW3F !ll5lZfet䉈"N۵cF*rX2b/]].^_սdv *JS==e zZZڪgeSVnb]#Ê5x c``v޽6[1Qg Bܺ}NfSn]V,[j8W翦Q%/6vʵkVXލ8iysՇ8;-7w1q/0E?Fu +3zӺyʢ/]ʻ#W4mRϒwh]jUk^(cnII۶nWkW[^=qͪ#G ̛_KKK`ow<䰶v}}6>p`{CZ:~ݔn]̚1-1w7W!c;?S1c?u&]vBԨa˒E! >KΝv ?fږ  8͵ԴysB=2cw*=/^cQ%/6*?cJr2"RwIdD ֑gحٽofukUQ84*z%3侩vϫUݧ;c֏'o;owڷS˖5j !ΟvC|N-NN-޹۴Ic!sJuige_}9h3LIM4!Q7nތ<պbW^mߩǣ?3cuÇ }O:vq544ٸk_mw^j+ʹqíG^}M|?Wq?4&SKҁ _hE Or y&"~q^XF6.߿m]b ꏬ+yU:Ɉq*,,TtNV5LCB޽{/ȑ}Bԫ[a,_YXXyfR簰-;8;?xXXǎN-C…gϞNIQT 997jZXLz~~A3]t:~<4>1i:{;)SB 2˳BG@Kl,ZZF-mGli8'?EBBanf{;7??_jr媎N*xT:qd! $=J=&$ _<î*= /Tb6 *h -]iRRR:JJKOsssg|}vvvQQQ_z999+WXQ 5kZ(U׳r)]Rc7Y޿Ɉ/M$:+e BeK]Vio{^%"]N^PJDΥ] =͌S Pzx%NΑyϟ;]]jժ 2P}H؉^={ܽsxaaBcc+Wjik8W֭[͚Y ! S;UԾ]+~ 9w|jjڤ*V(077733{=wBBb}nhhhll<hb꜌>X2t&ncbO_Ov]"Jq0Aic+pm2O-_gZ͇C9K{wIxŀO}3=l}?H=1Rߏ+{'_2]vOʃrv!QqZ;:q*21P_MTgVn˹[T\vnu|׫ij 9s|M1ӞӪؔ> E#}ʸԳ^qJc'[Z!Xhe߶g߼# gV5U.1!FOld5W1>Tã]۶T*Uǣ*¼z ] W! 5U)V*3snVj'b//gfuvn*gMBq25EJB:]II_KgJ+s^O%$02Wȸb" 4! v dݸ8U@ ӪFέ\i*Y7nfܬeV]4ZR=e4'_߹)/D%yvo%=_;G⤖m _\QmG8q%) 1XAWhN!ޝZ;4ҲiTGgE%MtDJBj&ԮYV Q~fv!q-YGJ/&Sj eƝJyVl{7oH™G臅?e%<׋iY9Vm }>OYOWqƭyo=qZ. xz*t!݋q.qttܹGUaElv []aElv []aElv []ate~1M52t 0 "@-.d "@-.d "@-.d ">=91zΝ;?DDF-\![}w׋#pwKJU[tuuS^H9)/aWT*%:S~ܤ3gμL% !vnqss-..>|  3(.eY+:ujlqʕ+%*M7gÁRK!si 4HީcGbbt͛Wzb3gL7ޱ7tRB\SBXXX$xy;{&oϟ5*]sQQ񎝻n8`KYZ_WJINLf_|َm^7WkW.u 1箏>o5{}59?255}hWVV_׶tvnܪz~~*sNR^ԇlڰn 77Pr$;={֭[}999-[mס+Wgvn...?|?Uejjսi3/̘Ceoֵ[ժUΝ;wPkV7͵WF vvvBᑔ]Qb[9S®iC󃂂?^n;vx{y !ǧ!n׳6nڬT*oؤuܹĤ3NԭS UvuQTTtڵ 4H[-,,ܵkwc+=}: !6ҥ *TTWHEuې6mzhEII~K]]+Wm߾ڵCsjٲcR\roZtuuwn~Rnٳqq}zvrrݦT*KyLDplb%DG!{У\iii~Yennnn+ !JT'_ήݻOյawެׅ]uͽS=((700ۻWqյ[6mɧxe j!Goד #""T*Uj=lnn>[>4ȡ@KKK̆7TjQΝ;IB-7mTjιabbbii^ 9_rQ#G* SS oڴٯOÁo߾sGDFΚ9J*Bs3 !CB5ܩvZ~=d<]!ČJj;c طp] >!!/>4Bvv>;6%9i? !9z,D^xzܵKjOHH{@TI87o=O^;q"|u->ݺmcGBΞIݵkGӦM&'֖FDDՈ{S4]@Ŧ#F ݳ@͖UX%1;<ߛ +U$`HiʐE ߹{w}+VtE/Ï?t x1@-.d "@-.d "@-.d "@-.d "@-.d "@-.d "@{80@U(Gaje/3{+t۷m=իuj׮^U^fv̞w7SܹrC}FqI qaIr7KO;yw^~FFFB >}zf'~^ЪɪkV,e;vnܪN:Æ'VZn:tҢygP.®b+Ov2"իB===ss3=88TtJ秫lي{ݺu+C>|/ݻw9snՊeW.޸qCaan~󮎎ΘџtMOWD#ʼ)m !s ſ70''GڐRYe~-xv"fggu*:/ρ\̬P¹4.Ybnf&:u!eftx)bb̙C n ֪U˺i_ %ԡC)> *3yRhhzR^nPP!Clllݓrz^N:zͯUV=v|R\㗔?sJG[Ͽ("4]@,,,bNEZ5i{GeU22t hm>e@K9 aU.]zռØlv []aElv []aElv []aElv []aElv []aElv []aElpp4]^v7mX? 5ΙS\|ýjժ.B%>VPpȭ[KP̜1 V+a7<,Maݴ韻w&ǞNJ`mjڱ7*"hq1)tx: x#L}`rص{G;q& ީȈOǎzEyA!Ju׭[5mwv->AAAAVVV6ݦR̮BK.B|CC;w !m5Vŋ23+V%๔;_}lһcRSӄgnԤͬOJ ;~49͛5txrX{=8$8HU@*k4q6MW..d "@-.d "@-.d "@-.d "@-.d "@-.d "@-.d "@{ 8c:{wxan)ap`G~Peсs_&gQ'Žg}>!.f +W~!Q ,mەI%(4]u޿M=`͛A!erΝ:NvʈG:Uz5{{۷o?,i{̘ON+ QNfvwʪήAwv-BM="=-E{(}vvN'%hk{,--/]tر3 !l0~a2PXa``p¹f^!fLֻWo&>bp!];.KOINAjժoϙaz 7N9vj!EH;;c!Ai)K(?EqF@oAyf>mڴi1c?kblnܰ^KK;4,}BڵkWZN:BT*၁MMMg͜anfn n߮=LZ݄[ܸq3)9Y%$$ΙSKVoVϡC6v;v޳O6|{c>Q˖-_dbڵKv%%% ϓ:055s'ǶhTT\]!V__ _߾[}}0xР]/))?Tt$(CB=< pwBt>((W]UOO/8ȖMշG[t444ڴiC!⿹YrU^^^VVֵL}M/f!YbZj ! lي좢k~us.`B1}ӧss=x딗{HJҹsn B s>}zGEGEGܿolltHPs+V#!7f͚=ʕ+xX_wYYY9s&33s:ԹSG}}:>j.]hիW"!B+077>5WKϞ} jBRcξ}(t;vP*uuwӦ?~1㢻k3k#G599YXr@ogiiiA!mڴҥ﾿|{٨Q!G:DSfGj׳@@Fi(5&@9T^fv>:wԡc}mڴm訥% ;vLPpH~~[c>Ge]\\팍 {aii# ڥK SӈH!cnj999Bmmm sQ#G5hI׵u/ǿSΎ}ZqF{bҥ.Nҳef6{יӑ'Ot ׵pozc!4@KO!OZ JFƚ.qttܹGUr4 "@-.d "@-.d "@-.d "@-.d "@-.d "@-.d "@-®-Z8隮@QصZbY|l 碣"̞j)4]k`kmwxyzjڵWj9g͔;w$%'=*Y計mmma|}.^8آBrgRԲmӆO}Á^M{gb|餄>uuuv~{L=|"x}_-(EحZj6oytRסSkSz;/>g^X7۰aϖMjzM>0𰍝C?-**211ٲuofc?l Y[rv \yÇܽ{WXnu->w e3mߑگO8_آEQQQBB-;'g={(ˋ#Ś7n!,ͯ~kiiUTQ[GGٳ5k^|YҥK5jxDZBKژ͔ay9s0U+*"\`hhZF+a7;;;%%uSZd7uuԻJJJׯ_)mYԩh!DQq5jJJrݺ֭wsum횶;\~LzzwWWtxTX >s!C:AjղnTafV#>>>//OWW߼>UN~}5jOqLz6m ˳ .B|CCÃ--5JOOO[[aÆ<U+/a7((xА!666IK9_N3g1bC|}+Q{%K߿oORby]b;w;cǤ}ޱwyi^zx%'ƧNZtk|IKO!A2TX%1;hU^fvPv []aElv []at/|*ۈ]ہ vo.CH^aF#x]k2.G~5q£,*@_cQ䀙]uaF x7y@c. ׵BGu&*vcffyܥXύ xn@YaMĺe]u ^aElv []aE7˧cG&&[֪Z\SWXV#I1YR#Јv'RR;{ժU˶$o5/~R0mڤQV[P79dn[4XFv;uPcܶU䄰!W.ֵK)GaWGG罡CNxz  J6;8 'ucs{!ĵk.] |1=5%ywI5kZti/h۶4yų?U&05ڥ˖.^S&/(캹vyÇK-nn Ń?#׸ULMMԩeS\LtRB*WP(vVV|"mmlttt,9:*"91>~[[[iPm>/+=@.^B4o * X \dBK/gffjiiy=J,>*T@ҿe2rVv! 1j9׮]Bp?2)Gaw6n 166 <|XRuI=P``VVVVV_׶tvnܪz~~qqB/-[%$&*=~~:u:uj߫Or~>.>^ ൊ:%JT04Lͥ_,,̅Qnu/Zz:11?~ _޽nu2.:rϟ>}Aڵ#1.::2|rqQT,yaӦMl\qb+Uԥs=w&_*U믂JI;2kƴǾդqMPbmG?KU]u*Z;pp_rB?wK:::ё?Κ)-XۯRK+mBڵk5q_vD8{]^'5DŽ&&& ,<+issXQO\a[o !Ffll,w>59!=5٪Q/>xȑؽ{vwh֌iQ'bNnu'}o ?ww׷9Ji#(..޾cסCjB`!DQQ֭1>"m;e@+$oȨ^={ԫW͛NBQ[9רQ6:&FZ m>FFFB}9~\ 'LS|ֺi4i{ƴ (mmӺu+ 'ݷ_ݿ]۶m۴R˳_&VM4uڵSR|*!M6jaj:hSJW5t`{{,U֠;5BTT={xZ֪^}тy_ZJ%T*'OvWqvj)m88kkkTVRnl蓏>Ti&s]\=ֶMw~l>ceffرF8lyH3[ݤq,IMMkZjiqt{xo KefwĈ+V8ytR1{UZ5!_WFڶBHvݿoNT^}طwiڥ={5]7@Dzٮ"!!!1)YlEs!č7Ξ='FFFރm_(ӻMfߤqc)fdd `цvR9y2½gdddhkkϘzʕܽ;G,?@aӬYbRþk)5W# =)o0}Êߩ_ aoL=5٫*?!G-))BxxO!JJJ-^2|ǎ !ի[F !SKR[RVtfTԩ !C6nQ-zs?Х2_ڶk5ILJ6Ԯ-׭[gk{y?pPP(6m2{OBTlܺˋ}#Y*a`@C͵K72xٳqq}zMTճwz4Wmŕ+WѳJz'yKO?{M!Dsi~l||l\gٮAZ`hh R~cA ȇ?~CȨտOHBtUOƮXZallܾ]҃,eаG?9?EFk_\\i kBWmR"NT*w*JT*JMZ|kׯ_RAaddԴI!ı+V;>iII.N&&& y'55MjlѢmnJr'O޻wsͬSU%^s _z|ƥK,OHD?֭OX7xo KbC}3.^TBlظ._RRm:]Q8""BRUV-&&VQXXx{;tmmm3yyy^^6VRRuʵ{7MTP!? 11I#hѢ.sT)!~Qw}O4Vظvն6ΜI6lԮmYgJjsA3gܸ!B X^D]:wB\tƦv5jJ=%(!ŋ.նlQB8h~y]]]!®1ML߻S(tjia"''[b̙gϞ9h۹c]˖0o(ݚY7fcb *v獵'YT=ɹqƍJibKZZZmhWw}؇IO9Ͽ|="ҥKgJ^ڽknwp_W['(***3,@6r؄!Mj!Dvv5ju&==}ܼyKN\dsyw^;~#*aͣC-EE6v>:ЪI+VZrգlڼeu޶ݿ+mjӶLjRqǎQBظV..{Bܽ{7%%Uy]T=Za%3akk\&.j(!1QڐZ.fdQyyե˗rrrz~ QYrGp_׬YK_}hnxh@˼~].ԩ][Zw7wџ~)jZQM7>vUi3g_)@Ś]xNNڴn%J}dHuigAA#ABwYr*+7kfg'qK;,m̙5ӵ{6[9bIB}H/fF6wp3c!Ľ{BNصH{mi)f*T_!6lh۷oK{jHZ$\U5l@oニ_M֭s;775-MѩcqgY8R*W6u :::RO\IƍpCnJ:thleծmի= }=mZw|6oB_Hʯuū.R**:&cG'##9Y?iz9gΙ=Sݾq)EFF׻WzXTj B={nU:٩偽xURR2c֏6oֽӰ{o}Ĩ~LtLG1jBk[J=p(t{@=g>d?ΝZPPPPPgke&N;y2?ٹk _HqqQ_(%55?(##cM<ٷ7o~gϞ+**>r$y.(,, 9zt{Pp*WJͷII|4z] %=L! BHOHB]z"66n.chh|*ACK&|9)""oFF~A_w`sgT<ӻ<i P%#w@wnyz73-.d "@-.d "@-.Ɩ뿚8Tnz IDATᱻV.e菟e==A]˴4Mޭ! kVxB7gd}}>Qlۺ91.:hP ^xJOMоnooz4bŊ,&344e1Q'cN:9[87xȀB͎<GDD6  ȸ,(,,q)K|~?;ws+BX0ooٲUWO6uwuu040{5umŲꕫ/aڶ׷_M*{Eׯ_=Cvw^΍euvA]=zIkV.9e)b~pԱ^\,,,*VwVvCʼ \:33ȍ2^U|=+kE[JJJ^ʼn^n]퀍68s9eÆ bS,a7Rg/7_9cB_--,N133]`~\td>z+~Xv)ڕWTI]\N[7y}VVϞΝ:;|@]J~--,N?y<.:r`z33ݿuzY3d2ͨXo޺м1"NmӺuAYCUrqёp!=tN6>vJ *MsVt`^=#C/Wv[!gLZ&'Mp!ḽBhiiyttѽ[\tEGn\wCq_(Wv vqٸys~ ׭^5}7pAOGANcMLNNQA ͚9rJsssի5w=lb.?_RW޽ !>}-._^R|ɓ7 T*^7wkw}s̮Sv&̝/:mFЅΝ:?Qr3::][,B&\kB|1zUgx$y=_M_8쾩uM횷jT5שS{)))Ry?gBS9_uaB'O9:п )?!DRғKl-aF3L&[zmH!ďVwi6l|s.B}T9zw^̾a_9!Dk5gZl!(W\.";#iFӘظwNm/On!ă,Z׮OMM-ŋ}"nqU*g~Z#rzB(W\ RweLajjzƎ_NYE\. aW٨kiaoԱGwNttxwX~J{6|] JbRp偃ǎ5>zУKaCW^][[|r\fݶ-߈ps8}R,y^uQxF\.(vL˕+w/~cܗcʔ)S%K$]|8.^oNCxzZǷ?~wG zO+\eJ5)?B܎)):) !~Qkiiik׿_.>T dW͘5ʒ\.cナW>}>><{iS;O7i!wvط`MNNxwX>Bm3ze2 ϥU߸ѫ㖭ۻvOri٢1_MHv{̟;b1cǗl2 EṨ_-w&Ow@<|㿚'&&odwq$0ן5c{N1KP*<(M7n`nnުe7LQč+k׬lۦyժ66 |1J}PJոq#!DտbSg_~m׶i֮]V͚ݻumNB8:``Po+mFITΞ1u*U̦MĤ7CUU :3 UOhݪen<޸zj}zVmBѣGEMLLmi&&&B~sÇ RŬs\>Py=n2eW[mWϳ=Y]|(ncWOGǎtѪ~igv;a9[ܴa]bbҔoMLJ*v1nc(ƀΞW?u]۶aSȈz5F8}l]t <_ڽnv۴n}oq1}>1?? 3t"[?zhU~n{/Z>g<&P*4"uڦm7nBԪYs8s̠ANk*UԾ}}sc4"?p))OB]jIwrNK!Ç }sАݺZZZx](\ow~}?~п_LLLtLYrRcoEF\3{\.2yo/.]tINJԩzC_B__oǶׯD?eaa҈WnʪȦL޲egNd֭Z;B\9sfdd7on={Ry6;t0j䈀@{|GQ=wB+WI&5JGGǶ}}+S?xp_O҈T* ri_ϞݫWg] W*!'Nttt8xH}'u:>\F-Z4_|ynnnZZwϞ233kkkwyŏ+t,[lIҽ=޽<֭w8ޤ){ 7lԥsz'PϠTV0>/3~:姾ǷJ:^T($%%Tڴi-HNN9}̋Mڵm{\#Y'_d?oݶMRh&M j*16mZîiժ''۶ݎiӊlMKMBtԹȓ|1lٲ>BS~~]tjղ?ZXXNH*zwJ1ԪYm6 aÆ>ov%\6B4֭c6HzSCCCsss5qJu"?xv%K*T 051]"y+ow !)?:֬iPp">>>9%EWGc ͢aWWWw9/޻u˦ݮ{qUoɓnFoܰ~96Hdd>~'ï\*#ff,GBCի+ߢcdryll",슉I+BVO NvA'aǵkV,A"v [[ۃޞŇ҈+%ɤP,M0zCS(7.$ "@,.$ "@,.$ "@,.$ "@,.$ "@,.$ "@,.$_̒ ¾=>xࣷL#nhHprRB?m۴ Cu5*2B.XP(bou5J>^P.kզL&B\ 7oi!D~~*69{VѱCS~~5]v;{lnn^ZZGn@# !JujnׯEEFݳޡGka1Q{633+z[[ۃޞŇ+]HaEdv Y]HaEdv Y]HaEdv Y]HaEdv Y]HaEdv Y]HaEdv Y]HaEdv Yv\$'%$'%&M Bk֚V1ge=uaC> 5Q^xaE®ګW.|VƦaG[w,XhaOG9g5U  n@p{w₃.8;wпO;?o7bwnV\9!ގm[#_:¢fyK\.ooPv^{\ !<<<=7iݻw͚5[f._iٳ'N !.[^__׾ѣFnڼeQ:::MJUg& 4ɓnF?ԩnP.NGt)TT^~cȐ!M۶oIOO?}"G666ݻwҒG޺qiPݸiE5jnզM۶mVL>CUZ511`1!!rJ)JR:''B!8|7S6ꕰ&N|ϣiPUST<ԹS'!D^nL&8ML WZbnn^XZǏ_+Ub8yC~$ve2Y rz"㼼֭Z !8TfddX[[ !ryNNmٻWf2zG m`eedd$ONI[5 ~u;zΝig!?i˗/;so| o̾il_B,ZdyQ5t)tڌVeӆ={C׷DTdDHЅ7w{BHN.J HPy=nRckk{۳Pte "@,.$ "@,.$ "@,.$ "@,.$ "@,.$ "@,.$ "@,;wCF033KNJ0X-=iJmӺD9ָq#!G<_~Td^׊CnsSIDAT+~hv=VZ좫ӰaBmZ=Qw䔯&M}綡a#FO>533(҈+FF:::|yJJg2223o.]:nܰ~ws2b =gbc~޹аQ2YR99_G;VzjnׯEEFݳ@cVȧOYXXd3_r96VhHp^Ի78B\L _ oА+> zuM/^y+M(077TJ$!<<䛯tءc.YYY[7oZjc,\ЩcGo%t󧟃5k׍5JGGǶR_M ܶ]gsss-[q~"##|1z-ؼY 5T* ri_Ϟ/gBBB`` !D5mx{/\0y鹹;vԵKgBQXKˀܼ/_^ Qѣxݻii#oKMK2t~BBBJJ#7oTTBMF]!īWohg|+/sqv~fמ=]r@?[MMM-\sǶl~ӧOMMMKnz-'8p#L:|ЫW¾8Q&=|czu^|izB3S^z y^PӔRiӦzր֭ZãȾi3gͶong߼E .O_P( w٫cÇ>@'N#ur(s)_hٺْŋi^^׭gub+aV͚m۴166V( 6y+B KK2er!Jڳwijkk? Mm5zzz 6,RqJƦar匍. S*FFFVVFFFB]ݪU֮UKwv9]]!~AZl! L&+j5]]ysԬYO>x={\^;wt3zPP/ !<=͚1}-J k֮ッbŊYYϼo޼Y 9%㬙3]b//\p%< ٳKNKM}w[ kٲe_~{]KM7T~:'**j9B.̜5{ş~Z#''FD!*Y 5Yi7wr9Q233 i޲ubbGj;沵=Y]|(=)K,%Ha |y3Bl9+^qh=c (I.$ "@,.$ "@,.$ "@,.$ "@,.$ "@,.$ "@,.$ ҈PO6m>|C hDmզyOͫ$91___ akլ9s!vJRZR9::;sޝ .b-- ] u kkk!L&9c+co8<,48gO oݼyڼߕ|] f͚[zQ/4tY'̝7aْE 7``S;!m>3ssܜ9sn\ξB[[{ӆ v~ʕK{~Ќ+rqv:rإKJnC Qo:{.?SFu!DjZΐC RRR0bիe={vx:xݪU&&&,&$$T\Ialll>'.YP%xQ^ֽ|U+R{IMM=s⟜ a799ܼ`Zj?BlܰA-YZPpΝSnѲu3% !JUxe?,obgF?4 ]O޽z6dփ]=&&o޼P( PWZvZB̸۷ !3rBaߴVnn:::85i.] 6c檕+Tpg !,YlAekᦍLL*~5s!Ddd>~'_zզm9sfյMN~2vRvA'$~i@=Y]|(ͽGdv Y]HaEdv Y]HaEdv Y]HaEdv Y]HaEdv Y]HaEdv Y]HaEdv Y]Hax&&>Nk Ѭ;oގ-_;+̝,އݮ]:[a+ӎϛ{捸۷+WNaff`/Xfմߺu+{t=jԵ𰻷cUO[Ət!*2",4B}̛7Ka7BwU]p{w₃.8;܏ގm[#_:;qZvG-0𼾾^3{OkbgߪM>lo;aױ}έ75is;իU6lYtٺkʔ)s77wvͧ|M5knfYo)}У{ 5JGGǶ}}+S?xp9I)aV͚6 m>T*=FV)33s999Ϝ)i`׮)c>> b/^<BZ5žդ'ɿ:'OFFE֟={N=5}:iPvvvNW^Uî\Q/V3v5!DJJIAYEC' f҈8>bPГp6|PW?xv%K*T 051]veddUVxtuu4شqCΝΟ_dI7ofgg+ sIUV׷g9#8zX߾}׫'hܸQsI4"1ó???"yq_ !._w'С-v76o}kcljѢyGq1ѻwשs7",YlĈΜ9~\T'N9u NIIB9sv͚{v}뛯>fvA'?mmqqk׭/F~i@=mqeW*UԬY3B!h޼YΝCJ)i5i(SwsfYZZe,VMO#k$&&A?t iEdv Y]HaEdv Y]Ha%_P{]K Iy[ q sVIENDB`gtk-nocsd/Images/New5.png000066400000000000000000001443351517422556600155270ustar00rootroot00000000000000PNG  IHDR{3p pHYs+ IDATxy\T̰ þ); )^.eu2-KuLm-om_2rI\ʮK*&";ì7?~ a_G9;9gpSٻtm6@m] FJV0{Zg~޵ WWWW7nk]K3k!_0.pvrںe iNj{:EZ%A;ARۻWը w43Z4-gGS"*Ra`j\FuuhN-q-.pNwr^㤖d`6;a^˔/X.%4֖.AzvqBJEH+'*&H4['VFI\ZG7o>VY*T%/}jR&Qcv:#G\h\\\xWTThzurnm!a.Ck RI2M_ =]²L\""~EȣS:Lu?Z, ?LAApPP||,q n*JRYֆjE׷V{b[9B;u=ԹmWpnFi5V Q,YMBV;{tj,Fq?L[~NNÆ }ᄁf:,<=}238snV__߾}zwMN5JKKݻ ;/?etlc~̙Kwj ף{6mڜ?_b46m} ?jl6_ۇ 26m[W֫W?de ÇnA7DzbQ Zs|PvrU;Z j'7\ns۔ҽ/KUlIi@._y?p]S~>$="˼{ʢt.ZJ;wNMڳF~ڷxε]v3O۽"Y׮S=oiccݺ\u@۶B޽S#۵_ZCXXgٷ?M PΙ+W6f^Nu{ٴBW^=?_x)//me_UEa5 !Tg!Y޽^Ԗm5V4ڰA VK$v*ta.OOώ۟V/n !F?_|gܰ|}}<==lIVz|oK;}W[~z*7WaX&>ϝie❷3bİr'NLxX5^ۀn?T?T/8okA?=if}z[.獷OZ о}gO\KX,_xWgXyy ̄鮢69t|c-q#$.?Q2T Q[jt#ޝlBI%t*_y{988lu>r-m !zԽSM[~n۶m !,˩\yBsgOBhZ6N ]W=H%s\ia[xGʗހϜa2KgaB\'X '[Q]iBQ̗KѼ."VhGSON`pvv޾㷩/+/񫡶xOUWW_Q7Z:ĉƺlXVd5,g{Y/nۺR}⬬>r֎+[B6nZ:7UF4?u/n]9r0wR.<ByBev.l=Ib?eO'p*{X"j ך B%$a1dԞf4Ya^m0x+uرx'!{Wln e֏֌*d-\0M;i~șvWJkf(qW9; _V#*kJq-J`'5:; 4e hy$.P B™3$Uk{pheOGnV_R>ZӺ\V9h)-֋@)$.P B@)$.P BBֹ}H{W!q gg.x{Wm67nBH%NNN/NʵwEZqz>lї<>1{Ǹl>xK 1J!qRH\(J!qRH\(>90 @^5L5wQZV"n3%Jw ͩ&~|U*U0`Z322N8QUUޠ/,,T)))7oOJJhm%%%iiimڴڵ7m۶ֶF8p ??ͭ}u :vخ]nXItttرcceggʉӡ8OO&\LVVVuu{||֭['L 7Xz-b{˙3g6m4h [%87ntssڵ]Μ9Q ?FmbF:vؚ/rF8}tIII.]gΜK/mۖ,H\-ԩS%>>?[nСCllluucN>=rH[tKj 6l 3vQ%%%ׯNIIZG]nѣ/:}MC555K~i0֭[W[[v…?pȐ!rlz'm݉BC%$$x{{"XaEEE Z6;;҉KV;?rHdddRRRuu^e|UUզM4M\\:['999-t!!!w_XXئM~L;p:<_dz嗃 ]׎ʄmڴ1!J.KNNܹ}k֬IKKݻwSddd [oU"&&fGm={tÇk4!Dxx+$IP[zhhhh~5Vj{m.{ :vX <~xRRNϟ?_^^rE78J6zΝ;ug7oފ+4͌3+j$`0uA+/k4 !111f^^^!!!Ny_ӧ}}}NرcWmmmaaaBBj+SXX؁TTT|7C ;vܷoߩS@uBJUVVe˖T[KooGFEE]d:uThh|۷oر'N{ҟ`-))Ȑ$)11He[PPPДyZݭ[ԩӯZPP,Q۷oNlꭷZ>j}7F#22p8w-Ao4msf !9ryyeUUVw}|דVmJ[\Tee"#####aګW/!j=yի{ѩS'j4BH/LtMeGbbb;'OLmVTT!Z|aaĵk׮]v>>>Ço lBz^6彲yNWoP.<<\?~<88X`HV=&>Xl3<#WoŶʼ<[sx}&+;;[gϞ={VKHHh۶%ricˎ[,rS|juǎ9b4ϟ?/1qՑm:ul^pu|A׵ qݻw;vT=gΜ1 ζ厎6puu;^$w@aZznwJ[\\\]]^^^^j]FxrU,**駟v]2OOϛnsֆ(""&^{캉i\+++===m+ٲ%W}棢222rss~~'t:^gk#-յSNgϞݻw%%籺]9s&,,LQlϗ4;N񪪪;.rYZ-sdggFHe!ju@@@BBBvvɓ'WƆ'SJJJ#&&ɓuZ``"33ӶF׻KUTThrssn3A@9>>>ӧO饗BBB]1ҽ{C(CZtGGNj^ *lUΞ=`Nh p:|eeeAA'vz ժxxxx{{zŢbbb]U~~~zzKrrrbb@SZWW^zٻQ=:)) p=>.P B@)$.P B@)$.P B@)$.P 늹ڻ f宮̀uŢWUUeB:8qԩS۷w!h._[[b JerЪF2p@NgZ H\W[nqqq$ٻ*mڴwh6$b*q(J!qRH\(J!qRH\(J!qRH\(J!qRH\(J!qRH\(J!qRH\(J!qRH\(J!qRH\(J!qRH\(V555YYYEEE VkEEÇZ6VG]`ҥKO<0tYϯY7HKKK؋ \Μ9cǎ &DDDh4yV^=gڷo߾}ڷZZc\k5pQF.Zh…HWݸGqmٻXZ pܞ|ɇzu…}Q~~l.))5jԨߞ׸/k/1\Uhnnnj or3fܹs}||}G;v쨩~+C477S6l0 wq믿~[BwyB;V^#X,}ѪUΞ=xw<裶{6n駟fgg[֠ogy.͋h6nnnSLQoѣG=<<^{YbСV{W:t`[SOmڴi„ |뭷Μ93g!ĶmۦL2rxȑ#jh^$.u#:::;;[$ܵk׏?8w;S1zhZhѢ)SرCѼ!Kt@c @}]v\nذaРA5GB !fY.\\ 41.@󨪪,XPSS3~x+W45sFC]vT1v3g,X`ŊÇ?~<#ZD4{oѢE>ԩSCBB׮]+IҼy]V}…և !T*ՓO>9~˗/]tڵ= /epQ$.zw'N4)44T~*^5ͼyq JUoMHH###/缽'Oe˖_~EUKJJ (**Zpa```bbErqqGs&וظk*Tov!Jrqqi߾}\\\LLKuqǎk֬ξ{ o߾o߾|ذa{_geewލuu-򕫎>d*Mk}]k{W*/w͆@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P B@)$.P Z*J$JeZF$Z[[[RRd4Z%74Ƹ3$jl6ѫٹ;hРȎ;4cY+Wׯ_q#G$I^?D6ݶo߾K.={L*9_ c\J%Zh4vjϟwwwwttl]oܸq̙;wܸqe:tÛpԩɓ'oܸ)dܹs=}7zh9NSRR>cyy֬YwuJrE}Vٳ˖-0a?yUTW\wH\Bgg簰0ɤɒ$tZB99995%nm۶ : :6mjbˆ5իW^uG > @^7o^xx!Cn\4M~[nW^V>}\z"{jw),,L qqq/>TN׮]nꫯv-11qՆ999/++:ujdd=#߲eȑ#cbb vZ[?SLyw҆کSǏgeeuС`„ )))bi";;{„ 7tƯܹsv-HOO2eJ^Gk׮j^xqtṫz(>>sΏ>h^^eOECeee=\nbccǎcyo !zO:4&&&%%塇msighhӧ嗒$}};Vp_B7x#55n~̙3gd2̙ӫW޽{Ϙ1l67l1u]RTޚ/cƌϯ;wO>?/ZhĈ׿'_믿>>7ߔ$i…cǎ駟|}}/q*ub6Ǐ_ZZwÆ &L/SSS3fYǧm۶M9={eF#_K/ 2d&Lkum2̋ፅM;w^`Annٳ[iӦa ON/]]]cbb>lug:\eJJʡCBBBv._dT[[kk{nV:88ԝQ^s۶m!;v4}L֣Gs՝o111MpU3gkrXWxx>>]vMOO_x>ؘ?f͚.**:rK/$Z`W_}QSS믿ȑ#ͳ哆5ĉW\9a„' !>SyeϞ_~=zxǦOnݺ۷/X:nݺǏww޽\jժsΟ?{ҤI׿Ξ=d4333ؾzi2|͉'kzѷ~|r77s\wH\haÆ8qBѹs7*\¼yf͚u}O>߿_|{M6MRknҤIaΜ9K,y&MO72 `կٳz}@@#MFڳgomZ,X0|ɓ'O>266v֬YuWs]Z^6mb޽NR}gϟ3gNyy4r_c;-Zhd 3gmKc=ӦM{饗ӧ,]t ľ:v?\pa6mƦ|g_|E)/vxuow&YYYÆ tbZ}w˗ٻf}\jvhmZ@(Ja DEE1!8ZƸ@)qIjjjZVVKd4K%^Iz #l2,Fҏ`/$`Z,Y"IR^L&޽{;wj J2LFz$IҊ+Aȑ#Cht>>>>DAj!z>??ӦM;v<|pjjӧ;wk׮Ǐ>}߿?,,ɓѫVBYK.1b?nݺm۶iӦ0!!W^j!qqq {6́jۻwQQQNۊ:uꔚl0joA朜!CTUUTqƕ\c\-AR+11QRYր̈?22ͭO>ݻwXXX6mN81tЎ;yxx3/99H\-jFEET*I$IRT$ZV!hssssrrX,BZݶm[&ύ$=00P$eWKP`0xzzȃTNNNZbX,Zm2Μ9j4jjɛ.=!;z ]p{AɴnݺYf-]ܹsz`0?>//bϚ5뭷///*//7yyyg-**WZ̙3_~x6lp{[V\ysEFF6d;EEEݻwh4#W )..Znnnގ=z(**?6lذ{y/޸qҥKm۶f͚۷\233s׮]3gβe~۷@Bk׮o]7WO?k׮ &8qbdd䯿Zws:v옚z7ov /"( [Hjjj.]4Fj>ΎpttZfY򌌌>}|駾%%%~uJJJN8!Iwuu~4rȖ|rzzԩS}Ì"//oƍwuuŊ^Lc'9**믿߿m7|Ӿ}fh4#Gڻ ֏1 StZԩSpppRRR޽SRRܒ+++ 3|d>k׮my h]H=VjZ,l2Zl4zh5&d2f`0L&UKno6-K-pڵ;rM7ݴe .$''/YjY- IDAT9r$..n$͘1#::z۶mf9+++!!_$iՑ|AmmmiiѣΝ+wu=>~Ν%##G+VZ^U7tӓF0d1, 0p`Alb&ZB`{#cr0B`@ $Hɩtww,Šax~8uoW3_c}'ο/.]*x⮮.]׬Y3|;_|?W\q=X-_<̗^ziV˝wyqڵ+Nڵj7n܆ ۖ-[:::ȑ#Ѩ.}_|S0wٳgSJ&M@|]/=cK,={6cl^xᣏ>J)=ƞ|Ik?饗ʲ|%O|ٲeӟZvX1vyӦM+//',X19}ٓO>yԩ9s,Zh+vK~zȟsϭzB~~8L5HOyHgw};vN?!AuEEEsZiiiۻ !K. z:+?n'7n͚5k>R{{ʞBgq]w555bh4dBHoooUUՓ1VVVYOfܹLoہ4zzzi}W4MiE=}ۊ곞@ֿ e q0bĈѣG_~O?t:kkk?gEOm/..&d2<Ӭ (hD"s9gڵgq_Y~??pYYicƌ|HB !%%%ׄ8: ̂/nz]w!䤓N8_Hmm̙3ofkZ xKKEz_Yg/;B={3Msڵ'y6lxǗ-[vȥ~Wnnn8p N[>ffOOOMM5O'Fo[o_zV}ɒ%wEٽ{K/tDAH\G,am$p/?!~M6=C@GyWO>eʔB|׿.]}vBHCCù{ϝ;7T3gvm7xĉ˗ 644B? /^kgQ1:ZsURj5旙YM0|H$2w}W4Bȶm^|ŹsAA匣ODr\qqq[[(4S(#GlnnJG"0lGGs[nݵ^[VVv}l=åiڝw޹o>y(Zr… q v,kzm$ID3\.BH. Ç쬩D"ցN0RUUN:餓N:ڣ***{챣= ~Y +G9 @ q @ q @ q @ q @ q @ q @G{57ٽ{ۋ9;߿ߟD)0aªU\.אPկ~F"c9L&wرs΁W?n N{"%\pB۝ow8uuu1c{hVjoo' !ڠ \.9_x)';͟?߾}?|:q*g@|O[0>裻/))Yr `h qP3 cݿ/{38ڃ(*!eΝ;W^3TTT\uUs555RO?pacǎ駟.//_|e\.Xrʕ+#|ttt,]tҥ_|N8a„ K,y---+V5kִiCnuM7ՙ9_7~z!B_WW7! MMMu3f;p _A!bŭ5k<]vyt: !6+<^z뿦O>F׮]x`ٯ˟}QFuvv}ٗ]vn)~[Η>s=1 ]{֭|sM6_Rc9fѢE$|5a p͚5bK/ .K/~CNL2ǃ>8o޼ׯ_`ٳ !-:{1BիO:餋.fB(tvv|_Grx㍇_`ڵcƌ:u3\~w}iӦMvuץA$.(8Tիz.{+VXE#h#Gl4Mӊ+fBƍlٲy-[l+Vꫫ=l6{m֭Bd2<@~5g r{<~^xC₂;pի[^zo-&3M>?a47w^{mϞ=w}γ\nݪUx㍓O>/N&{᧞za.;k5^VVv7'?D"??555s̱~ z_|(eee_~ /p_oڴ n Yf]{+VX`痗B4MꪫJKKcwb׮]6mZ~M7tl/};ߙ={O~Bhf:C>UTT_mX^^ׇ^G*g@;O7nܷCf9s9B8'x^K:!4MsO[[… !bٳg\3W?]x>;pegYvm(:-:C>k$IOn7gΜT8Qgp8|-[e-[_bƌQQј1cVZiN;|BOm9o`v~0'VWW3˭Yt:,Yr?9C?~h4:k,J'Nx;?-guZ{GA!O J)缿ߺzh&vY4MUU3JӁ@RL&m65/fV%ڵ뮻ZlY0ι\oiF){:eJ3Ϭ^rY>G{G %QVeR!D84{„ wf1%J >{zz***|>AΚ%}\?f*++g )Qe˖?j֭k֬9"NW WqٓL&C($ɾkcgg, V=*!K$d2Ͷ92ky沲h4$Iu=['}u\s5lv֭?;PW)|GV_.U(ֿ.tuuX,iZ(l---1Dp $)p%IrX2H466\.45D"rP(+2ߵp§zJӴ'Y(iviQ9Y_}\Vŋl69c0ƺ5MK&^ZAzMuRjRUZX\\k׮P(D)eR)ITU-//W4MN3m>+q_Rj`L&sl6z$Rȑ#MӔe_QͦiZ*B̝;4撒!DGGd2VUkFfQ !8BU.NF`!f͘1jXgAXazkuR(Jqq1s(ѣ>Zo`O87#}1n s׮]UUUdZU(rQQ$It:-Q~@ p8t]7 ۷*2D"\.gՖ0M3HL&cټ^ﯨ!BP!7 qP H\rjjj~i gxVU Up^g+ ul*]ȵ$;Hp+!U(V&Ȕ? 95JI àJ߻ee3wb$S)=ՙ$JJk7W!ĊLP`1+ngs\,OTuX#p!F g2Z/E 'nP` qgk~H$hŭOg ` BidWWoII NƆՆBE>A #s5*"Dɪ|N*1&CkEM L60u[e9}dG{([5Cmv0㹬r0WYf渾V87XgW;R?EUqݾ0tVc>1 UȝC V(,`HӲ2PP)qxYVn("|aU!@ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @ q @G{~晟6ŷ gRl%(B!ABPB)!&% aJ"j !a*qc֭8, !(B!csu A#DuCKf87 CVdSM=* k0"}}{_WWWWW7jԨ}}}]v٤I&M~VwGN{nGL7n=EǼw޺{Sx'|'9cSPI1Y /(#R&&gͷzrE1%g (/#GXҲv;[ch9H0x<ewtt 6,}zuu믿>~xBȖ-[_b\F/]tу>_ugy欳*++lmm5ɜUVvڭ[G𩐸Z!2ʨD[$Zl2QF(%65.$2"Q%D%A ^2N(YD(W/C\QFI9RJG$iƌRI!Bp՝^BHmw.?ja*iBwm6 cŊXWUU)v!~_tEyQJWZuEyޙ3gf2;wN<7ߜ7o!doƕW^H$bmZ~Ν;qB.\uw<6lOL:C_ښ 9 pJJ09{]fU^JA%!zRwEɌ,*(%RR!$}1bs覮ɒ,iO^YYi&TuY.: XeY)i2YTmSlI iLO9iєYWAS -555^H{0E[N8o}֭{رcn͛njOVK*b-[Y)LNR__qcǎ$i̙MMMG9|$V ʨ)eJĜSL¹M"4sI$LrN LDPnOճ{H#ڕtQd*ӹ۶m5UTTt:xr9`09*g0IBBnjprh>jь}ԤӦ9Iz!`01FS&!h"IӷlR__/={68mܸq۶m'O6q%wb1+q~P?Y>@A!q 3 DPc&fsa qE@.A%$90Zc~Ŕj0j0NGff6l9ik-64D,ɴY__Ou=LZ۽ʜNcT5x.&)gsSO93nݖ&O\WW'IJaȊ:p8_0B|>v̙?S__?i$2eʻ{}߶Ay[vc+`PF e\BS.$Q\oL#6!LNLJ# aB1vcszrRȥ36{.nHwwV@ rٌ,˚QJ8ݻnjd2̾}<`t]L&k&ctZ~*AMJ9TCZoԩK^z/˲/>snZ`AS .|80k,e֬Yk֬ٱcDŽ ׏3p ֏7lll9r$!sm6u&'!q %QFę©"7L -ohT 1CI4bJwd$F( %bG=tɲxYeM__Ȧq ]jF\.W*r:lvN:X4zD2)0ɹ({" =CH$4Mo:|^+/~A0a /0p„ N߿Z`]w50-\p֬YW\qW_]\\ /waɒ%/OXe6{%=Эw/a) z{6uڂeQ Ax:( 2PqGGGyy"2tmm4MIƏSJ ᥤ BL]ӍL&xN' /^lՙ4iҺuǿ|;,++eZ[n:y|q@]]nZ(<ww8p:<ȍ7޸b }Λ7/,@-=_guZ[oٺuUƎgEQq***vƍ Ø6m޳g?niӦMkY[SS}ٽ{O=\.g,**J&Ǐ?p@"`)9ol7j趶6!Deefkjjib''FcGDpeU,˽ o:[3:=ڣ8b05Ht:;ΒY |$Yu 0!4MS'zbԩNSUU9jԨx<Ƙ 뺞dJJJ ðl\R:lXM6SRJI6MӥP1F)u]GdL*62MYnU2 `h q 0x< BaF*ZIV 8B:@IuͰٜBX,N)eQF)LfsCQd.H61&sN" s1tDa!1i9Bgf*LA!֐\.W0<!q sn嫲2IL4 ÊU֜$IdB>S)&&IHD&C$.IʪrZNw|&78Qʈ\tW ΅49粬<~U% 3F~ MQJ\O-\G+1(>=o$fɤ(֬Qcc)xLӴjBtY̵X#ڝI2LhY( cQYfQ*J}*8e/,o(/u|fK;Ig;u3 wuՎeu1IF H\aL&P(dxێ\6#( l $Eˎ =>EU۩Ը*Ѕ THM-k|?Jl3j<]0Dnݺ?& ͖H$=Z,̷ |aGP$cԎ7 o:l5 )uL.X_ꈚ+IfH>g$)䗟|'GeLpôTs,%RBD"חL&cX2ls9iuW/+++//l>pR)ι$B+5v9}I ѡV#=NI:k-1궩!*-- 'D0$I 1*"D `pMLR}H$*lok;n RTYYY,+//7t=J]u>[`pXm$I^2fɒSEV;}{s~߮f6 hRlmlsKשfĈ14c]t޿6uPB P*(%sBaRq -$vSU1[[[zz_(X]UK;vEtIq$dLҩd"Qn2J\`PPH\W͞a]mlaUԦ>ex-N̓{v J߾cw:mEtVj#irEUZSIC>wҳN;p_V I%]~s7+5QY=lƷN׌Y #G\̜];vW񵻶_^[Lj٤:D0$JY݈2N,Ԕ׼'lB)K|=7rZVUl2"!Nykc{zVsZ)E?}>_|O7qK,;o¸6/3̖MpnN?aַf,;M6.X0LiѕsLWReA)''r $9'L\ݰ#Zqܢ1AgY )fSUJ0ƈRWj72iYQeE5M  ao_W 1S\Mu7q]Q;ʻl|uS nr޴g___9--0z;;*R]] Gv=oywG,f]6Bx69 "Lʬ7qDj*7#ZS6gGUʼee5ER?$K!b+TIŕD$n׵LOgMQ'}ȩ'og2icTݰ#ZF3:v5' 4ca]mm;?ڽss"3unOL: !t=דLMS/-ui劦'M =zt*bv+Bmh^[G,5qӕe`e[䉶m{#g۩lnbC7q^͛>+RT_4Z| ‰M*&[۶Wy)k믿t?紣lySNH\y)JjQ:cnW[5BQIң^*Ij P4e眓Jjj\.77(I*I' Joٗ}?nm4=H%oiMf;}܋wtؾ]1&T2{_6qEx!5(0tV1C*ݹDdx`T+6,h\J]1Vhk+-j~O$x:|^,K(0隫/=g(%Agy8T* yԢڬsJxMeg:U$Mecpk騉a31.MbJQ/SM B5*R@pGO-=gfM%NϦzS(v[l6Y,dqGz,dU)))Q;zǰafHo4gFr:Q4jd.3zT.Iģv>"K$I!DӴaÃ.wTIHLU%E^jf„f3]="MN0" i @O9Uvك#;v{`lo5s1TB ÃdLW$ !a@ J%F9!e1uʒTd$Ye墑.44a+BaX,k0r(>gP7CRr3 ssL{H:H_:D$&t,)LiY$7,ꂤ$-TP V*L `d2{Iᆩk=TYQ=A9B/M#ɩddM˙!˒-K^irv9"SNMzV3Y3m/.9kmgEf5eS{gӚJ3Q|%Φ\ʑdL㴛3jpx֭[瞝;wj6 .u֟Kɓ'^rtlC k0}{0jsyBNֹ~H7Ą8QMi\74YB3lNKpP$wH 9A2!d];թI{'l;lSI\KG~TIv%Tl̢,幜ӗa"U_vũ۫b\p ^x!qaBH&ijjڵk{k02D8px7 hHdRy22T9Ji]iR3J ͮhԊ)=mɣu"\JYN䄮$HVIKIDrMe"y,xukqՈLΈgHlFf}F%5ԹUUPB`~>;vbW\qxv2~x[ommm%$ ! VTU$34&2U}nIfN= 8>՟LS=qRi{4!|.ι%v&KשA9T9uWnir.tj,O\n33̟lծU%\םq:(~]OTjp$% n8y\ܤ'Ruck',pCK4dUU?O6>H$ >,ޝGQIATEpUUAqU\TEAE9F;39o6 1 ~3]SUӝwk"Ol ,Vf Es!"0!1X$!FDQtLU _qWN:Lb&~]kb]\!!![!UUW_}uݺu O IDAT<ѣM jd KfVMSuiFF&TT*O2c"*ɊJ$ vꌳW4R+ϙ}NEeFg]۞iYMXל>#gKQQy[S5BUH\м@tR+eg:UJ<9Ox={u$qMVcvY*J,EˢZ\4\iVBDj2 !~"{=2E9M_0ʇeYt|DyoKO>}O(?f͚'|r,;!A k npjHӨ_UUdzeM9J늢GE$'7  YC!XrޢCH"owb̭-9cHGÜy$5U;UPy{gѤhgyK&"7%B7KX׮Z\߿…}]rr?>p@b6{{l6_<۷oժ> GѪU;v;ou˗/ٳgVV֠AN8Qk[SQQ1~6mڴo~ʔ)|iӦjfX;ڵk޽.\X'I G!F٦MB}uԩB˖-  4hР+r]wպ )@s/L&f29Ay8cJDQ$IE1R]rR+XOM||*V#Lq9*IHM.uQUTZvSV+˽²rE>"]uS˜Jp{%fPG)({wV^ݴiG}tРA,Ē$iÇ$tWnYYY6lطo_׮]njǏcǎ+V|W_5BGy衇?cƌ &Y۷o7oނ ߧO1c]|cLmO?;wnԩ5;yĉᄏڊ5N:uK/}O>>K~aV()S\.ѣ~РA kܹ\ j0p(fmҤIRrrbbbllltttLLL\\\||jSJkErddRVTz ˇ++U.ӜN~f7%![j xL4{΢Bv˧<,R̫, IpdDgg1aTF-Zwߥ3XD,˫V믫 ?{Ĉ 0v?~&LX,M66lB6lǛL>}{׬#ټt=z|ƍw1tZ+۷ի뮜o}֭W5WPSYVy񼫼LTB&¾?6E! 0F4S)/)'XB^Jԯ;ܧrSH8$9Cb$^TjHV&"C1sJuvBrRtU:2ZFVrrѣx^I&Ozq(mۖnãXyffɓ'B'OdQ39KOOgj=FuJ1A&11R ԯ_j?|jժC 񤤤7SK/Ϟ=9^߸-4ٳy5 g̘`:u_`[oux`сdh %l2Q^jQQ(I (RUUu]K1ur.1,u̟}WTUS5ZfN2IQAΨflymxYmg/VaEGUM"І*ID,W+%*u.DD-4Uk$/^&=ilBvjY?~|-ByސcWHHHyyif".WcDQر%KOxϟzP5jȑ#g͚t:|MA>2^]E箻4iҲet=O>cϞ=;krr2B\dƍ J00d OL 1lj3hiWUR:qt!ttJUy"{9U<*˓Ӳfuio7^/*lvEzRJRXjr@$'A>*҂5΅GSkJ|oN$9b95kr5;vطo_fƍWmt vÆ 7o^BnvM&qUUUF9%!Xv-˾}4cBZiii߾}xJilla̙s>>q5&HUeYs(*F :RUziJ(<*یEq"UyQljhU|UV_t/{.繵s-g̮d!W,Ivfb-JN]!U%&[(8F"N*1I0_+;;{mѢ7 %?>wܞ={QYYYRR"ܴ4PGf͚;vjvGym۶N2P||oʿln^zi!ԱcaÆ}~{Nb?> ;VC-Zd2XC:ug8ٳwqG#4 c,<1DDGxgsM&Byt)sBRJ0T_R#~YbV*LRz/! h,]H 1aޖb$%DPՏ|.Ny 8GEVjXxL5ܹsΝiM6M<_oݺ5|8Bo>}+۷o޼yŊ?|A޽{.wilƍ̙3z<##㭷*((HHH-..NJJ5~uݘd8[ny'B_}Ղ mV3  ?O?3Bof=TSt磣k,cǎOJJZhQLL B(77Mu _'n./($l"lRԖ"(|>߂oxUQW5M),1JHLilsRVYy|(xb JN"^mGkVq&QLM xIvO 7qAXتUC͙3gՖo޼+!/7ԩS-˳>{Up SN:wɷrKP[7q5N)/J(EQ^nuUQF1-EQ4Mu%͠`#5 &H>*o&J[ ;cC\%`M[3eM)dVhD!Iቮ^VUyEWu08ק"bRIVңGիWkV]!Vw7^.WCPfh!{(^)9ETuL:+"D?SSCUUykacRq!UU~fnX4r\.BbD_`a 15:<(6/$$$=\D\ H B(b^dlq$I hf2Baaa,IbT'c^{FS/<Æ _׽ۮ]ni>*)//OMMﯾ?0 ++K.[!CT;!Ͽg̘q7boB">kܦٓ8qsB̊+ۢE;SN| n3fT+|g{)[tU!ԿYf,|ٳgFFFnFk׮o.xt];uꔕU2/bzzziiҊ+zMs `1?>%%EQSN5k֬I&5޽]tٳgϹs8߿RR,dbcYG1bwO_xqʕ6&Vk1,UU^$I{WRRRy}z֭caaa͚5*,,2eʐ!Cn&p뭷^U1LLLd~ѣGgΜوML6mݺucƌi֬Yaam<Oڵ5ko>^z)--f<@ӴoFoQ~6](^q@՘?^RR:{ϧf͚ϝ;G)pB~~~rrѣGssscbbގRٶm[o>}íZNE1pJo~W6mjl6?wnƭ*ɲ|{]vg#ڵk{ |qUOWg 'N4o[|||],o޼ץc[oׯ_Ԉkߎ?Ge%Ço@sxb#vGMJJ2~i˖-n{+W6Wݻw~  V`ڌcǎVVVmݺuݿ˙3g r,)--Ue˖vņ<޽{WXѼy[n=21*pB#dYFId/g}ַo;cӦMywzꕕ5hРCZÒ%Kn˅[/\w5N}=zhѢϜ9_k׏R:a„w}'vաC7x=}g8qsrr:woݻyyy;srrt2}LU9{aÆ;333o믍r?}m<NMMu:9555+}:/Ν;ĉl;?o>:G}4hР_~ezZh?߿fffǎGQo2eJuVVk=cݻ^SNӧbܸq?+ozGϟ駟7++ol}l,ڴiN)rLҾ}VZ=ceeenzgdd￯u@5ܵ^z5;]۷OMM}7>9ǎ1bDNNN֭nju}n~~~jjjNNN=_re^Cj۶mzk-ygώ92;;[nqpo߾Ν;?N:u֍ܢE 〓'OokӦM˖- ~;x࣏>ڽ{{vq]-KMگ_:ئ$??b4m466fLeggo߾y暦)iMlqI4qD[nMҥKӦM~ֻ"d[9߿dɡ/7nƍcbbBye˖=ׯ |ov…gyr⋟~O>uС9sTTT<˗Ϛ5kԨQ}^Gݺu[dIg̘ѯ_z˵zz!B?Q?={C(/^az7"fϞ_N4)55~ ܨux._~aTttt:>B(77w„ GNIIΝ۬YoqΝӦM{g۴iS\\u֨j]RU.//:ujddÇ/][n=PRRɓWZa%Pbb%KnYfۘX{߂z~i{bxGѪUdzϙ3d2l`;bĈ=zL};w>}ݓj~nfcױc޽{]KlL~yJeZlɆ/g͚5R:t{GQQQ7VVV:5k%W-`>}zɓ'0 bYTT۵kgrmV> ;C9-[PJ'MԾ}{D?~pT3%%%<I5WM^n(++cu\ӧw8m_fgfcԵ/^/tݻw7>ڸq#}ӦMm|8pVgXG*x~Azv>W'?>}}TKh |$߾D6w/mZkvݫWx=`V aـUUUn;%%%33SQ/˲1f+n>|8??uC3WFms6lŋ+++].d+*++Zn}رN:n:03, Fjinjsnc7Ltt4Bܹsr!{Yuyy9.z^Gu|dC'L`l<r \<55ÿ{uxLCg$f͚ >3/ޚWl[b?T+d\wVQQQVV,OɚX={ >^zWjSk]ɩ @EDDg] .ܹR(\rO ́4V5! }ݣG`@ڃqKI/ ٌ1.(((++z<ϳ02p8˖ajz'O2eJrrrtt#GZn}qxZliձY:aaa񑑑][r?_e`?~G75Ck8f%콥ƍ5[<'44ha7Wz_]t ,]ۚnٲO>x@DyW^y%;;fM:ĉpFFFVVV˖-_|`}8q 7xlfUyyq~\E ^:͜9s„ oIŒ&""BLlڽu=]巀YXXX 0;k?0EV6JtMFvj>9 \=e[/9s&{0qk _ݻwر<믿]ZZڵk "a[l3!!pڵ?W%44C6-JNN>ի^ ]t1ǣK.:tкu묬,5`\YYH)8^ky-|,l6v̵<-ڵyԩS5Dy睭[ѣf% |<+ٰam۶ KLLܼyݻ:fgg/]4//y!]kZގ;M4U(?IO:uEy~ԩFڼys^Vkff毿jCZZ7o~YI}6JJJj â(^n뫿:vgY~Z~K./>tP˖-Y333k])zӁz"u{yw9eʔ4Tcǎ,j֬Y#srr~gMؐٳgdUTTd lw5Bx>'+صk/ݺuk}^j՝w[IrrG}aÆ+Z6mڬ]Fh;v0L&MbWb+% ݻwOHH8y$󙙙 Yrr[n-((4MŰ0㹬ԩSv 駟z]^^K/}1cUUU QF͚5… m۶eرc-[ӧO#{m۶1{ԩ!@n;^Cg$^CG/&%%|t=[Էvk6nܸ &L+Vx<#zGVZ5dȐ!C9rd5lٲ/ t̼~p =z9sڵkA8qQA馛Ag bcc瞹s<߬Y۷Nr8o/Zlӧ-㏳WkӦMddݻϞ=[sb[޽t2v؉'FGGw[l /9&)99?fqf#-6l؊+ 0lذ%K /==}Æ 7n4L;vׯ_6m:zM:}5*>>~СV7nܐ!Cn… k#__}Ν;'&&j?Q7|Z;9#G\bGb7u`_}„Ν;\"_ܚFrʇzy,ٴiS׮]9+c=D\W+0E5&ElXM)DfJ}ܹжmFDDp(GjXXؓO>iL&[Ri1l+oM&k]f8qb\\-ZdZj]b|'K,oJP_LJ/]W_?~7k,/]yw^G-g̘OlCX`*..nʕ/̙3^o\\mv&ϟ?cƌnݺl//˯>3O>~ z)5j;8nΜ9sĉƨ  .5k7,IR{:|]wܹ_u}ѢEղ7/Ydɒ%4mtΜ95O1޼y̙SYYj(+_~y{=}뭷> x򩧞*((~zŲt^{m…;wf)s9rdbbԩS׬YS˜Q?裲2ڢEKi5WǵNHH1cƻ7<;9QQQ_~ٳz)M:u_ YrᨹMVmŭp|sΝ2e ƸUV_v233Y8qӧrrr.^?>|eV-[XVwQPPr4irĉxZZZjZ~AAf55]M7jر#!!A<@n[t:9͂EQxg9BBBXXłjPs >l6˲8 ^eՓ1-f Zǥ|!B(UUUlI.>2rg6Ea7o\UUej#٪`@- Z, L1 ߲ei'!!favڹsgBHqqJJJ$I:}tqqq߾}Vky0;N쐋DKFRQ j~h)%$ )" ! !\@o>Ŗ pg4S>}k)Jqf3 ùbxJ~X/8:uLJRLx…$"mvzjɽ䫯{VNgyy9 BRicc# ȣ $|?Ca.jjuvvv~~P( R7\N]_7:Γ'Ol&T*f~sssww922rt M |EQ׻uV?~|wVɸl6a?-ߢ:88vv0,JTu(ȹs禦>|j*a,G%8>q^+˥R)?o©x0^JMBabbbcccmm-|>N8 (Jb1l6ѣK.$kÕ0 ^ٳǏ={6 \.{*CU޾}t:}̙R{^N'NP(tp8 ׮]r9AEQX~븒HD jZ-If?88hۧNT*L`gggww7$ sRTR, 7oLR[[[ryttϟ?/I<q% ^%ӧOݻ7::jV:.Ad2/^yիWw]ZZt:_㚞d2FVՓ'O...NOOWUiO aW/}>Ww IENDB`gtk-nocsd/Images/Old1.png000066400000000000000000003451501517422556600155060ustar00rootroot00000000000000PNG  IHDRa pHYs+ IDATxw|e癙5B&"ibS,wnCoF+Br[&=nVY_v18S֜ٳz斖()-3O@ }g{=[{ٳ}DkZY︲$_30KO>3?2"A =(1 2hFpх?xű7#!N2 S]SY'B$׍/`E&gJJ7,_ތsۏOEsgzGdYeʖ+V<=]6j(_,_eWl6on\Tg}E1j暫&?)33_ؼG ̿i‹/~ߟx8۹k#>;n2bXVVs/~C-3O=yu=>7)bfӧMc6[Zw9K;3 _]=gBPEex#^C^|хz?Ϻ뮝wŜ4+_狡P蘞t}(OXz:<ƻF~8" 'qo/9 ui3f|j[oE oX]tԦ&n^}RůR[[iW2vLtzUuuW?̞={{tU_j$i3kjV~5s#}U>w~Oza]gNyO?<_}y*7wxM۵0oP `QVp}E srO7I^>>$I:A5@3fO?m=gϚyߟO=XeYs+D":eر?s,-Vf.ͮQCrdY$e)!Ι7 i8e^,NtO]WWu6B {{\qn-Zx/3vOC [% nǞ 446塇|{'˗NgslW.9kw!;ܻNBy}Z[]\xzg[gǟ+~w`(tϜ=W\T{}y[]wٹswޥ^|ow̙wn(YjO|!3ґw> Ӧ^yߪ[oC_viS4nٳf>oD~ߟxք3@l}~+,{ݜlB] H.E {mWS.hSfι;7̿qтf\}kspﯺ--}3O=yaFk7߸7,y;ww9acFMI܎Fp$ZԚl #_|Ӏ9je9핕UZmqƏ?n!kήjRyy{,zܴ3θ=Nr6x.祝; !}yV wBE)+Z[]߬Z5mF}0jllLIN&Gဝ/`2!ůnu.11ArEIŗ_ epرH*55Uզw߸wGA|I,Yq?^8`+/K G)K/k?xo1i ._]tՕWqm_PRZJ1s'-{1EQ_|ʿ<#t|'d=WaMqLjx{*b:8'ͣX=eĭv>4+3wq[6u3 ߮].++ﺯ1{',ppʫ}Q3ҥNteݷҷokkkltBf<>v}&}VjJNU~2~E465uV&~h֠cwiuuҤ 㮹KL0h40 hW>Ω))P%74t2sl/̌ta_总6iU7WT9""IuurLz?naGOŧ}|Ϛ|,5-W/+/[W^1n[覢={-SlyX i].Wzzq?n<էuTKmm)'X<̑ʟL[LUuΔDGیnk 9]c8H$i ! Eh4pB)US] :`|˲%e{p'ZZv迋z9^Nj[o|v-9`ߜ]z%CVه@ !O=iSxgvK^9\;Gޙa# ;aH$r7S={->`t߲?ڴys'I;.呿>x*++?o@I |i3.5sͿ]^Qeawq o]T}i~|Y}^Fӽ7mSG-Fx`M9-=B'׺vY?ΐD !)_ h2zBQ׬W\t8r+k;v*(--`d5nxE'{|[~kɃ\u}! {Ĭ̿>Kl4(7&NMM)ܽtYv}K[wMCW{t#ƆbbLt^iyyanBH"7wัc{ܭr(Oi }:Ysjk]/}`08Y}K]._ޖ>S(s}/~7ϘԿ)M.#V宬iwӖֱEs-#=|``NNyEonW^^RQJJK|>D\\\zzl|eO:k_^Gz]}ǣ?h ]xo׶\f)3#Coݶ- |Ӎ.W4=f^>@ż{vUg'\3.F[n>\ǝW۵_wmzZ?Çv.:dmڼy{ϻbnVFƚkCpjJʹL;%Czz!e>u2s\JK|DaēOZ ;ǎ}<Ϥ3PQz| i!g YbI;vwbaWZڗu#PV^>o߹k?`㣏?ů7pV'Ϛpםwx/zw۶;w?m1[yx^Y3g^>c65 Wn=!y󭿻Px_^@޽ n{{t:KW/gfYpgI\;˲[nƅMv9@'2d$8 uV#Y_0 ‚(!'@!#)RPSn-#Ѥ9B,.O I04k[|M.D$IP]@顷dˤҲ-@ 7tt J2ReFdzct|rEgGy?='d$8RaF>+oBZ;Be큐 F)13$32ٻbCe +"BLdJ:a&]Mf-*H((!#2$}q#0LJ|-AY"?i0KN:sXyC l[Q |Mm&onY5BaQ&0})z/-sFǪ58!v°;\~r; ˝$[7r`ϊR3Lzͅc3'N{kģhQJ( CF~ᴡm_$I~nB{ Ʋ1k R7h9R_;17Nƪvo8*H$ ,r/iwS]oyLzMU7*^w㯺 ?U*x2!,GҖ N*tGpcz!z #XJ͚8p$ >DeF Jg۶%LlF_sѸLVS<΍V_mY_ J})'ֳGd&kۅrp #aYjc.8pXvIFWT{ݓjO)ycQ I,(6o8Njv$c0_so~GM2!wU.rM^,sBigQ0c(j'd$ <8;Y6c^\ymr9-7aYQQ$˭xcJ 0zoc^Z{LI8*z+=#`,KΠ:[ZIk-x^/fHZ.*?OH&ٮq5,3 9^r=Kvlye&wT&`tGyssSno+I#8ŵm1iMIyCǎ#R<|IPs Y,C Zd:ΠZNu^鵜gVa5cX 2a(t:RҽVIH0I\6!nBDInhwǝk IDAT&f6LOH\lfݯsQJF&|SmT!0岳sl{IM}QBuEhfݬuuV#o5fSF1FC,1p1a:[ RT" )Ȳ+IgYRJpNa$o+myO0V=NoֵyFAtG" -xؠ_(% C)e$I~0::/ ݮOWueRc&mÐ0$ )q$>74,hX0 ReJYRBBa-AO D/ @XF(K,Da) @(02@b$YU?eA|hߦk E򆎣?[Y&.OHp;zs5D'qp ۃQI}TlDYNñ)CF9+ɜhL2ƛz RBBs{u֎`kG :BPTdIRz{ߍDt!#82d$~dkXcКe$=Gx^[^brKŲeY"M@~=ުCF3sc4,8.'՚jIfXL:dYeQQ%)"HFWop]涠7Q^ʏ{[&K\DD aڵa1 R)pTlr"}d8 #EIϝTeZY]m`{RQZ?Uޡy.a1<8X*J1 d7kcCU(ѰNyNe :MM? ɜdlL2[$QsDP VC;݁@X*H2/aʱ {PqRNcq:=sQQ)"H$"![pT$t#AFGYɖ`HibCу7jh>d'*ERW,6-T5БrSեh P&7D)oDd2=HT:Mbj1*i66nR%LF@4uA:oht#S RO; yװ evo j C±GHp8'iXǔkSC)qFe ZVliLf(IʖDح*$"Mi ζ`$K0,\ njҔb^9,x.OS cÐ0 |(,mp ζ- 2V "2ϱ&F1ݏŲc:(nI&CT  NF!ReT ʑ(4s¯(vcA#qVJis[0ʲ^FO!$vOcU7y[}][%d]]cStLvW'I_6U(J/vr xSf)#єoJ7\U`}ǽFhn **yá}ԐcfI)躇(yz$ठV֋pìK3$.΢y2#r+" D|a'5ζ@0,(;(cqYSS,5No (Jw5h8fxN\]o꣙[secrl6_X,Cp δZep,gaH3 , 'pD F`X _ uֵisyB]g,a8wdj`3i$JrK{ n@(z 6aLo~'A4pl#DR^}Aޏ{~b4ljrKnZVpȟ F %aIK (Ȳg&&YQY⚶ojkִ7@xPD>^e$ Z"r ,{QQ"(s"bl;FOHpb(sj0,;`X%Yxe&k8ÐLǨA c'Yt8 h5,C#Mn]e;R*׏{ +]>WJD78iL~"am&1֑=|Ca=N ( Gŗz斳瞛ڲC^|SJ4ki<l%r,قL輄% Lxc)0DZ|[: {ʠ EQR`eY˱qFE2TI0,ԵεՊ_lE@F㧫fҎ/H$Җהn+m$$f1JICGYkZ)/IΏWl FwRhܠtۘ$; [nYR%Ib_Y25ҭRb7icPc*Ӡ|%v^ַ-,ZƠ~uaL3K5 CS f, '%rZ.*J.E)Iv FR x"PIհXN"((,sLFyL^đF]!Q\?4o+mmn vP*NMKb}gOJd"d$8~J]zܑi#s۽O6Tn(l]G '˄Pe1J9"+7Uo(l?$n)n,b-:?;,vRB3$_tz5շo)n.o=!o R,?iFIG:fu9ζߖmu-^ H:4ۼ= FS㌹6BȻJud*wqᕓRlmi MsC7k -5PJz^6lE)Q34nxN輄l B?mp(o]v3cr,p#&&ު9 FwU"¡! 2; Cd!I)j;KڃaA{7Ld"nOMՄUn{7)\*\op#䊆5m.KG0W[K㭙vs#1jy6'4=NŲa֍/H<:^Qdt5LR0e(19V1KeN&;: CQӗk송t2!EUVT8N}"}ac ,\vVvFy{iK DIJQDž"W< Vf$C=cK&=0k]f >8>0J"HES\ӶɫL'I2RS^:SGJj۔E(/2;I;b`IqU>UV5X:;] *QD*gO4}Bv/\-rwMdg.OhΆQRJoGRe[K{aegd%?XvG}0,t}blxfLìy75 CQѨӤm 4' (m$ǭ=M p`XPkJݕ;*ZbIñIv}Z)=fϴgf]/o)nqzKKګ^svcJ 0Q*@ sptAF~(:np}°xʲÍ#XXSݖhdۦ򄶕ֵ#B@.9=+-h\^UR..0D~P-'l:lMzìM3t,g[ٷi=(IZl ZnԳjr[}F?"HR뷟,֎g?T}!5ޘ`u!$\P]csӬf%"l)@MFDZb3YIDSz)50l)ni8޺R'LZ})2 o&:̲2Ğf^2>kt^By}NJ EU@@(ʢ(ֵ]JZ3lòf3-UMޮk%X4npRݰM&IwWY Es\:p伒ߕW PC1 M7=#<~H՘foQ]Q ܓwZz}ncsB|B !! V!YTKz)%gBѽ5m+7Wֶ6\@("JL)\sLH8"*cDIn.1F9@cJ9M^59Oɪj +]@gd>n,G]*_у6i*o 2l/yywuI+F; cr瞗m֎T*E633UFE-x㴡i6eg[pGY˲u*\E6P ț |Z1?Þj-孛8+JDSb1vݤ,$Hs[ŷeޤA __YsW]Or(&؏,̈́<r*}C'2L9q`]o_0zbH(!;֎$ɿbTZbFmF!-Ş@$*HFۃJlt+& l|vv_XCY`OD1ܵ.oزy_]v+)װ9)3$/HL2 QQJwWVn FhRTzH4B-XeYHg6CM#},c& H3 f;-l)i>JGǙ*aC%βYt z-k5jMzM("7xvW7gNY+=Ho?k;g 1&hg_]=xȳR.-F9#d9-{9͎Q(3:\{,PJ,Aqwֵw/u_RPRrz1PظbCUatk_W4vːcG)aa^Îȉ4*iFJ(PtkI6yʓ34VPu<5dxgt[F<(pU  b@͕`~J?&IQ>b( Yxiii&w`gykqm{e )V#`K ˉ+ȴB+0 żJjpS]k5r/?`߾Q]>GiwV4tհm9O poxXڼ y YAci(!;[_x׏{ÑYr ck2ytFn{mP("FI@+u^a :-;{ؒ?Pu;u a(a}atK5,*,C)ò,PaaP2 DZ7:AOV|Zg ~?d,^9b`I]NAe$ϔN3 i9hp]Q֎y>]㭺3$O>8˞0u|禢MѵD2)I'EM5No7Ee0 nO7|0ILzk?) 4z1u\Ud7gN/H5(fz'tTҼMYUjqJ4yN#rk{ INZ)GDQIt:bQrVy^[bVl6[fѨ7 zjeuBH8p/&=@80 N e߸c2TWlt{B'|IJ 2øI%M{om,jϰwZI*muPh,UMҬ$sac(%679M# eǔ?{xʄa)˿P '~âgḻ/)-͇'] ?+RL(eLa,F>aH3Yd93V# W6zTrַG!ڨx K 14Ket-u"?ax7 h0 FѠMFc8ްq>3'%%m6b49N,vٷruGM${t}G)5̄ŦjO r¯ޔ4tc&ȹ~WÉI,qsw뻝Sg-6$Ϊp]2<-Bnmw;s,3nprW]p-_<.3nxQʤϧ$94w61,Jrngî S?y #BZ$ֵZ|_mf8jP”Y&cWetPy#c(M3^>1gД{* UJ)Tˠ4[^-?Ӟnu-Һڶ5m;PDP3ުjXF %UΓVY9#avf6ͦ w[X뭫7LcFNKK1M2,Yx=Bz,AR #@)s|;2킱w5Q DNIR ǜ="±NﲵuNo$W=sh%;ߔWaT[|y6戗b,CW]#EqƙsVl , ω8  lG^-#gl˿jk]Im[[s[ˈcxaeYEDe(hO2[ 6,!!n-^cQDBAX>\^UUzeYoh 5^tAeY$IEYE2_,+,@ -ZeYİ REM CFP.)\!>݁h\u-́c_>DiGyk?rMʢfJ:1@sG704+ɜ0 δ㢔 g+7UBCL*:b-3Pv>H*!`>t:m}]][[[M%ZBJ Z4[04H$p8\5U6o͕1vuɲ,JG(%DNM)BO>Po25b )t:P'&2xLO''N<Պ8pC91TTT>IEEee@j,{fB?&H o{w+H[I+Hd:Y;/Js_=:M^v1A$@ۿ|mK xaI e"H~hMXimmVq*A1BXF$+GFx/zL`%Atln+WZeAz}:'{iA!95<.s]v=l̗ig4Jo483:^donllmkmokm7s`h=&2cLήD2h$BH0B.e`PDR$I[08}t2F@`FnQ"K`׌W AAO lV`ι4T"ۀ?k(ƱQY Wk8+&'vwvM~0kʼn3{hwݛ^=:TLYh܆Kd9m"Beӻmo,7DPt^jCwnb sS:Db 6Úzݛ643?;~wEwPɸNot:M/oݽ[j{j|2&B4n ,wAlzEo1jt ! MP< SIPzJ&Шm&Ӧ[WﺩʎLe 㑮߹`2#ɄBy!:m7PBف2BJ͛7556-R^@S^y?"U (C0 LH&Sgt* "ӛ>Cd2 窞rF Hl~(i=BCCCS^o}]]J)ɼ1UTT>,TYpp0WQ߿eLNГF=Įp\{z|q c@iPp[[^%R՘Ӫ/)2B.!5LEBިݤ}bWw^8HK=a{MU6E֔X66 [2=tnr}"X8́b)<;Ι2@"%Aw-J"CZSQ"ޱHX鳃@28P,%tNAl6vV77'AFFGazQJA݋/B!T%+mArU=1Qsqd.r;8 _L22a2Q` AaF| %y|?fyas\ҒⲲʪʪ*>Jw8_vusbK:t0Lƨ$RJr?Df@!J t0f/m!2T| 9qKw4A &r*fDlWW8^P(e@TTTP5Juln.>|njp"z8C]V+)átBܒHiAʉ+XfEco}bx `B'$TiIlTZ³/mӛtT0؈BW^<<,\h.zbwӞ< zǠFŞPe3\]l$yՋ5hdUeGG>;<.RwɌ@iH2 }Hkâ.63:毶]6}<-FI!*lZw ٌ?`'ǕsɄ+K%˄xQ91HS#U #=[?] !CM^+IO']T(f;r9er2#QʒI)l!Ǚ-774Թ\"^dϕmvnYꫯ)Aaγ{}DRJ}>$mokUe fqgn$"AEws{i$ .Dεm!{"Gb)A(nc?rKK 2Ryk GZ3<վ52--%66!.T( _$@_xJ霽(=0M ܾ"9yA$6Q"}chf`"{W7Wmv %rkZǎ5euΒ"â <Ů@43-ueVˊd: $LEpwq2l 3Xvv 8!h2HA<64D6Sc3i:J(uhfԗXAaJT;!"C(ˈrho,!JHV\1n({suc BH(R;'xDը)p]AJ[~(#V{/sUU%B!Xωf=ׇ1(//+uǡYn^u˖_\ DfE(eTgeLrӀ ,ogfK.JsZIA$U#, n6CF't@ Z $)q\:t9JKTϘtWgSΦѷ\`w{wtmo/0EŲXmŤcKEn /t^'(YX@ F>J3aX[fmmt,skjar`>z 7NHJ(caQ:XS9K ^#(3xi5AX4j58Ϗ9`7>nßgER/}OFY?;[-ʼncp:6[< BṡFhSHKŹv8븰AFeI*|4oTNQDdk0(P`2h$BkGSi`e 0L=b|fӈ7qF o05L'+\TGa7.14g^op269\[ JT0f m&m,%,u˛Wjc}E"#a~wxHʧ.#AX6k(?A f]qزٽUdRD'rBb 0xu'FRQQBp}[jc}wLi3M˦O.kat׏B֒L"]dS LDR; .z"JISQmp(Bʄz3!<)&=Ok$Qlj2Y|KIt5t)ڃ22:=u!Q ,c ! ٙxf6JRKAZi$01bw,)@`aQ87@栚h2U#,ɡ_<n,m4Kct-̂TLX6Wƚ1ʿ=4_;6K. e|?6W NF9!"SdlMnHefܣFKu ͟4 H"p$t"TFziQB/ڹs^i°kŒw7bFFW]m2Q_cBظ?K+q Z^HFci !,*7754Lӧ9zLZQ`ǵ<񇟪R0RԓOÂPY{c"uZ )/$sĞrs/J~^HJaǑ pqÆݻx_{B!!ƸSRQQQQP5J~B)%1HJK(TniiAe,PzG#rkEGa'wpo8Q76ͣQ^cCA!s!*+2BTek58g$2PPV]l(n{d k_J}]1Fyͷ@DJEOK(qFͮ=sCC/W8Vz1XeXby–vv츥 /RҨIEE%??Z-D,2; |1DK 7+v^^D<ś'~ a\DWPp:@Byz@,:Cê}L) \Vy^.c Ϻ+- Oc֭L)'UN^HZ珯+)2t9<;皆2l5j8\264KeMo#WosUb jx\[jksݛJFBhV$}c7N?3K 2Ep*;-xZ<7嫢dx(߱}loku%R"*)RƘQTT__}9LNNQ%5%eeglD~̳>ˬ 0J(_ u #.J׵o߾k߾}C_r?5Mg߰>BH$Q$iT:> IDATj$ u<Š D3vդ%Ya $mU IOP@դJ&sgg͉>xR=ztG]Smp2d25B rJ[>d]!(ѡN}ޖb,v+ݦ߳/t^<A&7o_WRcdra,rԁ޸ R##AS2ɔNSC15R@:lڰ~7mԨrn0_8&>'"cyQ)!Q5}ڼi-lh.e2ƆGFDQ$R7@RJ=R(%T)WQ4׎縦b׶/| UUUp1!bP"?{[F^VVvڒ\hnf- DS=UTT AH***IՖY~{h(ʭQ{1G{>rKv֠+>QχWUf)}7ks ewN|J[`2&j-\2&c?z疎2A$=4<MZS^$_|rݛ:9.PvgFۼ:A"헯qpȬ*6*r9P\ M LnIr26<S"1źNӠIEE#P6 &mET0wDZk=YG{|pA$˦]e!,Ⱦ{sp鋁`ꡛk{F”2A"&}汔CC{O˄2bKbw4\L'[} !x' F-5El[́A_(}eB`k*m-EZW9ʭ79|nHg$<LJ2E::9GB<'Cgrjk:556.'cL}2(%3Ṭ٠ p -W#(LFC T^01-V-.-u\"l2:NlEv!A(IԔ39Ȍ,8PQ_޹ Q~YTi3hpPQw7lBerW^V`cMM}aEQ V]vs`CS EE֖EƨIEEʂ4}_}Olٛ}pzyhyɽjԴr g'Rj2aYV:4;+01$_92r֚o٩{Toi)' Ȝe߹S7@`Jdz}.I1JLT0%I)ʽD2 *s r0xY[RdsVPa$bށɨ᱆ZBH@5M]m킍MM%䑇Dt Af84,!H)=yTiII g2iq]:s5(z,'``:0::DBW }v-' ȔJ >X4zI^L&I_c!FRQQ=Pɏ^>|NLYa;o[W ?bwp,DRȈrE:_$}q%wLԕYx_˿󷇆yUhXcI\&g dR:+3%Mޱ0 2ʱ|=RPVRJŭ5EBsC#SPFZ 5#0$7!uJʪʹBmݲ#G.F!lmmZmp҂q說r9!YϜtklBt*- gAgk!\<|xdd4ɀ|>xBG^s J!Bdi#\| J$ 'N8s^ @IEE Te,-H?}ޭ57VVN]BRkJ axlgDZ<}qW.I6Ve "%zs[T<ISeMfe@o ok;3+oJ)MΛȈo$,ӓ~y,;3gGJH<+7lA(: W4֕Y˭UJըEѾph$ʔV=)W6L*y B`8ɩq.P}}dZ}˖MoV 0m6B-KJK'<2c(7SZR\QJ{y!c,fEuM!#>ssDQ3ș$0RFUH#@ YУiݓRFl/aa@(Ir<Ay/..h4`0P5DZ|u -+<}_8W.pZztGݎ5eHz̓xJ[W=9pvR H ~ꕞo?6?nv Y:BDt`"z0 ;5uSkɻ=0$-c{Ti+mp"=:7 Mż(˪Q"DF,\F^Crl竫::;:EE{zI1mBroN|O]]-h횵uRsBhYlvlt: 8HU1Ʋ𣓧NB`c ZhF$! $0l+(B休DURzqrB8*Wٙoy}j47|J/]EEcTTT~` drB`ԛh6Tؾ`[2#L|T(% !0JycH/߹x74$Qn½-ąHFD##ȭk;uM"hգ#7Vyɋx & Yr[ba;77m.nҦRpt``2 cA$ .6pIEEʘ(`r: ;UJa1h475Oxje͎"#ޱomGB&w1Fى>tȦ^=:NKRˊs`vj_8 $vo0^s @oulo/[Wrv2=z١/$LVfa&BLhV$փ]C4<~m;ׯ__ZRl۵Z($ %apֆbxᎎvݎ1j6nx<*uk++>KW&ݦLNM1v1&".5#,˚z>KY_Bkwgh y8vl;w #OiWlUTT>IEEI&x6F1L! A&P( ,X,)D?۳柟郎`+pYc.SSpR70 DN4W%xykOް{c'Mz^cW`jp{c--%.!0.>75LWJa xe3%Rn]ns2Fy%!݋/gY(%Jd%2uRId-(`-fh0Ƃh0(?PJQ@Bz`HRN&3e-!|jb\yWQAVT*7;w:vD TSQQxj$grg(Ym}aQZoX淇6 ݛ^|o8.a Oof26썽yb[jLpW0d"!sH mk+n][s˄zL e 0ըpt O˜zh4Nc{Ϛ5&cR`aRŰ.7Vu!h4Х0c6Ϙ\c cbXp -1BGz:-i i~ Cuu ם}gӯ).sypNL1okMH[f_$!( !I[lחL3!,;/NwP4xYt<Ne%>heEܹn Pj՞Gnnnh4yD"QB14%Ң|iA9r[9CZqO]m-Weҹ-<AX :12d2}WN:5#J(< 6\LR. +mA}v8Is- TQQj$BPc yqXQ8 YiEqhlŠ7tZCL&Dt*BP"$1(`GBMU3ϭ{ڣii(~ពoc .[OK [';זuMU/7,aՔʬ-E (qhxHo,Mݬ#a 2cߟ CC'O|_*..BRdRc,SGB0#_L vLy}trرL6 %%%eeel. IDAT68۵뎧~:V:3(n9l0rEi^U8,) Ͽ|^bqeQF AC!N`n=v).^@>fݎ9 DF(ACTTTrIEEBŖ b1F=o7kfŠ&=rz-RzN.;,T^st8k*+na-iu$Y$)N`(455588weyq%z?`5jw)Kg\+ŭ3Ƽ^o*RlYdXfDs@A|mLB--W̩㱸g1JEAx7o<ƸUUc߱w٫4ce3rV\\Rdg,7G#q2  Bfh*+ә+cB,"SJYQ Ĕr;TsF1JB«rPQQAH***e8,֚Jd05L#ie.JT$SP2BfE"9C }[[ۮokkks]vM"g}/5Uu9 GN6nX̳:ފl`kZ~_8ת;ϱ Ȅ=lϚ=WeIAefw]U ӉDST4!$21fkʜF`,)B Y0Ҕ8@TƘ(ߗ(#k::x4`[[[4<EQeIxo}^h4( xu.;4Bͮ;nk~4q?{uyPU# s`892aN:k?^?kVmYDR$%1Hf &8ȱ q=@c\?n[iNG(M%n4qmMV^N<ӡn`r*ޟ]#-q҆m\2l# B%e,HUaRJs5AH&<@ 4 -%;;+pH=dZM+$d[6oԣ]l6k5a(1OkokQF1Bz~|bbdt~06K=[tw7q&Wpr{p-hW>lB~ˊLהmn/k A!=0;Sj2R`zIhvŒ\L%I˹k 0 vˆ /ad2O(i$J(+@k@yTGQ乹H$U y!zvzf:qTr_7ߐeEaƍ-W uhXp I2W:)Ap[-@y''O]Rg- ,h4/ZA⑇bh4F2(}vhICCD$ 7΅|W罡d.(X5LB:IX_A Dk.!fCC2=3smJ쿿{?O+pMb~lXwoohBQ u"X(oB)3Syh([+IJjXHo'%Ate7޸kw455Wst:._BQ}x%(Jx<>66* `GoEIΞBlkkb.n߾m{{ʲ%oJ)3M6B0J$餂 W(O߲lr ۶ٳwrJW0=VGZjwް~X~ 0;3Eْ4}x5i$ !ݬ[U[tcgyUKSJ)ed~>+cl0jkz{veZS/H6HT_4%R˦cs%`U~U`BQ߇!x4|hdpj[[w VZ7׷TBfNyg U*BAh5JPF~B6 c>EEEWqu]EȖɴlΞ;77[ !'UO]mNKb(!"QճgMOϔ"jDSS(tUc6mw:^/_"dIҠ+ɓOܹCEaYYiKK5@#A\Iz$ hBfl2Z6dZz՟?v\OP0D4DFBmTV3>K*\{hҒwԣ475G$ ~倫Ef! 朔T<󟿵Kw=tq$^eLVIX~q-5y@ka8uq$?:=?sx$M`7V) %Ff;RqqqYiiScæM߰ d;G(Ec p~%BH&?kBXSSHX|ddFG$I'際Ξ;B%7|mz-v@"44T^UTTCgffsYm1|\I!Ym%n7.GɣwPĜ#$@t\ qG@ӕyʶnOEa_?(`[7jhh|\hICCZ0RKWҞGN aյ t:][kw79ŧPٳ;NSUEJB0^a+>]Xcҋg.6vq=j$`[؉~數pX"P'a^S _8O*X6[IGUeEmmUk׮Dc`hxxϻ{O>bpDUUyUHB‡fpe$IE#NNM='XwG!o>4]. crI(=ccΎ\ZmrIqBjucχyJIFpWXԖݹ% DQ\zUΩB;VQ$IEQ$R*Z͎e*Jx__2`LjECC?FиF&iWGņ֒XR9p~\(Ҋ'Iv>3zR:2:ƛoABQ5=fTՍs)嵣c|SWEUhLXRuV{lukEc4鋝 ̈́chnjʖ3@ r=4֖涶֖:^c~{Oywo*ZRSa1BU}}YUTT\\S!SSSH^u]ʊ UU_P]]E2}EQ^寢h0u@IZZrvV !D#+<,>h\[]]["RC;2LR c kVQz^z^o6[JJ\.EQ'O_>ZFM#ihh? k7D}nܐJ,^!x?,ӏ>Cծ O3-0/HIyBn.51)HBޱaѽvdIrtI@NccQ]j)q]6âKdh:|tx ƽfʻ\6( IT@R&'5ZƸcO=H}}]uUNWOR{ۗJ(%!#*QBe $ ,\lJ8vcL^=KJJV^ѵ*[ΎG޽ˡRJ=vȑT* dY6 `p<2ñL@%dgSX,Z%ܜ|vD, p'ښc566+ 8eI$##<%?] _74>@%|[U;;52Qԫ !6N@0MSzL<>Z,_|]+q@U9/#VKuuu{{lI_W9r,gRUolfDJaB ^,RO "qmu_osͺg[m.I/Fg/}d e$@,)biSND"cC#O>bG޼i㕳%/L&P0shc߇eC\!*f 5UFdY!LΝ;wYrVhMo/vrD"|h~>d۷> ^Z:qYiiIi pJA++tٰ^4zJ$n1mD~Al+47<~f-2[!Y7l(x\@VW #dZ+G$FM#ihhލeꦦrDUGA|tWýzP[/^!d~w~=w[N!iYx9鴢|b0$fv->pI`ϫz{Y[36/!zz %A'ᔬUscgo+ 8-_95I%)Y! Ƙaub3L1Lw'jJܜI(nwqKsDx BW-=3(% jM?J{| UU6BH)MC6uӆyfj0J]`cc{}䡜7룔̇B^\MM hswvAƆјLdmݕgF`FS~/']^w@{/*d!f 1ƒ$zYYi{Z$\ G`#SVy i2ICCi$ ]vl-CS᫆rܼTeE&Q@-j׾r}*v3dYpSO?sH$BJH۳g_ݰ;}{{̡hٷ{To>7['l+<u뚊׷kv9FCa >7}A_ R Uep{:h2JfsQEYSs禧g򿥔kכ:ܟSVf0db2Noܵ`0,aȋl>}\PJwwSUQj ݺrroZn7lu:7$c2995::J Eha:AȫWcjU)4[BhU"|ʊ/}Kw@Qey>χp8D"H$x"H$x<((t:MUEUT*  =@uny4U[wϝ )}*U$\_nƽQdZ}>pb@J&CCO?;b|.ːHRK??qNnC69970z@8۽{pg?;s_',PA'%Ȫort4:kˬL:L N̟ M e2BP(y\&@2Mgɴ_uX"e9a03嵾a DH k]ܱ'aYv;YX,~.7Znf{;;:OLLRB(!D~ttLQB[6ozZ[BkVSY`lBh u!J?8~",cJ577R܆N@N@=wZW7m޼w~|;7 G@0`0Dp8L˕r@T@e24444HUnnmN'o΅AYuB,d1BRbI%% чEӐffg۷ɧ PB`RF ZC Bdxd䩧xZ[aR295544L DsjXSzĘ7UA' (LRuR)HN)j<|$!e 0$`Vd6HB>; cRk*!t8C 3g۷Q\\ !Xx@QC!,qG.rҝH&Sd:N2fAkkjv]VṫBO"CSSUU<*eXvy&`;/\8 b| r`|"0>00xJ) d4 Bt6DVUU*BFSuZUn ) EӾdXh: NMBI^>!0E&^ʂԤ/v=v@*+H G$ xc4tr7$b O$vܯ9t:=MOO΍z>o>F[ynѣXl6#W^υ(}}}sްc۶z%n7^^ҿ%>O?H5$ACϿ˙WW]%!:I}fbl/B^uwUQQ>66F#y|><9;J2x*-/}1nԑ}F O>3}wj|"B梡 M#ihh, im7 Oz/q:78k2CS}gUpΎ? cHdy &2RJ۹df?rxpVcL޾}pS;6T !xG"΍$ERퟟ惡`0e?v(qyG~ShTUdBtvvtx$I7,1.|XmO|Y]Iẹr#&SHt; 444 # ՛g89勧UBٹ!Ag9>Z!d0կܰnrW/gH ɸ{C#,"HO$##Xj Tі_{fY I"&I_Ld DSѤ(cbi# eDZ]W!# `0蛛:Z[E T%Jx_ǔfsII^wYhBXWWt:L&(J[lݞyX߸Xr*<sc?8rX8fJieb9@b,J޽`!\zUIYb3ʆy݊rGcjQJB(sݮ_|رch BjZվm떮ښj@)UUc0F1vG&RB,>|bb|||tl|jj*`0H!\ "btqh,M%s W49\?s N_!-ϭU`P˵ȡi$ yן LXN7X^L {.Mͧޙ)FZX!tݻNN*eG)M$ocKJTr""kWM{r '"шbB~8=d*K6Dxb~pb~:%DJ撅 nQcl0A(eBXdS!Nظmۖ6xJmvb)(Y)]]]?ɓy'PpN*-R)%aP?1?2),cկ|b1/WN|{OB">c G1rgdA8-'&&Jr܌B+/^Bf Y:-n#p&+sA$I妛v^U]%I(aryo_ʗ']WQVUYEP]]oUVT@Æ ymJ ~͵GqqqKsӬ;::o~teUVVe(( C r{{fQU=}t(4MË]彽v@agy&=4Fz]-Bn ;EQn{_yGU/#/ ^JJ8cL<8]3!‚DWe_ |F V4G444#`eUٖUeF Ap/n؏'18|l6}+_.qq|^,wY)CA( (` D R\4^ wۋ㲬 Y'rgN3S1Q@n$(es!?9qkWc,^/qwv74K$B.OE/s3bƂN'aBM wqiCN'5N7QE@mm(k֬$Iӭ^lfj2[q;oۺ~w(?ɓ?'ɥBh0=e+zVڭz>ӹ^[RFAX,k^4;mm N]J)c`/7]Rc0v(^ /UU%r ߄2eʋ[l`BtJp”((/ZC.+~451i$ Ŕ:^>4O)'i<_irWw~ %I*tfvo&'ED.t"DlKNa*JRaI"VUIud(% HU#G?۟QScl^yB~g~ٓN+BJ45a,JT*D` זQ)0JI~6Fymkhh\hICCc(uE[VA|[sFAÁxJMWɰʅzؒPcc;p fB‘gB*Sp!" xMC#78vaL:QҴBR2 E=s=#PBQ)C#8  yLA™"+2oίcE״zD)m,k~WӟztÆ=NY|$<Mӳ^Ȼ{R^ח_g ˄袿+y_JT!xїlq}i$ NnnLj(^@Kd6XU" Fi DRsѴ]w֚/BQ7|W_SdAKkw6V8R Ix,%p\Clh0%/,q6U,W,dw, Hz^ճNFnkΎ-lEJ?0 /x0h7w gӞh[UUΝ;KL4`Xt{6{mܰɧ~_dgUa ,UUV"!Q:>>~۷qիV}oms/+**x&Q3thh(BFYt: 4$I2RJc'^y'NqܱmÆX,(?੓'<ٍB`D>uL.q;I0Hx(yR%B)De,y$ 1+V6񛁦444Kxs{a0tF:׊JBI_,%/ 6m-M9'd*e2 tx~xdDUU*rxa N߯)++3BSD˞!N:;:֬^||~3:I˿"R'J,tZ0EICuUWZ-~B"hVYJcqƘQJ~_7mBcwPTlnn޻wo,/~ 9 #WQᘚd $ z?ɌcǏ;~*JNi Dݲ8t(-16@=Ji./Q͛7޽g?{(0Jb uP( ŋ˟ Qa,B\PLtAnkhhhi$ $,G$RƏ̦Vt XJy辳Sh*=Ƹoeۉ|ENgUU>~d:BIV]dt8c&P_o{zhp".0kC}׭x6?w“O?LJ'O:~mƒu,%DN3Fj DO޾ukmm ?n7 BJ;7??޹!00x7:}zU{db:?ocDUa_J c?4?O/nQyFK2BHOoo:0Ʀzzz*+ݭܲ}!~V744\\#1?{J*GޠNY! Р7455nxx8ڡ*!JQXιkÍ>{アX'x7de\_.Fycڌ@(!J ^k񛃦4442mn/+VT>/-)۸>A0>vsE!D#~#yZRn`ܾukh~Hf:nǎmBUU/!B mmj4vؾcv3U!0ƂnUU攨lb<|81(XF!c4 - B{{BP3g|길ߝAoZciH /rM<~r7G?---A\ᄏg>EbWqKK(G(~( Bk{rH\ @b*+*xXQ)QeKQrJ,Gў޾SG *%L D 7A2x0 H}ծ>fF h]{{ƽяb!4 vv,{z6lXocǦg*/ 0 0xh!"V=zWTOb1$aݝnXgo?b$d*-)ijjܼiƍJK%Io` /7Pdfff{jX!BXyȈ/ B;vlYss> Ņٳ0Ns UөTHC}=na{=C4;:1b^P_?33+ ²hV &1R/:"6WV719| H2wZ3)e$x<>?sSOyTBReOy0UUJ W ^/ߊ E* af{P$BiU'bRI dA %F kˬSBh]md&b &O*ݕXCC M#ihhd0R3/|DY!Ůwݙ't: /={J<u];w|_-vB0ϵ$i5g0F`0B /d!BWgo}VӑqWp}EQgf)/>;LIfHӪ\C$!^/X?{p~ rWh4JHƖŞZ.o /{ݮrddjQQtH4JO?ۄ1X,%JdeqyeOÔs/C&eRBnٹc;x&''{zzO={E9h;aRpxW<3H0ۭ|x(2a !<0!Y555z>7Yc{BiA#MNM#Z#B'h!σܿeGNNN FQUUy~#7I1ʻU >B1@[}T7DQsXxZ@nyC ݨWKšz 3eEdZ$RtXn<! 'lb#߈B M#ihhd-NE ȲA{lMb(aD IDAT '}0O___\5kp#Gө%R{b0\AQPEg͚չyJKKөTMMuQQQ.ojzW_eYA?%d2y|Ct@SK }[kkpSt*g(M鞞k$ټf͚ssw;mZZZ~p<jRp ee*LBy\]m-UUU7I"AXZA!٬@G?yrhhxbr2L.|[\ň@H cvADJՉa'ʋѤk].̘ bcJ:ɴMv#0F;t5 K*ANz EA/ ijhhhi$ eEc޴B:oౣr]]67hTV$`Nhq֖~ŜDΎ&coE @;(ߕJCĠ疈./D"g}RFTe~ ,tmlWIxQccCuU̷*pF%`a?4Ez,c\]Ut:sKTOL^7#ɖiux)H%SQ:000>>^_W)6o޾w~NCբlR!`phhR~bA隝kKKJX$ --dbX]$9qT<'j ZaT1hHPJEy_}h4- "lwI׮]fꪢ"ɴkATBaA,(z;' H&r_pu9+Hvh4Z$~N:-)J}EUs'an7ߺ44҂1汣YBGMNMQJϓi3 k!o_e5(23361޺ukέ۲#)D\&lSm\B#J(e< ZmT밬P`{HaYqn>A)s#NDb0FF#!#h EVRi}KIRSj1D@UuF6{sQ'a ;\J 6TLÉ Me~خYhICC#ì'Ot}}vA_̳?b76g&qt!ܹcfY3^311ȓ-9x^1&y??91@)cF"G`UKcV>ذEB^ڲyM7zQQba"+NRRƨ@ -◔82`0TT$p#7˥{˓VZ,u@QOOo6 E!KH<%Ҝ 0Q0eee<ݻ$I)PUUu)?SD]gwcrVkQJŋ=\;v8c o  ] " (A D!b\NbCz\&zWGGeυ0BQ@#A@$K"DNnqu]Ѷ5*nuzIĒ|bx:<L3l(Oc2@Ы7xhICC#( Yjkc͑sҊg>ܹcN`695̀UBTU.N@(Fgb_y[D݂ !x|`SO#B b,JU]UչjU{d{.쬗*r~ WF$qiIәHq].L`f NE[rqދws_[/]ɍ88۲dY.j(V7 f0Ϝ~’S~ߟz}$L:V8Ѫ+ZuđQس{O?-"c,ϟ=w#%u׌Zoڴ#Ѩdjkk?}% -M'OHΝ!Jҩ߷!!}umꬼeɩ)9rMQT:Dcǎ#QQy멐BX@SJ}(!m@ߧ;u UJ0bmVTͫf:I0ʢ۪8 >[۴nm&mB !J 18,\%2ʧv~kíOb4uAi$ "w]!쒀.S& B(6@)ͤ3/_ D=nhsw;t:=4<|T*M)aTJz  O}c۶mx]b13ƨʭ"Ģx3\ʒ ]nPXvBIlg?[ y׾p2JR^gDfc>M=3O?c0Uvl||>n y \]}'_5|>EJP_ۿۭ\>³/]>b>WU"ĸ=0͈J)"^kI#`:IT,HԎz۴?iq,FF $Kj=cAVh5sF+|^ -G2hf)^gJ(UZhhhh+i$ "@':K0] jcb+jJVqJR-Bf/D)(U5x'܎D2g?ek_;_nmiYBg Y˯456b yTURJN0U'"K3n_wy3N+sB&AA$Nc /lym5DVo8Y**]!h1Jc1A0R ]5t$xI]vQ@ݍF;iQB,$rC3a8dr$(@+q5i F(*tw!Vl5JT&_ m۶L&#l9H$۷oaUU8ATngFDZ_#J" aQ&,SJJ( ._q$Xzv;_lɺ\&}rBo6ҁGm1#v]S\C}c۱c0 >񱏚L&A|.OMM bn$XW5Pi{`}aI<BH6 H8O`+˲Nknj:s݉ɺ:~{Ԫ D ;>r2#(FF?{l|brj*rǀRWzk'bcAh2b1J"F+\4Qk'C\rs9Q@ANMӎw_S rO#.L,É\( s+l( 'rJ(D4FH"o.D \Uc;P_(Iu?!O!k]μ{2VI{0J)Q(%2V!B$;]8::GV sDn:㓓O=gl"!+X[]8xP"Uh0xͭ$I[Bնs}=n7BR*}oZ&Ξ={?訢(HX xǎeklYeYE) CCãcss+++h,L!OBhxxd}`ly3ӓk/"p3nujO9۷?pо}{[[ZC`y>+'k+¡_d*UAQݮ+UU WZa%ΏfA'9^l:Nw:qWwm:dB8[ Mp<Jd\"SP67444,G2>}O.erA)s K^8x Ɩ֦暚Z"ygU8ߕd* m6RZ1\+< .W%rt[ t:c2x1Ryi!%^תݢ(e1B~ ߾trƚf5c5Nkoox ,H9ŖdYrXCCn7LA!~w8995 GfBR0c.@8RE@F(2<jΜ {!t e9d++}{|eU%.s=azr o0p }}ZkQp;VBT[[kX:;; Eלl2564E9K!*Bـu:̇A)5=\u x6AO|[lnYʢR:44_/]* ES(ge!O>ǭ B獣o L&AZ[;::.^8_>**Z?AMF}"ٟBW@I©LN:o\~=JZq3xc!chvk̠?{ KyBh֋;7<շf([fN,][1D3*e2BIhC4F@4:/ Y b5FkEًBORST]]-_246JwwϞ%*tؠDdǎxZ[.^txpرʕˤ%HI+[ QV(r|&14[o?y*Y\JU^̶v~@nȝ0F6 Q`ԋlA-w.Zel%0*Njt6DI򺌝 GW+$Ͼ}yddN\Q *"Ƙ(CKٵ# @R{Y 444(*}w`g`*%C:B?ʷAZfh0"TEMRh4Nc}>]: #fSW% V)ĤP_zC+Gz<+?WB|!OJ !:EQO>t6ivv6LrSݻGGYs.xw N>6  {8QUlü[Z2o}#$a^墱ofF|uN)ɆJ녪Bd0>{3gUUr#r[DP6ŎF !ETd~yAqФf]CV}޾6 AB4TLN+*-Bp8mioo9-$ ب-enҥdfݍ5444nEHETB-s[k@bB clXu_{{S'r6xҹ ~t8J|!?11vVR:66/UMc@`eeАjȳ`|X෾/~D2 x"cpW(Cápb1ƫW-v!ܳg*EhiSg9mjj*WNBa j[v('ND"Aʁ~! ,/{NsS >V˹?o @Fc-fKlY0Ѱk7XmPU%MfMF+;vljmm;y8_Rf`Uw BH*Z\/_xd*PVżf\pcQ`Q|ޫ:*[u;,h*'bݘ 9h*/A(P M,ois[kMvD&'c iB!1}}3[z{xe`0(JƩH$r &?>94LI IDATzpx{C7#83r("'rVZq74QPJ/z[χ=wSW$8\}ΎrT@>}rPbttLQ k`5J91㟼FH.'e2Pǎ/ !p=F({s?E)f/^jinF9N߿ܳy3ߠp,/e*L!@BеiSY#MLLdqj"$RXW4@(]2cL%$LiUQlǀ&d7b;\~l|>{:>0JAhkk-wBuwuo|1ۻw۶m'OZ !1(H^xiӦNtҥ/xPsScT pNUX({1FGn ]v}xd$OT9A!"1f |6L(חjl< R!tZtu64;,vl7ɡxv.z?>YN$ZT:GK?[}?lۦ nGB,"4>`^oos|!NF:K'&C)$ ;i$ d^rbmU*!HիmwBEQwlommYp%D|>P:95(t&Ɩ/,.Zs#\xi>yt0BBM%*c JI 'O=g!vM jn߾rϚgm!!4<<55e0E[ש @1TއQJ)QZG!Ea!Ͽ+c`1[ ;o[ƺںB%*h2/|" Dtnk0.eK/?^׾>99ю16L]]tQrcwNj=r9r9{v, h m>(q(ɥDOsf9lF)KtNQբHwEH7Q 4;hcLk J镫WCm>ܳ%9*`څ 40QcW@ٟff3!TS[;77[kok3 #Ns<˜P DXDP9yDooBGmMH[[+c5??}>6M=ȎALӗ\={@1Ra]=9(BCI#n- ZA()\p"b XNAQ[wpf >IД?x6:LٕX6RKb?$n{][O{8\sZBFcLB|ey9rˁ@AQDQDx?BPFS]dRbm,7Cxy6r򥱕x*I$ i$ P‰o>5D:)TSeffvy90;7;_{vt;bttL$Wlˁ@:!ZY.T l6o;,K!VYYʶ8(Œ! Ģ.<ò,764 Ff!$[:}.PF1cNA!ٹp$@օZmڝoZʯ[sb Ϟ;G ,R*G"KRKsʋrJYP8ub "*[/xKEl~~y?>thvn?s烁`<O3JY9d;qݡk#&[AD!Nl iԉFL !H/ 56Goms8F#8338L!S O! `6痗M'[[[ޟ@_>󴀅_d2Χ| Ȩ  <1>Lr\r(UY1n8!QqXSe.tYf AjYwuv6k#?>=?=_J^!o#=tu:^+1NgY KKɩxB\T"F |!L&S(AػgϏ~#PBgPI~|l秧w$k hHCC=i$ ggklO?_/Rt9\\z쩫lFҚٵkgydYo׷RN`۝NS>G zpHnƁaABW+eY؀ZY QJsŽ!SX"|Ia ]- I^bp%f @D@yis姤3L|瓧NB(PF՛hŌ>J('R6@6ҒJN<9<P$B՗Mh>܆cD- 1D8._,ƘRJ%DMӱX|jz? *?Qi\)#AUpB dN\XIyd+LI'M6=u"ƙN.ΏiEPzXqwM{{XQJccʱ6+g>IEUҪcBBnpe >7eKӽ ~Q@4Fx ~Ѯ/?33S,cX?}qm(zR:99%`xH$V-d؂S)QX<^+†yPHu3_Kݻc\_tJ2tIjjg\!}+ ]zVR\Q'(ClD"ѢCESh$Ji%RR=V1:\v}dťٹ+W>d>\1JQaE{:^m ^ry1~k2%IbbUzgf^K]6} {\)%rʷ0B!t:N+WCj$ M#ihhT2OGw6>zq48O *o!:n0hhh (SSXO-DDBQה"l@`{{{YO<ZZ}^ߥK}Q+Th6b0|@*X F2,ԸggxǎmԲ@ ף3TZp?\{G-wDp' ='&'ED%rgXr$ڬ֝;kljTU5/.-MOό] ÄbCywPo{ inw;ǬTN騷 *P12ŮF >ջ{sNC'#sѹh"SP mxclbbb^o"`qΎAt:2*bSSSF>xo]X1QUE9}̯_}UEM#ihhBH2~vrrr)~vFtz54?yӟ2==ĭt: :㾾-p8e}>,G>uGB޷zB#m Ņɩɭ}}GUե%wWƘuwuu(P@,8Ba(̻{1F)UURL֠m6+BHUx< 2͚!2뫭-d|bJ!Z \X,*Mq%Ir\JY<Ջa64$J.>JSO=i40:kjڶu띛+emX[8z־><==zh44[,P>u8-腐_Z' ]'\5ÄBn0w-zlrxpoPJ` 4y;q "Ic>W__XL8)Ǝc 0RDB(-&ӽ>ZE#bYH"'H'c~NQ@Z:w[}VUBo^\"@4TJ@ˁ@<l ##U:ŗ ju~kmIϝ;أ켯Kh+XEQ˄ҲdY}a ¨l\DHwGCsQ\gnz[Nwg~~zrChNjJa,--92Fd)XK;r9!D\.?9=}ݻvnh|^tP6bF#7 EpoOɓ,KcA>WWzlD"KKKR`Bt'M۪)6ebgU_O|~Sg |.}}>omm,Y/LNNƪ0,C?e!r h2$¿dðV0wg^4Tq,"#FP/ hS'H%dP`t>fCl6חB0==S{WKK$Ilf\]; 4H~P:;ΝRerr*I$RPhllWJvEQL;v߿qohICCcb|"]\$`Ŀ-RXpMMmp$nt!T\='\.ZltM"x<659uchhvnj D۶;'m۶7x#QJyvڽ1VZ[{z6#ሹmll18H)B`:VG#qonhffҒB ­[cBg3B84'kkjp|EU'Ν7b823;smMͳ{v~;b#ȟIgD:тHi$ eR}B؃V QYXezy7PvY!X,>9====355^{׮c_YYEp8hFx \w ''&Zm6ۅK9HnEӥUeR  EpѪ,+!*mʛØLƃ|_-?+wA۶߿lZ[!(oy4~GvK*CE}hJ'ݑb啕jBph[F0$ HA'ysKeeՉN]sRr B/Z,D"3vwş jlhzp_b>,Rrrc۷ݿѣo'In ?gy橉GN$o [CCC_ M#ihhl0<]gbbr(S\.g U_`s$C#XlvfVUCCPBP[[<0xA47lꚝ)1(5 B㓓*Nu|+BGG{_mm\fJI6GkWkKVmS)k6/}7{ի֓aD" !/J.WLܪill,An#ٸ:~"6ʿ#$(-Ey^ A, b?t(R듡ח ‰GvW!4L~f}\O#h0'&:Mׂڵ{ja, ~>BIã\| ~X.,,]|V˯lĔhhhh| hICCcﹹUYPq\6(7T &-uuuAIraJAr!d4{{6޸qDQ8tYP{+MNL͛~KlVqCzb2L&3;7*J@T]ZsՌ#J5H$yl##/e1V`?KR555:;>zU)pg͛K煒$w__phzzP(lW!, ۺA#WA ۼ0x` %rKŤmGWWBiPBnF!tKu8?Q?~‹X?~~U#c/l6Dn1z=5eYf ͦ-[JRB /^d&c,J(Tq^`544=i$ 7r$?#RV^r9E)ɢHPkKTgZ(&&&UU,,,wm4@pe1 IDATAYx,nL3nv/2999;;ڪuhxd=QKsScS@퓩K GZfc>_0Fܙ3>P_!ۺua~XD)c{NtnnnfffVuswލ1qΎ o6ُ&ŧhr#P>#BU@Eᙧr]<Ԅ1D"џaUcm6O?P%Ň OLYQ1"n7R<B wL,xTkT0eoO˪]D3Ǯ,L.c +L^5NP__ AaKK󖞞T:2g^!ܴͣoJ)XxdYd2jFD}oi_g5X^0FFGm<+ Ƞu cAGZAHPx_)rB0=3TE9w|4Z=11yAA@~P#ޫX%t"4wzͣ $iٶme(㢁`ܦ,QJ.!FWUf AAgڷw$I|Al6w~p8L Z-yY/_rڵ񉩩h4Z%6!D^*lQYg5IɬV!:aoO݇w7lfJ42^N,R鞼DcmAe9f.*o=Ev#)efvt~[N. <:wMM^$^V7[ell|bMF#j3 U2Z%f P.42E zMpT *)(DQoXߑ=?PШ@Hx<3L|uH!JjoH2^WeIO;ˣ`0JUŊ.VWa{[tN:Q#( nSgsì3Ĺ`KóH&Ϧ el}v@'W^Â_.?ܘN׋+ m۶n?TS< ˲jDQ'Z[._r…t:uˇʨzQԔxt2,(qqrfte;-:N {*D52PPJi1/ rrh!E @elLzlzɤuD1B `2ZPh*[ZJGcɼ444444> Hd2E)-jms6lr!g3BQrPJUU9uO=[׏/..:N8+?Y(em_G7&1ʦ&'֖fvʕV07+(Lvtt*ڜRJ kY]}@e1'G?}t:vNR( _(sFt?}_VVBd䧦FUFYew#F %*Bxc-:*)3|.$@eSټa u2m6Yǯ-L!SnMwg0Bn _r1sJyh4ۻgsGG~g-:fs:m&Q' Sw W/r&Nw :<2266pUBolz\VM˂i4E!P2K#$+ FjFjFbzѤzѨ:ld b0F vp:G#KщX,UM ihhp4, ſ01E)\QJkWEF SWtAEa:rx"r FqnnaKo/X{W%(3AooSnzp8<>>ohr>KC##yqXe,g;x c*!L[{LFUJt_BT\QJ01FB"Dꮽ85ŷ@$Tk~@4d!ȝٱ!|D l#0[,--͔^~woBm[~C/,4q˖^ABKc;b2$i־.YpO¶֑P8_1^ʀm\&M&.RDU'Ǹ F HؤUk7zM^ޝKG~CTxbS ó++WWF^oƿ;4M2IQE̬q B9SUՑ1Z!*(!Tرw>3 [,ťX,v0;]޺m1 ܋(>P9b4wf* q휣7/zXAAuڏ! ZUL&319տ sc(yF)@X)(|.RJUF:` !|B9j1\&^ $$< H' &ql~AQɅۗ.J)!JF C@|G>_t 춅E$I>7):Wf2Ɣh鼫yͣGzR#z_" 1iՕ=tPK& 1  Ieu.ikAʸ:2Wh6OByKW@fȲ;_LNYfkj)ͫ*eVq;4eQx6nDt:+(\~||re!P_SO=)!q3 _ݻw_lkk+0܋MUk׮GQ߳{*\.(Yckqs[/bC]v}=#&W_ŗ^ U)0zs(eT OUqoq߫CUDuB&zx!J tC^l1ys/rlh '{Bt8xڮ#μo s"<,y}^밫]?{֖eY,dK4y3199>~aeu%"E&LVQR,!BHg!!!4@]6}(.G0qYvk4qX.G({#GW.,VQۗC0 MZ{F=3haq1ͮywE #hbu:IB#ɊdAMbpTѮ.]z񥗏=rٹ\>=O@+ps+RKsEȨ\V˦sYNeӳb9tZrmޕo8$) rlz%O%3%A:,fP:Es'O0^I|0JEZI  (5VwtOɪF***GH***5}2"SJqM ,kٮn$9wna:::ښNW__/ˢp7<4˯b1фXHQlF"SJ |mkrEQ wX]Ts;lvqi+5 ,{sy!D pثR8"zW&Y,fEQL3h$ es9BQB/s$!W"!;:o80L^)P+p;FZ\FU\ er0 fْl[ j >:SFF|ՖpWf[(c8RW ťFbvRJ3K:3;q8zUllPQ.O"΋ ! Bh5j6}mI[gԙVFqA +(*+w}d"SYR($ tLmw4wݷewsLv:- 3ӡդ()LS w4~YxdJU#t `8^0yVgc*|ExÇwww;n6yr!4cdz?x!, bbW_j9لE\20n`0tBgff%W\iqVZ5hBhz{zjl^z؛\(!̞^c@0_.?" (]ky% .Ǵ'8Md1!fh{\O ǞPsyoFw^JyYֱ7ߊF`wg~zQEQЕ3_akgԙlvxcc^oOѳY\mKshAlZZGv9R"˒_[oekPB)a#R; /)Wv WE0ws`ZnwC}_GW.-b DulFcX"X,;*k7H$!,JS  ܈㸇|W/B:Ƙ Bp䩾G~Ν=7iŕGfv J$*2E;$ kzjk5: Z rEe5L)W % * # m&ۦotlF ! `%c@NQ+(86] 5|ήfo_ }>zg׎67_Y g䫦~Q@R&/H***BH***JiP`٠d岿@p[۰M֖j7y^( _1rsB^8y=Idt-ٰ,˧{7 흝KQg)\kutW,㸦TITGg`+"rP8?~ر7_X"EդJH 0ԦVVlLtC01}g˦ roBIee >? Gn;UK7~?v<X,3?db BA_Ot,B>ߟ~KzX, Q[5bFQ@'Q2H ViWs1^s0j$ʬ3l2[b^)5UiuHPxp}VUyr/NJEI ,}<_"><?w5:`6M졊 P5-\lԆ0RFZs^fSKs3`.XVO+ g>}0FB?}_.)Q2SQd̙EFH8J J͔!&j xxo4&<=*Fs ǎPyNEQ&?cg}Fmqfp)gO[c^6ↁ1ew؟8Q_g?~>t~||; kF0LFz3;fsl\UzCWjZ h*+REQl+ <.;[t;F6 J$,b ы p2ϒ>U\N/4goTRN:o4{YC)dri)/#?߼!qbK! P"Bf0G>vgpf5flIV"tcL&c]]],c/jO/ݮ7x3J՞7=jjySJ'ai"Y/tQֺ̚:M!(IJQT@,?Oy+h Das7=o65L +͗J)X~kW>C\eo$?{?s?^9퉧[YJU#%|OWvkzS%tmm~'B㙝_Xz}X,JUt'7?L&??D ,ҫ> gI͖n칾5QSrEib%Nٱ@$V#>wWe3tGJ QS!$xoÎo*Y`A# %y)ei9ZUhm̈́T2) 3,wD}lt:^߳{f{?n&3gff{NZ#5f"W!BȔy jpdn.ch9q995X WB_4墩< ;Fv8|N-*VlkP R9}pGk+,db)'w}n߿6N$j$[!J<`q'P#h4dl6xfʙ@-3kgG~ˬRdCM=P"l.3;~x}NP_oss sA={طJ"!^~AYEQ.NLL,y<@0E†Rpٹ\8E.z Ba0RZl B !Tn>.:,HP6FHͤh2hyCO0i/Gsl+OBH<$:0l$CQ;xF#po4EIpb,+\˿0Sb=" :U#:ƐRɋL(-dSF-.chqt6fVBǼsj8&2%/ڈf@ .\:2=uo~?] ?s)E|SB_joBd }_~rG:d|hJMRQQ4FRQQ%( 5qd2!RtE8٢鮈6$q[[36`G "j6'&.2*R{zBCC&itlG{;KAOU4BsXPJK҅ wŎ(255](HVPKK?|0N;.,,bd*U:}Y]1׈Uazm!Ba0,O٢:ZCn8~/pf$2%!Ca69{zR0yj2'%I\%߮9h4v`:YX\ GI$NwCH$ST֖l6 ko͊%I*J@mpkۨ EIa3p)QQj4quu6FY/\$YXN.ǣb*[JĢz8~?:.9saRr @AO94P/+?{!zU j6Bi$_Xp6[}BBh&/y6}ާe5)TrKP%VYCt>!h4\Yj " #[^cO>(CP+H@e `4n;|g|qF9|б7^O%қ EKՍRebrP(Ը)@Юt:_~wVW%T*$DHQQ%jP' f#$t%ߵj8Cj>9mn"O^ qvuG 6f$+'/ޛ2;¨A_C2Aa6=y{=r,_ߕʉԙP}E$B飩"2|b{iO>vn5߲2IEE@) x;(lu\:>#IGқ!7ƫӞ(Ru6#RөԦ )KKK`vFQSSc(9։T7A048302hyAhv8Gs)<Sh snL,^uJJJ{}n3S_3i@Z@gO˿{t@^I-* ZJ쨟&@θUlU#(|.#!60.Ke35A[VIlMȲ( oIrh %B$BĤaF;gf(%bm}OEEQ@J&% Zzf}z.?sf! N< H#E!Xfeo\0Bh۔+Jp%0nhv6^^b .^ZEo++χ!Ւ%IzWڃ|^011׿`E.BNqB-QATCI&Cn6 uMt^\7+Hl?6`: h2Wo6ؠrf*ȔjO`9nɣ]o6sf*/IW2L^zKK?6/(X>Ƿ %Q%ol)*JIEEeSIEEVQPUB44c`mL`0Z (Z0Lv?111V?~OKĆ*Hb=9a(HdfvСzN#Gn{뭷EQ8B848ҚLYRyx9dGuMwu l6{W=@HEƘ@!mفU"[ʫ9(PMM\Qʓ"pѬpX@,W]s1522zse`rrfC!ϿYm 4xjx 3%Ia_V6^`R0=O,i?H)PM^8X=R Ф<`kb,R#o_\j+Qo1h˧)3\j$[4c_[b4Bc,rrxdpijj+W\NQx,.J"ljv(D`\G);i5 q,kjrB$!B80Tvyӟ^D"Ձ,ˋKK,UUrwr0'^/ӫLIRn22a,\r"bXfvy.^bRe Lzb@hMVh lj7ܦ^!t5}}R O-ҁx(lj arcCl}{[ZlrBh4U[sn[y/ y#.)UlU#(\U;n0Rt*jF\ 9\MJ.WJ(nbBqOT8q:(r/U]`IUT2yDoO/ :?}(Q Y,__9<((\n~a⥉K&^o`4HM9ԱV)-) d"ʄP+pݝ}=&jX(~G+H̔yQVuBl â#+e? 9=v[jThA(hӑɋjb=-HLz[mg****FRQQUPJD04!PoK<{va`^hDiyfaá"ˊ$38+fYQ΍=#设7B)0O5 /;?55Fr\.k2WSj ACNEiqRb Tv"of#ozBTNmٳ:~dScc_ 7yWZ9{nRGsŷfAE%˕$E!Y!,wl<4Ph6d2:>;3k͆OM3yT~1kfdrݟgn6֘mʍ~]Y<Qh⺹B޽- l8\/,+`AiZfExK UTTj$[H"l$+q}Ta'0J)Rm؊C H8'^7 #|!4C-SO=8ɼϿb_믿G'̔RR(˳(WAy@2]&B4J૽UH+]Ms38sWc1zQJcfkin G"33'Owܹ i!^$ ܷ#MVO{[MdJLmA rqaљ N DrE)˽;ܔH#]\Mp&aj$*u #VƠE>.Ub] -̥/U#Bꪢ(n`B7BnJ)nrB!H$ l_R2/q,SaCH\*Jb>_x񙙙l6;;@jL/ߔVGqfy)TCgËjyaEW9cTgF&1_0B!#7MC-NjxP$k.&P#!Fj!r9VF)M$!Q^{v& b&Nĉe ]c94hF(ϝ]0ysikdKB~xI!7>1[cTGWwv9>vWN"ٕP&,sLaYVowss'F|lIR߳gըerXP0aCsJ2}z[QO-wM".u_Vt*DB P#)kQJY"00Wuƫ.ps0B2! h@hsbUh0Vc[geZ g~tf|4-v3!Ƹ鰧әٹ,Bh:xyddo/ P}/S'aCCÅ^~.\d2wlޫkx t1ق4| IDATdz;,:Myh~NQ"SEp,U|HGo-Ͽ7{zѕ|[ccgWy5;McOը! QW|),W.X.;,Zw~n 7_$ %Ia{eNinZ\FzۛeMo| ]?BYkЭ[ !tZÝv,-.jbScUTTMj$[(++Pf%{ (J)͡`GFvtj\HMv=w?(<^"zeǻMӲ(rيVBV֗ucz[ AEIzi-6}(BCP'pVe59 AYroh: 5Se3n1j9H<48pwٟW?! ?hoo|5Of2a(h4L$1e5pibP-}E-@<:#` PQ7ڭNcou>Vp4]2˱PF Rmwjy)aX_g0U'F(o%ىLS i4 #Ji$Y|"DZH2****FRQQB< ۷wܹٹ}{={N[(W[j׹. y:96H z |>_ ,JWŧ)FvJ)ظnMǑͤe~Ϭf6 Rg5jv8p4\$g b =IcD==˞ѳlwmiiB| >LU  >OonP(6ñF!!J)=yՕUAB&˦xĤ 4.1G ;-mf(IO|z%1$(_ѹslv==Ȅ㙷ݱ'v>ysq߻ MP:Q#r,׻ @a J`џyGNE׍ @Z\SYR] e@zv5(IEEB^Oef{.\Ty;xs~oeeQ9دv㸾~Z}/NfE^@ l'L#lVuBʷ75q$KXM_ gp(u&-K 5e/St4]FT$*7ʵ|=rDPB$QZJVӭ采s}z=ܭh S6͠&H+3`0Tmm!Uo:֤ Q.(\Apk u v;͍(ҥ&ˉEj% Į=@)(`4Ux꾾{v7כ}wwC{l]ݎIOl8_orn-Hʉ7i˾e‰۶"r[@X K4@+,RK5,ZTr d2YWW!t:^7 tw}⋒(V^H6Gh O|!T);ʹsĄ,˕נ,rR#J RSn)b7a!|Uӵk @+p(h8=5. ƨ|s?MO/SgCx!*wlEQqzr!Xc] 1 s\&鮽Ȯ6 BH(y:w PJWVW7rrt|}^P 1LARAmfkPgf LThf5‰Bq5kEQ^I|K2jv!pxoɦ"L^,Q/bꮊ?;FRQQ̄aՆsvwu+ؿyq~\nGFlBf``go;|yY](H8JIl\3q %"K"0!1D45FLfQ@*ʞJ".t@F@1P>ˬ `qsrXmgf/=1|j"0>-ʚf Rݐɋ\TFŘâkqV#n6+Ph<]p5+P5-gfvwwua,h5}<1bh4~YDVp:#%J^tiٳYYI3,/$%0eVp0"(7TGB0D! LE!;,Ӫ43I1B2Bì^_2lka߷yEQ^˱Wh4p9|ǿտ*5BLny%oe5Bj8 *.ϡ[d1jB}Gg,F#ړҼ/(dkYJHG0'x$[\Of>cf596~cSKrHs'M \N A6L~;n JA<]<|/Onо>W$/R6&,KsPQQQYU#rs{vr8!ӱ  ȊgIc8 |}Q'N~vj̘-ۈqP"^O6aDx=* Fs&/rm6_4fb#l N~ם#MLGK+L}[Z94 /++UVew`tBٙNX>JlVBH' !A M:mkWӽ{]FYH}oџ |kl'7Ή3>i~䎮O,~~ᱡXϜ] vY5Hė[EQ!UW™tS_ g/|^8^dp찿yn5, wڽ?WÕʿ>mlL5ʿnDIu6kOwvvVt`竂a|9Riiy9Yf2QB !2x6T>K`ss1'`gCW a1BPNب톂49 D % e:jԔ$eNvnng"SzҳFbBㅮIfӑnxcF /,r޵{hhG?f0F AEIL3^780 >`St!P5s`]!d5=vnLK'CD^[LlFٛ0cIy.A-ҧ'C{\V&aG[J(֘;EE:*t;ƋK1cd7vutt=w%Y9DQ|v/zaϤ3\\,?N~&xjAhf` NΤEy9z~O<2X޽sěcޕP$)JѰɋc{{]{L*ɪ Tb2ӡà `lh7t9 ".-{z:-+6?=@,tNr7#ȯǏt:gޞS*TTj$IPJu:mq!OLL \N܀1yjBK)(T"ED),Z'q ek4ݻw=s}{;;;8fs,oW51@#`I6A79 hiAK"1yQ" F6a4&P(+̻㾷|3d >6T*g2dhll4K۽Ύť&`P8s Pμiaњ AkxL)EslIVHøyn݇(o]x{̻HJ2!ۺ\AFs֞fK MuÇGӅkۚʉ+j86l=:瞞1HHHJDmYɲe=x=]g[TdI($ r$`rι+ݻ0bg@"p֭ ^0` Kue*!UF24e%ve,sJF`@B5 o !)q?cyp0 )wwtjhh|YIG8qt{ժNojlP~B|۶\F(&G{Um@X!T>Ӟhct,c,8{uk{L&yc2&:Vy-i)$keO m6f+pi8>ME\idLAEџ/zK_,q~U{Wz{ݙ/T ^}_bk#e44&DVI*/,FYnr6T\t^<4 G`+z&"y:7 #)>)w( EqJƎ zf}>G/&&S`f"KdfQ泛uLZ$e2wZu[!4/ͷׁ (_WH7jPpa8&ɿWs ZICCv"{ J[z\)qiPUW[cǎ˗.E"BAD]K3>t,\Bys/}'NOL^J'P$K2;ju:^0AThi BRut׺b7}P XO,'Jyl6f%IF#3BH /.qٟ*<x',cL#T6omhNjbCW MDrL+2@P0Kbn G)UuJ'{‹`7ܺo _=9VSf>>vOGU:/N$%Syow\:/T9pۋ&SԤJJim:~%{GٹIB#+w6w~@hc\DE!dcz sZ !0U %mah*'%a,w^:ThhhhICC#cF_{},0 lrɓv玵kt:izm'Oܿu1+-#L !!/////(JMB}5K>o˖́gss ]4wԺ`<!AFCR6֮rroMg"XD[}a0~鮮~;N5k% *S|(aB &vS޵un=KSxS=ɢ\`IЄQV޹صɝWg # H0/1 L2W>CCXToxk?Rb OfJǺ C,'NDr_w'O?Q;hmh~壣,'J8Otݓk}а wB@:/qfpM5]G\\5PײŻ !|ıD(+xFRs'@,{nBHj(7/NEQ6GΜ9{;(R>70?001Ʋ؏.WocL&''/]-+TJQ+%HѳBpNLT]t,e20N~Ec޶ b8 %9YƲw량{eu9NeՇ̆b \R˞E%6pVIW1*_d ,Zܹr*B7L=9DIEHrN}7xD(@sEw"ZTR~šxxԲcQAR t~(PnovOJ?b3$yI>Kml}Z!=EIY sE%کZW{h& OFrOWٮU#I=K9,"xa(CblK44zv5MBQuo*Qk3醧3Ͼ=×:7?Jj&EZu_>ڱt:^ Kg[,6ּQBHUU%Bh||bfHt><00:-qV4zƨ.Snj  e'_njQFuu.^^9㑀 ÊQ7[3f"LL&;d܉g+=s IDATbWM!BC:wDnՖm5.ۼVw{]o~fh",H2\zL׭C?ܶLRc:/\t+Μ}wlla](lc >}A/-F֨Fc7tt:''ttRgMiu-.J ƞ~k{{. <(,I)^]1/N$7=nOw:}'~B`wJ )Bbs颤Lg>1g jM^(J8zY!I+6.)br`UO]_ޞ3<=I%<8sZucxC.\Lr4N{ǓP6EYy"MfJӅ2UCC M#ihhܖBQ4m,"t:]eek^5EjD577  h)w7k46y f4R<я'$Qv0,/l(7ͥuj2t:' ;=ʉsщH.0 (( :zt uϚJM!axL_(~^Rvw[,f.X0^[:zY2&EPc3[VVFSг}_'MlxAe 5>WvTZMTo8;h60VxReu+y^ WskKIKhzK@׺`BQ 'ӀR+M㣃BE)!RP8ҙ̕%5Rm My&Ec)q"SLEQR])bdZWJ\WiB!y^rWC /87aR]*Zp %%! IFZ %,'~\[x/Zq(o4׻\N˲k׬. Ǐtuj4ow/\#zbGknnRB~A2Ý a0sxBp[[eg9{4e$ӽxm3$/)cJQ@(Jv}8RQĜ sE `20Uεͥ*m2Qn/>|18Y0k)d}KiZ'EcҳYjd:{Jh(Kl"S{UőKӒ,^w@[G, $ G= +J*zKkk@}>M==j 㩭 `jˣ[ EQ4Mwo7V$~3o}P((2@21Y+*K353GĎBQ36enӺo\4x`B")n<8QZ޴1^LfUZJFNy!KYN$Qsu@Ûj6zv]VOO u)NY Bz7n_ꝌuO _u&ǒ㉾TDj2+uYSQ_n'y<f1.wX{ /(4_\\&O OF 5F= /J4yƶg<#pSMKo^AgBPRʟ$%:!u !$d l[k$C!h588;9o,ZBq|JVhx<0E1j2Ռ;^oCCc" i$\EtO=wR5NW^$*E;D'B5Om BٙپN\ Ey"s0cqˍkehMl+ʢL6}몾Pw6ojՕJV Lve?~tOP'v4~v[å8?db EBQrb"[ % h(Vܵ:+3e}|B.sd}ɹ,8UNFb2n4 :M5G/E ]VU,'&sT.:! 6b ©"*Wse)}T7OnOgNMT/ƀPgm&StDИ444nf=]}z2 tAP))Z@l64E_^ QnV !DӴ^ooo;O~ ݡ Bʫ{OBȲ(e@+'Ɔ٪GtQծoB!Bmjr:7&`QQWuV߳gK!1L&DQY9N~yCj؅K!X~ю{/^&N`"+oUx@Q/a(,FZ6p0MFfw?o>u~;K#(c(g9)Sb$O FO_~:goTNk=XAVjʌLg [ $rn+u&+\fOR]Bk}C`ߎfdo>1ʅSj " ?zsG MEJIK25,|ݡ\ƾme/%BF3 (*GVvtYO֝鏼|tt}y6hhh I! x_` dLWeg!C[wǞWx睩ɩx"(7R2MOyyن6yg]]+gO:-2 E<@@ }@2iĚL&Y^!f#S0VW7y66CaLɬbh>O' 4 j{1vjso²L_R:gGKvV=CS9N*rU%+̎1"mf]]MPSt0|$ϋF;yܦgkxxxhhxr*cX6 '5E!eMFbv8nUUU~f}.BH"pcǏ;E`E"W"}d"6#PC&e(yEZltx` EY`ps7>hCQ'{B[ʏ\{64V5 Ғ%Yq6e/jɓZv5,TodKN Ƅ`0?=ŝ\qdvW*'4뙶W2[tYF" N&E K,(+ubbνabdwXXXHb!y+EQШc\QZ"hhhi$ [H4Ϳvj)``!Y/ww?󞻍׌ZiJύ6o[o=88DQT"aEUG D>V 7 o3^QR>ևtչ׷zj\^m <ݑD $9MȝәćI掲rI-*w٢I!,CQHQPb?3;wwOSpvPĚL1!EQ9iq}fK=&`ёL^+5g"?x7|e,1$hh.=p~jkE! LdMPR[:˷~zDO(;ALz<LQj/Mg#=ckhhh̠i$ [H ݋IwCLOO?g\N'MQ,gٷ>‹/LV% VdȋA !D:XDEDƘIϬnl*_q(88~H(YRQT/;a ܦ;'nD8Vy'{,Qܛ;(,cMO-8Փc4sm#7o MҢ<8 LFr<._ XZXxhx+Ll$9=ڹbYC22bL.QO߿j*+ǎ\BBw>rmsO_yԸ<0QĎƵ͞w.8Fи\XQ~򳑑o~U!WD xyS3L悈~"j[Z`ueމ)Q/14;5>"ɘ[fCQh[w<9ĦO9N 'jl˯(x2SH\I")>(_h12KH;*]6dಂ{ƒNcv^B]cr| Z._i&ڊ ")Zk}򉞐EƇtۦgT[!гƒM*K-zEґ ҖjP0˜ 7?=5bd7wӋ%6C*W\dfSMXl Fҥ@,I.^U'vBs!IͪACCc)hICCc ƸX,9zwWZ΍---~yǣ+E9wy. Q %#((DQ:RQw,#h(+ɊmZk7F6 FG3ɤڴGm`zuEAELY^81u9,H0,Lzaq [SqLM _u{k!0:\L#H8PnyYyo`*ո։HvXwv|쮺K#D<ëm|Yn+ko{[kG{^2B8՞+X [A!EADu.fbe(rbQT :jt׺VT9m^ӢDXr0 f-5Zt AOOsut&/0ͺ `l4!`8ў+Y IDATh20zṆ # k ~`$uϸK͝eFgaBxA}tk{MwT|_ZDDIJ8iCwugsGY 3`6n !P0_K3(XE^呚Y("t;ƎGBE09NJB *) :ڹs\6Y$rWBcpex^1&ԼPSCMs>:⡡'-K@Qז f80Z0YC4( :f22vcRߗt7U8‰B9!ry4gxPf{ W8]LNDTX\1Wy-z(JuObhn`l( l( S'/Bk#+g&F * Q򥵥C0^5~oVZMV;oDi$ HWB r<'!o?c Ey~٩Ȋ$aEZ,|(fn\nEW6A3!U+3Z+[k<~a֙LNOzǓL1+޺\0&J* ~Whi jn%M|, d"o3ˤcJE] !0ݬ몛-U-]eV{7,̩}RP"[gMO^\x*ݗ߱|"]U0tf<5fi"ɘBQ^k5>۾SYN\znꃭgR<'|piZ jl̩( \S`[YNԬ444444n3 DXYzBBT.ھ?,˻?SȒeyGRh6A\&He4ƄdhDSֵ|Sm(ģ^,X1!6j4Lw~x_We3vjq}w0%UO->w04ھ_[f_V#Zz?2ozRc%6=k**$'UPlǪ_:G O~ls݅oׁ sR5c{7& ) wͺ5MGGREQee($+\ &s-Yml*MOģi$ !Eb"aEޞ(+"Mt:/~+=,+b BD1,>߳FHSc7 P<@(u e`Ύ-e> 1ċñCg"(xguK +x8=?oͥ%zcy^Zd4uD T:N :_~<}6,,*TZWo{UO!Np/BZzhc C#I}|މ߷be}u Jt_a]0@ɍn/BcYQ8:[_?=XH |ltS{Ykg<ƙ" էzWƒm y 4444BUJMcBBe(A؉> IHXYP !?|6Q˪XE!4q8 Yf9-2ﺖR(8S#t^P>|W5DLj ]/Dhhb}nlt#͕x<ۦwZEERw{4}7Zݗ Ė.[J&S9 aݠ`2ώ@MznAb8#20V0ԝɹa"LWrZto}d4/c1[:˹@T/m^LEo;ɋCV[(JssܿOUML4o BH;"B PUU _ڽ;+, Dc(fBF:l`t,@,!tZnĮZk-URdx<J]w&r(+D`Xd0Xfie(F:B2"` xQ.R(sE)_+jBBjCV^>?ݱ5=vr8wTGw|md,VH3:=WN:LkK=oMs#5DJ*tel: t zԦZzƒK4ИM#ihh| 5 Vy'!f X$\&KBZoQgj}jWsc)sJt މd$7/Bu;˝eк5͞hrKĮH]dA^ Lm3ԕٶv?A0'OFDQ!M@z";7mqZ_ui$qB`F$(›g'XbYI˽qvr+@}bG+'utG{2g ӳݬKPrErҷޝ_# +w"'v4է;}_o0V%gsPQuO?3-7q| 2ݬ))X4Vx̋k$ˠmoX޹EHT @rBDQ4DG?!\+wZtBY4/e1!D1&B!X^bsw54W:\VIu4'Ƚɗw%bi>[(J7ӶJ{lfݛg'Yں<~s`<e5%$2t^ΌLge og;G.'"9Qm3ߘLg|P2Y@t*!ͳS=x>xC}aGc9B>Ԟaa׺$G"+Bt115MWB鼰ԏ_{O5pa(vS3؇7ծo)ᑳ y^Mz«͞Q|aGƒH-=BCCCc!4"D1:E|.JW\GlTzz&DSx$ɘB 4|͞u-ަ ,P(wO\Kd9Q=10MT#X= ~=k*s>7vFLI,Ϳvjl`@e S=G&R@K$( y"$9QRfGm'ԍR,]e5t)ˉBuU:FU%z tq! R4^:Ӌ_ ?~ʗ[wOWO8èhj0#ә(Ƙyvr]wCF0ˉOO L:BРyUcͅPVIPCCM#ihh|bBFEE yM>/P Vyi,- C!FY]-u%N$O\ jim͝0a].s[:^SzGxIV׺v(0 oٵg,WBy^T"H($wuO~s{4ՇB W7<Bٹ7WƚG]!][H>#t, ׵N$":c'+~ֻT쵞KBQ^n;KͰsmU/odq0!X?ئv_ta(vi$>Ӡ:7U5>w??: 444@4'(! +2f͘thH5FNnA$BQR(&֠:^srD ҽwD٢[B!`ig+vGmlm_ݗ/)=Z'b48I-rU/Z#{#ɜP(J++AO5䎿{r3oN3f!1Tc/ Y zk875=@GSk<(d"S TN eG~{g"U5q⋇EK;kOF^916LydZ!%ڡ!e(u-Vx.'ԛ:lAzBH~hUm7ˣYCCCcM#ihha!;$^G XȘT$>!f#il[-NYW(\o{)w7]X$Ve)5vk\;qnni7qw8cKRDTH;wl:3!1+H"E~?Ç.{{:cݑ=n6bd^o-KgVm;<U޳lw}48x~{U߼nÑt\)0D`{k/y3[{Em-GmN?LU;64Ք|[D$QwWEs^]7zG:}cHz鬪s.F<ݫ#ԇ=%0p@k8>6L1/,).s^{cX ~p53tÐmQ%+SFóvLـi6}WBU.t  !l"]eIB%VwV*K]UޖڒꀻX6 G=ΡXP<˼%SɒXo]rCnY>༟|+{OuFnfȺmεM?r_r4k.3_=ydtwRU&rrEMOe ټfNltۮ*î۩&ӅHX]T+bN{-[5{h`@6sO&:"K>mR20DQ3X)I^XVm5VzTXbgXHw43 pa 洫n9ԧZ ݓ5d+|'RU^2rns`L^k wy !Rsj,}x5uwF=*IHV6i k=g IB/>zC#& Y*-%G\1DglR7zh2B?Y`,q)= %o[pìBQeP89J>eWv0|Qd>ˌӡxqn,Is.o^33p#Օ[!Im+9eI! C䋚YB4=)eI%EJiU_sSse^b(IƒX&8 DẕKW‡fﴫ}c75Tze>%IQ$Pi7U*D3t'26)O^V$S]6Cb^]nd`07\j|vf4;cɜyeF4m%Y*=mrO]z#z`,MƓtx)̞!!ҥ~H4ўدB/{^-%$Ia(P,eF+ΆJՋ{8`ӷRƽCë>MUUN+3;bn6xv29f]r`dp,Gs]T^hԀ$ iakD̵h}gӥ&U7pIuǑ=IFY0r| Tza'w7̖ށ`rY&5:mʼn)wY3MGZԑ\̫^Y.%!y]` 2x(\zmo+X6lfCinSeUm\ޑāp8uy|g2S|A y;fp/r:9rLUjߍkWΫi 쉘0";ʂ9kSB$҅{//X:gZ`弚k}殍o bM;c 3V6߶>v3׻nnMego'w/h&wuFAW̫柬ް/~xA9\]7޻@w;5WeI:>6bLoYv=bQ2dnS|]K>wHl.re; h*$0Y|n{iWsV!h4k'VdٮbWM8mӪ}m~s]SMHE0ZHp_d4swQ IDATYZmk.|vH1T,5/g1#|fW=ў9+ %,_tPdFEQ3ڳH0v3w/{8B׍|ۏNNx ZL/drpz4dzT>-=EmKfT6VyeIt#- GұdN *{]HzǑGڹ猩\w>zރӶJ%%wו{V-ܹa=rؔ|t7IH,$!ܶ;6޹Twvho4Oӹ$_DsY$me o[p҆pSƗ#iW.:mkm۩v Y^=qٖͮmI}[}[z:b$̳|N۩„"f5o)?mF:ܦC[u2WlvSuؕx&HBd Z2]$rch4?SyM7~``uR[[$I'ww O{/I>9{:CxcwYn][0>/j[Z;gFg2&;$#nS8K;ǃLT]r??|M}.[T[8bfCp$ܳ#h;qo$éoyyP9oͦas 8p2Kd1 C>jNL1;f+CdZ<%OO.y]Ǿ|n{QU*sWjIƓx*=G\^[9D:oSm~g6_,jI2Sy.?VYM-)n7/zLA ]B|B[o_WUzǬ'_%Ix\MOYS CE^ׄټ6 "S ! O<ɴ$aWJMk̨<7;bҎæ,Y/j]Cq)=iվ̤K4@0uwNA_;jXX3bܶCJ*}k[6Eٱ@09MGTPtYW ~l}&f b`B^㲕%c_~m{~Ps- ?8-hzc=]h"[w8l*hzekQ[a0?þ*E4YdI:g."NF'^hap8MfO.H/vﺹu1I&4l,KRQCa>B/p $ ]]19jaΐƮGF kvV_Zw82Ho]\I穝lj\檊ag9tv(ı\8ݴoxR?WpWx=ka膢H^GMR[RU涫$I7/aVUPs(6Lx6Lhv]w92*\MUd0F"mFƢ5t0'^hoEGw⑑\Bn'ss,yښ$ M8mnjs}n۱?vsNxRr9ԢGp<eECL(>̽fSW8uؕnj}hFQ->fLı`v|q,7O ϣPοlvivhtoW+\NjR#H4 Chg?~x#vpb"厪2u3*eYMu/r'޷b|^؃NnG/xuh$}@"Iu7:C]1V^|~{3K|"0x2GZeb|_?8촫5wmSpՕ{*垪RWU똨KvV,h(jz"Sij\"ǺAPrE=+ٞ`(5LF Hw/Tn@R{rؔPUٜb*M+N괫.r.vv۱[UEݦUa. 6s_Tx*géH"ec|&W\1-frLFS:qؕ2w^UXVYRdiz;9F,u͞VUEnZTwi*3'7ז(e (/q|nz mu]7^7Ҧw^~p__#i] C:2ˆ&rn\{8>{8<՟no-qվDPV*oPg$q*0GݿSί,uq4]cT6w5Yr;m7-K C,jh4C-:BPm=z Ϗ98MOP|o4?4+ﵗy~P]PФ"2b:[D.RtB"ϛ gMs|_|l5>+iU|næT^(j8MA)P粯WS IfwE6U*5ݼIQd顛[͛njR8^L}0o*:7oIFr:ԪRӮJp;mw10^+CYtø|uZ=#=['s+hz",Gȫ}~H$ؾ^ꢒ$Y~6cwG={"X&/sΒ9L-GryMrcaԖ&,i醑^3M5oiQ_wu?:D]͆glʒRn5PEbnX;?pLx2Kȼ@0z44M3 ~ YH:'| y:,$No &}ʂ95ķrמ!s& ښ]sOd/ֵ^|λn6\D[iM$VDUy~K`01[ЊE{96ofc9L(hɄKgVm7T7`(Gʧmo}'_lD0t(BQ˘N&&;]2]ckGnb\BΚY1YB`, _5]alI4cwG ^Tg5aSnrWDғ,aVQvy%s񝹼Hu`*)UezObcQw{aW5Քl(}|C9 W<}_W(Nj=.߿k0E{$R[e;W2KH׍S>]#ދw'wuu ^mBKټ&˒=놑#lm'Os,ߴoh^s綅ce'O$qϲ? cGLC,M|:o&aH(q=)!M9T!4xJopM\tg4xb>;n8mϪZ>fܚx*5N%.M.:\Hpx[Ȝiue8浭FEeIX"Y>5[z8X>hwZ.vuK<1sH<{u %n]OֽqPKMIcV_x27J GRL(1{ ꆡ9 K݆ʒTpo=4r unk ]׍hzl<τcP<eS9́oqXܝ3$Ix]jUGEFkn#x溙#T,o*u\*o`ReaSҹD:"+M$Y[?L^n[&? ? &wی7Em, Ų{"Nsf괫GU1(:.[D҃TP<%mwE<. Uy71=?SH3iZn4I_@d$-G>Ђ'rSR.Pd7WaoSEl^˜00D+[ʟ{qt~ݶ@U=xzt~׺麦\A_ VQ$"lSeUYrؔꀻT{ͭhfW n¸ԍdYZZd$IH(ov舘|Bq/z;枑x&W.wɌ2ckere ]$$I's,-U3$O~^GW EtZk( IHԮm[Vy?xn[ߦ}él!;uNeS*oס*Y8PϿ{qplӾ, Z6e1KBMx$=gYۡv4͸݊,U]s6u^mNGDy '^^Z1f_Wx`,VT?Z>9Ln;4i9w.m,X*_t]S7 o _7x}w0Ts] Mh? CȒ8ŋ6JcƲlG2S$S08&CGkdB;s$Px $$3#]P*)LƲGVO^_? 82`B'˚}n{h$0Fxvnsj_mZ_8|ܚgW'3_8=+  04 % t>+I*s?tskkI%Ί7gRcp<=X.ղHgg"u ĚkJ[ޜk=#pPot$*sk ,jld. f&|A FƲskUB$d@,_*ߴj_e+)~p}C$ߥnd$eFy T.wYtlNe[>[YzvkȔɒT^ Ct*S۔E W %3{x\h*9tRV]^:ޯF&WDIR,Ñtx8m^TPOͱSU=#}]CCmFwI DF\*n's=#x:?)p!D4tC/EΙotm]\)I\~Ì$Ԗܹm}#є~OaL3%.\?O E= LJBp<+IbAky5UeT$ _ٹašPk(gMsimdE" ta@6O#\4Kf :'tMNQ?fOY RTkgU^7$ˌg2"K~]#[\^{rȒxFE>OK$mrSMnQ[~)gdYæ8Ju=ﱧh"]0[;؝&3>ﲦ=G/8>Y0 n.teWl&}!#A%EUYr;m͵RۡjKɑh:_ ~WɒjabQMsv+nH~Uh^wRق-'$,Kui>IL!)$DKRlɳݿL}`|$4c0|e`0V,.!2-"㭤38^[/yYsic*[M|9wo94reFTUyɌGkO>0>M͉:aEސ{F$ygU=zw |ĕwb\ *#1 pn'.z}xӮn*-,nx卡]+ya(sp$ШcxUku](EM/jxudI$a)9MԖx̡'_&s}"H>jzk=ÅHeizM-%ݑCh"jCwns`NSYϹ#n[o,.5pE03Ҽ@Po,v H&3&9TeNS`Q[EM+hCXp<놡Yp8N2wKm:EK׍#cك}r9d$R&_|[CmmԔJ"&:b=#HXkS(\sWxZjm 3+DGc{#Ե0ˎ\8mID6U{~gu[],uj&WO撙B6Ȓˡ2CUX2eFD8 2lQtʝ*DF^y\j^Y*9 pI};zc/p=w^}y-wx<].}O_}[6g?}꽖-ak/W7r s/H3+nZ=s 'nG}Ͼ"F2$I'>ι90Ս:R^8oOyyzzoMM짻oyzo,^l޺sۖmx?;EQW_ޱ_^WwΆz!Dcc/;/~#2O}~yG>ϯa׾7__X)/|ۣG[OܸĞO~|6]I&yŗ˗-[BP(o\ui>a}?G͙3'?ё#7 dY6cR]mȈyDp:U* B]]]Bm;vBqmv4n47$ns >ku$֬};Xu='ط@"|SdEYpj}}㱘ap~LQ榦=]v2v\.ע nuBqm/37PEd !=ene,ȇG[_s:Spj2d66sƌ[ !gpm߲~ fʟۏokyvݎ&nu}fU;?M6O09έo?_BL6m^߼}޴5!D8/ޱ翨zndb`N%w5lso@6PG  ,d$BF  ,SXD"]3.-TM IENDB`gtk-nocsd/Images/Old2.png000066400000000000000000001453601517422556600155100ustar00rootroot00000000000000PNG  IHDR3lʷ pHYs+ IDATxw|GgWՒ-ɽwB$tBOh pK.Kr/rRz1 .-wɒ%Yl9cc#۲ x/0yvW3@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 2}A"v9ht7@$Ih>Q\fݖ,^>.nf"pu@ EQӪj*ٮw;c&ۄ@  F3LjfXl?  $I(MVYA*}dR!IZYMl8\k5@ #Ah4 [&(jq4J&`LSA i ?2M@)P 4@@ (dLSA iF*e S$NkmBٜt Q*~gO"9@,B6q1lXܵ fe2XV7`0y0-/|ʋ_|O ʋo^RUQZhgl6ª7~kVWOYAz&}7"GӒ+X d4lޜйAp9d0&h`Fms5 Dyb._ pqq 7FG֩T}oG$މ峣ilj?x3'7ԞޥEyԿ[֊Wq/DQ,Ot:}e KbcbєtNj rSag駟||f* >nqr6}{+:vvvΟy|떻ᡃ>cZG¼켜2n/ydžo޴NnZ5df^>U/A9w˘ry_Q Z.x,c>dCIW. 'w_^`cbrͶiNlWoЛLF 3+"$I[;dzu]0/RttιLϋ1 jfdk%#os3ֺ?ɾƦw@ݷ??f+O>{ͷ^g3LMM/cbcG>}՗_d>;-7r #(OOsgLtԥL&spȈ?.bƌNmB+/Y9 5_v5ʕkOC&WO lqX5>KM֘rW.;u'/_<;q^v90 ?񭛷1k{訌[ԥ(ZV^>{L: ]O3#oↆrnߞKߜ=w 33NyϜp '~:u:™KK*VX>lmLzOQ۰8($h$H/=s`7ogMJiiS{4QXX3#EO=s^lLuM?QYY9۞bq~/=k0?^^ wޒék{{65h`{W._**.Y`kw .dJUU״ ׭]㉓uV8t=遢讝w>Y',Q|aЋgs:G ]\/;ŗߜ>{^tsǾ R@E&߸Wx{+B(*._SfO3L& IANS^'L䔛nPS[;ADLHQq1QQsl9w̬O튉+| (ZYUC}pmmBK:}CQCw?3 닊K6oPW8TMcEџG3W%tvu^2Nn|g]p0Vu*)-+)-x;㦺O>yct/!1A|VVVeA7oݮjuϗ¢tswK86\[NLL`WD$ɰFt\j.tΞ0)k'lj4UYY5ͷߍYEf'lVFιsͷ{^~h']j2;oY?XxǎSwZh?9Jof plnf6bh77/*{>paZZ6_wjҽ[A-TO<|#];w ;F_r];7WP \O{<qXWTT#JefV6U.JJK׬^w? k׬$yRPWWf݆qſx3gFnjjjFifܺ-z~NU+̞?%W(yJԀwȔԴHy_'ԉ/\cc׮Y>xʵ7;%H~<~O?^xㅆk97ꉷ3q~P(ܳoxy͌Sy&.[13??ƛ`tWt/>N:wg@^ǫ;x@ӿo{VXrr ڄ)w=\10𗿾ŸǫHTwzr\};,Noh|Ou;S|K}aÌPؾɽ];uvu}\'-={k[Z[ؾϬ^jkkǾ<Xm{pXE&9<$h:q}A@ `>2M@)P 4@@ (dLSA i ?2M@)P 4@@ (dLSA iҝr9Z@ hR;V?{&i d$:O_SsL:8߻?2M@)P 4@@ (dLS7 &ӆc3  J10VBL!P05zdLSA i ?2M@)P 4@@ (dLSA i ?2M@)P 4@@ (dLS$ؼ?zv&8;M]\0o۽v#e3§zyM,oW$IrZȯ]PFk}^\/ޟEKCziqK.Ϙf@[J&=zT=:}*~ =7:6bN]믿9qDWWa%%X`UZ6,1Eј(NŚpܯ ZrG\6dof޸8[D"1}j]"ZKe3Rng-[7/[hmi(H$$IK}|[[ڒ$ ]V9wѤ'Np8;wضmdL&SOw@o?Ϻ_\.'w$zb3JK~^AIIA?-CdUNNN%ť7o b1y<+Cn@rM84`0 oG@3bXII7\ngG\Hl`1u=1|Nh鄒$*0<,<$((Π}2n TJ:dzt:'55ubjg$9PI%Ґਘ9(cR7 )jd2t} k:f9Ң )\cv(bXәKPU)8++l^OD/Az/ $32n \>#Leccc]P؞ӻvݚᮮ.gH$^OUzڍrCBC֬]=3Z-U$IFME @ r9`00FXL~rRNV/L cLd2.wqqH?4ͳvrrZmoo7yy{1c{/KMM+**  . K׮]M<#I]]݅]@pi/!? qD"IJJhCFA 3uvv*ƆFRP s\.d2mw?&*!ai\b3֪kKJJz{ER>7jstLH$0ȹs[ZZ֯_e]1\֯\/1=;QZZ%z}me27|텢(]xmmmOY塒ðƖgR7xLT|}juCCCnN^kK⸅3gEZ@D^^~RRRR?ʂ޾bŊ1ygDԩT*^  _D .߄ab`0[JҨ5EpÊQutt\tXU >JII5=///mkϟ?o2D6++;/7E$VEΌg7J吏L&R\8`tuuWTT644lڴ͍>%F%PƌNOJA 6 CPPerrr/]0|nl( I&%%ٳ99wO]ZmnnnwwwGGƍΝc({l}yy I)Ƽ=Rp_fjkwPAPH$ H`̙;':zn\±|Z͛7]K2a4333|}||!dffWWUTVDbx.<svQ'AbŊŋ_pԩ*jΝ>>pEx ^`ǛHA[[ybeq\*ɹCE063Fs̙^{ѣ֭۷o Aˍ M$.]J|22n >3N/ -Xyc7o*+% XS cn~^0M-ͭCf!t:}ScsMuͦM>ṇw%"77wAdXzõLuURS⾉8 EQQQ[[A@I}P(|W>|)___|16661K=46 'x1h@@ҥK3&hllh(.[l۶m'O4gT~zڵG^ğd2~b͙3ZP*7of(Y>|djjj.).[fӊxooOk0lF =F JuZ-@*vuvi4skAH$zwtqLA(`0Qg#Pkkk$IJUI0d2(`0V( '%S vvv .+JB]r9._f0M IDATVPh2{sAD"HTXX/?j:11c͚vvvc58|m nnnW>7;h7W^;ydyyϏCB͞={M?uRVWZRJ[oEEEkw455;vf^Z$}wY97P$IȑOtlll^zYf}.\7LF{B_`y'3¢(A`L&,;Nhx0r$[L ƆE9ԟ$IB%r9a,^ ໹1Jȅ`q \!$>\Pwssrq4 Ai7k ?z(`޽555fd7o{zy΋ǗKduuugga_B˗Zի 78po5V<{֯  NMI+.*JT4M}}=F]4~xg?5%u떙3#?IHHrGh4叾!!c5JJٲe̙3FcssHЦ~ӦMǎ;.ZWTT .={v```BBZnmm>kmm  :88899bh5Oqs;Lr@IjV3 M]${{ss i7=ի_-#pz}iiYAAavvveee_ϣQv T*u}]}SS>#AAA׻T*BSSScCcxx8V Z*P|ƌ<@ (((e8ҥCmݺo O#BÂ\=<<']9sݻFMU__= 0`ד;BBrއŪٳ'?@&uvv،L;88ݻw0="B@׷<ʯ۷o?{uU*)CzO=Զmۨ0<""Bј{N.b7/7ŭF|+z}cCSqq1bQ1Z?8qꀄ0L$u:]]]}qqə3gyd(;۷3曺zF0 STMMMo%@=ݽMNNN+999eeef#Ig' ;;;:^^^~MP8!$I~gfڰaCQQQff̙K,_/.~QsSZ=Y,8rZC }رcǎݳ io$oݺUPP2ڵkϝ;z*W7qhhiiR(BCCmll$J[$Atuu rɾ3o< (˫i3]yHb\~~AJJD"ܸqcLL #8''G(?(QmmmԴFpppttmllT*UssKo$$$<{^BH~O0LBW2#H_,*HLwuu>IT*?q022y<+3YYYYYY|0CyoP(E%$I^x^cm۶… C8jFHo?~W|?(" AC{boo5"(vޭ[I$RH486XSe0^w5WPP |||^~s禧؄޽駟|?\qt77M6=,ٳ '߳gO[[[JJ%G$BjE"ѡCf͚ػwoEEwXzl2JJJc7nܸzꈈҲEuRt: M+$I3= $I$+9(Ir<-5}gII)/m.imi\))H_D-\رc|egg-[<3˗/_ZPP0@"""^ySN={ּ\Nkjjh-wH$jugg3g*jHa+O*+P N<9wn dVA=<-ip7gR+yyysuuulmy{a2a݅n$IDh"''Ԕб.[j'*++Af͚b EGGGUUy0pر{sslllFjfScIs _x?_j`kP(&L]?NwqhjE0k0q8h*H$ GYsf:,iߌXܗ5ϛ7oƌա!nm{'Ͻ˰kL'''٭]6//dsk=zd((xĉΟ??<<|͚5NJJ:x O>Dz|G''WWb|}۷T_o~;ߖ>$ ̙,9[AF޻oOpp 222++ѣ۶m ߾}ѣG333g͚ ޻oܨcwKLLlo`"Ψ(:bt:x111p>""W_}稸F#[ZZRiDDDppW_}vcJo!+^yVQQx<oÆ ˗/***.[TJXsssps]vvvvSuuu " ''e1ɹM(;^^^Tyfl?/o/[Jw5Zw%%%2ɅaX__FINNFQW`ɨbR.KNWSS3xxpօ,Hj ^xᅸO?Tr86c8!ɨDϟ7:h4AY,-ǣ5JGS:5gi dt:N2:;;_~ecvhcݻR(YYYa˖-;w"T.+J;~W^r666l6|'''?? d?<--g60ހ8X[R  3LjIH$BQԠ7b>{NNNϵ sg˖[la0wA$uvvj4e̼~-Kwvv>W* vݱs}ٸ*bţ99wn޼iIS=== ,pqq듈 K i)7n ۄ&gHR0E {|ۖnhEȓq?q#ŜurW\/BHHD!AݿF ZrTQ!Ir``}̙c?*>nٲE>}&##cH]``-_hPP0tO/--uuG Bt:J=AE qommuqqibrAFVZMakkgEu5"A7o7ӏ訄eKCB\ceޞwbV;o޼;w,[wʲ0`aٮ]]ݖȟZ~FZjzww8\.:h2nڼqI~dRy OT~/_1 Gh4II9ïS1# BBz{ELXjJZjzÆ NNNmm&SHC jH$V(f1,&aFQ*=jWa4xn6 z`0L&.<-PDDXr3gܨ9w FSggא6}VZu5jRj5A2L& (Z@_nIe2T$q2M Ih4QñwQA͋_lYccd 7L5557,W%J¨.;L:|We Z9O% ;wo3$I | a2..3gE ֪ѡf477SsIC bqZ6LstzFC9?!bƍƆb"B=f󼼼Fo،6@d2Ap9cݟdF988|.`073O8r-hO&TjNNtEp 7 *O7d5MQkKlml6 ad<]#Quuuquu={b{{{'TNNKkJ"d2JRMڲr 4eef%ammmx{{bw ~nll駓d|Q,#%nܸkt0prr ,d2LEM&h4 *d4i4Z{rtt #,,,!!ޞ0 J?jJ^&d҂[[;wQS5իD"2Rh4[[۰ЕW dHKKknnޘNI"( {{{E% aTҶ>{*yPW`(S4<^tT:K-TϷ2eݺuܾͣzDBM wttH$1&\NL&3<<СC(RR8Sf4vww ٳ,y%;99zxxN:y ܹc|[ ㍩6/o}ŊGfΌ uww0/ ~ t:]kk[mmmuu͂-l`zz=a 2O")ZNqfs86T|3 ^ pMFcOOoWWD" eg mrЊeK4 m |H$nkmqcM63gM>H0+(˝93r t≍nbMF4:mVoõ  z+k?-I%`uHk@mc IDATr8AܗӰs8~_`4ܗ50>\ﯜ_IeҚʩ˳_4۽t_'z{-9p?rJDgmbF7yPeM] !45ub^5x𺚺܆Fc円-S&ޱRSӒZ=o9?6I̓aXQAINNMh0g͚gR/uttL&`͛7cW9jt9w%9v^l\"3i "Qٳ233{{E Yt۶'\]ƺY$)dI$(zxx,^0.~1ۆ5y׋aX}}KRi?]m۞p8gwyh4]m$UNjjZ__^'F566ܹc߾ߌ/=1M_|UiI. ޞ޶ֶ [7JDm?t``J/ rr_rd(>JB5[ ܽkFD84'8WUU>|ZVSO۫kn߾Ϛ5s2QWpO--0Az{N ԴG?mjjh(VVV9::N}/Xk;#i+,4דڄZJ% Q)UjtDXs͉'N:a4 AA. (CB,ye7%_A%bh2XQ/h2… r|] Hzv-\RHOKSQvq@<-ͬe掞LWW_|yFX8t:HLdxxZlEג5 ct>okla岲o=Kmc@٥2vw cÉFR (bBi )koή‚0a{zzgZ|WHLMIkv kƼ%F53g6c2 Ʊ%vUJUzZ]¢FdwwwJʍ5 btuu58`0ʸ5|ՉCDmmm~~E$IjsM|𯇇G ?>0 bq8ԡP(zzzGh4"zlɋ IzW4R-R)aސ!R&uwwqC$Hd2ـbǭ׌hJ%bqHbT?n)D"ViZX,G-' #0TAI"0g`0v ' A$9NI0GM2Q:IXN (nAPE:}׋(08X>h4>]j={xx{{{k2#97G8u `2Grn|WWWNI`26djH<<ґ^3:N&Ycd„m^ŮJ;]\], h曺՚~wK%_P^^yJP>]JrppoW.W$%]?}L{vJD" @T&?;2Jg/]J}K.XˮhJvstC{{GzzFeEd'NܸqcL$I՝?*$IܼԦ F|tJ[[۩SBH,((8sLKK iUUգ-,(LM)[>={vOI.? heUfr͛V"$'9}%[tuu_nRb(|feL=1ofyT=Jrhhjd0>>e{ q`86n(C\._̅fsEqP>jf<>-nۧsxmv{@,vl02u8v_>dhiG 1tmM Qg2h?BBO0$LaIhG4h4:݇i:_贙AA a8 `0ᰣKn FKKKe2Yh4@0s]&`0 d\.G.OFEQ3p9^: N  @hhT!t:=66ƛODqnddD@J"%`0yzMJHL [0 榤x</55-%%yt]&%xU'$؞ .U(<333...YB\LLwD04U%IvvvTW`fB~BL,O/ eff{UA&xsJ=` ysLjD<F{ꩧ9&8.N2$Ib=m7y|ɒ/ "h'ix@M$5kW{2??/555 %%׮]M5kV'%%D似 h4]vқ E_yy@ g [WGf2 E[kUp|&o766UWW `omiW( hcf_ + +_5M3ԝswAkZZZهBQTѫzx}yp:ŏ~zww7wlmm+++9n_p7Ȉ7v+...*:҃$GG~JrZQfڥRibbNAV;y?rh4jR4\ix! >~tW\ju gY$I+Ǐr\TVT$$Jy|O{ I?ǽdWTgΜq<55U(xнdz>QwjlhHLHL`v?_סlnjjȘYmW.}r Y,*zOT}g_}UT񉉉S`ZN8.I##J/MZ[[?hӧ}X,ryC77x?} $;;h0=.^j+>wuuu644TUfq_Kf0hsw}oбOj~?Ӆ޿}+$sj---=tst?SBVS{W- s6z%~s犏;Gj?wο;W|֏jO?kjjäp?tWì1_r㫣fٿw I_u!5?C-*߿ 5cLȈLvvv;vo]E[ZZ=]]=U5~MEQRos eeeeee^xzkk߁NZ;ⷮn?~DGǔ%!qa7d$ҲqoQSqsߊpJ5qcnLTݸqc&ڵ>eDƙjJ/(Ί7(ʛM7ƺޙ0|t 7\WO ZC mohllloo pnwgGVH]ݨ-kmmC! fSuu+ժP=$qh4vw<:nii.a_采3̩0Lю )3EQ'h3%GQtdDillREz]j4? Zm Ӛf҇ #h4CC޷W)U@ek:{^ƹS{izt-$ qbA y?rE\.ϥ vj[6Aڇj}H TʼngYק=M fAI>=f8ωsDqۇ߃aX@pqܧ$Pn%E}ޚR7G  @fj0C Ňzt:C&ș山 l\h`o&&&x3-`2cb*G!SR¼#Nyb턅ʓ2v$$'o/SSSg$ }'n N贴4Sk&HAj,>\8^ۙD"~ggðP(&{ddĖG66ha>T$NMM}fOӥRR{QtGX(_*N/Y$,,l曰,+--ybccgbd ^գشiSnnu9N,&X,VEc[g_74,וe2@ |%77'77guI]k HG$NX(|ta\8>'e1C椿Itq!9Ǎp{  cbpT֔|L~@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)p:Gf_scqut֜׍礿|1'u"9/E6}{{6Π}pg_Lɹ9oB o-9dQ$|u/^v}hCB`u$Iξ/R R R R R R R R R R R R R R R R R R R 1`HhtK1;{f_vI9lޜ嚛…g_j\eйl6{uI}Q/::f-[|0;nLt%Kf_L9oFZzvV\,as`t񲘘׭)p/R R R R R R R R R R R R R R R R R R R 1`,͖u0vut֜vIC8v f_D椿.4k0 t982h峯{ܜ7A&/[4gKκq.]$Ͼl}u׮^+f_O$0A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?A ?0L ٗ!ƍu9/Κ(>'5zauVӉ̾ L$9s_Tdԣ} %4:111˖,}3g礿驩YY[rF;bbf_FL~@)x񑑑qfbqrrR\\N{AzRe6b$q\44,F.a}}}& 0.Iw*JZArܨXi,σ_=22l BRSSB!vK$* $ AAfYP(JA|Lr.I6]Ti:IB066V{9ᾲ?p칪Arr˷lټxb k7GGG].KLL[byR]iP-++?slmmZFQT [vӦMiwI0z[kVq\(.y`‚Ȼ$IZ,/9sY!7nܰq㆘_pΎqD"QfVeK_jΟf4i4D"{G֯/ K߳fL[_wbȜ\_N7lr__OOG/++g2111!!!chhw``߳2rDWG[[Zy<^||<ñl}} VԮwg͖7]aaa,btvv _~)!!!A)?9RHMMe0FpPp]YYY_JVdff0l0*++[ZZn;""$EO?Y`A:F-y0$$cqٳ?fJ$IV{7\ڵkBBBk2++; HttL&q\єo~VjZ]Ho3 IDAT&q7l 6mVKJJΟ?__Sw.#nݺ~zD244t̙&yR⣏m (A|PDzjա ɓ׮]|JVVL& EN*={,_<$$oillIHLx`ia`EI4 }X|| /tRq#Gttt?~"'gADĊBh_4)))?ŋ!q_|P(.,'&$+JdwwѣǬV v޽pB jkkaX$0voq 8N`ui4ZH0$]$L&á36`08 {Ql6XNl!<.;]l6  eAITP58& 2;0p8wOA aaa*z2I H$IdffxfN7;88'H"oih4ڢEX,VmmlU*2,)I0pee% F&EEE< UZZJYd4#""Ž$v{MMDHu8|%HRRRFc}}Dg tݹ!!1"I2B"ZZZ&ta8??FlsIeee&ڵk]]]@$ɞXVV^^^\[KG}]nr y&yFb >]uu>wFЭRT/_ijjlQm\__AM&s ˇգc5Ϝ9vI.ϟj===_.IFFSGGj=uaOX,7LFS`uKZ'tn?xY* '*a5Cb9~8AuuM -.76xM53~23(\7f~>`0`aZhjjR'/znxM͵_~foݺO>Φ`^xqTTT___mm0`X+V .w7l6w?/X,֞={P(ݢ"{zzX,Vzz@ VWnsU|gaaa?>#.lt:]/cɅiW`jCgѯo~j c^YVV ˽Y4;y\qRRoZ ?c*:77W"{3t|6SB a52 w_k֬a)Nd ZǶN;k>x-x υa`$''D!A<0{c6mcK.ݿZZ幔.dX}}} }UV:t(::FMX \A9jôGd{{ ӹiӦQG񞞞Yvv`nmi#0 o߾w߽5}yRT;m?$KJ}w ^c``kٲ111xrIj^0 k.){~0@dǎ,ֻz2srr|IA;R Þ{9*w.~6oluTXr7I|WR(|\5kVZe4ڇfȰjpp۷O$Mx߄nHHȖ-[ hbimm/2Aty<3335M[[FfQ{Ri4@ سgL&"@Ѵi4;vL7)`hB_H$me&y``p||`˖-[urFFFQ S($IjwaX AP(3%IRv? Bucbb222Ht:Zm ۡ(ӃaIK.LMHHHNN&d2)@c1˗O ݔx L&hjq<$$pYm񰰰EMh"H^3tccc8GFFfeeM[XXq H8h4-AťKі/_f1 S3}s:T+Ǜ*`P/R$ܦ$IRaT&raq܅v!Iʺ|>]ppD .JáV07AT}PO9rԨB'EN.+BBB(<u\|Vw:@T)17FMY<,&NLlk"z=2z T< @.yGjS=rvh4`2™鴨Hh4S=rVl6rD"utzX jTfj%Ix'bbA(z>v$B7[>jN'I|Vϴ|@@=lj4j[,$q$m6<( z &egg":РFݸqNNHQKB׮]QT--- C$ ~yZLVnn.5*--u:wld2ccI3e8˗ݎA6!~yZ͐VQQ1UQ#'FG&c\x]]T ˍL=8h<橚UVVZ֐4j|% c ._(Njb_`6mD%%%P,..߼ySt0_[z.{ĉ 4䲲f+yZtZ||OlhGQշ;鬩~zRRҪU AZv:t5ԆqnmmMIMY(@NOXvdoJJJ E~~~AA~@F ciѓ'OZX֓'OTŋ RR|~AAA~~~___qqjf_m4׮]r9 椦]z FCYvuttn} t8Q Ǐ}gرcaa.=$IZ6!U; ~ A8NmXqBB A͛7>|Cmmst:'gvi8744:t۲/j4ݨ; kPs@A__ަիFdm׍ jVVV8q6'NZ*fQVk4KKKoohj'Nč0 k4/Njr<؈a vG3gyg/]t:|+WLP@-Z)QHz#oSuA^z ,6o,Ҍij,HBO+Sa݁TUU 6,[,;;{lCV+J!H<8oO}FE,Y$++kl1͘zBE"i,9`xÇ[ZZBCC7mTXX1^wfYV;22sܟd/)aÆŋLjFFFVipXs=z?>>j$I^O`DFFz.~9OѕV\|ulLnݺ[ې$966FѴZFㅄy~ylA/BO??QQQAzzzJJ@ 쬪IS%`8 ~7W>?u'dt xs855>K.^zg]zDx.Fkiiihhp8ry=p8[[ۏ}s)##?+WN (&&&==].c ApLl` >曹/O?lٲ7v{CCC{{;FzɃMjO<=<4dɒ^z驧*((]7111===!!h4655 xЃ)cǎ>R\bŋ/}uSRRZkCCRUW=؟^tʹ%6}{}322nsLOOOOOJJ^3%pO7bA ܹW_}u޽ٓ5)HܐRQ) q#TWdee۷^HII*%%%eee16 dOk6?UUo?AK=$uvv0?:TaXౣ':::-[o޽;66i4Zhh(n/ĘTt:?BXzoc*TDnVV倭 B(fdOUf*s7NNoذ__}шtb L&S[[J5*KbS2o=}VGя~t#""-Z際GFqSWSٟ˅^TZ|iO>+BO]JϏmni7dᢰsݧN} 7|瞓H$S(3`2ׯ_oiiMLLʼ39Hu嵣~3>]744455$$<.CO=zo;wdr;)JJJJKKcO7^.-++O~cMIѨ"`OLLung*S(9RYYYXXooذݸ8Tj,KJJLSpήUV۷jNOLLinn&pB TW_P(6ohɒ%覤H$&::նT})@y_NN7kUno^n}PC[>3^SN{[{_$qxIyO>^n03Ϭ_f}wۗ`  ɓ|SO=}v//aX.?+Wh|O!8VWH$zjoK0k׮BRU^VӶ7nܨ۹suߵkWnnnGGŋ|1f;w>._|ΝmmM>m rҥ;w{[TTSOUTT)*J%KvuGy'H$55iyiR{{@ xWx/W^ mm:zE#JBqA7&&rjyF&&&ݻק"T"Ν;i4Z[[;%shpH|}ҥh=A=zhZMoݺէ4mٲeׯw:mm#_k2Vׯ_nQQ˭VBg:rvY~7=nݺ@S_u nݺpBttO?V SHyi\v T_gL&3==}0 \BeX)))r8yo5$$󳳳l6_hЏSgDXXXvvvJJjSg=44hѢ˨LB"$&&jv/TFuZT*͍lQQQ .i*kD/MB*.\022>ՖGL& 7 {v{zzve0 *џ q)GFX,ӓIpܼ</la>㟮P(FQԧџjhaaaⴴ4өR`zADDD$''-fȈ?Vg2RLE2L*fևQJ2 T#ɑZV!UE$55sPE@V3ϼ? 4-Uſzԉ0 k4۳50@m)! AND$Ij| .^`0n='LfXXaN'bXX,iUԙ(TbXw.Ns|܇Qju8!!!~x<p8%2T$5PpfO64>>rBy#ԁ$f@3/q*v&gYPRu0>QkkI}Mn7.A4 q']tRօa0AC1(rfr|b(\tc1 ME]t:iyi؎gNtIﺾrS k~!0g`V=u3ԅ~\H~(I8;]IR_/k#⫯cjFB>8tPy?n>܊^KJJtvwY_T/cX֮.t{{{ݱL6MKKKo~vzO{ͷR[[-[^^h[fUTJrVGdKKw/LEn޼鷮:?FmX_50 UUU3ocllL"F$a)JZ.5oGn```xxx&~ #Kr7o H*DTƭuμ~ ;22G5fZEӓ|%YzmGI0DySSSq͇ݒ;fs| QJKO۴y2EYpwN.#yyyni*>_}pzt2/9Z:1ơa[n H~~")I:s]%$3_܁!Kh%YYY7g O +%%iKY0})@#׮]3F=|2 IDATIJ,.@}?5gZ]bEFB0YP/8!!!\.!r>@s5C!o8^}ؘ&k>Cs_ 礿 ѧEs_??Flw{ܘ XQBV._>gJIeq yf_l9oNvN\>K/9s0\rp.ˁadX7p8S<y?pݵq_P*Iږ RWW APFFza;#{n6\Rs\%Kxh"XֶvARfk$Qv{\|_/',~{ITBBOZmllH$i 3@$I:n(J32ҩ! _|qǍݻwgfft$5Mc~ e7־>b2a0/ UmXP,XNpa]5}$ K7UKKN`388Vo9FKMMTbedGEtYf^ڟ<_rQ34maڕ˥CLa0 I^|#Ir||Ca*+d2\8; FC3E^zf 900 Bt$I>iN]]]]"lq'|pŃ0L666BfV`E$Y\|>)IpFGGrѢv|p`q".$v(;FQԿNTHH3̡Z?(Ro6ZZZFFFl6X,v9>/_R X,f9666;{}}A9=gŊ777Pega5""B,z#G._f###OeGUW`VP;,X`6[FGG,Y/ut3Z*DҺ:KتjAx @dXΝ+>~Ӊļګ-tZ4vM.URrEѥHĩi)uf:> IRӅ'%?88TQV([z%FV}ꕲĻtS-X`͚58jNbwe08`XJess3f]fMAAB(..v=3F\W^9sdzpV?s.++j.^f0$I m۶XF9sf& ꑑgsԷcccׯ_Jc|w;{A,=jfNU,)^{jYqqITTźzeeeJҦ/bdddٲeT 9rbYzҥ"BBW\ CQ4))$IR׿~d2WXqq6G3ԴdJr*W_ȹW\.7''g _}W_}Epǎ ,>Je[[fLU]]cjkk֯Ibs\n wكhOOOKKKmm ׾cǎ /uuuSwW^3ϔt=< X,D"8PbAÑH$(j4$X,k0K7_ vEjh">E(&%y!!P&ibaa1T4G ;pFqL.O|]}v՘f=seڵIIrj~ҥ55׾⋘m۶mڴ$Iͦvӏs$IZ-֞Vj RSspQ[rq ȼo9J2 .$IʌFؘpL+W0d2###ƓOdAKbbccEw8o FhhhDD H"P˚t:], h4r g~۟n'"66vΝF/B+APjj]̷IR `688ӟZa2gmii{.Nڵh]l4w&#ߘ͖7Jʊ* ֯%:LJJ8{,A:VROţ>"IUFGVu8"A C0 $jCo?BH FDD\tv l޼&$m6epls⥊򊭏=i蘨pgI?jnܸQ.Od3tV Fdff>C~ieevN@ شyCVdlL`&H֭[wYK:ZK(n߾]ObX\1 ~~^^^^^ޤNgOOOmmȑR)Frrp޽ϟtͦÃmmm?JHHIN?_|gX,֪U~t\_\rG >DoF9q B$ t:9QjhS' AUa&''^{KM:ޯO>#I2)))--N 8~R"[֧z'B Z>Kbbb6o_$IAJJJ_[Pg]=&)..d7>cccR`0tuu;zmϳd/Țܿh׮]wAD}M!janzPKBN;w뗿5k  U`0TVV?F%B>|~|>?))I"|:_!RQQ駟^rSEttpP)U忻#""^yQQQ0 ꫋-裏.]/FFn}X,޷?5556<|kay}ޠnJ$IiphoTyrzsp ^VVA\.?vXNNP(ZEEEcCSVvfjZv*H4L_ӟ4:}7!裏=?g߾76m^W[Ul۶mbX&r8?#CZ>pO{s.o=G p87n[{}r,[+--ED.|AiNز04lE:w\L>f2i郃CfY}wccc|>:(?VeXɯ;N07p^gYYSOd<`L*6VPPa؍7m6ʕ+=/(z0AtwwgeexxBCDc (r`4x=8ts^e˖> ٳgA_?w"""V\ĭ h̤ӧO jO 2M$Q255Oñc?@wwweeBx衇̖())w Gy}Y ,(,'_䗚l &nݺcǎ]rA8_iii{驮>p ʃ qV'''挌԰G}+W-p8bbttt\xq܂}Gp"Xbponn6L ,8whh(x8I20t^fhFc&nٔg&٘rMz@w)5-uժ1 .nŋTVVbP(~_kd`̿\EEyv}߾} 999WND\m~wG eYfX6<߿3??Ν#<6cƌ^ʕ+b-qmj U(2ovnRtR&[oqj?M6>}EQpRz.UDJRREDD#GȉbX*qEDDsCCF <$鮩./XpX,'Ow8h4?:~c`pe_[l6??e}Hxs/hDQ4===33S(o[`i:<<$fHV\6mJHHp:eqA B} ݋F~6=|+}NES`aQ0/KRRӟa(_j+++c0l6;** lFDD|cp;vl۶m5#ܤEM3gNjXU*Uttteeek63;}'SJR&pGFEE4b{ȑYYnGVpܞs Z inn:|P(\t˗y6'4L&[lSN={V۪iG}W[TTd6NgG0x>o6vq`Q3 E||<wR֟v}ZC+S(:^:VZm7,,LV++V-[#~~~wV-*,8c|KqgX իx~G9AS=oʇ+\ћm9s8O4-|e׋谯DE7lp!^'x| )jb&ˇ/^W_կ~~lP(x<1^P(CBB//bu.V^wr/n:XLMs̹{wرc$JNNf0 V,|^tC=*9a'''g޼yofsE .txN-[.\qFA>ӴBfY1]gԕbx<Яzbf͚NW[S|ݘ꼼S=S: ,s}7|*+WÇcP(bqEŅ Q'WZ6þ6?k,J28D" 7oޫGDD p8nt:i:((k|0Lrl6KJJrݭ-+]n{(7;̜9s_n'IR cg͖r P( v4MwuuלB`f(`0FMCOhFر rssLx<駟zPU(w}뭯prfźg:yk~n޼977ま""0W߆tuum߾=??p\ob㥥t}'%%uؘf'$UWW>`oooCChx<G*vttl۶m`` ;;kpL&a0޻ԩS ,q9sfuu\.g04Md2AJe\\\.(($׬Yc:;;®q <0Hh"$7mݽc."~_]laREE"h~hhHvvO8uօ t0- ETTTPPЩSN8pƶ*.*1>`bQYY'_P^^iljIɉcj/oTFɓ'+i_czSO=xͿTǕJe^^\PP+/50_~eyyq\?&y( BT:88={e+c5\.rz^ dee͟?ܹsf BE5޹d" IDAT bŢR^bX,N"kƌ@.1 *Ey<ŋ7no?0^rRnk4 F|~NBo߾w}w===^$62L$iZ}nnXo~kZ[Z"""̙T*~NӴhBӴ9s,ܵk_0gXv{mm]B⨺<BLG!"J~l-gΜi|>I*J&1 Rx< {p89Y-۷o 3gμ^4(ssN˕nïw2K$˗rF]鎎rPpt pN*++舌A0 R*v]755]ti۶m%%%rl8ցh;KqH???M>mx͹a.\7o@ iϓv?^pbH$(rZ Vxq?wn((aէO.++۹sR| dBQfϟɋ/Y,qJr:]FLϘ1C 8rfsGGht8#%&&&'']Pxlllpppwwl6Luuuǎu(y*\.LhHHHmmh1cF^^\.t q;p޽{1 ۰aCXXXWWW__nKAHlhhݗ.]ںu@  #bBPݻ/lΘ5v{zzL&jr\Vvd2A@䘒0Pvtt8腹 lvXX KDGGuFrKwj4VG1L'N1#`ݺ_dJ?U\Xt:Tz.]t(j}}}whRY=E"QxxO6 .ɓw=ݻwL 0beeeA`L wEMM- Sa)YnQQ g06mϋ[ZZ `0R)eXt\.xnql Ն ֯_?r]x`<;vhooOHHnoo7Lfb$rL-޳gϞ={`X UX&) J`4 l6œwk{YsV (Z fhc7V*r\iꫯPVp̝7'wȨȖ "h? ""BR9sfr,,,䓭EEE #''g͚5KΞ=m۶?t_.""vnx MF4m؊J}oկBBF&%%x۷.kl7rϚzK.uvvZ֒̌>77 3gθ\sp[[ bbbl鬭KLLS0L(00`4u:]iiӧQ]b O'K.[Npѣb@ d,kn{h7kmm<A*UU˗,]篼,,)9wgΜ)//vLPP͝;GT:K9 8\N Xlɢ?ͦily`0ф?rُ?,Zg?=tXg|vmÆ 11ѷ|ק`J?E~Vd2ϟ=xޖd4zjsΞ|y#+(+/]tHO &[w֞9B0L(ڑwx.$ g`ApٙY`+H| wR49%).n&` 2pAu`ls8]v͚5 ۷ð%K&Rd%"p׮=Mᠶ]`` 2A& t{^X,… 2lwݽu{C>6 +q`y<^ [֦t?^L/ t%QQQ$IL] NQz=(:/^(!1ITynwg̖H4Mw:s8 \p8~~~b;$ƓJ$/ tcT0DxDxXX]e˖h޺uk}}BHJN!f٬ն>8f0100h4jkÇ777WL]3D"!xt(*JCB2L&]*c3gg°[*;ꫫSSS7l0酀??^8wU__v|>AgϞ={h qp;V0o<nb.k|n, Æͮ8p+--m#q<..n߾}MMM[xLQIyV #aL& 3 /_Cx̃;NL&uU(j:,, А1]U.&j  ؀ l62, @VdV9\UjΝ+C B>/JJ\.J:+PZ >~'(>䓫VZn^ohh0LC׹j s ǰi:22rɒ%#e2XG4rz 4S8a_a\/&ѡt`Qb4 ÆT5?ٳJ%SQ'ן8q$={dgg\2---&&&>> 3(|ԩW_}b$&'rG(J՞8qrqOPVdw8龾/Hɓ'.]2A x|H}1UGs1Ld1Gdggm߾\~}\\Dul"ѣG:re˖͜93==Al[9s퓤czW:>Zm"̙3yz9sn6EQiڛߢh F?'p% d2 ]tt4---Fb榦AA Fl\P him=p}@0E+$I```dddlll@@@rr!!sygժնXAHIIYzuhh(He@֋ltΝ;}4xPWiZ",n??hPǟf0';88jjkku:.J#ߗ%$577 opp <?>p8 P"BV^_BHg c,V *++ׯ_?'aXFΞ=9ޟ`vwPEQfEnC"xW/D14$D^ZZOtvvt:Z5&fwݽj2Reծ]{].WGGGG NbbbbroP'%%eggN5Z`X f?Ng4IBAAA999(=H`0|d*<= *03c2[d-uu_~;Z[[T*O=O? '|駟F0:P$RٳǴ$EQ8qLƷ̠FN]6k&ݔ w?m@q31gC,YhQ4`(bАш @  H$fLD3CC>HNM:t vZ]] MGKNN())9p`aaN3ͽb8))i%/ ܗr----0H_(5-y4+: DQ1cJH|fX,TEGG%''?<ϟoll$r8V`05#oxhݘ5hF_P(96&B $$&_dRLfVZzKP[Ў(Դ33:4,D&?(7PZhi"Iihjkfc& -ʝ;wi&X^/ 2$Df$@ q}E\N|blTL7=恁RBs8l.+RR*p\0=>̟?/%%%>>^|7C㌠ruq\"-iB~ … ͚6~~ an~ۜOܣ 3ҒRL&1-8_ozE"ahxH΢`1BP Ƞ(P H=0RƶolP R4Ewe0 01Qll/1UmH{T".Y;p*Ӹd`0־&́` Ș mt;~@lu~Q=2gh᯵Б Ϟ75|[bW7I%VNJUmuO7nA.UAt3` GA A> ?| ( Q0A` GA A> ?| ( Q0A` GݎbŦA܊}lov?{ U/A> ?| ( Q0A` GA A> ?| ( Q0AnGv.PQNF4MSD` _)P^ 1xDS4݊;! #A(I: =Ć?rni(1A,ER8xHg2pgX8;Ďq8v{<0A4z^" `2w l6iXqih1 @4nEa9e:7(҆  Q0A` GM+p8rmoðАn$xZ1%X,Ǐ ǃ>&#}m0 #~gefx<ApԺ;aIRt2|9C_a$'rA6H4MX0 #fJq<+3:L%%%RYyq2Ľt.WU*rYV^ vMiDBajjJC`02쬮f_^SC+/^tvvjgJݖIc6kjbc n/-+ QOv&t"0%%YIĜ쮮nc_rR/:::[ZRder(.9vMi}zdfeftw74rCQ4%9ЋwNښ}sUuMB|T*u\ BBiaz?֮1 K=pMv&YrRǭc5δYi y155)L&vEEEdnׄhm5ͦ(Z$ TUWc ܡlJn) bb #I(X^dkBL HVښd%%332|ߝC+, S0 ";+QӤ&-2{z5(fef8~Ѵ 755&jgfd>x CCBBCC&)w ΝS_ߠ'-,Eь(Lt9YAY$dk2$YrT6F ysw ݖIRb&SCc#Rd>dڇ?A:::&bbP4]rGtTW%b`LehPMMIAlz> zMS3Xe{iiL E]}/>A`8뭸P9]tyCgKy<nߴe"lg,vD! h ZIDAT0nu`$a?׷knͿATA> ?|  EMוNM`#I nĽ?rL&aa2 Nĝbb v.eEQ=(/_*tG|[q) EQ#A1cZ'D^;&0_ FQ9?/^ 'voJmw{މ>(HӴ{,pT A> ?| ۴S|AA]r&D髄.2=7 BBm=󟾃Mn ]]A;iU' h$켍^?^(w dU_113xi&,lP$oRqU ȧP^3na? S-X2ct .h h|VV"~݌ 03~P&c 8i0A4^w?P]#oAиMlk~!C_|Ծ!)?w;sob LOn|} /8o* A2ٿ?d/z93#V7pb땔˕eEgO""H^GQ;YiK> G_,{n3(;owdDlҐIQ1QBQ޿bڽuox88X#cҋ/^[{.O?NKM}MOrSrR/&'=3kﻟ_~]}}JrR`+sמ-}PyRby9X |%jk׽KCg߾e+&I_nJLooUa[>`KrRq=;w|w:Ϟv7j66jCAYd ZmV>yLTDM/veAݑ_79QQQ4Ms8~g[އ;%swddo~Wsמ$s76덡zz̯aoBՎ*.T\$ݕo>z=={cx6z7^0n?ILLx#.WU=f9Nl*U &wA0 ++ß__/qڭ\ѫ7S'SR.A,U3,9_z3| 0 {_o/T^DD&vw[p ::,+8(]Cc*^|3 Cu^MQEgfsGtoؿg]V?0זw7t7>ח>{ևCprGio=u nxw&Ukj; |O>* H|\,3W;!00pL/ޮӑ$RkjGs|WWNɤc?1?@q@04MuA0G~GQt??xk[4ᏦwP(ܹ{b &oh[zˣdwGd}C\.+yч GDCDiL|*(HأpR}ggޢZ~I '|wEfef  HQq#m|r sמ74G}ESյV.ӋۃW_T*1{9:oPIQo^G䇓O{n޲W^x{3W_a+ ?| (X 5K kP}F\4qA+aO`W$2&McU''oB}H ?| [6G\$                              +DžXL IENDB`gtk-nocsd/Images/Old3.png000066400000000000000000002204311517422556600155020ustar00rootroot00000000000000PNG  IHDRVI pHYs+ IDATxu\AT$D P$[;0( EDQ%)n.~y>nvٙ{vwv!`1=" +p~A6vN<:S*K~072S(p*BQ R8<'鴜FeV (Ę ČDʔxDArprCKt:,$"ƬLK}['H=~]cR2ӜB^v)Tk³)&u*4,,(88:&L&O2[L$*"2BLL.._ozt%%j./ܻ2!Tj.ڽk:=]3>UM*zu?UZQ =24&BzʥȰov6OeF:w計/g͜@C 9wtDŽ>>ydxNw3;7a8gG{Z07l"U}9X׏#R5@ QlE&TƓ=f[SjjkJKb988B'N?nΨQSL^Ϝ1]HHpI UT͝#=rd3myl\pb+BY0+*-C\~e7vwprpboeFvqrqd2JQAQ ;;ml,->zpoܸܹ{O⡄8VA{*/ }4wAr$$(=0fP^;g^!H$}]]ݲ}yS/bnMT_>io>j0!XIT!DT4߅9v̘ĤDKT*olM0f 5J,++Q2tP..N5Bg+131zd{IHH@1YX:KFF+*4VcOl͝ Bh6}I m;v}v xsnw͠+\;uZG-{rӕ6P[զ%j&F疫kw/Y3ܺn$w̷CP:7h4Mιi坥't* H]G&FUUU]]Si⒒|P}}nn¢!CxXYX;NaI =a lد ώqqq޹uyt%n͍2d´iv!YZDd䢅*D"ѱw<1q|ñ Udff1B? 55m*^%'7: =o.b/_ᩭwv;͟7ʥ ;v=!t74hn~Rg?k!"2rpD ܌#7TDZ*;Jot<+Og̚9!/))-ٚiL$vesJCKpʔ'=`p_JXHes}{w:H$KWlܼve23!TU]֯۰~]jܥ?2ʛB-/VB1Q_BZEKȘ?o.8vuegjjZBlx{/ե+~Z|싊޽* _059pHhhVܼJ[+ɳaD"QLLH$$v~< GxfGH!Zj9ֈ! + 2G ' 5ʜs'VO ..)%--/711)y0}?nXNNVXVV]l|=wO#7qB(9)!Bo[U^(Jۛx<jm-F*f̆D"zu[z$yS'v;䎍)efbt-˛o:o7L&?zprێ݇|qn]}}uO@*+ Lœ)8rD)8"ڀV*iDDk"mj<7'$Ξ5SDX8/?!DP_WzA^||Ç;qϞZnܬYp y| .^fV{M۷wwo\B|Ct2?^meegKJH*̓S^:ia=?NxL&>w$Hv?PZZڬ춛7ld2auuc'(ʕYYX_zR] ӾtQ@+/%]DX~fAz+FZ!H暆czM666&'ʔTYU5z(66zÇVw(33AG޾`Fwv ?nX.%5 Ĥh}VWUUwe/VVgL$oiAA!B,,,|%-326O͝ø8wH))'OQGrtrfJ ܻoN >}򋎉avch4Sc/ U{>>z==o8%\CH%"N*$«_ppQQqcf ;[|nJ42-=wȐN+{x%WW遅J;pS7}\R\;v %KJ=ae肉lEOg Bc>wyq FF.N\;?w#+SWWg筞>S[ޝ[iReff=x{AaH:Ïz֎,#"[h .?0!_õ6}p?3< H&,ΧoPNOog0U/-FD~A'~Bl۱o\k֬^tˆ Ǘ/!th;9?o[B?ˋuRSӖk۳k%Æ ۭjllY=7;x MK[a oF/Gd<w**9oӮ70k>Mv6f X=fx+.x ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) Ŵ%s98 Lô/$B"3+:!:B!p>NG4joNI<Ϊʊi)02+:Ig}9(v~ܭѨx<[S4 ?p>ht7_V^MMML9Gͱ]ssq557v`0vO^=ץB,d^"t@ !GG#P^!7@z \0HY Dڢb qaWPR~ʡk浪Wcƺ}OPiczK٤u\F^!ڼˇ#tzyUMtrKO}/~N,4w~=)H 𱲐BW?ryZ\EaBj1*JO3k0?ʴ'bB|gN2=zK>]?#׈_pyU V=) {QRVQRV*nhjJig1n߽VLJFۭT*-!_rR䱣0VJ<-[Ws77pqh,Lھqdm8efvXieNo_;NZ-[W*@{8nBNnGG<19reخT^Y6[!$"0ҩ^~3ѝS|k۪?+Uw8uWN;z|wpص#;Y$!.V?z} YǷt Q<\<\? mH w0^K'Stpt:=5'_L!6?<.Jy3jEl]s _f}%}G7nN> 3r n<{_%*~E[E@l ? x|sO)ɍq(/+xN׏H$舎S8613kxXt?Xr}IĆnDصs!t !ݻv?Ek3PzSRSMĿqzVBa~~4# f1FjT?pcNv׶D E$gȏ|hkݳ.Qr(?A} 1)1fL-:xJlX%"0\amkP`R%++{vGJy/񣠠;@ ;gty<+0_~/^Dy_h43[:H *//bZ{@|-9eV/{N_ylaC*{Vtwn["chIp`;T:">ya$lSNaQӓPw:IAIQ3;Z}-[׮Un/-?YTmUUUN0v{oqppXYZ ,R^j6}!!{߾!:cNN.B()9iذa[7OhOB775{s*z:#888lYm~䐁9#x+WWT[|"͛7L| 1dfb4jS45?x16BB7o\}mrkjj};?w!3:!'?{[޴q=B蹳CiYYeEehX vhٳvضq~s+C EEeUkw-XYXUp߾E=xh^ cG=s!??G}񓧓S#+aڑRR ^v)ܼq77nlYYSg [6o̼{Q^VWJR@G޻o^[[6;;GQQa?^($$h~m;KKKBIɊ {w\qKWgv ]Ww_,9p~˷ߓҤַ~OJ9bҪM˷0^ST񅺌u NϞp鲱97_ u1Qv !4\' Ϝ0m 555~]FTV^^QQ9GYޡe9;yhYY8ƍ O<~tǗx+Ϟ]Ą$AA̬,-F21)D";"7mEQ~ℓ{'qh4ZW.Z7|ݽit7wivLLUeEُNw-%E¢~'(( >bDS)ϖ͛B\Q#z̊s'իѴ216|lѫ!!!{ن }0p+Rʂ\EEEfs}ZW˗/sLO  ^.~jfdDXrbK>>V1y seeez:A~ٙ!A9;9F'%?|M]M Z?}Z\YE)*(sqh3kԨȈÇ QSC}…:zX=645=ߥ$EGE>u+$&QYiA~!EEEi)6l2L5ګ^a^uyo^`|\^Nnzkשkh> 3G.V=mx6>!!T]Umkg?EvD޳߭wE7m2y{[y ֋<>TUKKKwPg_BBYGkك=`OWbK0@-M ;;{R#vXD x/!sQQYUP(LMLL@@Ffb8!11<,\XX477L&;66.n%j)sr(϶zJR[>`kgMÇ54|ȢhegoF{sgoDE}'IRYYٌ:jjjj+ sysPx2,++=bSII)drv8=d:BKB4tnN0@ ⚿” 3ڵ\ҬˋzzX uKN<U+**rswwr>lXPP#G;8''aaa BB^zFG}:v&V| ޱk7#HAA*5Fۻ7fݻGDX)--m-M2%spCc X9 )1QѺ:sBf_) oK {@```)!ׯw+ <E TQYP؍}#;p%ls{ۻk)pn~~Z=ΫﶒHs{4hBIT-_Q~/3##F >JNOMNx-kbldآ]H$#FBQ)6'''=## 0ⱥ VN"Ϟ1d|СX ugVQ0B)LUfzj\a4*(1!.1!=NNNF-M 'GАKTΙ73=QFa圝cX>f>c˗.f28زGB;wl  d]|yE sprqݿwQE3OYsϞ?ଙ3BNߖ.[}?VYUuqccŪkttM{NFSc{}߽sc'W76:թ`"UUI ]-v716P5V9:93 ޾x/A\/|R<BkihJNNF]rcذa!B[馥72nE:U^N-B>|(4, !3NZzz&3Feӆg!HxIjjjf yojj'`g+%)I&lpx}S`MMMFf&B(---9%9:یB:zk5(^׷]ʘo)͔V;;޼u{ݍG!sm={TnpnD =|䨽cۭm=۫!<</]}n.[2zh$[W^kH$jjj%-ʚeyyyj!D%6;gС%%%_QPX׭[-#3@ ;::Y=nwǯ\JkaO}괧`jy@M+Bۛ?%$$`7牕UW_W$''|Yݲ[7b]]ѣ v]hB>:kprrpxuk<= >S+/M$OƏgfjrVA899ܾ<{6''W]}*-woϔ΂@ԸcB1k773BXXXBBQhb|~qq ʌ;~"""VA>7KyhY)i靻466 ?sGɌ3v̸ B֯ky8ЍkWg.--ݪMJZZv8ٱ/^:q =S""ڹ\,,,Ϭddd>oުԄ$BVVFWGfM1Xavv;Ǐ7{֬VA7mْjnvswp@ ޻%62c8nVXںm;f B7oFH? Ч nhhh lƏ>3p_IQ!$,,ړfUQQ9qKq8Ǐ Z,**!261]{-M ]z;E1z G   Keq[~{6l(BݚE!~@^MluўO3ddlw9sE3ӈƴ=4y&jF{ڸa}GzIMM&LptΝ3gy!a\\tb}RTPhOJJ !7K /Rf٭6m'H1` )83DqtTdVFZP: J516JLKL3p B>3=58(TEwo3ӣ"#=B DbZJ҂ F0xu߳{w|`@+++`cc+g̘.""B"H$%ꩇB;$QDDde6O߸Q'6.  |||4 ¼ PJJ3н,B۷޵!tvV ՙ<[CsUUu rU--V}b s1CGfϞuڵ윯_ ;>|dg>ׯ}:c6ZEeA~~s^dgg0a‰SLO~WjD"d2˗[(ϝe~ߪm󖭞^^yyyl8.''ˍ0g;W[[/PVVV]S @Y׼R<´_<|dsI=jN_B~PE!4JZ:QQG:ycBϟ|ۺe3WRRKAɩH]4UA^ނ¢)&.qʪ"t˻fl< 0w߶w޾}̀< ,(,LLL~Z}ݼE_s6//oP5Ukp8)IdRrPsSs\\\MM͔ɓ,7*;8}RPP0sO ة]`wOzddF3^7.+; ! /7Q.'7!'7F}FPEeIAA_KQ={ذaBBB2/px"+֬^h3;đÇDEE>|dCzUJj*6G]]ϑ`@R ?466;o.wC|!TPPJ{ͬY3--{X 11?`o?~ WA`a$|B9IHHffv~]jz_; R A R A R A R A R A R A R A R Aj--2\HP{K /yxzakkj1y!8 B|f̘~ŌCBO  LO9h؎&F'OtBjrbB\̱GG=!.#N߽gߝ7WZww*ڻЛd ,(,LLLjUx}nߞ rZEinnyzyހy~T5چOnذNWo]@N͜9ˋЈb{RR1c TWWzƏ>]Ї+''㹸Ο;W,EDD^,++3rH uu9x<~6#GrssM2L&ggeR3 |3*힝Z[JR[/[l4SBf|3 N tfE/$!!߭ꪞ7NA 0HA 0Y&F-B<܅2= I{*f4#&Ɖ qI JJL>tP;PUef}@_#{v~㕒ׯ  Aݿw׭lv.KA^N|lݼs_YYw$+O?xЫG?jm{v>{zE >zNzF9+Vj #F<361xl'=C999nc1ݢE*ٿаz(3ztbbRLLL/=j@`^^^/7Y }c"""KFE}wwB[{r)'߽s[JNNNFf;x7LDQ(Z(E;*[E+E'-[vRRvC`B~5MA:ߏ?ss5ܳ ]6!SSdd^¢oSEӧOZ4dHX q*ʃLhᓤY\ $[[WG~njjufnÓ]`~Ӹz\ۢkג8m4laGc#Cmɷf-Ɔ˖.mooΗ\^/ͫ/j{}#fTN.=>'7j䇓aٲeE㟀хOaD3R^"{IaUhr|p 8X{82 '+ڍ~)nXm0S~qv%8$TWPXh# jhhPTR! οIϿοPة8))?j+5-qTT9錄?.>a 6};:f& \Ç]݊KJ^xzyUT,ѵkG N: 562,->Ƹ<; HINRQVC$TvlߖYK$DFo821񉧗9 sYM[29ks 9ȟLHk>OMp|Rb<!~H=u;W@Vf%KPn*>A d|&e;;;-,-^Cvvu?u;nkA dܙ&'77o޼Zh/*~rgא˗{ d0L-M 5k-[KMUSCɓ@h= s3>>իɝ]Cz:ϓ?t@ $3=::BN?~q; +#$180`RergאTO:w~B6&ߎЉ̎۝oE pG(2A{wNdVXA"[  h X[Y^-6-:FFRPu ?e hϟ?/]4(?K |nR #=a٧@ $%+ʪY]n'Qx޸~Ý\þ%%ܼ1 ?XO/ҺKFg,23҈YJ;w7"kDTWef|KL);KJ c?455WVVVVVttv"k_Rv(R ==YSYΎȈvk}WWWwEVFfΜ9x<튻S']ݾ"bbb߾MLJܭsfn^y,ظ+F>|AM[MM͗]h><{vO .5YYRRU__:|?))::D"]v櫜j"ߊ_y@GuCBC ~F-J^&TW{zz P(>WSSuaaQCC adqIǏL5櫜ظT9sdeyiB^h0]+  ?X~MSs " E=#=Tj_ @~K/FAe^ ͟iok362k 7|YVVN[ݬ$wPYU_{xyoK N֏ӦMc``08~qB\s޴hᓤY(v|H_^KIIS ѡ/_mڬMOOĔA!>8/;eeSf|%++3uBB}psq},+/#g KXm+n0Jd|ihi}DN|0u9ss,XPT uzAWWYcaȥߡ eDLFFΎN* |%6. pus(,4FGC6CP?*qHIOcei^MI}seetx f(*>!΁j~}{{rB@[[[yyG̨Ny?zu}K}Nnnd223vOOOOqqg6n}Rf KŘe2ۅI{[5dTT\(@b[#]r8s_z5wWW`ѢE#>˖};]|9Jԇ_AcǎRj ZZZ"`ggg;#QSSC9CKLB8<<ϟm۴jhJH-$S EEn@cc#/Tk~q GS h@~C>~-88¶[.\FXX!ݻϚ}z`P077Yc#NNN111k++=߿za}= #-%W[}{v`0T45==iaaa^#FkkjuuRvy .E"蘙m.X 9A]./QQV4N3ccTU , IDAT}&&3f\J/+/ooo߽K-) Hl|v]655]trZbr3Srp{znćgB1L@WO-MWTOq66aaYi|}0v&&&w7WW7w䌗&y۷~r54$ _G砩qjLSӳF=chW[;=0 ~}=ݴOr^JIIѥ*|L^^ކ]{7lLOv UJ]}m- CgR11)ѫ,##CSsOm~\->Ш@xzyft\ޑIbB\\<9F7P֩޳dؘ'o߾ݼukNNYbBܣcG{(ȱc۲y3e@ffҿOIyagȠ6==8,xqZSӗM?H:ЍL(&7u5Z{ɷy-7}32?|iӔU ;;tڷW{O>$'-`L- Ԩ&ϝjnnrGSkp؞&'kjUTูXYY''/aҹNIN 7ފ@&1?tM ##EyyEmmj!!$'[-x1&C6?dG(~s֩S200 XxLL,g72.L,Xs(*&Atu]r³cɖq,78_[`mpd7o+srs'_ ɟocbb'O`}5'77$4'#~\] @ C2YE@ Iw(S" m[Q2{쐠@B%.?W~x؞ݻ[L~XS]GkAJrًDcLM[@ 78:o\IiY]{`0Ǐ XO!^>O[Ҳ! g'¢b,Q;*#!|KS߼ye7o4^'l82-- HC;w^FյiP $<-^-t/,[QV[,,V7u5bbbI q5UiϷnB.YK$D>|0w\ ht\L܉$m-MȚ5q15U߅l==tBbkH%xykjr SS=^c_y/,$4,LDtūkEDG YsU+3f |UNΥ#*{;]ak…2rܽ[[7th=*FɈ77sp]DOWGJRr4xyy썌Ϯ?  |Ii}UU -.)Y'.ݽG]}g58&((찲011[+.33+,$999%&63@QQALTK]{֬#TW_#7o:omdx IxwwrP#6ov=wYQCI4o@m|61)[5ۏ%%?~ 2e 7Xojj.,,jhh!L(jii{q@̬>S0m+~=79KˆƢ"]?]j?ߋ|[^ta}=G{;Kj"%<>?E ƷnWkk"FQQ$,XSS%DbMjZڵ744xfcu!a'/[ 8cs~A>9W|d eH_O8ĔFO8uٳf P([IO!n|_kG\MUe߾y%'f,;iӰ “XwǏM$%=xb0#3bk)#">}j21`O>V-={6+ o 4qt@>{\=rԠ䬱?!ܢP($V8BwOP[;r FYx<B5$*AfMN8 K]͛\/<Rvp_ РB9ᔩ#Ộ qK&~xhpTG'!fdtvuQ w+i0[eaa.Y`og{b,e ^]]]EXfŊo cn-hlllʇxE t߾"ڦMFD?!1QQIXMQ!5^l%$_dg?OME/ZppqD|8sѩSVToUg( o GY0?pԩSO8`aa^rM-̲|䭶+V,ohlҸ6l=o\o'5֓j s}=)3sÈwFdȟDBȎ>i)۷X$$4իa0i)Z# r Һ33kHHuVXagIKI-\Bm(+++3ֆ ,]ʇ` &1ypPi2$CVND"0ѝ9}kd4J ̙3ɾ323+p8__5kHyJJJ͛+//sA=髥͵\@@_OB=zəӧ?}jǏl77#kL.\(&&v?pgcb֊x!"۾7i;852q(ykhHPQAAS3TVVkkifge6>k:b:{,^s foV\T$1!..OHIy(2"!>~AtLl|lt~^ξW='Gݒ⢐ࠨ{z/MƬ9uy ɐ  *((y{kp ui^K))IoooV]]]PP@곧6!&9sN<\܆!&&^m$$8ckk NOOi]laE#cN$1nLL7pg}z޸{!rƵP ⋫ǑO$_RQ^*Q^i|{{7T?@rYcgkbrқ7nnWF>lۺEOWkW=898 3 @Ɉ-]>NX@fRTTHLLvv**) \IqޅIIE?2N&>#TMUEQaԩScbbO@%LLL*-)؎dϻ]rrslluti @ ? LLz"'YnӖ]gΜ8J.䤧GӧO]?))I+?@Z- q/TUU㰅קQMym15ymqx0q@J#A^v; OPՑch4''=@ ڌ >mY`a+W\ EXUӧ3229}j̙4*ikk{+WZdgkCMkϻ@ 6o rs_uwwB$8:]IO}c[+--{p^lt@OH@.8 @&\w% (OΞ=Ƶ։kxd2v">> *#+>(9npt޼ҲhFFh 1M [A<,^<#oijZ @ajժ'I R-8+/ĕD7kʨzj*ʪht\L܉$Qd@ -kDq.F&B}=;::$e)bkk ;,-;t Z'${bhHPQx@dB4 P---uuu""vN_Oבֿ̦ˮnh4ZZZj5@ @&6v/_d70`ffFO:+211p"T27otq==5݄j |%6., 6C :o Jj&k{@~!4֓$7lH{>zdGohg͛eeٳgO>]]} + ҥ| @ |njijpss-eaaQysq1ѿȤgM ++yZ"[ȳd ;chjjvbmeE&///'Gݒ⢐ࠨ{3{SQ'==SC qv6{ؘvk*sΕ~ÓTf\yyhaea(/XQc#%9)88|KA W9H,ьJQQѥeei/QlۺX)I !ADBefFڞ=)%R q1є 4_de iϟ*+)TUc|s" J$T222xWWK@ odRI#>IN gyzyH$;{ήF> jp("ÇW99bn6VLLL*vUŹ~Z1, DPSڇ/^M"}}}8<ˋe j*"#r_e^-$4e$y 9鋋'G @ i߽{ѱlN2PbddR Pr͛\/{x\[/!".,E!3&!21Oחa}4=R˖}3+/'|jM-[ZSS(-+ZH$$_dg?OM,ZpHdh4cB d2bF"0`X.D-UU_ȖSVQ#g;B 1Qo^ _H!ᗎ@Ƈq>?VRB A G! r4@@ L>@ /@Lr[!@@@ h!M @RXhog{xk@ @VVVVYDB 0$(gɒV x޸XOj'Tx{.Z4mLRPٳcc۝+sΕkj9m1qv f}on޺(@ 8Z`D3**)GEE_t`0޾Uzy^={6RS%uY.Ej2mB_QVTome322\( ZjHi龷nSi|QK$=KUG弜1c@ď͚4U/vv;J\y\L492ضuK&)I:pqbeai'-* $7lH{>dֈkF\ x@:::E>TY(m;Uf͚O{[/,((DBR:.>ݝ]aBKKF*'O@Y( 0f͚\n$oog{)^nrr/̜9s…&gM899srx}…2rܽ[[W 2a zÝ2gq,%)9ZWxyE!O8wY˗/?ch\^^QZVv*QѵHnc[+u#x|Ff(t VVNNND͛7W=޼yE72e˗/DGmm:*qDBeӆFHqc#օ 58z-.`}bHH&m-W99Aͱq_^3AO>L<TUT,^\ZJVFjaddo-Cxm:~h\O|[[W䲩^_$K~VYE@>#33f0!,VVZ6uT...FFF,K*,*Cb9rڭ>s̐@$X.//m槰H@Kq&;vl෱CRׯ/{]IIIll_:n`~lnn~yiY~Jӵ/pK..22sNӽ{+#3X^ta}=G{;Kj"%<>?ŞQ.455]rL$֤]~CCCJ_;{G'Buu^~~hEvCcەiӦAGG%?ٳT߷7 0(1)͛7>7}N_uҲ{*Wn^DwکH{ggCNN q#{zzkjg0 , zRw7{'::: rrT9PNN'N>p j/X  \|i BaϞ5/(,x{^PP*'GB|恃:3O30{\6}ڴss˥+jPTUWSVV^C$b`0 -լϟu#)|d"\psq122R۷0o޼$z|l8m4^r Qѵ/_d߿s&O#2LLL)O)[x1 @PttTo8W,_N~`bbBu?~hjfw')IH$]8uTr=\.U"lٳYYX>~ G>\ml޹Eֿwi@VZ[[g0Ϡ!LW|dLc|`Xb?}Mnn.7ﲲreC@ڴi$FP<U_px7779yy9N@5[0624gΜ",600_{~'h::gϞ14kN999<#""HSgg-ߛf,b5[ZZWTTPTTBhbRY#..:"5-m'OWQ眥UϞ֩cme[^Qan~aaf6gw<ST{.#3_i̮SB^Vزy僇t32"> guttVౣ3R3O@mb߯G jhhi}\wG |%6. qrrmv]b5QEm%$Cr rJEϐG26otq==5݄:y1!!v%8$TWPXh#Uv`P(TCC 9k@!S e5'O# @y]A}'5U Η\ho;~'ˍxIP"ogbhaaT5]qw +[u$!yv0}4$}Pjkk{{{**p``qp˖.+((000,[ǿdǝw@o۫s'٥ hnnoh@P,,&~lm}8 oňFGEGw @,##Cdv:fpBZZuqȸMSS|=<9s$=}@`PAAavVfnKVVV_[WfʔNN&'uuu] SK/I9KU&4,!+#햯>zk[  sUUT(+=chW[;=0 r򂂃yӟQ/-Š~kd2M @R @ _ \ @F \ @&p-@ g@ !oYYY[ege %<$?2>>?Q(!d2&pI 2N[08~mS%Gsn״e6oڄ;!Qh0{쐠@B%.?okg ;aaa.?ǝp~l-Y0K/:_B\c0oߪWKR哞A"\.cWRB|?kaddP-$*#>Xjm떈d <9VȚ5q15Uߺ+/ĕEĺ{45r_eWWEFQ*FbN7h'iki'lR_rX]72K!*c&#/D#ޮmm.<|p,qy]UES$>IJ06MUEW^Fl-.XǕ[bddOnۺ% u/|۫ -?}אY(J$bں:rz~r@w&>tg sR5ʐcWvwwcWR200`pYㄸXeez d%,tn~򔗗IIE".u/ؔW899srx}"_^^~?kn޺qRs##ýVM 2gRPPػƎ.ΔwwwoWP|qP6v=*jB+)..ޣ \;Yt]V&&fkeff13s   VVLLe7wtt~RS'Ϛnͽ ubll۷Hr'=!݈J;ɹ۷oOH9յySٽlko"wŠ+TwVۭϿLi#NYMd1&ݻ˖Ⅶ "v.ەuaVõK,LVVk֊;~b"LzDXD^}+K gM!3SLձ{e5Р䲱ͷ:oXT,ĄBcssgKZrrcSSxY\RǠ)Spsq~7HH,^ɼ|,3D¢b &K+¢\P2\z7}oedf655_vuC_7%&%EGǐH׮311|SM$啛G":v**WVV**(  ;?%K,L:UnǏɝrHIMKvh4ܢkBu i.[;B<lȐ #NYMd2&/%h4*l…fB.ϟ`p8u""9v(bhDB>t߽}FMV\~ݘj pqq122b,\aQ??yKk"iBQ X@@@)vbw"@zIUREH/  H,'5"z/"gf7y_hENg[99Yu5䣩DHXbZ[=JI}YA ywbc#rSC&q1_|&33Ş^9YÇ"m,-.AoqjK{{;fzCCCU>')) }__`ɪ* 螶ϯ"wK_ ' YG30; a4 ~e_V@;陒|s~mخN ]̋L(J>&&&>yp^Rb`F|"gG#V5?" %dF o;`~@UN^NVLCC=n -h6AVSLdddHT 1 :1{z@cc㋗/u׮Yr[DAϧ̞%>(Ltj u?}H]&J}ѣǏ=F7gJB,[򱭍& Bڳݿ/\ ]]]A!NN/yViDBBiyt˱XZ|kׯS(ͫ%766*((8;91,3==.]>sB5kV 9ƀ ?NEnJ#J/=[CCNd䰟1طwwmmm҂{׭[IH\r޾ĤÇ~ 4aᷦMkohUGGl4wۻ Y/ȿ S{x] ̳pqt/{qʧO] DMgΘgn2!,,TRQrRBBbaa2{zz`0Qq1׬^5 cho"'[ZZIʸ#VV[2FFhh1XC ~he}쌏WVFB%-&+S[>?<'u/Zw횘~ظqƥ>J Ϻm I ߿PRBV~%A Œ~cRzժG)I ue%D#oA>~~~GϲjK oJ͜vbbryy4S>҆fUeo#>N׺.P-Vϝ~&a4G!,76e+Beeg߸~K&Mcț5DKI&MJWO2ECCMK*7n2+0?a&o +;Yɹg>|(,*zӴ cxm^^~uuaBm͕@J"Y:˾cQv8޼>9{ٳ_?*6aQNz0g*VScwʖ˹n~LLlyEEFfi/0.e%e~mzgz}mzm`|0۶x{(+775* q|yiqxh⹃ \|D%57+k,ٻ@CCChH.K)|xmzFVsBm͕@y!5+Xa1a2m-XR噉b5:=]3W޳{W/lʾ{#g4CjIACBN{y&:KVPe~=_? >t:_ISռNjVG^54Ӟ6&%KKKۻ _Uq-` y(}D"PWac{iӐ**1 u'CfHJ675 i888MO&ƅ׮N2R!!7J mmNR-PcjbPW9ͯ:bvQ@aႼ{v\~pЍ‚Vhݵk-[pI {Ԥ8*}=JIBիVh  aS@S5dim5} 願|N# ~2X^Qakgj`xhU[aQNzHg&SL㫨۷o<푐XSb ;5]~Yuzzׯ3{G'Ej &z/ <D+)9-mF=w?itJ{ڧГ& mn$ ,D%CӝREӰ('=3jd" ?6ummmx h% ѪI300oǎ&%C~"ffN8H$zhkO<9bgXXXD"=W7Nz0>!~a@uu8kkkϜ=WWWdx!QagP]]m/֘9cuu55I Svv梢A in^UKNIy<://͛\?N%7_vvqe7%ѝ;11 3Sӊ /54y +$$h }srϞ;?~x jll9s-?'7Ӿt899mlm++~~H XKF |lkzLe('P:XtJ䣤(o߾Fu8ah}6ܸY@@ +#QF3$D~~MJʪ{`!͔G܉koguΐdX,6<, D "G33hնwwwgPz9ؑ8LFZ_XX-!1(+LF Ju99BZwJHXPQVXX ZHi'''Ô'OWQQ>i{ZdBǶ x3gΤnueU}Fl~~*) LCwThi===hiR3gdzq!o([J B˟={ְK@TTybҗ}}}Ov u~XT_DO8~`$ڈͩ!?^WW͠jj>M!2`ljF}m+L~o$B988fϞA MXE-꧁&2 D"`GϷo"XYXT7$7n\ee 2 >Bϧ4Y2SQ;θ4&0hE}=mm? d8.POOxٳ6?z:g111UU$hjbb\RRB^Nb'̀>sD{w׬^%''P5miiYf]paH5mm-%K&O,"">ړ&MɂjIӒf(+;{9"lll,-&(*)b؆*  3GB\DeAN3fEK IOܿXሕuMm-EAXH\"",J D"c0~>>ǩ P(222ҞYYHІ],TRbhXPpȟ۷m޼i54d6c[ۃ1.NK/9SWw-=w V"ߏQ6L?1)91eW?}$NJJ޽w?zxO2uȋ9 vpmz%rD"mܼmmmwF;9wwW3S7o^&GuϑIJʣw"xx3Obl2EOݺ{j4tU&;q.ߗ={ׇvƊ/]ؔ)ۓNE׮8rM$twKecc{4툕͕҆@J w"%%%|/7.9%znFhSυKsɒaoM(,G^z5752fOAk~ cQ|?n=+W0zMO􌌇1C8!ٳ{WЍ%%ܡoheߦ&/"xW[Qɩ=~բ|/XJ{㯿]C^^X[qSibgu/^ь3Y0h>bbF aUl}C?OFF}Vo/eF\e9x˖gYؘ}~3}uu5oӄSLA*ȣsyx41=CNNNgºQhX9y(5*vqv"&N<Lݿowy QsAuկ Z}SB%zBMvV>m|iq.K jUB!!7J mmN"JI۷m-,'^2esgU%EN?f~j WY}HގS~E6Y>7Wʊ25d{0] =ic[ZVVK +0XZx5+;sX,VKbgXXXH`ߋ_RZǰp...I IMmkYyyN"*iz"]ZGSLq8HF3fWW3T;ڿoopHh Ȼn޷gz/ 3+KIIxy0{"u/q@-$$hx<Ç/ssKJ}ó@/(@A> 777{ ^A]ַooݺ-((x/>zH B#`(ԜNb򍛷0?ϗI41pfe;-w,]_y7/^-B6/_Ԥ7o^fV֐=@M A` GZ eib 蝈[#",<}w7WY 7*((̝;K̶m74G{IIQQ[[{MUUU>jj"-[a$ `0A7qp[o`$ ̊( =WU(/\1d{0_F&mǏAEdeˣgff~a؃^jAed X4)!1KEE֯%#bB( @HPQ{G`0Gd T᪐/===d2y^<~#($4t0_@-idhmVSN}"1GGx'ҧ)..x؇O>$F;~~5)饅t oрD!@@>W7w@F&5YvHgkgd4 eŋw˖;y4ٳtu3$%.ՉpagWgii^@HЌi`%WrJݨ{x)/?_AA!+;ennhX8 >!1==@?7/ch)/jjkR(A[6o/bׯb4Ϟ;hh Z>*Esxxhh "$d70܈>>ɉ 'O=.d '>!:d't)ۥ:x<!&YJLNIٰn]AU+W "|"cS7oZДoohhXj%;;{ 'wLOb 5K\FFߑ?}m+ϝ=׎YY}}}6>?{|;wD vu`%`.WWW׉6 ICfa% L&#)^ Ia@ NN!Er,}ֆgŊϞeke&z Ҙ qx]'%'qą H &3+k/bNH3g`-\\\hT'+;q!..fi7k 20gјg9UUUTUTR=br?D =LŢy4Cprrͤ/eDbcKϰXt40@6yúbbȦTHАD|7c@g.ZyĤ'KJLjfv72BCC`PIѫGIHpp[(9<4d,*PzcbcO;:;ߎpq50@DrptwXrETggGAAA@rJʉ6ǏY|ꄍmzF>=$fiIѭ؈;mzUYv^ ~~̫eŅy;3Ҟ\|w569s<వD255`0||6'` ]FFFZZ=++-,*640zÇhGgy.7nޤt$WL,*.665{=dfeyz?'Ou?FMKK@4ڴ>1>MSQwĤ[M]]Bqq544\K.ͶmtwKecc{4G5YGg?~p:eJkk+ @XB P/@ @Q @ @Q @ @Q @ @2KǡmO„)m2rrr66ԩPܴ_UefjH;g;*{@  lNi+ :i %#3@˗NO>lܼ=0}ڴ04+W.GE Mw88>{I&i.YUԽj*zz#lj, ?)""r|I&!}/sחڜtifjZY^N..aC]mvV2u9[<˪'<7o}EFɉ5SN!)I իVY֭{,~tԔ)S'îCMA7#)+ IDAT\]*+*+.~QyZ $;;`=8E]]4omuPI)!.Pah6aj\eB\,*{!+dшwsu9jmefjR^Zy)䐠o1.t O4??`?_Z\ҢӨMwĤ3>ޚKhիW^rjWs,;;{xXWh ^ с0Mn.ϟ?70M蝈[.I)* ܼ<''%ZX,rȤ{_9޴1|=''ǝ[fӭ)S&V`q*+;{aWgܹs5~eF LJN640@\Sc @{TWAC]]^^t+6wUA^ I7;CBD✛p#x$'&L~U!_zzzd R4MEE%}|WpxTͦw/@NNvŅX,Ui*+''.XyzƵ9Ϯ En^  ##Cll>k+0D#58+WNCʪ ·ߺ|G`WwU C0MDVYh0 ͛t۷4i58i`zz(  P";r}=mm٬Z3ؙw?:hww7}c1 Ppa]B"m0@Pi Ĥ$Wwd@Mm+W8x`ѦZa\i5Y.ku 32}ĉ.T"57g99ee/5k  ^BH450ҥ:::ڃm7o9cb 99َ[.NkVSRTZv999[222 (hijljazF&&ӞsO8p%bN> 566JKIM`cc;r0)=nG`.K -Mͭfit]DDXxԩLjή*)IHhk]3m4O>l)))}}mٲy||fɈւD255`0||6TKCzzM\8o61>r>nTl\|b|lA~f/\[#}ZY=9 vD""4p8mhk>J 5Krc/?:acPzM̶M6ini<jYfz ozUYv^ ~~CUuuNK3Sϲ=9w&]O>vwuaRKoocS"􉋳$=CF6Ϝ1#1>.)!^J/@t%Ebbc#Dw--H$l11`0bY{mfJfD؞*/{'>661){p OC 3G@ 7]mCQy@ ȏ] @(B d] @(B d] @(B d] ndM=q K^FgU,Y8+#mٙ}ڊZ*1&\ e:ϞQVv2#11bt_\俳#2Qo&姧SY>Wy"7--) 2@#nܼzbNNNm:=ȯHxoϜ1AߚOwnʪj޴$R)߁CY~t-/r5Psq_@`bhpP]mVhJJ q C} 5]= ޼q_UZ\hksX@,ܾmkaA>-ʔ)SΟ;()zu14kWkUr?&MD_Arb| g^NuXOPS[0޲%YV=&6yBnŅ4==S㼗i:٩~tRnyMpC6utqn.6'O8WTV]1z$s{hlknj;g\]] d^ D*/-(~*??qiB  >J.TYӳy4א,-cbc4;X[YqvDBE/]p!Munn7TPP;w=<,whmnhj*)*jkkobiGMMe+V98Z90LЍk uuXrNstt=ظxJJJtl?(;Yĭ0T XKsƅ*QInSKgiww7ڙlm/_rQw͛::Ku"-y س{W/l -<}II-&QqIieeL(maKXz IɽTR 6ގ3 Uk ӧ=7cT@3f,^27o\ZS[gǬCL~֯_gnaikg?H`ؓ6eeC 9%n=035yN{#chQRRRS[kc{ UWS8egGjn.** '$vtv=w[YYi:ZYYU^QqT)>|27z=)9fPPQQqGG+W[ZZϜ=b4i`Ӵ6U D? ..../^ չ{xH$33Ne˗ߺ-(8u5EYHo߾u% "F!e2{f6+Eo~󦾾!9%c[ZZ H$`WB #ս>2챵bx{pb0s!(DSsɴi"+W#^>ÑCp칝; [O# 2@Dl8~x UU8{{[ 99Yu55tq\bb%%7~?~|q+dRݍJutt|UkhGeDTINVl۶UttԩS?NEed~]!'+;G^V\0$4LEEENvݻW̶qqppHHHprr de?TGJՅ h7H N*PzZ3ؙw?:(r6 ikFsٕgト$0H0 `z(=l==]?P(%%%O>]tiUI'{f65AXH( /޳ӧOǏUT=J&ӱ u:M޽PMՌJ[B] {s/ФB;P #$3]z tه­^y0N"|Zz:ŊNG Rs0,,/@npx49ϟ#Um'##C"`^iqq}N8~`~j@C-@&+X > ε9;ؠWF\ m``=~<̙374|+ #H\vĉ$ >}oYRRR ,vttohki.Y2ydYٵf"]]]A!NN*bbblmM TTVvvvnh@k~fӦDׯ7L4,؈beZLN+ߏGII}{wO%Q'󋈈-[c?immm"LM1 ?͉ IOOoii9!!!>G^$U! Gg%0I@4ڴyqI qRhmlOWDݽS[[fw)H I b~mخN ]4iBB^*|,;/??`J?be,3=ndz__?u.qy/|<inna eLq!C d,0 ??dJطcG h¢B9YYC d,0.wݳg2%7֟>}LyHqʝȻvQw7IS`z(=,fNc 2Iחd.K,Ksee̡tيys窩-%d|47 'Ma@ ^9q"kVUQVlllM$19q|vYZHIIMPTRb ]]]A!NN*bbblmM c1b*suu>9yΎ0}<]LM߼yx`,а:M XY=N }͑62: _Iuu)!m+tOpЍ}u9 ߰AVv.pu۷nmiiy⥣RMXYUMsb#|@7o޽w'$ɒ(kׯ ۶+..>#3sDj鐻:~ @n q.]K ͛XSkŬ\J:?ۧ[HXhS-̟7Ҿ~@s3:ح7wjXF7̳,S NNNm-͸Wf JJJ⭬ ' ALMre5f=߰I5I`XG{‚zBBB#C|Uqa)[$իGGoْ"Pp R]dUAF#Ct3#Msws-.,'de# *)%j2Н(~9|1ud࠺WyGp ޼q_UZ\hks իVm߶ls/痕?y˾կ_7jjjM >iҤ۷n o85n.6'O8WTV]Emj\v5W<Ȱ ?WY~SEoْ,PpAtLqq;wYZ09Yn.GLMK"0oo @NKxUUUXy-x\{G{jp\؉rr[Z[ߺ;3QPJ!BB)']Д IDATDwt@r+Dr,Vt;S~]"=W<3343xNv+==y&'+K"6YX=J߰iE 5%ӀLMnjn9S];??[.n I .ϟvUXX>lݲ񰍭9rredfbؐ/ TTոy/^lii9wޏ k>it3%%3)}֫WsvbbbƦfxaa!NNN+e0xݸ uݾcoiSح T߼W_WSv:ҹX5#c !菪jmm5ϟvq3(">0GfٲuGEYnnQq8鈍-rwI.'R2 |ǏO L"7Uqi(@ ddd223() -"]alO(&*z?򙅅lckGxŌLLs>{z;w͑Av'{LLLG%$ʷXnx)#3{fMjj SRR( ?KwK_,gm.F@OOeQIil <\:2<{lʅ fgvww߶AL--|dkva]rdCC;1ޞ-/^tS_RF,pk}^z} EiD"kF;#( ,[SS (ONJ40BȻp⺵+W[mh`fjw04I_G=puqVUQਯ`g``ؿo/3`_ITPXd‚;ad"u&M㓐GFCBNsLBB\TTT*( |$,䄄,S;ϟEGEnb9ǧ3Ԑ稃tԴ}oGTTtʕSN0a#^3fpwMMK\ 435l!,,$%)r3;@ pqqM0akFkVāEFux _:898KH hFĤGl~emmu65- Ycn55W">bpq{0`7_(|xiL]e託E.N)c.^LOURO5%v)?/7=5~T|8f//?Jpvq LcaLE~Jd@䱫3Sߧ===k/]673 sXγ܂rqq9Q.'/wn'G:u{{zXnNKyp&wEEG:U@cկgZq_}o7^g9s?|w=Õfcb)*-вsy /'JMKA O܇o|J x|Bbӧrws|)<` @#@\|FLt:#=USS#?/yvJ5A`r[ۍ?4/_\>` Z5X쵫WJKkpM=j  1AA>] tv~ U~~]pjwOw AJ|Bb|BHb}000`0#k觫kh8:pj  1@))) DtOUTRWEk`0Cpq]{{wo#QA?btu j_YYy<IWA+FuM??;;;\Dde>. Qk@VVV111]eV^`UIuA+FZZzccԩSgIf A ?OTDL{ib:餏n22=L~Mur߇rd,QŦM#݊ftuuĔԴs@ $utDE=ͯ!$$DGkM>Dz2޼y}g*REEYj? Kuu5Fֶz{yed_jJ q)Mx'_ rE1#ڽg=::9#H$;;ٿW!]]===7RAnw!UMM.sxcoz4ex45G$~Li7oF!?jaJ^\|BtOK߷mkW=neJ_]?-u5_W,*9\^WŇ{'uvV2hIy9יi6G*Wzg'jN7ZEEŤi)KHǼkx[/+߰us$?kK.UEYOFfk\|Bǿ4!4475,^=MXxǎ>|HKO_rRi/]A𐶌ڷwρU>~;,O]7E}55Ο\[ʝFƦSi <=}Yn.Rpq[{E5_ { d`9}2i׋>2-]bbb޽KLJBn"""tuQ%*<-#׻{t:V,_NYc>>'MD@xx ƍg-''ӋH$!%+**ŷ?qAtYYԀ'h]922JJBBvĆ¢koPޖޝ8yYQQA}}s999frsC޿FÇ^UywCv=Hh:;wosHȨ=>~St^8H'30dgT88:vtt}4&p?i[A '+g.qqq&=E> .>瘷¼윕+V"T itWww7/9]EMcbb 200x?~Hgwmmmyv!$$ኊе7_=T1}H_lnnfcgHJJ?[0STJkn+JJXVVGɏﺩm(Nq#ZPPH-MGgg'Dbg{k_y9DZ45< aE.--6Mx.F ^;CO>mΎC&&%\b"?;wNxDĀ/_ZYHK361mjjS%4,#+#R`P+::RT%&f>}F~O3=\#&f!8fǮ.LLTFF]pȴi1 q1{zm'rSS899GE/xemma< ɏG' ذc>G<!1~T'UnLK^ݻs`h ,;+*2ޒ%i忧ZIdbluӧ#0̑Ç^VUO<-*.OKO773+--=u %%ei#ՍS`bb:bc$eN~ڛAIIzzRRoȿٳgӪ H$_? ,,T\riiKfeĢG1TRmmmH()-% ..PJJ TUzNH´TKqߍ6gdtwwGFCSvΎoi**+-A>ZLE "POG(gJ?@>(b1NA4F] WVVN5)AdyMM$ZLTTY]GGtRG6 fD"Պ-6$$$_E?33зǧX,F1 ?OTD~GIC繻^?"g'^8׌|* &&ޝ 쳲e___/&*^CHn ;gf n 6m@uGa%K57S7VI,#4aae} KO%E&<|yeKnr:lSQQ{kk+ ˚Ն'O:l҂C/ǎiii677_zm/^FN s֎?>V4_#hkccl99O898J^zL+))ݽw-[XYYRS[@=z{{)͟W:|UIɀ?c$HfJK*:Tj+ܥo:465 ozb Ҳ2G{ʵ[lyhm_EY/(;jعkϓgN߸i3Nd*m[ttthi/ۻoњնG0W7 yrbFS3?bؐ>[oj}vԔcHnbUuѣAG=.N#cS).:?~~aB{y=s ŧ}W>Z1 IDAT>{z;w͑duVVՆ-,-_(>q&MB&xy^!bb~t~,mmm>}"z? ]`[[ی3o|p1͠nєAuȕ+?}SfȣLs{J @nO8ClX(۷H=;VhX~ }ebb"jJ~ܿ.+b2 {ب] q8F 9#Boye\\\iӘBo"{00x߼yW|mގbonnt.n׮^yuAA}B˗멏'$'$t+ߎD꠺okg'ZZѫCE?2ŔH-RG 2++;fPukC*++D"qJ}|/E-k55k>~ 4gڥz~0L|Bj-+`c=:WmV#4”&f5k?|x2xouUb -M=wYZZA#nj1.R5pD0YOooFz{z3gLG_NKKK:::JJJ7d>>>zbbKtLs8# z{5{GY3g\ #@P@b,v?_x)IɆt+--ǏG>322[JxjQu4”kj:;;Eӓ|媚33ӟ8Qv4Z_n7dcc#UUy󦷷wժ'NdaabǼ]G -T޾.. &9?!!SN9&!!.**j# YXXp8}{׵Dޏ:u+ kb”[ZZBBn8/^* '+;,t~Fg1c:_UU`FkVq "7=o߶UIi>L661#7S6&!.b#yG^GINNQQVENu q?}?Fp+4B@1Tyy9O*'а0OOK||}@ԩ7_{Y\x+$Att;۷111"c0.~a 00XevZ _1GI\Y8P<hdlz?**w7Vf%/ݹ 04O}]Q^Toog }CeggGDfOIi D(3 JNĴg.mz{{1̸q F](%%`Ltji8qȈ{L{;NG11ۻMv#6wA5gDa؂Mۣ4H+9E[+**0 ̿A4 j_YY9Ռ fg"6{URԴawJJZZ[-7[|\55ipp/B8ym ܽnڇ!2!uYY9b` '!Vrzvvvg*!hlu8tGTFF*~߁S|ICg'UU5 EAvVNNK !_xy320(Lda9]L,;+ƵknQIhffL{ff JNS\abB\\|AA Ac&fcȴibp>JWbeF-h1,9B̑92kL,1#3צ&NW] фoG._gok;e _^~~DD,m2228;XI N:y /'"--U͉'c}L+*.w쓔d[XΘ>Ocf͚['N`0奯nߑusɏbc׭>4CBjRGX[4iRaQѡ6țh 33src;ޢF&&Of#<3e3󵔇`ogl)Ćoon_|ihh-))]md}kj{{{ȭP}ʸ111#"z{#酦zᣔԴXY󠡹Mnfw:eJMMSg|3N=Q3k״\y56YɓCmZZZR$#v$G'+VY}S!0G5SZ24BЀC/֞&,cvd9=ᥬw,;@dڴ T:f&j U V+wtvAVҊLu=t>'Mt/"BOWXQQ#>>iR/PR'64]~cA566񭩩MMK;{1c];wܸyp[;otcDoѺ:Baa{O)Z kcF]Pb`9}rɟ?IMKsquAc=řp866r̝$ $$\T )--͛A rf޹{7b`]ЎLBo XYYy,6 mt1W,,,BBv6YYOl0bVӞD"!m457133322L|yÂa`ps'&&QUQIIMyISS3RKJJ?ZLe*A0¢'rrp|mGpnB"wtbi]SnnnL")Ú &ڇ~#^;CO>mΎC #کGb(.*,,gϞc֌;v'ЊL`0|b~95QN18&\:***[ZZde,Y `022?x@%=`lݻFtﻺȱqq+W.OIM]l"Rc0"|w{u X, \p9tci]hD?S?7/>] 9saddJmm<+ц;w9|h]q xZ }ƩӧO'DKJJ55_edfH$B='i~===ORR454d=tئFzzz X0ꚚN!A xƜ >vx^^^Klh |URĆHkK2 Ss%22#4Gf6(bci]_?,.z&&&i))…T#J6wΜ[,.\kN%gBUI&IH#ɕhE\ 435l!,,$%)r32e0CWTTtrp4Zy/HWDPO)-M+=%$䖫2r6!H{vNJz֧ Co323y99!!EjT/77͑v~@_߷w„ 7oZrĉ,,,t…֚\o@7F5SZ4/7vBП+㡷 _[Xl<|RfgeXY;pp21{yy?QRGG+jyzj;a xW"UT3S/ƞ8mj>psgfQ͍OHN~|?2yDaftL433sĠbbb/\@{zm'rSS899і46>`4SLL΁'&%>bs,kk6iin2k` @hX,^ziY2 w7W>^^˭~.cqtttbbckHg]1ʿw~5GJB+Ac0a2t/]2]`3}I|B׷d=匦1o„ /r?}|0&?f?G&\H+_YܼѳgNO"-%ez REs+_B|Ap @|v557;v</602]ӛÍ~ jYPrGT%蔐XXXT\\\YY\OY OAĤ$c>t9|ȲjWN4IQQw ˍ|keXմ(yS- (|8$t!s=Y}*#  198ž6~a:PK,VQVw"M B|L[;#-K0{kjk+++C{!1blM~t~Թ~#hLq4J4 IçA}pXY<=  ؘ  uvvl451&ii# h0'YlLMK{URUTP~PWSUwA,,O~dhRWS,;KgZ䚪ӧOGqvrėwrtA^N..&ufF*uk}y+̛_Vl@<suq~YTPSUqo֬YeK##<~]q?2m Ae]ٳEED|}O_}+$(%5u]{64Az ]01ṳgYX-m떎-e{7Zȑ>{v+4,L^a3O͓|س\)3$TXy˶E5ݹÃ]r& %Z>s A˺@iӺ6__UU{DMMmffƍII1gΞcee ,7R?:c>55iigϝ711s3gA!߿OMv#H˸q,7[TxxzDss3d-ۗ^UUW]=A4ٻ@}Dl Я,,,BBx܁ׯmaccCkh¢'rrpPERRbRb+++t,$$ኊ(VX )!|&Huuym:~xFFF2L$@A/XұQ1("eWgN\K0|}`q(7.!>amN{{;Ao=-(,lllܳ{wU%%sd~RUTTŬۆFF+Xh ,jZ.RTBPuhZV(zz9RP*B:VjP2&ZmbZZ[մ4 U x"GF*vnzk-h*Z+Ri h@MȂ Y4 &dA,A h@MBASUb![tFa`K !Ǝ[Je햭]VI^=[?MASߌ-j4}RYGĸ؉?~RL*ell``+8yȯ,⬭:+闱<B)D°F3,*zxuп+~CVki/'6|掚TӁ|wk޻w~BUɥ[.t<θu+1._?c: hX؏иڪ^g) _lj՚7kuێJ+iMk'33,`Ӗl]nqu\;wj׬ zO"JXŊaY EER˼NB$ T65/9W,-g.[G,~TPAlmm2_߼ykރ<͡ FZOϾ}ѩm? 8uQc>T*zi_Yl5l`׶oڲ&'{JS723W6r͛Wt޽3-,,jլٿ_*׬i?-Z4Ӌ]א3I}z%=hB[nf+Kˣ}tO'0! qj8|Y4Y5PEIR} zlC#ah_xzzz}zy3o~eʔtcF:zT:V];wBtrq+cn޴I3aB{˗kQQGWܻף_ݸ}^o¢)?##5jTwhIIW*U8R7mڱCn]]WFQV=SRS,YZPX8 k!!/aebbrp^RٹK;wNG7ȡ]\ӯ]'2qؐv`_AӸU/25|m=sjM\*޹Kre'سw!tslDĠ!Îu71Mף[۷_˒7h`hb+hPb}uMg\b1YH-EVU^sss=*?{65-m@~QRmݾCdx޽C! !Z9:rtsss]:viFff\|?/==eǬqe!K͜!yB2eʴls&!DRa]\;dbkk}t0^ 7nXgdhcfff},_[իV{ύ\ZQXXO^_3kFDF|[OjڤG7nx@ޠy;'~]?~MoU{FFUB;Iǂ_u6OZHamcc#HJJ*~Vj~rRc_}'NݾsݭWJ[8wJ꬧7lݺUZĤRȸ]14n\|9}}}J%P*/5ks2Bi9RŊJr#G [7^?_DFE`$G{JJm+6mZTT eMML߻q敫*{Zӽ;uLhXDdTn]'~KmiA hklpm-B_C0T.uPpځ_~JsG /MIa+a݀urҥII)**r̙P SR֭W5/Y,++Hת?^|u޾u_~]xb^ރϜKMYШ">.^R7m޺w߾ǺxUE>x՟ !maeey`+~߸i}Ǣ~MKB^T*<е۷_m O&UlɧS͝}+;i]!@9w7,7g0eCkZF,6MIMT*HMK['OسG~FFήҹMkkڠAmعSݱC{R) BXXXТok55yo8I'$H-ZԔY7bxAA'iWjO>8_?-=T)*:Ư^r M5jT_qՏZBVjDD+TV*ꝝlOS>"(!&]|Q~s/>s/P_mh/ȹU:no=/2mZhk?*^to^ЫG^; {H722ŵx!<<ʕ+{ȣc'Nndf !JBHOOלШO+PER !ܱKM諹s4i5͛Yg΄r꧆3Ν:ݻ;Ҙkլs˛u풛:_)>A3y& =j̇ךgȢ?\jeJcG2صk{99B'fϝt|uM2PAnNi?t/$6+"~KL!Ġoz}_~{v-c7U>rԴOo;wZYoQݻv̼y:S?ܱc6K-7of]vC,>Us>dJT*94lӿ\nyCVhdd8t !I5:tض}?-;-vymۺm{Rҕu͝1k)^Ų_~B,'J߸qͯ,-**jܬƺȭ72u0^SLllN]ޗǼtiNtS_#GT^zASQA z ܶ-,,:urٽw_,H󃱣k$&^fw7230o 7=}6no~͒ qWڜ*=;&M=s%?Tzbb>|ZN 4x'N2|5ƍLC}xa}z߼ys} :x9455]04o8m{4/7iǽz(W\NNιؽKGϝ56mRTҕ+B[\Iw^^^޿}Z"/_ƦL!ĭ<{ú˽U+/c\ڵں4jʕ~xi+h  &dA,A h@MȂ Y4 &dA,A h@MBO[,Xj"Jz4JV x BV(i-}smU^D9,#co)WRGkASV+U x1%=BJv^f7/]:@ R &dA,A h@MȂ Y4 &dA,3As̝RңQT)ѻVV'764ԴZ죁n䦣YXTyC=MK&7vm*lc@nz:x{J۵V*[l !gݾ{is?YzK7x9X)}ЧS2fGXqVg}8}[wm=x|¢"!?}?v͸yk7KW>4& cSܹsW=pYgGwh=WֲűəsqG;96Q*BΞS{.DᓾkO_kVcL|G{?r0k=7oY-~aQ~1y mx8jᠰKWwp~Ŕ2Z7'piDHDpy#C&j ! B [}CNEqnSI)]/}ñgRBpsdݎ+W3"b8½tᠰ~inmblrИ9Tzh#bnden~t}tw\pCCך\Ȳ~fjvՋZ%bblx<$x*6zzq7֨lIwaeT!BK]-T[zIYhx4hm4H͸!%>)5굴L!B 8ͪ<,^DP!juF}=G! Z!ɱ)nѴܹ sDߣ]ɺBvO?Zv''7,&~ל,LB-]&eU x)Q? ^_ZrR~o3u&dA,A h@MȂ Y4 &dA,A h@z*Tx#Y}#Y[-j!+ȷ(Z,ʽVU x!fKzX,A h@MȂ Y4 &dA,A h@M4?:eO?hTmNhԳhq: gCNkZUzj˖ ;yԫ Ҳž;5IW/|I-[oп_ByCC-W4mll&۳w﫝UPhvSRR.5ǓwãOFZ++5w.*bi*YӦi)W̤8vT.UTjrR&_(!vѢ'ݹsl~H嵫m6ʕ? T*՚ȸѥNlkk .7ޡI?WZt ..kJ{l 3gLܹӘ>rvcVk++PM{v5zl]*j̛mu6bd_>?ۢEs!]ŊB-ZFEE Pt4 }Q={xP~~ m^vm!DXxxJJjݥ>{=w۞ V3 N>}9)Eߤ6T3igt;4j999>}=<]>w]TTTOk'U̜5+ڵȨ5k׷NNBN\Ξ=Q*(8E>[7P(n߾=s 8q!S>ulD__Hj߹kWow|P=k>OԬc GA ޿_+8q2//Kn1T(]:wm߱cG!C#ҥ۷kwOoԴi&z]7W45OySnf 4>}͛7*kz^x1&&gnz]:*U233{zjCmڴ޶}GBBGEEjR.]R={^|R{s_omm-k׊޹sFf\(3vk!%22vٳݻwe߾ݴi!DժUQ^;w 8VZxߩׯ/zaŊk׮5k ͡TRiffռ'SRSԩݠ~ !rss׮[?oޜ-Z͜1fϗ]ڵks'ǯ\GfͪTܱZ 1|ءC2c{od@`K]Q sͬ,i[VOdѣ"Wgq= 68r;w+RPP0jؚ֬ٴi…#>)<(AކT*-]RB[O}5AIo3x&rMA h@MȂ Y4 &dA,A IDAT h@MȂ Y4 &dA,A h@MȂ Y4 &dA,ވٽ[1%= hfڵ~[<"<,9RxhȲx =]^̱e-7?qrS233+W.%?=fI?؃>]Xƍn{.*|_W.-=r__-7&'] ѽ[N?t)5ktsssCҥr]lԨQw{ύ.\tVjՏ?97mnݶY6{/ t;up^r?ة\S.hVV0>!.^kW$:TNm!C۟&&&gș3֬][^u=su7>rdrM Ϧg4 Bn͚64iBڵ MMφk'$JwB$^=SSSMe٨={hgx[LNNVT5jTNk+m[7utԬ*~4~^݂Q*7)}}n.hFDF^~}ĉӸqc==!Dʕ_Bkn{z\y"xMu^XX8cUQTTu۶[ػwOjjAzth߾gCB^Bݺv'((C;wO h8=pАj͛7m^;z䐧5kז@ fKzҒ:ookz;J[4& h@:}H:uRCh@&MȂ Y4 &dA,A h@MȂ Y4 &dA,A h@MȂ Y4 &dA,A h@*m215{oۢ"&6V[#а[좢ׯͳᡃ |A:Ҳž;eO ^9G* Rh=rhQBkuk{1l BGGG._L=qzcc>W45͛sv::lknnٽgF,_C/1YޠiR$777+++? %% ĤT~~[nݺAs/[ Ǜ=vZ=~¤/>G>*^ֽAAK]:Ϝ5Gn~'WV>nڼmgϚcV###ݏ/ B"__}.' :DQTV)ennk]:6lɩU BhX[שS[-,Aϟp%)ҥKBԔ:uj7_͛ׯ37n\oڬAd/HAs/OR>?``͡J+Θ6\723wڲuA^=z啓ۤYmLiR._锩/]]lj/ԬtIPZrR~ׯf= A h@MȂ Y4 &dA,A h@MȂ Y4 &dA,A h@MȂ Y4 &dA,A h@MȂ YAs-/1kċ?zQdfS[,8󆆆ƞֵj׮yń qǏyo9+ʕ^;mK {vxMzLff)>CB44,,,<|}|5mrLsωcGRJ&'5iҸ{c#G -[v55Bm~'.;w 5ZXٰnmҥijᡟMÓSBtkM:t)Q___0EwA󠏯q]wwAAT23oma؈}=x@@Æ LMM.׮]sqv;j\PPqƍ/ۢEs!]ŊB-ZFEEk:BΜTN=!D_>,ϕ\v5{nGw?9i7{S>mۦͳ _p_ۣo~~?[7fNNo_iףO]vɩj*3gJv-22juɑbbΝ6nliYzjB'V+~}=9&&&BӧCZ;9 !:ur9{lXxsGBPppaasF>f<7xn=t(#{^988&S OvrRT.=|:ٹQcS+r:$U6~YާO֭NZ !\];pvvBjdԬid{\\fffϚ'777,<>1. $9qd^^^.*V}BHOOwiQ !zٴIǏwrq{ P~~޽ռ˗-m?`KoELdi&MMa+ )jNA_m͂{ս{O,g !⭭ZkBF :;w<|Z>r䨓ST|yB{ΝqzbbbLl콜cFggg_YEEjRٽ|rF _pϚF_sWv;8ܵɣq+WѼY*U*;wгGw! rrrwa!夤kM!DzƏukZj9;w6 )ÇIǎqO#%5N ׷B]#PZmԭ[9|5aa١aaiiiO-((4xhJJǏjBVZZZ:%6oYMrı%?`nn >k }-y+ԬtIPZrR~ׯF9>MȂ Y4 &dA,A h@MȂ Y4 &dA,A h@MȂ Y4 &dA,A h@MȂ Y4 &dAݺ.Q%t4k׮ۊaICC@cb-[nټ?YÇu9NW4,1cO] Ь3.%vw.)Æ=cV!_W]Lۊe˖zu~\h/7oG 蟜t)<ٳF++5w.*bi*J7Cw+5Q{ .ݻ/9%ãϲK;v=![^3F,B22z+9sfy_˽wQQѳ.joo녃 ZBRmplDv,,W޽{ ]Ь^Zaaa|BSz%mxznvUT9#枓#hۦMz~-!OiٲEpg]TRJ{YYYYYYRck'Ut3? ڵ5k 8 ] BV?吁uZBV+ CCCPXX25SR)~իW֩t/9vrn:Qg5W/(< eLNNVT5jT{|Qs.G0!!APh=x6DBw49UOK6n,[ڦMukMT*̾7bbb}Zsٳ) gg)5jӻwŊ˔)ӼykWyfUTvءg:zbiYU+,eY .<{`DDSO/**6bd3ygO=Ԧ]nj @ hd=ݓSt?$:Ff;w4rRG@x ~YY7OĈ+y=k][9/*U+:fXdMݤ렩7p@;wZժרQ&CNuҥ:tҳg >!cFB{ńY3g!6lx"59 !f͜t)1(пT{^۷5mɤK:);NAsСwٽ{Of)**,uhҤힽ7nd.zQ~1۷k=p!DUm+B\paܸMrղKLMMR.oz{Lq: ;yӧC,xoowGwNeff !N uVș3Qu~jYϝ}FCCêUHVV?: COB8kWWW###BkNwy7vp(~{]೩S ;s:8_Ph憅jrtR2xPŊRH-*K.xݾssNүYXXBtxԘSvxjY3g8w=ÄBx]о{oJ-sg6dȁEEEwvA\!D6O<)ulg'mJ壵6mZo۾#!!AQΦݭaCz{{ p!NvVsvuKꟚj_FfJɟXYYIiiijOe˖-UTjjR433jB_&&ZXXXz!}b##GDGٹu+Q,[l׮]^x)! !ϝQ) gF9mnnr*~Y.\dmmyH[ıÉq>oRiެi&R>0{lmm.Hؓ?>{۷366_^ŊZ,;v(iҟ0߃|5V͚Z 🦣[YYYvU=޾SyyyՖ|/5zkx zWz%88?517Ͼ}[jlRhBM 8u$([~5= $''˾qKWRظF5W4?kUOB(jUZ[[KۭZ9jz6kTaB=Jk[O!DH!Q/SO͘9{5-ڝ/W I7oVXXRfL[.ڪw4)-X:rB\.hHP(5m" "޸>9/6:"",dڿҧjiFG?zTtn˗|:HG7BG oO~~qhHPLٝ;idjj"z,ٔ/_nWsO8v!&*8ԒJ򃱣gLBQL.?tpia!";[k5Ԯ-ML(>UT^oQaa!/**R(!Aq6ϟM?nO45k>ۍxoTAASO8Μ R޾Sefޔ-,,l| жmj? ݭW&[j2c SVB3 !Ҿ][M&Mb}|džkf;/ʕ-?>ݷժVVj*UOI>8A]AAAu̟WVͯ|9e---my_l.];4ر/8Z@nhx !6h```P([ !Ϟ=+Ylެ?O !+M6jҼSۘXR9{ J%lmmOBqݙ0/}ÏnRT,Zh``ٱSo/(_ܼcmm>{6Ba``P^o{MϤ84u푓cn^e6!ĭ[jk(Zvvvz kkիUTJQѣ|8/[";/חVfC΄ !Zl!]V'NIr~ӭn1|V |rxϙb<74af.]߸!2)u#*Ꜵ!-!WVm҄B(6n&N0|К5틟RӾ\J-lB IDATŵOs玞w|-@#hxB4jؠNZ  Mwލ=^ѭtggg)P|$=wo۾#2*z}{ !5lXVq}SSS^V ڷ+cn^;w펌kZtHEE[2ʪBRuIq!.nj8CB)"?#ҽ.]\/-uaᗓ_(Fow~; !|||aaYYYB9b/g߻oeˋ9/%E1VBUBh\Yh鐐x1??ߩ̛7";;{Eg#"߿"=fjjj*$}B:WҊ쟫Vgeeѝ6N]]; !RҖ,]rM!,,,/%[i46i_P |zG֯W̬IB3R@IАǪ+8bM~OLLիg5UK#WVV 5|1F}OV]]\6j`-Ɍxx]klD}B|qqqy=gܯk?W\\Z5j\UU ;H_wK7tƴi/^MVb*ү_3."#3i !^^T}{wSOzONIyҵtMMIu.?K),*rtzQXX5^z~W%3 `|vRRRiW\] uRhE}WJJj<$$TCcތ/׈߽{G}HO٣!d"gegS P Hr۴)} !\.75-fanڐeebii3fn*_*:ؼ>II ZjZZJ~jbڴ)T׭[7III99 Bb!oY%$$4nBHPp0!$ 0Pw4fBrssNקO6YRB,\B1_8w{U+^ޅ/ަ_q~AqqD> 򗳨oU`&騮Jns\^%uH¢"uI ~~gN(**"--=R[O!^>lڰ~C >mtD|tYm.?SEEz3\t9>>:;;3:ϕܳݏlvfVK>oXII/^ZhIyyѨcFjӦ !˫X՗nnT).~do}q~{=\k}^={r#"&h!oAKٳ'!? $$)+zy~֮c[؈GG4{EO8{ǺƎݒ5Ȉi9rij PWСCWԧ+xiivO!os^<K&vt\۰@'gg׭w%QHHh]>Q!{[XJJ.A/_8N6nvOF5^KPQguVxHP) N:RGj%Fuԉ) 7-W/_\bH-W/C$%%jձc}BnWS%ݾixB~ Q^\e[4xРب(*Bddoݰ bz޵c;???oSt_8G;?;ftmh0@>aڨBzͥM6woL:w!C3ӃwO0@ҷrDh'CvnFi߾;zX\\ZӠަ !lֈE8Ͽizo𐠻oу4ʉ:\]#B[_mly{썎;g6*qq%n# aZG!A>;oe0Ԣ|}ʔSt'[ݹI O2g;JQ!Puݓ~-[uٕK; fu$NУ [jKWon߾=ٰis2,̫orpI::L {l׾]2ҧΜ^xAA5ˬ۰L[w9ՄX[شeU*//ni0w]+{!#ųf?7c섄}M7m\vvUU͵,l׮b 7Br>|[bfzu5U۷gd@3)׮{3:]ta<аp^ns%'+w߁}&ϝ95NgRfV֊OmlGFDDI󪪪{M޺!,,mN>>}&{ΜXf-iPbb\t%'烞GGDDB9S_ȱkV=aҔon3ER͛ΝXTT4o˫f͉\\Vcsss:\iS< t1.u7NUU1Cn߶%&&q0LLGEHKk RXe7L0STXH9ߌSO98LSq!!';#udffR?%__?7JJKrrrF,3ZI?9kI h풒4>KIuYje2{+^r흟!}VT~RoP$%OR+hfdfVKxW,_VXXx5|oOӧ=z7wç͊hD>}&NLvv-vddf++km!$:=q6!pM *hnܰ۩3g-:tE[˵kd-G'gG'g ._<߮]BH~~~mnٴ!u&Ww * r rI{Oz߿v;?BH@`C;tpybK{sݦ|QQ={B|y-Z`d?TUUeiee_{>t\Νs!'M|vV+$$tڴ);8XRR0*d !YI.%%e0waamӦMm9ȯO^ KUM9I9ߟ9==}5RdM;ofvO}5Uզl@gIIo>+w)))ynJ㛧Y#GУ sCwW[]h钧O(lNU {蝟᣼#/x*۵k/**ڔMhSsk !ڵk[o}pu-h۶jӧzrh׮!Q>7^Uk h>{ 6} QkN̓Ӿ];ٮ]ckF~iS\\Rj.K Xl߮!@JKK9oM6ߩW#PUUsS'ys4=sߛ6\x~y5Eeǎ;| @qҍ:c''Z\]R#ß?>|XWLIM}b ]t~;uꔑQsٳc*Њ0oߵW);ޡC).5竨2;r}fV!DDDl=R@¥$P]6"{yn3 ǽl6[TI}E,V\\bxb=rdqqّ>xfׇc~~_Z#皍}: 6݈jYٮ5ũ`0C >Уa9\ HLL0aH7oQ7nv{垚cӧ())ZDC^`Ppuuqxt&LKMKb# TVVul&!)1p@s)Ϟ;O}֙0}QǏoz5;9;WTTxy{7.}NY~ڶmٳ)i.,[(7/VJVf3jTZZɞ]V;yfܸv}aak3>'$%%q!#BBB+WIHκ^{x\r̹ ,kYݺe7WOXxѬ I>}\7?VzFаp55յkVV)))YtOUaڱ}1aaj˗-kEWQ1VwnY޸վ};CL͎oun{fuU參[C/^*((?ϠSN6-jFK hP8NVVaV.7"L:E{Т¢ѣBCjHٴq¢䔔ܾMPP0>>~ysM;ʥ_7 >}dqcnvBBB 痕;~G}򤉧O쫢xǎdeX>N;dzd~7C#_@5!##b*BTǎjYVVfsϟ*S. ;"&&5m^NvG}Ȩ8j;mرcaQ ]tIWа0j$3+ku71--3 s']t1+;k>|;pOs87̣!o2ٳٱ3+W- PoTWW/[j׎m&{vG,\,&6+>{n1tjEK/ju͘^YYxo6ZjΟ {˶mxkܽd{wo={nnsvEDFnڼv#Gcъ[޸a]v>}KhiPq]֘* }DŽ絇۫m[7&'\mLW=N?p̖m;Maa.\L^xrI6m;&555ŋ 1=t89%O>-^@ZJ*--}^6"4;97Pkui }rE5;#2]pk=.sRc&/hB6_7a3j?Y\\<",dU_{B.]iC48/htq9}L.7,Yݳ|jLTj㵯_{HKIyz5f\VVQ,]髢vyBȁBBšC_54LZRuԉfZ, 2RʟhFEGkr㺥=I'|Bnn sT/o.Λg|9SKכZC>\{={f䄆ݾsw~~ N7nlppp`P҂Ç{W]]-.& 'vHf͚_P@]Azzy8 /IwСmwWɓ&j jk[}EQ IDATEEB#ã#÷n,%-Ma 62axo7LϘ1c!Æiy$4=ԷukROg5^}:n[K?ź~1wy=1_R+o`~<=ut&̘>-..0J=v=z豄&G][II#^{xxjjӦ͠>>ĤcٻOw$o/o-^bb6Vwvnc7q׵s4lv@@RjROoAujiPB*{{SJIK=ӝI&\nvNNQQ,kɒrs!%+;Ḽ|fcC]?Z>\ԩS 2xRٳfΟ7 tڵsGn455׭5sn#g+++dktȑ>giyuݻˏ=jdB}nnTׯ=,Y-5i`0m%%-##􍇌@hV)t. jq_~ ""bkkwʕFyeOa@``aaaTtTff=*2gx􀵵pZZڙ_ɜ:E5p>1rwرCǏO>|'oC2+V}ٶFt=ި1uuF&Тh05F~;@ M&Ah @Z h-4@ M&Ah @Z h-4@ M&Ah @Z h-4h4;dz叭+))ثg$.-4eddr2 LM9ؔ~?HeM}pߺmG@` !$7CpT3ށ#$$;Ywf6זiͪBςB.^ ONwrW׏ }P|lthp~_eJ'gz9Ǝrr~VR2'+CYY?d`gGD7U}&{utr2Lѥ&Mo}#h1,o칃j&%';vhꔩǎ_vކkkktرm%%ə./_,#''vsg 2|;|p233ǍCMɤko$4l=䔔ǏQVR-<}lff..^ֺ>~:#'L֮V߿gm{Ӈ*..N7ncƌ!Wg2}g?C l̖kj ysORRstTHyy9o&yL}NgOOZёԤ+%C}sj}*wة82*=Srд{;%9E֜#z`c]9­s{ݚի̘>s:1^:̛S^^p޽{YVVYQQ;f[_Ӝ{j͠)))kמ|B|7K`0p/'CEEE"Ι=RMMS+2>::?x@qw=}4AgͻY\\RXT4h@BBƫk.ڱ}ܰa֯WvO׬^Tw ee^z驫'0}| 8`*h4 \.wMˍB,^ٱkwkGpwv劝݅:վ >kܞ=zprtqv42ZZŮ"IJ옘BBHvNNzzFIIibb" ; 'b4WEdꎡU PfZ ]::M&Ah @Z h-4@ M&Ah @Z h-4@ M&Ah @Z h-4@ M&Ah @Zh  HJ}tcG4kРW.]gΟ7J{٬bUU9Z`g@-ݣiqxRB\zjÇ޵ږ,^dqTJJ[SK.=z8##!0(H]]"..`0 <<@s4\.))-%R{+r!|||NFEEP+޿<=#M]5Z:hkVFFF^۸qcoUeee^^^Vv<VRr׎򙙙\.WOoFjM޳QPPضu~,F6`Q#GvQFFFYY))9t4=x 8>'<<<{ 5xQFEG?EVv65?77 &{|}kMfggϞk5 ˫NNNNn|E=kEEŁ0\urU@SlM eٕ?_u@Z h-4@ M&Ah @Z h-4@ M&Ah @Z h-4@ M&Ah @Z h-4@FМY<˗cc/Zh~С9Yq1QutDEEyk0ׯ[[yoɉuI/oo+#^pR2;vtBPrbJ~E e$o" pPXHPjr"sUrΎɉ>LoLMMMgG0{V5r=۷3zo=mN0~ }B@EE΄ !Jz|nҏԩSL^c..>hٲU\\+п^={ZaX~~~'O*bL8vG7SP޶m[ByGϜ*.VUU"''\^j rW\zuŝ:uRVVV֬G?z4w5qդiͮzn0ctjrnPPpzzz2+W,fy㓛gq򔐐ШQ5 ѣ:.>aVSR ?GYI"&&WR\RPPIg0EEyyyQф߿gm{cٟ>}bcO+Zfw u>ח/d떱7v!d)Ϟ?U#ã##BťjF|r ޞ]x^DDvyGo:*iu:>!3yn_6_ÇS=RJZ]a.Nzz?p~-x"ڣƔ޽n99&M顠ޡVq:࡚>Y --Woڶ՟5gPMuyO:=/Ĥl1ˌV̜=}Lo/ɓx #nNqus4DL~#*Z9l6; sNU[)Stut&|Pkظ޽{gPZZZ@HhhnnI$%%TU^'w4;;K%Ű0/]~:BHll\}srrx'ϟo߹3v5UUNh)qq%j;anAIHWVVRUQ!ڭZB\\usBkW.].&*6b_?f3Puu&ׯ]p8?.((ԱSkv 400(HAZ^z(--2dpvNNyyѣ9QQBBBJIɄkF,OܸyͮꯦbkA zT~Y-4UFFwHII8yۄ/\>{j[ZY} BHRrrBBaV`#BІbV''ׯ_{󺥸xS3hr 7nX.''gǮ6!\gNB×-' &'g/oM !iiobɱ*&6v׮=#l[LL,99[h:f{Rzg)7oi2C.l FB77f7Ûn~wMcg7~\]:o QQիV?s9Z=cnj cb%^Mh @M|YJ}{WY۰AVV̩"‡!Y}' =RlVqʇQs ;9+TUUB^TVV6rh!!aMi魻VK/NJJ8yjjv¹'O'&%%&%Q^Lg0EE).&炂6*)]CBx!!bbbݻBtM߷~F˖ BY'$=b&/߭:Wk%$$ZfGVB5' !]ɖzA@@1ռq&Utъoߞ;yR:Fg>ɓ?z8z̸C5oܼ:kN2 BȆ%&%;~}'y{yѣ)Gi9J{&P_{,?y[0`W***!E+31Ḽ|9m^Jra3oCCgg11ߕFյkfl%##CHH |ɼE麺۷o׮]UY(((lۺENNNSSsklvU#߿[I>}z$%%5.Z(hvaD[w֜LHH?Ϡ48uhp;#Bf\%;;{\->onX^urr:utZݹz͸ FsUYJ6WmMFB77fW|=? Ah @Z h-4@ M&Ah @Z h-4@ M}'QIDAT&Ah @Z h-4@ M&Ah @Z h-~9yiKRR"$(WϞ1;dzel}& q1bbb?Yތv;BNVt>/{ZZ6cOk)((0wl5}ڴJGg|#Kg6|%NNwqݒ`Beuh\KMJ6ƭۆ*3-3595_ ?qXrb_taߛ6deܹ}n%Yii~/]֝2u13O'PVVݳۇ青IEPPvOxCپmkTDXb|VX5t\`hgϞo-!!A-2;dZU֟5Gkm<{tW˖7hbRK=zrdLL̚5kfymڴU`]Ǐ[r<~$-%E3{֚ի5v蘘}&{pZ4hvu(m[[,??tj\uOnnSBBBFiSrss ަםok4<"FXXX{KW,7:hz/9% B,Ylu955+AA߻I GFEBΝ3[PPVʛ6n  z !o0i.֚)$$uf7W~2 pݻw 髬LճgXm-y>}l׮q1Q7vKתRjegΞ}[bB>ԬnC.ԜثWtT4!KHII)!l߶U{5 F|lL5C(/'󗔔r9O\N1!l67DKb8_*3IpnIENDB`gtk-nocsd/Images/Old5.png000066400000000000000000001365311517422556600155130ustar00rootroot00000000000000PNG  IHDR g pHYs+ IDATxwxUn!I!z/Ы ("XPAB w%AH#BBHߴ-sBfgϞ,|vΙ2{4S:[X&wYy,qpvujt:o&&&eI ץV¾]-mr &:NŒ!#3ʆt":V&:KաdAH'C[ZH՛tW0Lͤ $ &&ܢI!K'D!I?!` d$C 0H@2 !` d$C +`(5~Bvh߮7W/?DZ7vJ^OQ055ݹ-Zv 9._$$8(}g^A&߷OiiiMW֕Wrss'YIn o-(,xWt:]MO_0x[?pvYYa^H:uAy~խ끽=zMMK3dǏkٲň_~O&UG }dT*wn.R -44$O>coo?wZhhΞ;_$'>RVV߅|V~4Mz.]2?o/((up8~|.:9ůi塘⻍=yRfM ŕ+W^ɓn򡅇nu]oedk&OzaC#z?7S$^W0LMM7.Ν_~tѵKgBz*EHpК+rV^snN>xFpP;N7 [tɮ{vѤI~}|}y_-pusҋ+-ڽaCaW.߳o={==xaxxxX~ `ccˆu..~p#񆷷 ÇonsCj ?.]dُne8lT칱kR,ZynꟖ'N|~ͪ޹kwlllvn~aKW ++}wYNݽ{U8w^>'Lz_t!fWs32 aÆ x6f>7$A֬]7m;cFu)Wއ?Yn Xn6[^v' 4&m_5uO׬]'?lEvy)oO2I<gvJ٦-뭭ݵo|vܶfK jwֳwG/\|WM<78++Q:|5<{5jλ5MV k1]-_.Bݍ[n߱Ӱ|%AnaXseA?uvnӺkddC!qj:99e]:wg]f<(L&?slxXBQkŽL29J[[]oxȭ,-ܾnϋ.t:n+W޳s=&j#N9bQ|[Cေ [D_Ҳf+ZD}~ Ad2;n^^hȯ8Y^tdzIIqMLcMHKM[w7~XK&_9ӆud69&\zu̸ Sޚ$fzϷ/Znå kk{w߰q =tj{v=3d2[?5ECៅZ/?cz /*BpPP||=h5 *C.JJ1OAJeZ^t¥ Ar\MqcM# 7_^;}\.a w'tK-^^_xrلq ԣw\Z͂oMWé`h|q]۷ZZZt9P a!Ei:xujCNFYi}-q99%ӳG<ҍO|)SE)׼7} 7ozSSgV1/]cG\fُ+D_Xx=~tEzO:F AZ퇳?9yԾ;mm~M}gIyg(%q}2,w`{zxԱAz{6jS};A:uO^qՎ]}.lmlvҭ{BVY}ܻw*>(eN>c۹={<nj~[C1dg[[[yԯ7'Ï>O>۴qM޸1;ng>!77\]]m㕗_Xr+{DE}߯׮[5r-b$޸QZZ$ڄ޽z:88]r&WZx7VXVmt!I$o"|g*0H@2 O0H@2 !` d$C 0H@2 QHՑTxn&KҏdãB7OB(++}~dޅ(&p dee]TT0d$C 0H@2 !` d$C 0H@2 !` d$C 0H@2 !` d$C (jݻz 3E.;;;t!^m 'Osww˹)iǏt-[  RT5] A{ZjZs) 11188t&((ƍ5]HVkFIIeMWgEiiiMWQ՚G 0H@2 !` d$C EM+ݹsXәX[[׭[ںKx슊bccݻk׮ز2++!CtE.F0KV|x޼ygϞm֬رc###쒒6o߮[N 899dQ0(55uǎ'Oիܹs5j$ܹs޽׭[קO޽{[ZZlY }#FP(Zh1ydJvڜ*RB 1JMMMJJjذaV*2112dٳgjuT(-jkkkGGd V˓I}+nܸQӅۅ VXQRRRӅ77; `ƍ=zpvv!::ԴW^ȫHOU .8ٳ>>>ׯ_4hϟ;wo߾թYXXt5//oҥ[l|YAAARRR\\\ӦM322ϟ?yF)vW_,??qڀs&MZmBBݻv*68tPJJO@@@QQѵk#8WNTeݻwשSYf:ڵkW~bVZŁ+--ݵkWIIݻwϟ?nݺU pttl߾L&KOO߼5MvvZ_h4*-!!!""'ދ16ɿSVҪAyZ}ĉF4lM41tXN>ggA9::۷ɓ8jaÆSLܹ1c~璒wyOTtYyyy ԭ[װF^ZZZΜ9ֵkWs='BjjjJJJ&MBCC6lp֭gϞm۶ ə!!!bggC/`8q¢Gu ~嗋/U닋ŅsYYY> .p(㏄ zQҥX͛7ryv6l(֐q:͛LӧOw]~~~۶m x5MFFF ULJ6ܹW d2k~BBBLFceehgg$OhРLܾ};88Xt:A ۷#?ᥓSTT奦:88F>}:))8`hڃnݺNt:݉'x[8sssOJe\\\h^s'TVXXhh(˽Ϟ=ϊyÍ3hܸqLL͛7AHLLbG,,,+K/i.::Z&k4c<LRN: p֭k׮+ A0@3SPPPXXR*|666JUL& Ǘ.]t*YZZiFNWRRrƍ-[wNy 40~W.[[[W޽a$5jTXXxҥ8OOO ##ЭsZZZqqYBBBBBlaaѺujKTaUu>kPƑ0A**>>M'&&yWZŋJɓAE!޹s; eeefU|nPNg```}DP?|||vu oooRMd2q0zשSǰ><}RV_rѱ§bccJe~~~/_p ʴZm~~={nqRRRF1n陞~1 w5nOAƍ>ꏽ:=Cpׯ߾};))Iכمb5jR.]tA'-i۶}lllbbRtwwoҤaxӧOk4{{N:"޾o߾Ν/))155[ⲹmN )OPٳ Ŗaaa%>""֭[8+Z-44,T__7lrwwqF-_|"y;zyyUh%Ο?)Jcoochj]gSSs˖-4h@PXYY Ibbw^*ۺuk֭CSbƍ5]ȳ,))СC'y?>͛7}3#)))66[n5]H .*z1MXdffk3ŋJ`"t-[xxxX[[333ԺsNAA͛7"""D rqz( IDATq|||yyk&M F-zEss&Mt9CM6mڴiMW9jԨxxxC@`0H@2 !` d$C 0H@2 !`L 5]e5]EVksssk<233/\аaÚ.vSt]PP"ך\ZAdeehťkjM!447++Kt-xԫWԴ jSãpo5 0H@2 !` d$C 0H@2 !` d$C 0H@2 !` d$C 0H@2 !` d$C 0H@2 !`@mUZZhhsڵ^$kk0JNN^zʕ+ZmwzZ>tg}v񲲲)o)---&&)))o.=oܼy3((e˖fff5[0߀+P[lٲ_~_} :^/**EZZZǎniiYP[YXXoƍ̙jjcx֭[/[].˃Ν;'I#G\h$]6 Zbȑ&&&_~-[4ͬYđQZZ~L&{ ;vLVKRsNNӧ۴i#Ioͣ/ &p P}6l={ݻwׯ_\\|֭vڭ[#OLLvڵxx++Ν;O6N:[W^oΞ=[XXXn-Zɓ ][e˖^$YYY>z?\Z|J߿zJj߾+$I DFF.\?1_v|ЧOQFݾ}{ѢEϟ߾}ivvý}]R [[ƍϝ;w„ C۷  xJ0Y [Hϻd d^~]pqeaa>`k|||ƎcǎA]p!??-Z0\T x&1jm۶͙3'//q?_Ƿ#G^z!N>-x =O!n[l;wnZZZ׮]W\שSg߾}cǎ~LMIIaA xxx|w)))QQQ/ݻu:cTabś6moSӧ {߿„ ~$7@5u֩S]vY_oڴO?daa!m j7 z[o* ;;ݻ 0}={suvv~GaT' TMSJ_n̙3l2bɣ)Μ9y^zM4)((H-lmm{1g{{;vlڴb!><++˰C*jѢEeeeۋ7 z!8'DaY ԩ<`Fd2>}_~o*T*ҁ|3fݻw>}322~wyu\ti=<oooz~jmڴi…733{b[nݺըQ۷_;&Mt/_jO2dlnnްaÇ:TM8QVOs3NAj3gt:^?vFqwwOKK򲴴455p>}o>++?bjrSSSOOO???ooo {zz׫WqСO?iӦ!!!/8*11cǎaqqqF jѢży] L8o9{lTTTƍccc}||n޼9jԨf͚}V>|xVVȑ#֯_w)n=""oŋ'NlӦMPPP~O۾}Ĭ^[j*???^~W^ ?~|JJEe^ӦM t1q ^uAڴi}ҥj~ ;Nz烃CCCs AAAӧddm 7l߬YW^y%99YnڸN>&>/2..N<Ǐ_W0LT*k aڴi[7o^IIɗ_~9iҤ;v-_gϞ|Ia@l6a„ޯϜ9߱c nݲGZXX|JHHɓ+ijj!C,XAݻCQF/̘1aϞ=FZre֭GY~iӦmݺUL9qZ=jԨ}N6ٳ^l$&&f/|N2222ĉ̙3²;XEƍ+((8}ʕ+Aprrz _-.k4I&ٹ `oo.?E޽W_cǎmڴI&Ɲsĉ i&''gݺuSLۧ >|b9sܳs1`DEE{}MLL rwwW*-[tŊ┌۷ifٲeӦMPwr˗/ر#00P:ddd̛7/::I,ɩ~G͛jivKKKsrro~᯾J\`mۊy.]Zxqddd||#ӵkj/rrrR(CH>c`<<<Aʺg'Nnpˣk׮/7n\!]мysr.]JKK knTuUg;=ӧ۵kgmnn޶m?Р:bu… jv[ǵlٲ읱nz~8CV_|\iӦ.\cǎ b;wh4#$kq7,rV{UÔ#lmm ⥀񥩩Ł;K.vZaaxgAϰ / ;!U"ennm~;.׭[jժ˗/ɓy;{zz,Y$((Ȱ!AfϞ'kt:FQnnnwO_L<瞻g<jG<[[zxe%Up]rzz $Gٳ&L3f_䔝ݪUooom&;;8UPܳ@U츹q^}?0j7޵kק~xb7uΝ;7T<{)S|]dd6bJ{vX0D!X^\\lXӬY˗/74R'N0^677g*:PU*ջP(*Դ䞛hժՑ#GJKKŗǎk֬كhٲeFF8_;BIU;wG}4bĈv-Y9::/={vqqsϞ=aΜ9k֬YpѣLrUt.]t&M;vqNZPPGw+7ް=p&7ogZy7noT}2lٲe͛3gN^^xb(㶶3f(((W'M$~Ru3gի׏?8~;O .|e2ѣApqqY|4h0gΜm ШQ֭;r{o߾'Nu:ŋ!?u_7BLKݻoٲ%,,kfee]TT0x*#` d[? yƯ`t:B!>Yd>YјЉ0k=Cڵƍ]tqss+++|rz<<T.;884n8 e˖JLR5o<44>99m۶jťe˖aaau֖-[ڵ Ν˻sθqn޼Y;|x֭׮];ys>裥K9rd߾}⸩ҥKZV|yɈ3g< p_tWas_|E`PPXk|`ggWSwA~K.upp"""~ɋ߽}}}7m4ed?ifbbҧO1zzOŤbfffnnnbb"L&svvvssmҤIhhO~~~^^\. رKv킃۶m{zw᯿ruu}{qcΟ?UV+W <8<ׯ_9rdxxxf>#G nݺ/ʕ+;t2nܸ{vWnݽ{֬]v:ΰf۶mQQQ~~~Z:zj;vX7o޼yYf=Xbذa67SN7((_~۶mk׮۷ҡC .\8qĐW8K?et:dn򲲲ҿk4K⒒FSVVhZ8sC؅/zyy]zE4{n&M֬Y^x^wߕ/n7n\NNNyy̙3  v5lذzݻ=zzF~&::aÆ-g 0/P%K{ +M6k,^۴i˗fff6wt:uڼyx…H~~~Nͽk+W>|&+++444==+))I=z4 j:111??_;vBo7nܸ|NuVxxzˇjhW_^zFqFddd۶m6;vLNN;v3>q]qߑ#G4MlllpppLL@<6Vg oKR)Q* BP(J\.411Q(r\R%dJ\..~b0qrÚؼ 2~w IDAT߿]vVVVƍ333֭[\\SB0`>%%i:uݻw߳++1c(JkkHn .\o3g4~~5jԩSmV\\ʕ+QSO=駟voܸ_3O:k=sŧ~zڵBX,۶]Z~9Ǐ'رcӦMnQFر=~'vuu=cRއz!0dXZ!B҇wUUo~vx zn/´i>Ϗ3w;vlyyymmرcݖ/Y/4iwq%|ɿٶ_ϟ^wuƍ;_?wܹs?|393?~_v͞=>3/p gq^QQ:u;o޼~jy>VP'=qƘBUR)%ܝK)圻?ŋ_=҅O>y HL3f>y>#X朗I)q3ܰ#{ CƊ+駟~  LqΙ3HWI?x)e:.` X]]]<FL}FYYY:v'˹okhh81\򪫮~gƑ.?_s5B4ͅ ~{;|R qe'w"J=ŝdYVOO+++kii1MP(ӓf8g?~HWq(~> w9 1lv_H$Lt>QJ-rߣWPUնm\Ӵn4^oX 04 |8!$oذaݰa7  C͛[[[-ZhѢH$Rj7 cĈo1%ɟ---Bd28ΑX,:3w .igcحޚf5Q`P .!B_{/clҥ`0CƧ{EYd\`摮 LTBw}w}/P(TSS#uHCF0>yss[Ӵo~K. Ô /pҥGFR<3<3<`'~s[jU='?7o>wjʕMMM?>]xM\r%͛7755?衇<^zi30EB8--->~;M/^t̨o}[G<z{3fhoo/5nݺ+?{_|K.y'F9?󚚚H$"555~;߹ VXpiӦ}o˗}ӧ_s5\j0,!DKK;~ k/`:F%97 }yW=e˖͝;SO}K}n:!犯oGџg鱿կ=\wY^{駟~뭷nCy@~awϾܹs˖- jժ;v!֭[裏?ŋ_~]woAYfK/tB>̔<8(zk~j7o޼nݺ .~E kV]]}E= 1X1d_'zsβeޛ.c=ZdI&9s 'N,_)S!'O7o+xus=Ck0\Æ ꫯg}/ޯw(+++MbRN4@ }.wyHpĝuYgu!Dp«2bĈRbx?wtts9nc<whѢ'9n?Mlݺ7\j9h:s( !ә.H a'O"]'/?>!+_ʓO>Bv^{NZx5k~Gee7|WK)8pRJw-pr-+WܲeK׿gQUUUj9h:*N{nu]z*!.۳g!ݰj`d꠳(nQc1Xv.?!kkp8vii.ZovW&L_njoo]|ѣ !>t(P( ٳg?ȑ#u;;p?/Z?%Kܯ{=v_~EO__߱K)]pe]Fr/ri(SbWZ=o܁:!R !JC&m[J|6RiZ.B!4MsǼ,r9UUE)7r|駟O\qK,_/~]]]ڬYCœO>y=i#z_sχY8N&:佥 6,^v*憔 !liiFGQbD0!$H(بiiB!4 ĉmfebT*%ظqcUUU2  !:;;?iyuwwKDCRUUc- `@x㍟S ̀ۻgϞD"97M3:FST<|D$I˲r\4uEQ)eyy;j޽dP(TWW777WUU۷0>h5k֝wޙdTU*pO?ӏtCp 2[J;9ʲ,ǣi,qBHP0 0 wt" 677{^])|^JiZUUm[UU۶pi,Fi'm>@X(^b; !TUڶ]__i!$HqEQ r9)S8睝pXUծ.ϗf4Ms=|W)8ah0J˖UUuرnp !EqA766:SڅsN)5 s.TUuĈngwJջ\Ad&Qq^:7F<߶m[GGG86lm۶mR)۶)ObRа{nBH0tq֦q:~:v'P1ƄT4|>iZ  B%RrI6Sc }C-`QYY:ܲ,Ƙet:M)xɝ(Uzw/<'wTpr7hrzW RJD_;ўF=~P5Ԟz?]c!kwrH JcqEWr\ΊZmWD~cpO0;RzHv+ GjJJҒqJ vxwG2ۻ'Mi_ 0 a^7Qm,j UQÛ8!X*R;zf̬3 8~SrenUTDMQ3u `R3RP贴)66D~ }R4GZOgQU!]׎tiP5j1M^W4~Z H (cj$ =pPincc}C,PP  cEQuCR0!UEQ MQU۲u](1"!TJIR0Rgݍ9P(eylݵm޼u]9fqjLя=8S04uSbɞG{޲ c[De -% Q&ҡrI!! Զ%a'Θ1;"*\1tb0\.8aOqGUUEQ BPFmi4 3 9x::z\dy1M[ phSoY0 TU}O M2V,bb/.I$WU5|>M |iBzzzBPYYsH R*(JyE 2i{܈_b6f}cA= y顗S-a{z;Wl2Tj(E^]{-9>bT?b[I+3Y6lx`HY6oxrFlr|" jkkCclܸqf@ PQQ!,1z}>i]c5bzo;MiOnjjjjj=z޽{mX,o}kɓ'O~'ޯ֭[^yRKsssSSW_ݿŋ>C({wuAԔJ7F0(`p((SF512H:TQIe-k}zSN J5aNb^)Y* LU%WVVJ)2 !dmOÑH1ɴ:cLfSg4J2.YڱgW:֝x#a_>Z[rUW]ꫯ\H`˗/ߴiӯ~+3rvGןp n+{K}8o7C>S P4QE*T(TkcDDBr*-I2* Ҷ8wbKU0!G79Z: Bյ\BB!LJ)CÇu]J8cRȅ4<#\˛AR?=+V% a!dǎ͛7owc͜9s5k̝;wժUv=z4!d\n֬YP6|j )R24B(8p)'T6꘠0T0"2LYP!ȠRJ %2{۷/I'R}}D:9O>OzۻlOOW{{k[[K[[+!7hooz=WUu.I+=^3t2!Х*LHC>}K/tM7͘1cҤI{;ujϞ=vo? /t?svرcg͚u7r9}֬YomۄڵkO?իW֯_ԩS !B;s޼ycƌ?+J<g}vOOŋǎ#|>uM:u„ ^ziXLiR(QIP)$aRJIB^V}P*$ԑD#D")1ESM|^(*dg%t:TU IDATU5Ms߾}pHQRT*U,>px!ftggoWd$z2RkewBp-,Y䩧;o3fٲe^rK.^lYwwmݶcǎ|Rz͛7O6mƍTj֬YիoB6l0ewޛnG?nܸ͛7?N$K,qimm'LpgN<]^y߯暦իWG?@)`݄I(!E"\R9Si9ߓ&ol(BcDDD)!RHJ5|GUpa ɈL?jԨ/}KW>>h4׭[7mڴW^yeUUU'p²e?yYgBzzz| . ̙3R| .  BZ[[>.轥?3^{9C={vKKI3HBJBG)EsAnNpΘ J%c$/-Z]EƉdRJRPIVm`;^oU5\_OOώ;bX___oooooo<߳gΝ;bRjBBtM ~Fh2g =S&\+u#._;nTj׮]/L2|ڵEQf̘.Xf{Μ9v`曎?ς l?Yjq{mٲEJ3F0(!DJAL)%v}j˨$\p$93!R$wuv& {wr7~;!'+x\4w{~sZWYYAg0 I`)%RPeȖ#L HJ!P" qA,۔U,JRAC% 4+a_S3\d bԤi8l6eJϧ(TI)sOxٿn]ooɓ&Nt*H$Bk"̚5?_WJ16Ν;_m{ʔ)z{{K;Y B@ @I$cݸC` R!%!_Ėi9EJ!%D0"9+ *S4]BWƶnMWX zÌ./: !`kjy㘢0BHE|'O~կ-ofoo̙3ݯ&L_Myy睪6mi=\/?~aJ*@P(x<˲jkk]kh& Bfxh,ɖES4*DUYTuH)%L9Kvw˵,+˕2lٲ?})twwg? E gx4l6JeePY'Z,3m۹\18clҤI)K„SB~?-ZgBɓW\~˗/~… *wG,׬YV^=gΜR(w܋/8mڴRҥK#Ȋ+~_TWW/][ևnoqN>{SO[jyj?l۾ { &lܸqM8{]v͝;78p`cǎ}g[~z)ʫ~sO|0^f3稣f3Br)"GQιimBFU,E˲ʢepx„ 㽧,~Q`FCCB)uwyB!o0 J"Jq+**+**TUu'#}cʨRQ)Ry΅P(JݩDm)J)d2qTUf3RR)?3L(q7%P;Neɤ9)U4K$}]]KBTO4\eJW4?]{1Ie;ol?p(^n{:E+o q)`H))I|N4׻w޾jkk_z۷766BҘްn#%J(3pMa /XJ!nKUEoKI璌0GJBUB$TUȯb~Ӿx1GMOfUOȦu*Ճ:?d#}l0kC2z)|>LRJD4MRE)ewwwWW=ztRUTJiz{whY'$QPJ+גkK$ \HJmN$!PmUcBpJm!%%ϐuH:vƛ-:ï5Gk8qcTϑi` avooo"hiiz}}}!}===P( Ӣ޵[HBJ)I!OSW;*؋om%ӂ2:1߯9(LZܓ*+(EAĶ m)(XW^dTj7:\qvi6>|x>bl {wu*}C8 ˜kO?qolڴ~Y<{I̖*tYĞjVkb#k;tATRJB͝͝HBUFl);+G>SB7wvvvvvI)UUuvZ&MrzݷnK)BJUF/c4cG34?~T- ?M$؛{6 lA$ TW*W̢QȻi86a1ITN$ĝR0 !tP(tww鶶BwfF&zBx9uQuuuGRz饾DLQ%QUͷk_rcgySoW6J-QWͪ*sںaZW*I:g?޾hg=@ %qǡA(RPI$u_.w` LQ|Uٸt{xo<0u=uLWgW8U}뎝D^cfBe}|\#S]={SNH*߯Zj\&*/[_=7o6gD0 e'hy%Xd*aTpF$RH(!n0 I6:O6W+"Om{7_cI<8ңTJoNJcY;¤#Nڱp,7=e/VUlٺ rL~9]UoO9ͣ5/KBfΚƍhpj˗y۷n^ڿR͌4`4+(AιeYL5]\!(沆gs5u#_ѵTgG1}Τ_?|]#"[֕WשN(%B" 9kϮ*r{M7mz-0=PZ.5dï ѐ{` 8ݛNmS7BT!Ylf$nN{챹\.F[DCch_KXmUyUcYnfiMaټFoI3-=Z,~Z؟t_o>Sª>w|}Ӂwsgy|Wּ5߻/١ݫ4L~4& wժT2ճo \x }PўrW5M4ͶL&Eʢutb޽cǍ(/ܸqs@M&zrX* 3"50qf_b;sل7z{`{O췋qJz^L{p3kN4D"Tf3(h&Qe[/?T ujrdN˭%jR2%)0!*:9rR5<|~m*p^(bSңi$IJbhT=WL+-bJ eUHoyj&rRʰaz=kMj&SPXQ-5ߝ߿= r)ۯ暷~cƌF)`ݻI@秕# E|dL2YU54M<Grn9l'_L"J*$m1ţ*9 N#\v2KBoq+Yu Pt$]R+Lbζ*X"_PTu6P)Tة/ fu$jږmFyO0Ldx6kF+JG T$FJ[ǑJ4]ٶ$a2(v$2P `x$+6g|HT*W4-{P$\4cMPf}LaQM*D<m@ؔTdM!DGGz!]ׯn!`0 ]բ`g/+ #R )LT1MH"X\8LxƉԸRTUN>'dL'|RUri )j<*g!4LQrJZNK :UZ!dFYlFVZboml@UȾ C0 +8s~#`L(J*XQ-会7_(81ǦFw4M#2BlˢTr..Y|n0j?ыq\_誙S"ОmxCOq ]) $V Xj$zkDËZ85f9cb*={;vW3a8(yssw߽b {饗^xᅁ@1f }DJ)$ ,ۖ c[Vі*:R7ʪP0Gʪ*CUT"J "ٵϛĦ¨={'mNبi|6m"F%Q'B2DegLRtmʨj0FU1)(I8y(w|~|碋. ҋ/+9b}ٲeӧO4iW-[\ӧO8q%K}ҤI3g/Y:C=t '73ܵkAֺu/?NZr]l IDATۘH$.]:eʔӧ_}չ\ k7|k_q7{+2~N0xr=455Zϱcٳoy>Ȓn~0TRR(M|^nHBGJ(aax<04MSUU4%Yݱr@9{SJQ3~k(W5"' } <+(x PAE@]wׇAETPYpABH䚻Gڱc?>qįjڵ !vzg!}7nUoVÇwgϞ}zBfgg|͌*Ǐ߿;w~O|͜1BllРԩSXccǎbbbRHa|MOỦMS'%&%''6u5j԰aÄ䔔sφB/,!9gwRJOY?N!XfgeRT*Е@,dN%_6)\Sب tJ*L)]^zժU6{y衇G(_|y>w7s=111,2$??nݺc&$$8I&_>}믿|#缲R,eZ[hQeu:[h1{:7}y(UW/PPP0wܙ3g֘ԩS_| &dee^ᷭʊ3ǏՃAY$I,I!D|i( ]l$IoȔR0n 8\ܙYedv6TOeWS.L-2*Ѥf1 ŬCF0-f6#GMqkqM۷Z U{+']Xj5jĉN3<O<#U;v,77/ȑ#-Zl!D S$j{ ax<Q\\\%hvu׭\r֬YgѢEO3`>`ӦMKJJ=C?csΘ1 __8",Yr $ըgϞ:u"onڸqc#[^`-NgP>@0 ~y<#@ Փ=4f2[lM|^2}wCWF5]RӯMmKA[ljӚDHd)L()&ƥz}Psék7}H彎=Ti ۷iӦQFM4Jk5j3<ӱcGBHTT(!D'x>#9rM7uuƌP˷k׮͛7_`ΝT~U D8e>WQC7!sY !N`0(,' 4?Er|@E zPL,CgA'=A9=9jzj(U7?l+1lUq9dy}P5%M64hPLL̰aê]@gϞ~x…={[$Ir\Gi֬!ȑ#t[VVVTT$zI:tyb? 5 ȑ#wߵ^:Kf>Çc_z%q[v:ƍ 7ߜ;3ҨQ3f :tΜ9\Gp˗ݛ"^vm B"U߀`PB%IR%Yd"SYR*K8B11"4'r6țSJ : R*;b۬@Ppdϫ,Ih 3-_)#7_M m(I g\{=J .7h`5$LWU6+++++*[>K,i۶i(~+ұcGŲxnn޽{/^xƌEEEѣ !~#nVZXBUݻW9Q~f͚vڵ/Xv-!0 qϟ?ѢEu,yfΝ;k׮]~6mB8繹 !x-nFGG/X`ҤI4^055;,^8ްaCTTTd;vꫯ:w| 6 ݻw4P BępI2Ymq D. rIUr,jf,@ D8U Du75O.=@ Z/+F'kKN NjYIP,Mc8cAƮZ!ES~_9su]-&MzG7`Xnݞz)i:udXD\Az'Lp-[._=iYf͚SOjՊG͘1CUՌ%Ktڵ%oҤs=7|1ޣ]v?/b]vι뉉 ~Y{ -r|7jDԢ>pYU :zIcЃA08,sB83s Mb0,˲,JAíVO%Y4iЃz0P@6)^pR5B5kѐ  d0~#Lx Q) rN.))i̙M4ܹs#UWƀ+>PA*%TdBi0YqU=Bኢ2LJNh͔ NS դ@ + Ủ NCɄreMR[X@ll%dשAj Te"[՜6eSanǎWX.}u,GGGWP`_j)SjLA‰Yq"sB%O(.s8SdS9%'R=|()W2]Ԅ&)PYDQjdE&snʹA 0Y2gJ*25MaL'D   P"J%0cdWaMBt"S Vje㬬RJJ4j{OљjIJo5%PLQ&6F̄7(:uɓ%%gd\ӶfN8'D9c?iMf©rBSW9g-2Zʊ CVd=&!rB8$Ť)=O-UW $_).T^6JQUMn93J$`sb:{ǎ]EŽ{:}`PuYEݙ[ۿtui׮]СC111111O...JKKWU5??p#F*L%*"ѨW }Kc'J̍}?X\iVp~tDU@ Qqn2iP Ye9&6I5Ӣ3ǏCkX'Ngh"y0UQXqEu).]9v0[n6RLJ.)2!D3apN1=9a#*S*QB4it8;wc0 0, :TmMNNNMMv]Ν;x.<11}YYY"Je{S BX"ݱmOcΗ]T2 &ɊYuɒ*nTsUU f WUMBI~:uiFYV3L&vZLCuvElwj3ڵkg=04M V Bb2ۛ7Kr7gtnWmXՔh'!b0N%*Q98d0%T\Q"qzPݬL٬$v]f1*++4M5TΙ5 l69v'pYۭ,Iظ2*<ۭ($KiM2uͦ_z`pB Iꛚ~|$S;xHIyW3&'(2aj!c1 1fvFh:9c&ui ^nY ULM( c,m6I" fYU4F&EI"a+oaCW J#d2mNf1R߉ʀ٬۬J,\8T7G8INԫZeŢt$X[V,:5Y, !\QƘ~,˲"[L(;7 N!j3ԮN UTTupUԧqΘb2W5 rb=zd0F$IeRy%qtƉ"S,Sw|^NijRUU%I"nMe)eY$H~_Qd*KfST~~A[f2ծA Ebх t\q)\ZJ DS*U:%1e%WYӎtO` K`PJ}>axOL$˪nj9DQ$ιWsb2~fL\hf c(pOKZWf~%Y(xqKL`1&4 ʲL˲,^Ke!'c0~$Q%,*a fH=jszقfq1N>U5RIeYteRF(M0ZȲl?n7 P&&ieeeIqQGNx%WƉ =s66Βm$j~ \tT Mqi(pI"*+L-b(1C\Q$I"ud2lbOUU*%DQtUgQ&*N:ӺMR\S4, ,̶|cLu8!DQ`1I qNqb[JUUe2+df[M(Š#,)N&f=O !rB PU4-P*q$bP*V(;x$I 6T5,E9b(v`0FokWRt]QdBDZ} 0O%.n]L>9TRE,p|3gΈZ1xFyxo%<*$*)j[qqNѥ w>`vYuwXKVII)d96.K$+ O(b%_'JIh!p',66jJ,ٳg}>_eeeLLȁRZQQu%J+T_[0+ׂ!I~_uBȲlXc`066VUUaZ Mv{||㉎f*!P=n#"D;FhcH",ԽJt^"?5$!)˲1YN$I&IeqT1*r[vU-!sncLikv 'ޒ0!Ν+..Z>o޽b(,k&˲,ˢK$˲/h+'''<oѲeˬC᫯tҲe˞={>裹?7̛7/"!Cdffv#CIDAT*hѢG}V^^_ٳ'T֭[4G[Ԏs޷oիW_",k׮[lyM7>x)"~͞=ƩSr-u9|ԩ&L2BfϞ}7ָw8p`˖-;v8twyOw0ƞ|N:effVX'(..:EZvm޽~9 SCaaaNNNbbjnРAkLǏlٲ ;;sޥK͛JC)sԩӠA.]o߾e˖5h@cR߽cbxƅ]bb+"^?~xk2.!Xb]v8q8qn"%`kLڸڷoI6lXڵk7f̘O:uELYzuϞ=[l9tW^vǎiii'O |駯2 oM7ݔեKYfO.\0;;[ꫯ!:t5rx㍡CٳgȐ!ZիײeB{;M6m۶[nZTӦMرcff歷޺}v{ !ݻwOKK;p@萜>}N0!--;/WpQx@%XW^yW^C DGرҥKE;ju3hР[tbc_>@TWҖ.]Z{0`@V{'kRd=z幹iiiYYY5|ݺuz8p*s?-[0`_|qԩ1cƴnݺ[nK, BСݻtԩ[nZWcǎڵkӦСC!Ν5kV߾}3337|@] @!U[Ν;7o\ʗ:uRڸq㤤h9HrΝ;WRRlX` L&ba@VVbi߾}fj.j(^KߪaƔ)Sxƍg ,HKKׯ!d֭ƍ9r_]vMc}Ҷm>\DΟ?l6/X@<[W̙3gΜױɓ'/Z7Ι3{ӧOvvqB}cNqG5kVJJʸqƎ[QQg9W9O9tɓǎ۴i>l…x'ԩS_||]vϞ=eeeaaE0@ B&O,w9o߾s ߲zj˵iӦЖn'o馑#Gv3n/rg}j/̘1ܹs}~uD|ǡ}߽l7\87nt\ m9rkq9Ν;W2˵qЖϚ5|Ȑ!grǏ:K*---m޼y۷o3p}JuSN^<]ןx≴ݻ+n;kKO\.WIIIh*筷jӦM]گ_WYwyub^x{?sv./K>}wԩ471wۇWcumv嵤Mj;w k)Iɑe<;;uСcǎ'NG8tÇ򊊊DOH)5͡煡C‰>,%a+w׮]C5jt9BnЮ;۷ ͬ޷oЖn! ~73t 7ozRXdzמEmݺ]r^q'~.qBؽ{w\\\QeVVdڿ( #99vzB֭۲e^|E12ÇH'򔔔& /Oƍ !iiim۶7nkvٳ'))u۷\'"+?oݫz豺imڴ_W,˝;w1YgϞiӦ믿~ҥ} r֢/g-ӧOEQ ^cΗs׭[׻w@ P^^ާO B bQX 6ݙ.zqxN^zFH億RFTh z㯹EQJJJnw||HnX(EK#? ~7uzYYYEE$ ?RգGcǎ>}:11Q<9 %"Z,W(ᓴf1՜9sBD gUӧOטyEE!$666E>+fk:t0y͛r^1mx[ZZZRRE;-4M 9Wׯ_ %-ZԴiӭ[ꫡ鵗1^=](-//gmv̙`0HСEK{ѫSo+W\dɈ#&NXY@/x[ZZZm_.W@?-S筝?O-Z~A5JOO7oބ ƌջeYK4lpƍ/ԩS,X0qn| v9裏B׭[ TU >k/8}hѢEfff6m>'|REe~sylĉǏ[nmۧO}^2$b;v̘1֭;wn ʭd] **!X"oъߚn俯$%%5/..pY{$%%͙3g/c=]e%_u։-|ɿ9sA5u :! 6M6oVƍfsgFBKOO߶mOQk׮bW_}?)Zq7ZBe\֭u]7 j&%%B4M}s5Mu]C,*[0tC,w5fj￿jO?O> o^UM62ٲe(+QVV֎; ԩS_J^{g۶m뮻Ė={^wu"HOOYvѣG 999?L>{/zUK5Mk֬ٶmBϏ+n.B+|O9߱cc=zB^`M.򯎢(C*tꫯ8pM6b͛[jU DKHhщWЭ[^{̙3Nݽ{ir*% +ҺuիW=zYf޽{̹scꧫ:.t:NyJqW޻馛 4n7زe˅Q/nuڵ㏫/?? !5"QUk&:::;;1rBDBD8{|ι(&I&?=< o駟~7m۶zeΜ96MeTEӴˆ@b\h+gʔ){7pb*z}wop88:?sq|ɒ%#GuG{M0ﮬ|[rnԨQ.\(f۵kWh^TBH߾}۵k7rȱc6iҤo{kҧiӦ[lIJJ/.aM?=z3gj-uu?cM4ӧω'BB\.WrrҥK,X@y뭷N8R\ҦM~嗷r |͚5lժ؛lٲ7|u)))krW'''gʕzJIIOZ%M޽t2~)S_~eįb67no}+5jڵk 2jԨܕ+W6m44nU{w޼y^{m ڴiӧO>s&LSRR:wnݺ`:_DG(ʾ}Ǝ۰aCEQ6mڔ^XX`ZV=C l67krO^a2RRRZj%pn:99Y< Cey1ff3cbpCMOdYo# _hr_&MD)u\{o)Ν{׾ ,zqqq'NYz>4q_Z|… njӰaӧoܸ瞽#{s.\P ]bEFիW?s/rqqqlllΝ/ԕG-,, !=zXrex:9s7޸bŊqR[odժU˗/̜7o^FU՗_~y޼y7L _bŊZhٳufo'|r͚5bנAv޽dزe rWGt7>}zEEEbb-6Rk=3/++7u=駟~'={VY:~cbb=3Zyyy||G}z^SLIJJZfͲel6XcbZ׬Y3{Gyn9GUZh1brP3iҤz(**j͵|9SRRfϞ| 6<#+W\2 6id=zRK֭s\\sMC 1cF>WU?qU\ .6mT ؋yg/^lٲ1O*-֭z.JL+O?0*++UUlbTF(w>zWbt9--MB:2qsssVkeeeII덍8~x&M>sMZn}ԩ⤤*Bb@ `6rG)9sLn֬Y>i@-U{ӧOo߾ɓb) ^wuuϜ9t5׸;v:t(>>êoḞZTTTXXظqÇ'%%Yւ@ p Ji6m.4" p9СANkXsݤIM@>`NGb DThnDR`0L&XYY)T_f;z7]T%jJBàBL$ bF.J8qRJi"|IENDB`gtk-nocsd/LICENSE000066400000000000000000001034461517422556600140010ustar00rootroot00000000000000GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright © 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. “This License” refers to version 3 of the GNU General Public License. “Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. “The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations. To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work. A “covered work” means either the unmodified Program or a work based on the Program. To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”. c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. “Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”. A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found. GTK-NoCSD Copyright (C) 2025 MorsMortium This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: GTK-NoCSD Copyright (C) 2025 MorsMortium This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”. You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . gtk-nocsd/Makefile000066400000000000000000000061731517422556600144330ustar00rootroot00000000000000################################################################################ # GTK-NoCSD # # Copyright (C) 2025 MorsMortium # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # ################################################################################ ########################### # * ARGUMENTS * # ########################### # Paths PREFIX ?= /usr/local LICENSEDIR ?= $(PREFIX)/share/licenses/gtk-nocsd LIBDIR ?= $(PREFIX)/lib64 OPTDIR ?= /opt/gtk-nocsd DOCDIR ?= $(PREFIX)/share/doc/gtk-nocsd # Compilation CC ?= cc PKG_CONFIG ?= pkg-config CFLAGS += `$(PKG_CONFIG) --cflags libadwaita-1 gobject-2.0 gio-2.0` -Wall -Wextra \ -Wconversion -Wstrict-prototypes ifndef NOLDFLAGS LDFLAGS += `$(PKG_CONFIG) --libs gobject-2.0 gio-2.0` else LDFLAGS = endif ########################### # * TARGETS * # ########################### build: libgtk-nocsd.so.0 libgtk-nocsd.so.0: ./Source/GTK-NoCSD.c $(CC) -fPIC -shared ./Source/GTK-NoCSD.c -o libgtk-nocsd.so.0 \ -Wl,-soname,libgtk-nocsd.so.0 \ -Wl,-e,GTKNoCSDMain $(CFLAGS) $(LDFLAGS) clean: rm -f ./libgtk-nocsd.so.0 install: build @for dir in "$(LICENSEDIR)" "$(LIBDIR)"; do\ mkdir -p "$(DESTDIR)$$dir";\ done install -m 644 LICENSE $(DESTDIR)$(LICENSEDIR)/LICENSE install -Dm 755 libgtk-nocsd.so.0 $(DESTDIR)$(LIBDIR)/libgtk-nocsd.so.0 ln -s libgtk-nocsd.so.0 $(DESTDIR)$(LIBDIR)/libgtk-nocsd.so ifndef NOOPT mkdir -p "$(DESTDIR)$(OPTDIR)" ln $(DESTDIR)$(LIBDIR)/libgtk-nocsd.so.0 \ $(DESTDIR)$(OPTDIR)/libgtk-nocsd.so endif ifndef NODOC mkdir -p "$(DESTDIR)$(DOCDIR)/examples/profile.d" install -m 644 Source/gtk-nocsd.sh \ $(DESTDIR)$(DOCDIR)/examples/profile.d/gtk-nocsd.sh install -m 644 Source/gtk-nocsd.csh \ $(DESTDIR)$(DOCDIR)/examples/profile.d/gtk-nocsd.csh endif uninstall: -rm -r $(DESTDIR)$(LICENSEDIR) -rm -r $(DESTDIR)$(OPTDIR) -rm -r $(DESTDIR)$(DOCDIR) -rm $(DESTDIR)$(LIBDIR)/libgtk-nocsd.so.0 -rm $(DESTDIR)$(LIBDIR)/libgtk-nocsd.so format: uncrustify -c ./Uncrustify.cfg --replace ./Source/*.c .PHONY: build uninstall format clean install gtk-nocsd/README.md000066400000000000000000000231271517422556600142500ustar00rootroot00000000000000# GTK-NoCSD GTK-NoCSD is an LD_PRELOAD library to disable CSD in GTK3/4, LibHandy, and LibAdwaita apps. CSD is client side decoration, there is also server side decoration, SSD, both serving as the titlebar of windows. GTK3 adopted CSD, where this thick headerbar is used with application controls embedded. This continued into the platform library, LibHandy, then into GTK4 and the platform library of that, LibAdwaita. This looks good on Gnome and makes these applications alike, but looks off everywhere else and can potentially break window managers and remove window manager provided functionality. This library restores the server side decoration, getting back the window manager titlebar, and moves the controls from the CSD to under it, into the window content. ## Build dependencies - GCC - LibAdwaita ## Building ### Make The library uses the make build system. Look at ARGUMENTS block to see what can be changed. The makefile has the following commands: - build: Builds the library - clean: Removes locally built library - install: Builds and installs library - uninstall: Removes installed library - format: Formats source code with uncrustify ### Manually Get the source files and enter the directory. ``` git clone https://codeberg.org/MorsMortium/GTK-NoCSD.git cd GTK-NoCSD ``` Build the library. Both 32 and 64 bit builds will produce a libgtk-nocsd.so.0 file, in the root of the repository. #### 64 bit This command builds the library. ``` gcc -fPIC -shared ./Source/GTK-NoCSD.c -o libgtk-nocsd.so.0 \ -Wl,-soname,libgtk-nocsd.so.0 \ $(pkg-config --cflags libadwaita-1) \ $(pkg-config --cflags --libs gobject-2.0 gio-2.0) ``` #### 32 bit Building for 32 bit applications can be done like so. ``` gcc -fPIC -shared ./Source/GTK-NoCSD.c -o libgtk-nocsd.so.0 \ -Wl,-soname,libgtk-nocsd.so.0 \ $(pkg-config --cflags libadwaita-1 | sed 's/$/ -m32/') \ $(pkg-config --cflags --libs gobject-2.0 gio-2.0 | sed 's/$/ -m32/') ``` ## Packaging You are free to package it yourself or ask distribution packagers to do it. Warning: Debian and distributions based on it do not have the /opt link, for flatpak you have to copy it or make a hard link to it. ### AUR https://aur.archlinux.org/packages/gtk-nocsd-git ### Gentoo ``` eselect repository enable overlay-from-plan9 emaint sync -r overlay-from-plan9 emerge -av gui-libs/gtk-nocsd ``` ### Fedora ``` sudo dnf copr enable hazel-bunny/ricing sudo dnf upgrade sudo dnf install gtk-nocsd ``` ### Debian https://packages.debian.org/search?keywords=libgtk-nocsd0 ### Ubuntu https://packages.ubuntu.com/search?keywords=libgtk-nocsd0 ### Kali Linux https://pkg.kali.org/pkg/gtk-nocsd ## Usage Here the naming was written for a file named libgtk-nocsd.so, available in the packages. If manual build was used and the file is named libgtk-nocsd.so.0, it can either be renamed to libgtk-nocsd.so or the instructions can be changed to the new name. `LD_PRELOAD=./libgtk-nocsd.so app` The path can be an absolute path. If only `LD_PRELOAD=libgtk-nocsd.so` is used, it is possible that the binary changes current directory and preloading fails. For help on setting up individual applications, I recommend my similar setup: https://codeberg.org/MorsMortium/Setup/src/commit/ef00c78e848d88ac0f6d8b426034c672863feacc/UserSetup.sh#L48 Bear in mind the segment after, where .desktop files get their `DBusActivatable=true` part removed, which fixes them not picking up the library. There is also a manual guide: [SingleAppUsage.md](./SingleAppUsage.md) The library works globally too, usage combined with gtk3-nocsd is not supported (but also not needed). To use it globally, add `export LD_PRELOAD=/path/to/libgtk-nocsd.so` to `~/.bash_profile`, or in case of other system shell, the profile of that. When loaded globally, the `DBusActivatable=true` removal is not needed. Certain launchers or .desktop files start the application with `gapplication launch` which might not carry the LD_PRELOAD variable. this can be solved by creating a ` ~/.config/environment.d` folder, in that a .conf file, the name should not matter, for example `LD_PRELOAD.conf` and in that as content `LD_PRELOAD=/path/to/libgtk-nocsd.so`. After a restart these applications or applications started from these launchers will pick up the variable. ### Nix Home Manager Applications installed through this might not have access to the needed libraries. This is apparent from the following error: ``` error while loading shared libraries: libgio-2.0.so.0: cannot open shared object file: No such file or directory ``` There are multiple possible solutions for this, depending on applications and setups. If all the applications that need the library are in C or other compiled languages that link dependencies, the library can be built without linking extra libraries like so: `make NOLDFLAGS=1` If this is not the case, then if there are more applications needing the library, then the ones that crash with the error need extra setup with disabling the library there (`LD_PRELOAD=""`) If there are more that do not need the library, then each individual application needs to be set up individually (as described previously). ### Flatpak The library can be used as is. To do so, the easiest is using Flatseal: In the All Applications/Filesystem the folder in which the library is has to be added. Remember that /usr cannot be shared, if it is there, it has to be moved or copied somewhere else. For the packages using the make method (all listed), /opt/gtk-nocsd/libgtk-nocsd.so is available for flatpak. Then, in All Applications/Environment the LD_PRELOAD variable has to be added: `LD_PRELOAD=/path/to/libgtk-nocsd.so` This is the same path as what was shared. These can be done for a single application as well, if that is needed. Testing a single application can be done like so: `flatpak run --filesystem=/path/to/ --env=LD_PRELOAD=/path/to/libgtk-nocsd.so org.developer.application` Setting up all applications: `flatpak override --user --filesystem=/path/to/ --env=LD_PRELOAD=/path/to/libgtk-nocsd.so` Setting up a single application: `flatpak override --user --filesystem=/path/to/ --env=LD_PRELOAD=/path/to/libgtk-nocsd.so org.developer.application` Resetting modifications (either done by Flatseal or these commands): All applications: `flatpak override --user --reset` A single application: `flatpak override --user --reset org.developer.application` ### Snap The library is usable with per app setup of Snap applications. For instructions follow [SingleSnapUsage.md](./SingleSnapUsage.md) ## Testing The library was tested and working with the following applications ### GTK4 and LibAdwaita - Gnome games - Mahjongg - Sudoku - Mines - Nibbles - Chess - Swell Foop - Robots - Lights Off - Quadrapassel - Development tools - Demo - Node Editor - Widget Factory - Cambalache - Adwaita Demo - Android Translation Layer - Font Manager - Dino - Easy Effects - vipsdisp - Gajim - Mission Center - Gnome Calls - Pidgin 3 - Lenspect - Aether (with using `gjs -m /usr/share/aether/src/main.js` directly (or possibly in `/etc/ld.so.preload`)) - Meld (GTK4 port) - Pamac ### GTK3 and LibHandy - Gnome games - 2048 - Five or More - Four in a Row - Hitori - Klotski - Tetravex - Taquin - Atomix - Iagno/Reversi - Development tools - Demo - Widget Factory - Icon Browser - Glade - Lutris - BleachBit - SongRec - Gnome-Pie - Trackma - Emote - HardInfo2 - Pamac (LibHandy version) The library is intentionally disabled for GTK Inspector windows. There are no known applications where this does not work. ## Screenshots ### Before ![](./Images/Old1.png) ![](./Images/Old2.png) ![](./Images/Old3.png) ![](./Images/Old4.png) ![](./Images/Old5.png) ### After ![](./Images/New1.png) ![](./Images/New2.png) ![](./Images/New3.png) ![](./Images/New4.png) ![](./Images/New5.png) ## Theming ### GTK3/GTK4 As usual. ### LibHandy/LibAdwaita Set GTK_THEME variable to theme (folder in `/usr/share/themes` or `~/.themes`). ### Inside flatpak Copy `/usr/share/themes` to `~/.themes` in case of system theme. Pass through `~/.themes` folder to flatpak with `--filesystem=~/.themes`. Set theme name with environment variable `--env=GTK_THEME=Breeze:dark`. `:dark` is dark preference, `:whatever else` is light preference. Not having either (`--env=GTK_THEME=Breeze`) is leaving it to the default. ## Contributions ### Contributions are welcome! Rules of contribution: - Use the naming conventions (PascalCase everywhere, no shortening of words) - Format the code with uncrustify, which can be done with running this command in the root directory: `uncrustify -c ./Uncrustify.cfg --replace ./Source/*.c` - Keep 80 characters line length (handled by uncrustify in C) - Never call GTK/GDK functions that don't start with o_, unless own function. (GObject/GLib and such are fine) - If own replacement function is called comment `// WARNING: Own call` - If having to cast between signed and unsigned or larger to smaller, add `// WARNING: Downcast` - Avoid GTK/GDK macros, if possible - The build should not produce any warnings ## Support ### Never open issues for GTK/Gnome apps, when this library is in use. If you have any problem with any apps, that is caused by this library, report it here. If there is an issue with an app, that is not caused by the library, make all reports/investigations with the library disabled. The library won't have a dedicated chat, but feel free to join our Matrix community https://matrix.to/#/%23TheWorldMachineOffTopic%3Amatrix.org?via=matrix.org&via=midov.pl&via=monero.social ## Donation If you like my work, feel free to donate: https://morsmortium.neocities.org/donation gtk-nocsd/SingleAppUsage.md000066400000000000000000000026331517422556600161610ustar00rootroot00000000000000# Gnome Chess example Gnome Chess has the executable `gnome-chess`. `~/.local/bin/gnome-chess` has to be created as an executable file, with this content: ``` #!/usr/bin/env bash LD_PRELOAD=libgtk-nocsd.so /usr/bin/gnome-chess "$@" ``` In this example `"$@"` is not needed, but it is, if a program can be used to open files. PATH needs to be set up correctly, for example my `~/.bash_profile` has this line: ``` export PATH=/home/morsmortium/.local/bin:$PATH ``` This means that the local executable will be used instead of the system one, if available. This is respected by Plasma app launcher (and should be by anything) Then, as a last step, certain apps start from DBUS, when started from launchers, which completely goes around all this. To check if an app does this, the .desktop file of it has to be inspected. `/usr/share/applications/org.gnome.Chess.desktop` is the one for Gnome Chess. It has this line: ``` DBusActivatable=true ``` The file has to be copied into `~/.local/share/applications/` and that line has to be removed. After all this, if Gnome Chess is opened from the app launcher or from the command line with `gnome-chess`, it will open without CSD. It can be opened without this applied with using `/usr/bin/gnome-chess` from the command line, which goes around `~/.local/bin/gnome-chess`. While the first steps will be avoidable once the other issue is solved, this DBUS check might not. gtk-nocsd/SingleSnapUsage.md000066400000000000000000000033101517422556600163330ustar00rootroot00000000000000# Ubuntu App Center/Snap Store/Software example The name of the snap is `snap-store`, this is used in many places. The library has to be copied into the local snap folder of the application. The location of the library is distribution dependent, folder in home might only appear after first run. `cp /path/to/libgtk-nocsd.so.0 ~/snap/snap-store/current/` App Center has the executable `snap-store`. `~/.local/bin/snap-store` has to be created as an executable file, with this content: ``` #!/usr/bin/env bash echo "LD_PRELOAD=\$SNAP_USER_DATA/libgtk-nocsd.so.0 \$SNAP/bin/software '$@'" | snap run --shell snap-store ``` Then, as a last step, the .desktop file has to be edited to open the modified version instead. `/var/lib/snapd/desktop/applications/snap-store_snap-store.desktop` is the one for App Center. The file has to be copied into `~/.local/share/applications/`. `cp /var/lib/snapd/desktop/applications/snap-store_snap-store.desktop ~/.local/share/applications/` Then the Exec line has to be edited and replaced with `~/.local/bin/snap-store %U`: `sed -i "s/^Exec=.*$/Exec=~\/.local\/bin\/snap-store %U/" ~/.local/share/applications/snap-store_snap-store.desktop` Optional for terminal usage: PATH needs to be set up correctly, for example my `~/.bash_profile` has this line: ``` export PATH=/home/morsmortium/.local/bin:$PATH ``` This means that the local executable will be used instead of the system one, if available. After all this, if App Center is opened from the app launcher or from the command line with `snap-store`, it will open without CSD. It can be opened without this applied with using `/snap/bin/snap-store` from the command line, which goes around `~/.local/bin/snap-store`. gtk-nocsd/Source/000077500000000000000000000000001517422556600142245ustar00rootroot00000000000000gtk-nocsd/Source/GTK-NoCSD.c000066400000000000000000003407551517422556600157370ustar00rootroot00000000000000/******************************************************************************\ * GTK-NoCSD * * Copyright (C) 2025-2026 MorsMortium * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 3 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * \******************************************************************************/ #define _GNU_SOURCE #include #include #include #include #include // List of arguments and number of them is saved for GTK applications, in case // of crash, to restart them without the library char **GTKNoCSDArguments = NULL; size_t GTKNoCSDArgumentNumber = 0; void GTKNoCSDSaveArguments(void) { // Save the arguments into a variable // Open file, return on failure int File = open("/proc/self/cmdline", O_RDONLY); if (File < 0) { return; } // Read file, close it, return on failure char Buffer[8192]; ssize_t Length = read(File, Buffer, sizeof(Buffer) - 1); close(File); if (Length <= 0) { return; } Buffer[Length] = '\0'; // Count arguments size_t Number = 0; for (ssize_t Index = 0; Index < Length; Index++) { if (Buffer[Index] == '\0') { Number++; } } // Allocate memory for array of arguments, return on failure GTKNoCSDArguments = calloc(Number + 1, sizeof(char *)); if (GTKNoCSDArguments == NULL) { return; } // Copy each line into the array, close it, return on failue char *Line = Buffer; for (size_t Index = 0; Index < Number; Index++) { GTKNoCSDArguments[Index] = strdup(Line); // Clean up on failure if (GTKNoCSDArguments[Index] == NULL) { while (Index--) { free(GTKNoCSDArguments[Index]); } free(GTKNoCSDArguments); GTKNoCSDArguments = NULL; return; } Line += strlen(Line) + 1; } GTKNoCSDArguments[Number] = NULL; GTKNoCSDArgumentNumber = Number; } // Copies for the crash handler to use, since it loses the originals #define TO_CHILD_COPY 3 #define TO_PARENT_COPY 4 #define TO_CHILD_END_COPY 5 // Anonymous pipe data for multi process communication, in both directions int GTKNoCSDPipeToChild[2], GTKNoCSDPipeToParent[2], GTKNoCSDPipeToChildEnd[2]; // Original actions for signals, set up by the application struct sigaction GTKNoCSDSEGVAction; struct sigaction GTKNoCSDABRTAction; struct sigaction GTKNoCSDFPEAction; struct sigaction GTKNoCSDILLAction; struct sigaction GTKNoCSDBUSAction; void GTKNoCSDAction(int Signal, siginfo_t *Info, void *UContext) { // Send message to the crash loop about caught signals and run the original // handlers to keep applications running, in case of not fatal signal // Send a message to the other process that a signal has been caught G_GNUC_UNUSED ssize_t Ignore = write(GTKNoCSDPipeToChild[1], "1", 1); // Get the correct original action struct sigaction Action; if (Signal == SIGSEGV) { Action = GTKNoCSDSEGVAction; } else if (Signal == SIGABRT) { Action = GTKNoCSDABRTAction; } else if (Signal == SIGFPE) { Action = GTKNoCSDFPEAction; } else if (Signal == SIGILL) { Action = GTKNoCSDILLAction; } else if (Signal == SIGBUS) { Action = GTKNoCSDBUSAction; } // Run the original action if (Action.sa_flags & SA_SIGINFO && Action.sa_sigaction != NULL) { Action.sa_sigaction(Signal, Info, UContext); } else if (Action.sa_handler == SIG_DFL) { sigaction(Signal, &Action, NULL); raise(Signal); } else if (Action.sa_handler != SIG_IGN) { Action.sa_handler(Signal); } } // Pid of crash handler process, 5 different possible values: // -3: Have not tried yet | -2: Failed before trying | -1: Failed forking // 0: In child process | 0<: In parent process pid_t GTKNoCSDCrashPid = -3; void GTKNoCSDExit(void) { // Send a message on successful exits so the application is not restarted if (0 < GTKNoCSDCrashPid) { G_GNUC_UNUSED ssize_t Ignore = write(GTKNoCSDPipeToChild[1], "0", 1); } } // Requires stack realignment because bypassing the C runtime startup leaves // the stack unaligned, violating the System V AMD64 ABI. #if defined(__i386__) || defined(__x86_64__) __attribute__((visibility("default"), force_align_arg_pointer)) #else __attribute__((visibility("default"))) #endif void GTKNoCSDMain(void) { // This runs when the library is started as an executable // Musl does not run constructors for custom entry points if (GTKNoCSDArguments == NULL) { GTKNoCSDSaveArguments(); } // Unset library for next start, in case of crash setenv("LD_PRELOAD", "", 1); // Send handshake to parent, stop execution of process G_GNUC_UNUSED ssize_t Ignore = write(TO_PARENT_COPY, "1", 1); // Wait until parent ends char Buffer; Ignore = read(TO_CHILD_END_COPY, &Buffer, 1); // Go through sent signals, 0 means successful exit, others mean a signal // was caught bool Restart = false; while (read(TO_CHILD_COPY, &Buffer, 1) > 0) { Restart = true; if (Buffer == '0') { Restart = false; break; } } // Restart if needed, leave if (Restart && GTKNoCSDArguments != NULL && GTKNoCSDArgumentNumber > 0) { printf("GTK-NoCSD: Crash detected, restarting without library.\n"); // For some reason Hurd ld does not include ld library name and -- int Shift = 1; if (3 < GTKNoCSDArgumentNumber && strcmp(GTKNoCSDArguments[1], "--") == 0) { Shift = 3; } execve(GTKNoCSDArguments[Shift], GTKNoCSDArguments + Shift, environ); } _exit(0); } bool GTKNoCSDLibraryInPath(const char *Path) { // Check if path contains GTK or Flutter library, for AppImage // Dynamic list of paths to visit, initial capacity for less reallocs size_t Capacity = 16; char **Paths = malloc(Capacity * sizeof(char *)); if (Paths == NULL) { return false; } // Set initial path size_t Count = 0; Paths[Count++] = strdup(Path); if (Paths[0] == NULL) { free(Paths); return false; } // Go through all files while (Count > 0) { char *CurrentPath = Paths[--Count]; // Open directory DIR *Directory = opendir(CurrentPath); if (Directory == NULL) { free(CurrentPath); continue; } struct dirent *Entry; while ((Entry = readdir(Directory)) != NULL) { // Get full path of file, go to next file on failure char *FullPath = malloc( strlen(CurrentPath) + strlen(Entry->d_name) + 2); if (FullPath == NULL) { continue; } sprintf(FullPath, "%s/%s", CurrentPath, Entry->d_name); // Check file info, go to next file on failure struct stat Stat; if (stat(FullPath, &Stat) == -1) { free(FullPath); continue; } if (S_ISDIR(Stat.st_mode)) { // Add subdirectory to list if (Count == Capacity) { Capacity *= 2; char **Temporary = realloc(Paths, Capacity * sizeof(char *)); if (Temporary == NULL) { free(FullPath); continue; } Paths = Temporary; } Paths[Count++] = FullPath; } else if (S_ISREG(Stat.st_mode)) { // Check if the filename is GTK or Flutter library. Flutter uses // GTK for windowing while might not have it in the directory if ((strncmp(Entry->d_name, "libgtk-", 7) == 0 || strncmp(Entry->d_name, "libflutter", 10) == 0) && strstr(Entry->d_name, ".so") != NULL) { // If found, clean up everything and return success free(FullPath); closedir(Directory); free(CurrentPath); for (size_t Index = 0; Index < Count; ++Index) { free(Paths[Index]); } free(Paths); return true; } free(FullPath); } else { free(FullPath); } } closedir(Directory); free(CurrentPath); } free(Paths); return false; } void GTKNoCSDUnsetLDPreload(void) { // setenv does not always work before execve in these specific contexts, // so LD_PRELOAD is stripped manually from the environment array. if (environ != NULL) { for (char **Variable = environ; *Variable != NULL; ++Variable) { if (strncmp(*Variable, "LD_PRELOAD=", 11) == 0) { (*Variable)[11] = '\0'; break; } } } } bool GTKNoCSDOnLomiri = false; void *(*o_dlsym)(void *, const char *) = NULL; char *GTKNoCSDLD = NULL, *GTKNoCSDLibC = NULL, *GTKNoCSDTheme = NULL; void *GTKNoCSDResolvePointer(ElfW(Addr) Base, ElfW(Addr) Pointer) { // Musl pointers are offsets from base, so they are added to it // GLibC pointers are actual pointers so they are returned as given return Pointer >= Base ? (void *) Pointer : (void *) (Base + Pointer); } int GTKNoCSDGetDLSym(struct dl_phdr_info *Information, G_GNUC_UNUSED size_t Size, G_GNUC_UNUSED void *Data) { // Get dlsym for being able to overwrite it for certain language bindings // LibC or LD in case of Musl if (!Information->dlpi_name || strstr( Information->dlpi_name, GTKNoCSDLibC) != Information->dlpi_name) { return 0; } // Shorthand ElfW(Addr) Base = Information->dlpi_addr; // Get dynamic entries. These contain all library information ElfW(Dyn) * Dynamics = NULL; for (int Index = 0; Index < Information->dlpi_phnum; ++Index) { if (Information->dlpi_phdr[Index].p_type == PT_DYNAMIC) { Dynamics = (ElfW(Dyn) *)(Base + Information->dlpi_phdr[Index].p_vaddr); break; } } // SymTab contains symbols, StrTab contains symbol names. Fetch both ElfW(Sym) * SymTab = NULL; const char *StrTab = NULL; for (ElfW(Dyn) * Dynamic = Dynamics; Dynamic->d_tag != DT_NULL; Dynamic++) { if (Dynamic->d_tag == DT_SYMTAB) { SymTab = (ElfW(Sym) *)GTKNoCSDResolvePointer(Base, Dynamic->d_un.d_ptr); } else if (Dynamic->d_tag == DT_STRTAB) { StrTab = (const char *) GTKNoCSDResolvePointer(Base, Dynamic->d_un.d_ptr); } } // Getting the actual length does not seem to work. This assumes that it // will be present. If not, either here or somewhere else will be a crash for (size_t Index = 0; Index < 50000; Index++) { if (strcmp(StrTab + SymTab[Index].st_name, "dlsym") == 0) { o_dlsym = (void *) (Base + SymTab[Index].st_value); return 1; } } return 0; } int GTKNoCSDGetLDAndLibC(struct dl_phdr_info *Information, G_GNUC_UNUSED size_t Size, G_GNUC_UNUSED void *Data) { // Get LD and LibC libraries for crash handler and getting dlsym if (Information->dlpi_name != NULL) { // Used for starting the crash handler. Finds the dynamic linker across // GlibC, musl, and Hurd. if (GTKNoCSDLD == NULL && strstr(Information->dlpi_name, "/ld-") != NULL && strstr(Information->dlpi_name, ".so.") != NULL) { GTKNoCSDLD = strdup(Information->dlpi_name); } // LibC contains dlsym on GlibC if (GTKNoCSDLibC == NULL && strstr(Information->dlpi_name, "/libc.") != NULL && strstr(Information->dlpi_name, ".so.") != NULL) { GTKNoCSDLibC = strdup(Information->dlpi_name); } // If both are found, leave if (GTKNoCSDLD != NULL && GTKNoCSDLibC != NULL) { return 1; } } return 0; } void GTKNoCSDInitDLSym(bool Unload) { // Fully get dlsym, exit on failure or force unload // Get dlsym if (o_dlsym == NULL && !Unload) { dl_iterate_phdr(GTKNoCSDGetLDAndLibC, NULL); GTKNoCSDLibC = GTKNoCSDLibC == NULL ? GTKNoCSDLD : GTKNoCSDLibC; dl_iterate_phdr(GTKNoCSDGetDLSym, NULL); } // If still not found, unload instead of crash if (o_dlsym == NULL || Unload) { if (GTKNoCSDArguments == NULL) { GTKNoCSDSaveArguments(); } if (GTKNoCSDArguments != NULL) { GTKNoCSDUnsetLDPreload(); execve(GTKNoCSDArguments[0], GTKNoCSDArguments, environ); _exit(0); } } } __attribute__((constructor)) static void GTKNoCSDInit(void) { // This runs both when preloaded and when started as executable GTKNoCSDInitDLSym(false); // Save arguments. When preloaded, this is the started programs arguments, // sent into the library as executable, where it is saved again, for restart GTKNoCSDSaveArguments(); // If already checked appimage, then no longer check it and unload if needed char *AppImage = getenv("GTK-NoCSDAppImage"); bool Disable = false; // AppImages might use GLib functions while not being GTK applications and // not supplying the needed functions. They are dealt with here for (size_t Index = 0; AppImage == NULL && Index < GTKNoCSDArgumentNumber; ++Index) { // Go through all arguments // If argument ends with AppRun or starts with /tmp/.mount_, it most // likely is an AppImage char *Argument = GTKNoCSDArguments[Index]; const char *AppRun = strstr(Argument, "AppRun"); char *(*Find)(const char *, int) = NULL; if (AppRun != NULL && strlen(AppRun) == 6) { Find = strrchr; } else if (strstr(Argument, "/tmp/.mount_") == Argument) { Find = strchr; } // Duplicate argument, find last or next slash if (Find != NULL) { char *Path = strdup(Argument); if (Path != NULL) { char *Last = Find(Path + (Find == strchr ? 12 : 0), '/'); // Cut off everything after slash, check if directory has GTK if (Last != NULL) { *Last = '\0'; Disable = !GTKNoCSDLibraryInPath(Path); } // Only check it once, for speedup, clean up and exit early setenv("GTK-NoCSDAppImage", "1", 1); free(Path); break; } } } // Check if the library is loaded into the Cambalache internal app, Merengue // This is a development environment and the library is not needed to run if (GTKNoCSDArguments != NULL) { char *Application = GTKNoCSDArguments[1]; Disable = Disable || (Application != NULL && strstr(Application, "/merengue\0") != NULL); } // For package level loading disable on everything GNOME except Flashback const char *Desktop = getenv("XDG_CURRENT_DESKTOP"); Disable = Disable || (Desktop != NULL && strstr(Desktop, "GNOME") != NULL && strstr(Desktop, "GNOME-Flashback") == NULL); // Do not unload from gnome-session for (size_t Index = 0; Index < GTKNoCSDArgumentNumber && Disable; ++Index) { Disable = Disable && strstr(GTKNoCSDArguments[Index], "gnome-session") == NULL; } // If not needed, unset library, restart if (Disable && GTKNoCSDArguments != NULL) { GTKNoCSDInitDLSym(true); } // In Lomiri transient-for changes have to be delayed GTKNoCSDOnLomiri = Desktop != NULL && strstr(Desktop, "Lomiri") != NULL; // Set the GTK_CSD environment variable for applications that recognize it setenv("GTK_CSD", "0", 1); // Save theme GTKNoCSDTheme = getenv("GTK_THEME"); } // GTypes used for identifying widgets GType GTKNoCSDGTKWindow = 0; GType GTKNoCSDADWWindow = 0; GType GTKNoCSDHDYWindow = 0; GType GTKNoCSDGTKApplicationWindow = 0; GType GTKNoCSDADWApplicationWindow = 0; GType GTKNoCSDHDYApplicationWindow = 0; GType GTKNoCSDGTKHeaderBar = 0; GType GTKNoCSDADWHeaderBar = 0; GType GTKNoCSDHDYHeaderBar = 0; GType GTKNoCSDContainer = 0; GType GTKNoCSDGTKShortcutsWindow = 0; GType GTKNoCSDGTKBuilder = 0; GType GTKNoCSDGTKLabel = 0; GType GTKNoCSDGTKBox = 0; GType GTKNoCSDGTKSearchBar = 0; GType GTKNoCSDADWDialog = 0; GType GTKNoCSDGTKToggleButton = 0; GType GTKNoCSDGTKImage = 0; GType GTKNoCSDADWWindowTitle = 0; // All GTK/GLib functions overwritten or used from GTK3 void (*o_gtk_window_present)(GtkWindow *) = NULL; void (*o_gtk_widget_set_visible)(GtkWidget *, gboolean) = NULL; GtkWidget * (*o_gtk_window_get_child)(GtkWindow *) = NULL; void (*o_gtk_window_set_child)(GtkWindow *, GtkWidget *) = NULL; GtkWidget * (*o_gtk_widget_get_parent)(GtkWidget *) = NULL; GtkWidget * (*o_gtk_widget_get_first_child)(GtkWidget *) = NULL; GtkWidget * (*o_gtk_widget_get_last_child)(GtkWidget *) = NULL; GtkWidget * (*o_gtk_window_get_titlebar)(GtkWindow *) = NULL; GtkWidget * (*o_gtk_about_dialog_new)(void) = NULL; void (*o_gtk_window_set_titlebar)(GtkWindow *, GtkWidget *) = NULL; GType (*o_gtk_window_get_type)(void) = NULL; GType (*o_gtk_application_window_get_type)(void) = NULL; GType (*o_gtk_header_bar_get_type)(void) = NULL; GType (*o_adw_window_get_type)(void) = NULL; GType (*o_adw_application_window_get_type)(void) = NULL; GType (*o_gtk_container_get_type)(void) = NULL; GType (*o_hdy_window_get_type)(void) = NULL; GType (*o_hdy_application_window_get_type)(void) = NULL; GType (*o_adw_header_bar_get_type)(void) = NULL; GType (*o_hdy_header_bar_get_type)(void) = NULL; GType (*o_gtk_shortcuts_window_get_type)(void) = NULL; GType (*o_gtk_builder_get_type)(void) = NULL; GType (*o_gtk_label_get_type)(void) = NULL; GType (*o_gtk_box_get_type)(void) = NULL; GType (*o_gtk_widget_get_type)(void) = NULL; GType (*o_gtk_search_bar_get_type)(void) = NULL; GType (*o_adw_dialog_get_type)(void) = NULL; GType (*o_gtk_toggle_button_get_type)(void) = NULL; GType (*o_gtk_image_get_type)(void) = NULL; GType (*o_adw_window_title_get_type)(void) = NULL; gboolean (*o_gtk_css_provider_load_from_data) (GtkCssProvider *, const gchar *, gssize, GError **) = NULL; void (*o_gtk_style_context_add_provider_for_screen) (void *, GtkStyleProvider *, guint) = NULL; void * (*o_gdk_screen_get_default) (void) = NULL; void * (*o_gtk_widget_get_window) (GtkWidget *) = NULL; GtkWidget *(*o_gtk_bin_get_child) (void *) = NULL; void (*o_gtk_box_pack_start) (GtkBox *, GtkWidget *, gboolean, gboolean, guint) = NULL; GList *(*o_gtk_container_get_children) (void *) = NULL; void (*o_gtk_container_remove) (void *, GtkWidget *) = NULL; void (*o_gtk_container_add) (void *, GtkWidget *) = NULL; void (*o_gtk_container_set_border_width) (void *, guint) = NULL; void (*o_gtk_header_bar_set_custom_title) (GtkHeaderBar *, GtkWidget *) = NULL; GtkWidget * (*o_gtk_header_bar_get_custom_title) (GtkHeaderBar *) = NULL; void (*o_gtk_container_check_resize) (void *) = NULL; GtkWidget *(*o_gtk_widget_get_toplevel) (GtkWidget *) = NULL; int (*o_gtk_window_get_window_type) (GtkWindow *) = NULL; void (*o_gtk_widget_show_all) (GtkWidget *) = NULL; void (*o_gtk_window_begin_move_drag) (GtkWindow *, gint, gint, gint, guint32) = NULL; GtkWidget *(*o_gtk_event_box_new) (void) = NULL; int (*o_gdk_event_get_event_type) (void *) = NULL; gboolean (*o_gdk_event_get_button)(const GdkEvent *, guint *) = NULL; gboolean (*o_gdk_window_show_window_menu) (void *, void *) = NULL; int (*o_gtk_window_get_type_hint) (GtkWindow *) = NULL; gboolean (*o_gdk_event_get_root_coords) (const GdkEvent *, gdouble *, gdouble *) = NULL; gboolean (*o_gtk_builder_add_from_string) (GtkBuilder *, const gchar *, gssize, GError **) = NULL; gboolean (*o_g_module_symbol) (GModule *, const gchar *, gpointer *) = NULL; void (*o_hdy_header_bar_set_decoration_layout) (GtkWidget *, const gchar *) = NULL; GtkWidget *(*o_hdy_header_bar_get_custom_title) (GtkWidget *) = NULL; void (*o_hdy_header_bar_set_custom_title) (GtkWidget *, GtkWidget *) = NULL; void (*o_gtk_widget_reparent) (GtkWidget *, GtkWidget *) = NULL; GtkSettings *(*o_gtk_settings_get_default) (void) = NULL; GtkCssProvider *(*o_gtk_css_provider_new) (void) = NULL; const gchar *(*o_gtk_widget_get_name) (GtkWidget *) = NULL; GtkStyleContext * (*o_gtk_widget_get_style_context) (GtkWidget *) = NULL; void (*o_gtk_style_context_add_provider) (GtkStyleContext *, GtkStyleProvider *, guint) = NULL; GtkApplication * (*o_gtk_window_get_application) (GtkWindow *) = NULL; GdkDisplay *(*o_gdk_display_get_default) (void) = NULL; void (*o_gtk_css_provider_load_from_string) (GtkCssProvider *, const char *) = NULL; void (*o_gtk_style_context_add_provider_for_display) (GdkDisplay *, GtkStyleProvider *, guint) = NULL; GtkBuilder *(*o_gtk_builder_new) (void) = NULL; const char *(*o_gtk_check_version) (guint, guint, guint) = NULL; void (*o_gtk_widget_unparent) (GtkWidget *) = NULL; void (*o_gtk_box_append) (GtkBox *, GtkWidget *) = NULL; void (*o_gtk_widget_set_vexpand) (GtkWidget *, gboolean) = NULL; void (*o_gtk_widget_set_hexpand) (GtkWidget *, gboolean) = NULL; GtkWidget *(*o_gtk_widget_get_ancestor) (GtkWidget *, GType) = NULL; GtkWidget *(*o_gtk_revealer_new) (void) = NULL; void (*o_gtk_revealer_set_transition_duration) (GtkRevealer *, guint) = NULL; void (*o_gtk_widget_set_layout_manager) (GtkWidget *, GtkLayoutManager *) = NULL; GtkWidget *(*o_gtk_box_new) (GtkOrientation, gint) = NULL; void (*o_gtk_widget_set_name) (GtkWidget *, const gchar *) = NULL; void (*o_gtk_label_set_label) (GtkLabel *, const char *) = NULL; const char *(*o_gtk_label_get_label) (GtkLabel *) = NULL; void (*o_gtk_window_set_title) (GtkWindow *, const char *) = NULL; GtkWidget * (*o_gtk_header_bar_get_title_widget) (GtkHeaderBar *) = NULL; gboolean (*o_gtk_window_get_decorated) (GtkWindow *); GtkWidget * (*o_adw_header_bar_get_title_widget) (AdwHeaderBar *) = NULL; void (*o_gtk_header_bar_set_title_widget) (GtkHeaderBar *, GtkWidget *) = NULL; GtkWidget *(*o_gtk_grid_new) (void) = NULL; GtkWidget *(*o_gtk_widget_get_next_sibling) (GtkWidget *) = NULL; GtkShortcutsWindow *(*o_gtk_application_window_get_help_overlay) ( GtkApplicationWindow *) = NULL; void (*o_gtk_header_bar_set_decoration_layout) (GtkHeaderBar *, const char *) = NULL; gboolean (*o_gtk_style_context_has_class) (GtkStyleContext *, const gchar *) = NULL; guint32 (*o_gdk_event_get_time) (GdkEvent *) = NULL; void (*o_gtk_widget_queue_resize) (GtkWidget *) = NULL; void (*o_gtk_widget_measure) (GtkWidget *, GtkOrientation, int, int *, int *, int *, int *) = NULL; void (*o_gtk_widget_set_child_visible) (GtkWidget *, gboolean) = NULL; void (*o_gtk_widget_allocate) (GtkWidget *, int, int, int, GskTransform *) = NULL; int (*o_gtk_widget_get_allocated_height) (GtkWidget *) = NULL; void (*o_gtk_revealer_set_reveal_child) (GtkRevealer *, gboolean) = NULL; void (*o_gtk_box_remove) (GtkBox *, GtkWidget *) = NULL; void (*o_gtk_application_set_app_menu) (GtkApplication *, GMenuModel *) = NULL; const char * (*o_gtk_window_get_title) (GtkWindow *) = NULL; const char *(*o_gtk_label_get_text) (GtkLabel *) = NULL; gboolean (*o_gtk_widget_get_mapped) (GtkWidget *) = NULL; void (*o_gtk_window_set_hide_on_close) (GtkWindow *, gboolean) = NULL; void (*o_gtk_window_set_modal) (GtkWindow *, gboolean) = NULL; void (*o_gtk_window_set_transient_for) (GtkWindow *, GtkWindow *) = NULL; void (*o_gtk_window_set_destroy_with_parent) (GtkWindow *, gboolean) = NULL; void (*o_gtk_window_set_decorated) (GtkWindow *, gboolean) = NULL; void (*o_gtk_box_reorder_child) (GtkBox *, GtkWidget *, gint) = NULL; void (*o_gtk_widget_set_halign) (GtkWidget *, GtkAlign) = NULL; void (*o_adw_header_bar_set_decoration_layout) (AdwHeaderBar *, const char *) = NULL; void (*o_adw_dialog_present) (AdwDialog *, GtkWidget *) = NULL; void (*o_adw_dialog_set_content_height) (AdwDialog *, int) = NULL; void (*o_adw_dialog_set_content_width) (AdwDialog *, int) = NULL; AdwDialog * (*o_adw_application_window_get_visible_dialog) ( AdwApplicationWindow *) = NULL; AdwDialog * (*o_adw_window_get_visible_dialog) (AdwWindow *) = NULL; GtkWindow * (*o_gtk_window_get_transient_for) (GtkWindow *) = NULL; int (*o_gtk_widget_get_width) (GtkWidget *) = NULL; int (*o_gtk_widget_get_height) (GtkWidget *) = NULL; int (*o_adw_dialog_get_content_width) (AdwDialog *) = NULL; int (*o_adw_dialog_get_content_height) (AdwDialog *) = NULL; void (*o_gtk_window_set_resizable) (GtkWindow *, gboolean) = NULL; void (*o_gdk_window_get_geometry) (void *, gint *, gint *, gint *, gint *) = NULL; void (*o_gdk_window_get_user_data) (void *, gpointer *) = NULL; void (*o_gdk_window_get_frame_extents) (void *, GdkRectangle *) = NULL; void (*o_gtk_widget_insert_action_group) (GtkWidget *, const gchar *, GActionGroup *) = NULL; void (*o_adw_header_bar_set_title_widget) (AdwHeaderBar *, GtkWidget *) = NULL; void (*o_adw_style_manager_set_color_scheme) (AdwStyleManager *, AdwColorScheme) = NULL; AdwStyleManager * (*o_adw_style_manager_get_default) (void) = NULL; void (*o_gtk_widget_unrealize) (GtkWidget *) = NULL; GType (*o_g_type_register_static) (GType, const gchar *, const GTypeInfo *, GTypeFlags) = NULL; GType (*o_g_type_register_static_simple) (GType, const gchar *, guint, GClassInitFunc, guint, GInstanceInitFunc, GTypeFlags) = NULL; typedef void (*GtkCallback)(GtkWidget *widget, gpointer data); void (*o_gtk_container_forall) (GtkWidget *, GtkCallback, gpointer) = NULL; void (*o_gtk_widget_set_no_show_all) (GtkWidget *, gboolean) = NULL; void (*o_gtk_grid_attach) (GtkGrid *, GtkWidget *, int, int, int, int) = NULL; void (*o_hdy_style_manager_set_color_scheme) (AdwStyleManager *, AdwColorScheme) = NULL; AdwStyleManager * (*o_hdy_style_manager_get_default) (void) = NULL; void (*o_gtk_widget_destroy) (GtkWidget *) = NULL; void (*o_gtk_container_propagate_draw) (GtkWidget *, GtkWidget *, cairo_t *) = NULL; // This is needed by an unavoidable GTK macro for type registration GType gtk_widget_get_type(void); // GTK version of application int GTKNoCSDGTKVersion = -1; // These are used instead of the GTK_IS functions bool GTKNoCSDGtkWindow(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDGTKWindow); } bool GTKNoCSDGtkApplicatonWindow(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDGTKApplicationWindow); } bool GTKNoCSDGtkHeaderBar(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDGTKHeaderBar); } bool GTKNoCSDGtkContainer(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDContainer); } bool GTKNoCSDGtkShortcutsWindow(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDGTKShortcutsWindow); } bool GTKNoCSDGtkBuilder(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDGTKBuilder); } bool GTKNoCSDGtkLabel(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDGTKLabel); } bool GTKNoCSDGtkSearchBar(GObject *Object) { return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDGTKSearchBar); } bool GTKNoCSDAdwWindow(GObject *Object) { if (GTKNoCSDADWWindow == 0) { return false; } return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDADWWindow); } bool GTKNoCSDAdwApplicatonWindow(GObject *Object) { if (GTKNoCSDADWApplicationWindow == 0) { return false; } return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDADWApplicationWindow); } bool GTKNoCSDAdwHeaderBar(GObject *Object) { if (GTKNoCSDADWHeaderBar == 0) { return false; } return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDADWHeaderBar); } bool GTKNoCSDAdwDialog(GObject *Object) { if (GTKNoCSDADWDialog == 0) { return false; } return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDADWDialog); } bool GTKNoCSDHdyWindow(GObject *Object) { if (GTKNoCSDHDYWindow == 0) { return false; } return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDHDYWindow); } bool GTKNoCSDHdyApplicatonWindow(GObject *Object) { if (GTKNoCSDHDYApplicationWindow == 0) { return false; } return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDHDYApplicationWindow); } bool GTKNoCSDHdyHeaderBar(GObject *Object) { if (GTKNoCSDHDYHeaderBar == 0) { return false; } return g_type_is_a(G_OBJECT_TYPE(Object), GTKNoCSDHDYHeaderBar); } void *GTKNoCSDGetLibrary(const char *Name, bool Fatal) { // Load in a library with fatal error reporting void *Library = dlopen(Name, RTLD_LAZY); if (Library == NULL && Fatal) { // This should never happen fprintf(stderr, "GTK-NoCSD: Could not load library: %s\n", Name); exit(EXIT_FAILURE); } return Library; } // Macro for simplifying type getting #define GET_TYPE(TYPE, FUNCTION) \ if (TYPE == 0 && o_ ## FUNCTION != NULL) { \ TYPE = o_ ## FUNCTION(); \ } \ // Macro for simplifying function getting #define LOAD_SYMBOL(LIBRARY, NAME) \ *(void **) (&o_ ## NAME) = o_dlsym(LIBRARY, #NAME); \ if (o_ ## NAME == NULL) { \ fprintf(stderr, "GTK-NoCSD: dlsym failed for %s\n", #NAME); \ } \ int GTKNoCSDNewGTKVersion = -1; int GTKNoCSDGetLinkedLibraries(struct dl_phdr_info *Information, G_GNUC_UNUSED size_t Size, G_GNUC_UNUSED void *Data) { // Get which libraries are linked with the application and determine GTK // version based on that if (Information->dlpi_name != NULL) { if (GTKNoCSDNewGTKVersion == -1) { if (strstr(Information->dlpi_name, "libgtk-x11-2.0.so.0") != NULL) { GTKNoCSDNewGTKVersion = 2; } else if (strstr(Information->dlpi_name, "libgtk-3.so.0") != NULL) { GTKNoCSDNewGTKVersion = 3; } else if (strstr(Information->dlpi_name, "libgtk-4.so.1") != NULL) { GTKNoCSDNewGTKVersion = 4; } } if (GTKNoCSDNewGTKVersion != -1) { return 1; } } return 0; } // Whether GTypes have been fetched already, whether platform library was found bool GTKNoCSDGotTypes = false, GTKNoCSDGotPlatform = true; void GTKNoCSDGetAdwTypes() { // Get all used LibAdwaita types GET_TYPE(GTKNoCSDADWWindow, adw_window_get_type); GET_TYPE(GTKNoCSDADWApplicationWindow, adw_application_window_get_type); GET_TYPE(GTKNoCSDADWHeaderBar, adw_header_bar_get_type); GET_TYPE(GTKNoCSDADWDialog, adw_dialog_get_type); GET_TYPE(GTKNoCSDADWWindowTitle, adw_window_title_get_type); } void GTKNoCSDGetHdyTypes() { // Get all used LibHandy types GET_TYPE(GTKNoCSDHDYWindow, hdy_window_get_type); GET_TYPE(GTKNoCSDHDYApplicationWindow, hdy_application_window_get_type); GET_TYPE(GTKNoCSDHDYHeaderBar, hdy_header_bar_get_type); } void GTKNoCSDGetReferences(bool GetTypes) { // Fetch each needed function GTKNoCSDInitDLSym(false); // These functions are always needed void *Library = NULL; if (o_g_type_register_static == NULL) { Library = GTKNoCSDGetLibrary("libgobject-2.0.so.0", true); LOAD_SYMBOL(Library, g_type_register_static); LOAD_SYMBOL(Library, g_type_register_static_simple); } if (o_g_module_symbol == NULL) { Library = GTKNoCSDGetLibrary("libgmodule-2.0.so.0", true); LOAD_SYMBOL(Library, g_module_symbol); } // Get used GTK version *(void **) (&o_gtk_check_version) = o_dlsym(RTLD_NEXT, "gtk_check_version"); if (o_gtk_check_version != NULL) { if (o_gtk_check_version(2, 0, 0) == NULL) { GTKNoCSDNewGTKVersion = 2; } else if (o_gtk_check_version(3, 0, 0) == NULL) { GTKNoCSDNewGTKVersion = 3; } else if (o_gtk_check_version(4, 0, 0) == NULL) { GTKNoCSDNewGTKVersion = 4; } } // If gtk_check_version is missing, check linked libraries if (GTKNoCSDNewGTKVersion == -1) { dl_iterate_phdr(GTKNoCSDGetLinkedLibraries, NULL); } // Get name of used library const char *Name = RTLD_NEXT; if (GTKNoCSDNewGTKVersion == 2) { Name = "libgtk-x11-2.0.so.0"; } else if (GTKNoCSDNewGTKVersion == 3) { Name = "libgtk-3.so.0"; } else if (GTKNoCSDNewGTKVersion == 4) { Name = "libgtk-4.so.1"; } // Save for new type getting if needed int OldGTKVersion = GTKNoCSDGTKVersion; // Only get functions once or when the version changed if (GTKNoCSDGTKVersion != GTKNoCSDNewGTKVersion) { GTKNoCSDGTKVersion = GTKNoCSDNewGTKVersion; // Load in GTK3 functions for passing through hook Library = GTKNoCSDGetLibrary(Name, true); // In all GTK versions LOAD_SYMBOL(Library, gtk_window_present); LOAD_SYMBOL(Library, gtk_widget_set_visible); LOAD_SYMBOL(Library, gtk_widget_get_parent); LOAD_SYMBOL(Library, gtk_about_dialog_new); LOAD_SYMBOL(Library, gtk_settings_get_default); LOAD_SYMBOL(Library, gtk_window_get_type); LOAD_SYMBOL(Library, gtk_builder_add_from_string); LOAD_SYMBOL(Library, gdk_display_get_default); LOAD_SYMBOL(Library, gtk_builder_new); LOAD_SYMBOL(Library, gtk_check_version); LOAD_SYMBOL(Library, gtk_builder_get_type); LOAD_SYMBOL(Library, gtk_label_get_type); LOAD_SYMBOL(Library, gtk_window_set_modal); LOAD_SYMBOL(Library, gtk_window_set_transient_for); LOAD_SYMBOL(Library, gtk_window_get_transient_for); LOAD_SYMBOL(Library, gtk_window_set_destroy_with_parent); LOAD_SYMBOL(Library, gtk_box_get_type); LOAD_SYMBOL(Library, gtk_widget_get_type); LOAD_SYMBOL(Library, gtk_window_set_decorated); LOAD_SYMBOL(Library, gtk_window_get_decorated); if (GTKNoCSDGTKVersion < 4) { // In GTK2 and GTK3 LOAD_SYMBOL(Library, gdk_screen_get_default); LOAD_SYMBOL(Library, gtk_widget_get_window); LOAD_SYMBOL(Library, gtk_bin_get_child); LOAD_SYMBOL(Library, gtk_box_pack_start); LOAD_SYMBOL(Library, gtk_container_get_children); LOAD_SYMBOL(Library, gtk_container_remove); LOAD_SYMBOL(Library, gtk_container_add); LOAD_SYMBOL(Library, gtk_container_set_border_width); LOAD_SYMBOL(Library, gtk_container_get_type); LOAD_SYMBOL(Library, gtk_container_check_resize); LOAD_SYMBOL(Library, gtk_widget_get_toplevel); LOAD_SYMBOL(Library, gtk_window_get_window_type); LOAD_SYMBOL(Library, gtk_widget_show_all); LOAD_SYMBOL(Library, gtk_window_begin_move_drag); LOAD_SYMBOL(Library, gtk_event_box_new); LOAD_SYMBOL(Library, gtk_window_get_type_hint); LOAD_SYMBOL(Library, gdk_event_get_root_coords); LOAD_SYMBOL(Library, gtk_widget_reparent); LOAD_SYMBOL(Library, gdk_window_get_geometry); LOAD_SYMBOL(Library, gdk_window_get_user_data); LOAD_SYMBOL(Library, gdk_window_get_frame_extents); LOAD_SYMBOL(Library, gtk_container_propagate_draw); } if (GTKNoCSDGTKVersion == 3 || GTKNoCSDGTKVersion == 4) { // In GTK3 and GTK4 LOAD_SYMBOL(Library, gtk_window_get_titlebar); LOAD_SYMBOL(Library, gtk_window_set_titlebar); LOAD_SYMBOL(Library, gtk_application_window_get_type); LOAD_SYMBOL(Library, gtk_header_bar_get_type); LOAD_SYMBOL(Library, gtk_css_provider_load_from_data); LOAD_SYMBOL(Library, gtk_css_provider_new); LOAD_SYMBOL(Library, gtk_widget_get_name); LOAD_SYMBOL(Library, gtk_widget_get_style_context); LOAD_SYMBOL(Library, gtk_style_context_add_provider); LOAD_SYMBOL(Library, gtk_window_get_application); LOAD_SYMBOL(Library, gtk_widget_unparent); LOAD_SYMBOL(Library, gtk_widget_set_vexpand); LOAD_SYMBOL(Library, gtk_widget_set_hexpand); LOAD_SYMBOL(Library, gtk_widget_get_ancestor); LOAD_SYMBOL(Library, gtk_revealer_new); LOAD_SYMBOL(Library, gtk_revealer_set_transition_duration); LOAD_SYMBOL(Library, gtk_box_new); LOAD_SYMBOL(Library, gtk_widget_set_name); LOAD_SYMBOL(Library, gtk_label_set_label); LOAD_SYMBOL(Library, gtk_label_get_label); LOAD_SYMBOL(Library, gtk_window_set_title); LOAD_SYMBOL(Library, gtk_shortcuts_window_get_type); LOAD_SYMBOL(Library, gtk_grid_new); LOAD_SYMBOL(Library, gtk_application_window_get_help_overlay); LOAD_SYMBOL(Library, gtk_header_bar_set_decoration_layout); LOAD_SYMBOL(Library, gtk_style_context_has_class); LOAD_SYMBOL(Library, gdk_event_get_time); LOAD_SYMBOL(Library, gtk_widget_queue_resize); LOAD_SYMBOL(Library, gtk_widget_set_child_visible); LOAD_SYMBOL(Library, gtk_widget_get_allocated_height); LOAD_SYMBOL(Library, gtk_revealer_set_reveal_child); LOAD_SYMBOL(Library, gtk_window_get_title); LOAD_SYMBOL(Library, gtk_label_get_text); LOAD_SYMBOL(Library, gtk_widget_get_mapped); LOAD_SYMBOL(Library, gtk_widget_insert_action_group); LOAD_SYMBOL(Library, gtk_widget_unrealize); LOAD_SYMBOL(Library, gtk_grid_attach); } if (GTKNoCSDGTKVersion == 4) { // Only in GTK4 LOAD_SYMBOL(Library, gtk_window_get_child); LOAD_SYMBOL(Library, gtk_window_set_child); LOAD_SYMBOL(Library, gtk_widget_get_first_child); LOAD_SYMBOL(Library, gtk_widget_get_last_child); LOAD_SYMBOL(Library, gtk_css_provider_load_from_string); LOAD_SYMBOL(Library, gtk_style_context_add_provider_for_display); LOAD_SYMBOL(Library, gtk_box_append); LOAD_SYMBOL(Library, gtk_widget_set_layout_manager); LOAD_SYMBOL(Library, gtk_header_bar_get_title_widget); LOAD_SYMBOL(Library, gtk_header_bar_set_title_widget); LOAD_SYMBOL(Library, gtk_widget_get_next_sibling); LOAD_SYMBOL(Library, gtk_widget_measure); LOAD_SYMBOL(Library, gtk_widget_allocate); LOAD_SYMBOL(Library, gtk_box_remove); LOAD_SYMBOL(Library, gtk_window_set_hide_on_close); LOAD_SYMBOL(Library, gtk_widget_get_width); LOAD_SYMBOL(Library, gtk_widget_get_height); LOAD_SYMBOL(Library, gtk_window_set_resizable); Library = GTKNoCSDGetLibrary("libadwaita-1.so.0", false); if (Library == NULL) { GTKNoCSDGotPlatform = false; printf("GTK-NoCSD: LibAdwaita not found, will try GModule.\n"); } else { // Only in LibAdwaita LOAD_SYMBOL(Library, adw_window_get_type); LOAD_SYMBOL(Library, adw_application_window_get_type); LOAD_SYMBOL(Library, adw_header_bar_get_type); LOAD_SYMBOL(Library, adw_header_bar_get_title_widget); LOAD_SYMBOL(Library, adw_dialog_get_type); LOAD_SYMBOL(Library, adw_header_bar_set_decoration_layout); LOAD_SYMBOL(Library, adw_dialog_present); LOAD_SYMBOL(Library, adw_dialog_set_content_height); LOAD_SYMBOL(Library, adw_dialog_set_content_width); LOAD_SYMBOL(Library, adw_window_title_get_type); LOAD_SYMBOL(Library, adw_application_window_get_visible_dialog); LOAD_SYMBOL(Library, adw_window_get_visible_dialog); LOAD_SYMBOL(Library, adw_dialog_get_content_width); LOAD_SYMBOL(Library, adw_dialog_get_content_height); LOAD_SYMBOL(Library, adw_header_bar_set_title_widget); LOAD_SYMBOL(Library, adw_style_manager_get_default); LOAD_SYMBOL(Library, adw_style_manager_set_color_scheme); } } if (GTKNoCSDGTKVersion == 3) { // Only in GTK3 LOAD_SYMBOL(Library, gtk_style_context_add_provider_for_screen); LOAD_SYMBOL(Library, gtk_header_bar_set_custom_title); LOAD_SYMBOL(Library, gtk_header_bar_get_custom_title); LOAD_SYMBOL(Library, gdk_event_get_event_type); LOAD_SYMBOL(Library, gdk_event_get_button); LOAD_SYMBOL(Library, gdk_window_show_window_menu); LOAD_SYMBOL(Library, gtk_application_set_app_menu); LOAD_SYMBOL(Library, gtk_box_reorder_child); LOAD_SYMBOL(Library, gtk_search_bar_get_type); LOAD_SYMBOL(Library, gtk_widget_set_halign); LOAD_SYMBOL(Library, gtk_toggle_button_get_type); LOAD_SYMBOL(Library, gtk_image_get_type); LOAD_SYMBOL(Library, gtk_container_forall); LOAD_SYMBOL(Library, gtk_widget_set_no_show_all); LOAD_SYMBOL(Library, gtk_widget_destroy); Library = GTKNoCSDGetLibrary("libhandy-1.so.0", false); if (Library == NULL) { GTKNoCSDGotPlatform = false; printf("GTK-NoCSD: LibHandy not found, will try GModule.\n"); } else { // Only in LibHandy LOAD_SYMBOL(Library, hdy_window_get_type); LOAD_SYMBOL(Library, hdy_application_window_get_type); LOAD_SYMBOL(Library, hdy_header_bar_get_type); LOAD_SYMBOL(Library, hdy_header_bar_set_decoration_layout); LOAD_SYMBOL(Library, hdy_header_bar_get_custom_title); LOAD_SYMBOL(Library, hdy_header_bar_set_custom_title); LOAD_SYMBOL(Library, hdy_style_manager_get_default); LOAD_SYMBOL(Library, hdy_style_manager_set_color_scheme); } } } // g_intern_static_string is too early to fetch GTypes, there they are // not fetched yet if ((!GTKNoCSDGotTypes || OldGTKVersion != GTKNoCSDNewGTKVersion) && GetTypes) { // Better to get these once and then reuse GET_TYPE(GTKNoCSDGTKWindow, gtk_window_get_type); GET_TYPE(GTKNoCSDGTKApplicationWindow, gtk_application_window_get_type); GET_TYPE(GTKNoCSDGTKHeaderBar, gtk_header_bar_get_type); GET_TYPE(GTKNoCSDContainer, gtk_container_get_type); GET_TYPE(GTKNoCSDGTKShortcutsWindow, gtk_shortcuts_window_get_type); GET_TYPE(GTKNoCSDGTKBuilder, gtk_builder_get_type); GET_TYPE(GTKNoCSDGTKLabel, gtk_label_get_type); GET_TYPE(GTKNoCSDGTKBox, gtk_box_get_type); GET_TYPE(GTKNoCSDGTKSearchBar, gtk_search_bar_get_type); GET_TYPE(GTKNoCSDGTKToggleButton, gtk_toggle_button_get_type); GET_TYPE(GTKNoCSDGTKImage, gtk_image_get_type); GTKNoCSDGetAdwTypes(); GTKNoCSDGetHdyTypes(); GTKNoCSDGotTypes = true; } } int GTKNoCSDMagic(GtkWindow *Window, bool DoSettings); gboolean GTKNoCSDRecall(gpointer Data) { // Presents the window at a later time GTKNoCSDMagic((GtkWindow *) Data, true); return FALSE; } // WARNING: These malloced lists will live forever. If the app spawns 100 // regular or undecorated CSD windows, these will grow to 101 length, which will // use a staggering 808 bytes of memory, on 64bit systems. // GTKNoCSDWindowList is a list of weak references to be able to // check that a window has been destroyed, when using g_idle_add or such. The // actual window values might be NULL GtkWindow ***GTKNoCSDWindowList = NULL; GtkWindow **GTKNoCSDUndecoratedWindowList = NULL; GtkWidget *GTKNoCSDGetWindow(GtkWidget *Widget) { // Get the window of a widget in both GTK3 and GTK4, unified if (GTKNoCSDGTKVersion == 3) { GtkWidget *Window = o_gtk_widget_get_toplevel(Widget); return GTKNoCSDGtkWindow(G_OBJECT(Window)) ? Window : NULL; } else { return o_gtk_widget_get_ancestor(Widget, GTKNoCSDGTKWindow); } } gboolean GTKNoCSDLabelChange(gpointer Data) { // Check title content, and hide it, if it is the same as the window or // application title // Disconnect signal, this should only run once per change g_signal_handlers_disconnect_by_func( Data, G_CALLBACK(GTKNoCSDLabelChange), Data); // Check if label is part of any kind of headerbar, leave if not GtkWidget *Label = (GtkWidget *) Data; GtkWidget *Parent = o_gtk_widget_get_ancestor(Label, GTKNoCSDGTKHeaderBar); if (Parent == NULL && GTKNoCSDADWHeaderBar != 0) { Parent = o_gtk_widget_get_ancestor(Label, GTKNoCSDADWHeaderBar); } if (Parent == NULL && GTKNoCSDHDYHeaderBar != 0) { Parent = o_gtk_widget_get_ancestor(Label, GTKNoCSDHDYHeaderBar); } if (Parent == NULL) { return FALSE; } // Get label text and window const char *Text = o_gtk_label_get_text((GtkLabel *) Label); GtkWindow *Window = (GtkWindow *) GTKNoCSDGetWindow(Label); // If window has own title, compare with that, if not, it takes application // name, compare with that const char *Title = Window != NULL ? o_gtk_window_get_title(Window) : NULL; Title = Title == NULL ? g_get_application_name() : Title; // Only show if different if (Title != NULL) { o_gtk_widget_set_visible(Label, !strcmp(Text, Title) == 0); } return FALSE; } void GTKNoCSDTitleChanged(GtkLabel *Label, G_GNUC_UNUSED GParamSpec *Spec, G_GNUC_UNUSED gpointer Data) { // If widget is already in tree, start checking/changing label, otherwise // add signal to start when it will be in tree if (!o_gtk_widget_get_mapped((GtkWidget *) Label)) { g_signal_connect(Label, "map", G_CALLBACK(GTKNoCSDLabelChange), Label); return; } GTKNoCSDLabelChange(Label); } bool GTKNoCSDCheckGTK4Header(GtkWidget *Widget) { // Check if a widget is a header bar and if it is and the title widget is // empty, disable showing it, plus signal it back // Also hide simple label titles that are just the window title // If widget is label, set up monitor for the content if (GTKNoCSDGtkLabel(G_OBJECT(Widget)) && g_signal_handler_find(Widget, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDTitleChanged), NULL) == 0) { g_signal_connect(Widget, "notify::label", G_CALLBACK(GTKNoCSDTitleChanged), NULL); GTKNoCSDTitleChanged((GtkLabel *) Widget, NULL, NULL); } // Hide empty title widgets and force set decoration layouts to empty if (GTKNoCSDAdwHeaderBar(G_OBJECT(Widget))) { o_adw_header_bar_set_decoration_layout((AdwHeaderBar *) Widget, ""); if (o_adw_header_bar_get_title_widget((AdwHeaderBar *) Widget) == NULL) { o_adw_header_bar_set_title_widget((AdwHeaderBar *) Widget, o_gtk_grid_new()); } return true; } else if (GTKNoCSDGtkHeaderBar(G_OBJECT(Widget))) { // GTK4 headers are never looked for so they are never confirmed o_gtk_header_bar_set_decoration_layout((GtkHeaderBar *) Widget, ""); if (o_gtk_header_bar_get_title_widget((GtkHeaderBar *) Widget) == NULL) { o_gtk_header_bar_set_title_widget((GtkHeaderBar *) Widget, o_gtk_grid_new()); } } return false; } GtkWidget *GTKNoCSDGetGTK4Headers(GtkWidget *Widget, bool GetWidget) { // Recursively searches the entire widget tree for multiple GTK4 or // LibAdwaita headers and disables all empty titles or gives back the first // found one // Check current widget if (GTKNoCSDCheckGTK4Header(Widget) && GetWidget) { return Widget; } // Only containers can have children GtkWidget *Child = o_gtk_widget_get_first_child(Widget); while (Child != NULL) { // Check children of widget if there are GtkWidget *PossiblyHeader = GTKNoCSDGetGTK4Headers(Child, GetWidget); if (PossiblyHeader != NULL && GetWidget) { return PossiblyHeader; } Child = o_gtk_widget_get_next_sibling(Child); } return NULL; } gboolean GTKNoCSDSetGTK4Headers(gpointer Data) { // GTK callback for GTKNoCSDGetGTK4Headers GTKNoCSDGetGTK4Headers((GtkWidget *) Data, false); return FALSE; } bool GTKNoCSDTest(GtkWidget *Widget) { // Simple test if the widget we deal with is our own return Widget != NULL && strcmp(o_gtk_widget_get_name(Widget), "GTKNoCSD") == 0; } gboolean GTKNoCSDHandleShortcutsWindow(gpointer Data) { // Check if an application window has a shortcuts window and add SSD to it // If the window got destroyed in the meantime, return GtkWindow **Window = (GtkWindow **) Data; if (*Window == NULL) { return FALSE; } GtkShortcutsWindow *Overlay = o_gtk_application_window_get_help_overlay( (GtkApplicationWindow *) Window[0]); if (Overlay != NULL) { GTKNoCSDMagic((GtkWindow *) Overlay, true); } return FALSE; } static void GTKNoCSDWindowAdded(G_GNUC_UNUSED GtkApplication *Application, GtkWindow *Window) { // Add SSD to all added windows GTKNoCSDMagic(Window, true); } static void GTKNoCSDApplicationChanged(GObject *Window, G_GNUC_UNUSED GParamSpec *Spec) { // If the window got added to an application, add window monitor function to // the application GtkApplication *Application = o_gtk_window_get_application((GtkWindow *) Window); if (Application != NULL && g_signal_handler_find(Application, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDWindowAdded), NULL) == 0) { g_signal_connect(Application, "window-added", G_CALLBACK(GTKNoCSDWindowAdded), NULL); } } static gboolean GTKNoCSDWindowMap(G_GNUC_UNUSED GSignalInvocationHint *Hint, G_GNUC_UNUSED guint Number, const GValue *Values, G_GNUC_UNUSED gpointer Data) { // Add SSD to all mapped windows // Only if the value is a window (might be redundant) GObject *Window = g_value_get_object(&Values[0]); if (GTKNoCSDGtkWindow(Window)) { GTKNoCSDMagic((GtkWindow *) Window, true); } return TRUE; } GtkWidget *GTKNoCSDWindowGetChild(GtkWindow *Window) { // Get child of window in both GTK3 and GTK4, unified if (GTKNoCSDGTKVersion == 3) { return o_gtk_bin_get_child(Window); } else { return o_gtk_window_get_child(Window); } } void GTKNoCSDWindowSetChild(GtkWindow *Window, GtkWidget *Widget) { // Replace child of window in both GTK3 and GTK4, unified if (GTKNoCSDGTKVersion == 3) { if (Widget == NULL) { GtkWidget *Child = o_gtk_bin_get_child(Window); if (Child != NULL) { o_gtk_container_remove(Window, Child); } } else { o_gtk_container_add(Window, Widget); } } else { o_gtk_window_set_child(Window, Widget); } } void GTKNoCSDGtkBoxAdd(GtkWidget *Box, GtkWidget *Widget) { // Add to box in both GTK3 and GTK4, unified if (GTKNoCSDGTKVersion == 3) { o_gtk_box_pack_start((GtkBox *) Box, Widget, false, true, 0); } else { o_gtk_box_append((GtkBox *) Box, Widget); } } void GTKNoCSDForceInvisible(GtkWidget *Widget, G_GNUC_UNUSED GParamSpec *Spec, G_GNUC_UNUSED gpointer Data) { // No show all does not always help, if visibility is set manually. It is // forced off here o_gtk_widget_set_visible(Widget, false); o_gtk_widget_set_no_show_all(Widget, true); } void GTKNoCSDGTK3SetForceInvisible(GtkWidget *Widget) { // Add function to force off visibility, call it once for initial set up if (!g_signal_handler_find(Widget, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDForceInvisible), NULL)) { g_signal_connect(Widget, "notify::visible", G_CALLBACK(GTKNoCSDForceInvisible), NULL); } GTKNoCSDForceInvisible(Widget, NULL, NULL); } bool GTKNoCSDGetGTK3Headers(GtkWidget *Container) { // Removing extra close buttons added by certain applications // Certain applications set this layout for themselves, here it is unset // Also remove empty titles if (GTKNoCSDGtkHeaderBar(G_OBJECT(Container))) { o_gtk_header_bar_set_decoration_layout((GtkHeaderBar *) Container, ""); GtkHeaderBar *Header = (GtkHeaderBar *) Container; if (o_gtk_header_bar_get_custom_title(Header) == NULL) { o_gtk_header_bar_set_custom_title(Header, o_gtk_grid_new()); } } else if (GTKNoCSDHdyHeaderBar(G_OBJECT(Container))) { o_hdy_header_bar_set_decoration_layout(Container, ""); if (o_hdy_header_bar_get_custom_title(Container) == NULL) { o_hdy_header_bar_set_custom_title(Container, o_gtk_grid_new()); } } // If widget is label, set up monitor for the content if (GTKNoCSDGtkLabel(G_OBJECT(Container)) && g_signal_handler_find(Container, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDTitleChanged), NULL) == 0) { g_signal_connect(Container, "notify::label", G_CALLBACK(GTKNoCSDTitleChanged), NULL); GTKNoCSDTitleChanged((GtkLabel *) Container, NULL, NULL); } GtkStyleContext *Context = o_gtk_widget_get_style_context(Container); if (o_gtk_style_context_has_class(Context, "titlebutton")) { GTKNoCSDGTK3SetForceInvisible(Container); return true; } // If not a container, leave if (!GTKNoCSDGtkContainer(G_OBJECT(Container))) { return false; } // Go through all children, count all and removed number of them int Amount = 0, Hidden = 0; GList *Children = o_gtk_container_get_children(Container); for (GList *Iter = Children; Iter != NULL; Iter = Iter->next) { GtkWidget *Child = (GtkWidget *) Iter->data; // Go through all children of child too if (GTKNoCSDGetGTK3Headers(Child)) { GTKNoCSDGTK3SetForceInvisible(Child); ++Hidden; } else { // If close button, remove Context = o_gtk_widget_get_style_context(Child); if (o_gtk_style_context_has_class(Context, "titlebutton")) { GTKNoCSDGTK3SetForceInvisible(Child); ++Hidden; } } ++Amount; } g_list_free(Children); // If all widgets got removed, remove the container too (title button) if (Amount == Hidden && Amount != 0) { GTKNoCSDGTK3SetForceInvisible(Container); return true; } return false; } gboolean GTKNoCSDSetGTK3Headers(gpointer Data) { // GTK callback for GTKNoCSDGetGTK3Headers GTKNoCSDGetGTK3Headers((GtkWidget *) Data); return FALSE; } bool GTKNoCSDSettings = false; bool GTKNoCSDHooked = false; void GTKNoCSDAddTransient(GtkWindow *Window, gpointer Data) { // Set transient-for property window o_gtk_window_set_transient_for(Window, (GtkWindow *) Data); g_signal_handlers_disconnect_by_func(Window, G_CALLBACK(GTKNoCSDAddTransient), Data); } void GTKNoCSDChangeTransient(GtkWindow *Window, G_GNUC_UNUSED GParamSpec *Spec, G_GNUC_UNUSED gpointer Data) { // If transient-for property window was set, while the window was not mapped // yet, unset it and delay it to after it got mapped GtkWindow *Current = o_gtk_window_get_transient_for(Window); if (Current != NULL && !o_gtk_widget_get_mapped((GtkWidget *) Window)) { o_gtk_window_set_transient_for(Window, NULL); o_gtk_widget_unrealize((GtkWidget *) Window); g_signal_connect(Window, "map", G_CALLBACK(GTKNoCSDAddTransient), Current); } } void GTKNoCSDHooker(void) { // Add hook for all mapped windows to get SSD if (!GTKNoCSDHooked && GTKNoCSDGTKWindow != 0) { unsigned int Hook = g_signal_lookup("map", GTKNoCSDGTKWindow); if (0 < Hook) { g_signal_add_emission_hook(Hook, 0, GTKNoCSDWindowMap, NULL, NULL); // Only add them once GTKNoCSDHooked = true; } } } gboolean GTKNoCSDGTK3EventBoxActions(G_GNUC_UNUSED GtkWidget *Widget, void *Event, gpointer Data) { // Recreate window controls, dragging when menu is dragged, opening window // manager menu on right clicking it if (o_gdk_event_get_event_type(Event) == 4) { // 4 is button press unsigned int Button; o_gdk_event_get_button(Event, &Button); if (Button == 1) { // 1 is left button, dragging starts here gdouble X, Y; o_gdk_event_get_root_coords(Event, &X, &Y); // WARNING: Downcast o_gtk_window_begin_move_drag((GtkWindow *) Data, 1, (gint) X, (gint) Y, o_gdk_event_get_time(Event)); return TRUE; } else if (Button == 3) { // 3 is right button, window manager menu opens here o_gdk_window_show_window_menu(o_gtk_widget_get_window(Data), Event); return TRUE; } } return FALSE; } GtkWidget *GTKNoCSDFirstChild(GtkWidget *Parent) { // Get the first child in a container in both GTK3 and GTK4, unified if (Parent == NULL) { return NULL; } GtkWidget *Child = NULL; if (GTKNoCSDGTKVersion == 3) { GList *Children = o_gtk_container_get_children(Parent); if (Children == NULL) { return NULL; } Child = (GtkWidget *) Children->data; g_list_free(Children); } else { return o_gtk_widget_get_first_child(Parent); } return Child; } static gboolean GTKNoCSDGTK3CurrentWindowStyle(gpointer Data) { // The CSS might break when it is applied in the map stage of the window. // This makes it properly redraw // If the window got destroyed in the meantime, return GtkWindow **Window = (GtkWindow **) Data; if (*Window == NULL) { return FALSE; } o_gtk_widget_queue_resize((GtkWidget *) Window[0]); return FALSE; } // These are needed for _get_type() and might be missing in older GLib versions #undef g_once_init_enter_pointer #undef g_once_init_leave_pointer #define g_once_init_enter_pointer g_once_init_enter #define g_once_init_leave_pointer(location, result) \ g_once_init_leave((location), (gsize) (result)) // The max height, with which a header bar is considered empty const int GTKNoCSDEmptySize = 5; // Widget used to hide empty header bar on GTK4 G_DECLARE_FINAL_TYPE(GTKNoCSDBox, GTKNoCSDBox, GTKNoCSD, BOX, GtkBox) struct _GTKNoCSDBox { GtkBox ParentInstance; }; G_DEFINE_TYPE(GTKNoCSDBox, GTKNoCSDBox, GTKNoCSDGTKBox) static void GTKNoCSDBoxMeasure(GtkWidget *Widget, GtkOrientation Orientation, int ForSize, int *Minimum, int *Natural, int *MinimumBaseline, int *NaturalBaseline) { // Report size to GTK // Default no size on no child if (Minimum != NULL) { *Minimum = 0; } if (Natural != NULL) { *Natural = 0; } if (MinimumBaseline != NULL) { *MinimumBaseline = -1; } if (NaturalBaseline != NULL) { *NaturalBaseline = -1; } // Get child, return if missing GtkWidget *Child = o_gtk_widget_get_first_child(Widget); if (Child == NULL) { return; } // Get size needed by child int MinimumChild, NaturalChild, MinimumBaselineChild, NaturalBaselineChild; o_gtk_widget_measure(Child, Orientation, ForSize, &MinimumChild, &NaturalChild, &MinimumBaselineChild, &NaturalBaselineChild); // If it is less than 6, hide it o_gtk_widget_set_child_visible(Widget, GTKNoCSDEmptySize < NaturalChild); // If less than 6 and vertical measurement, return if (Orientation == GTK_ORIENTATION_VERTICAL && NaturalChild <= GTKNoCSDEmptySize) { return; } // Report actual size if (Minimum != NULL) { *Minimum = MinimumChild; } if (Natural != NULL) { *Natural = NaturalChild; } if (MinimumBaseline != NULL) { *MinimumBaseline = MinimumBaselineChild; } if (NaturalBaseline != NULL) { *NaturalBaseline = NaturalBaselineChild; } } static void GTKNoCSDBoxSizeAllocate(GtkWidget *Widget, int Width, int Height, int Baseline) { // Allocate widget and child if it exists GTK_WIDGET_CLASS(GTKNoCSDBox_parent_class)->size_allocate(Widget, Width, Height, Baseline); GtkWidget *Child = o_gtk_widget_get_first_child(Widget); if (Child != NULL) { o_gtk_widget_allocate(Child, Width, Height, Baseline, NULL); } } static void GTKNoCSDBox_class_init(GTKNoCSDBoxClass *Klass) { // Set up measure and size allocate functions GtkWidgetClass *WidgetClass = GTK_WIDGET_CLASS(Klass); WidgetClass->measure = GTKNoCSDBoxMeasure; WidgetClass->size_allocate = GTKNoCSDBoxSizeAllocate; } static void GTKNoCSDBox_init(G_GNUC_UNUSED GTKNoCSDBox *Self) { } static gboolean GTKNoCSDGTK3Height(gpointer Data) { // Hide widget with Revealer if small enough // Get height GtkWidget *Widget = (GtkWidget *) Data; int Height = o_gtk_widget_get_allocated_height(Widget); // Get Revealer GtkWidget *Revealer = o_gtk_widget_get_parent(Widget); Revealer = o_gtk_widget_get_parent(Revealer); // Hide or not o_gtk_revealer_set_reveal_child((GtkRevealer *) Revealer, GTKNoCSDEmptySize < Height); return FALSE; } static void GTKNoCSDGTK3HeaderSizeAllocate(GtkWidget *Widget, G_GNUC_UNUSED GdkRectangle *Allocation, G_GNUC_UNUSED gpointer Data) { // Changing visibility in size allocate is bad, so we do it later g_idle_add(GTKNoCSDGTK3Height, Widget); } GtkWidget *GTKNoCSDGTK3ShortcutsWindowSearchBar(void *container) { // Find the SearchBar widget in a container, the ShortcutsWindow GList *Children = o_gtk_container_get_children(container); // Go through each child for (GList *Iter = Children; Iter != NULL; Iter = Iter->next) { GtkWidget *Child = (GtkWidget *) Iter->data; // Return if found if (GTKNoCSDGtkSearchBar(G_OBJECT(Child))) { g_list_free(Children); return Child; } } // It was not found g_list_free(Children); return NULL; } void GTKNoCSDAddToUndecorated(GtkWindow *Window) { // Add a window to the list of windows which got the CSD removed and were // also set to be undecorated if (GTKNoCSDUndecoratedWindowList == NULL) { // Create list with single item if first such window GTKNoCSDUndecoratedWindowList = malloc(sizeof(GtkWindow *) * 2); GTKNoCSDUndecoratedWindowList[0] = Window; GTKNoCSDUndecoratedWindowList[1] = NULL; } else { // Check if window is already added size_t Index = 0; bool Add = true; while (GTKNoCSDUndecoratedWindowList[Index] != NULL) { if (GTKNoCSDUndecoratedWindowList[Index] == Window) { Add = false; break; } ++Index; } // Add to list, if not a reused window if (Add) { GTKNoCSDUndecoratedWindowList = realloc(GTKNoCSDUndecoratedWindowList, sizeof(GtkWindow *) * (Index + 2)); GTKNoCSDUndecoratedWindowList[Index] = Window; GTKNoCSDUndecoratedWindowList[Index + 1] = NULL; } } } void GTKNoCSDHandlerFailExit(char *LibraryFullPath) { // Simple exit function when crash handler setup failed free(LibraryFullPath); G_GNUC_UNUSED ssize_t Ignore = write(3, "1", 1); GTKNoCSDCrashPid = -2; _exit(0); } int GTKNoCSDMagic(GtkWindow *Window, bool DoSettings) { // Do all needed changes to disable CSD // Set up crash handler if (GTKNoCSDCrashPid == -3) { // Create crash handler struct sigaction Action = {0}; Action.sa_sigaction = GTKNoCSDAction; sigemptyset(&Action.sa_mask); Action.sa_flags = SA_SIGINFO; // Set up handler for possible crash signals, save original handlers sigaction(SIGSEGV, &Action, >KNoCSDSEGVAction); sigaction(SIGABRT, &Action, >KNoCSDABRTAction); sigaction(SIGFPE, &Action, >KNoCSDFPEAction); sigaction(SIGILL, &Action, >KNoCSDILLAction); sigaction(SIGBUS, &Action, >KNoCSDBUSAction); if (GTKNoCSDLD == NULL || GTKNoCSDArguments == NULL) { // If Crash handler starter or arguments were not found, exit GTKNoCSDCrashPid = -2; } else { Dl_info Information; if (dladdr((void *) (uintptr_t) >KNoCSDMagic, &Information) == 0) { // If library name was not found, exit GTKNoCSDCrashPid = -2; } else { char *LibraryFullPath = realpath(Information.dli_fname, NULL); if (LibraryFullPath == NULL || LibraryFullPath[0] == '\0') { // If library full path was not found, exit GTKNoCSDCrashPid = -2; } else { // Set up anonymous pipe with no blocking in child direction G_GNUC_UNUSED int Ignore = pipe(GTKNoCSDPipeToChild); Ignore = pipe(GTKNoCSDPipeToParent); fcntl(GTKNoCSDPipeToChild[0], F_SETFL, O_NONBLOCK); Ignore = pipe(GTKNoCSDPipeToChildEnd); GTKNoCSDCrashPid = fork(); if (GTKNoCSDCrashPid == 0) { // Finalize pipe directions, make copies close(GTKNoCSDPipeToChild[1]); dup2(GTKNoCSDPipeToParent[1], TO_PARENT_COPY); close(GTKNoCSDPipeToParent[0]); dup2(GTKNoCSDPipeToChild[0], TO_CHILD_COPY); close(GTKNoCSDPipeToChildEnd[1]); dup2(GTKNoCSDPipeToChildEnd[0], TO_CHILD_END_COPY); // Start assembling arguments for starting crash handler char *NewArguments[GTKNoCSDArgumentNumber + 4]; NewArguments[0] = GTKNoCSDLD; NewArguments[1] = "--"; NewArguments[2] = LibraryFullPath; // Try to fetch full path, if not found use as is NewArguments[3] = g_find_program_in_path(GTKNoCSDArguments[0]); if (NewArguments[3] == NULL) { NewArguments[3] = GTKNoCSDArguments[0]; } // If real executed file is not found, exit. This is // important for scripts, which will have the // interpreter as first command instead of the script if (NewArguments[3] == NULL) { GTKNoCSDHandlerFailExit(LibraryFullPath); } // Copy arguments except binary for (size_t Index = 1; Index <= GTKNoCSDArgumentNumber; ++Index) { NewArguments[Index + 3] = GTKNoCSDArguments[Index]; } // Appimages should be completely restarted, instead of // just the binary. This is detected and handled here // Check if binary is path and APPIMAGE is set char *AppImage = getenv("APPIMAGE"); char *Ending = strrchr(NewArguments[3], '/'); if (Ending != NULL && AppImage != NULL) { size_t Length = strlen(NewArguments[3]) - strlen(Ending); char *AppRun = malloc(Length + 7); if (AppRun != NULL) { // If so, copy folder name into variable, add // AppRun, check if file and appimage both exist strncpy(AppRun, NewArguments[3], Length); AppRun[Length] = '\0'; strcat(AppRun, "/AppRun"); struct stat Stat; if (stat(AppRun, &Stat) == 0 && stat(AppImage, &Stat) == 0) { // If so, replace binary with AppImage NewArguments[3] = AppImage; } free(AppRun); } } // Stop ld-musl from preloading the library into itself GTKNoCSDUnsetLDPreload(); // Start crash handler execve(GTKNoCSDLD, NewArguments, environ); // This should not be reached, execve failed GTKNoCSDHandlerFailExit(LibraryFullPath); } else { // Finalize pipe directions close(GTKNoCSDPipeToChild[0]); close(GTKNoCSDPipeToParent[1]); // Set up function on successful exit, to not restart atexit(GTKNoCSDExit); // Blocking, wait for handshake to avoid race conditions char Buffer; G_GNUC_UNUSED ssize_t Ignore = read(GTKNoCSDPipeToParent[0], &Buffer, 1); } } free(LibraryFullPath); } } } // Hook all windows if not already done GTKNoCSDHooker(); bool SetCSS = false; if (!GTKNoCSDSettings && DoSettings) { GtkSettings *Settings = o_gtk_settings_get_default(); if (Settings != NULL) { // Disable .ui dialog headers, remove titlebar buttons g_object_set(Settings, "gtk-dialogs-use-header", FALSE, NULL); g_object_set(Settings, "gtk-decoration-layout", "", NULL); // If theme was set from environment if (GTKNoCSDTheme != NULL) { const char *Colon = strchr(GTKNoCSDTheme, ':'); if (Colon == NULL) { // If dark preference was not set, set as it was given g_object_set(Settings, "gtk-theme-name", GTKNoCSDTheme, NULL); } else { // If dark preference was set // Copy into local variable, cut off dark preference char *Theme = strdup(GTKNoCSDTheme); Theme[strlen(Theme) - strlen(Colon)] = '\0'; // Set theme, free local copy g_object_set(Settings, "gtk-theme-name", Theme, NULL); free(Theme); // Get dark preference bool Dark = strcmp(Colon + 1, "dark") == 0; AdwColorScheme Scheme = ADW_COLOR_SCHEME_FORCE_LIGHT; Scheme = Dark ? ADW_COLOR_SCHEME_FORCE_DARK : Scheme; // Get functions for the GTK version AdwStyleManager * (*GetDefault) (void) = o_adw_style_manager_get_default; void (*SetScheme) (AdwStyleManager *, AdwColorScheme) = o_adw_style_manager_set_color_scheme; if (GTKNoCSDGTKVersion == 3) { GetDefault = o_hdy_style_manager_get_default; SetScheme = o_hdy_style_manager_set_color_scheme; } // Enforce LibAdwaita or LibHandy color scheme if (GetDefault != NULL && SetScheme != NULL) { SetScheme(GetDefault(), Scheme); } // Set dark preference g_object_set(Settings, "gtk-application-prefer-dark-theme", Dark, NULL); } } // Remove rounding, padding, shadow, hide title const char *CSS = "window { border-radius: 0; box-shadow: none; }" "headerbar { border-radius: 0; min-height: 0pt; padding: 0pt; }" "headerbar * { margin: 0pt; }" "headerbar box { padding: 0pt; }" "windowtitle { opacity: 0; }" "decoration { margin: 0px; }"; // Load CSS for both GTK3 and GTK4 GtkCssProvider *Provider = o_gtk_css_provider_new(); if (GTKNoCSDGTKVersion == 4) { o_gtk_css_provider_load_from_string(Provider, CSS); o_gtk_style_context_add_provider_for_display( o_gdk_display_get_default(), (GtkStyleProvider *) Provider, GTK_STYLE_PROVIDER_PRIORITY_USER); } else { o_gtk_css_provider_load_from_data(Provider, CSS, -1, NULL); void *Screen = o_gdk_screen_get_default(); o_gtk_style_context_add_provider_for_screen(Screen, (GtkStyleProvider *) Provider, GTK_STYLE_PROVIDER_PRIORITY_USER); // Force reload current window. We do it later, when we know // that it is needed and where the weak reference is stored SetCSS = true; } g_object_unref(Provider); GTKNoCSDSettings = true; } } // GTK3 windows can be embedded into some other widgets if (o_gtk_widget_get_parent((GtkWidget *) Window) != NULL) { return 1; } // Never touch inspector windows const char *WindowName = o_gtk_widget_get_name((GtkWidget *) Window); if (strstr(WindowName, "GtkInspectorWindow") == WindowName) { return 2; } // Popup windows in GTK3 are not needed if (GTKNoCSDGTKVersion == 3) { if (o_gtk_window_get_window_type(Window) == 1) { return 3; } int Hint = o_gtk_window_get_type_hint(Window); if (2 < Hint && Hint != 5) { return 4; } } // Lomiri does not decorate windows that are transient for another. // To work around this, the setting of the property is delayed to after they // got mapped. However since this breaks window centering on other systems // (XFCE, possibly everything X11), it will not be done anywhere else if (GTKNoCSDOnLomiri) { if (!g_signal_handler_find(Window, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDChangeTransient), NULL)) { g_signal_connect(Window, "notify::transient-for", G_CALLBACK(GTKNoCSDChangeTransient), NULL); g_signal_connect(Window, "unmap", G_CALLBACK(GTKNoCSDChangeTransient), NULL); } // Also do it for windows that already came with the property set GTKNoCSDChangeTransient(Window, NULL, NULL); } // Guarantees that each window will only go through this once. size_t Index = 0; if (GTKNoCSDWindowList == NULL) { GTKNoCSDWindowList = malloc(sizeof(GtkWindow * *) * 2); // Windows stored as weak pointers GTKNoCSDWindowList[0] = g_new0(GtkWindow *, 1); *GTKNoCSDWindowList[0] = Window; g_object_add_weak_pointer(G_OBJECT(Window), (gpointer *) GTKNoCSDWindowList[0]); GTKNoCSDWindowList[1] = NULL; } else { bool Add = true; while (GTKNoCSDWindowList[Index] != NULL) { if (GTKNoCSDWindowList[Index][0] == Window) { // A window might get unrealized, set a header then get // realized. It is detected here and the header is put back to // the appropriate container if (GTKNoCSDTest(GTKNoCSDWindowGetChild(Window))) { GtkWidget *PossiblyHeader = o_gtk_window_get_titlebar(Window); if (PossiblyHeader != NULL) { g_object_ref(PossiblyHeader); o_gtk_window_set_titlebar(Window, NULL); // WARNING: Own call gtk_window_set_titlebar(Window, PossiblyHeader); g_object_unref(PossiblyHeader); return 5; } } // GTK Sometimes reuses windows and turns CSD back on. Bad GTK if (!GTKNoCSDAdwApplicatonWindow(G_OBJECT(Window)) && !GTKNoCSDAdwWindow(G_OBJECT(Window)) && !GTKNoCSDHdyApplicatonWindow(G_OBJECT(Window)) && !GTKNoCSDHdyWindow(G_OBJECT(Window)) && !GTKNoCSDTest(GTKNoCSDWindowGetChild(Window))) { Add = false; break; } return 6; } ++Index; } // Add to list, if not a reused window if (Add) { GTKNoCSDWindowList = realloc(GTKNoCSDWindowList, sizeof(GtkWindow * *) * (Index + 2)); // Windows stored as weak pointers GTKNoCSDWindowList[Index] = g_new0(GtkWindow *, 1); *GTKNoCSDWindowList[Index] = Window; g_object_add_weak_pointer(G_OBJECT(Window), (gpointer *) GTKNoCSDWindowList[Index]); GTKNoCSDWindowList[Index + 1] = NULL; } } // Application windows might have a shortcuts window, check and add back // titlebar to that tool. The window might get added later, so we check then if (GTKNoCSDGtkApplicatonWindow(G_OBJECT(Window))) { g_timeout_add(1, GTKNoCSDHandleShortcutsWindow, GTKNoCSDWindowList[Index]); } // This CSS breaks the look of context menus on X, with GTK3, if loaded // globally, but it is needed for certain windows (Peek?) GtkCssProvider *Provider = o_gtk_css_provider_new(); GtkStyleContext *Context = o_gtk_widget_get_style_context((GtkWidget *) Window); const char *CSS = "decoration { box-shadow: none; }"; if (GTKNoCSDGTKVersion == 4) { o_gtk_css_provider_load_from_string(Provider, CSS); } else { o_gtk_css_provider_load_from_data(Provider, CSS, -1, NULL); } o_gtk_style_context_add_provider(Context, (GtkStyleProvider *) Provider, GTK_STYLE_PROVIDER_PRIORITY_USER); g_object_unref(Provider); // Reset CSS to apply it on current window if (SetCSS) { g_idle_add(GTKNoCSDGTK3CurrentWindowStyle, GTKNoCSDWindowList[Index]); } // Make sure the application always has the signal to add SSD to all windows GtkApplication *Application = o_gtk_window_get_application(Window); if (Application != NULL) { if (g_signal_handler_find(Application, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDWindowAdded), NULL) == 0) { g_signal_connect(Application, "window-added", G_CALLBACK(GTKNoCSDWindowAdded), NULL); } } else if (g_signal_handler_find(Window, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDApplicationChanged), NULL) == 0) { g_signal_connect(Window, "notify::application", G_CALLBACK(GTKNoCSDApplicationChanged), NULL); } GtkWidget *Header = o_gtk_window_get_titlebar(Window); // LibAdwaita and LibHandy windows need special treatment if (GTKNoCSDAdwApplicatonWindow(G_OBJECT(Window)) || GTKNoCSDAdwWindow(G_OBJECT(Window)) || GTKNoCSDHdyApplicatonWindow(G_OBJECT(Window)) || GTKNoCSDHdyWindow(G_OBJECT(Window))) { // If LibAdwaita or LibHandy window // If header not found, come back later if (Header == NULL) { // Remove window from list of windows done int Index = 0; while (GTKNoCSDWindowList[Index] != NULL) { ++Index; } GTKNoCSDWindowList[Index - 1] = NULL; // Call removal later g_timeout_add(1, GTKNoCSDRecall, Window); return 0; } // Hide the title widget, if it is not a special control. It might be // added later so we check then g_timeout_add(1, GTKNoCSDGTKVersion == 4 ? GTKNoCSDSetGTK4Headers : GTKNoCSDSetGTK3Headers, Window); if (GTKNoCSDGTKVersion == 3) { // Unset the header for the window, but save it for returning it in // gtk_window_get_titlebar g_object_ref(Header); o_gtk_window_set_titlebar(Window, NULL); g_object_set_data(G_OBJECT(Window), "GTKNoCSDTitleBar", Header); return 7; } } // GTK3/GTK4 and LibAdwaita also need to rearrange widgets // Get top child of window GtkWidget *WindowChild = GTKNoCSDWindowGetChild(Window); if (GTKNoCSDGtkShortcutsWindow(G_OBJECT(Window))) { // This window was already dealt with if (strcmp(o_gtk_widget_get_name((GtkWidget *) Window), "GTKNoCSDHelp") == 0) { return 8; } o_gtk_widget_set_name((GtkWidget *) Window, "GTKNoCSDHelp"); // GtkShortcutsWindow has a regular label as title, and does not set the // the window title. Here we name the window by the translated title in // the label and set it to empty, so it is not visible GtkWidget *Title; if (GTKNoCSDGTKVersion == 3) { Title = o_gtk_header_bar_get_custom_title((GtkHeaderBar *) Header); } else { Title = o_gtk_header_bar_get_title_widget((GtkHeaderBar *) Header); } Title = GTKNoCSDFirstChild(Title); o_gtk_window_set_title(Window, o_gtk_label_get_label((GtkLabel *) Title)); o_gtk_label_set_label((GtkLabel *) Title, ""); // In GTK3 ShortcutsWindows cannot get their content replaced. The // search button needs to be recreated if (GTKNoCSDGTKVersion == 3) { // The header is kept alive as it might be used internally g_object_ref(Header); o_gtk_window_set_titlebar(Window, NULL); // Create search button, add it to window, display it GtkWidget *Icon = g_object_new(GTKNoCSDGTKImage, "visible", TRUE, "icon-name", "edit-find-symbolic", NULL); GtkWidget *SearchButton = g_object_new(GTKNoCSDGTKToggleButton, "child", Icon, "visible", TRUE, NULL); GTKNoCSDGtkBoxAdd(WindowChild, SearchButton); o_gtk_widget_set_visible(SearchButton, true); // Get the ShortcutsWindow search bar, bind it to the button GtkWidget *SearchBar = GTKNoCSDGTK3ShortcutsWindowSearchBar(WindowChild); g_object_bind_property(SearchBar, "search-mode-enabled", SearchButton, "active", G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL); // Make button the first widget, move it to the left o_gtk_box_reorder_child((GtkBox *) (WindowChild), SearchButton, 0); o_gtk_widget_set_halign(SearchButton, GTK_ALIGN_START); return 9; } } // Do not touch windows that have no header bar if (Header == NULL) { return 10; } // Glade is for designing graphical user interfaces, like Cambalache // The library is not needed to run there if (strcmp("GladePlaceholder", G_OBJECT_TYPE_NAME(Header)) == 0) { return 11; } // Certain applications turn off decorations while having CSD, it is turned // back here. These windows are tracked as gdk_window_get_frame_extents only // applies to them if (!o_gtk_window_get_decorated(Window)) { GTKNoCSDAddToUndecorated(Window); o_gtk_window_set_decorated(Window, true); } // Both checks need the window to have content and only appear on GTK4 // First check: LibAdwaita dialogs only need the titlebar removed // Second check: Celluloid uses a regular window, but adds a LibAdwaita // headerbar into it. If it is detected, the empty titlebar is just removed if (WindowChild != NULL && GTKNoCSDGTKVersion == 4 && (GTKNoCSDAdwDialog(G_OBJECT(WindowChild)) || GTKNoCSDGetGTK4Headers(WindowChild, true) != NULL)) { o_gtk_window_set_titlebar(Window, NULL); return 12; } // Unset the application menu on GTK3 for applications that have CSD // Not sure if this is the right approach. BleachBit has the same menu twice // otherwise if (Application != NULL && GTKNoCSDGTKVersion == 3) { o_gtk_application_set_app_menu(Application, NULL); } // Create own vertical container GtkWidget *Vertical = o_gtk_grid_new(); o_gtk_widget_set_name(Vertical, "GTKNoCSD"); // Have 2 boxes at all times to contain the header and the content GtkWidget *HeaderBox = o_gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); GtkWidget *ContentBox = o_gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); o_gtk_grid_attach((GtkGrid *) Vertical, HeaderBox, 0, 0, 1, 1); o_gtk_grid_attach((GtkGrid *) Vertical, ContentBox, 0, 1, 1, 10000); // Grid has no order guarantee, these GObject properties are used instead g_object_set_data(G_OBJECT(Vertical), "HeaderBox", HeaderBox); g_object_set_data(G_OBJECT(Vertical), "ContentBox", ContentBox); // Name for easy identification when going up widget tree o_gtk_widget_set_name(ContentBox, "GTKNoCSDContentBox"); // Remove widget from window, add it to own box, if it exists if (WindowChild != NULL) { g_object_ref(WindowChild); GTKNoCSDWindowSetChild(Window, NULL); o_gtk_widget_set_vexpand(WindowChild, TRUE); o_gtk_widget_set_hexpand(WindowChild, TRUE); GTKNoCSDGtkBoxAdd(ContentBox, WindowChild); g_object_unref(WindowChild); } // Add everything back to window GTKNoCSDWindowSetChild(Window, Vertical); // Take header and add into our own box g_object_ref(Header); o_gtk_window_set_titlebar(Window, NULL); if (GTKNoCSDGTKVersion == 4) { // Add to our own widget, which handles visibility GtkWidget *Revealer = g_object_new(GTKNoCSDBox_get_type(), NULL); // Name for easy identification when going up widget tree o_gtk_widget_set_name(Revealer, "GTKNoCSDHeaderBox"); o_gtk_widget_set_layout_manager(Revealer, NULL); o_gtk_box_append((GtkBox *) HeaderBox, Revealer); o_gtk_box_append((GtkBox *) Revealer, Header); // LibAdwaita windows were already checked, AdwGizmo is a placeholder if (!GTKNoCSDAdwApplicatonWindow(G_OBJECT(Window)) && !GTKNoCSDAdwWindow(G_OBJECT(Window))) { const char *TypeName = g_type_name(G_OBJECT_TYPE(Header)); if (strstr(TypeName, "AdwGizmo") != TypeName) { g_timeout_add(1, GTKNoCSDSetGTK4Headers, Header); } } } else { // GTK3 rearranging o_gtk_widget_set_visible((GtkWidget *) Vertical, true); o_gtk_widget_set_visible((GtkWidget *) ContentBox, true); o_gtk_widget_set_visible(HeaderBox, true); o_gtk_container_set_border_width(Window, 0); // Create event box for drag/right click GtkWidget *EventBox = o_gtk_event_box_new(); // Name for easy identification when going up widget tree o_gtk_widget_set_name(EventBox, "GTKNoCSDHeaderBox"); // Make event box react to drag/right click g_signal_connect(EventBox, "button-press-event", G_CALLBACK(GTKNoCSDGTK3EventBoxActions), Window); // Set up function and add to regular Revealer g_signal_connect(Header, "size-allocate", G_CALLBACK(GTKNoCSDGTK3HeaderSizeAllocate), NULL); GtkWidget *Revealer = o_gtk_revealer_new(); o_gtk_revealer_set_transition_duration((GtkRevealer *) Revealer, 0); o_gtk_container_add(Revealer, EventBox); o_gtk_widget_set_visible(Revealer, true); o_gtk_container_add(EventBox, Header); // Add finalized header to container, display everything o_gtk_container_add(HeaderBox, Revealer); o_gtk_widget_set_visible(EventBox, true); // Remove extra close buttons GTKNoCSDGetGTK3Headers(Header); // Lutris center widget got stuck on wrong size o_gtk_container_check_resize(Window); } g_object_unref(Header); return 13; } void GTKNoCSDAboutClose(GtkWidget *Dialog) { // Close About window when close button is clicked in GTK3 o_gtk_widget_destroy(Dialog); } GtkWidget *GTKNoCSDGTK4Content(GtkWidget *Child) { // Get content of vertical or if not vertical, return as is if (GTKNoCSDTest(Child)) { // ContentBox, real child return o_gtk_widget_get_last_child(g_object_get_data(G_OBJECT(Child), "ContentBox")); } return Child; } gboolean GTKNoCSDRedisplayContent(gpointer Data) { // Display the content of the window again GtkWidget *Child = GTKNoCSDWindowGetChild((GtkWindow *) Data); if (Child != NULL) { o_gtk_widget_set_visible(Child, false); o_gtk_widget_set_visible(Child, true); } return FALSE; } void gtk_window_present(GtkWindow *Window) { // Entry point used by certain apps to display the window. // Hook it, execute our own function then the original GTKNoCSDGetReferences(true); // Only present window on successful run, unless in GTK2 if (2 < GTKNoCSDGTKVersion) { int MagicStatus = GTKNoCSDMagic(Window, true); if (MagicStatus) { // This status is what Lutris produces and which is the only window // needing this fix if (MagicStatus == 6 && !o_gtk_widget_get_mapped((GtkWidget *) Window)) { g_idle_add(GTKNoCSDRedisplayContent, Window); } o_gtk_window_present(Window); } return; } o_gtk_window_present(Window); } void gtk_widget_set_visible(GtkWidget *Widget, gboolean Visible) { // Entry point used by certain apps to display widgets. // Hook it, execute our own function then the original GTKNoCSDGetReferences(true); o_gtk_widget_set_visible(Widget, Visible); // Not in GTK2 if (2 < GTKNoCSDGTKVersion) { // This function might not get called with the window GtkWidget *Window = GTKNoCSDGetWindow(Widget); if (Window != NULL && Visible) { GTKNoCSDMagic((GtkWindow *) Window, true); } } } // The goal of these is to "hide" Vertical through APIs void gtk_container_add(GtkWidget *Container, GtkWidget *Widget) { // GTK3 uses this to add children to widgets, potentially to the window too // Hook it and add the widget to our box if already transformed, if not then // add and then transform it GTKNoCSDGetReferences(true); if (2 < GTKNoCSDGTKVersion) { GtkWidget *Window = GTKNoCSDGetWindow(Container); if (Window == Container) { GtkWidget *WindowChild = GTKNoCSDFirstChild(Window); if (GTKNoCSDTest(WindowChild)) { GtkWidget *ContentBox = g_object_get_data(G_OBJECT(WindowChild), "ContentBox"); // Remove existing child if present GtkWidget *OldContent = GTKNoCSDFirstChild(ContentBox); if (OldContent != NULL) { o_gtk_container_remove(ContentBox, OldContent); } o_gtk_container_add(ContentBox, Widget); o_gtk_widget_set_vexpand(Widget, TRUE); o_gtk_widget_set_hexpand(Widget, TRUE); } else { o_gtk_container_add(Container, Widget); GTKNoCSDMagic((GtkWindow *) Window, true); } return; } } o_gtk_container_add(Container, Widget); } GtkWidget *gtk_window_get_child(GtkWindow *Window) { // Get the child under Vertical, if the child is requested GTKNoCSDGetReferences(true); return GTKNoCSDGTK4Content(o_gtk_window_get_child(Window)); } void gtk_window_set_child(GtkWindow *Window, GtkWidget *Child) { // Get the child under Vertical, if the child is set GTKNoCSDGetReferences(true); GtkWidget *WindowChild = o_gtk_window_get_child(Window); if (GTKNoCSDTest(WindowChild)) { // Remove existing child if present GtkWidget *ContentBox = g_object_get_data(G_OBJECT(WindowChild), "ContentBox"); GtkWidget *OldContent = o_gtk_widget_get_last_child(ContentBox); if (OldContent != NULL) { o_gtk_widget_unparent(OldContent); } o_gtk_box_append((GtkBox *) ContentBox, Child); o_gtk_widget_set_vexpand(Child, TRUE); o_gtk_widget_set_hexpand(Child, TRUE); return; } o_gtk_window_set_child(Window, Child); GTKNoCSDMagic(Window, true); } GtkWidget *gtk_widget_get_parent(GtkWidget *Widget) { // Get the window if the parent is requested GTKNoCSDGetReferences(true); // EventBox on GTK3, Revealer on GTK4 GtkWidget *Parent = o_gtk_widget_get_parent(Widget); if (Parent == NULL || GTKNoCSDGTKVersion == 2) { return Parent; } if (strcmp(o_gtk_widget_get_name(Parent), "GTKNoCSDContentBox") == 0 || strcmp(o_gtk_widget_get_name(Parent), "GTKNoCSDHeaderBox") == 0) { return GTKNoCSDGetWindow(Parent); } return Parent; } GtkWidget *gtk_widget_get_first_child(GtkWidget *Widget) { // If the windows first child is requested, get last of Vertical GTKNoCSDGetReferences(true); return GTKNoCSDGTK4Content(o_gtk_widget_get_first_child(Widget)); } GtkWidget *gtk_widget_get_last_child(GtkWidget *Widget) { // If the windows last child is requested, get last of Vertical GTKNoCSDGetReferences(true); return GTKNoCSDGTK4Content(o_gtk_widget_get_last_child(Widget)); } GtkWidget *gtk_window_get_titlebar(GtkWindow *Window) { // If the titlebar is requested, return the one from Vertical GTKNoCSDGetReferences(true); // This is only used in LibHandy GtkWidget *Header = g_object_get_data(G_OBJECT(Window), "GTKNoCSDTitleBar"); if (Header != NULL) { return Header; } GtkWidget *WindowChild = GTKNoCSDWindowGetChild(Window); if (GTKNoCSDTest(WindowChild)) { GtkWidget *Box = GTKNoCSDFirstChild( g_object_get_data(G_OBJECT(WindowChild), "HeaderBox")); // GTK3 has an extra GtkEventBox for drag/right click if (GTKNoCSDGTKVersion == 3) { return GTKNoCSDFirstChild(GTKNoCSDFirstChild(Box)); } return GTKNoCSDFirstChild(Box); } return o_gtk_window_get_titlebar(Window); } void gtk_window_set_titlebar(GtkWindow *Window, GtkWidget *Header) { // If the titlebar is set, try to set our own first, if not possible, set // the window, but try to switch it back after. Not sure if the first half // is the proper solution, atomix breaks GTK otherwise GTKNoCSDGetReferences(true); // Celluloid specific fix. It uses a regular window, but adds a LibAdwaita // headerbar into it. If it is detected, it is not added if (GTKNoCSDGTKVersion == 4 && GTKNoCSDGetGTK4Headers((GtkWidget *) Window, true) != NULL) { return; } GTKNoCSDMagic(Window, true); GtkWidget *WindowChild = GTKNoCSDWindowGetChild(Window); if (GTKNoCSDTest(WindowChild)) { GtkWidget *Box = GTKNoCSDFirstChild( g_object_get_data(G_OBJECT(WindowChild), "HeaderBox")); // GTK3 has an extra GtkEventBox for drag/right click if (GTKNoCSDGTKVersion == 3) { Box = GTKNoCSDFirstChild(Box); } // Get current Header GtkWidget *OldHeader = GTKNoCSDFirstChild(Box); // If already added return if (OldHeader == Header) { return; } // If it exists and is different remove it if (OldHeader != NULL) { if (GTKNoCSDGTKVersion == 3) { o_gtk_container_remove(Box, OldHeader); } else { o_gtk_box_remove((GtkBox *) Box, OldHeader); } } // If new one exists, add it if (Header != NULL) { if (GTKNoCSDGTKVersion == 3) { o_gtk_container_add(Box, Header); } else { GTKNoCSDGtkBoxAdd(Box, Header); } } } else { o_gtk_window_set_titlebar(Window, Header); GTKNoCSDMagic(Window, true); } } // All supported versions of GTK set title widget differently. When they do, // they are rechecked for title labels void gtk_header_bar_set_custom_title(GtkHeaderBar *Widget, GtkWidget *Title) { GTKNoCSDGetReferences(true); if (Title != NULL) { GTKNoCSDGetGTK3Headers(Title); o_gtk_header_bar_set_custom_title(Widget, Title); } else { o_gtk_header_bar_set_custom_title(Widget, o_gtk_grid_new()); } } void hdy_header_bar_set_custom_title(void *Widget, GtkWidget *Title) { GTKNoCSDGetReferences(true); if (Title != NULL) { GTKNoCSDGetGTK3Headers(Title); o_hdy_header_bar_set_custom_title(Widget, Title); } else { o_hdy_header_bar_set_custom_title(Widget, o_gtk_grid_new()); } } void gtk_header_bar_set_title_widget(GtkHeaderBar *Widget, GtkWidget *Title) { GTKNoCSDGetReferences(true); if (Title != NULL) { GTKNoCSDGetGTK4Headers(Title, false); o_gtk_header_bar_set_title_widget(Widget, Title); } else { o_gtk_header_bar_set_title_widget(Widget, o_gtk_grid_new()); } } void adw_header_bar_set_title_widget(AdwHeaderBar *Widget, GtkWidget *Title) { GTKNoCSDGetReferences(true); if (Title != NULL) { GTKNoCSDGetGTK4Headers(Title, false); o_adw_header_bar_set_title_widget(Widget, Title); } else { o_adw_header_bar_set_title_widget(Widget, o_gtk_grid_new()); } } void gtk_window_set_decorated(GtkWindow *Window, gboolean Setting) { // An application might unset the decoration, while also having CSD // (picture in picture windows). It is disallowed and if detected, the // decoration is kept GTKNoCSDGetReferences(true); // Keep original behavior for GTK2 if (GTKNoCSDGTKVersion == 2) { o_gtk_window_set_decorated(Window, Setting); return; } // Add window to list of undecorated windows if needed if (GTKNoCSDTest(GTKNoCSDWindowGetChild(Window)) && !Setting) { GTKNoCSDAddToUndecorated(Window); } o_gtk_window_set_decorated( Window, GTKNoCSDTest(GTKNoCSDWindowGetChild(Window)) || Setting); } void gtk_widget_reparent(GtkWidget *Widget, GtkWidget *Container) { // Certain applications use this to set window content // Hook it, execute our own reparenting, if the child is the top child of a // transformed window, move our own widget instead GTKNoCSDGetReferences(true); // WARNING: Own call // If something is missing or parent is set already, do not do anything if (Widget == NULL || Container == NULL || gtk_widget_get_parent(Widget) == Container) { return; } // Only on GTK3 if (GTKNoCSDGTKVersion == 3) { // Remove existing child if adding to window and present if (GTKNoCSDGtkWindow(G_OBJECT(Container))) { GtkWidget *ContainerChild = GTKNoCSDWindowGetChild((GtkWindow *) Container); if (ContainerChild != NULL) { o_gtk_container_remove(Container, ContainerChild); } } // WARNING: Own call GtkWidget *Window = gtk_widget_get_parent(Widget); if (GTKNoCSDGtkWindow(G_OBJECT(Window))) { // If in a window GtkWidget *WindowChild = GTKNoCSDWindowGetChild((GtkWindow *) Window); if (GTKNoCSDTest(WindowChild)) { // If in a transformed window, move entire transformed widget // into new container g_object_ref(WindowChild); o_gtk_container_remove(Window, WindowChild); // WARNING: Own call // Also transform new container if needed gtk_container_add(Container, WindowChild); g_object_unref(WindowChild); return; } } // If not transformed or not in a window, only move widget g_object_ref(Widget); o_gtk_container_remove(Window, Widget); // WARNING: Own call // Also transform new container if needed gtk_container_add(Container, Widget); g_object_unref(Widget); return; } o_gtk_widget_reparent(Widget, Container); } GtkWidget *GTKNoCSDFindWindowTitle(GtkWidget *Widget) { // Find window title widget in headerbar title widget // Check if widget is needed, return if it is if (G_TYPE_CHECK_INSTANCE_TYPE(Widget, GTKNoCSDADWWindowTitle)) { return Widget; } // Go through all children GtkWidget *Child = o_gtk_widget_get_first_child(Widget); while (Child != NULL) { // Check children of child, return if found, go to next child GtkWidget *Found = GTKNoCSDFindWindowTitle(Child); if (Found != NULL) { return Found; } Child = o_gtk_widget_get_next_sibling(Child); } return NULL; } void adw_dialog_present(AdwDialog *Child, GtkWidget *Parent) { // LibAdwaita uses embedded dialogs which break most themes. This pops them // out into their own window GTKNoCSDGetReferences(true); // Display dialog in own window o_adw_dialog_present(Child, NULL); // Hide title widget of dialog, if it only displays window title GtkWidget *HeaderBar = GTKNoCSDGetGTK4Headers((GtkWidget *) Child, true); if (HeaderBar != NULL) { GtkWidget *Title = o_adw_header_bar_get_title_widget((AdwHeaderBar *) HeaderBar); if (Title != NULL) { GtkWidget *WindowTitle = GTKNoCSDFindWindowTitle(Title); if (WindowTitle != NULL && o_gtk_widget_get_mapped(WindowTitle)) { o_adw_header_bar_set_title_widget((AdwHeaderBar *) HeaderBar, o_gtk_grid_new()); } } } // Get window window of dialog, empty window of parent GtkWindow *ChildWindow = (GtkWindow *) o_gtk_widget_get_ancestor( (GtkWidget *) Child, GTKNoCSDGTKWindow), *ParentWindow = NULL; // Get window of parent if (Parent != NULL) { ParentWindow = (GtkWindow *) o_gtk_widget_get_ancestor(Parent, GTKNoCSDGTKWindow); } // Get original dialog size int Width = o_adw_dialog_get_content_width(Child), ParentWidth = Width; int Height = o_adw_dialog_get_content_height(Child), ParentHeight = Height; if (ParentWindow != NULL) { // Center dialog on parent, prevent closing parent while child exists o_gtk_window_set_transient_for(ChildWindow, ParentWindow); o_gtk_window_set_modal(ChildWindow, true); // Add application actions if supposed to have an application GtkApplication *Application = o_gtk_window_get_application(ParentWindow); if (Application != NULL) { o_gtk_widget_insert_action_group((GtkWidget *) Child, "app", (GActionGroup *) Application); } // Add window actions if supposed to be in an application window if (GTKNoCSDGtkApplicatonWindow(G_OBJECT(ParentWindow))) { o_gtk_widget_insert_action_group((GtkWidget *) Child, "win", (GActionGroup *) ParentWindow); } // Get size of parent window ParentWidth = o_gtk_widget_get_width((GtkWidget *) ParentWindow); ParentHeight = o_gtk_widget_get_height((GtkWidget *) ParentWindow); } // Make windows at most as large as the parent, but resizeable o_adw_dialog_set_content_width(Child, MIN(ParentWidth, Width)); o_adw_dialog_set_content_height(Child, MIN(ParentHeight, Height)); o_gtk_window_set_resizable(ChildWindow, true); } AdwDialog *GTKNoCSDAdwDialogForWindow(GtkWindow *Window) { // Get dialog belonging to window AdwDialog *Dialog = NULL; // Go through all windows int Index = 0; while (GTKNoCSDWindowList[Index] != NULL) { GtkWindow *CheckedWindow = GTKNoCSDWindowList[Index][0]; // Check if window still exists and belongs to asked window if (CheckedWindow != NULL && o_gtk_window_get_transient_for(CheckedWindow) == Window) { // Check if window contains dialog and set it if so // No break so the last created window is returned GtkWidget *Content = GTKNoCSDGTK4Content(GTKNoCSDWindowGetChild(CheckedWindow)); if (Content != NULL && GTKNoCSDAdwDialog(G_OBJECT(Content))) { Dialog = (AdwDialog *) Content; } } ++Index; } return Dialog; } AdwDialog *adw_application_window_get_visible_dialog( AdwApplicationWindow *Window) { // Applications might expect dialogs to be returned here, but popped out // ones are not added. First it is checked and returned if something did add // a dialog, otherwise the last dialog belonging to this window is returned GTKNoCSDGetReferences(true); AdwDialog *Dialog = o_adw_application_window_get_visible_dialog(Window); if (Dialog != NULL) { return Dialog; } return GTKNoCSDAdwDialogForWindow((GtkWindow *) Window); } AdwDialog *adw_window_get_visible_dialog(AdwWindow *Window) { // Applications might expect dialogs to be returned here, but popped out // ones are not added. First it is checked and returned if something did add // a dialog, otherwise the last dialog belonging to this window is returned GTKNoCSDGetReferences(true); AdwDialog *Dialog = o_adw_window_get_visible_dialog(Window); if (Dialog != NULL) { return Dialog; } return GTKNoCSDAdwDialogForWindow((GtkWindow *) Window); } GtkWidget *gtk_about_dialog_new(void) { // Entry point used by certain apps to create an about dialog. // Hook it, execute the original then our own function GTKNoCSDGetReferences(true); // No change in GTK2 if (GTKNoCSDGTKVersion < 3) { return o_gtk_about_dialog_new(); } GtkWidget *Window = o_gtk_about_dialog_new(); GTKNoCSDMagic((GtkWindow *) Window, true); return Window; } void gtk_show_about_dialog(GtkWindow *Window, const char *FirstProperty, ...) { // Entry point used by certain apps to create an about dialog. // Hook it, reimplement then use our own function // Create dialog, this is where the CSD is removed // WARNING: Own call GtkWidget *Dialog = gtk_about_dialog_new(); // Somehow without this the next time it will not have a titlebar if (GTKNoCSDGTKVersion == 4) { o_gtk_window_set_hide_on_close((GtkWindow *) Dialog, TRUE); } // GTK3 specific close button signal if (GTKNoCSDGTKVersion == 3) { g_signal_connect(Dialog, "response", G_CALLBACK(GTKNoCSDAboutClose), NULL); } // Do what GTK does, except no caching of the dialog va_list VarArgs; va_start(VarArgs, FirstProperty); g_object_set_valist(G_OBJECT(Dialog), FirstProperty, VarArgs); va_end(VarArgs); if (Window) { o_gtk_window_set_modal((GtkWindow *) Dialog, TRUE); o_gtk_window_set_transient_for((GtkWindow *) Dialog, Window); o_gtk_window_set_destroy_with_parent((GtkWindow *) Dialog, TRUE); } // Display dialog, no need to remove CSD again o_gtk_window_present((GtkWindow *) Dialog); } // True when the first GTK GObject is loaded bool GTKNoCSDGTKGObject = false; GtkWidget *GTKNoCSDHeaderBar = NULL; void GTKNoCSDGetHeaderBar(GtkWidget *Widget, G_GNUC_UNUSED gpointer Data) { // Check if a widget is a GtkHeaderBar and has the class for the internal // one, set global variable if so if (GTKNoCSDGtkHeaderBar(G_OBJECT(Widget))) { GtkStyleContext *Context = o_gtk_widget_get_style_context(Widget); if (o_gtk_style_context_has_class(Context, "default-decoration")) { GTKNoCSDHeaderBar = Widget; } } } gboolean gtk_window_get_decorated(GtkWindow *Window) { // This is reimplemented so LibHandy applications will not have to flicker // like LibAdwaita, when the built in CSD is removed GTKNoCSDGetReferences(true); // Only in GTK3 if (GTKNoCSDGTKVersion == 3) { // Look for internal CSD, report not being decorated if found GTKNoCSDHeaderBar = NULL; o_gtk_container_forall((GtkWidget *) Window, GTKNoCSDGetHeaderBar, NULL); if (GTKNoCSDHeaderBar != NULL) { return false; } } return o_gtk_window_get_decorated(Window); } gboolean GTKNoCSDHeaderBarParentFinalize(gpointer Data) { // Finish what GTKNoCSDHeaderBarParent started, hide the widget o_gtk_widget_set_visible((GtkWidget *) Data, false); return FALSE; } void GTKNoCSDHeaderBarParent(GtkWidget *Widget, G_GNUC_UNUSED GParamSpec *Spec, G_GNUC_UNUSED gpointer Data) { // Hide the CSD HeaderBar that GTK sets when the wayland compositor does not // support SSD (or the KDE protocol for it) and the application does not set // a CSD either // Only activate on the specific widget we need GtkWidget *Parent = o_gtk_widget_get_parent(Widget); if (Parent != NULL && GTKNoCSDGtkWindow(G_OBJECT(Parent))) { GtkStyleContext *Context = o_gtk_widget_get_style_context(Widget); if (o_gtk_style_context_has_class(Context, "default-decoration")) { // Hide it later g_idle_add(GTKNoCSDHeaderBarParentFinalize, Widget); } } } gpointer g_object_new(GType Type, const gchar *FirstProperty, ...) { // Entry point used by python to create objects. // Hook it, reimplement then use our own function GTKNoCSDGetReferences(true); // Do what GTK does GObject *Object; if (!FirstProperty) { Object = g_object_new_with_properties(Type, 0, NULL, NULL); } else { va_list VarArgs; va_start(VarArgs, FirstProperty); Object = g_object_new_valist(Type, FirstProperty, VarArgs); va_end(VarArgs); } if (Type != 0 && GTKNoCSDGTKGObject) { // Call our function when the object is a window if (GTKNoCSDGtkWindow(Object)) { GTKNoCSDMagic((GtkWindow *) Object, false); } // If widget is label, set up monitor for the content if (GTKNoCSDGtkLabel(Object) && g_signal_handler_find(Object, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, G_CALLBACK(GTKNoCSDTitleChanged), NULL) == 0) { g_signal_connect(Object, "notify::label", G_CALLBACK(GTKNoCSDTitleChanged), NULL); GTKNoCSDTitleChanged((GtkLabel *) Object, NULL, NULL); } // This is for compositors that do not support the KDE decoration // protocol, but also do not want CSD if (GTKNoCSDGtkHeaderBar(Object)) { g_signal_connect(Object, "notify::parent", G_CALLBACK(GTKNoCSDHeaderBarParent), NULL); } } // This is as early as possible to catch all windows with the hook if (GTKNoCSDGTKGObject) { GTKNoCSDHooker(); } // Python/JS fix, as they create GObjects before loading in GTK, not in GTK2 if (!GTKNoCSDGTKGObject && 2 < GTKNoCSDGTKVersion) { const char *Name = g_type_name(Type); if (strncmp(Name, "Gtk", 3) == 0) { GTKNoCSDGTKGObject = true; } } return Object; } void gtk_container_propagate_draw(GtkWidget *Container, GtkWidget *Child, cairo_t *Cairo) { // For LibHandy propagating to the fake header is disallowed GTKNoCSDGetReferences(true); if (Child == g_object_get_data(G_OBJECT(Container), "GTKNoCSDTitleBar")) { return; } o_gtk_container_propagate_draw(Container, Child, Cairo); } void gtk_widget_show_all(GtkWidget *Widget) { // GTK3 function to display a widget. Certain apps use it to display the // window. Hook it, execute our own function then the original GTKNoCSDGetReferences(true); // Not in GTK2 if (2 < GTKNoCSDGTKVersion) { GtkWidget *Window = GTKNoCSDGetWindow(Widget); if (Window != NULL) { GtkWidget *WindowChild = GTKNoCSDWindowGetChild((GtkWindow *) Window); if (!GTKNoCSDTest(WindowChild)) { GTKNoCSDMagic((GtkWindow *) Window, true); } } } o_gtk_widget_show_all(Widget); } // Regex to remove CSD property from builder XML, it lives forever GRegex *GTKNoCSDRegex; // Builder files can specify to ignore the header preference. All builder // creator functions are redefined and a regex disables the CSD property. // Later, if needed, add objects functions can be implemented too // TODO: Test whether the slightly different signatures cause an issue for GTK3 gboolean gtk_builder_add_from_string(GtkBuilder *Builder, const char *String, gssize Length, GError **Error) { // Load into builder from a string. This is where all functions end up GTKNoCSDGetReferences(true); // Try to load regex once if (GTKNoCSDRegex == NULL) { GTKNoCSDRegex = g_regex_new( "\\s*1\\s*", G_REGEX_OPTIMIZE | G_REGEX_MULTILINE, 0, NULL); } // If still not loaded, it failed, give back XML as is if (GTKNoCSDRegex == NULL) { return o_gtk_builder_add_from_string(Builder, String, Length, Error); } // Replace properties with disabled version, return builder with new string gchar *Replaced = g_regex_replace(GTKNoCSDRegex, String, Length, 0, "0", 0, NULL); gboolean ReturnValue = o_gtk_builder_add_from_string(Builder, Replaced, -1, Error); g_free(Replaced); return ReturnValue; } GtkBuilder *gtk_builder_new_from_string(const gchar *String, gssize Length) { // Create a builder from a string GTKNoCSDGetReferences(true); GtkBuilder *Builder = o_gtk_builder_new(); // WARNING: Own call gtk_builder_add_from_string(Builder, String, Length, NULL); return Builder; } gboolean gtk_builder_add_from_resource(GtkBuilder *Builder, const char *Path, GError **Error) { // Load into builder from resource GTKNoCSDGetReferences(true); GError *TemporaryError = NULL; g_return_val_if_fail(GTKNoCSDGtkBuilder(G_OBJECT(Builder)), 0); g_return_val_if_fail(Path != NULL, 0); g_return_val_if_fail(Error == NULL || *Error == NULL, 0); GBytes *Bytes = g_resources_lookup_data(Path, 0, &TemporaryError); if (Bytes == NULL) { g_propagate_error(Error, TemporaryError); return FALSE; } g_bytes_get_data(Bytes, NULL); if (Bytes == NULL) { return FALSE; } gsize Length; const gchar *Data = g_bytes_get_data(Bytes, &Length); // WARNING: Own call // WARNING: Downcast gtk_builder_add_from_string(Builder, Data, (gssize) Length, &TemporaryError); g_bytes_unref(Bytes); if (TemporaryError != NULL) { g_propagate_error(Error, TemporaryError); return FALSE; } return TRUE; } GtkBuilder *gtk_builder_new_from_resource(const char *Path) { // Create builder from resource GTKNoCSDGetReferences(true); GError *Error = NULL; GtkBuilder *Builder = o_gtk_builder_new(); // WARNING: Own call if (!gtk_builder_add_from_resource(Builder, Path, &Error)) { g_error("Failed to add UI from resource %s: %s", Path, Error->message); } return Builder; } gboolean gtk_builder_add_from_file(GtkBuilder *Builder, const char *File, GError **Error) { // Load into builder from file GTKNoCSDGetReferences(true); char *String; gsize Length; GError *TemporaryError = NULL; g_return_val_if_fail(GTKNoCSDGtkBuilder(G_OBJECT(Builder)), 0); g_return_val_if_fail(File != NULL, 0); g_return_val_if_fail(Error == NULL || *Error == NULL, 0); if (!g_file_get_contents(File, &String, &Length, &TemporaryError)) { g_propagate_error(Error, TemporaryError); return FALSE; } // Relative paths do not work when loading as string. This is where all // files get processed, so we save current path, get the base path of the // file and enter it char *NewPath = NULL; gchar *OldPath = NULL; const char *Slash = strrchr(File, '/'); if (Slash != NULL) { // WARNING: Downcast NewPath = malloc((size_t) (Slash - File + 1)); if (NewPath != NULL) { OldPath = g_get_current_dir(); // WARNING: Downcast memcpy(NewPath, File, (size_t) (Slash - File + 1)); NewPath[Slash - File] = '\0'; G_GNUC_UNUSED int Ignore = chdir(NewPath); } } // WARNING: Own call // WARNING: Downcast gboolean ReturnValue = gtk_builder_add_from_string(Builder, String, (gssize) Length, Error); g_free(String); // We go back to the original path, in case anything depends on it, and free // memory G_GNUC_UNUSED int Ignore = chdir(OldPath); g_free(OldPath); free(NewPath); return ReturnValue; } GtkBuilder *gtk_builder_new_from_file(const gchar *FilePath) { // Create builder from file GTKNoCSDGetReferences(true); GError *Error = NULL; GtkBuilder *Builder = o_gtk_builder_new(); // WARNING: Own call if (!gtk_builder_add_from_file(Builder, FilePath, &Error)) { g_error("Failed to add UI from file %s: %s", FilePath, Error->message); } return Builder; } void gdk_window_get_frame_extents(void *Window, GdkRectangle *Rectangle) { // Some windows that had CSD might ask for the entire region, expecting the // region with CSD. If this is detected, only the window content is provided // This only applies to windows that were also undecorated GTKNoCSDGetReferences(true); // Check if window CSD got removed and the window was undecorated gpointer Data = NULL; o_gdk_window_get_user_data(Window, &Data); if (GTKNoCSDUndecoratedWindowList != NULL && GTKNoCSDGtkWindow(Data)) { int Index = 0; while (GTKNoCSDUndecoratedWindowList[Index] != NULL) { if (GTKNoCSDUndecoratedWindowList[Index] == Data) { Index = -1; break; } ++Index; } if (Index == -1) { // If so, only fetch the size of the window content o_gdk_window_get_geometry(Window, &Rectangle->x, &Rectangle->y, &Rectangle->width, &Rectangle->height); return; } } // Do original size fetching o_gdk_window_get_frame_extents(Window, Rectangle); } GType g_type_register_static(GType Parent, const gchar *Name, const GTypeInfo *Information, GTypeFlags Flags) { // Type registration might break when new GTK-NoCSD version is loaded into // old GTK versions. This works around that GTKNoCSDGetReferences(false); // Try to fetch existing type first GType Existing = g_type_from_name(Name); if (Existing != 0) { return Existing; } // Return new type return o_g_type_register_static(Parent, Name, Information, Flags); } GType g_type_register_static_simple(GType Parent, const gchar *Name, guint ClassSize, GClassInitFunc ClassInit, guint InstanceSize, GInstanceInitFunc InstanceInit, GTypeFlags Flags) { // Type registration might break when new GTK-NoCSD version is loaded into // old GTK versions. This works around that GTKNoCSDGetReferences(false); // Try to fetch existing type first GType Existing = g_type_from_name(Name); if (Existing != 0) { return Existing; } // Return new type return o_g_type_register_static_simple(Parent, Name, ClassSize, ClassInit, InstanceSize, InstanceInit, Flags); } // Macros for simplifying getting the correct function #define GET_SYMBOL1(Function) \ if (strcmp(Name, #Function) == 0) { \ typeof(Function) * Pointer = &Function; \ memcpy(Symbol, &Pointer, sizeof Pointer); \ return true; \ } \ #define GET_SYMBOL2(Function) \ if (strcmp(Name, #Function) == 0) { \ return Function; \ } \ gboolean g_module_symbol(GModule *Module, const gchar *Name, gpointer *Symbol) { // Python and other dynamic loading languages use this to load functions. // Hook it and overwrite requested functions with ours. GTKNoCSDGetReferences(true); // If platform library was not found but symbols are requested from them, // there is a chance of getting what is used by the library. After this also // get the used types. Used by script languages on sandboxed systems (Nix) if (!GTKNoCSDGotPlatform) { if (GTKNoCSDGTKVersion == 4 && strstr(Name, "adw_") == Name) { o_g_module_symbol(Module, "adw_window_get_type", (gpointer *) &o_adw_window_get_type); o_g_module_symbol(Module, "adw_application_window_get_type", (gpointer *) &o_adw_application_window_get_type); o_g_module_symbol(Module, "adw_header_bar_get_type", (gpointer *) &o_adw_header_bar_get_type); o_g_module_symbol(Module, "adw_header_bar_get_title_widget", (gpointer *) &o_adw_header_bar_get_title_widget); o_g_module_symbol(Module, "adw_dialog_get_type", (gpointer *) &o_adw_dialog_get_type); o_g_module_symbol(Module, "adw_header_bar_set_decoration_layout", (gpointer *) &o_adw_header_bar_set_decoration_layout); o_g_module_symbol(Module, "adw_dialog_present", (gpointer *) &o_adw_dialog_present); o_g_module_symbol(Module, "adw_dialog_set_content_height", (gpointer *) &o_adw_dialog_set_content_height); o_g_module_symbol(Module, "adw_dialog_set_content_width", (gpointer *) &o_adw_dialog_set_content_width); o_g_module_symbol(Module, "adw_window_title_get_type", (gpointer *) &o_adw_window_title_get_type); o_g_module_symbol(Module, "adw_application_window_get_visible_dialog", (gpointer *) &o_adw_application_window_get_visible_dialog); o_g_module_symbol(Module, "adw_window_get_visible_dialog", (gpointer *) &o_adw_window_get_visible_dialog); o_g_module_symbol(Module, "adw_dialog_get_content_width", (gpointer *) &o_adw_dialog_get_content_width); o_g_module_symbol(Module, "adw_dialog_get_content_height", (gpointer *) &o_adw_dialog_get_content_height); o_g_module_symbol(Module, "adw_header_bar_set_title_widget", (gpointer *) &o_adw_header_bar_set_title_widget); o_g_module_symbol(Module, "adw_style_manager_get_default", (gpointer *) &o_adw_style_manager_get_default); o_g_module_symbol(Module, "adw_style_manager_set_color_scheme", (gpointer *) &o_adw_style_manager_set_color_scheme); GTKNoCSDGetAdwTypes(); GTKNoCSDGotPlatform = true; } else if (GTKNoCSDGTKVersion == 3 && strstr(Name, "hdy_") == Name) { o_g_module_symbol(Module, "hdy_window_get_type", (gpointer *) &o_hdy_window_get_type); o_g_module_symbol(Module, "hdy_application_window_get_type", (gpointer *) &o_hdy_application_window_get_type); o_g_module_symbol(Module, "hdy_header_bar_get_type", (gpointer *) &o_hdy_header_bar_get_type); o_g_module_symbol(Module, "hdy_header_bar_set_decoration_layout", (gpointer *) &o_hdy_header_bar_set_decoration_layout); o_g_module_symbol(Module, "hdy_header_bar_get_custom_title", (gpointer *) &o_hdy_header_bar_get_custom_title); o_g_module_symbol(Module, "hdy_header_bar_set_custom_title", (gpointer *) &o_hdy_header_bar_set_custom_title); o_g_module_symbol(Module, "hdy_style_manager_get_default", (gpointer *) &o_hdy_style_manager_get_default); o_g_module_symbol(Module, "hdy_style_manager_set_color_scheme", (gpointer *) &o_hdy_style_manager_set_color_scheme); GTKNoCSDGetHdyTypes(); GTKNoCSDGotPlatform = true; } } if (2 < GTKNoCSDGTKVersion) { GET_SYMBOL1(gtk_window_present); GET_SYMBOL1(gtk_widget_set_visible); GET_SYMBOL1(gtk_container_add); GET_SYMBOL1(gtk_window_get_child); GET_SYMBOL1(gtk_window_set_child); GET_SYMBOL1(gtk_widget_get_parent); GET_SYMBOL1(gtk_widget_get_first_child); GET_SYMBOL1(gtk_widget_get_last_child); GET_SYMBOL1(gtk_window_get_titlebar); GET_SYMBOL1(gtk_window_set_titlebar); GET_SYMBOL1(gtk_header_bar_set_custom_title); GET_SYMBOL1(hdy_header_bar_set_custom_title); GET_SYMBOL1(gtk_header_bar_set_title_widget); GET_SYMBOL1(adw_header_bar_set_title_widget); GET_SYMBOL1(gtk_window_set_decorated); GET_SYMBOL1(gtk_widget_reparent); GET_SYMBOL1(adw_dialog_present); GET_SYMBOL1(adw_application_window_get_visible_dialog); GET_SYMBOL1(adw_window_get_visible_dialog); GET_SYMBOL1(gtk_about_dialog_new); GET_SYMBOL1(gtk_show_about_dialog); GET_SYMBOL1(gtk_window_get_decorated); GET_SYMBOL1(g_object_new); GET_SYMBOL1(gtk_container_propagate_draw); GET_SYMBOL1(gtk_widget_show_all); GET_SYMBOL1(gtk_builder_add_from_string); GET_SYMBOL1(gtk_builder_new_from_string); GET_SYMBOL1(gtk_builder_add_from_resource); GET_SYMBOL1(gtk_builder_new_from_resource); GET_SYMBOL1(gtk_builder_add_from_file); GET_SYMBOL1(gtk_builder_new_from_file); GET_SYMBOL1(gdk_window_get_frame_extents); GET_SYMBOL1(g_module_symbol); GET_SYMBOL1(g_type_register_static); GET_SYMBOL1(g_type_register_static_simple); } return o_g_module_symbol(Module, Name, Symbol); } void *dlsym(void *Handle, const char *Name) { // Dlsym is used by Gir.Core to get functions. They are also overwritten GTKNoCSDInitDLSym(false); if (2 < GTKNoCSDGTKVersion) { GET_SYMBOL2(gtk_window_present); GET_SYMBOL2(gtk_widget_set_visible); GET_SYMBOL2(gtk_container_add); GET_SYMBOL2(gtk_window_get_child); GET_SYMBOL2(gtk_window_set_child); GET_SYMBOL2(gtk_widget_get_parent); GET_SYMBOL2(gtk_widget_get_first_child); GET_SYMBOL2(gtk_widget_get_last_child); GET_SYMBOL2(gtk_window_get_titlebar); GET_SYMBOL2(gtk_window_set_titlebar); GET_SYMBOL2(gtk_header_bar_set_custom_title); GET_SYMBOL2(hdy_header_bar_set_custom_title); GET_SYMBOL2(gtk_header_bar_set_title_widget); GET_SYMBOL2(adw_header_bar_set_title_widget); GET_SYMBOL2(gtk_window_set_decorated); GET_SYMBOL2(gtk_widget_reparent); GET_SYMBOL2(adw_dialog_present); GET_SYMBOL2(adw_application_window_get_visible_dialog); GET_SYMBOL2(adw_window_get_visible_dialog); GET_SYMBOL2(gtk_about_dialog_new); GET_SYMBOL2(gtk_show_about_dialog); GET_SYMBOL2(gtk_window_get_decorated); GET_SYMBOL2(g_object_new); GET_SYMBOL2(gtk_container_propagate_draw); GET_SYMBOL2(gtk_widget_show_all); GET_SYMBOL2(gtk_builder_add_from_string); GET_SYMBOL2(gtk_builder_new_from_string); GET_SYMBOL2(gtk_builder_add_from_resource); GET_SYMBOL2(gtk_builder_new_from_resource); GET_SYMBOL2(gtk_builder_add_from_file); GET_SYMBOL2(gtk_builder_new_from_file); GET_SYMBOL2(gdk_window_get_frame_extents); GET_SYMBOL2(g_module_symbol); GET_SYMBOL2(g_type_register_static); GET_SYMBOL2(g_type_register_static_simple); } return o_dlsym(Handle, Name); } GType gtk_widget_get_type(void) { // Redefining for type registration macro GTKNoCSDGetReferences(false); return o_gtk_widget_get_type(); } gtk-nocsd/Source/Test.c000066400000000000000000000105211517422556600153060ustar00rootroot00000000000000/******************************************************************************\ * GTK-NoCSD * * Copyright (C) 2025-2026 MorsMortium * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 3 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * \******************************************************************************/ // Simple example app for all 4 types of windows. // gcc Test.c -o Test $(pkg-config --cflags --libs gtk4) // gcc Test.c -o Test -DUSE_ADWAITA $(pkg-config --cflags --libs libadwaita-1) // gcc Test.c -o Test $(pkg-config --cflags --libs gtk+-3.0) // gcc Test.c -o Test -DUSE_HANDY $(pkg-config --cflags --libs libhandy-1) #include #include #ifdef USE_ADWAITA #include #endif #ifdef USE_HANDY #include #endif static gboolean TestAddButton(gpointer Data) { // Add a button to the header bar // Create button GtkWidget *Button = gtk_button_new_with_label("Button"); gtk_widget_set_visible(Button, true); // Add it per type #ifdef USE_ADWAITA AdwHeaderBar *Header = ADW_HEADER_BAR(Data); adw_header_bar_pack_start(Header, Button); #elif USE_HANDY HdyHeaderBar *Header = HDY_HEADER_BAR(Data); hdy_header_bar_pack_start(Header, Button); #else GtkHeaderBar *Header = GTK_HEADER_BAR(Data); gtk_header_bar_pack_start(Header, Button); #endif return G_SOURCE_REMOVE; } static void TestActivate(GtkApplication *Application, gpointer Data) { // Create window, display it and set up the button adding function // Create windows with header bars #ifdef USE_ADWAITA GtkWidget *Window = GTK_WIDGET(adw_application_window_new(Application)); GtkWidget *Header = adw_header_bar_new(); adw_application_window_set_content(ADW_APPLICATION_WINDOW(Window), Header); #elif USE_HANDY GtkWidget *Window = GTK_WIDGET(hdy_application_window_new()); gtk_window_set_application(GTK_WINDOW(Window), Application); GtkWidget *Header = hdy_header_bar_new(); hdy_header_bar_set_decoration_layout(HDY_HEADER_BAR(Header), "menu:minimize,maximize,close"); hdy_header_bar_set_show_close_button(HDY_HEADER_BAR(Header), true); gtk_container_add(GTK_CONTAINER(Window), Header); #else GtkWidget *Window = gtk_application_window_new(Application); GtkWidget *Header = gtk_header_bar_new(); gtk_header_bar_set_decoration_layout(GTK_HEADER_BAR(Header), "menu:minimize,maximize,close"); gtk_window_set_titlebar(GTK_WINDOW(Window), Header); #if !GTK_CHECK_VERSION(4, 0, 0) gtk_header_bar_set_show_close_button(GTK_HEADER_BAR(Header), true); #endif #endif // Set up common window and header bar properties gtk_widget_set_vexpand(Header, true); gtk_widget_set_valign(Header, GTK_ALIGN_START); gtk_widget_set_visible(Header, true); gtk_window_set_default_size(GTK_WINDOW(Window), 480, 480); // Add button after 5 seconds, show window g_timeout_add(5000, TestAddButton, Header); gtk_window_present(GTK_WINDOW(Window)); } int main(int argc, char **argv) { // Create application and set up window creating function #ifdef USE_ADWAITA adw_init(); AdwApplication *Application = adw_application_new( "org.TheWorldMachine.GTK_NoCSD", G_APPLICATION_DEFAULT_FLAGS); #else GtkApplication *Application = gtk_application_new( "org.TheWorldMachine.GTK_NoCSD", G_APPLICATION_DEFAULT_FLAGS); #endif g_signal_connect(Application, "activate", G_CALLBACK(TestActivate), NULL); int Status = g_application_run(G_APPLICATION(Application), argc, argv); g_object_unref(Application); return Status; } gtk-nocsd/Source/Test.sh000077500000000000000000000042421517422556600155040ustar00rootroot00000000000000#!/bin/bash ################################################################################ # GTK-NoCSD # # Copyright (C) 2025-2026 MorsMortium # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # ################################################################################ Programs=( four-in-a-row lenspect gnome-klotski gnome-tetravex trackma-gtk quadrapassel gtk-demo piper gtk4-node-editor gtk4-widget-factory gnome-mahjongg gtk4-demo gnome-mines adwaita-1-demo gnome-nibbles gnome-taquin gnome-chess swell-foop gnome-robots lightsoff gnome-sudoku tali font-manager hitori gajim bleachbit gtk3-icon-browser gtk3-widget-factory missioncenter vipsdisp dino meld iagno aether pamac-manager atomix gthumb cambalache five-or-more gnome-2048 lutris songrec glade gtk3-demo hardinfo2 pidgin3 ) # Test all available applications with the library, both with wayland and x for Binary in "${Programs[@]}"; do FullPath="/usr/bin/$Binary" LD_PRELOAD=$(realpath libgtk-nocsd.so) $FullPath WAYLAND_DISPLAY="" LD_PRELOAD=$(realpath libgtk-nocsd.so) $FullPath done gtk-nocsd/Source/gtk-nocsd.csh000066400000000000000000000027761517422556600166300ustar00rootroot00000000000000################################################################################ # GTK-NoCSD # # Copyright (C) 2025-2026 MorsMortium # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # ################################################################################ set LIBRARY = "/usr/lib/libgtk-nocsd.so" if ( $?LD_PRELOAD ) then setenv LD_PRELOAD "$LIBRARY:$LD_PRELOAD" else setenv LD_PRELOAD "$LIBRARY" endif gtk-nocsd/Source/gtk-nocsd.sh000066400000000000000000000027761517422556600164650ustar00rootroot00000000000000################################################################################ # GTK-NoCSD # # Copyright (C) 2025-2026 MorsMortium # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # ################################################################################ LIBRARY="/usr/lib/libgtk-nocsd.so" if [ -n "${LD_PRELOAD:-}" ]; then export LD_PRELOAD="$LIBRARY:$LD_PRELOAD" else export LD_PRELOAD="$LIBRARY" fi gtk-nocsd/Uncrustify.cfg000066400000000000000000000101441517422556600156200ustar00rootroot00000000000000tok_split_gte=false utf8_byte=false utf8_force=false indent_cmt_with_tabs=true indent_align_string=false indent_braces=false indent_braces_no_func=false indent_braces_no_class=false indent_braces_no_struct=false indent_brace_parent=false indent_namespace=false indent_extern=false indent_class=false indent_class_colon=false indent_else_if=false indent_var_def_cont=false indent_func_call_param=false indent_func_def_param=false indent_func_proto_param=false indent_func_class_param=false indent_func_ctor_var_param=false indent_template_param=false indent_func_param_double=false indent_relative_single_line_comments=false indent_col1_comment=false indent_access_spec_body=false indent_paren_nl=false indent_first_bool_expr=false indent_square_nl=false indent_preserve_sql=false indent_align_assign=false sp_paren_paren=false align_keep_tabs=false align_with_tabs=false align_on_tabstop=false align_func_params=false align_same_func_call_params=false align_var_def_colon=false align_var_def_attribute=false align_var_def_inline=false align_right_cmt_mix=false align_on_operator=false align_mix_var_proto=false align_single_line_func=false align_single_line_brace=false align_nl_cont=1 align_left_shift=true align_oc_decl_colon=false nl_collapse_empty_body=false nl_assign_leave_one_liners=false nl_class_leave_one_liners=false nl_enum_leave_one_liners=false nl_getset_leave_one_liners=false nl_func_leave_one_liners=false nl_if_leave_one_liners=false nl_multi_line_cond=false nl_multi_line_define=false nl_before_case=false nl_after_case=false nl_after_return=false nl_after_semicolon=false nl_after_brace_open=false nl_after_brace_open_cmt=false nl_after_vbrace_open=false nl_after_vbrace_open_empty=false nl_after_brace_close=false nl_after_vbrace_close=false nl_define_macro=false nl_squeeze_ifdef=false nl_ds_struct_enum_cmt=false nl_ds_struct_enum_close_brace=false nl_create_if_one_liner=false nl_create_for_one_liner=false nl_create_while_one_liner=false ls_for_split_full=false ls_func_split_full=false nl_after_multiline_comment=false eat_blanks_after_open_brace=true eat_blanks_before_close_brace=true mod_pawn_semicolon=false mod_full_paren_if_bool=false mod_remove_extra_semicolon=false mod_sort_import=false mod_sort_using=false mod_sort_include=false mod_move_case_break=false mod_remove_empty_return=true cmt_indent_multi=true cmt_c_group=false cmt_c_nl_start=false cmt_c_nl_end=false cmt_cpp_group=false cmt_cpp_nl_start=true cmt_cpp_nl_end=false cmt_cpp_to_c=false cmt_star_cont=false cmt_multi_check_last=true cmt_insert_before_preproc=false pp_indent_at_level=false pp_region_indent_code=false pp_if_indent_code=false pp_define_at_level=false output_tab_size=4 indent_switch_case=4 indent_columns=4 indent_continue=4 code_width=80 nl_max=2 nl_before_cpp_comment=2 cmt_width=80 indent_with_tabs=2 sp_arith=add sp_assign=force sp_assign_default=add sp_enum_assign=add sp_bool=add sp_compare=add sp_inside_paren=remove sp_paren_paren=remove sp_paren_brace=add sp_before_ptr_star=add sp_between_ptr_star=remove sp_after_ptr_star=remove sp_after_ptr_star_func=remove sp_before_ptr_star_func=add sp_before_byref=add sp_after_byref=remove sp_after_type=add sp_before_sparen=add sp_inside_sparen=remove sp_after_sparen=add sp_sparen_brace=add sp_after_comma=add sp_before_comma=remove sp_after_cast=add sp_func_def_paren=remove sp_inside_fparens=remove sp_inside_fparen=remove sp_fparen_brace=add sp_func_call_paren=remove sp_else_brace=add sp_brace_else=add nl_fcall_brace=remove nl_if_brace=remove nl_brace_else=remove nl_elseif_brace=remove nl_else_brace=remove nl_else_if=remove nl_for_brace=remove nl_while_brace=remove nl_do_brace=remove nl_brace_while=remove nl_switch_brace=remove nl_func_type_name=remove nl_func_def_paren=remove nl_func_def_start=remove nl_func_def_args=remove nl_func_def_end=remove nl_fdef_brace=remove nl_return_expr=remove mod_full_brace_do=add mod_full_brace_for=add mod_full_brace_function=add mod_full_brace_if=add mod_full_brace_while=add mod_case_brace=remove sp_do_brace_open=add