(/XUclosest_to cacheconstant MAX_CACHE_SIZE => 1000:: require => 0, search_path => [ '' ]; my @plugins =->; =head1 NAME C<> - SYNOPSIS ;my $new( 'hsv:76,0.43,0.89'( $red, $green, $blue ) =->rgb# GTK uses 16-bit valuesgtk_col = Gtk2::Gdkas_rgb1616# HTML#rrggbb in hexhtml = ''DESCRIPTION This m providesbetween commonly used ways to expresss. Its such as RGBHSV,it look up by a.classa base for subes which represent particular in. Themethodthe fewnient forms, thoughmay more specific detailsin question. For, readdocumentation on thees;ly: =over 4 =item * L<> - red//as float0188integers16HSV> - hue/satur/LlightnesCMYcygenta/yellowK/key (blackness) =back The following areof one ofabove,a way to acceedefinednamesVGAbasic VGAX11offrom X11's F=cutCONSTRUCTORmy $_2__initialised%; # {$}lass2 # doc'ed laterreadability... sub register_ {= shift;) = @_existsand croak is already ";clared a";no strict 'refs'*{"as_"} = => sub {->t_to }; } unless( )++;# Itoforeach( (file = ".pm" ) =~ s{::}{/}g;or next->can( 'COLOR_SPACE' ) my $this=::warn( deprecated => "Discoveredby"()} turn2 newSTRING ) Ra newed bytring. should be toit applies. For examplegb:RED,GREEN,BLUE8:RRGGBB16:RRRRGGGGBBhsv:HUE,SAT,VALlLUMcmy:CYAN,MAGENTA,YELLOWk,KEYvga:INDEXx11seenstructorsubtr=~ m/^(\w+):(.*)$/ orUnto pars$str,( $1, $2recogn''1 METHODS2 rgbsindividual components, this is done directlyo by firstting them to an usir C rgbselfAbstract - overload".ref( CONVERSIONS Cross-iC<, assisthelperintwoinvolved. WhC<>SRCDEST,opeattemped,is order.and refer tos, e.g. C.1. Ifare equaas it s.2th_DEST>,it3new_from_SRC>, callnd pass4rgb t5nseworked,throw an excepse funcmay beedways:()Dest::C rgb( ) Atinto itsi given. See variouachierelevanthabeen (explicitly, or im by> ors)awill be inst Mimcurrently Ced iy do not yet, but eaturenot bied upon -belowto_o_rom=ref}if(eq{dentityself;de;codself"" )ode->() els,rgb# TODO: check thatrgb iseanno'' to} # Fallback implecasdon' anything better_;EDC behaviouraically callical:'rgb')gtedstor, sofuwill not havheadisand, delicate nof# Sinceed, we can dynamnewfor # dat runtianas_1undef};SUPER::our $::([^:]+)$/ifeq "DESTROY"_[0][0]t's possihalazyy just creRelynto"&{}*= goto &||qq(locate obje"via"OTHERAs well ait is likelors to obtaUBCLASSisnded tod2 aspalett( %argsset, toup match with setprotro>8enum =>or CODE Ar anonymousenceulis._oncs per C<>andsultdsoalling C<= $pkg( $orig,Thean measu; defaulo. Isa tiersthe target,onehosepkgargs{ =my @;}R'' or${pkg}::||= "rgb"# Prevact-too- bigdelete $ } while keys>orig =$dst = "dst_${}_cheapmy $key = join ",",$key} //={dst( $_ ) }(qw( rgb hsv hsl )gbrgb,rgb@_ ),HOR <>0x55AA; 5724632usqw__PACKAGE__'cmyaed asDred0, 1, 1Can alspink'0,0.3,0.3Via >cyancmy:1,0,0OsaCMY,three ing-pointange 0 to, $, $se be . Voutsidebmp ) Pars>simila -argrmco decimal noc, $m, $yif== 1local $_/^(\d+(?:\.\d+)?),, $3pec '$_3usage:SPECC, M, Y )# Clamp_ = 0_ < 0;1> 1b[],cyanm $yAmplyan {[0] }12mymyandmy1 -r, $g, $brgSEE ALSO/keyK7757761KkKK, 0KkKfourK,K,, $k, $4K4K, K $kfoursub key 3An aliaskey* = \&key; #k,andk# Pure(1kkey;w- $k( ( * $w) + $k,my;cmynew_min$k0,1# Rescalearou # white($c) / $w, ($my_cmy( 1---cmm$cmy15023625HSL::hslHSLHSL0.5'0,1,0.8hsl:305HSL. Hugrees, 360 (exclusive). Sonsidecylinder, of heightradius 1 posinglexie sthe. Ishapeentiraxisughentrsof greytop of circumirse midway aloure-. Becaoth surf itcs, a ly-relanby reshapnto a bi-conetopbottombecome (a dift"" thanby CIE)ilisarHue--Lconfitly-umin(HCL)$hu, $ hue sesshue,h, $s, $lH, S, L# Fi[0,360h +=$h$h ->huhs $vhuederived propertymapoinstead tuitivcept of how ful"as useful for calculshsll >upper 2 * $s * -low$lhslslhsl# See http://en.wikipedia.org//HSVmy $q = $l 6map< 1 ? $p + ( ( $q - $p ) * $_ ) :3q4( 4 -$}mix_hue_min_maxlmax + ) / ===? 0$l <= 1/2 ?-(-dst_$(se Euclidean asadjusted sub# ... / sqrt(4)>sit omifinal square-rooscaling e,sa matter,when pick"b" ouas. It fornd 4 corysl-_hue_dst_squ+ $dl*$dlL_and_HSLHSV on WV4137VvVVV1V0.7,1v1V ,a atscact VVvvVvVVvv*hsvvvvvhi = int(f - $hipv-;qft)hi == 0( $v, $t,;1q,2pt3q45qhue,max/ vvvvvvvvvv*$dv02654401# hidCPAN #cingdians # atan2(1,0) == PI/2PIover180 =>/ 90Nwe'rea tax#L,sommon es. ;ininhu{ =r60ggbr + 12brg24U - #wopo1,2r11;22h# Sr1*$rr2*$r*2*cos(*234616RGBrgb1'10.7rgb:RGBF8- or8> and16>red,bR, G, B1]redrgbbbred{}[0..2]@_alpha_blenmix, [ $ ]lcombina.al C<> parametermix , 0.5 ifrlendof ,1 C<>,=1PA, $gA, $bABBBrA *+ $rBggbbunwed . Two 0,and 1alllieinrgb3 sumscparrgbs i It u3rAB;gggbbbB$dr*$drg*$dgb*$dbEXAMPLESGradientsC<>na smooth gur"vga:blue"cyana_/10 )for 0 .. 104570761616 in 161665535'49152'orffffc000c00016:0,; i.e. bits >. Itbe hex encoded 16_hexrrrrggggbbbb[[:xdigit:]]{4})hex( $1 ),23 )16map int,0xffff $_ /}*1616bex, in aC<>ex :sprintf "%04x"1616Addounding + 0.516Sorksaetic.anx7fffint(),1616*16*(^2)81446613RGB8rgb88 8825'255,192,19ffc0c8:0,255,2525882588gg28825525525525588888GG,oful, or pl2x888882581272552558888255*2588825844220VGAvgaVGAVGAed'd0of8 ir ue ylookby stmy %vga_= ( ],1111Alsoesqwred}$.a.\d+>=Th[3]namT615556X118x11# D puin We'll trym taking #wd our @RGB_TXT'/etc/X11/',usr/shareX11R6)X11X11x118 file@x11_; # To rves;_load_rgbt(-open(, "<",e$_ - $!\nlasNo was found ( <>s/^\s+//; # trim leWSnext if m/^!, =\s+->=push wereum_Wscantextrcoun or }X1113641723 KV 8 KV168.gz03253062ZysIO XPHqK1!h]fJVu,dv{^BV(,zU֨,:7,[BG2"ZȉǹţW#%LV%|,a}jb1VuɚjT)~^7C|{ˑwx#ICte('ZBҏ\ H@\$+[MtbhGuY*l?d$D+lͦsœjd1Z=67lv; ߙvt؝ID[Эu*T T1 ݍw)&xv+B}_`VtZgH~j˶~ Po>5hYiXee44(jvQ*LHF=*6!jJ&P1#[uW󣃸k mŕs@4KOς9C-*1Ik#8Ш2GS)?GU, 4,~-"T XRIDEP"^ScH_"7#ai;eOeW xD7ciu:'dSLq*BD}WG$P>eldzƼbjݞb$Vi8a#51SCL/E'#`P)O,6Ͽ8nO 멘qWALd%"bA^Ěva;%<%}sb 7aV&2pU p!OX&ińg~(Sq8Q04yL<f1ӡDD֦=ңH1ht@`ܘ;|4K! k2XU$Z{U͋,9VvU3ITxTi_~^2Q'Oc{̉`w}4 dŢC:OGaz/ !Ff>'7F z7V͸QʝƿZjkޭ[_ %Wa~-UԋG ;zhS2^yy2BN)v\.陯X2g*E*74vпoSԷld*?}U#xC)jK'Z5P)*ҨwgXv@=R<=~f VTr"a؇+ r阐O0VD6lX>1m+*'h&G2PQĹcG%zUF֨:_ϬSv')m8|n6=;RA*E۔!jj * +~ f@rnSN*J +Hd'%6 QZGNzL0L(y2%淢1MTx%FaHQD+ldIEXRqk_ĨT .mCE 2{E5aO|m$i2^n|37 )GL%ϣ 7~X-S |t_.ds9+ʭ~c BXYM "]17~Lb1;4OI1UFBClF ͋zp0] ŏt\4 @6A1u@b)3*zuWmύ(,J^nCq>zxv 5ot|vhC_E0pRWk`fH"Bv&^:xKc^ڽy%]OHC+ x}PcWN-qZ<58I6_0e(C&}ۤf)-K0v{?ɘlY/̺g΄cvQh0s`0M[*A>bt`gjx;^p(Hf0I'4Bՙ klrOIN9"+w|E q J"k%)LnNblFpXl[LGl{iSu< R|8kmRL]i#0]nϯO6J|, zjYf2Vl_Q:2aFt1RdF6b 7Rl C2%~O͑Rz9uH'u٥`D]p@δ/t@RȷMnRMp돽Upߟ (je* ru:UDס|l\4!Yep1X/ܓ]*TLS&EFt`` v8hud-fT#X0}7/Z+oA&ŤBAiZEiGiDbCLؖMEgtд(?CFDo0|*8n_D/&n+Ja3a-%6E3 "55INoI -ID[rL҂3p FXK֪Bl)}~^@3| mG0xO"o4{ *NJq);uʩhgo?&톶'$A3-xŵ8r 揵B6D>鰇k"JsWEy@WQ^&#(%YbTʬ[ ըENZbrR"R+]s0[Uu&QaDwfH6ٳ!̚p_otTK,O[!UM0M+gU${L/I`p=8M0"eN~٭sOTWX) y!8%RQOԔmz4RMXo\Zu[{ q͆!E0X*5+ΐd$gCSp4 SA2~6 _:` 3KL7n*Kpw]~?ܤAJ#-c}Pb~k-u$=;9{݇E~T wUTZf\~T,1I^=mT*6IB۶s[eW&GOB"BG K+,~Eg$΢ij3j'ӐGD$=f |'+WF]MQv$@~afupz*v04Q>l?m9:61_ip1baY( 6% O{ϩV%E@+@9(by ɲn[j}@o|dg0|Cv$wc3"o&OPbpNJvEwG⒥ dMi+KL)Jc-eqmÌR_ Nά׋y~ѝZsWLI\IPI͉Q(.E {FB|{l+MQd3( }R28I#IrF1˶tF&dntt|BNfs5d:wDq$~w@ߓVά䞓1+4713627XksHίK2 8S]`{MmSq25)7R=pq2F:s-ӮQE-^ _cn -L٬([>T/V­-h~;pe ih/i- {aذvox޵.+!cנ0;bOo ;lg{yE zx sLrf?y?" Y|4ܾF[pX0׭h no͔} ߪ$@**0**RJEE9IKJ2Sv!8u,׍>",#dJ5@`*1ush'!?E͐P\3rX?#TY[HѽX9"coRozO왓b 8"ȣjot)l0F~nj3ztnW82ilZh~LjwǑ6ꮦrGiQ'!qI3O3o(O5GX*Tg*4,BOg&Q,Buu xG׷WHQ g??Nv74;h)\"pL EJJ@JP :x2hԙ{q+qj ߵQ5F`EqݥǦP6l ܬ{eHO#>@Jqߠ^x4,K5U-a^Ieƕ'yۖ1tՂb4}k|'AkǮq.l~/IZsAXHY3j&8E8:v`ZŶ a2Y_r ϵOMڢEI*5׾mlVP8b7=兑z/]D֦80omSJؖIWz!.@"nԩ%XxKH;Hqn ?Bo}J}otfId۬"avݖ-5Lf/j qIe9)t2ő+ys(~ako|O.ΏUM'0* ]yC@fJU _#.YBvkCL8 5a/vϻvtm)$Bt#T#ֲÖyqh2e w.ɃY}`eph ܠeHfs3#cmҿvK׺C\S]aդ"r:""e2`C-q늡Y4)GZFTUjȁTqc͕N>C; !)FhƙI甠;\~MR)#tq!fQ\$z:D˼hwh!fy8aOSV$`u}cv.I^G9(SJDLS6IAEysj9}L2 U$Qs8)Pex87t}T=1L(9E0R1cNPenWWc6fe̶ܳgv`TJ|p:X{sT4N P9q.*R~(zRS8Y :8Mގ^iv֛ȹ!N8e0~q{K.щU{D0,BqC uи Ei<n<!WN̪`8Vʻ-w?i-y?moI{%uOA>s׾=.R򝃞b{r6l)ͯ9̛u] SzQ߳rџ<.mta{mmouf\.voԡUB]~:N0?ۭˌ]%seE`سZQc (ۚv OŖ(c-h坁 f]kmrZ@Π惒1[euxЂ^%VT ٬(RJFN$s'M8Q(WrSK?Lߝdd=;eNY fo{VYW ܲ#8Iݏfk8Q99^ݨ7CJ "yFF,Or /2g@dL㪌͸p*b 9#ɣkt)jpQJ{`9X&>-_{?SD|š|iS:IHܔ̛:lpΉ봚_c\O+p*Bg(xF]`-t=]_r)'|wx!M9Lsu3L)9k1g{k#G{r'OF utSO=;K{>.V~+c´^:zr"-Oj4C~Y;@{Q'jR̹}m ;[ 8߶ӳj4]/DA'w8o⼉?e+'}ޤ9 (M*O3?BnyXG>(,S+9|7z?Vr{b2&,͵$VN}~k;\<ڛ(^I.B(Rb+YjU|CIKQ)N `VR rˤ7 %h(CX{Ny_v~(fٕ:F`̒ɶ݂ó狄Nn)"+A.욢 K"E9*ZeH.S 2k%C(DtharoϮ/.O5 z~4@yfUX:J*J82l"JX`̛TX:֋BZ5,q+BR "U҆5O} U¶K.+71 iCX(_KH'UHjעP t媹B:Mp-!^OXl7R݂uɏ$0?n$|9'"AvAIEGOBE!8rURmK%qJ)-u61[SlAq'`T@&,v_:N«p,шuK0EI(I$FeihN(8MJ<a ƬR#'UDMB΀!^dRcI?sN d'=}qt4tx՚/i .Iecvjwvbd& 8p6;j~R\l*zr+~ %G ?bGwW()"J&s;%sFmD-wL5Is9q c:iQOyUBxZ 0~mj+F!\zжì׶γFY zolP{A왡 MS"YUV[_|/ p}ȞؓNFMiq֬82wZu. ᰸ێ;t:Ϗ j͠Fbnk~fô4Xە^)SҘkT}:=xxQ~Բ*&d` #Z:#"fŧ#{]ue/$,~enN3vCs+G4zn/׈1B;i.ÀՎ V].Ua$q腆FC ߡFiX%mC(_ \QA) vFg'Jg'Y0N$E_q}PwF3lu])%ou f, QG~F*PFEpݏNY/GXv\B" b/Ÿ6H\QkWa|;SE,sW322<28o^,nIbJIGx|1}-q{!vh0 {*ꅵ5)&j{M科6<~^TH$t1Ts?ȵΗ)=Ҍ ph"kg_ yusUSJ^ۓ7g.u4ÄІXI?S>̚ by4|0Ozz95jƵ{Qkר SS̼h;C[v-RCf(#js@'o+1;CL;byr۔Ym6/?^l@?=Nn.o/n~joe%¥qN浤KƗBۉR E/9~Xh\ 73p5!q_ZeX  `f [%gӔtI "H4R7<8ܓ4MD5Ƀ4>(إ VҪoT6fR+ 3^beJ4!d2gtK0FDɚQX`kQkj>Xo]2F1;=,=z 3/Ab$xm2NiGF๔an,CFL^YX؂? #)f34ms/qT#&+9$n#O^1`b,Q'Tx9J”*&PePCR+M۶)fMNVnQ)%{ق^h1sRenulޜ֦OOyӡᜟ 1E(&F+\(sj .5n#r+k\֠HRzҥS x%wgdEIFF9ި798=:(-}1C#Kh$Q\* r8 } FHr.F Ӕ& $pΔA?u&F y/tq6Zc. o8enqbWXwv:8ӳ3qzz5vEnϲ8hlrzPhTSڵ柯aOd؟T^.4h{'(YiGw;]ژws/mCjkn'.';*9^* |ȸ36ݰd61;pI`~rg3fGP_c93&);iVL/X{1[ V,9`,32JbZYqM KbGLOr抍YN<ǯ`ԭ. tv\@68IL"Șx,C\Kbɠ.L̃* t{=PZ+`ShClKח{jq҈fINw?]M7YX-Hx!C,|4ĘE @fL%oEטRdbdxW< dtl3)~g|՘D->Uzul12浟{sSۓ^p!Y1 ̑fk{q۹8:;nt4sk0=SK/|ݡV6ܤժV7[+ieO3ᅱ#‡k6 }$d B *%"IIصtFI6ϒ-do "U| rHu $A)v< AR£]$Bȏe&>1ph&\ϸwBۋN-)-'T ߤlM"Z\FUxvNOǤSj$$"{#L+iBJIJr抠 NS19C6G1* @gP8SCYҘ}nyΉqƲs6y0U\<;iO_ ::z/*blOy^ZX [\GGmtv#>읳aGNZOP+a.m*VI>s?lGԷ(Î)"gs;!sFMB-wLk3% 9qUQ*6E)<-sKXkys^Q.жnk{qwüyQg[[Ԟm{fhJӔp?+Wsm.>s w?,}wC{rѱ=Ԕ8&#snr;ny_;tw(Qk˰yaCU=ډSҘVWר쁹=zzeΰ8 D%"fOG5g.t5ʞk<3AdqF:5i3Msm D͇^{A"iiyu#vܥƍgTaĩs/ v|P&VKp[{C<,;v+)T79}QNʳr?ɲRį8_tF3͈R* 0-A@Xۚ-0 5JLœxEUgJ{f4^Y;v`L.#&C&eHQڋ\Ӣ>Rl/76y@bO:oΫzT&˜/䌌$ =G?*[XkĘh4N$.&wllk .7YV/˷iNC5&~!Y͔tʳQJ=*c%0$\ϗé>z{!569KoXN"eYUt3rx Z) zseRGy=Lh>msì) rɖK>5o} cNzr91*Mks4 7Q1F NA^~ĩ6)]v bf]c1L񯱦A|uד{DZ?m7`![ėr5 CHg՛mo\Mꍗ,1!G__Y8)Cr`ޒtI a֏4 p[t%F+p7eװBX3䇹 Va-K8gb.w]GV E0v"T`+QoB.ɲ,% V=477\d^92" #tE,*蘕 Dk+EM=xp#ԋ^EfYUFNKW4e;LojrAکi(#XO_pKΤzp(o/;tyR_6ϮÞ,lg"8߸FNEz|F3Ҏ-{)xETJ]lVtQ 6-@{cXLh9^$ݕ@k:DPW00s7kE(RJ-VĕZzc}udNYVK @G~QK]\*#Hl>qPF(@p'}Z/&C=L3ٽN=8׻[`w͑VNS(l"i'( 16104{s6_bOIC)hQvrZ{Q{&=l$| ~H$iF,ۦ"O";Xf">M2G"]٥( %ػ;ݖK\ľ|J3)I(Gzzol_8%fT*x6׳A>`<#>L8 o; ˝[}'\n[` p!?n T",'`40#[Ǎ;n}q!^mx|ȟ3ܛ?nyt{[nDmpv]5lnGFM%I&!jjPHDy"`8 K&bh%ꖢpC >np'> d>U>g)e}0!X*e~/H2,/]ϸwXgͥ* db^S媔?0';N1'Q~*b3Uh5v_ȝ:^{m;-sىk^Q{F왡U ̡DhV|O#{;,.{Π:k)?2*MKfg8զ6mӵz?=6Q6iÎ/o澆 `_ꮏ !iu}SCPo%^1 qV4"&bFz5y@y]ЗVP; K>N̊,~H~fkKU",w:t;;#3 ͎ic/hj@Mfj9Y12:`<.V\W8֐7K.x •TDA[Q(ڡj^;K*:?t6,>>sTJKڍhkw]U_aDiTIX0 Q,Y.g7η䶚eD~#AB~Gi/rOմrz~WO$$]yua;eNqrFFFGG>[?.S>Jbt_htI6]#6.Q{8{}[rSxaT *b>_M nz/y8FjVGy)B(A5Rܩ.EsWg[46p`&g&^no{pQvk:ѡy6>qޡDGgpn6pV @tGOA7X.;GuWI* G4o?z W}#7K݁i`9>8Vj dCmv(ecf!jcġWXXHIǚ5UW*(Mb8%CoKg GhM%ɃbZA/`Bc~qG~Ŗ6oɨӹp\ uE& 8Ȕe~z~}0\.7"AX&9TK.hH Nv#"I j0)rH򵊹g1jc3[g EZEHh`xƯS&| b sf)d2*^ J^ZW]iдeJ*,Q**#<[ra rQk xYwI RAo481'I([\V -$]dZqH}s[t8R)㺶R^*IK?"jf:g@5%J|*z) yE7OkRBA{8z`HI[+KGX2oy5[TOpe5J$B,T$* 1w[8~g"77op֧Rg vT YdeN]]z嫓{517gI~ʄ:f(Ύ+c5Rte0x^>O|~ ֨L]C7,6Gq1H+Z;x鑣{1#]uG͂FDIAibH߷4M؃q$?ˏږmrnc|rBZ%ΤhnkGn)M׮^U |nht6b;:/!Lnk/a}WQ<[5%&,(߇%($AA89256760SGbNv&, P albvG҆}y߯{)V vfz=ݳGy2wbBLbv'.# Ůi^J옻;iw' ]"N f:阮XJUQ^Ppdhd"O0//70X{+4&㺙jbD>es/3㧄m?M6[c@҆'H|-e"L%"KdHW{!tf.RSyo8k[)`La->xV-˖b+%K{L+chZ+^C+6t8*޷t*\H&pLb==gg=+8E6;΍AHX#ʜF_FUMt7vUk7GYbc*S=7& AA$Qdԑ)Z:cJ=1O@,F*-#D*| 0nk#Ib֨3ũHR \xIƠP)#xq'B΢*I{{y}Xᔆi>KS\ 㾎O&J"LnYԿqyq ^̅IȾrbs)8$,3?'%Csb0cfU䁪Lp!g@/X1)WΉa"S1<\o*V,^!ON~7xZm4rTv@9l;κD Tq=`;scT9r?V +{RS:==oZ&qЎ9U2<)4o#Jo21X&YZȉ]("%P(FA=߄=^jѻ׳ayܴv~ދQڳgV!lVi&9,>Wۏ eΟo[!α'g}ƙ+yI{>`I1\nFۖUn=k86_/} fzһ!J;KCj}%*[`nNAG<ހ xs\,f4 XaDtΈjtB71;!v4S6i.\x/0-cgڜq6-+`c/4V`4 4 V-etzxn;}*j K֘6 .hQJ"N-)H@3*^;R\;N*q$)QU+>Mg$>϶K\7R!ZX b5[faGki+NJ8$cw_g;ܼ^ L.BU"MA$db/Oz}^U10晟/SM,sR~%gdd$ydpd?zzJt'Q+;8D~\z!vs}&Yh3tcbg0- ߥDTcrj|/i8r5}@dy JKiѐs]Z/b4=J<*elCa&&ZF9ː[\NuJx )3}{yX%]aѧ94%V|g |QۋDp{F^ر^@Lrz>f8B9{Qwh/Q:38 5`=5Hp'q0=|uO#ѯw?A ?V45 o|QS}i_mCaoߎuF75uM_`[udAY/F-m3B>>N//޶Z ;k]'r|SUΆu:" tf@&E2v:i,GeuD 31IM B\\)'~1^ hԃh~~;űoj-N.NM/Zl/L hiju~(|)2s(+RH[t[[^إ ]/PΥ(LU3A3e 0О*ڪ|p V(򆐗)b՞_钠0?Y;Y[h<_&zڕ갋e+*4RdBbS Yb|d^v2)q?\x0ʊ<[N@i'uK[ )YR K }KW3߹qx4|F T{)3S'7'gE=Iw=0=V JnX4qzrI11khYz4-ژNQȝhoxYHO}@bHpBE;QB[ynb$〱P{юD+Sy!z:_%gLEHp&gl@ AGQ[Sy5]$x)|>ņ)c{ ~Oy^~/7H˹^zTe`-dkwRdGڈPVMQLP0΄LEm$ˆC}QNoKK:Z>22 @V# Hļn?ɥPj`=uudW,TB~Fpaʙ9 &-ӹL0=ܴJ}"TA 4{Hh.5EW2͡Ԇd)C.Y+<Υ$t#BG#yV! y;>Xa(}H" Ŏu4z"| @L3_: D*t;$bS|Q@!;K%/hFkpS=׏LTZ!i)%rɶ5J\Pt(?NN:B*p\S"aTpI"$,UE")G爊B]qH*ѢпӁ+ dQpW}-=綬LԙgR\Kq 0fKUːy?up/iL?d"tERHL}yG-ӕ4 2QR GRg!$9"42SI,(Q4픱^˹R&S?L~Z,-3'&ɛNCw˖k)Bֆ$1Q"N&>EaJPʕ3/,yj;>AfT=&P(ܛvcN/gr~ʣL{_'|Qj;Q98xgc{,y)[,:B2(vS.3mc) 9`?I4Re g35KUzd ٝa^}Z[aNc,7VB.dnA6"`L`1sĞ:v1Ϗ @fMsg;y8DXxnuFM8lzmibeJ& dQdv-1e_G ͒(9[H=2BPnu ҉O|ŬQ1g%).<ՠ$cp3r@(DLv=^ccޜw{<0ͧtt*S8WS1PP%@$w,Կquy^ȉ$EdG9S>?c)Bs4CB02U$LP8)e4f:e^rbPrF c SŊVœCA[ǛxVhrt*;mg`gm m%DIhsc;i?>B,ǁH+sI74M^~/3)C;asF]-D&V5IY%dbI[OQPawgV=+unv:Vqgü}nZ{Awߋ5~5n֘=Ӽæ(J{Z995_Kqkr]k=kظSc0o7uG,=FS=`ײMnΧky@qm]˖8ƿN75lUK(- Mnïqفp;t~MЛb0k!@i.2=R; 4 tw o w>+-Pn3vϕ(aφvgqc 5.INJٰlYR;rAcFS. dX,}ͧ #>rdELVHwyXH{v+*T; @QcIqvZ9%Iyr/8_k>tF3b,uS)Lk?@X-04slN)w[]篆{Tn_Y/n5!yDiZ "3F{VDN t("̄jHg-d;]b Uߞ[[&&Z ?p@)pDb))ObJUbMpߣݿ폶j$|mG,kB :Jg_rաAP|[o}3$=T45pw@F bxjzn8 ɼJ/m}kʹlj7%X̧AOߺ lʓݺ5.h|_iM˾q3үv8=zH@){8B[znQ By-]ԙ{TpɆtMYA.*h=ﮉpr+"8Rk7ׯ+'(nV~7o#~\&V[ZAB|2 Zt0֣驚?$"iiլcE*-z?)lGzP`-aQTp1GVj%XDZ ;R,w¸U/,ijyА ?jG2 *]- @޴}}FeI}װoh T-sH0=4I}"[n}؞g+SKf%aymXn+<%t#.W'ӯp%C4w| 8[PnO558E/j}RGFy2,z*.PpCxUl/# aTJ"$,U#F煊AM.п"* DqLW)=箬ҩL/Ϝ_4TUT̅z[(T@6brVE'ba* 6zuVcrzJo&wcvgi^Ps?3IQmt0r=.| WHܟ(ݫ_7 42003}sFOyFF8$`f&yjLJtj@hSwu̔۽}߽[LN,zMe(cJ+FnAthZP 澤Y3:iKX`ˮBKJ ,odTd.ILH)K$!&|PPP41z'^H a~@IJkf8Wm?C#GS MDX8)E8 ]+WNN Id4Z-ZzXM1ep-"1p5S N/'bFESA|I{YAn+D.(b̝ KiNt)XNX2؍w!+Kp]v7u| 0 h.r϶S_i@(?u|dSg$-7frK_ h~EiK\rG"h?F tb^"NNdT"N!!:hDyߊՂ~vQ GD*/dO5+vz6Vj E'k6wL hnaC^{C a/D?Jr?֨U*pOzo_]]f;GV{EӰqԿaի%FjJߚX=2SO<\bj/?>/61Q1$r*xtR=g=Yu%ID.)[/P3fvwRF~3551mί#vB*)C\vB֒F ==@U-Uz߻gZY^J=%ME(b+M4N D7NDcY:iZcE/jotG("RȲ53BmZJY"HRJz|+^wFL"R%nJ5=tdO&.Cgǖ[z!ID ̊-;1&>0!} $pD~բԛ SN %JfL8(œ(ze"_bȌ~d*xntnP гaR}+RDN-Cot)X2 -gB}h_#%bl5BXtjV lU.,tFWKB((N}stc3eD:󁙴`B)d۬A7"@ y9|kaC>;ɚ{ #86ŷiɃ6x?fws[TaҤ^_A^4Il _̯͆U'@**HGLl+ e2&Cn,rԵ> -%*Ur UuSghg}fC(J̤+.\dyMF2FcN<4 LI"`i%00y}*U)$TJOÛ %[fq^ʌ՜YK[$ X,@B@X!f>(S(<қKR)*'kv(񲋭<]iy|R=1)c( x|U>=;k7zSְJ  e]fj33ԕ%X:u[kWYqلlR"Ɠfm?ӣv}JwS?4CJX1f!~G2hKnoq 9:jIa'3J707Q~*NjA?.g` "Z72]c p;D[l #k5L|\7{ɚ}8~ِސ!l/UK9VT*H CpCOv ؓfLի|Vr{>2r;w?~CƱ4;~b_f#*1LWk8,[ Y2:?r p$;JJ(QO ň !H>0 tVyQ,[qF; Ӫʌ%s=j@3ݎ٘-QcHljvѢR7l(7F܎|1~OdMBFnC.-7dH&[[0.y$)=Gϵ,vZ(RBzz%]Ɩq\\Uձm&#=k]uʊ Lu`ɦg. |јH?c]q*pƉ`ǩJw?sL%pwn Vm.]SJ Z=#TȧzYH<[96eoK0L)rq9Ml 3L۾6moN&>y+(*TI@.yLwPto0ZF#zw9؊6 @=}N7Z/_i`Utnz¯lON4PP6p2f58ߕt|b4y3O,G~Eoҷb3/L[ĺb WFAKa^Rh|? Á6by?,Zj$'9pP QA/tߙH)ěv(VcڳW KqkL./vtՊ*CIVڦ{_ !"T -̾s | )y]2yb/#8 R LA0P<$EIXfT@:0G"HEAA@ E! 0Q D7"IFΑz-Iێ ׍ 4Ng}p3`7;S003\[*Hm5V: 1Iog@2( +|qL~ ҳ/ui1]ՋEop[!G2Yglm[̬.&q@n/E g`/@"@籙Q3>u oORX`ke4C7U|FÕ %`%~p&vM7(4ٳw6t#i%: z-:a7T7ү['Fȳͮ_Lفg3Q܃}ұt­+K- qLH-* g b .SB \XlDju\,nߘɁ@>и#}Zcq0zwOv5<2IkϘi ;:;ܟi__0-0c`XI^AZ=B,YK-N3 cjA x$RH7]G{Bqt^_UA媖},mU'IxU;ϾNVc3CC@?܃-Cz2i.o˕0,^ٷLP]%/My_z|Rwt'"zS ؛%ff—7f- kvwu%3Q}O/>u%/}xmfٔi-x4^WȻ (y!^zyEƚ΋ѻ V] E{YñO_2/it5=+)/@_~ƶa-ҵpHX_X"-`0~f%SV64`/l"6:׺͕ \s(9Q)y{u!q|an ϋ rs;d,[dɏcJ$!s&S_6:xO+{mLHԤ[*˺.(qe3yr]^pZ CjN˖ һ0n|DZk g@c%iҁ ,ݦ.Pv" TAHT؄Q+} d@gQtCp*n ԯ̼JxIjmzkT&FSV330S98mBO~KUJ~"aKrJisX] &Uo߽o+l+>C Gx Dg`2<t|@V`n~n-3Z]+X4-P9Oj~ sY@+d DeeWڭHW N&@k?jfXje IQt̿VكHमIfH^\(?7]L63yݐBAe۶ fȁ1_,>߂Yi2fn7e2ӗfVxkDtBLWw1ׯi@#;+`" sK .<CQRt"I[ 5 Cxߒ^p Q_gwDgp'K.(@ 1Q`(§b17gq|DZe #(6i+V0A _B`Ӡɨ (b:23uEF]c(Qp1ED7<7]VuX [,iڇ8%1yf((#(NЏB3CԥyPEr* q4| ,nGh(e-~pzН Cg;fOV$i\c\v\72҃Ξ%u0f2䘁—BVFYH&ʒG3ݠrYdxH xْ3… #Uc<\B+xxfֶ-{fTrD3 :鬙Eso$agD5Ep;¢yAsYm!fFu!z8]bsh\ufo½_bݽwa~fݟ^@f̸4с0T-dz h6R~EZo8Gw _uߖ9T'9Bޯ`^/[V*mVUIm"3ldcta٦?!l_ t_g)7ż* AkСVHS<ՠ ^D?͔*Wߪy q⠈&Z3EqHqu{*E 9r32n=:}ݷU{Qߦop ,ڍ=r6Yf YJ1ɗB@IN Ġ\䒝u^h馒#@r%KA0N3=K=N2t\ 5Y`1IȣSq{_,ݤ{ctD&`ю3"M=z-mv܁xrujc&<:1+3ȉėz,<ĸUgwJW O/ .Z#3ą\L*˃YFF&!)(Is)j*)ƀKn'BLo>0Te%-9A0=AZ3XR ~I,!=]%p5?KwGd-8+d0kHڳ<5O)t{Sn8ϒRA8qˈf::,G\Wk—5e dY_nRmP S!pgUI5Vz$ *&95c@18Y19*S}s̒Eť p}"4&{a/YFMh7|VG\ Ҵ"A>rsۮ4H^_ DP:hޭ5QM!l PRZ)8M-XwUiEW6*aVF $WEepT{P s2 ǮUcPߪg1 yLo8zk@a9΀U\,9|)LFb*ɓb1&ۏ"gr>u2 4.>6+;ڰj6ou,&LsxO]7|_e3.!2ZN]$ l3hPt8)GB0c(+XZ*z9Uְ0DG4dGݙ 8CjDҞl3p3v rqjIihn1u7",Pס:m#%t( d+7`jWvtD/zUڙ 0ZfEhqPu?[09FiXI00a?1#`#wȭJWVy7J1J܎\tJS.PXPc}MC y<6f^7B*@J!R܈j^A.4/U{4_3/!V] \vEQ"#\1O9Q^O(afaX=\E q*H&&C1pZئ'#ɺu?~@?sKK}>j3\Ԑد TR o;>c@0./aǽa~*pkqH'[ʽ@N-4G\V`IFctԅcך<8;zZ3{f;F}vЭ 9 Z6R/uʘpZ*&VBK{<+VbHS\#œ/$٢bǮ82p.=Mw#S?բ%+"} S:݂3đV/ J)#|>xj`ȁq?CʜQ5]h2J*|4>mBA* <枠|Sa'7[R -[ngaKy)s2ܗǗ S?e.0B3RU. ӌ$Or5.tMZlWK1zh4xʧrJa5F;ҿ`ʥ1^Ѿ'hi=? 4kezj?3A?HW KNy737 '9lŕG׺wluSD[nw헪$`jY5 ܱ.QZ!/rڪ?ا O0)XK(j^M$X]+ud2jq,X') qbg3 Syqހ\?AWI1O:- GS7+.<8ϓL:w`UNK:QfHZyӌ nu L^}ґ=\ ){7G 0i8Pu ?46hU3cz?bһ1QGR^ }3͗}yiygL|}Q$|JP8bztb4aNE=-2+})YVR:nVȤ pwKJ%jW}fQq4dǨ0hᙠ ^'En{p_nv`+DS%3HOiK?ҫȰa;9r0NXPH {&;aƃ=< ر;Pyy᫸ -sjg5d[q`0_lX<>JH]}PwwT$m죽ZKO}_xP254xHobz^ux*A#Nsd@>}r{p'}׺yI)TV)M&8˄^f*e9tI6mf!n98P7qdTIxgjV |]lX : }ykzRt.O e$s@oՁ&4'+1.g.G2c:* sM> z@^FAp }Q#b.0wz:~\wDl"_' }"`9;Jޙ"hE !3.3t)r҄"xQ\XXϵ,rC=(zF&{tgKK)Jߏ&aHp-as(h͇RG9kIJ!Q+_DKr}1"9Ixϔ{J[4²E!39V/RzRౣQ-*,o-KϷslv'͟k&*[o^ycf/᠟3CR|)@l#AKX^թ맃3@DDZ ׷e=_{ݠט*QA@!:>L s+SB7=]^z] `-*0^.6k!u8 C].%x^{p]H cNj7S roPwNy09|{MA2zӵ@o򑯈K z